ROS 2 software, simulation, navigation, docking, control, drivers, and bringup for the OpenAMRobot mobile robot platform.
Current maturity level: Experimental
This repository is under active development and serves as the main software repository for the OpenAMR mobile robot platform.
The project is intended for research, education, prototyping, and gradual development toward industrial-grade autonomous mobile robot capabilities.
ros2/src/
├── openamrobot_description/
├── openamrobot_gazebo/
├── openamrobot_nav2/
└── openamrobot_docking/
These directories are architecture placeholders and will become active ROS 2 packages when real functionality is added.
ros2/src/
├── openamrobot_bringup/
├── openamrobot_control/
├── openamrobot_drivers/
└── openamrobot_perception/
openamrobot_description -> robot model, URDF/Xacro, meshes, frames, sensors
openamrobot_gazebo -> Gazebo/Gazebo Sim simulation, worlds, models, simulation launch
openamrobot_nav2 -> Nav2 configuration, maps, planners, controllers, navigation launch
openamrobot_docking -> autodocking logic, docking nodes, docking configuration, docking launch
openamrobot_bringup -> planned top-level launch composition
openamrobot_control -> planned control integration and controller configuration
openamrobot_drivers -> planned hardware driver integration
openamrobot_perception -> planned perception modules and perception pipelines
Each package should own only its own responsibility. Packages may reference each other, but they should not duplicate each other’s files.
This repository contains platform software only.
Hardware design files belong in:
openamr-platform-hw
Firmware belongs in:
openamr-platform-fw
Organization-wide documentation belongs in:
openamrobot-docs
Shared ROS 2 messages, services, and actions belong in:
openamrobot-interfaces
Shared communication contracts belong in:
openamrobot-comm
User/operator interface belongs in:
openamrobot-ui
Clone the repository:
git clone https://github.com/openAMRobot/openamr-platform-sw.git
cd openamr-platform-swBuild the ROS 2 workspace:
cd ros2
source /opt/ros/jazzy/setup.bash
colcon build
source install/setup.bashBuild a selected package:
colcon build --packages-select openamrobot_docking- Open the repository on GitHub.
- Click
Code. - Open the
Codespacestab. - Create a codespace from
main. - Create a feature branch before making changes.
git checkout -b feature/your-feature-nameBefore committing:
git status
git diff --statDo not commit generated folders such as:
build/
install/
log/
ros2/build/
ros2/install/
ros2/log/
See CONTRIBUTING.md.
Key rule:
A contribution should modify only the package or directory related to the task.
For example, an autodocking contribution should normally modify only:
ros2/src/openamrobot_docking/
Architecture questions, roadmap ideas, and collaboration topics should be discussed here:
https://github.com/orgs/openAMRobot/discussions
This repository may affect real robot behavior.
Users are responsible for validating:
- robot safety
- navigation behavior
- docking behavior
- motor control behavior
- sensor integration
- deployment suitability
- regulatory compliance
This software is provided for research, education, and development purposes.
See LICENSE.