浅谈基于ROS的送餐服务机器人

2020-08-03 03:19张博赵慧马业林孙文汇
科学与信息化 2020年18期
关键词:激光雷达

张博 赵慧 马业林 孙文汇

摘 要 随着科技发展水平的提高,服务机器人有了更快的发展,并开始广泛应用餐饮、酒店、商场等商业领域。服务机器人在机器人市场的需求日益高涨,成为未来机器人发展的一个重要方向。基于ROS系统的送餐服务机器人主要包含了四项技术,分别为:自主移动技术、环境感知技术、底盘技术、智能芯片技术。针对ROS系统进行开发,通过SLAM技术,对自身携带的编码电机和激光雷达来对自身进行定位,并在定位的基础上构建环境地图,解决机器人在未知环境中运行时即时定位与地图构建的问题。

关键词 ROS;SLAM技术;编码电机;激光雷达

民以食为天,在激烈竞争的餐饮市场下,如何令自己的餐厅立于不败之地,树立自己的餐饮品牌,走出一条成功之路,智能机器人和餐厅的有机结合为餐厅开创了一个新的创新点,随着社会的发展,经济生活的改变,很多客人的聚餐都会在餐厅进行,这必然就会加剧服务人员的使用量,特别是在用餐高峰期,客流量会变得更多,这时,如果采用智能机器人替换或替换部分服务人员,既可以减轻服务员的劳动强度,增加餐厅非就餐高峰期客流量,还可以合理调配餐厅的资源,提升餐厅的科技形象,制造品牌效应,吸引更多客户,具有较高的经济价值。

1ROS操作系统

21世纪开始,关于人工智能的研究进入了大发展阶段,包括全方位的具体的AI,例如斯坦福大学人工智能实验室STAIR(Stanford Artificial Intelligence Robot)项目,该项目组创建了灵活的、动态的软件系统的原型,用于机器人技术。在2007年,机器人公司Willow Garage和该项目组合作,他们十分具有前瞻性的,提供了大量资源进一步扩展了这些概念,经过具体的研究测试实现之后,无数的研究人员将他们的专业性研究贡献到ROS核心概念和其基础软件包,这期间积累了众多的科学研究成果。ROS软件的开发自始至终采用开放的BSD协议,在机器人技术研究领域逐渐成为一个被广泛使用的平台。

随着技术进步,机器人产业分工开始走向细致化、多层次化,像如今的电机、底盘、激光雷达、摄像头、机械臂等等元器件都有不同厂家专门生产。社会的分工加速了机器人行业的迅速发展发展。而各个部件的集成就需要一个统一的软件平台,在机器人领域,这个平台就是机器人操作系统ROS。ROS是一个适用于机器人编程的框架,这个框架把原本松散的零部件耦合在了一起,为他们提供了通信架构。ROS虽然叫作操作系统,但并非Windows、Mac那样通常意义的操作系统,它只是连接了操作系统和你开发的ROS应用程序,所以它也算是一个中间件,基于ROS的应用程序之间建立起了沟通的桥梁,所以也是运行在Linux上的运行时环境,在这个环境基础上,机器人的感知、决策、控制算法可以更好地组织和运行。此外,ROS支持多种编程语言。C++、Pyhton和已经在ROS中实现编译,是目前应用最广的ROS开发语言。为了支持多语言编程,ROS采用了一种语言中立的接口定义语言来实现各模块之间消息传送。通俗的理解就是,ROS的通信格式和用哪种编程语言来写无关,它使用的是自身定义的一套通信接口[1]

2SLAM算法解析

2.1 SLAM框架说明

SLAM系统框架一般分为五个模块,包括传感器数据、视觉里程计、后端、建图及回环检测。

传感器数据:主要用于采集实际环境中的各类型原始数据。包括激光扫描数据、视频图像数据、点云数据等。

视觉里程计:主要用于不同时刻间移动目标相对位置的估算。包括特征匹配、直接配准等算法的应用。

后端:主要用于优化视觉里程计带来的累计误差。包括滤波器、图优化等算法应用。

建图:用于三维地图构建。

回环检测:主要用于空间累积误差消除。

其工作流程大致为:

传感器读取数据后,视觉里程计估计两个时刻的相对运动(Ego-motion),后端处理视觉里程计估计结果的累积误差,建图则根据前端与后端得到的运动轨迹来建立地图,回环检测则考虑了同一场景不同时刻的图像,提供了空间上约束来消除累积误差。

2.2 激光SLAM

本项目用到了目前相对来说更为成熟的激光雷达SLAM,采用思岚激光雷达PRLIDAR A1,激光SLAM采用2D或3D激光雷达(也叫单线或多线激光雷达),2D激光雷达一般用于室内机器人上(如扫地机器人),而3D激光雷达一般使用于无人驾驶领域。激光雷达的出现和普及使得测量更快更准,信息更丰富。激光雷达采集到的物体信息呈现出一系列分散的、具有准确角度和距离信息的点,被称为点云。通常,激光SLAM系统通过对不同时刻两片点云的匹配与比对,计算激光雷达相对运动的距离和姿态的改变,也就完成了对机器人自身的定位。

激光雷达测距比较准确,误差模型简单,在强光直射以外的环境中运行稳定,点云的处理也比较容易。同时,点云信息本身包含直接的几何关系,使得机器人的路径规划和导航变得直观。

3系统控制原理

本体中包含嵌入式系统,和上位机部分。嵌入式系统采用Arduino MEGA2560 R3作为机器人下位机负责驱动电机和传送里程计信息。上位机则采用树莓派来进行全局控制。下位机获取到的编码信息和里程计信息通过串口将数据传输给树莓派,树莓派通过接收到的信息配合激光雷达扫描得到的信息可以对自身进行定位,并且在定位的基础上构建3D环境图,解决机器人在未知环境中的定位和地图构建,再由上位机对下位机发送指令,实现对底盘的控制。

3.1 里程计信息的采集与发布

机器人系统中存在base_controller节点,其中base_controller节点将订阅的cmd_vel信息通過串口或其他通信接口发送给下位机(Arduino)。下位机中根据公式进行解算,将机器人速度转换为每个轮子的速度,然后通过CAN总线将每个轮子的转速发送给电机驱动板控制编码电机转动。电机驱动板对电机转速进行闭环控制(PID控制),并统计单位时间内接收到的编码器脉冲数,计算出轮子转速。

base_controller节点将接收到的cmd_vel速度信息转换为自定义的结构体类型的数据(自定义的数据类型中可以包含校验码等其他信息),并通过串口发送控制速度信息(speed_buf)或读取机器人传回的速度信息 (speed_buf_rev)。base_controller节点正确读取到底层(Arduino)传回的速度后进行积分,计算出机器人的估计位置和姿态,并将里程计信息和tf变换发布出去。

3.2 串口通信

本系统主要采用串口通信的方式传输数据,通过安装rosserial_arduino包以实现ROS与Arduino板之间的串口通信,rosserial_arduino包以后,你可以在Arduino IDE中直接使用ROS,rosserial_arduino提供了ros的通信协议,它可以在Arduino的UART上工作。它可以使Arduino成为一个完整的ROS节点,直接发布和订阅ROS消息,发布TF转换,并获得ROS系统时间。

完成串口通信后,便可以实现上位机指令的发送和对下位机数据的接收。

3.3 核心控制設备

本系统采用的核心控制设备为树莓派,树莓派预装Linux系统,体积小,搭载ARM架构处理器。树莓派包括40个GPIO口,可以通过它们输出高(低)电平或者通过它们读入引脚的状态。本项目通过UART串口实现了数据交互。

树莓派RXD端与Arduino板TXD端相连接,通过串口接收Arduino板和激光雷达返回的数据。设计程序发送指令给小车控制平台。

3.4 小车控制平台

小车控制平台采用Arduino MEGA2560 R3来实现对小车的控制,编码器1的HoutA和HoutB接Arduino mega2560的pin2和pin3,对应的中断号是0和1,编码器2的HoutA和HoutB接 Arduino mega2560的pin19和pin18,对应的中断号是4和5,L298N的ENA接Arduino mega 2560的pin5,L298N的ENB接Arduino mega 2560的pin6,IN1和IN2接Arduino mega 2560的pin7和pin8,IN3和IN4接Arduino mega 2560的pin9和pin10,通过IN1和IN2控制电机1转动方向(正转或反转), 通过ENA控制其的转速;通过IN3和IN4控制电机2转动方向(正转或反转), 通过ENB控制其的转速。

4结束语

随着中国国力的不断增强,实力不断提升,国家也越来越重视在科技方面的发展,慢慢地,智能机器人也逐渐为我们所知。利用激光雷达对周围环境实时建模是本系设计的一大亮点和创新点。送餐机器人的最终目的,是在帮助餐厅节约成本的同时,提高服务员的工作效率,让他们更加专注在“服务”上面。送餐机器人在快速发展中,经历了数次的迭代更替,实用性也大大增强。商家愿意使用送餐机器人也将不再是所谓的“噱头”,而是能够实打实地降低运营成本,提升工作效率。

本设计基于ROS系统及Arduino的智能小车的控制系统,通过对编码器和激光雷达数据的获取,计算参数,达到对自身的定位以及实时建模,履带式的底盘设计减少了在水面上打滑的可能,安全稳定性高。在人流量高的餐厅里可以分散服务员的压力,提升整体工作效率。

该机器人不仅可以实现送餐,因为其可以实时更新的环境建模特性与其对地面适应性极强履带式设计,可以实现在商场或者是工厂夜间巡逻的作用,使其广泛应用在生活当中,减少了人力,提高了生活质量。

参考文献

[1] 郭欣桐,战艺.基于ROS的服务型机器人新型控制方式[J].电子世界,2016(11):8-9.

猜你喜欢
激光雷达
亮道智能:激光雷达不可或缺
激光雷达:需求扩张 产业化提速
被马斯克嫌弃的激光雷达,为何会成为科技“网红”?
法雷奥第二代SCALA?激光雷达
融合激光雷达与超声波数据的障碍物检测方法
马斯克弃用的激光雷达,为何迎来上市元年?
Ouster发布首款全固态数字激光雷达
达摩院自动驾驶技术实现高线束模拟
自动驾驶识别:固态LiDAR有望扮主角
日产成特斯拉的“盟友”