需要#include <dji_control.hpp>
(目前只使用过下面中的部分指令)
(1)action() (有两个)
车辆基本动作指令,见FlightCommand对CMD的选择。
(2)angularRateAndVertPosCtrl() //控制姿态角
控制姿态率和车辆的垂直位置。姿态率指的是姿态的变化率,而垂直位置是硬性控制,输入准确数值.
(3)armMotors()
用于装备电机包装函数
(4)attitudeAndVertPosCtrl()
控制姿态和车辆的垂直位置。姿态控制无人机在高度不变情况下的无人机机身的倾斜度,即向左偏就向左飞行,向前偏就向前飞行。而垂直位置是硬性控制,输入准确数值.
(5)disArmMotors()
为解除电机包装函数
(6)emergencyBrake()
停止车辆在HORIZ速度,VERT速度,偏航率模式(主体框架)
(7)flightCtrl()
控制使用用户指定的模式下的车辆上。该函数可以以自己编写控制飞行模式的方式控制无人机飞行。最是灵活,但是也麻烦。
(8)goHome()
为回家包装函数
(9)killSwitch()
打开或关闭切断开关
(10)land()
包装登陆功能,即降落指令,经过测试,无人机在距离地面十米的高度时,调用该命令就可以完成降落的全过程,不需要无人机降落到制定高度,再调用。
(11)positionAndYawCtrl()
控制车辆的位置和横摆角。参考帧是DJI :: OSDK ::控制:: HORIZONTAL_GROUND(NEU)。调用该函数的前提是获得无人机控制权限,即模板中的“vehicle->obtainCtrlAuthority(functionTimeout);”这一句。但是该函数调用时,一方面是需要GPS配合,二是每个飞行动作间有不小的停顿间隔。
(12)takeoff()
包装功能起飞。即起飞指令,调用后会在1米高度处停止。
(13)velocityAndYawRateCtrl()
控制所述车辆的速度和横摆率。参考帧是DJI :: OSDK ::控制:: HORIZONTAL_GROUND(NEU)。