此示例显示如何使用UAV Toolbox支持包PX4 AutoPilots,使用Pi金宝appxhawk系列飞行控制器发送和接收串行数据。
本例使用一个简单的协议从主机向Pixhawk Series飞行控制器发送数据请求,并从飞行控制器接收所请求的数据。
PX4自动驾驶仪的UAV工具箱支金宝app持包包含串行接收和串行传输块,可帮助您在PixHawk系列飞行控制器上通过UART或USART端口接收和发送串行数据。
要查看方块,请进入px4lib.
在matlab提示符。
px4lib;
在本例中,我们使用预先配置的PX4串行发送和接收模型
以及与自定义脚本一起getaccelerometerdata.m.
从主机发送和接收串行数据。该模型使用串行传输和串行接收模块来交换数据。
PX4串行传输和接收模型:该模型中,Pixhawk系列飞行控制器使用串行USB数据线将加速度计数据发送到主机。数据仅在收到来自主机(运行自定义脚本getaccelerometerdata.m.)的请求时发送。
open_system (“px4demo_serial”);
GetAccelerometerData.m:使用此脚本,主机请求PIXHawk系列飞行控制器发送其加速度计数据,并在收到时显示加速度计值。在MATLAB中运行以下命令以打开文件:
编辑(fullfile (codertarget.pixhawk.internal.getSpPkgRootDir px4examples, getAccelerometerData.m)
在这个例子中,你将学习如何:
创建和部署可以发送和接收串行数据的Sim金宝appulink模型。
创建一个简单的协议以交换序列数据。
如果你是新的模拟,请注意金宝app金宝app仿真软件快速入门视频。
执行初始设置和配置任务使用Hardw金宝appare Setup屏幕来获取支持包。
要运行此示例,您将需要以下硬件:
Pixhawk系列飞行控制器
Micro USB b型线
Micro-SD卡(已经在此期间使用最初的硬件设置)
1。使用USB电缆将PIXHAWK板连接到主计算机。
2。打开PX4串行发送和接收模型
。该型号配置为使用PX4 Pixhawk系列板。
3.在造型选项卡,单击模型设置。
4.在“配置参数”对话框中,导航到硬件实现面板:
设定硬件板到在硬件设置屏幕期间选择的相同PIXHAWK系列控制器。
在目标硬件资源节中,打开构建选项窗格,并输入连接Pixhawk系列飞行控制器的主机的串行端口,在串口用于固件上传场地。
5。从目标硬件资源下的组列表中,选择/ dev / ttyacm0。
6。要知道板上提到的串口之间的映射,请单击查看端口地图。
7。将波特率设置为115200.奇偶校验,没有一个并停止钻头1。
8。点击申请,然后好吧关闭对话框。
在Simuli金宝appnk模型中,双击以下模块,验证指定的参数值是否相同,如下图所示:
主模型中的串行接收块
Send Header子系统中的报头块(常量)块
发送头子系统中的串行传输块
*发送Accel数据子系统中的串行传输块
笔记:必须设置标题(发送标题子系统内部的常量块)[5 5]的uint8.数据类型。这是因为GetAccelerometerData.m脚本,它从PX4串行发射和接收模型接收数据,期望标题是[5 5]
。
笔记: 这采样时间标题中指定的参数(发送标题子系统中的常量块)和PX4加速度计块(内部发送ACCEL数据子系统)必须设置为-1。
此模型使用简单的协议来在硬件和主机之间交换数据。
getAccelerometerData。m脚本在MATLAB中向Pixhawk Series飞行控制器发送请求。主机发送的请求数据格式为HEADER_HOST+DATA_REQUEST。
运行在Pixhawk硬件上的PX4串行传输和接收模型接收上述数据并解析它,通过剥离HEADER_HOST获得DATA_REQUEST。一旦确认该请求是真实的,Pixhawk硬件将加速计数据以HEADER_PIXHAWK+ACCEL_DATA的形式发送回主机。
在MATLAB上执行的GetAccelerometerData.M在MATLAB上接收上述数据,并解析它以通过剥离标题_PIXHAWK来获取Accel_Data。
1。打开PX4串行发送和接收模型。
2。在硬件选项卡,单击构建,部署和启动。
模型窗口的左下角显示Simulink准备,下载并在硬件上运行模型时的状态。金宝app
3.打开getaccelerometerdata.m.
在MATLAB。确保在第14行中定义的端口与在构建选项窗格(配置参数对话框的),如上面的任务1,步骤4所述。
4.在MATLAB中执行GetAccelerometerData.M脚本以查看加速度计值。例如,加速度计值可能如下所示:
加速度计数据(x | x)在m / s ^ 2:0.12 |0.03 |9.74
5。更改PIXHAWK硬件板的方向,然后重复步骤4以查看更新的加速度计值。
通过使用Header-Terminator协议在Pixhawk硬件和主机之间交换数据来增强示例。
配置PX4串行传输和接收
模型通过Pixhawk系列控制器的其他串行端口交换数据。
创建一个Simul金宝appink模型,使用仪器控制工具箱中的串行接收和串行发送模块在主机和Pixhawk系列飞行控制器之间交换串行数据。