轮式移动机器人定位和导航系统设计

2020-12-28 01:59董明泽韩雨薇许凯成段睿劼朱天宇
科技资讯 2020年31期
关键词:激光雷达

董明泽 韩雨薇 许凯成 段睿劼 朱天宇

摘  要:该文设计了一套基于开源机器人操作系统(ROS)和激光雷达的移动机器人控制系统方案,以满足当前室内机器人在定位与地图构建上的需求。该系统以开源卡片式电脑树莓派3B+为核心控制器,使用STM32作为驱动控制板,在Linux系统下使用ROS分布式框架下进行软件算法的开发。根据机器人的状态和用户命令可实现人机交互、SLAM地图扫描绘制、WiFi远程控制、即时定位和室内导航的功能。实际调试结果表明,系统能够构建出与实际环境差别较小的特征图,并对平台实时位置进行精确的定位,能有效完成定位和导航的任务。

关键词:ROS  SLAM  激光雷达  同步定位与地图构建  自主导航

中图分类号:TP242                           文献标识码:A文章编号:1672-3791(2020)11(a)-0031-03

Design of Wheeled Mobile Robot Positioning and Navigation System

DONG Mingze1  HAN Yuwei1  XU Kaicheng2  DUAN Ruijie1  ZHU Tianyu1

(1.Liangxin College, China Jiliang University; 2.College of Mechanical and Electrical Engineering, China Jiliang University, Hangzhou, Zhejiang Province, 310018 China)

Abstract: This paper designs a set of mobile robot control system solutions based on open source robot operating system (ROS) and lidar to meet the needs of current indoor robots in positioning and map construction. This system uses the open source card computer Raspberry Pi 3B+ as the core controller, uses STM32 as the drive control board, and uses the ROS distributed framework to develop software algorithms under the Linux system. According to the state of the robot and user commands, it can realize the functions of human-computer interaction, SLAM map scanning and drawing, WiFi remote control, instant positioning and indoor navigation. The actual debugging results show that the system can construct a feature map with a small difference from the actual environment, and accurately locate the real-time position of the platform, which can effectively complete the positioning and navigation tasks.

Key Words: ROS; SLAM; Lidar; Synchronous positioning and map construction; Autonomous navigation

机器人技术是一门快速发展的学科,它包含着深厚的科学理论,长期以来吸引了许多研究人员。随着计算机技术的飞速发展,人们已经设计并生产了一系列机器人,以满足世界各地不同领域的某些特定需求。使用智能的机器人控制系统代替人类来完成一些繁琐或危险的任务已具有广阔的应用前景。机器人常采用传感器来感测周围环境,其中包含激光雷达(LRF)、惯性测量单元(IMU)、全球定位系统(GPS)、摄像机等。通常,轮式和腿式运动被广泛用于移动机器人,与需要更大的自由度和更大的机械复杂性的腿式运动相比,轮式运动非常适合平坦地面。而ROS是一个主要基于Unix平台用于操作机器人的开源软件框架,它提供了大量可用于开发机器人软件系统的软件包,许多开发人员和研究人员在ROS社区中分享了他们的知识和成就。

该文阐述了ROS的主要特点,并设计了一套基于ROS和激光雷达的低成本、高性能的轮式移动机器人定位和导航控制平台。

1  ROS特点介绍

ROS的主要特点可以归纳为以下几条。

(1)免费开源。ROS遵守BSD許可,公布在ROS中的所有代码允许商业或者非商业项目的修改及使用。也正是因为这一特点,ROS的使用者数目近年来有极大的增长。

(2)点对点设计。ROS自带丰富的工具包且支持使用高性能传感器,这就对处理器的性能有了一定的要求,而ROS这种点对点的运行处理方式可以分散这些复杂算法所带给处理器的压力,还便于修改和测试,提高了系统的稳定性和鲁棒性。

(3)平台间的可操作性。ROS消息传递中间允许在不同节点之间进行通信。可以使用具有ROS客户端库的任何语言来编译这些节点,可以用C++或C编写高性能节点,并用Python或Java编写其他节点[1]。

2  硬件总体设计

机器人平台主要由核心控制器、激光雷达、惯性测量单元、位置控制模块和电源等组成,不仅能独立自主地实现平台的定位导航功能,而且能将下位机传感器接收到的信息通过WiFi局域网上传至上位机并能接收使用者通过服务器发出的各种指令,进而控制平台完成指定任务。移动机器人控制平台的硬件设计框架见图1[2]。

该控制系统采用树莓派3B+作为核心控制板,由于树莓派采用分时的Linux内核的Ubuntu Mate操作系统,但移动平台对于控制系统的实时性又有很高的需求,所以需要使用STM32作为下位机驱动控制器来控制平台的运动。

电机驱动板需要能够驱动4个直流电机,故选用四路BT N7971B直流电机驱动。增加隔离芯片74LS244来隔离BTN芯片和单片机,达到保护BTN和单片机芯片的目的。

激光雷达(光检测和测距)是一种传感技术,它使用光源和接收器进行远程物体检测和测距。在撞击物体后,发射的光脉冲被反射并返回激光雷达系统。LiDAR系统和物体之间的距离可由光脉冲发送和接收之间的时间算出[3]。

3  软件总体设计

机器人的软件框架主要利用ROS系统独特的代码模块化的方式进行构建,软件框架被分成独立的模块化程序,各模块中的代码可以被单独编译和执行,这些软件模块称为“节点”。软件总体框图见图2,该文将介绍底盘驱动和导航控制两个部分。

3.1 底盘驱动

这部分主要包括了机器人的运动控制和编码器、IMU等传感器原始数据的采集。STM32接收到上位机通过串口通信下发的原始速度和方向指令后,将总体速度和角度通过正交速度和方向分离为4个电机各自的速度,进而输出对应PWM给电机驱动模块。平台运动方式为差速式,可以通过两后侧电机的差速控制运动的方向。电机外接高精度的增量式AB相编码器,通过FTM正交解码获得当前电机转动的速度,由测得的速度和测速的时间间隔可得到运动位移,由位移和IMU传来的姿态信息可以计算得出系统在此段时间内相对位姿的变化情况。对下位机功能的具体运用见表1。

3.2 路径规划

该平台采用AMCL算法来做机器人的实时位置识别,A*算法做全局路径规划,DWA算法做局部路径规划[4],路径规划总体框架见图3。AMCL即为自适应蒙特卡洛定位算法,旨在复杂且非结构化的环境中,基于粒子分数计算过程之后的LIDAR点云扫描匹配过程,构建基于激光雷达的定位系统。就像在实际空间中有不同权值的机器人一样,这些粒子具有其自身的坐标和方向值。某个粒子的权重值为机器人的实际姿态与此粒子的预测姿态之间的绝对差,权值越大,该粒子预测的机器人字体就越准确。每当机器人在环境中移动并提供新的传感器数据时,都会对粒子进行重新采样。经过多次AMCL算法迭代后,粒子将收敛并评估机器人姿势的近似值。

A*算法是运算最快的路径规划算法,它结合了Dijkstra算法使用的信息(靠近起点的有利顶点)和贪婪最佳优先搜索算法中使用的信息(靠近目标的有利顶点)[5]进而进行路径规划。

4  结语

该文利用机器人操作系统ROS和开源卡片式电脑等设计了一个激光导航移动机器人平台,并在分布式框架下进行软件算法的开发,机器人的底层驱动控制器利用差速驱动的方式构建。在未來的工作中,平台在该文设计的基础上可以进行自主导航、构建地图、实时定位、视觉导航、语音识别等复杂应用的研究。

参考文献

[1] 肖军浩,卢惠民,薛小波,等.将机器人操作系统(ROS)引入本科实践教学[J].科技创新导报,2016(22):157-158.

[2] 胡振旺,陈益民,李林.基于STM32的家庭服务机器人系统设计[J].电子产品世界,2015(9):55-57.

[3] 贺利乐,王消为,赵涛.未知环境下履带式移动机器人SLAM研究[J].传感器与微系统,2018(10):50-53.

[4] 张永妮.智能机器人避障路径规划算法研究[J].中小企业管理与科技,2016(4):202-203.

[5] 刘云翔,杜杰,张晴.基于路径优化的A*算法与Dijkstra算法的性能比较[J].现代电子技术,2017(13):181-183,186.

[6] 胡振旺.基于STM32的家庭服务机器人系统设计[D].广东工业大学,2015.

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