mirror of
https://github.com/CopterExpress/clover.git
synced 2026-05-26 11:43:25 +00:00
docs: revision of the article about sitl (#114)
* Add rus article about install ROS * Add lines * Add article about launching gazebo * Some fix * Add fix * Fix * Text fix * Fix MD exceptions * docs: edit sitl articles * article fix
This commit is contained in:
@@ -55,6 +55,7 @@
|
||||
* [Автозапуск ПО](autolaunch.md)
|
||||
* [Взаимодействие с Arduino](arduino.md)
|
||||
* [3G-модем](3g.md)
|
||||
* [Установка ROS Kinetic](ros-install.md)
|
||||
* Проекты на базе Клевера
|
||||
* [Шаровая защита коптера](shield.md)
|
||||
* [Распознавание лиц](face_recognition.md)
|
||||
|
||||
66
docs/ru/ros-install.md
Normal file
66
docs/ru/ros-install.md
Normal file
@@ -0,0 +1,66 @@
|
||||
# Установка и настройка пакета ROS Kinetic
|
||||
|
||||
Для работы с такими инструментами как: rqt, rviz и т. д., а также для запуска симулятора (SITL) вам потребуется установленный и настроенный пакет ROS.
|
||||
|
||||
> **Hint** Более подробную инструкцию по установке смотрите в [основной статье](http://wiki.ros.org/kinetic/Installation/Ubuntu).
|
||||
|
||||
<!-- -->
|
||||
|
||||
> **Hint** В случае, если вы используете Ubuntu версии 18.04, вместо ROS Kinetic вам нужно будет установить ROS Melodic. Полную инструкцию по установке вы можете найти [здесь](http://wiki.ros.org/melodic/Installation/Ubuntu).
|
||||
|
||||
## Установка ROS Kinetic на Ubuntu
|
||||
|
||||
Для того, чтобы загрузить и установить правильную версию пакета требуется сделать настройки репозиториев, для этого откройте "Программы и обновления" и разрешите `restricted`, `universe` и `multiverse`.
|
||||
|
||||
Настройте свою систему, для того что бы вы могли принимать программное обеспечение с `packages.ros.org`, выполнив команду:
|
||||
|
||||
```bash
|
||||
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
|
||||
```
|
||||
|
||||
Настройте ключи доступа в своей системе для правильной загрузки:
|
||||
|
||||
```bash
|
||||
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
|
||||
```
|
||||
|
||||
Убедитесь в том, что вы имеете последние версии индексов пакетов:
|
||||
|
||||
```bash
|
||||
sudo apt-get update
|
||||
```
|
||||
|
||||
Теперь установите сам пакет ROS.
|
||||
|
||||
+ Если вы планируете использовать ROS вместе с симуляцией (также содержит инструменты: rqt, rviz и т. д):
|
||||
|
||||
```bash
|
||||
sudo apt-get install ros-kinetic-desktop-full
|
||||
```
|
||||
|
||||
+ Если вы планируете использовать ROS исключительно работать с инструментами rqt, rviz и т. д:
|
||||
|
||||
```bash
|
||||
sudo apt-get install ros-kinetic-desktop
|
||||
```
|
||||
|
||||
После установки пакета вам нужно инициализировать `rosdep`.
|
||||
Пакет `rosdep` позволит вам легко устанавливать системные зависимости для источника, который вы хотите скомпилировать, а также необходим для запуска некоторых основных компонентов в ROS:
|
||||
|
||||
```bash
|
||||
sudo rosdep init
|
||||
rosdep update
|
||||
```
|
||||
|
||||
Если вам не удобно запускать переменное окружение вручную каждый раз, вы можете настроить его так, чтобы оно добавлялось в ваш сеанс bash при каждом запуске новой оболочки:
|
||||
|
||||
```bash
|
||||
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
|
||||
source ~/.bashrc
|
||||
```
|
||||
|
||||
Если вы хотите установить какие-либо дополнительные пакеты для вашего ROS Kinetic просто используйте:
|
||||
|
||||
```bash
|
||||
sudo apt-get install ros-kinetic-PACKAGE
|
||||
```
|
||||
153
docs/ru/sitl.md
153
docs/ru/sitl.md
@@ -1,5 +1,4 @@
|
||||
Симуляция PX4
|
||||
===
|
||||
# Симуляция PX4
|
||||
|
||||
> **Hint** Мы также предоставляем [предварительно настроенный](sitl_docker.md) симулятор, поставляемый в виде Docker-контейнера!
|
||||
|
||||
@@ -9,8 +8,7 @@
|
||||
|
||||
jMavSim является легковесной средой, предназначенной только для тестирование мультироторных летательных систем; Gazebo – универсальная среда для любых типов роботов.
|
||||
|
||||
Запуск PX4 SITL
|
||||
--
|
||||
## Запуск PX4 SITL
|
||||
|
||||
1. Склонировать репозиторий с PX4.
|
||||
|
||||
@@ -19,8 +17,7 @@ git clone https://github.com/PX4/Firmware.git
|
||||
cd Firmware
|
||||
```
|
||||
|
||||
jMavSim
|
||||
--
|
||||
## jMavSim
|
||||
|
||||
Основная статья: https://dev.px4.io/en/simulation/jmavsim.html
|
||||
|
||||
@@ -36,8 +33,7 @@ make posix_sitl_default jmavsim
|
||||
make posix_sitl_lpe jmavsim
|
||||
```
|
||||
|
||||
Gazebo
|
||||
--
|
||||
## Gazebo
|
||||
|
||||
Основная статья: https://dev.px4.io/en/simulation/gazebo.html
|
||||
|
||||
@@ -65,8 +61,7 @@ make posix_sitl_default gazebo
|
||||
HEADLESS=1 make posix_sitl_default gazebo
|
||||
```
|
||||
|
||||
Подключение
|
||||
---
|
||||
## Подключение
|
||||
|
||||
QGroundControl автоматически подключится к запущенной симуляции при запуске. Работа будет осуществляться также, как и с настоящим полетным контроллером.
|
||||
|
||||
@@ -75,3 +70,141 @@ QGroundControl автоматически подключится к запуще
|
||||
```bash
|
||||
roslaunch mavros px4.launch fcu_url:=udp://@127.0.0.1:14557
|
||||
```
|
||||
|
||||
## Запуск SITL своими руками на чистой Ubuntu
|
||||
|
||||
### Настройка среды для запуска Gazebo
|
||||
|
||||
Для того, чтобы запустить симулятор полета дрона, Gazebo или jMAVSim вам потребуется сделать соответственные настройки вашей среды.
|
||||
|
||||
> **Caution** Среда `ROS Kinetic` в изначально ориентированна для `Ubuntu (Xenial)` версии 16.04, по этому актуальность данной инструкции гарантируется только для соответственной версии операционной системы.
|
||||
|
||||
В первую очередь вам потребуется установить полный пакет ROS Kinetic desktop-full, инструкцию по установке вы можете найти в [статье по установке ROS](https://clever.copterexpress.com/ru/ros-install.html).
|
||||
|
||||
После того, как вы выполнили указанные выше инструкции, вам нужно проверить, есть ли в вашем пакете `ROS` все нужные пакеты.
|
||||
|
||||
```bash
|
||||
sudo apt-get install ros-kinetic-gazebo-ros \
|
||||
ros-kinetic-gazebo-dev \
|
||||
ros-kinetic-gazebo-plugins \
|
||||
ros-kinetic-gazebo-ros-pkgs \
|
||||
ros-kinetic-gazebo-msgs \
|
||||
ros-kinetic-geographic-msgs
|
||||
```
|
||||
|
||||
Чтобы избежать ошибок во время запуска симулятора, вам нужно будет установить Gazebo v7.14, для этого подключите необходимый репозиторий и добавьте соответствующие ключи:
|
||||
|
||||
```bash
|
||||
sudo sh -c 'echo "deb http://packages.osrfoundation.org/gazebo/ubuntu-stable `lsb_release -cs` main" > /etc/apt/sources.list.d/gazebo-stable.list'
|
||||
wget http://packages.osrfoundation.org/gazebo.key -O - | sudo apt-key add -
|
||||
```
|
||||
|
||||
Вам нужно установить пакеты которые потребуются во время запуска симуляции:
|
||||
|
||||
```bash
|
||||
sudo apt-get update && sudo apt-get -y --quiet --no-install-recommends install bzip2 ca-certificates ccache cmake cppcheck curl dirmngr doxygen file g++ gcc gdb git gnupg gosu lcov libfreetype6-dev libgtest-dev libpng-dev lsb-release make ninja-build openjdk-8-jdk openjdk-8-jre openssh-client pkg-config python-pip python-pygments python-setuptools rsync shellcheck tzdata unzip wget xsltproc zip ant gazebo7 gstreamer1.0-plugins-bad gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-ugly libeigen3-dev libgazebo7-dev libgstreamer-plugins-base1.0-dev libimage-exiftool-perl libopencv-dev libxml2-utils pkg-config protobuf-compiler libgeographic-dev geographiclib-tools libignition-math2-dev
|
||||
|
||||
```
|
||||
|
||||
Для того, чтобы установить актуальные Python-модули, вам потребуется новая версия системы управления пакетами pip:
|
||||
|
||||
```bash
|
||||
wget -qO- http://bootstrap.pypa.io/get-pip.py | sudo python
|
||||
```
|
||||
|
||||
Теперь установите необходимые модули:
|
||||
|
||||
```bash
|
||||
pip install --user setuptools pkgconfig wheel && pip install --user argparse argcomplete coverage jinja2 empy numpy requests serial toml pyyaml cerberus
|
||||
```
|
||||
|
||||
Вам необходимо установить спецификацию для библиотеки `geographiclib`:
|
||||
|
||||
```bash
|
||||
wget -qO- https://raw.githubusercontent.com/mavlink/mavros/master/mavros/scripts/install_geographiclib_datasets.sh | sudo bash
|
||||
```
|
||||
|
||||
Склонируйте себе папку содержащую программное обеспечение PX4 и верните ее к стабильной версии v1.8.2:
|
||||
|
||||
```bash
|
||||
git clone https://github.com/PX4/Firmware.git
|
||||
cd Firmware/
|
||||
git checkout v1.8.2
|
||||
```
|
||||
|
||||
Если вы все настройки были произведены правильно, вы можете произвести сборку пакета Gazebo, чтобы в дальнейшем быстрее его запустить. Для этого вы должны находиться в директории `Firmware`:
|
||||
|
||||
```bash
|
||||
make posix_sitl_default sitl_gazebo
|
||||
```
|
||||
|
||||
Теперь все готово к запуску самого симулятора, для этого пропишите в переменных окружения, где искать собранные библиотеки и запустите симулятор. Обратите внимание, что если вы хотите вызвать симулятор в другом окне терминала, вам повторно потребуется прописать переменные окружения (первая строка последующей команды):
|
||||
|
||||
```bash
|
||||
. Tools/setup_gazebo.bash $(pwd) $(pwd)/build/posix_sitl_default
|
||||
roslaunch gazebo_ros empty_world.launch world_name:=$(pwd)/Tools/sitl_gazebo/worlds/iris_fpv_cam.world
|
||||
```
|
||||
|
||||
#### Запуск PX4 для Gazebo
|
||||
|
||||
> **Hint** Для того, чтобы открыть окно PX4 параллельно с симулятором, откройте дополнительное окно терминала.
|
||||
|
||||
Чтобы запустить PX4 и подключить его к Gazebo, в директории `Firmware` соберите сам пакет симулятора:
|
||||
|
||||
```bash
|
||||
make posix_sitl_default
|
||||
```
|
||||
|
||||
Теперь при запущенном симуляторе, вы можете вызвать окно `PX4`. Для этого в той же директории вызовите команду:
|
||||
|
||||
```bash
|
||||
./build/posix_sitl_default/px4 . posix-configs/SITL/init/ekf2/iris
|
||||
```
|
||||
|
||||
После загрузки консоли, вы можете проверить то что соединение с симулятором установлено, вызвав команду `commander takeoff` для взлета и `commander land` для посадки.
|
||||
|
||||
#### Сборка образа Клевера в симуляторе
|
||||
|
||||
Для того, чтобы пользоваться командами, предоставляемыми образом Клевера, вам потребуется его скачать и настроить. Создайте директорию, в которой вы будете собирать образ, перейдите в созданную директорию и воспользуйтесь системой сборки, предоставляемой ROS, для инициализации рабочей среды.
|
||||
|
||||
```bash
|
||||
mkdir -p ~/catkin_ws/src
|
||||
cd ~/catkin_ws
|
||||
catkin_make
|
||||
```
|
||||
|
||||
Подтяните зависимости, прописанные в файле `setup` и склонируйте образ `Clever` в директорию `src`:
|
||||
|
||||
```bash
|
||||
./devel/setup.bash
|
||||
cd src
|
||||
git clone https://github.com/copterexpress/clever
|
||||
```
|
||||
|
||||
Перейдите в корневую папку и обновите зависимости ROS:
|
||||
|
||||
```bash
|
||||
cd ..
|
||||
rosdep install -y --from-paths src --ignore-src -r
|
||||
```
|
||||
|
||||
Повторите сборку среды, но теперь с добавленным пакетом `Clever`:
|
||||
|
||||
```bash
|
||||
catkin_make
|
||||
```
|
||||
|
||||
Если сборка прошла успешно то вы можете запустить ноду клевера и пользоваться пакетом `Clever` точно так же, как и на реальном коптере:
|
||||
|
||||
```bash
|
||||
. devel/setup.bash
|
||||
roslaunch clever sitl.launch
|
||||
```
|
||||
|
||||
Для того, чтобы воспользоваться функциями предоставляемыми нашим пакетом, в новом окне терминала подтяните зависимости из файла `setup`:
|
||||
|
||||
```bash
|
||||
source ~/catkin_ws/devel/setup.bash
|
||||
```
|
||||
|
||||
Теперь вы можете воспользоваться всеми возможностями пакета `Clever` в вашем симуляторе.
|
||||
|
||||
Reference in New Issue
Block a user