SLAM+语音机器人DIY系列:(五)树莓派3开发环境搭建——5.Android手机端与robot端ROS网络通信

|▌冷眼眸甩不掉的悲伤 提交于 2020-12-01 02:50:52

摘要                                              

通过前面一系列的铺垫,相信大家对整个miiboo机器人的DIY有了一个清晰整体的认识。接下来就正式进入机器人大脑(嵌入式主板:树莓派3)的开发。本章将从树莓派3的开发环境搭建入手,为后续ros开发、slam导航及语音交互算法做准备。本章内容:

1.安装系统ubuntu_mate_16.04

2.安装ros-kinetic

3.装机后一些实用软件安装和系统设置

4.PC端与robot端ROS网络通信

5.Android手机端与robot端ROS网络通信

6.树莓派USB与tty串口号绑定

7.开机自启动ROS节点



5.Android手机端与robot端ROS网络通信

刚刚介绍了PC端与robotROS网络通信在有些情况下,使用Android手机端来调试监控机器人会更方便。于是,参考ROS官网给的开发demo,我用ros-java库也做了一个能跟robot端进行ROS网络通信的APP,我给这个APP取名叫Android_for_miiboo_robot.apk。如果大家对这个APP感兴趣,可以持续关注我,我会把这个APP共享给大家。这里就来介绍一下Android手机端与robotROS网络通信的配置。

首先,是配置机器人端的ROS网络参数,和前面一样,需要在机器人端~/.bashrc中指定masterhost,由于前面配置PC端与robotROS网络通信时已经配好了,所以就无需重复配置了。为了便于在局域网下的Android手机通过网络能迅速找到机器人,需要在机器人上开启专门广播自己IP的节点,这样Android手机就能自动搜索并完成Android手机端与robotROS网络通信的连接。机器人IP广播节点我已经写好了,只需要通过命令启动:

roslaunch broadcast_ip broadcast_udp.launch

然后,是配置Android手机端的ROS网络参数,其实将Android手机连接到同一个wifi后,打开miiboo机器人的APPAPP会自动扫描到master(也就是机器人)的IP地址,只需要点击CONNECT就可完成连接。连接完成后,Android手机端与robotROS网络通信就打通了,接下来APP就可以用ROS网络通信来操控机器人了。如图27

(图27)配置Android手机端的ROS网络参数

这里顺便介绍一下,miiboo机器人APP的功能,功能清单如下。

功能1:手动遥控miiboo机器人移动

功能2:建图/导航模式切换

功能3:显示地图

功能4:点击地图点指定导航

功能5:视频监控

后记              

------SLAM+语音机器人DIY系列【目录】快速导览------

第1章:Linux基础

1.Linux简介

2.安装Linux发行版ubuntu系统

3.Linux命令行基础操作

第2章:ROS入门

1.ROS是什么

2.ROS系统整体架构

3.在ubuntu16.04中安装ROS kinetic

4.如何编写ROS的第一个程序hello_world

5.编写简单的消息发布器和订阅器

6.编写简单的service和client

7.理解tf的原理

8.理解roslaunch在大型项目中的作用

9.熟练使用rviz

10.在实际机器人上运行ROS高级功能预览

第3章:感知与大脑

1.ydlidar-x4激光雷达

2.带自校准九轴数据融合IMU惯性传感器

3.轮式里程计与运动控制

4.音响麦克风与摄像头

5.机器人大脑嵌入式主板性能对比

6.做一个能走路和对话的机器人

第4章:差分底盘设计

1.stm32主控硬件设计

2.stm32主控软件设计

3.底盘通信协议

4.底盘ROS驱动开发

5.底盘PID控制参数整定

6.底盘里程计标

第5章:树莓派3开发环境搭建

1.安装系统ubuntu_mate_16.04

2.安装ros-kinetic

3.装机后一些实用软件安装和系统设置

4.PC端与robot端ROS网络通信

5.Android手机端与robot端ROS网络通信

6.树莓派USB与tty串口号绑定

7.开机自启动ROS节点

第6章:SLAM建图与自主避障导航

1.在机器人上使用传感器

2.google-cartographer机器人SLAM建图

3.ros-navigation机器人自主避障导航

4.多目标点导航及任务调度

5.机器人巡航与现场监控

第7章:语音交互与自然语言处理

1.语音交互相关技术

2.机器人语音交互实现

3.自然语言处理云计算引擎

第8章:高阶拓展

1.miiboo机器人安卓手机APP开发

2.centos7下部署Django(nginx+uwsgi+django+python3)

----------------文章将持续更新,敬请关注-----------------

 

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

 

关于我们:

视频教程:

 

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

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!