使用TCP/IP和UDP与Parrot Minidrone通信
本示例展示了如何使用Parrot迷你无人机的Simulink®支持包中的TCP/IP和UDP通信块。金宝app金宝app这些模块用于控制无人机的电机速度,并可视化来自无人机的加速度计传感器数据。
简介
Parr金宝appot迷你金宝app无人机的Simulink支持包提供了一个TCP/IP和UDP通信块库,使您能够在Parrot迷你无人机和主机之间建立TCP/IP和UDP连接。
查询TCP/IP和UDP通信块信息。
1.输入slLibraryBrowser
在MATLAB®提示符。
2.在Simuli金宝appnk库浏览器中,导航到金宝appParr金宝appot迷你无人机的Simulink支持包.您可以看到TCP/IP发送和接收块以及UDP发送和接收块。
open_system (“parrotlib”);
在这个例子中,你将学习如何使用TCP/IP和UDP块来:
使用TCP/IP连接控制与Parrot微型无人机上的电机连接的螺旋桨的速度
使用UDP连接将加速度计传感器数据从无人机发送到主机
使用主模型中的Scope来可视化加速度的变化。
本例中使金宝app用的Simulink模型是:
目标通讯模型(parrot_communication) -这个模型是运行在鹦鹉迷你无人机。
主机通讯模式(parrot_communication_host-此模型在主机上运行。
先决条件
如果您是Simulink新手,请填写金宝app交互式Simulink教金宝app程.
若要在Parrot微型无人机上设置金宝app和运行Simulink模型,请遵循中描述的示例旋转马达的鹦鹉迷你无人机没有飞行无人机.
所需的硬件
要运行这个例子,你需要以下硬件:
鹦鹉滚动蜘蛛或鹦鹉曼波迷你无人机与充满电的电池和螺旋桨连接到电机
Micro USB - b型电缆
蓝牙低能耗(BLE) 4.0支持主机金宝app
任务1 -在Parrot Minidrone上配置和部署Simuli金宝appnk模型
本任务演示如何在Simulink模型中配置TCP/IP和UDP块的输入和输出端口,然后将模型部署到Parrot迷你无人机上。金宝app
1.打开目标通信模型(parrot_communication)从MATLAB命令提示符。
open_system (“parrot_communication”);
2.打开“Flight_Control_System”子系统。输出端口数据TCP/IP Receive块连接到Concatenate块的输入端口1和3。串联输入端口对应于分配给电机的RPM值。
3.双击TCP / IP接收块。的本地IP端口值设置为25000
,与主机通信模型中的TCP Send块上的远程端口匹配(parrot_communication_host).的数据类型设置为双
而且数据大小设置为1
.确保数据类型而且数据大小主机模型中的参数与目标模型中的参数设置相同。
的连接模式的TCP/IP接收块服务器
或客户端
.对于这个模型,连接模式被设置为服务器
.这是因为,在主机Simulink模型中,我们使用TCP S金宝append块作为客户端。点击好吧保存并关闭该块。
4.双击UDP发送块。的远端IP地址为主机蓝牙接口的IP地址。使用默认地址,192.168.3.2
.的远程IP端口参数设置为29000
来匹配主机Simulink模型中的UDP Receive块中的本地端口。金宝app点击好吧保存并关闭该块。
5.在Simulink模型窗口的工具栏上,单击金宝app部署到硬件图标。
6.如果您已选择建立后自动启动鹦鹉飞行控制界面选项中的“配置参数”(硬件实现面板>目标硬件资源>构建选项),在成功完成构建后,Parrot飞行控制界面会自动打开。
您也可以从命令行打开Parrot飞行控制界面
>>Parrot_FlightInterface
想了解更多关于Parrot Flight Interface的信息,请点击这里部分.
任务2 -在主机上运行通信模型
在本任务中,您将在主机计算机上配置并运行一个Simulink模型,以与部署在无人机上的金宝app目标模型通信。
主机Simulin金宝appk模型的功能如下:
启动无人机上的电机1和3
使用旋钮块发送不同的电机速度输入到无人机上运行的目标模型
接收目标模型发送的传感器数据
请注意:主机Simulink金宝app模型使用TCP/IP块和UDP块仪表控制工具箱在Simuli金宝appnk库浏览器中。该模型使用TCP/IP发送启动电机和改变电机速度的命令,并使用UDP接收来自无人机上加速度计传感器的数据。
1.打开主机通信模型(parrot_communication_host)从MATLAB命令提示符。
open_system (“parrot_communication_host”);
2.双击UDP接收块。此块被配置为接收运行在Parrot迷你无人机上的模型发送的UDP数据包。的本地端口设置为29000
,输出数据类型设置为单
以匹配传感器值类型。点击好吧保存并关闭该块。
3.双击TCP / IP发送块。此块配置为将25000端口上的数据包发送到192.168.3.5
,即“鹦鹉滚动蜘蛛”迷你无人机的IP地址。如果您正在使用鹦鹉曼波迷你无人机,将地址更改为192.168.3.1
.点击好吧保存并关闭该块。
4.在飞行控制界面(在任务2中启动),单击开始.无人机上部署的目标模型开始向主机29000端口发送UDP报文。无人机还准备在端口25000接收TCP/IP数据。
您可以通过执行重新启动接口Parrot_FlightInterface
在MATLAB命令窗口。
5.在主机模型Simulink窗口的工具栏上,单击金宝app运行图标来模拟模型。你将观察到连接到电机1和3的螺旋桨开始旋转。
6.改变旋钮在主机型号的位置,以控制电机的速度。注意螺旋桨在延迟一段时间后速度的变化。
注意:
主机上的金宝appSimulink模型不能实时运行。因此,我们可能会注意到螺旋桨的速度变化有一些延迟。你可以使用设定的速度来自Aerospace Blockset/Animation Support U金宝apptilities的block或来自此的实时块MATLAB文件交换页面。
7.双击范围块,查看Parrot Minidrone在Z方向感应到的加速度变化(向下方向Z值为正)。改变无人机从地面的位置(抬高或降低无人机)。双击范围块观察传感器值的变化。
其他事情尝试TCP/IP和UDP块在Simulink支持包鹦鹉迷你无人机金宝app金宝app
创建并运行一个模型,当无人机向前倾斜时增加电机速度,当无人机向后倾斜时降低电机速度。提示:使用来自输入端口的加速度计数据传感器来确定倾斜角度。