【无人机搭建】prometheus项目的移植

您所在的位置:网站首页 用纸做的无人机是怎么做的视频 【无人机搭建】prometheus项目的移植

【无人机搭建】prometheus项目的移植

2024-07-15 22:21| 来源: 网络整理| 查看: 265

1. 前言

本文是在浙大Fast-Lab 实验室作的无人机的基础上,改用阿木实验室的Prometheus项目的代码来进行平台搭建过程的记录。关于浙大Fast-Lab 实验室的无人机是怎么做的,可以去深蓝学院看看“从零开始制作无人机”的课程,里面提供了 硬件清单,并且有从焊接开始到机载电脑环境配置的全套流程,其文件可以去他们的github上下载。关于这部分内容可能后续再做一期博客来具体介绍。

请添加图片描述这个对比并没有孰优孰劣的意思,而是根据我自身的能力去做的选择,相信目前已经成功移植Prometheus项目的我回头再去看浙大团队的代码,就会轻松多了,但毕竟没那么多时间。

另外,在做给实机配Prometheus项目之前,我已经在机载电脑上测试了Prometheus的仿真环境,安装的时候跑得都是他们写好的脚本.sh,容易报错,大伙应该打开.sh文件去看看到底每一步安装步骤是什么,报错了也可以点对点地去网上搜。Prometheus指导手册在这里。补充一下:这个仿真必须用他们的所说的富斯i6遥控器。

还有,安装前不说确保电脑环境是干净的,至少要知道自己电脑上有什么环境。比如之前做浙大那边的无人机的时候就在系统中安装过mavros,而Prometheus中需要再次安装,具体怎么解决可以自己衡量——可以选择remove原来安装的;也可以给Prometheus的代码中添加路径;或在.bashrc文件中添加路径?这个我就不太清除了。

2. 问题分析

OK,现在开始正式的去记录我的移植过程。首先,问题总结来说就是:请添加图片描述理清了问题,我们可以开始去着手一点一点处理问题。

2.1 VINS 视觉定位的连接

主要有几个部分——相机、飞控板、地面站以及VINS四个部分的配置。

2.1.1 相机驱动

浙大Fast Drone 250中是有VINS包的,这里直接拿来用不再另外下载。启动相机只需要在终端安装一个realsense的驱动。这个在浙大的Github上。 在这里插入图片描述

说明:不建议使用相机上的IMU,因为真的很不稳,飞机本身的高频振动给IMU的测量带来了很大的挑战,飞控上的IMU相比之下是更加稳定的。

2.1.2 飞控板设置

现在需要解决飞控板通过mavros进行通信的事情。首先,我们需要在mavros的px4.launch文件中修改USB串口的名称。

ls -l /dev/tty*

在这里插入图片描述

在这里插入图片描述 先用地面站QGC连接电脑和飞控板,确定是Ready to fly后,关闭QGC,启动mavros,查看是否有imu的数据。

roslaunch mavros px4.launch rostopic list

在这里插入图片描述

在这里插入图片描述 在这里插入图片描述

这里我一开始是没有imu话题的,解决方式链接。需要额外注意的是文章提及的rs_camera.launch中的参数多次出现,请小心确定是哪个需要修改。

2.1.3 VINS 配置

这里我们去打开VINS的参数文件,确定IMU和左右目的视觉话题名称。 在这里插入图片描述

此时,我们整体需要做的就都解决了。在各自的工作空间下,同时启动即可看到VINS的话题了。

roslaunch realsense2_camera rs_camera.launch roslaunch mavros px4.launch roslaunch vins fast_drone_250.launch

最后,可以在地面站中去设置——把imu的发送频率提高一些,这样VINS中就不会有太多的报错提示,同时避免VINS跑飞。

mavlink stream -d /dev/ttyACM0 -s ATTITUDE_QUATERNION -r 200 mavlink stream -d /dev/ttyACM0 -s HIGHRES_IMU -r 200 2.2 使用VINS 视觉定位来进行控制

这一步主要是对Prometheus中的代码进行设置——即选择使用视觉定位。

首先,在Prometheus项目中的控制yaml文件修改。 在这里插入图片描述 然后在VINS的cpp执行文件中编写朝/uav1/mavros/odometry/out 发送它本身要发出的定位信息。

pub_odometry_out=n.advertise("/uav1/mavros/odometry/out", 1000);

在这里插入图片描述

2.3 遥控器设置

在Prometheus项目中,使用了5-7通道,至少至少也要有5和6通道,因为他俩负责解锁和切换到OFFBOARD模式。 Prometheus使用的富斯i6和Fast-Lab使用的乐迪T8FB(接收机是R8FM)都是支持全协议的,所以可以进行替换。 在这里插入图片描述

2.3 地面站信息源设置

最后去地面站里进行修改。选择使用视觉定位信息来确定xyz,而不是气压计什么的。

在这里插入图片描述

在这里插入图片描述参考连接:https://zhuanlan.zhihu.com/p/611119742?utm_id=0&wd=&eqid=b1e74615000c97d200000004648fc430

3. 成果

启动以下节点,就可以跑实验了。

在这里插入图片描述

心得

1、每个实操部分都有讨论群(如小鱼Ubuntu安装群、深蓝的从零制作无人机群、Prometheus群),群友给我提供了很多帮助,大家在做硬件的时候最好多和别人交流,避免踩坑。 2、遇到问题多和别人交流,简单的倾诉也好,坚持下去。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3