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
- 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
- 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.
- On the host, run the
QRB Robot Base AMRin the simulated office world.
Run out-of-the-box simulation_remote_assistant
On the development kit, run the following commands:
Build and run simulation_remote_assistant
-
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 the QIR SDK is decompressed.
- 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_remote_assistant.
- Install the sample application.

