Skip to main content
Key features include:
  • P2P navigation requests.
  • Path following.
  • Mapping services.
  • Automatic return to charging station when battery is low.

Software structure

The following figure shows the structure of the autonomous mobile robot (AMR) service.
Layered software structure of the AMR service, showing the ROS packages, manager libraries, and controller modules.

Software structure of the AMR service.

ROS nodes and modules used in the AMR service

The following table lists the ROS nodes and modules used in the AMR service and the function of each one.

qrb_ros_amr_service APIs

The following table lists the interfaces that qrb_ros_amr_service exposes, with the name, type, and description of each one.

Prerequisites

You have set up the device, installed ROS2 Jazzy and the Qualcomm Intelligent Robotics (QIR) SDK on the device according to Install the QIR SDK.

Run the out-of-the-box AMR service

Run the following commands on the device unless otherwise specified.
1

Install the amr service packages

Install the AMR service packages
2

Set up 2D Lidar SLAM

Run step 1 to step 5 of Run out-of-the-box 2D lidar SLAM to launch 2D Lidar simultaneous localization and mapping (SLAM), skipping step 6.
3

Set up the follow-path service

Set up the follow-path service according to step 1 to step 3 of Run out-of-the-box qrb_ros_follow_path service.
4

Install the nav2 package and set up nav2

Install and launch nav2
5

Set up the sample environment on the device

Launch the AMR service
6

Test the AMR service

  • You can implement a ROS node according to the qrb_ros_amr_service APIs table to complete the mapping, follow-path and P2P navigation.
  • You can also use these ROS commands to complete the mapping, follow-path and P2P navigation.
a. Install rqt-robot-steering on the host computer (Ubuntu 24.04)
b. Run rqt-robot-steering on the host computer.
c. Initiate the AMR.
d. Start mapping.
e. Install and set up rviz2 on the host computer.
f. Use rqt-robot-steering to control the movement of the robot base.g. Stop mapping.
The base starts to rotate, and after a period of time, it stops rotating. The map is displayed properly on rviz.h. Start a P2P navigation.
The pose can be replaced by a real value of map.i. Pause the current P2P navigation.
j. Resume the current P2P navigation.
k. After the P2P navigation is completed, set the waypoint and virtual path according to step 4 (a to j) of the follow-path out-of-the-box steps.l. Use rqt-robot-steering to move the robot base to waypoint (id = 2).m. Start a follow-path operation from waypoint (id = 2) to waypoint (id = 1).

Build from source and run AMR service

Build the autonomous mobile robot (AMR) service from source when you need to change the service code. The device steps install the dependencies, clone the source repositories, build the packages, and run the result.

Device steps

1

Install the dependencies

Install the dependencies
2

Download and build

Download and build
3

Run and test

Run and test according to steps 2 to 6 of Run the out-of-the-box AMR service.