diff --git a/docs/ru/migrate20.md b/docs/ru/migrate20.md new file mode 100644 index 00000000..5af8ef0c --- /dev/null +++ b/docs/ru/migrate20.md @@ -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).