578

阿木币

1

精华

1451 小时

在线时间

管理员

Rank: 9Rank: 9Rank: 9

发表于 2022-9-6 13:39:33 3388 浏览 0 回复

[新手上路] Prometheus-v2控制子模块教学例程demo演示


Prometheus-v2中,我们将代码模块化,将功能拆分为子模块,具体包含控制子模块、目标检测子模块、路径规划子模块、集群子模块以及matlab子模块等。


其中,控制子模块作为最基础的子模块,就好比是建筑楼层的地基,俗话说得好“地基不牢,地动山摇”。如果要学习Prometheus-v2,那么控制子模块是开发者们第一步需要熟悉并掌握的内容。


为什么控制子模块如此重要?


在Prometheus开源项目中,控制子模块的主要作用是搭建好软件程序与无人机之间的“桥梁”。向上体现在:为无人机决策规划算法或应用程序提供无人机控制接口,例如视觉跟踪demo。当视觉算法程序识别到目标并把目标位置信息计算出来后,此时就需要控制无人机对目标进行跟踪,在这一环节就需要用到无人机控制子模块提供的控制接口。向下体现在:收集无人机相关信息,包含无人机位置、速度、加速度、姿态、电池电量、经纬度等数据。


控制子模块包含4种控制状态:初始位置悬停、当前位置悬停、降落以及移动。其中移动包含9种移动子模式,分别是惯性系以及机体系下的位置、速度、位置速度复合控制6种控制子模式,还包含经纬度控制、姿态控制以及轨迹控制3种控制子模式。这9种移动子模式能满足大部分无人机功能所需要的控制接口。除此之外,控制子模块还具备其他一些特性:


支持多种无人机定位方式
  • 支持多种定位方式来源以及定位数据处理,包含GPS/RTK、UWB、MOCAP、T265等定位方式。

无人机安全保护机制


  • 针对无人机应用场景,对无人机相关状态信息进行实时监测,有效地提高了无人机的稳定性,降低了无人机在意外情况下的炸机风险或损失。

细节优化


  • 提供了PID、UDE、NE外部控制器实例代码,支持自定义无人机控制器;
  • 提供了无人机位置偏移量设置(适用于室外无人机多机飞行或其他应用场景);
  • 提供教学模块,包含无人机控制接口教学例程,方便快速上手二次开发。

教学例程展示


针对Promehteus无人机控制子模块教学例程,我们推出了相关demo演示视频,希望能帮助大家快速了解操作流程,并通过学习例程demo的源码掌握Prometheus控制模块的二次开发。具体如下:





教学例程中提供有C++及Python两种语言的源码,大家可自行选择相应的源码文件进行学习:


  • 控制模块源码文件位置:/Prometheus/Modules/uav_control


  • 教学例程demo源码文件:/Prometheus/Modules/tutorial_demo/basic


详细内容请参考Prometheus使用手册中第4章节内容:


640.png


新推出的Prometheus-v2还处于完善过程中,如果大家在体验Prometheus-v2中遇到bug或困难,欢迎在项目技术交流群/阿木社区/本文评论区留言反馈,Prometheus项目组会协助大家解答,并且会基于各位开发者的建议与意见,持续优化与改进,使之更贴近开发者们的使用与操作习惯,助力高效研发!


期待大家能够多多关注支持Prometheus项目,如需进一步交流,可添加微信号(jiayue199506),申请进入Prometheus项目交流群。





我知道答案 回答被采纳将会获得 已有0人回答

扫一扫浏览分享
回复

使用道具 举报

返回列表
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表