|
|
| 当前位置:首页 > 机器人开发 > 基于Android的ROS机器人远程控制系统-ROS机器人硬件平台、无线通信网络和Android 终端 |
基于Android的ROS机器人远程控制系统-ROS机器人硬件平台、无线通信网络和Android 终端 |
| 来源:李硕,陈乃建,郭学成,樊艺鲜 时间:2026/7/6 |
|
为提高 ROS机器人控制终端的灵活性,设计了一种基于Android 终端的远程控制系 统。该系统结构主要包括三部分: ROS机器人硬件平台、无线通信网络和Android 终端 。Android 终端与 ROS Master通过无线局域网进行数据通信与视频传输。视频传输方面,在ROS Master部 署web_video_ server 节点,将图像消息转码为MJPEG格式并通过HTTP 发 布 ;Android 终端通过WebView 控件加载视频 流 URL, 实现低延迟显示。运动控制方面,Android 终端采用自定义摇杆采集用户触摸输入,封装成ROS 消息后,基于rosjava 库通过TCPROS协议直接发布至ROS Master,实现对机器人的实时操控。实验阶段, 先后对ROS机械臂、差速轮式机器人和四足机器人进行了跨平台仿真测试,并Z终在四足机器人实体上 完成了实机验证。测试结果表明:系统控制延迟约150 ms, 视频延迟约为250 ms, 二者均处于实时交互 的可接受范围;同时,姿态变化曲线显示,机器人偏航角( yaw) 变化与实际运动指令高度一致。该系 统能够稳定、有效地实现对多种机器人的实时远程控制。 在通信方案层面, 实 现Android 终端与ROS Master通信的主流方式 主要包括基于WebSocket/rosbridge的桥接方案16 和基于原生TCPROS 协议的直接通信方案。论 文 基于这种方案设计了一款web application用来控制ROS的 TurtleSim。前者虽实现了通信, 但引入了额外的中间层,导致系统架构复杂、通 信链路延长,难以满足高实时性控制的需求。相 比之下,TCPROS作为ROS官方的底层通信协 议,允许Android终端通过rosjava库直接作为原 生节点与ROS Master交互。该方案无需桥接,极 大地缩短了通信链路,有效降低了延迟,在实时 性、兼容性与系统简洁性方面具有显著优势。在 Android终端架构层面,本文所设计的Android终 端采用MVVM架构进行构建,MVVM核心理念 是关注点分离8,通过关注点分离有效解耦了界 面、业务逻辑与数据,极大提升了代码的可维护 性、可测试性与可扩展性。 在“MVVM架构+TCPROS直接通信”的基 础之上实现两大关键功能:D一,在运动控制方 面 ,Android终端基于MVVM 架构设计了直观的 摇杆交互控件,通过捕获用户触摸事件并进行坐 标归一化处理,将控制指令封装为ROS消息, 经 由TCPROS协议直接发布,Z终驱动机器人实 现实时准确运动。第二,在状态监测方面,系统 在 ROS Master部署web_video_server节点,将摄 像头图像转码为MJPEG格式并通过HTTP协 议 发布;Android终端则通过WebView控件加载视 频流,实现了低延迟的视频渲染与实时环境反馈。 Z后使用Unitree A1四足机器人进行实机测试, 此外,还扩展了对机械臂和差速轮式小车的仿真 控制。测试结果表明远程控制系统能够实现对机 器人的实时控制。下文节点之间的通信流程以控 制四足机器人实机为例进行阐述。 基于Android的 ROS机器人远程控制系统由 三大模块构成,分别为ROS 机器人硬件平台、 无线通信网络以及Android终端。系统实现原理 如图1所示。其中ROS机器人硬件平台以四足 机器人为载体,并搭载USB摄像头。无线通信 部分则依托实验室本地Wi-Fi网 络 ,为 Android终 端与ROS Master之间建立稳定的通信链路。ROS Master运 行Ubuntu 20.04系统,集成web_video_ server节点,负责将摄像头采集的图像数据转换 为 MJPEG格式并通过HTTP 协议发布;同时通 过 TCPROS协议实现与Android终端的直接数据 通信,确保控制指令能够高效传输,Android终 端采用MVVM架构进行设计,为用户提供直观 的交互界面。该界面可实时接收并显示机器人回 传的视频流数据,同时用户可通过虚拟摇杆控件 向机器人发送运动指令,Z终达成对机器人的远 程运动控制。
TCPROS是ROS官方节点间通信的底层协议, 基于TCP实现。通过rosjava库 ,Andoid 终端可 直接作为ROS节点与ROS Master通信。这种方 式无需中间桥接,极大缩短了通信链路,降低了 消息传递的延迟,非常适合对高实时性有严格要 求的机器人运动控制场景。同时,该方案与ROS 原生节点(包括C++、Python 和Java) 完全兼容, 能够支持所有标准及自定义消息类型,保证了系 统的灵活性和扩展性。此外,TCPROS通信机制 本身支持全双工通信和自动序列化/反序列化, 使得数据交换过程高效且可靠。 (1) ROS Master 配 置 : 用 户 在 Andriod 终 端输入ROS Master的 IP 和端口,Android 终端通 过 rosjava 配置节点参数,生成Master URI ( 如 http://192.168.1.100:11311)。 (2)节点注册与连接: Android终端通过 NodeMainExecutorService将控制节点注册到ROS Master, 节点启动后自动向Master 注册自身信息 (节点名、主机地址、topic 等 ) 。 (3)消息发布:如摇杆控制, Andriod终端 采集用户输入,封装为Joy 消息,通过Publisher 发布到Joy 话题。 (4)消息路由与传输: ROS Master负责节 点发现与topic路由,确保消息在各节点间高效 传递。所有消息通过TCPROS协议在节点间传输,
![]() |
| 相关推荐 |
|
»
分布式机器人体系结构DIRA-利于机器人 之间的直接协同,与机器人的传感器和致动器交互
» ALLIANCE机器人系统-用于不均匀多机器人队伍的可容错任务分配 » Nerd Herd机器人系统-避障、返回原地、聚合、 分散、跟随和安全漫游 » 多机器人系统的体系结构:集中式、 分层式、分布式和混合式 » 导览机器人的智能路径规划方法:模糊逻辑方法、神经网络和遗传算法 » 迎宾机器人机器人路径规划的传统路径规划方法:几何法 单元分解法 人工势场法 数学分析法 路径搜索算法 枚举技术 » 力觉传感器在机器人中的应用:六轴力觉传感器安装在机器人手腕上,筒式腕力传感器安装于机器人腕部 » 机器人手臂机构的设计、分类和主要技术参数:负载,定位精度,自由度,尺寸与质量 » 迎宾机器人的位置传感器:电位器、光电编码器 » 基于多机器人协作的关键问题:有限带宽和地图拼接 |
![]() ![]() ![]() |
![]() |
|
|
|||||||||||||||||||||||||||||||||||||||||
| 版权所有 © 创泽智能机器人集团股份有限公司 中国运营中心:北京·清华科技园C座五楼 生产研发基地:山东日照太原路71号 电话:4008-128-728 |