Prometheus代码框架及功能汇总
Prometheus代码框架图
提示
Prometheus代码框架图仅展示主要内容,并未包含所有文件。
Prometheus代码框架主要包含Experiment、Scripts、Simulator、Modules四个模块:
-
Experiment
与阿木实验室Z410无人机配套的真机代码,其余安装有Prometheus项目的无人机也可以通过该模块内容适配Prometheus项目,但可能需要修改部分参数,详情请查看Prometheus真机教程。
-
Modules
Modules作为Prometheus项目最重要的组成部分,包含各个功能子模块的全部源代码,主要包括通用子模块、控制子模块、教程子模块、目标检测子模块、规划子模块等功能源代码。
-
Scripts
Scripts下有
installation
和simulation
两大部分,其中installation
包含目标检测子模块环境安装脚本以及prometheus_mavros安装脚本,simulation
包含各仿真功能启动脚本以及测试脚本。 -
Simulator
提供基于PX4-Gazebo的Prometheus仿真代码,包含无人机、传感器、二维码以及环境等相关模型,控制插件以及仿真launch文件等。
Prometheus_msgs说明
ArucoInfo: Aruco二维码的信息, 标定相机后可估计二维码的位姿
MultiArucoInfo: ArucoInfo的数组形式
BoundingBox: 表示目标检测的分类,边框坐标,置信度
BoundingBoxes: BoundingBox的数组形式
DetectionInfo: 目标检测反馈信息,包含对目标、类别、位姿估计
MultiDetectionInfo: DetectionInfo的数组形式
FormationAssign: 集群队形位置分配
GPSData: GPS经纬度以及海拔高度
MultiUAVState: 多架无人机状态
OffsetPose: 无人机ENU坐标系下的定位数据位置偏移量
SwarmCommand: 集群控制指令,包含位置控制、控制模式设置、队形变换设置、队形间距设置等.
TextInfo: 无人机向地面站反馈文本消息
UAVCommand: 无人机控制指令,包含控制命令设置、惯性系、机体系、轨迹、姿态、经纬度、位置、速度、加速度等多种控制模式
UAVControlState: 无人机控制状态
UAVSetup: 无人机设置,包含解上锁、设置px4飞行模式、设置控制模式、重启飞控
UAVState: 无人机状态,包含飞行模式、连接状态、定位来源、gps状态、位置、速度、姿态等信息
Prometheus项目功能模块组成
uav_control:Prometheus项目中的基础模块,负责其余上层功能模块与底层MAVROS进行数据交互的接口
gazebo_simulator:仿真模块,包含室内外无人机仿真模型、仿真环境、Gazebo插件以及仿真启动的launch文件等内容
turtorial_demo: 示例模块,包含Prometheus项目绝大部分功能模块的基础教程源代码以及相应的启动lauch文件
planning: 路径规划模块
object_detection:视觉检测模块
swarm_control:集群控制模块
matlab_bridge:matlab子模块