Ubunutu18.04 ROS melodic 无人机 XTDrone PX4 Vins-Fuison 运行配置

一、PX4飞控EKF配置

PX4默认使用的EKF配置为融合GPS的水平位置与气压计高度。如果我们想使用视觉定位,就需要把修改配置文件。让EKF融合来自mavros/vision_pose/pose的数据

1.1修改rcS配置文件

bash 复制代码
gedit ~/PX4_Firmware/ROMFS/px4fmu_common/init.d-posix/rcS

通过注释来修改不同的参数

cpp 复制代码
	# GPS used
	#param set EKF2_AID_MASK 1
	# Vision used and GPS denied
	param set EKF2_AID_MASK 24

	# Barometer used for hight measurement
	#param set EKF2_HGT_MODE 0
	# Barometer denied and vision used for hight measurement
	param set EKF2_HGT_MODE 3

1.2删除参数文件

重启仿真前,需要删除上一次记录在虚拟eeprom中的参数文件,否则仿真程序会读取该参数文件,导致本次rcS的修改不能生效

bash 复制代码
rm ~/.ros/eeprom/parameters*
rm -rf ~/.ros/sitl*

二、编译VINS-Fusion

2.1安装ceres

安装依赖:

bash 复制代码
sudo apt-get install liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev

下载编译ceres1.14.0

bash 复制代码
wget ceres-solver.org/ceres-solver-1.14.0.tar.gz
tar -zxvf ceres-solver-1.14.0.tar.gz 
cd ceres-solver-1.14.0/
mkdir build
cd build/
cmake ..
make
sudo make install

2.2编译vins-fusion

bash 复制代码
cp -r ~/XTDrone/sensing/slam/vio/VINS-Fusion ~/catkin_ws/src/
mkdir ~/catkin_ws/scripts/
cp ~/XTDrone/sensing/slam/vio/xtdrone_run_vio.sh ~/catkin_ws/scripts/
cd ~/catkin_ws
catkin build

三、启动仿真

3.1 打开仿真环境

bash 复制代码
roslaunch px4 indoor1.launch

3.2运行vins-fusion

bash 复制代码
cd ~/catkin_ws
bash scripts/xtdrone_run_vio.sh

3.3修改话题

由于VINS-Fusion发布的是Odometry类型的话题,我们要将其对应转为PX4所需的话题

bash 复制代码
cd ~/XTDrone/sensing/slam/vio
python vins_transfer.py iris 0

3.4建立通信

然后建立通信,键盘控制起飞即可

bash 复制代码
cd ~/XTDrone/communication
python multirotor_communication.py iris 0 
bash 复制代码
cd ~/XTDrone/control/keyboard
python multirotor_keyboard_control.py iris 1 vel

效果:

相关推荐
敷啊敷衍17 分钟前
深入探索 C++ 中的 string 类:从基础到实践
开发语言·数据结构·c++
什么名字都被用了39 分钟前
编译openssl源码
c++·openssl
ai.Neo1 小时前
牛客网NC22157:牛牛学数列2
数据结构·c++·算法
Nobkins2 小时前
2023CCPC河南省赛暨河南邀请赛个人补题ABEFGHK
开发语言·数据结构·c++·算法·图论
电鱼智能的电小鱼2 小时前
产线视觉检测设备技术方案:基于EFISH-SCB-RK3588/SAIL-RK3588的国产化替代赛扬N100/N150全场景技术解析
linux·人工智能·嵌入式硬件·计算机视觉·视觉检测·实时音视频
妄想成为master2 小时前
计算机视觉----基于锚点的车道线检测、从Line-CNN到CLRNet到CLRKDNet 本文所提算法Line-CNN 后续会更新以下全部算法
人工智能·计算机视觉·车道线检测
子非衣2 小时前
Ubuntu系统挂载磁盘并配置开机自动挂载
linux·运维·ubuntu
珊瑚里的鱼2 小时前
第九讲 | 模板进阶
开发语言·c++·笔记·visualstudio·学习方法·visual studio
风暴智能3 小时前
问题处理——在ROS2(humble)+Gazebo+rqt下,无法显示仿真无人机的相机图像
linux·无人机
Echo``3 小时前
40:相机与镜头选型
开发语言·人工智能·深度学习·计算机视觉·视觉检测