基于Logistic映射的扫地机器人路径规划设计
2020-11-20宋玉宏刘加松
宋玉宏,刘加松
(1.顺德职业技术学院 智能制造学院,广东 佛山 528333;2.深圳市北斗云信息技术有限公司,广东 深圳 518131)
扫地机器人越来越成为家居环境的重要帮手,常见的清洁路径规划可以分为两类:盲目式路径规划和智能式路径规划。对于盲目式路径规划而言,其采用的是由规则的线段组成的平面遍历网络,通过硬性地遍历清洁区域的各个点,达到清洁的目的;而对于智能式路径规划而言[1],则是采用雷达等传感器,通过回传的数据生成一个属于清洁区域的可执行地图,而后采用各种路径优化算法进行路径规划,从而遍历整个清洁区域,最终达到清洁的目的。目前,扫地机器人的性能在不断地朝着智能化方向发展,对于路径规划技术而言,盲目式路径规划属于落后技术,因此对于智能化路径规划技术的研究是一个热门的课题,比如随机性等算法运用到路径规划[2-3]。
混沌作为重要的科学发现之一,自上世纪六十年代以来,从建立到发展以及实际应用引起了大量的科学家和工程师的研究兴趣[4-5]。由于混沌具有伪随机性、遍历性、有界性以及对初始参数值得敏感依赖性等特征[6]。根据混沌理论及其性质,本文重点研究基于Logistic映射混沌算法控制下的扫地机路径规划,将混沌应用于扫地机的遍历行走控制中,实现在清洁区域上的随机遍历行走,进一步优化扫地机的清洁路径,提高扫地机的工作效率。在总体方案上设计一台能够实现高自由度的可控行走扫地机,实现在二维平面上的自由行走,而后采用微控制器实现混沌算法的反馈控制,实现扫地机的混沌算法路径规划。
1 混沌动力学方程及其轨迹
有一些较著名的混沌动力学方程[7-8],如Lorenze映射、蔡氏电路微分方程、Duffing映射、Henon映射以及Logistic映射。
三维映射的代表,蔡氏电路微分方程如下:
两维映射的代表,Duffing映射方程为:
Logistic映射是一维的代表,其方程为:
以这些典型映射的解的维数,结合扫地机器人二维平面上的运行轨迹,可以通过使用方程三维解(x,y,z)的某个组合进行扫地机器人的路径规划控制,也可以直接通过使用方程二维解(x,y)进行路径规划控制,或者拓展一维解进行路径规划控制。本文仅针对Logistic一维映射展开混沌路径规划控制的研究。
2 Logistic映射的算法
2.1 Logistic映射的动态特性
在所有混沌方程中,Logistic映射是相对较为简单的混沌系统[9],其经典形式为上述的式(3)。Logistic映射形式虽简单,但却具复杂的动态特性[10-11]。图1是Logistic映射的n-x-a三维图像,图2是分岔图,其中,n为迭代次数,x为状态变量,a为控制变量。
图1 Logistic映射的n-x-a三维图像
图2 Logistic映射的分岔图
图1的n-x-a三维图像是由控制变量a在不同取值下的Logistic映射在空间上的堆叠合成。其中,迭代次数n从0到1 000的变化,控制变量a从0到4变化,且在区间[0,4]上均匀细分为100份,状态变量x的初值取0.2。观察图像,可以看出,随着控制变量a的增大,Logistic映射的状态变量x的变化更加无规则化。
图2的分岔图主要是由图1三维图像通过特定的迭代次数截取后,在a-x平面上的投影。其中,迭代次数n从0到10 000的变化,控制变量a从0到4变化,且在区间[0,4]上均匀细分为10 000份,状态变量x的初值取0.2,映射的迭代截取方式为最后100次。通过图2分岔图可以发现以下性质:
1)当a大约在0到1之间时,状态变量x通过多次迭代后均达到同一稳定值0;
2)当a大约在1到2.998 7之间时,状态变量x通过多次迭代后达到各自的稳定值;
3)当a大约在2.998 7到3.449 14之间时,状态变量通过多次迭代后在各自的两个稳定值之间来回振荡,出现二倍周期分岔;
4)当a大约在3.449 14到3.543 954 395之间时,状态变量x通过多次迭代后在各自的四个稳定值之间来回振荡,出现四倍周期分岔;
5)当a大约在3.543 954 395到4之间时,状态变量x通过多次迭代后,要么出现周期性振荡,要么出现混沌振荡;
6)当a=4时,状态变量x无稳定点,出现混沌振荡,且该数值的覆盖范围为区间[0,1],迭代结果是一个类随机的序列。
以上通过研究Logistic映射中的控制变量a的取值变化,以及该映射在迭代过程所引起状态变量xn的变化关系,可以看出Logistic映射具有复杂的动态特性。
2.2 Logistic混沌序列在路径上的控制
利用其混沌特性来规划扫地机器人的路径规划。为确保Logistic混沌序列的产生,其参数设置为:控制变量a取4,状态变量x的初值取0.2。
Logistic映射的状态变量只有x,对于扫地机器人的混沌轨迹规划,我们应用单个状态变量x拓展为两个不同的扫地机行走控制变量,以使得扫地机器人在二维平面上以混沌的方式遍历整个区间。
在扫地机器人的行走控制中,主要有行走位移s、速度v及转弯角度θ物理量的控制。为了简化控制,把控制量都基于一个固定的时间节拍tset。当行走速度v给定后,经过固定的时间拍tset后,其行走位移s也就确定了,故行走速度v的控制实质上可以转化为行走位移s的控制。故行走控制进一步简化为行走位移s与转弯角度θ这两个物理量的控制。
考虑到扫地机器人位移与角度两个量的关系,在极坐标系上进行控制研究比较直接。把极坐标的原点定义为扫地机器人响应物理量变化时的位置,定义扫地机器人在响应物理量变化前的行走方向为极轴正方向,机器人沿极径旋转角度定义为极角的大小。由于扫地机器人的行走方向是通过一定的时间节拍而改变的,所以该扫地机器人的极坐标系的原点是一直在变化的,因此,对于扫地机器人的行走轨迹,本质上描述的直角坐标系下的行走向量的有向连接图。设扫地机器人上电运行前的位置为直角坐标系的原点,该极轴方向与直角坐标系下的y轴重合。若将直角坐标系与该扫地机器人的极坐标系建立在同一个图像中,并使用细实直线表示直角坐标系下的x和y轴,使用粗实直线表示扫地机器人的极坐标系下的极轴,使用粗虚直线表示扫地机器人的行走轨迹,si表示行走位移,θi表示行走转角,则该图像具体如图3所示,图中仅标识出6个坐标点的情况。
图3 扫地机器人极坐标系
综上,结合Logistic映射的特性,在此可以引申出多种混沌控制策略,如行走转角、行走位移以及两者混合控制策略。下面重点研究下行走转角的单独控制策略。
2.3 行走转角的控制策略
在该策略中,主要的思路是让扫地机器人以固定的速度vset行走特定的时间节拍tset,响应一次Logistic映射的迭代方程,得到一个新的Logistic映射迭代值xn,并将这个迭代值转换为扫地机器人的行走转角θn,而后扫地机器人朝着这个新的方向以固定的速度vset再行走一定的时间拍tset,再响应一次Logistic映射的迭代方程,再一次得到一个新的Logistic映射迭代值x'n,依此类推,达到混沌路径规划控制的目的。
因为Logistic映射迭代值xn的值域是[0,1],故在扫地机器人的行走控制中,对于其行走转角的θn值域,需要通过迭代值的xn值域区间拓展为一个转角区间[-θset,θset],其中θset是行走转角的最大取值,这是一个可以设定的数值,不同值会引起不同的行走轨迹。在此,将Logistic映射迭代值xn的拓展为[-1,1],这样一来θset与相乘后行走转角程度才能左右平衡,又由于扫地机器人的极坐标的极轴方向一直在变动,故转换为直角坐标时,扫地机器人相对于原点的转为n次行走转角的总和,同时,行走当转角大于0时,扫地机器人逆时针方向偏转,行走轨迹在直角坐标系上表现为x轴负方向的增量,反之亦然,因此扫地机器人的轨迹迭代方程可以表示为:
式(4)中,为扫地机器人的行走位移,(Pxn,Pyn)为行走轨迹的直角坐标点。可以通过仿真观察扫地机器人在不同的θset值下的行走轨迹,并将多个行走轨迹在空间上进行堆叠,生产一个单参数控制行走轨迹空间堆叠图,能直观地看出θset对扫地机器人行走轨迹影响,如图4是仿真结果。图中,x为行走轨迹的横坐标,y为行走轨迹的纵坐标,θset为行走转角的最大取值。仿真的迭代次数设置为1 000次,行走位移s为1,θset的取值从到π,并且均匀分割为100等份。通过该图可以观察到,随着θset的值得增大,行走轨迹所覆盖的x-y平面区间越小,同时还可以观察到,该图像在层间有一定的周期性和相似性。该图简单的阐明了θset参数在扫地机行走轨迹中的控制作用。分别选取θset的值为进行100 000次仿真实验,得到的单参数控制行走轨迹图如图5所示。
行走转角单独控制策略简单,但从仿真结果可以看出θset参数在扫地机行走轨迹中具有控制作用,且θset取时扫地机路径覆盖效果较好。
图4 单参数控制行走轨迹空间堆叠图
图5 单参数控制行走轨迹图
3 系统流程设计
以STM32F407ZGt6为控制核心设计扫地机的单片机软硬件系统,实现包括混沌路径规划、路径数据反馈、碰撞保护、悬挂保护以及电机驱动等。其中,按照Logistic混沌算法控制扫地机的行动路径,系统流程图如图6所示。
4 结论
Logistic映射在特定初始值和控制参数时表现出混沌特性,基于此特性,设计扫地机的路径规划算法和控制策略,即对Logistic映射的一维特性进行拓展,对扫地机行走转角进行单独控制,仿真验证了控制策略的有效性,能实现有界平面上的类随机性的路径规划。
图6 系统流程图