ROS2 Tutorial: Robotic Arm

Introduction

The code for this section is located in arm_01 part of an archive. Note that archive includes some additional folders, like maps and worlds, that are used by all projects and therefore are located outside of them. Also note that we use ROS2 Galactic.

We are going to build a 6 Degrees Of Freedom Robotic Arm. That includes:
Creating a model. I am going to show, how to design a reasonably nice looking model, using STL meshes, rather than URDF primitives (cubes, cylinders etc.). I will also show how to create those meshes, rather than taking them from existing repos.
Connecting elements of an arm (links) with joints and making sure it all moves the way we want.
Adding controllers. Both real robot and its simulation (I use Gazebo) should inform other nodes about its state (say, RViz needs it to display that same model in the same state as in Gazebo) and to receive the external signals.
Building a simple script that will make our robotic arm move.

Here is what it will look like:

Credits:
Inspired by a wonderful site of David Valencia.

(C) snowcron.com, all rights reserved

Please read the disclaimer