ROS actions provide the primary interface for controlling the robotic arm in QRB ROS Simulation. Unlike topics, which carry a continuous stream of data, actions support long-running commands with feedback and the ability to cancel in-flight goals. The simulation exposes one action server for arm trajectory control, used by both the RML-63 Robotic Arm and the QRB Mobile Manipulator.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/qualcomm-qrb-ros/qrb_ros_simulation/llms.txt
Use this file to discover all available pages before exploring further.
Action server reference
/rm_group_controller/follow_joint_trajectory
| Field | Value |
|---|---|
| Action type | control_msgs/action/FollowJointTrajectory |
| Available on | RML-63 Robotic Arm, QRB Mobile Manipulator |
| Requires | Controllers loaded via the gazebo_rml_63_gripper_load_controller.launch.py launch file |
rm_group_controller, a JointTrajectoryController spawned by the ros2_control controller manager. It accepts a sequence of joint positions with optional velocities, accelerations, and time constraints, then executes the trajectory on joints joint1 through joint6 of the RML-63 arm.
Message structure
Thecontrol_msgs/action/FollowJointTrajectory type follows the standard ROS 2 control interface. A goal message contains a trajectory_msgs/msg/JointTrajectory with one or more waypoints.
joint1joint2joint3joint4joint5joint6
hand_controller action server and accepts commands for joint01, joint11, joint02, and joint22.
Loading controllers
The action server only becomes active after you load the controllers. This is a separate step from launching Gazebo.Launch the simulation and press Play
Start Gazebo with the arm or mobile manipulator launch file, then press Play in the Gazebo toolbar to start the simulation clock.
Verifying the action server
After loading the controllers, confirm that the action server is active:/rm_group_controller/follow_joint_trajectory in the output. To inspect the action type: