基于ROS软件平台下智能家居服务机器人的设计研究论文_邓人铭

邓人铭

广州粤嵌通信科技股份有限公司

摘要:机器人控制系统非常庞大且复杂,如果设计的系统框架缺乏合理性,将直接降低系统各个模块的复用性和移植性,无形增加了系统维护工作的难度。结合ROS软件平台,可以较好解决上述问题,快速开发稳定高效的移动机器人,并有效结合现代家居的生活需求,满足家庭服务和智能家居安防功能的需求。

关键词:ROS软件平台;智能家居;服务机器人

引言

随着目前机器人发展的多样性,相应增多了开发工具与模块,体系日趋复杂,机器人软件难以有效复用,威胁了机器人行业的可持续发展,为此出现了ROS(Robot Operating System)软件平台。ROS在机器人系统中大规模应用,不需要大量修改就能复用不同机器人上的代码。基于这个理念,复用与分享不同机器人的功能,降低了开发强度。

1.ROS介绍

(1)特点

ROS最显著的特点是开源,ROS遵循BSD许可,ROS发布的全部源代码都是开源的,可商业或非商业修改和使用。正是基于这一特点,在开发ROS行列中吸引了众多的用户。ROS为多种编程语言提供支持,如:C++和Python,还提供了rosbridge协议,便于研究人员跨平台开发。提供三维可视化工具给开发者,方便了开发者操作。开发者利用ROS得到分布式的代码框架,将节点作为功能单位,独立设计编译各节点,运行中松散耦合,通过TCP/IP协议实现节点交互,在不同运算载体上可运行同一工程的不同节点。这样的设计使代码复用性更强,方便维护。

(2)劣势

ROS机器人仍存在以下不足:一直以来,通信问题都是干扰机器人应用的技术瓶颈,目前基于ROS设计的机器人一般都仅适用于在同一局域网;应用移动机器人的领域十分广泛,牵涉到医疗、安防和餐饮等,机器人在不同领域形成不一样的功能需求,因此,需要设计一个合理的机器人系统框架达到模块的复用要求。

1.1机器人总体系统概述

智能家居服务机器人系统包括手机客户端与ROS机器人。

1)手机客户端。界面层:与用户实现交互,对用户输入的数据进行采集,并及时显示ROS得到的数据信息。通信层:对socket通信实施构建,解析ROS接收的数据,将用户输入的数据生成JSON格式并向界面层传输。

2)ROS机器人系统

操作系统层:具体包括ubuntu和ROS的功能包,实时处理机器人传感数据,完成人机交互、机器人控制和SLAM等,在操作系统层开发机器人的应用功能。

驱动层:是硬件层连接操作系统层的媒介,支撑硬件的正常工作,交互处理数据。

设备层:包括开发机器人涉及的硬件。

2.机器人系统设计

2.1 机器人TF变换

ROS在导航中成功获取传感器、车轮与各部件的实际位置,利用TF软件库完成这部分工作。如图1所示,激光雷达坐标为Iidar_loc,机器人底盘坐标robot_loc,机器人底盘和激光雷达形成坐标关系,即激光雷达与机器人底盘的相对位置,采取这个坐标关系,结合机器人某一部分坐标,通过TF转换产生其他部分坐标。

2.2 SLAM地图构建

服务机器人与导航仪类似,在工作时需要地图,一般由人协助机器人建立地图,并将其交给ROS,这个过程为SLAM。根据粒子波完成Gmapping算法,在ROS中gmapping包基于激光提供SLAM。通过由移动机器人收集的激光雷达扫描数据与机器人姿态数据建立二维占用网格地图。

2.3定位与导航

(1)即时定位与地图构建

为了对地图信息进行观测,建立过程借助ROS的分布处理特点,见图2。其中机器人端的核心处理器为Rockchip RK3399Pro,在该处理器上运行,即时定位和建立地图的有关节点,如:里程计节点,激光雷达节点。PC端属于用户端,仅对一个Rviz节点运行,其中Rviz属于机器人的可视化工具,可以结合在ROS发布的话题信息实时显示机器人的位置姿态,同时对机器人建立的地图信息全面显示,并提供大量调试插件,有利于机器人调试。这里提及的全部节点都以PC端的IP地址作为系统的ROS_MASTER_URI,也就是说在ROS操作系统中发布的话题同样可以访问PC端,那么PC端运行的节点就能对机器人状态实时发布,并快速显示。

在建立整个走廊的过程中,由于存在障碍物及激光雷达测距范围的约束,机器人容易出现不少盲区,要以遥控的方式引导机器人简单遍历所在环境,建立走廊的整体效果如图3.构图效果基本展示了现实中的物理环境

(2)导航规划

基于以下假设形成导航过程:在自身所处环境,机器人初步建立了完整的地图,机器人配置激光雷达,并对附近环境实时扫描,机器人配置编码器,可以对机器人行驶的距离科学计算。

自主导航即为机器人确定一个目标点,机器人独立设计一条科学的路径,并顺利到达指定目标点。可在起始位置放置机器人,之后在地图上为机器人设置一个目标点。如此形成一个规划栅格地图路径的问题,利用base_global_planner算法实现全局路径设计问题,利用A*搜索方法获得全局路径。随着机器人不断移动,相应改变位置,结合更新里程计的数据和激光雷达扫描地图环境数据,通过自适应算法科学定位机器人,对全局代价地图进行更新,并结合目标位置与机器人的目前位置,及全局代价地图的信息对全局路径持续更新。通过base_local_planner算法规划局部实时路径,通过Trajectory Rollout算法与Dynamic Window approach算法,结合激光雷达的扫描信息和机器人位置、移动速度等,对机器人是否碰到障碍物进行判断,掌握规划路径所需时间,并对局部代价地图实时更新,最终完成解析路径,对机器人实时速度和角速度进行计算。当这部分信息在base_controller节点发布时,通过该节点解算运动学,并向执行结构传输控制命令,进一步完成控制自主导航的运动任务。

由此可知,ROS操作系统的管理理念,每个程序节点都可以独立完成某一具体任务,各节点发生低耦合协作。如此设计者优化某一具体功能,不会干扰其他节点的工作。

3.1rosbridge通信

该协议主要是ROS官方为解决ROS与非ROS通信提出的整套协议,利用将JSON命令发送至ROS,进一步对ROS于非ROS通信全面实现。

ROS的通信核心是节点,通过服务节点产生话题,其他节点实行订阅,进一步有效交换数据。rosbridge对ROS内部通信规则进行忽略,提高了抽象等级,内部通过topic和services实现通信,外部通过JSON数据格式达到通信目的。

3.2轮式机器人组建

机器人包括主控板、激光雷达、双目摄像头、驱动板、驱动电机等。其中在ROS系统中主控板发挥了运算控制作用,是机器人的处理数据中心;激光雷达主要采集环境信息,是构建地图和导航的传感设备;在采集图像信息时利用双目摄像头,以便达到精确图传目的;驱动板板载惯性传感器,与编码器共同发挥定位与导航作用,从而纠正累计误差。

机器人具备网络通信的作用,手机客户端结合编程接口,对IP和端口进行初始化操作,手持客户端和机器人形成通信联系。建立联系后,客户端与ROS端开始数据通信,结束通信时,客户端发送切断联系的请求。

3.3控制系统架构

控制系统利用双控制器架构,凭借强大的功能,高效且成熟的进行使用。其中,主控制器可处理数字语音信号、监测充电电压、主从控制器通信等。从控制器控制视觉系统、各种传感器及处置反馈信息。

控制系统硬件利用模块化设计方法,在各个模块间独立运行高内聚、低耦合的操作,模块间无干扰,形成较强的可替换性。机器人利用手机端、语音和电脑等方式,综合了家居服务、安全防护、健康监测、家庭娱乐等功能,基本包含日常家庭的全部需求。其中,家居服务模块包括取物、监测环境、电器开关控制及收发短信。安全防护模块具备对燃气、火灾与小偷入室的警报功能,以及在Wi-Fi环境中自动巡航,使用者利用电脑查看视频画面。健康监测模块负责心率与脉搏数据采集,并且向机器人SD卡存储检测结果。家庭娱乐模块包括音视频广播与语音报时功能。

4.系统测试

利用WiFi无线路由器实行组网测试,与3台设备连接:手机、ROS桌面端台式机、ROS机器人。

4.1室内监控测试

单击手机应用端菜单界面,点击室内监控,此时机器人摄像头采集的信息向桌面端传送,后者处理并显示图像信息。单击定点监控功能,机器人保证不移动;单击移动监控功能,按下控制按钮,小车结合相关指令发生移动,并传回图像。

4.2自动巡逻测试

单击手机应用端菜单,选择自动巡逻按钮,显示自动导航界面,单击巡逻。系统在地图内随机产生目标点,机器人根据这部分目标点移动。当手机应用端单击停止巡逻时,机器人终止工作。

5.结束语

综合分析,智能家居机器人系统设计技术重点在于建立室内地图以及机器人室内定位与导航,根据ROS系统,直接构建室内地图及机器人室内定位导航操作,并借助rosbridge在ROS与系统平台完成实时通信,初步完成智能家居机器人室内监控、自动巡逻、音视频播放等基本操作。未来还要根据ROS系统平台,不断改进传输水平,增加智慧家庭服务的性能。

参考文献

[1]杨俊驹. 基 ROS的移动机器人在动态环境下的路径规划技术研究[D].苏州: 苏州大学,2016.

[2]王玉山,王伟,李仲阳,等.浅谈服务机器人的应用现状和发展前景[J].机电工程技术,2017,46(2) : 94-96.

[3]王国胜,吕红涛,吕强.四轮全向移动机器人的双闭环速度控制系统设计[J].装甲兵工程学院学报,2013,27(1): 59-64.

[4]姚冬冬,闵华松. 三轮全向移动机器人的研究与设计[J].计算机工程与设计,2013,34(6): 2163-2169.

论文作者:邓人铭

论文发表刊物:《中国西部科技》2019年第22期

论文发表时间:2019/11/27

标签:;  ;  ;  ;  ;  ;  ;  ;  

基于ROS软件平台下智能家居服务机器人的设计研究论文_邓人铭
下载Doc文档

猜你喜欢