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

温馨提示

本篇文章已经收录在我最新出版的书籍《机器人SLAM导航核心技术与实战》,感兴趣的读者可以购买纸质书籍来进行更加深入和系统性的学习,购买链接如下:

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运用介绍:

主界面:

进入建图模式

图层显示选择

后记                                                      

参考文献

[1] 张虎,机器人SLAM导航核心技术与实战[M]. 机械工业出版社,2022.

购书链接:https://item.jd.com/13041503.html

下载更多资料:www.xiihoo.com

GitHub源码:https://github.com/xiihoo/Books_Robot_SLAM_Navigation

Gitee源码(国内访问速度快):https://gitee.com/xiihoo-robot/Books_Robot_SLAM_Navigation

知乎教程:https://www.zhihu.com/people/hiram_zhang

视频教程:https://space.bilibili.com/66815220

邮箱:robot4xiihoo@163.com

QQ群:117698356

 

 

posted @ 2019-02-23 00:28  小虎哥哥爱学习  阅读(4287)  评论(4编辑  收藏  举报