APP下载

基于SLAM算法的清洁设备研究*

2024-01-03崔志鹏曾祥明李佳睿薛培延乔俊福

机械工程与自动化 2023年6期
关键词:前进方向建图爬楼

王 琦,崔志鹏,曾祥明,李佳睿,薛培延,乔俊福

(太原工业学院 自动化系,山西 太原 030008)

0 引言

随着社会的发展以及人们生活节奏的加快,越来越多的人想要把自己从繁琐的家务中解脱出来,市场对于扫地机器人的需求也越来越大。而当下市面上的扫地机器人大多为随机式、LDS激光式和视觉导航式,这些扫地机器人路径规划方式不仅低效,还有着扫描不全面、抗干扰能力弱、功能较为单一等缺陷,无法满足一些特殊的需求,为此研发了一种扫描更全面、路径规划更精准、功能更加齐全的清洁机器人。

1 设备介绍

我们设计的基于SLAM算法的多功能清洁机器人由底盘、爬楼机构、清洁机构、激光雷达及控制系统等组成。通过激光雷达及时检测机器人周围环境,从而实现清洁机器人的防跌落以及障碍物的检测;由吸尘装置结合毛刷反复清洁以增强清洁能力,可以带走墙体死角等处难以清除的灰尘细毛;通过合理地设计机器人的机械结构,使机器人更加多功能化,可以清洁大教室、会议室等难以清洁的地方。

2 结构设计

2.1 爬楼机构

爬楼机构如图1所示,主要由机械臂、舵机、滑轨、齿条等组成。

图1 爬楼机构

(1) 当机器人检测到前方有楼梯时,上端机械臂通过舵机控制逆时针旋转,同时下端机械臂通过舵机控制顺时针旋转将机器人支撑起来。

(2) 将机器人支撑起来后,通过齿轮齿条传动机构将机器人前半部分伸出;通过齿轮反向旋转,使机器人后半部分向前运动。

(3) 后半部分向前运动之后,机器人重心前倾,通过后轮摩擦力的作用使机器人成功攀爬上台阶,完成爬楼。

清洁机器人爬楼过程如图2所示。

图2 清洁机器人爬楼过程

2.2 清洁机构

清洁机构(如图3所示)的扫帚叶片由电机驱动,两个电机相对转动将灰尘等垃圾扫至中间灰尘吸入口处,通过抽风机将垃圾吸入到尘盒中,完成对地面的清洁。

图3 清洁机构

3 控制部分及工作原理

清洁机器人控制部分的底层架构由单片机控制中心、电机调速系统、PID算法控制器等构成,下面依次介绍各个部分原理及其作用。

3.1 单片机控制中心

清洁机器人由旭日X3派作为开发板,它兼容了以前的树莓派接口,具有更强的算力与处理能力且支持Ubuntu20系统。

3.2 电机PWM调速

电机调速使用直流电机脉冲宽度调制(Pulse Width Modulation),简称PWM。在驱动控制的调整系统中,可以根据需要的速度改变一个周期内电平接通和断开的时间长短,即通过改变占空比来改变平均电压的大小,从而控制电机的转速。

3.3 机器人的移动控制

使用开环控制的电机当发出速度等于0的指令后,由于惯性存在,电机会继续转动一段时间,所以我们利用PID算法实现快、准、稳的速度控制。PID(Proportion Integration Differentiation)其实就是指比例、积分、微分控制,可以利用如下公式根据误差值e(t)控制变量和获取反馈去不断修正控制函数U(t):

其中:kP、TI、TD分别为比例增益、积分增益及微分增益。

4 SLAM建图及路径规划算法

由于摄像头在室外工作时受环境、光照影响较大,而激光雷达受光照影响较小,即使在黑暗条件下也能很好地工作,所以我们选择用激光雷达感知环境。激光雷达通过向目标环境发射激光数据,并对接收反射回来的数据进行分析,进而完成环境地图和位置的计算。

使用卡尔曼滤波(KF)和人工神经网络算法对多种传感器的数据进行信息融合,进而将处理后的数据运用 Gmapping 算法和 AMCL 定位系统进行SLAM 建图,最后使用Move_base功能包实时规划出最优的全局与局部路径,使设备实现自主导航与自动避障。

4.1 AMCL定位系统

AMCL即自适应蒙特卡洛定位,其核心是一种利用粒子表示置信度的自适应蒙特卡罗算法,主要原理是:根据环境地图,采样粒子估计机器人位姿的概率分布,其可靠程度由粒子权重决定。

这种方法会在机器人可能的定位位置周围假设多个前进方向,然后在机器人行进过程中,依据激光雷达和编码器等信息对这些假设的前进方向进行筛选,逐步剔除明显不可信的假设前进方向,留下可信度较高的前进方向。在机器人运动过程中,那些假设前进方向会逐渐收敛,最终汇聚成一个机器人最可信的定位位置。

4.2 SLAM建图

为了在 SLAM 建图过程中能够生成最佳效果的二维地图,我们参考了文献[1],在原有 AMCL 算法的基础上,添加了动态参数,使其粒子群收敛速度根据机器人速度的改变而改变,使清洁机器人的实时定位更加精确。

我们用Gazebo软件仿真场景,得到的Gazebo仿真场景如图4所示。图4中,有两个虚拟墙壁(正方形)、两个障碍物(小圆)和激光雷达(大圆)。激光雷达扫描环境,并在Rviz中显示计算后的SLAM建图结果,如图5所示。

图4 Gazebo仿真场景

图5 Rviz中显示的SLAM建图结果

由此可见,使用各种传感器和激光雷达能够成功检测到障碍物和周围环境,并准确建出此场景的地图。

4.3 路径规划

所谓路径规划,是指达到机器人行走路线最短、行走时间最短等目标并避开障碍物(DWA算法)到目标点的最优路径。

关于全局最优路径规划问题,我们使用了A*(A-Star)算法[2]。A*是一种静态路网中求解最短路径最有效的直接搜索方法,也是解决许多搜索问题的有效算法。它结合了BFS和dijkstra算法的优点,在进行启发式搜索提高算法效率的同时,可以基于评估函数保证找到一条最优路径。

关于机器人需要具备的自动避障功能,我们选用DWA算法作为机器人的局部路径规划算法,其流程为:首先使用激光雷达扫描来寻找一切即将到来的障碍物,并将数据传递给机器人,接着对数据进行解析,提前规划好最优路线,最后评价每一个方案后择优实现,一直重复上述步骤至遍历完成。

Move_Base是 Navigation 系统里扮演核心中枢的 ROS 包,它将机器人导航需要用到的地图、坐标、路径和行为规划器连接到了一起,同时还提供了导航参数的设置接口。使用此功能包可以实时规划出最优的全局与局部路径,清洁机器人可以实现自主导航与自动避障的功能。

5 样机效果

制作的清洁机器人样机如图6所示,经测试机器人可实现运动控制和SLAM建图,并给出最优路径规划方案。

图6 制作的清洁机器人样机

6 产品适用范围及推广前景

在一些大型工厂中,往往需要清洁一些对人体不太友好的废弃物,使用大型设备极大地浪费了资源,并且建造成本极高。在阶梯大教室及会议厅等频繁使用的大型场所更是如此,因此外形小巧、可自动避障、高效率的智能清洁机器人就显得颇为合适了。故该机器人不论在车间、火车站还是大型会议厅均有很广阔的应用前景。

猜你喜欢

前进方向建图爬楼
爬楼难、起床僵、关节痛,这究竟是什么病
视觉同步定位与建图中特征点匹配算法优化
基于三轮全向机器人的室内建图与导航
一种基于多传感融合的室内建图和定位算法
履带变构式轮履复合爬楼轮椅爬楼平稳性分析
步步惊心——“爬楼族”
高空挑战造成伤亡,谁担责
机器人室内语义建图中的场所感知方法综述
深入学习贯彻党的十九大精神正确把握新时代的前进方向
走向深蓝