安卓与ROS通信开发——1、安卓与ROS通信的现状

安卓与ROS通信开发——1、安卓与ROS通信的现状

概述概述概述

安卓与ROS通信的现状

ROS官方支持的语言绑定只有C++和Python,目前安卓想与ROS通信,必须借助半官方的rosjava包

rosjava话题通信机制(Publish/Subscribe)

rosjava和C++/Python一样,是一个全功能、大体量的ROS绑定,即可以在Java(android)平台上创建Master Node,然后其他Node(C++/Python)可以连上这个Master,进行分布式通信。
rosjava的gradle脚本较为复杂,将其集成到自己项目的android工程难度较大。

rosbridge服务通信机制(Client/Server)

rosbridge协议,该协议的基本思想是将节点间的分布式通信,改成client节点与一个代理节点进行C/S通信,然后代理节点再将请求转发给server节点,这样移动端就不需要实现整个ROS平台通信,三只需要跟代理节点通信即可。
注:移动平台无法做server节点,但轻量化。

![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTc1ODc5OS8xNTk0Nzk1NTEyNTgwLWY5NjM0NDAwLWVjNzYtNDViZC05Njg2LWVhMDg0YmQzOTIxZS5wbmc?x-oss-process=image/format,png#align=left&display=inline&height=610&margin=[object Object]&name=image.png&originHeight=610&originWidth=1152&size=294237&status=done&style=none&width=1152)

相关ROS包的跨平台特性

![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTc1ODc5OS8xNTk0Nzk1NTU3NDExLWNlNWM3MzQ5LTA3M2QtNDE0MC05MWNmLTM4MzQ2OTdlMzY0Ni5wbmc?x-oss-process=image/format,png#align=left&display=inline&height=788&margin=[object Object]&name=image.png&originHeight=788&originWidth=1196&size=106399&status=done&style=none&width=1196)
rosjava/rosbridge 均能满足x86架构设备(工控机/ROS系统)与ARM-A架构设备(安卓设备)通讯。
![image.png](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9jZG4ubmxhcmsuY29tL3l1cXVlLzAvMjAyMC9wbmcvMTc1ODc5OS8xNTk0Nzk2MjA4NDIzLWY3YjRjN2UxLWVlNTYtNDEyMC1iMjQzLWM0Njg5OGY3YzMzNS5wbmc?x-oss-process=image/format,png#align=left&display=inline&height=359&margin=[object Object]&name=image.png&originHeight=359&originWidth=1163&size=434378&status=done&style=none&width=1163)
ROSBridge:在安卓系统使用指定数据内容的基于JSON(或BSON)格式的网络请求(ROSBridge支持TCP、UDP、WebSocket三种网络通讯方式)来调用ROS的功能。

rosjava ros包安装:
http://wiki.ros.org/rosjava/Tutorials/kinetic/Source%20Installation
(官方仅提供kinetic版本安装,暂不支持melodic版本ROS)

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值