Prometheus-v2控制子模块教学例程demo演示

Posted 阿木实验室

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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控制模块的二次开发。具体如下:

Prometheus-v2控制子模块教学例程demo演示

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

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

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

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

Prometheus使用手册

https://wiki.amovlab.com/public/prometheus-wiki/

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

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

 

- END -

以上是关于Prometheus-v2控制子模块教学例程demo演示的主要内容,如果未能解决你的问题,请参考以下文章

从 VBA 中的不同模块调用子例程

模块化程序-子例程

fortran 模块的子例程名称冲突

ArcGIS Pro微课1000例0017:ArcGIS Pro 2.8制作炫酷的ETOPO1全球DEM地图

使用宏的 Fortran 替换子例程名称

CMT2380F32模块开发8-Base Timer例程