The Annin Robotics AR4 robot is a 6DOF desktop size industrial robot that is a free, open plan low cost robot.
This package is a ROS 2 software stack for the AR4 robot. It contains both the necessary packages to control the robot in real hardware and in simulation environments based on Gazebo, Isaac Sim, and MuJoCo.
mujoco_small_2.mp4
These are the main packages providing launch files for the different use cases:
ar4_description
: Contains the platform-agnostic parts of the URDF robot description.ar4_gazebo_bringup
: Launch a Gazebo Sim simulation of AR4.ar4_isaac_bringup
: Not yet available. Launch an Isaac Sim simulation of AR4.ar4_mujoco_bringup
: Not yet available. Launch a MuJoCo-based simulation of AR4.ar4_realbot_bringup
: Launch drivers and control software for the real AR4 robot.ar4_isaac
: Isaac simulation for the ar4 arm.
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
You need a working ROS 2 environment to be able to build and run the packages in this repository. The exact details of the environment will depend on the specific package you are trying to run (realbot, Gazebo, Isaac Sim, or MuJoCo).
To help you get started and to provide a reference environment, we provide development docker images that contain all the necessary dependencies to run the contents of this repository.
To be able to use the development docker images, you need to have docker
and docker-compose
installed in your host machine.
You can find the Docker installation instructions for Ubuntu here.
The AR4 robot can be run using different simulators. The following sections describe how to launch the AR4 robot in Gazebo, Isaac Sim, and MuJoCo.
To run the AR4 robot in Gazebo Sim use the ar4_gazebo
version of the development docker image.
./docker/run.sh -s ar4_gazebo --build
See further instructions in the Gazebo bringup package README file
To run the AR4 robot in Isaac Sim use the ar4_isaac
version of the development docker image.
./docker/run.sh -s ar4_isaac --build
See further instructions in the Isaac Sim bringup package README file
To run the AR4 robot in MuJoCo use the ar4_mujoco
version of the development docker image.
./docker/run.sh -s ar4_mujoco --build
See further instructions in the MuJoCo bringup package README file
See further instructions in the Realbot bringup package README file
To plan and command the arm to execute a motion, this launch file will also start MoveIt automatically. Once launched, you should see RViz showing the robot visualization and the MotionPlanning panel on the left.
There are two ways of selecting a target position for the arm using RViz
:
- Selecting a random valid position.
- Moving the end effector to a desired position.
This will select a random position for the arm that would not cause a collision with itself or objects around it, calculated from the semantic information of the robot.
Moveit_RandomPosition.mp4
This allows you to select a goal position for the end effector, which is currently the last link in the arm as no gripper is being used. This is done by dragging and dropping where the end effector should move to.
Moveit_DesiredPosition.mp4
All packages in this repository except for ar4_description
and ar4_hardware_interface
are distributed under a BSD 3-Clause License.
ar4_description
is a derivative work from the ar4_ros_driver repository, which is distributed under a MIT License.