主要内容

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

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

该示例使用预定义的Simulink模型(px4demo_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)中启用。在这个启动脚本中,只有主GPS设备在端口'/dev/ttyS3'上启用。若要在不同的串口上启用主GPS或启用备用GPS,请手动修改rc.txt。下表显示了各单板可用的GPS端口。

请执行以下步骤手动修改“rc.txt. 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 -s

请注意:为了测试目的,如果您没有GPS设备,请添加以下行:

全球定位系统(gps)开始- f

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

4.保存rc.txt文件,将micro-SD卡插回PX4飞行控制器。

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

在本任务中,您将配置并运行预定义的Simulink模型(px4demo_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.验证范围显示中的输出GPS值。对应PX4飞行控制器的当前GPS位置。

10.通过单击停止监视和调优操作停止硬件选项卡。

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

Baidu
map