simulation_sample_pick_and_place to demonstrate autonomous pick-and-place operations using MoveIt2 for motion planning and Gazebo for physics simulation.
NoteFor more information, see simulation_sample_pick_and_place on GitHub.
Pipeline flow for simulation_sample_pick_and_place

ROS nodes used in the simulation_sample_pick_and_place pipeline
| ROS node | Description |
|---|---|
qrb_ros_simulation | A ROS package that sets up the Qualcomm robotic simulation environment. For details, see QRB ROS Simulation. |
simulation_sample_pick_and_place | Source code for pick-and-place. |
moveit_ros_move_group | A ROS package that provides the MoveIt ROS MoveGroup interface. For details, see MoveIt MoveGroup. |
ROS topics used in the simulation_sample_pick_and_place pipeline
| ROS Topics | Type | Description |
|---|---|---|
/joint_states | sensor_msgs/msg/JointState | Real-time data for all robot joints control information. |
/hand_controller/controller_state | control_msgs.msg.ControllerState | Current state and status information of the gripper controller. |
/rm_group_controller/controller_state | control_msgs.msg.ControllerState | Current state and status information of the robotic arm controller. |
/robot_description | std_msgs.msg.String | URDF robot description in XML format for robot modeling and visualization. |
/robot_description_semantic | std_msgs.msg.String | SRDF semantic robot description for MoveIt planning and configuration. |
Prerequisites
You have completed the following settings in Set up the environment for running sample applications.- Set up the device
- Set up the host docker
Set up the simulation environment
- On your host computer, complete the following to build the Qualcomm robotic simulation environment according to the README of QRB ROS Simulation. Ensure that the device and the host are on the same local network and can communicate with each other through ROS communication.
- Set up development environment on Ubuntu24.04 host or Docker.
- Build from source.
- Run the
qrb ros simulationon the host. Open a terminal and run the following commands to launch theGazebosimulation environment: - Select the
Playbutton inGazeboto start the simulation, and then open another terminal and run the following commands to launch the controller manager:
Run out-of-the-box simulation_sample_pick_and_place
-
On the development kit, open a terminal and run the following commands to launch the
moveitROS move group:If the ROS node is launched successfully, the log starting from[move_group-1] You can start planning now!appears. -
Open another terminal and run the following commands to launch the pick-and-place sample application:
Build and run simulation_sample_pick_and_place
-
In a terminal of the host computer, run the following commands:
Note
<qir_version>: Version of the QIR SDK, see QIR SDK 2.0 Release Notes.<qir_decompressed_path>: The path where you decompress the QIR SDK.
-
Build the sample application project.
-
Package and push the sample application to the device.
-
On the development kit, run the following commands:
- Install the sample application.
- Run the sample application with the steps in Run out-of-the-box simulation_sample_pick_and_place.
- Install the sample application.

