SLAM+语音机器人DIY系列:(八)高阶拓展——1.miiboo机器人安卓手机APP开发

android要与ROS通讯,一种是基于rosbridge,另一种是基于rosjava库。

相关参考例子工程

rosbridge例子:

https://github.com/hibernate2011/RosClient

rosbridge(rosbridge_suite)ros官方为开发者提供的一个用于非ros系统和ros系统进行交互通信的功能包。包括话题的订阅,消息的发布,服务的调用,参数的设置和获取,图片信息的传递等等,都是JSON格式的字符串。获取JSON字符串并将命令发送到ros,反之亦然。

 

rosjava例子:

https://github.com/rosjava/android_apps

https://github.com/rosjava/android_core

rosjava库,这玩意儿类似于ROS官方支持的rospy  roscpp等,也是ROS分布式计算平台的一种language binding

使用举例:

android_apps-kinetic为例,首先下载android_apps-kinetic工程https://github.com/rosjava/android_apps

Android Studio导入工程编译运行

启动登入界面:

保证手机跟Raspberry Pi 3连接同一个网络,通过PC 获取Raspberry Pi 3IP=XXX.XXX.XXX.XXX

修改Master URI选择roscoreURI 点击CONNECT

 

主界面:

  • Set Pose在地图长按 相当于Rviz中的 2D Pose Estimate
  • Set Goal在地图长按 相当于Rviz中的 2D Nav Goal
  • 左下角Joystick可以发出cmd_vel topic控制小车移动
  • Camera ViewMap View可以相互切换
  • miiboo.apkandroid_apps-kineticandroid_core-kinetic改造而来,基于rosjava库,在原有控制移动、小车位置设定,导航目标设定及路径显示等功能基础上集成了自动获取IP启动保存建图和代价地图显示选择功能。

 

 

 

 

 

 

miiboo.apk运用介绍:

主界面:

进入建图模式

图层显示选择

后记                                                      

如果大家对博文的相关类容感兴趣,或有什么技术疑问,欢迎加入下面的《SLAM+语音机器人DIY》QQ技术交流群,一起讨论学习^_^

猜你喜欢

转载自www.cnblogs.com/hiram-zhang/p/10421412.html