The Annin Robotics AR4 is a 6-degree-of-freedom desktop-scale industrial robot designed as an open-source, low-cost robotic platform.
This repository provides a ROS 2 software stack for the AR4 robot, including packages for controlling the robot on real hardware and within simulation environments based on Gazebo, Isaac Sim, and MuJoCo.
mujoco_small_2.mp4
The following packages provide launch files for various deployment scenarios:
ar4_description: Platform-agnostic URDF robot description.ar4_gazebo_bringup: Gazebo simulation environment for the AR4.ar4_isaac_bringup: Not yet available. Isaac Sim simulation environment for the AR4.ar4_mujoco_bringup: Not yet available. MuJoCo-based simulation environment for the AR4.ar4_realbot_bringup: Hardware drivers and control software for the physical AR4 robot.ar4_isaac: Isaac Sim integration for the AR4 manipulator.
graph TD
A[**ar4_moveit_config** <br> main.launch.py]
B[**ar4_common** <br> main.launch.py]
C[**ar4_description** <br> main.launch.py]
D[**ar4_gazebo_sim** <br> main.launch.py]
E[**ar4_gazebo_bringup** <br> main.launch.py]
F[**ar4_hardware_interface** <br> main.launch.py]
G[**ar4_realbot_bringup** <br> main.launch.py]
A --> F
C --> F
H[**ar4_isaac_bringup** <br> main.launch.py]
I[**ar4_isaac_sim** <br> main.launch.py]
B --> H
I --> H
J[**ar4_mujoco_bringup** <br> main.launch.py]
K[**ar4_mujoco_sim** <br> main.launch.py]
B --> J
K --> J
A --> B
C --> D
C --> A
B --> E
D --> E
B --> G
F --> G
A functional ROS 2 environment is required to build and execute the packages in this repository. Environment specifications vary depending on the target deployment (real hardware, Gazebo, Isaac Sim, or MuJoCo).
Development Docker images are provided to facilitate initial setup and serve as reference environments. These images include all necessary dependencies for the repository contents.
To utilize the development Docker images, docker and docker-compose must be installed on the host system.
Docker installation instructions for Ubuntu are available at: https://docs.docker.com/engine/install/ubuntu/
The AR4 robot can be deployed in multiple simulation environments. The following sections describe the launch procedures for Gazebo, Isaac Sim, and MuJoCo.
The AR4 robot can be executed in Gazebo Sim using the ar4_gazebo development Docker image.
./docker/run.sh -s ar4_gazebo --buildAdditional instructions can be found in the Gazebo bringup package README.
The AR4 robot can be executed in Isaac Sim using the ar4_isaac development Docker image.
./docker/run.sh -s ar4_isaac --buildAdditional instructions can be found in the Isaac Sim bringup package README.
The AR4 robot can be executed in MuJoCo using the ar4_mujoco development Docker image.
./docker/run.sh -s ar4_mujoco --buildAdditional instructions can be found in the MuJoCo bringup package README.
Detailed instructions for real hardware deployment can be found in the Realbot bringup package README.
MoveIt is automatically initialized by the launch files to enable motion planning and execution. Upon launch, RViz displays the robot visualization with the MotionPlanning panel.
Two methods are available for specifying target positions in RViz:
- Selection of a random valid position.
- Interactive positioning of the end effector.
A collision-free position for the manipulator is computed automatically based on the robot's semantic information.
Moveit_RandomPosition.mp4
The goal position for the end effector (currently the terminal link of the manipulator) can be specified interactively through drag-and-drop operations in the visualization.
Moveit_DesiredPosition.mp4
This project is based on prior work from the ROS 2 community. The foundation for AR4 robot support in ROS 2 was established by the original authors, whose contributions are acknowledged herein.
The ar4_description and ar4_hardware_interface packages are derived from the ar4_ros_driver repository by Dexter Ong and Yifei Cheng. The original repository provides the URDF description, mesh files, and hardware interface implementation for the AR4 robot in ROS 2.
The ar4_moveit_config package was generated using the MoveIt2 Setup Assistant and subsequently modified to meet the specific requirements of this project.
The majority of packages in this repository are distributed under the BSD 3-Clause License (Copyright 2025, Ekumen Inc.).
The following packages are distributed under different licenses due to their derivative nature:
ar4_description: MIT License (Copyright 2021, Dexter Ong) - Derived from ar4_ros_driverar4_hardware_interface: MIT License (Copyright 2021, Dexter Ong) - Derived from ar4_ros_driverar4_moveit_config: BSD 3-Clause License (Copyright 2025, Ekumen Inc.) - Generated and modified from MoveIt2 Setup Assistant templates
Complete license terms can be found in the LICENSE file within each package directory.


