ros2 / ros2/rclcpp

Cancel action from client handle

Open
#747 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Feature request

Feature description

rclcpp_action::Client has a method async_cancel_goal() accepting a ClientGoalHandle. It is sometimes inconvenient to pass both a client and a client goal handle to code that may want to cancel the goal. This is a feature request to add ClientGoalHandle::async_cancel() so the goal handle is all that is needed to cancel the goal.

Implementation considerations

The client goal handle would need a reference to the rcl_action_client_t in order to cancel the goal.

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 rclcpp_action/include/rclcpp_action/client.hpp and trace Client::async_cancel_goal() and ClientGoalHandle. Determine how the goal handle can retain the required rcl_action_client_t reference, then add the handle-level cancellation API and verify it preserves the existing cancellation behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
api, robotics
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.