Files
clover/docs/ru/nti2019.md
2019-04-06 19:54:26 +03:00

58 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Олимпиада НТИ 2019
## Работа с MQTT
### Проверка
Публикация сообщений в топик для проверки может быть осуществлена с помощью команды `hbmqtt_pub`:
```bash
hbmqtt_pub --url mqtt://192.168.0.1:1883 -t /copters/copter1 -m 'сообщение'
```
Где `192.168.0.1` IP-адрес MQTT-брокера, `сообщение` – сообщение для публикации, `/copters/copter1` необходимый топик для публикации.
## Работа с Клевером
Для выполнения команд на Клевере:
* подключитесь в Wi-Fi сети NTI;
* подключитесь к вашему Клеверу по SSH по его IP-адресу (подробнее см. [подключение по SSH](ssh.md));
Для редактирования файлов на Клевере вы можете использовать консольные редакторы `nano` или `vim`. Также вы можете загружать файлы используя PyCharm или WinSCP.
Для автономного полета используйте API модуля [simple_offboard](simple_offboard.md).
Пример программы, выполняющей взлет, полет в точку в системе координат площадки и посадку на Python:
```python
# coding: utf8
import rospy
from clever import srv
from std_srvs.srv import Trigger
rospy.init_node('flight')
get_telemetry = rospy.ServiceProxy('get_telemetry', srv.GetTelemetry)
navigate = rospy.ServiceProxy('navigate', srv.Navigate)
land = rospy.ServiceProxy('land', Trigger)
# Взлет на 1 метр со скоростью 0.5 метров в секунду
navigate(x=0, y=0, z=1, speed=0.5, frame_id='body', auto_arm=True)
# Ждем 5 секунд
rospy.sleep(5)
# Полет на координаты x=3, y=2, z=1 площадки со скоростью 0.5 метров в секунду
navigate(x=3, y=2, z=1, speed=0.5, frame_id='aruco_map')
# Ждем 5 секунд
rospy.sleep(5)
# Посадка
land()
```
Для более подробной информации и описания других команд смотрите [API simple_offboard](simple_offboad.md) и [примеры кода](snippets.md).