Пакет gs_core

Описание

В данном пакете находятся необходимые основные ноды для корректной работы Geoscan Pioneer Max

Состав пакета

Ноды

  • ros_plaz_node - основная нода, связь с базовой платой Пионер

Файлы запуска (launch)

  • pioneer.launch - запуск системы

Python скрипты

  • restart.py - перезапуск базовой платы Пионер

Описание нод

ros_plaz_node

Нода связи по протоколу plazlink между полетным контроллером Geoscan Pioneer и микрокомпьютером

Параметры:

  • port (String) - название UART порта, в который подключена базовая плата Пионер (по умолчанию: /dev/ttyS0), обязательный параметр

Сервисы:

  • geoscan/alive (gs_interfaces/Live) - возвращает статус соединения
  • geoscan/get_log (gs_interfaces/Log) - возвращает лог
  • geoscan/flight/set_event (gs_interfaces/Event) - приказывает автопилоту выполнить Event
  • geoscan/flight/set_yaw (gs_interfaces/Yaw) - приказывает автоплоту выполнить рысканье
  • geoscan/flight/set_local_position (gs_interfaces/Position) - приказывает автопилоту выполнить перемещение в локальных координатах
  • geoscan/flight/set_global_position (gs_interfaces/PositionGPS) - приказывает автопилоту выполнить перемещение в глобальных координатах
  • geoscan/led/board/set (gs_interfaces/Led) - управление светодиодами на плате Geoscan Pioneer
  • geoscan/led/module/set (gs_interfaces/Led) - управление светодиодами на LED модуле
  • geoscan/board/get_info (gs_interfaces/Info) - возвращает бортовой номер
  • geoscan/board/get_time (gs_interfaces/Time) - возвращает время с момента включения коптера
  • geoscan/board/get_uptime (gs_interfaces/Time) - возвращает время запуска для системы навигации
  • geoscan/board/get_flight_time (gs_interfaces/Time) - возвращает время с начала полета
  • geoscan/board/get_parameters (gs_interface/ParametersList) - возварщает параметры АП
  • geoscan/board/set_parameters (gs_interface/SetParametersList) - устанавливает параметры АП
  • geoscan/board/restart (std_srvs/Empty) - перезагружает базовую Плату Пионер
  • geoscan/navigation/get_system (gs_interfaces/NavigationSystem) - возвращает текущую систему позиционирования
  • geoscan/navigation/set_system (gs_interfaces/SetNavigationSystem) - устанавливает систему позиционирования

Топики:

  • geoscan/log (std_msgs/String) - последнее сообщение лога
  • geoscan/battery_state (gs_interfaces/SimpleBatteryState) - состояние АКБ
  • geoscan/navigation/local/position (geometry_msgs/Point) - локальные координаты в ситеме LPS
  • geoscan/navigation/local/yaw (std_msgs/Float32) - угол поворота в системе LPS
  • geoscan/navigation/local/velocity (geometry_msgs/Point) - скорость коптера возвращаемая LPS
  • geoscan/navigation/global/position (gs_interfaces/PointGPS) - глобальные координаты GPS
  • geoscan/navigation/global/status (std_msgs/Int8) - статус GPS модуля
  • geoscan/navigation/satellites (gs_interfaces/SatellitesGPS)- количество спутников
  • geoscan/navigation/opt/velocity (gs_interfaces/OptVelocity) - данные с модуля оптического потока (OPT)
  • geoscan/flight/callback_event (std_msgs/Int32) - события вытопилота
  • geoscan/sensors/gyro (geometry_msgs/Point) - данные c гироскопа
  • geoscan/sensors/accel (geometry_msgs/Point) - данные c акселерометра
  • geoscan/sensors/orientation (gs_interfaces/Orientation) - данные положения
  • geoscan/sensors/altitude (std_msgs/Float32) - данные высоты по барометр
  • geoscan/sensors/mag (geometry_msgs/Point) - данные магнитометра

Описание Python скриптов

restart.py

При выполнении перезапускает базовую плату Пионер

Необходимые пакеты

Python:

  • PySerial

ROS:

  • gs_interfaces
  • geometry_msgs
  • std_msgs
  • std_srvs

Использование

Установка порта подключения базовой платы Пионер на /dev/ttyS0
rosparam set ros_plaz_node/port /dev/ttyS0
Запуск ros_plaz_node
rosrun gs_core ros_plaz_node.py