The Annin Robotics AR4 robot is a 6DOF desktop size industrial robot that is a free, open plan low cost robot. This repository contains the necessary ROS 2 packages to plan and execute motions in Gazebo sim. It provides the arm description, simulation controllers and Moveit configuration needed to command it.
ar4_gazebo
: Gazebo simulation for the ar4 arm.ar4_description
: Contains the URDF of the arm.ar4_hardware_interface
: Contains the software required to connect the computer with the real robot.ar4_moveit_config
: Contains configuration and launch files to run and command the arm.
It is a requirement to have docker engine
with the docker compose plugin
already installed in the host machine.
See: Docker Installation Guide
Build and run the container for the use case you are interested in
./docker/run.sh -s ar4_gazebo
Build the packages
colcon build
Source the built packages
source install/setup.bash
After building and sourcing the packages, run the specific launch file for your use case:
ros2 launch ar4_gazebo moveit.launch.py
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.