主要内容

使用PX4自动驾驶支持包发送和接收串行数据金宝app

此示例显示如何使用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模型。

  • 创建一个简单的协议以交换序列数据。

先决条件

需要硬件

要运行此示例,您将需要以下硬件:

  • Pixhawk系列飞行控制器

  • Micro USB b型线

  • Micro-SD卡(已经在此期间使用最初的硬件设置

任务1 - 配置PIXHAWK硬件的型号

1。使用USB电缆将PIXHAWK板连接到主计算机。

2。打开PX4串行发送和接收模型。该型号配置为使用PX4 Pixhawk系列板。

3.造型选项卡,单击模型设置

4.在“配置参数”对话框中,导航到硬件实现面板:

  • 设定硬件板到在硬件设置屏幕期间选择的相同PIXHAWK系列控制器。

  • 目标硬件资源节中,打开构建选项窗格,并输入连接Pixhawk系列飞行控制器的主机的串行端口,在串口用于固件上传场地。

5。从目标硬件资源下的组列表中,选择/ dev / ttyacm0。

6。要知道板上提到的串口之间的映射,请单击查看端口地图。

7。将波特率设置为115200.奇偶校验,没有一个并停止钻头1

8。点击申请,然后好吧关闭对话框。

任务2 - 在Simulink模型中配置块金宝app

在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。

任务3 - 将模型部署到硬件并在MATLAB中获取加速度计值

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系列飞行控制器之间交换串行数据。