Prometheus地面站是基于Prometheus系统的人机交互界面,地面站采用TCP/UDP通信进行发送和接收数据,而在机载端中则采用ROS/MSG消息进行通信,该地面站可以更快地让用户复现Prometheus系统的各种功能,且同时适用于真机和仿真系统。
这次Prometheus-v2新增的地面站主要是配合Prometheus系统中控制模块(uav_control)开发的一个版本,支持无人机的起飞、降落、悬停、以及惯性系和机体系的移动模式控制,实现实时监控无人机的各种数据状态,在操作过程中还会打印反馈信息进而提醒用户;且同时支持windows和ubuntu操作系统。
一起来看看Prometheus-v2测试版中地面站在仿真中的使用演示吧!,时长04:29为什么做这个地面站?有哪些优势?● 为Prometheus-v2提供一个可视化工具;● 简化Prometheus-v2使用的步骤、操作;① Prometheus v1版本中无地面站,全程终端指令需要手动输入进行控制操作,而Prometheus v2版本配备的地面站能够支持图形化界面操作,极大减少手动输入终端命令的频率,使初学者上手更方便。② Prometheus v1版本中需要打开多个终端观察数据的变化,而在Prometheus v2版本上,地面站将多个终端界面需要查看的数据集成到地面站上同时显示,让开发者观察数据更便捷。● 配合Prometheus-v2测试版本推出,适配控制模块,方便开发者的使用。该地面站支持哪些功能?数据监控
地面站会实时显示无人机的状态,包括以下两个话题的数据:
● 无人机状态(注:*代表ID):
/uav*/prometheus/state
● 无人机控制状态(注:*代表ID):
/uav*/prometheus/control_state
具体数据内容可以参考Prometheus中common模块的prometheus_msgs功能包的msg,UAVState.msg和UAVControlState.msg。
信息反馈
地面站会根据用户操作、触发不同的信息反馈,根据信息反馈的提示可以更好地操作地面站。信息反馈话题如下:
● 信息反馈:/uav*/prometheus/text_info
具体数据内容可以参考Prometheus中common模块的prometheus_msgs功能包的msg,TextInfo.msg。
无人机控制
地面站会根据用户的操作,发送不同的指令,其中起飞、降落、悬停是已经封装好指令的按钮,点击即可发送对应指令。而移动则不同,需要配合移动模式的选择、共6种移动模式、分别为惯性系和机体系的位置、速度、定高,根据提示输入对应的预期位置或者预期速度,然后点击移动按钮即可。控制话题如下:
● 无人机控制:/uav*/prometheus/command
具体数据内容可以参考Prometheus中common模块的prometheus_msgs功能包的msg,UAVCommand.msg。
用到了哪些技术?
首先,地面站是配合Prometheus通信节点进行使用的,两者之间是通过TCP/UDP(TCP通信、UDP组播等)进行通信,而通信节点与其他模块之间采用ROS/MSG通信(服务、话题);地面站和通信节点同时采用Prometheus协议进行数据的编解码,并且将数据段进行序列化以及反序列化操作,实现模版函数,大大提高了可扩展性,方便后期传输数据(自定义数据)的添加以及删改;
目前推出的地面站由Qt开发,UI界面主要由QWidget实现。QWidget类是所有用户界面对象的基类。通俗来讲,Qt基本上所有的UI类都是由QWidget继承出来的。Widget属于传统界面开发,和VB/VC/Delphi等拖曳控件开发类似,走CPU绘制,能最大化的兼容现有的硬件和过去的相对偏低性能的硬件。
后面我们还会推出的升级版地面站,包含gstreamer、opencv等第三方库,实现视觉模块的控制和显示,如框选、点击跟踪、吊舱控制等;同时还会涉及QML技术,实现离线地图、平面地图上无人机位置的实时显示、轨迹打印等;并且还会支持Prometheus模块中的绝大多数功能模块,以及Rhea小车的部分功能,敬请期待~
软件下载及使用方法
扫码下方二维码下载地面站软件。具体使用方法详见Prometheus使用手册(全新)中第7节内容:
Prometheus使用手册(全新):
https://wiki.amovlab.com/public/prometheus-wiki/
目前Prometheus地面站还处于测试阶段,如果大家在使用过程中发现bug,欢迎在项目技术交流群/阿木社区/评论区留言反馈,项目组将根据各位开发者的建议与意见,持续优化与改进,使之更贴近开发者的使用与操作习惯。
添加下方微信号,申请进入Prometheus项目交流群
同时,在此诚挚邀请广大开发者为Prometheus项目贡献代码,或以全职/兼职形式成为Prometheus课程开发教师,您将有机会获得免费的硬件支持或者相应的报酬。
以下为项目相关介绍
附1:项目简介
Prometheus是一套开源的自主无人机软件平台,为无人机的智能与自主飞行提供全套解决方案。本项目基于PX4开源飞控固件,旨在为PX4开发者配套成熟可用的机载电脑端程序,提供更加简洁快速的开发体验。目前已集成建图、定位、规划、控制及目标检测等模块,并配套有Gazebo仿真测试代码。
项目wiki:
https://github.com/amov-lab/Prometheus/wiki
社区问答专区:
https://bbs.amovlab.com/forum.php?mod=forumdisplay&fid=101
附2:Prometheus入门考试题
https://ks.wjx.top/vj/PpGS3sI.aspx
(扫码作答,参与基础测试)
附3:Prometheus学习路线推荐
附4:Prometheus项目校园赞助
发论文,拿阿木奖学金!
阿木实验室面向所有在校学生发起Prometheus项目校园赞助活动!只要你是使用Prometheus进行科学研究的在校生,在指定期刊发表论文就有机会获得阿木的奖学金~各位同学赶紧加入进来,下一个获得奖学金的可能就是你。
具体活动要求请点击此处跳转查看。
2025-04-11 10:32
2025-04-11 10:27
2025-04-11 10:24
2025-04-11 10:22
2025-04-11 10:00
2025-03-28 11:06
2025-03-28 11:02
2025-03-21 15:36
2025-03-21 15:32