PX4无人机配置4G空地多机组网系统
前言
使用4G网络实现无人机地面端与天空端实时通信,并基于蒲公英cloudVPN组网技术实现广域网内的异地组网,进一步实现不限制距离的空地多机远程组网系统。
cloudVPN组网无需公网IP,需要注册一个花生壳账户,并将蒲公英X1盒子绑定到账户中,另外,还需要给访问端的电脑安装蒲公英访问端并登录账户绑定软件成员。
该方法的优势:不受公网IP的限制,以及不受距离的限制,理论上可以实现4G信号覆盖范围内的任意组网远程连接。
已有方案对比
PX4和Ardupilot官方均有通过4G LTE进行VPN组网的相关教程,采用zerotier实现。
Companion Computer Peripherals | PX4 User Guide
缺点:
- zerotier服务是开源的,采用基于P2P的技术实现VPN组网,相对于闭源的蒲公英组网方案来说延迟较大,而且无法通过硬件的指示灯状态判断当前组网情况。
- 国内由于网络等限制,zerotier服务可能不稳定,容易出现空中断联等情况。
优点:
- zerotier服务免费,不限制登录设备。
- 无需组网路由器,直接将4G LTE上网卡插入到机载计算机,设置zerotier组网服务开机启动即可。
注意事项
- (重点)4G网络可能存在一定的不稳定性,为了保证安全的前提下,建议至少安装另外一套远距离数传,并保持飞行全程实时连接至备用地面站。
- 蒲公英组网免费配置最多只能连接一个硬件端和两个软件端,这里我们配置X1组网盒子为硬件端,两个软件端分别配置为平板电脑端和地面站计算机端。
- 4G上网卡的IP地址默认为192.168.8.1,但是不要误认为该上网卡负责DHCP和DNS服务,而将蒲公英X1组网盒子设为旁路模式(具体什么是旁路可以搜一下)。正确的做法是将X1盒子设置为路由器模式,由X1盒子分配DHCP和DNS。
- 异地组网一定要先打开组网访问端,并确定参与组网的硬件设备和软件成员是否在线,可以先互相ping一下看看是否组网成功。
硬件配置
这里我们以一套天空端和一套地面端为例:
- 天空端:
Holybro Pixhawk 4飞控(pix系列飞控都可以,不限制)
采用4G上网卡+蒲公英X1组网盒子实现天空端4G网络功能
机载计算机为jetson xavier nx,通过千兆网线连接到蒲公英X1组网盒子
无线数传采用insight数传(最好是传输距离>2km的)
4G上网卡推荐型号:华为EC3372-871
注:4G上网卡型号有具体要求,可参考蒲公英X1手册说明 - 地面端:
采用4G无线路由器实现地面端4G网络功能(也可使用普通路由器,具体取决于功能)
地面端计算机为Thinkpad E450,安装Ubuntu 18,04操作系统,通过千兆网线连接到4G无线路由器
飞手端平板电脑采用小米平板4plus,通过WiFi连接至数传地面端
4G路由器推荐型号:华为B315s-936
注:4G路由器无具体要求,建议使用千兆路由器
天空端和地面端各自需要一张物联网卡。
软件配置
一、蒲公英X1组网盒子配置3G/4G USB适配器
具体配置方式可参考如下链接:
蒲公英X1上网方式设置说明
以下摘录出需要我们配置的内容,供大家参考:
◆接线:
使用USB上网适配器上网时,接线如下图:
这里连接电脑的部分改成连接jetson xavier nx
**①将3G/4G USB上网适配器接入蒲公英X1侧面USB接口;**注:目前蒲公英X1支持的USB上网适配器型号——戳我了解。
**②将网线一端接入路由器X1网口,另一端接入电脑网口;**注:如果您希望通过笔记本电脑、平板、手机等无线方式配置路由器,此处可不连计算机。
③连接电源适配器。
确认您电脑的IP地址是自动获取的情况下,打开浏览器地址栏输入:
http://oraybox.com
进入【本地管理】页面。在【上网设置】处,选择上网方式为:3G/4G USB适配器。
然后根据网卡的类型来配置上网即可。
注:物联网卡需激活后才能插入到4G上网卡中使用,否则会提示无网络连接。
二、蒲公英X1组网盒子修改WiFi名称、密码,以及IP地址
蒲公英X1组网盒子默认WiFi无密码,建议配置密码
注意:一定要把蒲公英X1有线连接机载计算机的IP地址与MAC绑定,否则下一次重启无人机之后可能无法通过原IP地址连接成功。
具体设置方法浏览器输入pgybox.oray.com,找到左边菜单栏中的 网络设置 → DHCP设置 → DHCP静态分配选项,绑定机载计算机对应的静态IP。
之后用电脑WiFi无线连接至蒲公英X1组网盒子,输入192.168.8.1进入4G上网卡管理界面,查看4G网络连接情况。
Tips: 此处如果能正常连接WiFi,但是无法上网,可以把4G上网卡拔下来插在电脑上面试一下网络是否通畅。
三、机载计算机配置
机载计算机安装nomachine软件,配置openssh-server以及vsftpd等常用服务。
机载计算机通过网线连接到蒲公英X1组网盒子的LAN口(盒子本身有无线wifi功能,但是有线延迟比无线小一些,可以选一条短一点的网线接上),此时机载计算机网络端口相关内容不需要任何配置改动。
建议机载计算机不手动指定IP地址,采用蒲公英X1分配IP地址,并绑定硬件MAC地址。
机载计算机配置数传可采用3.1和3.2两种方式其中一种,也可两种方式都配置,但需注意UDP端口冲突的问题。
3.1 mavros配置UDP数传(非必要,可使用mavlink-router代替)
安装mavros功能包,并且正确启动mavros px4节点后,方可使用地面端UDP协议通信。
需要修改启动文件中下面这一行的数值:
<param name="gcs_url" value="" />
参考如下教程:
px4 UDP实现WIFI数传_RENyunfan-CSDN博客
3.2 单独配置mavlink路由器(非必要,可使用UDP数传代替)
使用MAVLink路由器,mavlink-router可以被用来路由从localhost到外部接口的包。
至于为什么叫MAVLink路由器,是因为该服务起到的作用就是使MAVLink数据流能在已配置的网络端口和串口之间无障碍双向通信,类似于透明网桥(无防火墙阻碍的透明网络桥接传输)的功能,学过计算机网络的同学可能这里更容易理解一些。
官方GitHub教程如下:
mavlink-router/mavlink-router
第三方教程:
6. Install and setup mavlink-router
mavlink-router
编译安装好mavlink-router之后就需要修改对应的配置文件,添加对应的串口和本地转发以及地面站转发。
之后重启对应的服务,即可实现服务开机自动启动。
注:
- mavlink-routerd命令-e后面接的参数是mavlink数据转发的IP地址,IP地址填写本机IP地址和转发的IP地址即可,如果担心由于DHCP等服务导致转发的IP地址失效,这里可不填转发的IP地址。
- mavlink-routerd命令和service服务的方式启动效果是一样的,区别是前者需要读取-e后接的命令行参数根据IP和端口新建对应的路由连接,后者通过已配置好的main.conf配置文件自动读取相应的IP和端口同样新建对应的路由连接。
- QGC地面站默认参数状态下响应来自于本机IP地址下的14550端口的UDP协议mavlink信息,如果main.conf配置文件中未添加转发的IP地址或转发的IP地址发生变化,则需要在QGC地面站中手动指定对应的参数,并重新连接。
- mavlink-router服务启动后,如果需要再启动mavros节点,mavros节点中的gcs_url参数需要设置为空,或修改端口为与mavlink-router服务端口不一致的其他端口号,否则会出现端口冲突。
3.3 配置ROS主从机(非必要)
注意区分主从机,机载端是主机,而地面端是从机。
参考如下教程:
一遍成功的ROS主从机详细配置_zhanghm1995的博客-CSDN博客_ros主从机设置
四、地面站计算机配置
地面站计算机连接至地面端4G路由器,安装蒲公英Linux版访问端与nomachine软件,同样需要配置主从机。
注意:配置主从机的时候,IP地址要填写蒲公英X1分配给机载计算机用于组网的IP地址。
区分方法为:组网的IP默认是10.X.X.X的,而其他内网的IP默认很可能是192.168.X.X的。
五、测试连接
- 上电启动:先给无人机上电启动,此时蒲公英X1盒子和机载计算机以及4G上网卡同步启动。等待蒲公英X1盒子指示灯变成蓝色常亮后,说明网络已成功连接。
- 机载计算机远程访问:之后确保地面站计算机的蒲公英访问端处于运行状态下,先查看组网硬件连接情况,确认上线之后打开nomachine软件,IP地址填写蒲公英X1分配给机载计算机用于组网的IP地址。端口和协议保持不变,之后点击连接,输入用户名和密码即可成功访问到机载计算机。
- ROS主从机连接:在地面站计算机上面启动roscore节点和其他需要的节点即可。
- QGC地面站连接:检查地面站是否已经自动连接成功,如果提示连接失败,需要手动配置对应的连接信息。
PX4无人机配置4G空地多机组网系统相关推荐
- 怎样在ROS下实现基于YOLO的px4无人机目标检测?
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 1. 搭建无人机仿真环境 首先需要安装mavros,这是一个飞机固 ...
- agx 安装ros opencv_怎样在ROS下实现基于YOLO的px4无人机目标检测?
1. 搭建无人机仿真环境 首先需要安装mavros,这是一个飞机固件与ros通信的包: sudo apt install ros-kinetic-mavros ros-kinetic-mavros-e ...
- PX4无人机-Gazebo仿真实现移动物体的跟踪
原文链接PX4无人机-Gazebo仿真实现移动物体的跟踪末尾有演示视频 这个学期我们有一个智能机器人系统的课设,我们组分配到的题目是<仿真环境下使用无人机及相机跟踪移动物体>,本文主要记录 ...
- PX4无人机ROS下仿真开发
PX4无人机ROS下仿真开发 Overview Simulation Px4_control Slam Map Image_process Planning Volans 项目地址volans 注:有 ...
- darknet_ros安装的以及在PX4无人机仿真平台的目标检测
darknet_ros的安装以及在PX4无人机仿真平台的目标检测 参考资料: https://github.com/leggedrobotics/darknet_ros https://gitee.c ...
- 【接口篇 / Wan】(7.0) ❀ 04. 配置 4G 上网 ❀ FortiGate 防火墙
肯定有人会奇怪,怎么防火墙还需要用4G上网吗?不是有ADSL拨号宽带.固定IP宽带.专线等这么多选择吗?而且4G速度也不够快呀. 在某些特定的场合,例如临时使用.无法安装宽带.道路施工宽带被挖断了,而 ...
- PX4无人机飞控开发——第4篇:室内定点之光流二
PX4无人机飞控开发--第4篇:室内定点之光流二 大家好我是Jones,写博客记录一下工作的痕迹,同时也对工作做一个总结,才疏学浅,难免会有很多纰漏,还请大家批评指正! PX4无人机飞控开发系列 第1 ...
- 配置 4G 模块为WAN口上网
配置 4G 模块为WAN口上网 将Linux板卡配置为交换机或路由器,提供类似路由器的上网功能.这里以4G网卡作为WAN进行上网. 一.使用网桥上网 1. 配置4G模块为默认网关 先配置好4G模块为默 ...
- PX4无人机飞控开发——第1篇:仿真工具介绍
PX4无人机飞控开发--第1篇:仿真工具介绍 大家好我是Jones,写博客记录一下工作的痕迹,同时也对工作做一个总结,才疏学浅,难免会有很多纰漏,还请大家批评指正! PX4无人机飞控开发系列 第1篇: ...
- px4无人机报avionics power low
px4无人机报avionics power low,将无人机连接qgc中,将CBRK_SUPPLY参数设为最大值即可
最新文章
- Kubernetes 弹性伸缩全场景解析 (一):概念延伸与组件布局
- EmEdit选择多行内容
- linux dbus-daemon进程 消息转发 简介
- 计算机网络:WebSocket协议详解
- .Net NPOI 根据excel模板导出excel、直接生成excel
- diamond升级IP,覆盖的时候报错
- kong 自建一个具有健康检查功能的http/tcp负载均衡器,配置流量权重,自动/手动目标健康,流量统一认证、鉴权、限流限速、修正,监控、日志等功能
- python3 urllib模块
- 神经网络对灰度图像的处理转为对彩色RGB图像的处理
- 三维绕任意轴旋转矩阵
- 【洛谷】P1428:小鱼比可爱
- python爬虫进阶-每日一学(图片反爬-雪碧图)
- 数独游戏-安卓版源代码和分析。
- 自己制作dns解析服务器,如何使用自己的DNS服务器解析域名,架设自己的DNS服务器...
- opencv-python使用cv2.resize()函数批量放大图片
- 将来安徽各大楼宇和小区将是这样的......
- visual studio 2019安装教程(C++版)
- 【BSP视频教程】STM32H7视频教程第2期:STM32H7四通八达的总线矩阵,从系统框架整体把控H7
- HTTP的get和post请求方法以及HTTP接口
- tensorflow.keras入门1
热门文章
- 【论文笔记】EMNLP2019: 基于层次多图卷积网络的实体类型分类
- 【python】Tkinter窗口可视化(二)
- 【每日算法Day 73】学妹大半夜私聊我有空吗,然后竟然做出这种事!
- 01 Nginx的高并发处理
- 利用python进行数据分析—五、pandas入门
- python—pickle模块的dump与load函数
- pandas—pandas.DataFrame.query与pandas.DataFrame.reset_index
- 看半小时漫画,通晓计算机基础
- 天书夜读:从汇编语言到Windows内核编程
- Hadoop:Hadoop简介及环境配置