1.可以通过监控Topic: thing/product/{gateway_sn}/events,method为drc_status_notify上报的状态是否为2(已连接)
2.若events未上报该状态可以监控机场的osd状态上报的drc_state:2(已连接)做补偿。
3.若以上都无法获取,可以通过心跳判断drc是否链接。业务方可以通过心跳协议判断 DRC 链路是否活跃,若一定期间未收到心跳回应可以判定 DRC 链路异常,对于 DRC 异常情况可以发起重试。若超过 1 分钟未收到业务方发送心跳协议,设备将会认为 DRC 链路处于空闲退出 DRC 链路。
注1:进入指令飞行控制必须先抢夺飞行控制权,可以监控下无人机state上报的control_source是否为A控:机场
注2:维持drc状态需要保证drc心跳:飞控系统会关注心跳频率的稳定性,建议频率1Hz,即1秒1个包
注3:使用drone_control下发飞行控制时,只要 x、y、h、w 任一参数发生变化,seq 就需要从 0 开始增长, x、y、h、w可以选择其一进行发送。
注4:drone_control这个指令较为特殊,失败才会收到回包(drc/up)
注5:航线中不允许使用指令飞行(drc/down)相关操作,需要暂停航线或航线结束后才能调用。
注6:若用户无法监控到drc_state的状态,可以在接收到机场drc_mode_enter回复的result:0后开始下发心跳
注7:若使用drone_emergency_stop急停指令后,drone_control的seq需要从0开始并递增
评论
0 条评论
请登录写评论。