周末听人讨论了半天的无人机控制,各种名词都是头一回听闻,于是搜索了一番,记录一下。
陌生的新名词
- mission planner。地面控制站的一种。
- QGroundControl。地面控制站的一种。
- Pixhawk:飞行控制器的一种,即飞控。
- mavlink。控制协议。
- 地面站 (Ground Control Station)
QGroundControl
QGroundControl(QGC)是一个开源无人机地面站(Ground Control Station)系统。由 Qt 开发的界面部分,可以运行在 Windows、Mac OS、Linux 及 Android 和iOS 等主流操作系统上。QGC 通过 MAVLink 协议对 APM 或者 Pixhawk 飞行控制器发送控制指令,并回传状态信息。
QGroundControl 与飞行器通信的方式:
- 电脑接无线天线,无线连接飞行器
- usb 直连无人机
从资料看,QGC 是支持 tcp udp 协议的。
QGC 支持的飞行器上限:
https://github.com/mavlink/qgroundcontrol/issues/7225
The max number of vehicles supported by QGC is currently 7. Also the current code is not very helpful when you exceed this max it just stops connecting. I'll look at making this better in 3.6
http://docs.px4.io/master/en/simulation/multi_vehicle_simulation_gazebo.html
This will get you to around ~250 vehicles. I will start there
4G VPN 组网
https://blog.csdn.net/qq_26550927/article/details/116673472
mission planner
mission planner 相对 QGroundControl 看起来用的更多一些,是另外一款地面控制站。由 C# WinForm 开发,理论上只支持 Windows 系统。虽然 Mission Planner 也能通过 mono 运行在 Linux 与 MacOS 上,但这个靠谱么?
我看 mission planner 是支持4轮车的。mission planner 的文档更多一些。
qgc 主要用于 px4 固件的飞控多一些,而 mp 地面站使用 apm 固件多一些。
Pixhawk
Pixhawk 是第一款专门为 PX4 自驾软件而设计的无人机飞控。
mavlink
mission planner 与 QGC 一样,两者的协议都是采用 mavlink。
有各种编程语言的实现,当然也有 golang 的实现:
https://github.com/aler9/gomavlib
mavlink 转发
https://ardupilot.org/mavproxy/docs/getting_started/forwarding.html
一些不成熟的想法
- 把 qgc 放进每个机械设备中,例如树莓派,然后与服务器通信
- 或者 qgc 本身就支持远程、多机模式,把 qgc 就作为一个server,做控制及显示改造。但是有飞行器数量上限。
参考
- https://www.cfanz.cn/mobile/resource/detail/OBMqXkXYjrOro
- https://blog.csdn.net/qq_26550927/article/details/106220881
- https://blog.csdn.net/JeffersonZHabc/article/details/101195257
- https://stackoverflow.com/questions/62195590/is-this-possible-to-invoke-the-method-of-qgroundcontrol-from-a-djangopython-we
- APM 的介绍:https://www.21ic.com/article/844660.html
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式