matlab simulink系列教程(3-1): UAV工具包支PX----例子使用 从PX4中读取GPS信息

从和飞控连接得GPS设备上读取GPS传感器数据

在PX4系统启动中使能GPS模块

编辑 SD 卡中的 rc.txt, 在最后加上下面语句

gps start

如果没有GPS 传感器,增加下面的语句

gps start -f

这个会开始一个GPS simulink 模块,该模块会复制一个真实的 GPS 数据
再重新将 SD 卡插入到飞控内部,进行下面的执行操作

初始化且运行外部模块和配置该模块

open_system(‘px4demo_readGPS’);
matlab simulink系列教程(3-1): UAV工具包支PX----例子使用 从PX4中读取GPS信息
这个图片内的 GPS block, 接收来自 vehicle_gps_position uORB 消息的信号,输出需要的值;其中的高度值是MSL,即平均海平面(mean sea level)

双击该模块之后,选择需要获取的数值:
matlab simulink系列教程(3-1): UAV工具包支PX----例子使用 从PX4中读取GPS信息
进入设置选项
matlab simulink系列教程(3-1): UAV工具包支PX----例子使用 从PX4中读取GPS信息
matlab simulink系列教程(3-1): UAV工具包支PX----例子使用 从PX4中读取GPS信息
matlab simulink系列教程(3-1): UAV工具包支PX----例子使用 从PX4中读取GPS信息
matlab simulink系列教程(3-1): UAV工具包支PX----例子使用 从PX4中读取GPS信息
设置了上面的内容之后,连接飞控到电脑上,点击 Monitor & Tune(开始信号监控及参数调整)

《当下面的 选项没有加载出来的时候, 进行重新进入 model setting 界面,点击apply 之后 ok 》
matlab simulink系列教程(3-1): UAV工具包支PX----例子使用 从PX4中读取GPS信息
点击之后,等待一段时间,会出现错误
matlab simulink系列教程(3-1): UAV工具包支PX----例子使用 从PX4中读取GPS信息
这个可能是因为我的飞控硬件内部没有 GPS 传感器吗?==》 不是,是因为我的端口被占用,因为我打开了QGC,导致端口被占用,Matlab 连接不上,关闭之后的执行现象如下:
matlab simulink系列教程(3-1): UAV工具包支PX----例子使用 从PX4中读取GPS信息

同样,点击matlab simulink系列教程(3-1): UAV工具包支PX----例子使用 从PX4中读取GPS信息
该按钮,也会将生成的代码自动写入到 板子上。

总结:

在每一次的 Monitor& Tune 之后,都会弹出一个窗口,点击确定,五秒内插拔飞控,继续执行;这个应该是生成代码自动写入到飞控内部,需要重新reboot,但是 5秒内的插上去的原因可能是 matlab 检查不到端口信息 五秒之后,就会关闭程序。

上一篇:一线大厂常用的六大vue自定义指令合集之节流v-throttle


下一篇:一群飞行机器人探索未知环境的最小导航方案(UAV-2019)