1. 5G远程控制方案概述
1. 5G远程控制方案概述
1.1 产品定位
机器人接入蜂窝网络后不具备公网地址,操作端无法与其直接建立连接。本方案通过部署在公网的中转服务, 实现控制指令下行与视频上行的双向贯通,使操作人员可在任意具备网络的地点控制异地作业的机器人。
控制链路与视频链路相互独立,视频中断不影响控制功能; 视频按需推流,无人观看时不产生流量,可显著降低蜂窝网络的使用成本。 适用于无人值守巡检的异常处置、跨厂区远程接管、应急现场指挥等场景。
1.2 系统组成
| 组成部分 | 部署位置 | 职责 |
|---|---|---|
| 云端中转服务 | 具备公网地址的服务器 | 汇聚机器人与客户端连接、校验指令合法性、维护设备与账号数据、提供管理接口 |
| 流媒体服务 | 与中转服务同机 | 接收机器人推送的视频并向客户端分发,支持多协议输出 |
| 机器人端中转服务 | 机器人随车算力单元 | 与云端保持长连接,将控制指令转换为本体协议下发,并按指令控制视频推流启停 |
| 客户端 | 浏览器 / 第三方系统 | 网页客户端免安装即用;开发包供第三方系统集成调用 |
1.3 数据流向
- 控制指令:客户端发起,经云端中转服务校验后转发至机器人端中转服务, 再由其转换为本体协议下发给机器人。
- 状态数据:机器人产生,经机器人端中转服务上报至云端, 再由云端推送给已订阅的客户端。
- 视频数据:机器人端编码后推送至云端流媒体服务,客户端从流媒体服务拉取。 视频链路与控制链路相互独立,任一路异常不影响另一路。
1.4 典型使用流程
(1)远程接管
机器人在异地执行自主巡检任务,出现异常时由值守人员通过网页客户端接入, 查看现场画面并下发控制指令完成处置,处置完毕后交还给导航系统继续任务。
(2)多方观看
同一台机器人的画面可由多个客户端同时观看,用于指挥调度场景下的多方协同。 控制权限由账号授权约束,观看与控制可分离。
(3)第三方系统集成
用户已有的指挥调度平台通过客户端开发包接入,把远程控制能力嵌入既有系统, 无需了解底层协议细节。
1.5 性能和指标
| 分类 | 项目 | 指标 | 备注 |
|---|---|---|---|
| 链路 | 组网方式 | 经公网中转 | 机器人无需固定公网地址 |
| 控制与视频 | 双链路独立 | 视频中断不影响控制功能 | |
| 蜂窝制式 | 5G Sub-6GHz,SA / NSA 双模 | 向下兼容 LTE,4×4 MIMO | |
| 实测速率 | 下行 300 Mbps 以上,上行 70 Mbps 以上 | 实测值随现场信号条件变化 | |
| 控制指令时延 | 操作端 7~8 ms,机器人端 17~42 ms | 实测值,含公网中转往返 | |
| 视频码率与帧率 | 约 590~720 KB/s,14~22 fps | 实测值,随画面复杂度与信号条件变化 | |
| 视频 | 按需推流 | 支持 | 无人观看时不产生流量 |
| 输出协议 | RTSP / WebRTC 等多协议 | 浏览器免插件观看 | |
| 多画面 | 支持同屏多路 | 可同时观察机器人搭载的多路相机 | |
| 安全 | 指令签名 | 支持 | 每台设备与每个账号独立密钥 |
| 重放防护 | 支持 | 一次性标识 + 时间窗校验 | |
| 访问控制 | 账号—设备授权绑定 | 服务到期自动失效 | |
| 客户端 | 网页端 | 零安装 | 支持实时通信的现代浏览器即可使用 |
| 开发包 | 标准类库 | 封装连接管理、认证签名、指令下发与状态订阅 |
视频时延受现场蜂窝网络上行带宽与公网链路质量影响,明显高于局域网与射频图传, 不建议在远程链路下进行需要精细操作的作业。
1.6 安全机制
身份认证
- 密钥分发:每台设备与每个账号分配独立密钥,密钥仅在部署时下发,不在网络中传输。
- 指令签名:客户端发送指令时,用密钥对指令内容计算认证码并随指令一起发送。
- 服务端校验:云端用同样的密钥重新计算并比对,不一致的指令直接丢弃。 指令在传输过程中被截获或篡改均无法通过校验。
重放防护
- 每条指令都带有一次性标识与时间信息。
- 服务端能够识别已经处理过的指令并予以拒绝。
- 超出有效时限的指令一律拒绝,攻击者即便截获合法指令也无法通过重放达到目的。
访问控制
- 账号与设备的绑定关系在云端维护,账号只能控制其被授权的设备。
- 客户、账号、设备构成三级数据模型,便于按客户维度管理与计费。
- 服务到期后账号自动失效,无法继续控制设备。
- 失联保护:远程链路中断时机器人自动停止,不会因指令丢失而持续动作。
1.7 注意事项
- (1)服务器选型应重点关注上行带宽——视频由服务器发往观看者走的是上行方向, 单路视频约需数兆比特每秒,多路并发时需相应倍增。
- (2)流媒体服务的对外地址必须填写服务器的公网地址,且需列全所有客户端可达的地址, 否则会出现信令交互成功但始终没有画面的情况。
- (3)防火墙与安全组需同时放行控制服务端口、流媒体推流与分发端口、以及媒体数据传输端口—— 信令与媒体走的是不同端口,仅放行信令端口会导致连接超时。
- (4)修改任一端的程序后都必须重新部署到对应位置,仅更新一端可能导致协议不匹配。
- (5)蜂窝网络在部分区域可能存在访问限制,若设备无法上线应先确认其可访问云端地址。
2. 客户端使用
2. 客户端使用
2.1 网页客户端
- 步骤一:在浏览器中打开客户端地址。
- 步骤二:输入账号与密码登录。
- 步骤三:从设备列表中选择要控制的机器人。
- 步骤四:界面加载后显示视频画面与控制面板。
- 步骤五:使用方向控制面板操作机器人行走与转向;动作按钮执行起立、趴下等常用动作。
- 支持多画面同屏显示,可同时观察机器人搭载的多路相机。
- 网页客户端无需安装任何插件,在支持实时通信技术的现代浏览器中即可使用。
2.2 按需推流
为节省蜂窝网络的上行带宽,视频推流采用按需启停机制。
- 启动时机:客户端打开视频窗口时,云端向机器人端下发启动指令,机器人端启动对应的推流单元。
- 停止时机:最后一个观看者关闭窗口后,云端下发停止指令,推流单元关闭。
- 意义:机器人在无人观看时不产生视频流量,对流量按量计费的蜂窝网络接入方式而言可显著降低使用成本。
2.3 客户端开发包
- 功能范围:封装了连接管理、认证签名、指令下发与状态订阅,调用方无需了解底层协议细节。
- 运行环境:提供跨版本运行时支持,可在不同版本的运行环境中使用。
- 使用方式:引用类库后,创建连接对象并传入服务器地址与凭据,调用相应方法即可下发指令。
- 状态订阅:注册回调函数后,设备状态变化时自动触发通知。
3. 部署与运维
3. 部署与运维
3.1 云端部署
- 步骤一:准备一台具备公网地址的服务器,选型时重点关注上行带宽。
- 步骤二:执行云端部署脚本,自动完成流媒体服务安装、中转服务安装、网页客户端部署与服务注册。
- 步骤三:配置流媒体服务的对外地址,必须填写服务器的公网地址。
- 步骤四:在防火墙与安全组中放行所需端口。
- 步骤五:启动服务并验证各端口可正常访问。
3.2 机器人端部署
- 步骤一:将机器人端部署包上传至随车算力单元。
- 步骤二:执行部署脚本,自动安装中转服务与视频推流单元,并注册为开机自启动。
- 步骤三:在配置文件中填写云端服务器地址与设备凭据。
- 步骤四:确认算力单元的硬件编码能力可用——视频编码依赖处理器集成的编码单元。
- 步骤五:启动服务并在云端管理界面确认设备已上线。
3.3 管理后台
- 设备管理:查看设备标识、所属客户、在线状态、最近心跳时间与服务到期日期; 支持新增设备并生成密钥,可停用设备。
- 账号管理:创建账号并设置密码,为账号授权可控制的设备 (一个账号可授权多台设备,一台设备也可授权给多个账号),设置服务到期时间。
- 运行监控:实时显示各设备与各账号的连接情况;显示最近一次心跳时间, 据此判断设备是刚刚断开还是已长时间失联;临近服务到期的客户在列表中突出显示。
3.4 常见问题与处理
| 现象 | 处理方式 |
|---|---|
| 设备无法上线 | 确认机器人端可访问云端地址(蜂窝网络在部分区域存在访问限制); 核对配置文件中的服务器地址与设备凭据;查看机器人端日志中的连接错误; 确认云端服务正在运行且端口已放行 |
| 指令下发无效 | 确认账号已被授权控制该设备;查看云端日志确认指令是否通过认证校验 (校验失败通常意味着两端密钥不一致);在机器人本地验证控制是否有效;确认设备服务未过期 |
| 控制正常但无画面 | 确认流媒体服务的对外地址包含服务器公网地址——地址配置不全会导致信令交互成功但没有画面; 确认媒体数据传输端口已放行(与信令端口不同);确认机器人端推流单元已启动; 确认算力单元的硬件编码能力可用 |
| 画面卡顿或延迟大 | 确认蜂窝网络上行带宽充足(上行是视频链路的主要瓶颈,信号弱的区域上行速率会明显下降); 降低视频分辨率或码率配置;减少同时观看的画面路数; 确认云端服务器上行带宽未被其它业务占满 |