0. 编译PX4固件
参考仿真平台基础配置教程(中文详细教程)
按照教程,成功编译后运行launch
一. 安装Ceres依赖:
1、软件包下载:
安装及下载地址: Installation — Ceres Solverhttp://ceres-solver.org/installation.html
2、安装编译Ceres库所需依赖项:
1 |
可能会出现无法定位libcxsoarse3.1.2的问题
解决方法:
1 2 3 4 5 6 7 8 |
|
3、编译安装:
1 2 3 4 |
4、测试
运行测试demo:
5、install安装
二、 编译VINS-Fusion
VINS-Fusion仿真
注意把EKF设置为视觉定位,详见PX4飞控EKF配置教程。
启动仿真程序,注意launch文件中使用的是iris_stereo_camera.sdf
启动VINS-Fusion,注意其默认订阅的话题是iris_0的,如果要换别的vehicle,需要对应修改。另外临时文件存储路径也要对应修改。
这时VINS-Fusion就启动了
由于VINS-Fusion发布的是Odometry类型的话题,我们要将其对应转为PX4所需的话题
这时PX4仿真终端出现如下所示输出,代表视觉信息融合成功
然后建立通信,键盘控制起飞即可
VIO的初始化
VINS-Fusion的双目+IMU可以在静止条件下完成初始化,因此不用额外考虑。但单目+IMU以及ORBSLAM3的单目/双目+IMU均需要在运动中初始化,在实物系统中,我们可以用手晃一晃飞机实现初始化,而仿真中必须起飞才能让无人机运动,但PX4的offboard模式如果没有定位数据,又无法起飞,这就造成了矛盾。因此仿真里只能用Gazebo真值给PX4定位,然后在飞行过程中初始化VIO,VIO的输出只用于测试精度,并不实际给无人机定位用。
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!