# Run basic AMR functionality with the AMR service
`qrb_ros_amr_service` is a ROS2 package suite designed to manage the AMR behaviors on Qualcomm robotics platforms.
Key features include:
- P2P navigation requests.
- Path following.
- Mapping services.
- Automatic return to charging station when battery is low.
## Software structure
The figure shows the structure of the AMR service.

**Software structure of the AMR service**
## ROS nodes and modules used in the AMR service
| Node name | Function |
| --- | --- |
| `qrb_ros_amr` | ROS2 package implementing action/service clients & servers, publishers and subscribers for navigation, mapping and AMR status feedback. |
| `qrb_amr_manager` | C++ library providing APIs for AMR state management and charging logic.
Low Power Manager: Returns to charging station when battery < 2.2V.
Manager: Library interface.
State Machine: Manages AMR state and actions.