simulation_remote_assistant sample application is the ROS package that uses an AMR as a remote assistant within a virtual office environment. Users can interact with the robot by inputting natural language commands, such as “Go to the office to check the person.” The robot can autonomously navigate to the specified location and perform object detection tasks as instructed.
NoteFor more information, see simulation_remote_assistant on GitHub.
Figure: Sample effects of simulation_remote_assistant
Pipeline flow for Simulation Remote Assistant
Figure: Pipeline flow for simulation_remote_assistant
ROS nodes used in the simulation_remote_assistant pipeline
| ROS node | Description |
|---|---|
qrb_ros_simulation | qrb_ros_simulation is a ROS package that sets up the Qualcomm robotic simulation environment. For details, see QRB ROS Simulation. |
nn_inference_node | Loads a trained AI model, receives preprocessed images, performs inference, and publishes results. For details, see NN Inference Node. |
yolo_preprocess_node | Executes preprocess and postprocess for Yolo model. For details, see QRB ROS Tensor Process. |
yolo_detection_postprocess_node | |
yolo_detection_overlay_node | |
cartographer_node | Processes sensor data to perform SLAM. |
cartographer_occupancy_grid_node | Publishes a ROS occupancy grid map. |
nav2_bringup | The Navigation2 stack for robot navigation. |
build_map_node | Builds the map of office world. |
nav_preparation_node | Relocalization and launches the navigation node. |
task_manager_node | Parses the input commands and executes the action. |
ROS topics used in the Simulation Remote Assistant pipeline
| ROS topic | Type | Published by | Description |
|---|---|---|---|
/scan | sensor_msgs::msg::LaserScan | qrb_ros_simulation | 2D lidar scan data for SLAM and mapping. |
/map | nav_msgs::msg::OccupancyGrid | cartographer_occupancy_grid_node | Occupancy grid map for navigation. |
/tf | tf2_msgs::msg::TFMessage | qrb_ros_simulation / cartographer_node | Frame transforms between coordinate systems. |
/odom | nav_msgs::msg::Odometry | qrb_ros_simulation | Odometry data for pose estimation. |
/cmd_vel | geometry_msgs::msg::Twist | qrb_ros_simulation | Velocity commands for robot motion. |
/goal_pose | geometry_msgs::msg::PoseStamped | task_manager_node | Target goal pose for navigation. |
/camera/color/image_raw | sensor_msgs::msg::Image | qrb_ros_simulation | RGB image from the simulation camera. |
/qrb_inference_input_tensor | qrb_ros_tensor_list_msgs::msg::TensorList | yolo_preprocess_node | Preprocessed input tensor for inference. |
/yolo_detect_tensor_output | qrb_ros_tensor_list_msgs::msg::TensorList | nn_inference_node | Inference output tensor for detection. |
/yolo_detect_result | vision_msgs::msg::Detection2DArray | yolo_detection_postprocess_node | The detected objects as 2D bounding-box results. |
/yolo_detect_overlay | sensor_msgs::msg::Image | yolo_detection_overlay_node | The detection overlay image with bounding boxes. |
Prerequisites
Try me
Try me
- You have completed the following settings in Set up the environment for running sample applications (Skip the settings of Set up host docker).
- Set up the device
- Set up the host computer
- Follow the steps in Generate YOLOv8 model using QAIHUB to generate the model files and download the coco-labels YAML file. Then, push them to the
/opt/model/directory on the device.
Set up the simulation environment
1
Build 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.
2
Run the QRB Robot Base AMR on the host
Run the
QRB Robot Base AMR in the simulated office world.Run out-of-the-box simulation_remote_assistant
On the development kit, run the following commands:
Try me
Try me
Build and run simulation_remote_assistant
Try me
Try me
Note
<qir_version>: Version of the QIR SDK, see QIR SDK 2.0 Release Notes.<qir_decompressed_path>: The path where the QIR SDK is decompressed.
1
Build and package on the host computer
- Build the sample application project.
SSH Session
- Package and push the sample application to the device.
SSH Session
2
Install and run on the development kit
- Install the sample application.
SSH Session
- Run the sample application with the steps in Run out-of-the-box simulation_remote_assistant.

