ros2 / ros2/ros2cli

`ros2 action send_goal` shows incorrect goal UUID

Open
#857 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

more-information-needed
Dominant language
Python
Stars
262
Forks
228
Avg merge
23h 15m
Merged PRs (30d)
12

Description

Bug report

Required Info:

  • Operating System:
    • Ubuntu 20.04
  • Installation type:
    • sources
  • Version or commit hash:
    • Galactic
  • DDS implementation:
    • Fast-DDS
  • Client library (if applicable):
    • rclpy
Steps to reproduce issue

Send a ROS 2 action goal from command line to an action server running in a C++ application.
The ROS 2 CLI prints a goal id when the goal is accepted.
Have the action server print the UUID of the goal using

rclcpp_action::to_string(goal_handle->get_goal_id())
Expected behavior

The UUID printed by the C++ action server and the UUID printed by the Python action client should match.

Actual behavior

The UUIDs are very similar but they do not match.
For example, the CLI shows:

Goal accepted with ID: b10a7c4d52564eafa06962e25eefe297

while the C++ app shows

b1a7c4d52564eafa06962e25eefe297

Note how the two string representations are very similar, but different.

The same applies to many other goals. It looks like there are always a couple of extra/missing zeros in the Python representation.

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 with the ros2 action send_goal command and trace how the accepted goal UUID is formatted by the Python action client. Compare it with the UUID returned by rclcpp_action::to_string(goal_handle->get_goal_id()); done means both representations match for the same goal, including the reproduced example.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python
Domain
cli
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.