Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Service and Message definitions for actions #40

Closed
sloretz opened this issue Oct 17, 2018 · 2 comments
Closed

Service and Message definitions for actions #40

sloretz opened this issue Oct 17, 2018 · 2 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@sloretz
Copy link
Contributor

sloretz commented Oct 17, 2018

Feature request

This is a ticket to create message and service definitions for actions in the rcl_interfaces package.

Feature description

In the current proposal there are 3 services and 2 topics.

  1. Send Goal Service
    Service generated for each action, nothing to add to rcl_interfaces
  2. Cancel Goal Service
    Same for all actions, could live in rcl_interfaces
    Request is the goal id and a time stamp
    Response is a list of goal ids
  3. Get Result Service
    Service generated for each action, generated service response will include enum goal status
  4. Goal Status Topic
    Same for all actions, could live in rcl_interfaces
    List of (goal id, the time the goal was accepted, and an enum for goal status)
  5. Feedback Topic
    Message generated for each action, nothing to add to rcl_interfaces.

Implementation considerations

The state/status of a goal is used in two places: the status topic and the response to GetResult. It would be convenient if goal status constants were in a message that could be used by both.

# GoalStatus.msg
uint8 UNKNOWN=0
uint8 ACCEPTED=1
...
uint8 status

relates to ros2/design#193
connects to ros2/ros2#583

@sloretz sloretz added the enhancement New feature or request label Oct 17, 2018
@sloretz sloretz added this to the crystal milestone Oct 17, 2018
@sloretz sloretz mentioned this issue Oct 17, 2018
24 tasks
@jacobperron
Copy link
Member

We might consider defining a GoalDescription.msg (analogous to actionlib_msgs/GoalID.msg) for reuse in all of the services and topics related to actions (generated or defined in rcl_interfaces). Suggesting the word "Description" instead of "ID" because it also contains a timestamp.

From the design doc, the plan is to use a UUID for the goal ID. There is the uuid_msgs package from ROS 1. We can fork this as a core ROS 2 package along with helper libraries (e.g. unique_id) for working with UUIDs.

@jacobperron jacobperron self-assigned this Oct 19, 2018
@jacobperron jacobperron added the in progress Actively being worked on (Kanban column) label Oct 19, 2018
@jacobperron
Copy link
Member

jacobperron commented Oct 19, 2018

Ready for review.

I've opted for the shorter name GoalInfo.msg (instead of GoalDescription.msg), if anyone has a strong opinion about it I can change it easily.

@jacobperron jacobperron added in review Waiting for review (Kanban column) and removed in progress Actively being worked on (Kanban column) labels Oct 19, 2018
@jacobperron jacobperron removed the in review Waiting for review (Kanban column) label Oct 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants