|
1 | | -# AR4 |
| 1 | +# AR4 ROS 2 Software |
2 | 2 |
|
3 | | -The [Annin Robotics AR4](https://www.anninrobotics.com/) 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. |
| 3 | +The [Annin Robotics AR4](https://www.anninrobotics.com/) 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. |
| 4 | + |
| 5 | +It provides a ROS 2 set of packages to be able to control the AR4 robot both in real hardware and |
| 6 | +a number of different simulation environments. |
4 | 7 |
|
5 | 8 | <p align="center"> |
6 | 9 | <img src="docs/ar4.png" width=500 /> |
7 | 10 | </p> |
8 | 11 |
|
9 | 12 | ## Package Summary |
10 | 13 |
|
11 | | -- [`ar4_gazebo`](./ar4_gazebo): Gazebo simulation for the ar4 arm. |
12 | | -- [`ar4_description`](./ar4_description): Contains the URDF of the arm. |
13 | | -- [`ar4_hardware_interface`](./ar4_hardware_interface): Contains the software required to connect the computer with the real robot. |
14 | | -- [`ar4_moveit_config`](./ar4_moveit_config): Contains configuration and launch files to run and command the arm. |
| 14 | +These are the main packages providing launch files for the different use cases: |
| 15 | + |
| 16 | +- [`ar4_description`](./ar4_description): Contains the platform-agnostic parts of the URDF robot description. |
| 17 | +- [`ar4_gazebo_bringup`](./ar4_gazebo): Launch a Gazebo Sim simulation of AR4. |
| 18 | +- [`ar4_isaac_bringup`](./ar4_gazebo): **Not yet available.** Launch an Isaac Sim simulation of AR4. |
| 19 | +- [`ar4_mujoco_bringup`](./ar4_gazebo): **Not yet available.** Launch a Mujoco-based simulation of AR4. |
| 20 | +- [`ar4_realbot_bringup`](./ar4_gazebo): Launch drivers and control software for the real AR4 robot. |
15 | 21 | - [`ar4_isaac`](./ar4_isaac): Isaac simulation for the ar4 arm. |
16 | 22 |
|
17 | | -## Installation |
18 | 23 |
|
19 | | -### Prerequisites |
| 24 | +```mermaid |
| 25 | +graph TD |
| 26 | + A[**ar4_moveit_config** <br> main.launch.py] |
| 27 | + B[**ar4_common** <br> main.launch.py] |
| 28 | + C[**ar4_description** <br> main.launch.py] |
| 29 | + D[**ar4_gazebo_sim** <br> main.launch.py] |
| 30 | + E[**ar4_gazebo_bringup** <br> main.launch.py] |
| 31 | + F[**ar4_hardware_interface** <br> main.launch.py] |
| 32 | + G[**ar4_realbot_bringup** <br> main.launch.py] |
20 | 33 |
|
21 | | -It is a requirement to have `docker engine` with the `docker compose plugin` already installed in the host machine. |
| 34 | + A --> F |
| 35 | + C --> F |
22 | 36 |
|
23 | | -See: [Docker Installation Guide](https://docs.docker.com/engine/install/ubuntu/) |
| 37 | + H[**ar4_isaac_bringup** <br> main.launch.py <br> ...not yet available...] |
| 38 | + I[**...** <br> main.launch.py] |
24 | 39 |
|
25 | | -### Running the dev container |
| 40 | + B --> H |
| 41 | + I --> H |
26 | 42 |
|
27 | | -Build and run the container for the use case you are interested in |
| 43 | + J[**ar4_mujoco_bringup** <br> main.launch.py <br> ...not yet available...] |
| 44 | + K[**...** <br> main.launch.py] |
28 | 45 |
|
29 | | -#### Gazebo |
30 | | -```bash |
31 | | -./docker/run.sh -s ar4_gazebo |
32 | | -``` |
| 46 | + B --> J |
| 47 | + K --> J |
33 | 48 |
|
34 | | -#### Hardware |
35 | 49 |
|
36 | | -* [Hardware Interface Instructions](ar4_hardware_interface/README.md) |
| 50 | + A --> B |
37 | 51 |
|
38 | | -## Build the packages |
| 52 | + C --> D |
| 53 | + C --> A |
39 | 54 |
|
40 | | -Build the packages |
| 55 | + B --> E |
| 56 | + D --> E |
41 | 57 |
|
42 | | -``` |
43 | | -colcon build |
| 58 | + B --> G |
| 59 | + F --> G |
44 | 60 | ``` |
45 | 61 |
|
46 | | -Source the built packages |
| 62 | +## Installation |
47 | 63 |
|
48 | | -``` |
49 | | -source install/setup.bash |
50 | | -``` |
| 64 | +### Prerequisites |
51 | 65 |
|
52 | | ---- |
| 66 | +It is a requirement to have `docker engine` with the `docker compose plugin` already installed in the host machine. |
53 | 67 |
|
54 | | -### Launch |
| 68 | +See: [Docker Installation Guide](https://docs.docker.com/engine/install/ubuntu/) |
55 | 69 |
|
56 | | -After building and sourcing the packages, run the specific launch file for your use case: |
| 70 | +### Running the dev container |
| 71 | + |
| 72 | +Build and run the container for the use case you are interested in |
57 | 73 |
|
58 | 74 | #### Gazebo |
59 | 75 |
|
| 76 | +Launch the docker container with the following command: |
| 77 | + |
| 78 | +```bash |
| 79 | +./docker/run.sh -s ar4_gazebo |
60 | 80 | ``` |
61 | | -ros2 launch ar4_gazebo moveit.launch.py |
| 81 | + |
| 82 | +Then build and launch Gazebo bringup launch file: |
| 83 | + |
| 84 | +```bash |
| 85 | +colcon build --symlink-install --packages-up-to ar4_gazebo_bringup \ |
| 86 | + && source install/setup.bash \ |
| 87 | + && ros2 launch ar4_gazebo_bringup main.launch.py |
62 | 88 | ``` |
63 | 89 |
|
64 | 90 |  |
65 | 91 |
|
66 | | ---- |
| 92 | + |
| 93 | +#### Hardware |
| 94 | + |
| 95 | +* [Hardware Interface Instructions](ar4_hardware_interface/README.md) |
| 96 | + |
67 | 97 |
|
68 | 98 | ### Controlling the AR4 with MoveIt |
69 | 99 |
|
|
0 commit comments