进阶功能-室外指点飞行

  • 本节主要讲解P600系列无人机在室外的指点飞行演示。视频紧接上节内容 首次飞行 ,默认已经通过home图数传连接到QGC地面站和nomachine远程连接到板载计算机,主要分为以下几点进行讲解:启动指令,命令行控制终端详解,指点飞,速度控制,绕圆飞行以及最后的视频演示。

启动指令

  • 首先启动命令一:

    roslaunch p600_experiment p600_gps_onboard.launch
    

    /images/启动指令一.png)

  • 再启动命令二:

    roslaunch p600_experiment p600_gps_control.launch
    

    /images/启动指令二.png)

命令行控制终端详解

  • 命令行控制终端图如下:

    /images/命令行控制终端.png)

    其中

    0 表示的是怠速:飞机会进入offboard模式,但是在该模式下,没有对飞机进行任何指令的发送。飞机也不会有任何动作,这个指令一般也可以不用。

    1 表示的是起飞:起飞点为当前点,起飞高度通过 yaml参数设置,单位是米,默认起飞高度是0.5m。

    2 表示的是悬停:飞机正在飞行过程中如果接受到 2 指令,会在当前时刻进入悬停状态。

    3 表示的是降落:降落速度通过 yaml参数设置,单位是m/s ,默认降落速度为0.2m/s 。还有一个 上锁高度 到达上锁高度之后飞机会进入飞控的本身降落模式进而缓缓着地,上锁高度通过 yaml 参数进行设置,单位是米,默认是 0.18m,即认为离地不到20cm的时候进入飞控本身的降落飞行模式。

    4 表示的是move模式:该模式就包含我们所称的指点飞行功能,在此模式下,又有5种子模式:0对应XYZ_POS,空间位置控制;1对应XY_POS_Z_VEL,水平面位置控制,高度速度控制;2对应XY_VEL_Z_POS,水平面速度控制,高度定高控制;3对应XYZ_VEL,空间速度控制;5对应TRAJECTORY,轨迹跟踪控制。

指点飞

  • 先在此终端输入0选择命令输入控制

    /images/指点一.png)

  • 根据终端提示,选择 4 move飞行模式,然后选择 0 空间位置控制,然后选择 1 BODY_FRAME惯性坐标系,最后输入期望的状态,空间位置xyz和航向角yaw。这里我们发送的指令是x为0,y为0,z为3,yaw为0。让飞机往前x轴飞行0m,往左y轴飞行0m,往上z轴飞行到3m,航向角保持不变发送为0。即让无人机飞到当前高度上方三米的地方。

    /images/指点依次输入.png)

  • 如图所示,无人机飞到了起飞点上方三米的位置处

    /images/飞到上方3米.png)

速度控制

  • 我们还可以继续输入命令进行速度控制和绕圆飞行。

    以下依次输入4 选择move,输入2 选择xy速度控制z位置控制,输入0 选择ENU_FRAME,输入1 表示x方向速度为1m/s,输入0 表示y方向速度为0m/s,输入3 表示高度为3米。

    /images/速度控制飞行.png)

    输完之后无人机会以1m/s的速度向前方飞行。

    /images/一米每秒.png)

    在我们想停止速度控制的时候可以在终端输入2 选择Hold,无人机会停在当前位置。

    /images/悬停指令.png)

  • 绕圆飞行

    然后我们可以开始绕圆飞行,我们依次输入4 选择move,输入5 选择TRAJECTORY,输入0 选择Circle也就是绕圆飞行,最后输入想进行绕圆飞行的时间,单位是秒。这里输入的100也就是100秒。

    /images/绕圆飞行.png)

    然后我们可以看到无人机开始绕圆飞行

    /images/绕圆飞行情况截图.png)

视频演示