docs: add article on migration to v0.20

This commit is contained in:
Oleg Kalachev
2020-02-09 14:58:51 +03:00
parent a480ebe80a
commit 8596be07c6

129
docs/ru/migrate20.md Normal file
View File

@@ -0,0 +1,129 @@
# Переход на версию 0.20
[Образ для RPi](image.md) версии 0.20 содержит в себе значительные изменения по сравнению с версией 0.19. При переходе на новую версию обратите внимание на разъяснения, приведенные ниже.
## Пакет `clever` переименован в `clover`
Необходимо заменить все импорты модуля в 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)
navigate_global = rospy.ServiceProxy('navigate_global', srv.NavigateGlobal)
set_position = rospy.ServiceProxy('set_position', srv.SetPosition)
set_velocity = rospy.ServiceProxy('set_velocity', srv.SetVelocity)
set_attitude = rospy.ServiceProxy('set_attitude', srv.SetAttitude)
set_rates = rospy.ServiceProxy('set_rates', srv.SetRates)
land = rospy.ServiceProxy('land', Trigger)
# Взлет на высоту 1 м
navigate(x=0, y=0, z=1, frame_id='body', auto_arm=True)
```
Стало:
```python
import rospy
from clover 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)
navigate_global = rospy.ServiceProxy('navigate_global', srv.NavigateGlobal)
set_position = rospy.ServiceProxy('set_position', srv.SetPosition)
set_velocity = rospy.ServiceProxy('set_velocity', srv.SetVelocity)
set_attitude = rospy.ServiceProxy('set_attitude', srv.SetAttitude)
set_rates = rospy.ServiceProxy('set_rates', srv.SetRates)
land = rospy.ServiceProxy('land', Trigger)
# Взлет на высоту 1 м
navigate(x=0, y=0, z=1, frame_id='body', auto_arm=True)
```
## systemd-сервис `clever` переименован в `clover`
Для перезапуска платформы теперь вместо команды:
```bash
sudo systemctl restart clever
```
используется команда:
```bash
sudo systemctl restart clover
```
## Путь к файлам платформы изменен
Каталог `~/catkin_ws/src/clever/` переименован в `~/catkin_ws/src/clover`. Таким образом, файлы конфигурации (`.launch`) необходимо редактировать по новому пути.
Например, файл `~/catkin_ws/src/clever/clever/launch/clever.launch` теперь называется `~/catkin_ws/src/clover/clover/launch/clover.launch`.
## Переход на Python 3
Python 2 был признан [устаревшим](https://www.python.org/doc/sunset-python-2/), начиная с 1 января 2020 года. Платформа Клевера переходит на использование Python 3.
Для запуска полетных скриптов вместо команды `python`:
```bash
python flight.py
```
теперь следует использовать команду `python3`:
```bash
python3 flight.py
```
Синтаксис языка Python 3 имеет определенные изменения по сравнения со второй версией. Вместо *оператора* `print`:
```python
print 'Clover is the best'
```
теперь используется *функция* `print`:
```python
print('Clover is the best')
```
Оператор деления по умолчанию выполняет деление с плавающей точкой (вместо целочисленного). Python 2:
```python
>>> 10 / 4
2
```
Python 3:
```python
>>> 10 / 4
2.5
```
Для строк по умолчанию теперь используется тип `unicode` (вместо типа `str`).
Указание кодировки файла (`# coding: utf8`) перестало быть необходимым.
Полное описание всех изменений языка смотрите в [соответствующей статье](https://pythonworld.ru/osnovy/python2-vs-python3-razlichiya-sintaksisa.html).
## Настройки Wi-Fi сети
SSID Wi-Fi сети изменен на `clover-XXXX ` (где X – случайная цифра), пароль изменен на `cloverwifi`.
## Новый способ настройки ориентации камеры
Подробнее читайте в статье про [настройку камеру](camera_setup.md#frame).