Сборка пакетов ROS

На роботе создано два рабочих окружения для ROS пакетов. Директория catkin_ws для пользовательский пакетов и ros_catkin_ws для системных пакетов.

Рекомендуется все новые и пользовательские пакеты устанавливать а директорию catkin_ws/src
Например установка пакета из git репозитория
cd catkin_ws/src
git clone repo_name
cd ../
catkin_make --pkg repo_name
При работе в директории catkin_ws ROS искользует исходники сразу из этой директории. Поэтому например при изменении .launch файло, дополнительно собирать пакеты не нужно. Такой подход упрощаяет тестированеи и разработку.

Системные пакеты ROS установлены из исходных кодов, а не загружены при помощи пакетного менеджера apt Таким образом, для обновления старых системных пакетов и установки новых необходимо собирать пакеты из исходных кодов.

Все команды выполняются в директории основного окружени ROS /home/pi/ros_catkin_ws
Пересобрать все системные пакеты ROS
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/noetic -DPYTHON_EXECUTABLE=/usr/bin/python3
Все системные пакеты после сборки будут остановленны в директорию /opt/ros/noetic
Собрать один конкретный пакет можно командой:
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/noetic -DPYTHON_EXECUTABLE=/usr/bin/python3 --pkg=pkg_name
где pkg_name это имя того пакета, который надо собрать отдельно.

Все новые пакеты необходимо также устанавливать из дистрибутива пакетов ROS.
Установка пакета new_pack из дистрибутива пакетов ROS
rosinstall_generator new_pack --rosdistro noetic --deps --tar > new_pack.rosinstall
vcs import src < new_pack.rosinstall
rosdep install --from-paths ./src --ignore-packages-from-source --rosdistro noetic -y
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/noetic -DPYTHON_EXECUTABLE=/usr/bin/python3 --pkg=new_pack
Если пакет не имеет зависимостей, то его можно собрать без сборки всего ROS.
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/noetic -DPYTHON_EXECUTABLE=/usr/bin/python3 --pkg=new_pack
Export as PDF
Copy link
On this page
Рабочее окружение
Обновление системных пакетов