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:
Alamoris
2019-05-08 04:18:09 +03:00
committed by Oleg Kalachev
parent bca7445ebe
commit 1c33102b8f
3 changed files with 210 additions and 10 deletions

View File

@@ -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
View 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
```

View File

@@ -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` в вашем симуляторе.