修改PX4飞控的 IMU 频率 |
您所在的位置:网站首页 › 飞控配置文件更新不了怎么回事 › 修改PX4飞控的 IMU 频率 |
QGroundControl 连接上飞控后,打开 Analyze Tools 下的 MAVLink Inspector 界面 可以看到当前的 IMU 频率为50 HZ,或者在终端启动 mavros,终端输入 sudo chmod 777 /dev/ttyACM0 roslaunch mavros px4.launch然后查看频率 rostopic hz /mavros/imu/data_raw可以看到终端输出 可以看到 IMU 频率收敛到 50HZ 左右。 在QGC的 MAVLink Console 中执行命令: mavlink stream -d /dev/ttyACM0 -s HIGHRES_IMU -r 100 mavlink stream -d /dev/ttyACM0 -s ATTITUDE_QUATERNION -r 100可以看到 IMU 频率提高到了 100 HZ 左右,但是这在飞控下电后还原为 50 HZ,因此有以下两种方法可以开机自动设置为 想要的 IMU 频率。 方法一:修改 SD 卡(适用于有 SD 的飞控,如果没有 SD 卡则用方法二)在飞控的sd卡的根目录下创建`/etc/extras.txt`,写入 mavlink start -d /dev/ttyACM0 -b 921600 mavlink stream -d /dev/ttyACM0 -s ATTITUDE_QUATERNION -r 200 mavlink stream -d /dev/ttyACM0 -s HIGHRES_IMU -r 200将 SD 卡重新插入飞控,然后查看飞控 IMU 频率 可以看到 IMU 频率提高到了 173 HZ 左右, 没有到 200 HZ 是因为我的飞控最高只能到 173 HZ。 这个具体的原理就是配置PX4的开机启动文件,通过设置 MAVLink 发布的速率达到更改 mavros IMU发布频率的目的。 mavros话题 /mavros/imu/data_raw 对应的是 HIGHRES_IMU。 mavros话题 /mavros/imu/data 对应的是 ATTITUDE_QUATERNION 方法二:修改固件源码然后重新烧写固件(适用于没有 SD 卡槽的飞控)下载指定版本的 px4 源码 git clone -b v1.13.0 --recursive https://github.com/PX4/PX4-Autopilot.git在PX4固件内的 mavlink_main.cpp 文件下,修改源码 然后编译自己飞控对应的 px4 固件,我这里是 Kakute H7 make holybro_kakuteh7_default进入DFU模式,刷写 PX4 固件 make holybro_kakuteh7_default upload最后会停在下面这个地方 Waiting for bootloader... 拔插飞控即可读取,如果一直读取不到 bootloader,这里我没有管他,挂在后台,(注意一定要挂着,如果终止的话 QGroundControl 会无法识别飞控)然后打开 QGroundControl,点左上角的 Q 进入 Vehicle Setup,然后进入 Firmware 界面,接下来拔插 USB 连接线,右边会弹出一个窗口,然后选择自定义文件 ~/PX4-Autopilot/build/holybro_kakuteh7_default/holybro_kakuteh7_default.bin然后刷写固件,这样就将 PX4 固件刷写进 Kakute H7 中了。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |