技术分享 | 无人机仿真教程-Prometheus平台

  • 转载链接:
  • 前言
  • 具体操作流程:
  • 注意
  • 2.室内仿真
  • offboard模式
  • ENU_FRAME :无人机飞行到指定位置
  • BODY_FRAME :无人机飞行到指定位置
  • ENU_FRAME :无人机按照指定速度飞行
  • BODY_FRAME: 无人机按照指定速度飞行

前言

本期为大家带来的是Prometheus无人机仿真教程,仿真是研发人员必不可少的一部分,由于仿真技术具有经济、安全、快捷的优点以及其特殊的用途,使得其在工程设计、理论研究、产品开发等方面具有重要意义。为此,我们带来了这一篇关于Prometheus仿真的具体操作说明文章,以方便大家更好的使用Prometheus平台。

具体操作流程:

  1. 飞行控制模块

注意

估计器参数PX4_ESTIMATOR默认是ekf2_vision,估计器参数选择可选ekf2_vision和ekf2_gps,ekf2_gps 使用GPS作为定位来源,ekf2_vision 使用外部输入(gazebo真值、slam等)作为定位来源。

2.室内仿真

注意:此场景下的估计器参数PX4_ESTIMATOR是ekf2_vision,ekf2_vision 使用外部输入(gazebo>真值、slam等)作为定位来源。
在终端输入以下命令
roslaunch prometheus_gazebo sitl_control.launch

roslaunch prometheus_gazebo sitl_control.launch

无人机仿真程序 python 无人机系统仿真_人工智能

应用启动后如上图所示,其中被绿框圈中的是无人机地面站信息,被蓝框圈中的是控制终端(全自主的offboard控制)。运行之后需要在控制终端选择使用command input control(通过输入目标点的方式控制) 或者keyboard input control(通过键盘控制)两种方式

command input control 模式下,首先输入999解锁并切换至offboard模式,然后输入1起飞,然后再根据提示输入其他指令(悬停、降落、机体系移动、惯性系移动、轨迹追踪等等)

keyboard input control 模式下,1 for Arm, Space for Takeoff, L for Land, H for Hold, 0 for Disarm, 8/9 
for Trajectory tracking Move mode is fixed (XYZ_VEL,BODY_FRAME): w/s for body_x, a/d for body_y, k/m for z, q/e for body_yaw

offboard模式

*首先输入999解锁并切换至offboard模式
*输入4选择移动模式
*输入0选择XYZ_POS(发送坐标指令)
*输入0选择ENU_FRAME
*输入X轴的距离(m)
*输入Y轴的距离(m)
*输入Z轴的距离(m)
*输入yaw角度(0-360°)

ENU_FRAME :无人机飞行到指定位置

*在ENU_FRAME下,无人机飞行到指定位置
*输入4选择移动模式
*输入0选择XYZ_POS(发送坐标指令)
*输入1选择BODY_FRAME
*输入X轴的距离(m)
*输入Y轴的距离(m)
*输入Z轴的距离(m)
*输入yaw角度(0-360°)

BODY_FRAME :无人机飞行到指定位置

*在BODY_FRAME下,无人机飞行到指定位置
*输入4选择移动模式
*输入3选择XYZ_VEL(发送速度指令)
*输入0选择ENU_FRAME
*输入X轴的速度(m/s)
*输入Y轴的距离(m/s)
*输入Z轴的距离(m/s)
*输入yaw角速度(rad/s)

ENU_FRAME :无人机按照指定速度飞行

*在ENU_FRAME下,无人机按照指定速度飞行
*输入4选择移动模式
*输入3选择XYZ_VEL(发送速度指令)
*输入1选择BODY_FRAME
*输入X轴的速度(m/s)
*输入Y轴的距离(m/s)
*输入Z轴的距离(m/s)
*输入yaw角速度(rad/s)

BODY_FRAME: 无人机按照指定速度飞行

*在BODY_FRAME下,无人机按照指定速度飞行
*输入4选择移动模式
*输入5选择TRAJECTORY
*输入0选择Circle
*输入运行时间(s)
*输入1选择Eight Shape
*输入运行时间(s)
*输入2选择Step
*输入运行时间(s)