ROS 2 configuration package
===========================
In order to use the ROS 2 CANopen stack, a configuration package is required.
This package will contain the necessary configuration files to describe the
robot that you are building. This includes files for the
following:
- CANopen devices
- CANopen bus
- Hardware description
- Hardware interface description
- Controller configuration
- Launch files
This chapter will teach you how to create the configuration package for your
robot. The following chapters will then explain how to create the individual
configuration files.
Creating a new package
----------------------
The first step is to create a new package for your robot. This can be done
using the following command:
.. code:: bash
ros2 pkg create --build-type ament_cmake my_robot_description \
--dependencies lely_core_libraries --license Apache-2.0
Now you have a package with the following content:
.. code:: bash
my_robot_description
├── CMakeLists.txt
├── LICENSE
├── include
│ └── my_robot_description
├── package.xml
└── src
As we are creating a description package, we will not need the ``src`` and
``include`` directories. You can remove them using the following commands:
.. code:: bash
rm -r src
rm -r include
Now we will need to add the following dependencies to the ``package.xml`` file
(I did not to an extensive dependency analysis, we will discover the missing ones
on the go).
.. code:: xml
diff_drive_controller
forward_command_controller
controller_manager
robot_state_publisher
joint_state_broadcaster
rviz2
Now we are all set an can start creating the configuration files.