本小节主要讲解使用Prometheus地面站-Pro控制无人机

默认Prometheus地面站-Pro连接成功,也会自动启动uav_control节点。如果要使用轨迹跟踪功能,需要单独重新启动轨迹跟踪节点。

关于Prometheus的控制接口说明,可以提前熟悉一下控制接口,可参考Prometheus控制节点介绍

  • 在进行以下操作之前给无人机上电

连接过程

断开连接

在连接之前,请使用地面站关闭连接,详细可参考Prometheus地面站-Pro启动与连接

断开连接可以将上一次功能所运行的节点全部都kill掉,不会新节点的运行,若上一次并没有运行任何功能节点,则可以不用执行断开连接操作。

重新连接

关闭之后,重新连接,详细可参考Prometheus地面站-Pro启动与连接

遥控器操作过程

拨杆开关最上方第一段中间第二段最下方第三段
SW1上锁无人机未启用解锁无人机
SW2INIT控制状态下的POSCTL遥控器定点模式,<br>坐标系基于飞机自身机体系RC_POS_CONTROL控制状态OffBoard模式下 <br>的遥控器控制模式,坐标系基于ENU惯性系COMMAND_CONTROL控制状态OffBoard <br>模式下的自主控制模式
SW3关闭紧急降落未启用开启紧急降落(会立刻锁桨)
SW4关闭降落未启用开启降落(缓慢降落)

注意

SW2拨杆请先拨到拨杆,中间进RC_POS模式,再拨到最下进入command模式,如果遇到紧急情况可以将SW2快速拨到最上进入INIT手动定点模式控制无人机(RC_POS_CONTROL模式是板外手动控制,也可以控制,但可能不能直接油门降落),如遇到紧急情况,将SW3拨到最下会直接锁桨,非特殊情况不建议使用

COMMAND_CONTROL下自主控制

回到主界面,进行无人机控制指令的发送。使用此节下面的Prometheus地面站-Pro控制无人机飞行,切换H16控制器SW2至最下面,无人机控制状态随即切换到COMMAND_CONTROL状态下。

uTools_1676971321375.png

控制界面介绍

图片.png

  • 1、控制界面框
  • 2、当前点悬停:保持无人机当前位置进行悬停(一般用于移动模式后)
  • 3、初始点悬停:无人机飞回到COMMAND_CONTROL初始位置(初始位置为无人机起飞初始位置,高度数据可通过参数设定初始起飞高度)
  • 4、降落:无人机降落,进入LAND_CONTROL模式
  • 5、移动模式:可以选择移动模式下的不同子模式,根据选择不同的子模式,填写与子模式匹配的控制量。(默认子模式为XYZ_POS惯性系-位置控制)
  • 6、控制量数据填充:根据选择不同的子模式,填写相匹配的控制量数据。
    • x:惯性ENU坐标系下的朝东方向或者机体BODY坐标系下机头朝前方向,单位为米
    • y:惯性ENU坐标系下的朝北方向或者机体BODY坐标系下机头朝左方向,单位为米
    • z:惯性ENU坐标系下的朝天方向或者机体BODY坐标系下机头朝上方向,单位为米
    • yaw:惯性ENU坐标系下的期望航向,单位为度。(地面站预留接口为度单位,二次开发源码预留接口为弧度单位)
  • 7、上传按钮,期望数据填充完成之后,可以通过点击上传按钮发送至飞机

移动模式子模式介绍

参考链接一:Prometheus地面站-Pro移动模式介绍

参考链接二:Prometheus源码msg定义

图片.png

  • 1、惯性系-位置控制(XYZ_POS)
  • 2、惯性系-定高速度控制(XY_VEL_Z_POS)
  • 3、惯性系-速度控制(XYZ_VEL)
  • 4、机体系-位置控制(XYZ_POS_BODY)
  • 5、机体系-速度控制(XYZ_VEL_BODY)
  • 6、机体系-定高速度控制(XY_VEL_Z_POS_BODY)
  • 7、轨迹控制(TRAJETCORY)
  • 8、姿态控制(XYZ_ATT)
  • 9、经纬高控制(LAT_LON_ALT)

实验飞行

image.png

注意

所有惯性系下的实验,在上传指令之前,都需要点击上图所示的 初始点悬停。

以下实验默认在开启视频推拉流,刚连接无人机,H16遥控器配置完成,拨杆SW1、SW2、SW3、SW4全部向上的情况下进行。 image.png

地面站正常拉流后如下图所示,H16遥控器开关全部向上时无人机控制状态为INIT状态,飞行模式为POSCTL

注意

POSCTL模式下飞行,为机体系,在飞控飞行模式只有拨杆SW2最上为POSCTL模式,所以只能手动降落,没有一键锁桨。

image.png

遥控器操作

image.png

  1. 拨动SW1,到最下面,解锁无人机,桨叶开始转动。(或者左摇杆拨动到右下角解锁无人机)
  2. 拨动SW2,到中间位置,飞行模式变为OFFBOARD,控制状态变为RC_POS_CONTROL(注意与POSCTL操作的区别) 如下图所示:

image.png H16遥控器(出厂默认为美国手)左遥感上下拨动控制油门,左右拨动控制方向 右摇杆,上下拨动控制前后,左右拨动控制向左向右,即可通过遥控器控制无人机飞行。

image.png

拨动SW4到最下方,无人机降落。

地面站虚拟摇杆控制

  1. 拨动SW1,解锁无人机。
  2. 拨动SW2,到最下面,控制状态变为COMMAND_CONTROL,模式变为OFFBOARD,会自动飞到预设的地点、高度和方向,如下图所示。 至此,控制操作将在电脑完成。

image.png

image.png

  1. 点击主界面。
  2. 点击地图监控
  3. 平面地图。
  4. 查看飞机方向、位置等信息。

image.png

  1. 点击系统设置。
  2. 点击基本设置。
  3. 点击虚拟遥感设置

会出现以下画面,根据步骤打开虚拟摇杆,同时需要设置各轴以及偏航的最大速度(默认为0,大于0无人机才会有响应)

image.png

两个拉流内核都可以使用,此处选择gsteramer拉流。

image.png

点击显示虚拟遥感开关

image.png

  1. 点击主界面,出现如上图 2 所示。
  2. 点击 2 部分出现的青色原点,将会以下画面:

image.png

虚拟摇杆可以使用鼠标控制或者键盘控制(需要焦点在虚拟摇杆上,点击一下虚拟摇杆即可)。

虚拟摇杆主要调用机体系-速度控制(XYZ_VEL_BODY)的接口,所以无人机机头方向为前方。

鼠标拖动控制

在开启了虚拟摇杆之后,则可以使用鼠标来控制无人机。

image.png

在箭头处按下鼠标左键,上下左右拖动控制无人机前后左右移动。

在箭头处按下鼠标右键,上下控制无人机的z轴高度,左右控制无人机偏航。

松开鼠标,无人机停止移动。

键盘按键控制

在开启了虚拟摇杆之后,还可以使用键盘来控制无人机。

image.png

在箭头处点一下鼠标左键,键盘上下左右控制无人机前后左右移动。

在箭头处点一下鼠标左键,键盘shift+上下控制无人机z轴高度,shift+左右控制无人机偏航。

在箭头处点一下鼠标左键,键盘home按钮回到初始点悬停。

注意

在进行下列操作前,需要清楚发送指令后无人机会如何飞行,再点击上传,如果右上角无人机的位置数据与实际位置不符,则需要降落后,在QGC重置ekf定位数据(在快速入门指南的准备飞行有演示)

XYZ_POS控制实验

  1. SW1到最下方,解锁无人机,拨动SW2到最下方,无人机飞到初始起飞位置。
  2. 选择XYZ_POS
  3. 输入 -1 ,让无人机向后1米
  4. 输入 -1 ,让无人机向右移动1米
  5. 输入 2 ,让无人机向上移动2米
  6. 输入 0 ,不改变无人机方向
  7. 点击上传,无人机随即移动到惯性系下的(-1,-1,2)位置。(0,0,0)为上电的位置。

image.png

XY_VEL_Z_POS控制实验

  1. SW1到最下方,解锁无人机,拨动SW2到最下方,无人机飞到初始起飞位置。

image.png 2. 选择XY_VEL_Z_POS 3. 输入 0 ,无人机前后不移动 4. 输入 -1 ,无人机以1m/s的速度向右移动 5. 输入 2 ,无人机飞到两米高的位置 6. 输入 0,不改变无人机的方向

注意

无人机会一直在两米高的位置向右以1m/s的速度移动 点击在当前点悬停则会在无人机当前位置悬停
  1. 点击上传,(0,0,0)为上电的位置。

XYZ_VEL控制实验

  1. SW1到最下方,解锁无人机,拨动SW2到最下方,无人机飞到初始起飞位置。

image.png

  1. 选择XYZ_VEL
  2. 输入 -1 ,无人机向后以1m/s的速度移动
  3. 输入 0 ,不改变无人机的左右。
  4. 输入 0.2 ,无人机向上以0.2m/s的速度移动
  5. 输入 0,不改变无人机的方向

注意

无人机会一直以向上0.2m/s向右1m/s的速度移动 点击在当前点悬停则会在无人机当前位置悬停
  1. 点击上传

XYZ_POS_BODY控制实验

  1. SW1到最下方,解锁无人机,拨动SW2到最下方,无人机飞到初始起飞位置。

image.png

  1. 选择XYZ_POS_BODY
  2. 输入 -1 ,无人机在当前位置向后移动1米
  3. 输入 -1,无人机在当前位置向右移动1米
  4. 输入 1,无人机在当前位置向上移动1米
  5. 输入 0,不改变无人机方向。
  6. 点击上传
  7. 点击在 当前点悬停 则会在无人机当前位置悬停

XYZ_VEL_BODY控制实验

  1. SW1到最下方,解锁无人机,拨动SW2到最下方,无人机飞到初始起飞位置。

image.png

  1. 选择XYZ_VEL_BODY
  2. 输入 1,无人机向前以1m/s速度移动
  3. 输入 0.5 ,无人机向左以0.5m/s速度移动
  4. 输入 0,不改变无人机上下的位置
  5. 输入 0 ,不改变无人机的方向

注意

无人机会一直向前以1m/s速度,向左以0.5m/s的速度移动 点击在当前点悬停则会在无人机当前位置悬停
  1. 点击上传

XY_VEL_Z_POS_BODY控制实验

  1. SW1到最下方,解锁无人机,拨动SW2到最下方,无人机飞到初始起飞位置。

image.png

  1. 选择XY_VEL_Z_POS_BODY
  2. 输入 -1,无人机向后以1m/s的速度移动
  3. 输入 0 ,不改变无人机的左右位置
  4. 输入 1 ,无人机在当前高度向上移动1米
  5. 输入 0 ,不改变无人机的方向、

注意

无人机会向上1米并且一直向后以1m/s的速度移动 点击在当前点悬停则会在无人机当前位置悬停
  1. 点击上传

LAT_LON_ALT控制实验

  1. SW1到最下方,解锁无人机,拨动SW2到最下方,无人机飞到初始起飞位置。

image.png 2. 选择LAT_LON_ALT 3. 点击 地图监控 4. 点击 百度地图 5. 移动鼠标到边框位置,等待变成5所示的图标,单击向左拉出选项框 。

image.png

  1. 选择 离线地图(没有离线地图数据则需要下载好放到地面站配置文件路径下)
  2. 点击 更新位置
  3. 移动鼠标到如3所示边框位置,等待变成3所示图标,单击向右拉,隐藏选项框。

image.png

  1. 点击地图
  2. 向上滑动鼠标滚轮,放大地图
  3. 点击图标
  4. 此时没有数据

image.png

  1. 图标变成十字,点击地图,会显示点击的位置
  2. 自动获取到1点击位置的经纬数据

image.png

  1. 输入 2 ,无人机移动到离地高2米的位置向目标点飞去
  2. 输入 0 ,不改变无人机方向

注意

此功能下飞机飞行速度较快,请在空旷无人的地方飞行并注意安全!!
  1. 点击上传
  2. 无人机当前位置和目标点位置

image.png

如上图所示,无人机移动到指定位置

点击在当前点悬停则会在无人机当前位置悬停

TRAJETCORY控制实验

  1. SW1到最下方,解锁无人机,拨动SW2到最下方,无人机飞到初始起飞位置。

image.png

  1. 点击 系统设置,切换到系统设置界面。
  2. 点击 参数设置,切换参数设置界面。
  3. 点击 通信模块,切换通信模块参数显示界面。
  4. 点击 加载,加载机载端参数,加载完成后,会通过消息反馈进行提示,如果没有提示请检查数据链路(组网)情况或通信节点是否正常启动。(没有加载出参数则可以狂点几次)
  5. 选择 参数trajectory_ground_control的值,修改为 true,收到打印成功的消息反馈后表示修改成。

注意

修改后需要断开连接,再重新连接

拨动SW1到最下方,解锁无人机,拨动SW2到最下方,无人机飞到初始起飞位置。

image.png

  1. 点击 系统设置
  2. 点击 参数控制,打开 轨迹控制
  3. 修改数据 Circle/Center_z2.0, Circle/Center_x、Circle/Center_y0,即绕圆飞行的圆心为初始位置高度2米
  4. 修改数据 Eight/Center_z2 .0Eight/Center_x、Eight/Center_y 为0,即绕八飞行的圆心为初始位置高度2米
  5. 输入 0.5 ,无人机飞行的速度为0.5m/s

image.png

  1. 点击 调试帮助
  2. 点击 traject,启动相关节点

image.png

  1. 点击 主界面
  2. 点击 地图监控
  3. 点击 平面地图
  4. 选择 TRAJECTORY
  5. 选择 Circle,进行圆轨迹控制飞行(绕八飞行、直线前后,直线左右依次类推)
  6. time处输入轨迹控制飞行的运行时间

image.png

  1. 点击 系统设置
  2. 点击 基本设置
  3. 点击 其他
  4. 输入 60 ,表示平面地图打点时间持续60秒
  5. 平面地图打点的频率
  6. 点击启动,出现以下画面

image.png

  1. 输入 60 ,无人机轨迹控制飞行60秒
  2. 点击上传
  3. 上传后出现3所示轨迹