android要与ROS通信,一种是基于rosbridge,另外一种是基于rosjava库。java
相关参考例子工程android
rosbridge例子:git
rosbridge(rosbridge_suite)是ros官方为开发者提供的一个用于非ros系统和ros系统进行交互通讯的功能包。包括话题的订阅,消息的发布,服务的调用,参数的设置和获取,图片信息的传递等等,都是JSON格式的字符串。获取JSON字符串并将命令发送到ros,反之亦然。
rosjava例子:
rosjava库,这玩意儿相似于ROS官方支持的rospy roscpp等,也是ROS分布式计算平台的一种language binding。
使用举例:

Android Studio导入工程编译运行

启动登入界面:
保证手机跟Raspberry Pi 3链接同一个网络,经过PC 获取Raspberry Pi 3的IP=XXX.XXX.XXX.XXXgithub

修改Master URI选择roscore的URI 点击CONNECT
主界面:

- Set Pose在地图长按 至关于Rviz中的 2D Pose Estimate
- Set Goal在地图长按 至关于Rviz中的 2D Nav Goal
- 左下角Joystick能够发出cmd_vel topic控制小车移动
- Camera View与Map View能够相互切换
- miiboo.apk是由android_apps-kinetic和android_core-kinetic改造而来,基于rosjava库,在原有控制移动、小车位置设定,导航目标设定及路径显示等功能基础上集成了自动获取IP、启动保存建图和代价地图显示选择功能。
miiboo.apk运用介绍:
主界面:

进入建图模式

图层显示选择


后记
若是你们对博文的相关类容感兴趣,或有什么技术疑问,欢迎加入下面的《SLAM+语音机器人DIY》QQ技术交流群,一块儿讨论学习^_^网络

关于咱们:app

视频教程:分布式

https://www.bilibili.com/video/av61448040ide