ros2 / ros2/rclcpp

[feature] easier user control over action goal id's

Open
#2,073 3 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

backlog enhancement
Dominant language
C++
Stars
805
Forks
564
Avg merge
1d 17h
Merged PRs (30d)
27

Description

Feature request

Feature description

Currently async_send_goal simply calls generate_goal_id, which is just random bytes. It would be nice to have the following capabilities nicely supported:

  • generate goal ID's that are well-formed UUIDs
  • supply specific goal ID's (that come from other semantic contexts)
Implementation considerations

Here are a few ideas:

  • provide an overloaded signature for async_send_goal that also includes a goal uuid parameter. Or as a default argument
  • Add a goal UUID to the send goal options.
  • Be able to set a "Generator" class/function on the action client class that generates UUIDs according to a certain scheme.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at async_send_goal and generate_goal_id, then inspect the action client’s send-goal options. Compare the proposed UUID generation and caller-supplied goal ID approaches; done means both well-formed generated IDs and specific externally supplied IDs are supported with tests covering the behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
api, robotics
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.