amov_jiayue 发表于 2022-9-6 13:39:33

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-v2还处于完善过程中,如果大家在体验Prometheus-v2中遇到bug或困难,欢迎在项目技术交流群/阿木社区/本文评论区留言反馈,Prometheus项目组会协助大家解答,并且会基于各位开发者的建议与意见,持续优化与改进,使之更贴近开发者们的使用与操作习惯,助力高效研发!
期待大家能够多多关注支持Prometheus项目,如需进一步交流,可添加微信号(jiayue199506),申请进入Prometheus项目交流群。



页: [1]
查看完整版本: Prometheus-v2控制子模块教学例程demo演示