主要内容

从PX4自动驾驶仪读取GPS数据

本例展示了如何使用PX4自动驾驶仪的无人机工具箱支持包从连接到PX4飞行控制器的GPS设备获取数据。金宝app

本例使用预定义的Simulink模型(金宝apppx4demo_readGPS),其中包含GPS块。GPS块通过读取vehicle_gps_positionuORB消息。

先决条件

所需的硬件

要运行这个例子,你需要以下硬件:

  • Pixhawk系列飞行控制器

  • Micro USB - b型电缆

  • GPS设备

  • Micro-SD卡(已使用期间初始硬件设置

  • Micro-SD读卡器

任务1 -在PX4系统启动时启用GPS模块

在本任务中,您将启用GPS模块作为PX4系统从SD卡启动的一部分。SD卡中已包含启动脚本rc.txt在命名为(添加文件rc.txt这个话题).

GPS模块在PX4自动驾驶仪的无人机工具箱支持包中提供的启动脚本(rc.txt)中默认启用。金宝app在这个启动脚本中,只在端口'/dev/ttyS3'上启用了主GPS设备。要在不同的串口上启用主GPS或启用备用GPS,请手动修改rc.txt。下表中显示了各单板上可用的GPS端口。

执行以下步骤手动修改rc.txt文件。

1.拆卸Pixhawk系列飞行控制器上的micro-SD卡。

2.使用micro-SD卡读卡器将micro-SD卡连接到主机。

3.编辑文件rc.txt出现在文件夹,更新GPS启动命令。

例如Pixhawk 4, GPS端口为'/dev/ttyS0'。要启用'/dev/ttyS0'上的GPS,请在启动脚本中更新GPS启动命令:

gps start -d /dev/ttyS0

请注意:为方便测试,如果您没有GPS设备,请添加以下一行:

GPS start -f

这将启动一个GPS模拟模块,复制一个真实的GPS数据。

4.保存rc.txt将micro-SD卡重新插入PX4飞行控制器中。

任务2 -在外部模式下配置和运行模型,并部署模型

在本任务中,您将配置和运行预定义的Simulink模型(金宝apppx4demo_readGPS)模型在外部模式下验证GPS数据。该模型包含读取的GPS块vehicle_gps_positionuORB话题。验证GPS数据后,将模型部署到PX4硬件板上。

1.从MATLAB命令提示符打开示例模型px4demo_readGPS。

open_system(“px4demo_readGPS”);

在示例模型中,GPS块用于读取GPS值。该块接收来自vehicle_gps_positionuORB消息,并输出所需的值。

2.双击GPS块。默认情况下,信号对应纬度经度,高度(实验室)作为输出。您可以通过选择相应的复选框将其他信号添加为输出。

注意:状态output指示uORB消息是否在前一个时间步中收到。值为0表示输出处的uORB数据是最新的,值为1表示在前一个时间步骤中接收到的uORB数据。此输出可用于触发子系统来处理uORB网络中接收到的新消息。

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

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

  • 设置硬件板到您在“硬件设置”屏幕中选择的相同PX4硬件板。

  • 目标硬件资源部分,设置构建选项构建、加载和运行自动将生成的二进制文件下载到连接的Pixhawk系列飞行控制器上。

  • 输入Pixhawk系列飞行控制器所连接的主机的串口用于上传固件的串口字段。

  • 外部模式窗格中,选择该选项外部模式使用与固件上传相同的主机串口

5.导航到解算器窗格并选择该选项将每个离散速率视为单独的任务.点击好吧

6.模拟选项卡,设置停止时间

7.将PX4飞行控制器的USB线缆连接到主机。

8.硬件选项卡,在模式部分中,选择在船上跑然后点击监视和调优开始信号监测和参数调优。

9.在Scope显示中验证输出GPS值。对应PX4飞行控制器当前GPS位置。

10.单击,停止监视和优化操作停止硬件选项卡。

11.硬件选项卡,在模式部分中,选择在船上跑然后点击构建、部署和启动.该型号部署在PX4硬件板上。