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

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<nav_msgs::Odometry>("/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、遇到问题多和别人交流,简单的倾诉也好,坚持下去。

  • 7
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建Prometheus,您可以按照以下步骤进行操作: 1. 下载Prometheus软件包。您可以从官方网站下载Prometheus的压缩包\[3\]。解压缩并将其移动到所需的目录。 2. 编写Prometheus的配置文件prometheus.yml。您可以使用文本编辑器创建一个新文件,并按照您的需求配置其中的参数\[1\]。 3. 安装Prometheus服务。您可以创建一个systemd服务文件,例如prometheus.service,并将其放置在适当的位置,如/usr/lib/systemd/system/目录下\[2\]。 4. 启动Prometheus服务。您可以使用命令行运行`./prometheus`来启动Prometheus\[3\]。 5. 验证Prometheus是否成功启动。您可以通过访问http://localhost:9090来访问Prometheus的Web界面,并确保它正常工作。 请注意,这只是一个简单的搭建Prometheus的示例步骤,具体的操作可能因您的环境和需求而有所不同。您可以参考Prometheus的官方文档以获取更详细的指导和配置选项。 #### 引用[.reference_title] - *1* *2* [Prometheus完整搭建及实战各种监控](https://blog.csdn.net/jj1130050965/article/details/121453290)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Prometheus搭建](https://blog.csdn.net/zjz5740/article/details/115652357)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值