PX4(v1.15.2)自定义机型Gazebo Sim仿真报错

问题如图所示,在arm的过程中,检测到ESC failure,导致无人机无法正常启动:

INFO  [commander] Armed by external command	
INFO  [tone_alarm] arming warning
INFO  [logger] Start file log (type: full)
INFO  [logger] [logger] ./log/2025-02-28/05_38_18.ulg	
INFO  [logger] Opened full log file: ./log/2025-02-28/05_38_18.ulg
WARN  [health_and_arming_checks] Preflight Fail: ESC failure detected
WARN  [failsafe] Failsafe activated	
INFO  [commander] Disarmed by failsafe

这里我的机型模型文件(sdf文件)参考的是官方的例子x500进行改写的,并且已经在ROS1中gazebo-classic里验证了可行性,因此基本排除是机型文件的问题。

飞行参数文件也是参考x500的进行了设置,仿真相关参数如下:

param set-default SIM_GZ_EN 1
param set-default SENS_EN_GPSSIM 1
param set-default SENS_EN_BAROSIM 0
param set-default SENS_EN_MAGSIM 1

param set-default SIM_GZ_EC_FUNC1 101
param set-default SIM_GZ_EC_FUNC2 102
param set-default SIM_GZ_EC_FUNC3 103
param set-default SIM_GZ_EC_FUNC4 104
param set-default SIM_GZ_EC_FUNC5 105
param set-default SIM_GZ_EC_FUNC6 106

param set-default SIM_GZ_EC_MIN1 0
param set-default SIM_GZ_EC_MIN2 0
param set-default SIM_GZ_EC_MIN3 0
param set-default SIM_GZ_EC_MIN4 0
param set-default SIM_GZ_EC_MIN5 0
param set-default SIM_GZ_EC_MIN6 0

param set-default SIM_GZ_EC_MAX1 1500
param set-default SIM_GZ_EC_MAX2 1500
param set-default SIM_GZ_EC_MAX3 1500
param set-default SIM_GZ_EC_MAX4 1500
param set-default SIM_GZ_EC_MAX5 1500
param set-default SIM_GZ_EC_MAX6 1500

查看报错信息相关源码,发现是跟一个内部参数fd_esc_arming_failure相关,与之联系的外部QGC参数是FD_ESCS_EN,作用是检查ESC的启动状态,如果启用,故障检测器将验证所有的 ESCs 是否已成功启动,进而车辆会过渡到arm状态。而收到 ESCs 确认的超时为 0.3 秒,如果没有收到反馈,故障检测器将自动解除车辆。因此,我猜测是ESC启动超时,导致无人机无法启动。我这里简单的将参数FD_ESCS_EN关闭,即设置为0,无人机可正常起飞。

param set-default FD_ESCS_EN 0

猜测还可以在内部将确认时间加长,或者增大ESC的最小速度,来解决这个问题,但是还需要后续验证。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LeoZack

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值