User Tools

Site Tools


projects:px4-development:commander

Commander

PX4의 비즈니스 로직

Commander App은 비행 명령과 비행체 정보를 모아 수행할 명령을 결정하고, 다른 App에게 명령을 내린다.

Commander App

Firmware/src/modules/commander/commander.cpp

  • 비행모드 전환 및 수행지시 (상태머신으로 구현)
  • 파라미터 업데이트 (parameter_update)
  • RC입력 읽기(manual_control_setpoint)
  • 센서값(sensor_combined) 읽기
  • 시스템 파워 관리: 파워를 선택
  • Safety 스위치(safety) 체크
  • 기체상태 관리(vtol_vehicle_status)
  • 기체 위치(vehicle_global_position)
  • 기체 로컬 위치(vehicle_local_position)
  • 기체 자세(vehicle_attitude)
  • 기체 착륙 여부(vehicle_land_detected)
  • cpuload, batterystatus

Commander App은 PX4의 주요 uORB 토픽을 관리. Commander App이 구독 또는 발생하는 uORB 토픽를 읽고 이와 관련된 주변의 App 코드를 읽으면 이 지휘관이 하는일의 큰그림이 그려집니다.

Commander App에서 Publish하는 토픽입니다.

armed_pub
commander_state_pub
homePub
led_control_pub
mission_pub
command_ack_pub
control_mode_pub
roi_pub
status_pub
status_pub
vehicle_status_flags_pub

Subscribed Topic

다음은 Commander App에서 구독하는 토픽입니다. PX4의 왠만한 토픽은 다 구독합니다.

_VEHICLE_ATTITUDE_CONTROLS
battery_status
cpuload
differential_pressure
estimator_status
geofence_result
manual_control_setpoint
mission_result
offboard_control_mode
parameter_update
position_setpoint_triplet
safety
sensor_accel
sensor_combined
sensor_correction
sensor_gyro
sensor_mag
sensor_preflight
subsystem_info
system_power
telemetry_status
vehicle_attitude
vehicle_command
vehicle_global_position
vehicle_gps_position
vehicle_land_detected
vehicle_local_position
vehicle_status
vtol_vehicle_status

projects/px4-development/commander.txt · Last modified: 2018/07/18 15:41 by donghee