在现代工业、环境监控和城市安防应用中,多机器人系统(MRS)的应用日益广泛。相较于单一机器人系统,多机器人系统在执行复杂任务时不仅效率更高,而且对单一故障的鲁棒性更强。本文介绍了Tello无人机编队控制方法,设计了五架无人机的编队任务,并在物理中进行了实现。
通讯接口
可使用官方的Tello SDK通过电脑或手机无线2.4 GHz 802.11n WiFi连接控制无人机。无人机控制指令主要是通过UDP端口发送文本消息来实现。总的来说,与Tello无人机通信有三个基本的数据流:
-
命令上行流,可以发送文本命令直接控制飞行。SDK支持多种命令,从简单的平移和旋转到执行更复杂的飞行轨迹,比如沿曲线飞行。该协议还提供了确认机制,无人机的飞行控制器会返回一系列错误代码。
-
状态数据和遥测下行流,向用户提供基本的Tello遥测数据,比如横滚-俯仰-偏航定位、平移速度、加速度、电池电量以及通过气压和飞行时间传感器得到的当前高度信息。
-
视频下行流,利用机载720p 30 fps摄像头,可以像访问标准IP摄像头视频流一样独立访问。
速度控制器设计
根据给定速度与无人机的实际飞行速度,进行数据采集与系统辨识,下图为采集数据的曲线图,四个曲线图分别代表无人机在X、Y、Z轴的速度和Yaw角度的变化,将无人机的设定速度(红色实线)和实际飞行速度(黑色虚线)进行了比较。
采用Matlab系统辨识工具箱根据采集的输入输出数据进行运动学模型辨识,得到以下的辨识结果,并利用PID控制器参数整定工具箱进行控制器参数整定,得到如下控制器参数
经过PID控制器作用后的系统响应曲线如下图:
编队实现
定位阶段:对于编队中的每个机器人𝑖,其中𝑖=1,2,3,4,5,参考位置𝑝𝑟𝑒𝑓[i]计算公式如下: