飞行控制
概述
使用 PSDK 的无人机飞行控制功能,能够设置并获取无人机各项基础参数,控制无人机执行基础飞行动作。
基础概念
无人机基础信息
PSDK 开放了设置无人机基础参数的接口,开发者通过设置并获取无人机的基础参数,能够实现对无人机的精准控制:
- 设置无人机的返航点和返航高度。
- 设置失控行为。
具有信息管理功能的应用程序,能够方便用户获取无人机基础参数的信息:
- 获取无人机返航点和返航高度。
无人机基础飞行动作
无人机的基础飞行动作主要包含无人机起飞、降落和无人机返航三类,开发者使用 PSDK 提供的接口,即可根据实际的控制需求,控制无人机执行指定的飞行动作。
功能类型 | 基本功能 | 功能说明 |
---|---|---|
起飞和降落 | 自动起飞 | 使用该功能时,无人机会自动起飞 |
自动降落 | 使用该功能时,无人机会自动降落 | |
取消自动降落 | 使用该功能时,无人机在下降过程中会停止降落,并悬停在空中 | |
强制降落 | 无视降停面的状态,强制无人机降落(降落速度较快) | |
无人机返航 | 返航 | 使用该功能时,无人机会自动返航 |
取消返航 | 使用该功能时,无人机会悬停在空中 |
说明
- 不同型号的无人机在执行起飞、降落和返航动作时的高度可能会有差异,详情请参见选购机型的用户手册。
- 无人机解锁后,若未接收到起飞指令,无人机将自动上锁,螺旋桨会停止旋转,若无人机解锁失败,请根据错误码查询解锁失败的原因。
使用飞行控制功能
使用无人机飞行控制功能需要先初始化飞行控制模块,再设置无人机的基础参数。
说明:
1. 初始化飞行控制模块
在使用飞行控制功能的相关接口之前,需要先调用 UAV_FlightControl_Init
接口初始化飞行控制模块。
returnCode = UAV_FlightControl_Init(ridInfo);
if (returnCode != true) {
LOG_ERROR("Init flight Control sample failed,error code:0x%08llX", returnCode);
return returnCode;
}
2. 获取和设置无人机参数
在控制无人机自动飞行之前,需要先检查和设置无人机的相关参数,飞行控制模块提供了一系列 Set 和 Get 的接口,可以获取和设置无人机参数,实时生效。以失联行为示例
iRet = UAV_FlightControl_SetRCLostAction(UAV_FLIGHTCONTROL_RC_LOST_ACTION_GOHOME);
CHECK("set rc lost action", iRet);
E_FLIGHTCONTROL_LCLOST_ACTION action;
iRet = UAV_FlightControl_GetRCLostAction(&action);
CHECK("get rc lost action", iRet);
3. 控制无人机执行基础飞行动作
开发者使用 PSDK 提供的接口,即可根据实际的控制需求,控制无人机执行指定的飞行动作。考虑到飞行控制安全,建议通过数据订阅订阅相关的无人机参数进行闭环检查和控制,确保飞行动作执行正确。
T_UAVReturnCode uavStat;
//! Start takeoff
uavStat = UAV_FlightControl_StartTakeoff();
if (uavStat != true) {
USER_LOG_ERROR("Request to take off failed, error code: 0x%08X", uavStat);
return false;
}