前言

使用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空地多机组网系统相关推荐

  1. 怎样在ROS下实现基于YOLO的px4无人机目标检测?

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 1. 搭建无人机仿真环境 首先需要安装mavros,这是一个飞机固 ...

  2. agx 安装ros opencv_怎样在ROS下实现基于YOLO的px4无人机目标检测?

    1. 搭建无人机仿真环境 首先需要安装mavros,这是一个飞机固件与ros通信的包: sudo apt install ros-kinetic-mavros ros-kinetic-mavros-e ...

  3. PX4无人机-Gazebo仿真实现移动物体的跟踪

    原文链接PX4无人机-Gazebo仿真实现移动物体的跟踪末尾有演示视频 这个学期我们有一个智能机器人系统的课设,我们组分配到的题目是<仿真环境下使用无人机及相机跟踪移动物体>,本文主要记录 ...

  4. PX4无人机ROS下仿真开发

    PX4无人机ROS下仿真开发 Overview Simulation Px4_control Slam Map Image_process Planning Volans 项目地址volans 注:有 ...

  5. darknet_ros安装的以及在PX4无人机仿真平台的目标检测

    darknet_ros的安装以及在PX4无人机仿真平台的目标检测 参考资料: https://github.com/leggedrobotics/darknet_ros https://gitee.c ...

  6. 【接口篇 / Wan】(7.0) ❀ 04. 配置 4G 上网 ❀ FortiGate 防火墙

    肯定有人会奇怪,怎么防火墙还需要用4G上网吗?不是有ADSL拨号宽带.固定IP宽带.专线等这么多选择吗?而且4G速度也不够快呀. 在某些特定的场合,例如临时使用.无法安装宽带.道路施工宽带被挖断了,而 ...

  7. PX4无人机飞控开发——第4篇:室内定点之光流二

    PX4无人机飞控开发--第4篇:室内定点之光流二 大家好我是Jones,写博客记录一下工作的痕迹,同时也对工作做一个总结,才疏学浅,难免会有很多纰漏,还请大家批评指正! PX4无人机飞控开发系列 第1 ...

  8. 配置 4G 模块为WAN口上网

    配置 4G 模块为WAN口上网 将Linux板卡配置为交换机或路由器,提供类似路由器的上网功能.这里以4G网卡作为WAN进行上网. 一.使用网桥上网 1. 配置4G模块为默认网关 先配置好4G模块为默 ...

  9. PX4无人机飞控开发——第1篇:仿真工具介绍

    PX4无人机飞控开发--第1篇:仿真工具介绍 大家好我是Jones,写博客记录一下工作的痕迹,同时也对工作做一个总结,才疏学浅,难免会有很多纰漏,还请大家批评指正! PX4无人机飞控开发系列 第1篇: ...

  10. px4无人机报avionics power low

    px4无人机报avionics power low,将无人机连接qgc中,将CBRK_SUPPLY参数设为最大值即可

最新文章

  1. Kubernetes 弹性伸缩全场景解析 (一):概念延伸与组件布局
  2. EmEdit选择多行内容
  3. linux dbus-daemon进程 消息转发 简介
  4. 计算机网络:WebSocket协议详解
  5. .Net NPOI 根据excel模板导出excel、直接生成excel
  6. diamond升级IP,覆盖的时候报错
  7. kong 自建一个具有健康检查功能的http/tcp负载均衡器,配置流量权重,自动/手动目标健康,流量统一认证、鉴权、限流限速、修正,监控、日志等功能
  8. python3 urllib模块
  9. 神经网络对灰度图像的处理转为对彩色RGB图像的处理
  10. 三维绕任意轴旋转矩阵
  11. 【洛谷】P1428:小鱼比可爱
  12. python爬虫进阶-每日一学(图片反爬-雪碧图)
  13. 数独游戏-安卓版源代码和分析。
  14. 自己制作dns解析服务器,如何使用自己的DNS服务器解析域名,架设自己的DNS服务器...
  15. opencv-python使用cv2.resize()函数批量放大图片
  16. 将来安徽各大楼宇和小区将是这样的......
  17. visual studio 2019安装教程(C++版)
  18. 【BSP视频教程】STM32H7视频教程第2期:STM32H7四通八达的总线矩阵,从系统框架整体把控H7
  19. HTTP的get和post请求方法以及HTTP接口
  20. tensorflow.keras入门1

热门文章

  1. 【论文笔记】EMNLP2019: 基于层次多图卷积网络的实体类型分类
  2. 【python】Tkinter窗口可视化(二)
  3. 【每日算法Day 73】学妹大半夜私聊我有空吗,然后竟然做出这种事!
  4. 01 Nginx的高并发处理
  5. 利用python进行数据分析—五、pandas入门
  6. python—pickle模块的dump与load函数
  7. pandas—pandas.DataFrame.query与pandas.DataFrame.reset_index
  8. 看半小时漫画,通晓计算机基础
  9. 天书夜读:从汇编语言到Windows内核编程
  10. Hadoop:Hadoop简介及环境配置