Prometheus代码框架及功能汇总

Prometheus代码框架图

提示

Prometheus代码框架图仅展示主要内容,并未包含所有文件。

Prometheus代码框架主要包含ExperimentScriptsSimulatorModules四个模块:

  • Experiment

    与阿木实验室Z410无人机配套的真机代码,其余安装有Prometheus项目的无人机也可以通过该模块内容适配Prometheus项目,但可能需要修改部分参数,详情请查看Prometheus真机教程

  • Modules

    Modules作为Prometheus项目最重要的组成部分,包含各个功能子模块的全部源代码,主要包括通用子模块、控制子模块、教程子模块、目标检测子模块、规划子模块等功能源代码。

  • Scripts

    Scripts下有installationsimulation两大部分,其中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子模块