飞行机器人(七)仿真平台XTDrone + PX4编译

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进行处理,非常感谢!

上一篇 2022年3月15日
下一篇 2022年3月15日

相关推荐