Посібник із встановлення ROS з MAVROS
MAVROS – це пакет ROS 1, який забезпечує розширений зв’язок MAVLink між комп’ютерами, на яких працює ROS 1, для будь-якого автопілота, наземної станції чи периферійного пристрою з підтримкою MAVLink. MAVROS є "офіційним", підтримуваним мостом між ROS 1 та протоколом MAVLink.
Хоча MAVROS можна використовувати для зв’язку з будь-яким автопілотом із підтримкою MAVLink, у цій документації пояснюється, як налаштувати зв’язок між автопілотом PX4 і комп’ютером-компаньйоном із підтримкою ROS 1.
WARNING
Команда розробників PX4 рекомендує усім користувачам перейти на ROS 2. Ця документація відображає "старий підхід".
Встановлення
Спершу встановіть ROS і PX4 слідуючи інструкціям у Середа розробки у Linux > ROS/Gazebo Classic.
TIP
Ці інструкції спрощена версія офіційного посібника з встановлення. Вони охоплюють релізи ROS Melodic and Noetic.
MAVROS можна встановити як з вихідного коду, так і з бінарників. Ми рекомендуємо розробникам використовувати початкове встановлення.
Бінарне встановлення (Debian / Ubuntu)
У репозиторії ROS є бінарні пакети для Ubuntu x86, amd64 (x86_64) та armhf (ARMv7). Kinetic також підтримує Debian Jessie amd64 і arm64 (ARMv8).
Для встановлення використовуйте apt-get
, де ${ROS_DISTRO}
нижче має перетворитися на kinetic
або noetic
, залежно від вашої версії ROS:
sudo apt-get install ros-${ROS_DISTRO}-mavros ros-${ROS_DISTRO}-mavros-extras ros-${ROS_DISTRO}-mavros-msgs
Потім встановіть GeographicLib датасет, виконавши цей install_geographiclib_datasets.sh
скрипт:
wget https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh
sudo bash ./install_geographiclib_datasets.sh
Встановлення початкового коду
Ця інсталяція передбачає, що у вас є робочий простір catkin, розташований у ~/catkin_ws
Якщо ви не створили його:
sh
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws
catkin init
wstool init src
Ви будете використовувати інструменти ROS Python: wstool (для отримання джерел), rosinstall і catkin_tools (збірка) для цього встановлення. Хоча вони могли бути встановлені під час інсталяції ROS, ви також можете встановити їх разом з ним:
sh
sudo apt-get install python-catkin-tools python-rosinstall-generator -y
TIP
Хоча пакунок можна створити за допомогою catkin_make, кращим методом є використання catkin_tools, оскільки це більш універсальний і «дружній» інструмент збирання.
Якщо це ваш перший раз за допомогою wstool вам потрібно буде ініціалізувати свій вихідний простір з:
sh
$ wstool init ~/catkin_ws/src
Тепер ви готові зробити збірку:
Встановіть MAVLink:
# We use the Kinetic reference for all ROS distros as it's not distro-specific and up to date rosinstall_generator --rosdistro kinetic mavlink | tee /tmp/mavros.rosinstall
Встановити MAVROS з джерела, використовуючи як випущену, так і останню версію:
Випущений реліз/стабільний
shrosinstall_generator --upstream mavros | tee -a /tmp/mavros.rosinstall
Найновіше джерело
shrosinstall_generator --upstream-development mavros | tee -a /tmp/mavros.rosinstall
sh# For fetching all the dependencies into your catkin_ws, # just add '--deps' to the above scripts, E.g.: # rosinstall_generator --upstream mavros --deps | tee -a /tmp/mavros.rosinstall
Створити робоче середовище & deps
shwstool merge -t src /tmp/mavros.rosinstall wstool update -t src -j4 rosdep install --from-paths src --ignore-src -y
Встановіть GeographicLib датасети:
sh./src/mavros/mavros/scripts/install_geographiclib_datasets.sh
Джерело збірки
shcatkin build
Переконайтеся, що ви використовуєте setup.bash або setup.zsh з робочого простору.
sh#Needed or rosrun can't find nodes from this workspace. source devel/setup.bash
На випадок помилки є додаткові примітки щодо встановлення та усунення несправностей у mavros repo.
MAVROS Приклади
MAVROS Offboard Приклад (C++), показує базові можливості MAVROS, читання телеметрії, перевірка стану дрона, зміна режимів польоту і керування дроном.
INFO
Якщо у вас є приклад додатку, що використовує PX4 Autopilot і MAVROS, ми можемо допомогти додати його у нашу документацію.