Skip to content

Modules Reference: Controller

airship_att_control

Source: modules/airship_att_control

Опис

Це реалізує регулятор положення аеростата і швидкості. Ideally it would take attitude setpoints (vehicle_attitude_setpoint) or rate setpoints (in acro mode via manual_control_setpoint topic) as inputs and outputs actuator control messages.

Currently it is feeding the manual_control_setpoint topic directly to the actuators.

Імплементація

Щоб зменшити затримку керування, модуль безпосередньо опитує тему гіроскопа, опубліковану драйвером IMU.

Використання

airship_att_control <command> [arguments...]
 Commands:
   start

   stop

   status        print status info

control_allocator

Source: modules/control_allocator

Опис

Це реалізує розподіл управління. Він приймає задані значення крутного моменту та тяги як вхідні та вихідні повідомлення про задані значення привода.

Використання

control_allocator <command> [arguments...]
 Commands:
   start

   stop

   status        print status info

flight_mode_manager

Source: modules/flight_mode_manager

Опис

Це реалізує генерацію заданого значення для всіх режимів. Він приймає поточний стан режиму транспортного засобу як вхідні дані і виводить задані значення для контролерів.

Використання

flight_mode_manager <command> [arguments...]
 Commands:
   start

   stop

   status        print status info

fw_att_control

Source: modules/fw_att_control

Опис

fw_att_control - регулятор положення фіксованого крила.

Використання

fw_att_control <command> [arguments...]
 Commands:
   start
     [vtol]      VTOL mode

   stop

   status        print status info

fw_pos_control

Source: modules/fw_pos_control

Опис

fw_pos_control - контролер положення фіксованого крила.

Використання

fw_pos_control <command> [arguments...]
 Commands:
   start
     [vtol]      VTOL mode

   stop

   status        print status info

fw_rate_control

Source: modules/fw_rate_control

Опис

fw_rate_control - регулятор швидкості фіксованого крила.

Використання

fw_rate_control <command> [arguments...]
 Commands:
   start
     [vtol]      VTOL mode

   stop

   status        print status info

mc_att_control

Source: modules/mc_att_control

Опис

Це реалізує контролер положення мультикоптера. It takes attitude setpoints (vehicle_attitude_setpoint) as inputs and outputs a rate setpoint.

Контролер має P цикл для кутової похибки

Публікація, що документує реалізоване кватерніонне керування положенням: Nonlinear Quadrocopter Attitude Control (2013) by Dario Brescianini, Markus Hehn and Raffaello D'Andrea Institute for Dynamic Systems and Control (IDSC), ETH Zurich

https://www.research-collection.ethz.ch/bitstream/handle/20.500.11850/154099/eth-7387-01.pdf

Використання

mc_att_control <command> [arguments...]
 Commands:
   start
     [vtol]      VTOL mode

   stop

   status        print status info

mc_pos_control

Source: modules/mc_pos_control

Опис

Контролер має два контури: P цикл для помилки положення і PID цикл для помилки швидкості. Виходом контролера швидкості є вектор тяги, який розділяється на напрямок тяги (тобто матрицю обертання для орієнтації мультикоптера) та скаляр тяги (тобто саму тягу мультикоптера).

Контролер не використовує кути Ейлера для своєї роботи, вони генеруються лише для більш зручного керування та логування.

Використання

mc_pos_control <command> [arguments...]
 Commands:
   start
     [vtol]      VTOL mode

   stop

   status        print status info

mc_rate_control

Source: modules/mc_rate_control

Опис

Це реалізує мультикоптерний регулятор швидкості. It takes rate setpoints (in acro mode via manual_control_setpoint topic) as inputs and outputs actuator control messages.

Контролер має PID-цикл для компенсації похибки кутової швидкості.

Використання

mc_rate_control <command> [arguments...]
 Commands:
   start
     [vtol]      VTOL mode

   stop

   status        print status info

Source: modules/navigator

Опис

Модуль відповідає за автономні режими польоту. Це включає місії (читайте з dataman), взліт та RTL. Він також відповідає за перевірку порушень геозони.

Імплементація

The different internal modes are implemented as separate classes that inherit from a common base class NavigatorMode. The member _navigation_mode contains the current active mode.

Navigator publishes position setpoint triplets (position_setpoint_triplet_s), which are then used by the position controller.

Використання

navigator <command> [arguments...]
 Commands:
   start

   fencefile     load a geofence file from SD card, stored at etc/geofence.txt

   fake_traffic  publishes 24 fake transponder_report_s uORB messages

   stop

   status        print status info

rover_ackermann

Source: modules/rover_ackermann

Опис

Rover ackermann module.

Використання

rover_ackermann <command> [arguments...]
 Commands:
   start

   stop

   status        print status info

rover_differential

Source: modules/rover_differential

Опис

Rover Differential controller.

Використання

rover_differential <command> [arguments...]
 Commands:
   start

   stop

   status        print status info

rover_mecanum

Source: modules/rover_mecanum

Опис

Rover Mecanum controller.

Використання

rover_mecanum <command> [arguments...]
 Commands:
   start

   stop

   status        print status info

rover_pos_control

Source: modules/rover_pos_control

Опис

Контролює положення ровера за допомогою L1 контролера.

Publishes vehicle_thrust_setpoint (only in x) and vehicle_torque_setpoint (only yaw) messages at IMU_GYRO_RATEMAX.

Імплементація

Наразі ця реалізація підтримує лише декілька режимів:

  • Повна ручна: Throttle та yaw контроль передається безпосередньо на актуатори
  • Автоматична місія: Ровер виконує місії
  • Loiter: Ровер буде рухатися в межах радіусу очікування, а потім вимкне двигуни

Приклади

Приклад використання CLI:

rover_pos_control start
rover_pos_control status
rover_pos_control stop

Використання

rover_pos_control <command> [arguments...]
 Commands:
   start

   stop

   status        print status info

uuv_att_control

Source: modules/uuv_att_control

Опис

Контролює положення безпілотного підводного апарату (UUV).

Publishes vehicle_thrust_setpont and vehicle_torque_setpoint messages at a constant 250Hz.

Імплементація

Наразі ця реалізація підтримує лише декілька режимів:

  • Повна ручна: Roll, pitch, yaw, та throttle контроль передається безпосередньо до актуаторів
  • Автоматична місія: UUV виконує місії

Приклади

Приклад використання CLI:

uuv_att_control start
uuv_att_control status
uuv_att_control stop

Використання

uuv_att_control <command> [arguments...]
 Commands:
   start

   stop

   status        print status info

uuv_pos_control

Source: modules/uuv_pos_control

Опис

Контролює положення безпілотного підводного апарату (UUV). Publishes attitude_setpoint messages.

Імплементація

Наразі ця реалізація підтримує лише декілька режимів:

  • Повна ручна: Roll, pitch, yaw, та throttle контроль передається безпосередньо до актуаторів
  • Автоматична місія: UUV виконує місії

Приклади

Приклад використання CLI:

uuv_pos_control start
uuv_pos_control status
uuv_pos_control stop

Використання

uuv_pos_control <command> [arguments...]
 Commands:
   start

   stop

   status        print status info

vtol_att_control

Source: modules/vtol_att_control

Опис

fw_att_control - регулятор положення фіксованого крила.

Використання

vtol_att_control <command> [arguments...]
 Commands:

   stop

   status        print status info