%%//%% turn on underscore to subscript ====== Commander ====== PX4의 비즈니스 로직 Commander App은 비행 명령과 비행체 정보를 모아 수행할 명령을 결정하고, 다른 App에게 명령을 내린다. ===== Commander App ===== Firmware/src/modules/commander/commander.cpp * 비행모드 전환 및 수행지시 (상태머신으로 구현) * 파라미터 업데이트 (parameterupdate) * RC입력 읽기(manualcontrolsetpoint) * 센서값(sensorcombined) 읽기 * 시스템 파워 관리: 파워를 선택 * Safety 스위치(safety) 체크 * 기체상태 관리(vtolvehiclestatus) * 기체 위치(vehicleglobalposition) * 기체 로컬 위치(vehiclelocalposition) * 기체 자세(vehicleattitude) * 기체 착륙 여부(vehiclelanddetected) * 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