8000 Feature request: Sending an Action goal can be complexed, require difficult steps · Issue #1079 · ros2/rcl · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Feature request: Sending an Action goal can be complexed, require difficult steps #1079
Open
@130s

Description

@130s

This is about ROS2 Action's potential new feature. According to ros2/ros2#583 (comment) this repo is the right place, although it's more about user (developer) interface so I'm not entirely sure if this repo is appropriate. Please let me know if there's a better place, or feel free to transfer if possible.


Problem scope

Sending an Action goal involves a bit demanding process. This makes experimenting or debugging a process that entails Action difficult, probably far more challenging than ROS Topic and Service related processes.

Related concern is found in ros/actionlib#44 (comment), which I agree from my experience in (fast-paced) a startup where Action was eliminated by Service even for the cases Action was more semantically suitable. Though the referenced post and my anecdote are from ROS1, having seen Action's user interface up until Humble, my view remains the same in ROS2 so far.

Personal review of existing options:

  • It's great that we have a CLI ros2 action send_goal, it's useful for simpler Goal structure. But as seen in answers.ros.org#416441, it is difficult to use for a goal with complexed structure.
  • Both rclcpp and rclpy:
    • require a single line to instantiate an Action api object, which is awesome.
    • do require (? sorry I haven't verified it these are mandatory or not) 3 callbacks (goal_response, feedback, result) to be written. While this granurality gives applications a great flexibility, IMHO it understandably raises hurdle not just for quick experimenting, proto-typing, but also non-expriment coding (just my impression).

Problem breakdown

  • Inputting the concrete values to a (complexed) goal definition is not easy. It's inherently a demanding task, so it's not a fault of ROS2 designers IMO.
  • Callbacks: In some/many prototyping usecases, no special handling for any of Action's callbacks might be needed.

Feature description

Suggested approaches

(Just initial, rough suggestions. Open for discussion)

  • Make typing goal easier. No special grammar like CLI does (that use both square and curly brackets).
  • Have default callbacks behavior (as bash CLI already does), if it's not done yet (sorry I haven't verified this yet).

Implementation considerations

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    0