macheng0824 发表于 2024-12-3 17:23:25

把树莓派当作无人机的数传和图传

使用树莓派作为数传和图传,把飞控的遥测(Mavlink)数据和摄像头视频通过WIFI网络转送到远端的地面站。这种应用方式是基于Rpanion-server软件实现的。Rpanion-server是一款开源软件,可以安装在任何具有Linux(或者基于Linux开发的操作系统,如Ubuntu,raspberry)操作系统的电脑上,它提供了一个基于Web的界面,在界面上可以配置树莓派网络、遥测路由参数、摄像头视频参数和从连接的飞行控制器进行日志记录。在树莓派上安装了这个软件之后,你可以在地面用电脑去连接树莓派的WIFI网络,从而去获取无人机的遥测信息,并控制飞机起降,航线规划等;还可以查看无人机上摄像头的视频。Rpanion-server的逻辑拓扑结构如下图:

硬件准备

(1)树莓派3或4,Pi2可能也可以,手头没有,没试过。
(2)树莓派CSI摄像头
(3)USB读卡器
(4)Pixhawk系列飞控一套,目前最新的型号是FMUV6X,这里用Pixhawk4-Mini来举例。
(5)电脑

软件准备

(1)集成Rpanion-server软件的树莓派操作系统镜像,下载地址如下:
https://github.com/stephendade/Rpanion-server/releases/download/v0.7.0/Rpanion-Server-0.7.0-RasPiOS.img.xz
有志于研究的读者,可以从GitHub下载源码,在树莓派上编译安装。
(2)镜像烧写软件Balena etcher, 下载地址如下:
https://www.balena.io/etcher/
(3)gstreamer-1.0-msvc-x86_64-1.18.4,一个创建流媒体应用程序的插件,想要在地面站上显示摄像头视频,需在运行地面站的电脑上安装此插件。无人机端的树莓派镜像已包含此插件,不需用户自己安装。
(4)QgroundControl地面站软件Rpanion-server的安装和设置

(1)准备一张8G MicroSD卡,通过读卡器接到电脑;
(2)安装并打开Balena etcher,点击“Flash from file”选择之前下载的树莓派操作系统镜像,烧写设备(Select target)选择接入的8G卡,点击“Flash”开始烧写;

(3)等待烧写完成后,把卡插入树莓派,接USB TypeC线上电,等待1~2分钟,树莓将启动完毕。你可以通过树莓派的MicroHDMI接口连接一个显示器来看是否启动完成。如果正常启动,你会在显示器上可以看到系统启动到登录界面,如下图:

(4)在电脑上搜索WIFI,你会看到一个SSID为rpanion的网络,密码为rpanion123。

(5)连上它之后在浏览器访问http://10.0.2.100:3000地址,你将登录到Rpanion-server的设置页面。

(6)点击Flight Logs页面,设置树莓派如何处理飞控发出的遥测数据。Telemetry Logs是记录全部遥测数据,Bin Logs是只记录飞行日志,飞行日志包含在遥测数据包里面,默认就自动记录。如果你希望在树莓派上把全部遥测数据存下来,可以勾选Enable Telemetry Logging,在File Name那一栏将看到记录的日志文件。

(7)点击Flight Controller页面,设置树莓派串口的参数,从而能够正确接收飞控发出的遥测数据。
Serial Device指定树莓派的串口号,当前版本镜像只支持serial0一个串口;
Baud Rate设置串口波特率,尽量选择921600,速率越高连接速度越快;
MAVLink Version选择2.0,除了非常老版本固件的飞控,这两年的版本几乎全部都已经支持到2.0了;MAVLink dialect选Ardupilot;
UDP Outputs这里要新增加一个连接,用于地面站和树莓派的互联。点击Add,在弹出的窗口输入“运行QGroundControl地面站”的电脑的IP地址(电脑连接树莓派网络后,在命令行窗口用ipconfig可获得IP地址),端口号固定14550。




设置好了之后点击Start Telemetry即开始遥测数据的记录和转发。需注意的是,这些设置会保存在SD卡上,下次上电启动会自动运行,不需要再次设置。(8)点击NetWork Config可以进行网络设置,包括WIFI网络SSID,密码,树莓派的IP地址等,这里不再详述。

(9)点击Video Streaming进行摄像头和视频传输设置。
https://make.quwj.com/storage/uploads/images/16160/1616080872comje39gzt.png到此,树莓派的软件安装和设置就结束了,断电进入下一步。飞控设置

在电脑上安装好QgroundControl和gstreamer之后,用USB数据线把飞控连接到电脑,然后打开QgroundControl对飞控进行设置。
(1)设置飞控遥测数据接口参数
飞控要跟树莓派连接成功,需保证两边的串口参数设置一致。在本例中我们用的是飞控的Telemetry1接口,使用其它Telemetry接口设置方法类似。
使用默认的1200B MAVlink数据包发送速率会导致带宽不足而频繁报错,所以先要把数据包发送速率设置到9600B以上;

在parameters-》MAVlink页面下设置数据包速率

然后在parameters-》serial页面把Telemetry1串口波特率设置到921600.

设置完了之后,要重启飞控(断电或软重启都可以),使参数生效。(2)设置视频输入源
Qgroundcontrol支持RSTP视频流输入,只需要在general页面去设置Video参数即可。
Video Source选择RTSP Video Stream方式
RSTP URL填入树莓派Video Streaming设置页面给出的链接“rstp://10.0.2.100:8554/video”
Aspect Ratio是视频宽高比,大部分摄像头都是16:9宽屏,使用默认的1.7777即可。如果你的摄像头不是16:9宽高比,请按实际值填入,否则画面比例会失真。

到这里,飞控的设置就结束了,从飞控拔下USB线,进入下一步。5,装机和连线
先把各个模块装到机架上,再按下图的连线关系把各模块连接起来。



装机完成图

连接QGC地面站

装机完成后,接上电池上电,等飞控和树莓派启动完毕后,电脑连接树莓派的WiFi,然后打开QGC软件,你会发现飞控会自动连接,等连接进度条走完后,你会看到飞控的一个摘要信息,如下画面:

鼠标点击切换到飞行页面,你将看到摄像头视频已经叠加显示在地图上,用手动一下飞机,你会看到飞机的姿态会跟着变化。

到此,基于树莓派的图传和数传就完成了。不过由于树莓派上的WIFI模块发射功率不大,且天线集成在板上增益也不大,所以通讯距离有限,笔者在城市空旷地测试过树莓派3B和4B,通讯距离都只有50米左右,可能在电磁环境好的野外,通讯距离会增加。这只是树莓派的一个简单应用,能够完成自主避障是下一步的目标。
https://mmbiz.qpic.cn/mmbiz_png/ym6yctKGFyX5pme4TxLicyFiah5khQoIhIPV9fXlf82Jamg0S3ibUOaiadIancERbHT0q5ib3uCUuM2vwqI29ibGXglg/640?wx_fmt=other&wxfrom=5&wx_lazy=1&wx_co=1&tp=webp

● 铁路无线通信如何做到“电波永不消逝”?揭秘

● TK-3601D:健伍KENWOOD发布的最小无线电台

● 铁路无线通信如何做到“电波永不消逝”?揭秘

● 北斗天地公司与华为公司联合研发协同对讲机通讯系统

页: [1]
查看完整版本: 把树莓派当作无人机的数传和图传