docker px4配置软仿UE
1. clone源代码
git clone https://github.com/PX4/PX4-Autopilot.git
2. 编译
make px4_sitl_default none_iris
编译成功
配置PX4的相关命令
pxh> commander arm
pxh> INFO [commander] Armed by internal command
INFO [tone_alarm] arming warning
pxh>
pxh> commander disarm
pxh> INFO [commander] Disarmed by internal command
INFO [tone_alarm] notify neutral
INFO [logger] closed logfile, bytes written: 7319850
pxh> commander mode posctl
pxh> commander status
INFO [commander] arming: STANDBY
INFO [commander] navigation: POSCTL
pxh> param set COM_RC_IN_MODE 1 //不适用qgc启动
pxh> commander mode auto:mission //配置自动任务模式
pxh> commander arm
3. 配置UE
nano ./ROMFS/px4fmu_common/init.d-posix/px4-rc.simulator
//端口号:4560
//ip:172.16.52.3
#!/bin/sh
# shellcheck disable=SC2154
simulator_tcp_port=$((4560+px4_instance))
# Check if PX4_SIM_HOSTNAME environment variable is empty
# If empty check if PX4_SIM_HOST_ADDR environment variable is empty
# If both are empty use localhost for simulator
set PX4_SIM_HOST_ADDR "172.16.52.3"
if [ -z "${PX4_SIM_HOSTNAME}" ]; then
if [ -z "${PX4_SIM_HOST_ADDR}" ]; then
echo "PX4 SIM HOST: localhost"
simulator start -c $simulator_tcp_port
else
echo "PX4 SIM HOST: $PX4_SIM_HOST_ADDR"
simulator start -t $PX4_SIM_HOST_ADDR $simulator_tcp_port
fi
else
echo "PX4 SIM HOST: $PX4_SIM_HOSTNAME"
simulator start -h $PX4_SIM_HOSTNAME $simulator_tcp_port
fi
4. 下发航线错误,无法解锁arm
commandar disarm就可以,可以通过源码修改不进行枷锁
/src/modules/commander/Arming/PreFlightCheck/checks/preArmCheck.cpp
if (control_mode.flag_control_manual_enabled && status.rc_signal_lost) {
if (report_fail) { mavlink_log_critical(mavlink_log_pub, "Arming denied! manual control lost"); }
- prearm_ok = false;
+ //prearm_ok = false;
}
5. 关闭QGC的检测
/src/modules/commander/commander_params.c b/src/modules/commander/commander_params.c
PARAM_DEFINE_INT32(COM_HOME_IN_AIR, 0);
* @value 3 RC or Joystick keep first
* @value 4 Stick input disabled
*/
-PARAM_DEFINE_INT32(COM_RC_IN_MODE, 3);
+PARAM_DEFINE_INT32(COM_RC_IN_MODE, 1);