一种避障方法及电子设备与流程

文档序号:17789281发布日期:2019-05-31 19:54阅读:192来源:国知局
一种避障方法及电子设备与流程

本发明实施例涉及人工智能领域,特别涉及一种避障方法及电子设备。



背景技术:

目前,自主移动机器人在行驶过程中通常会遇到障碍物,障碍物可分为动态障碍物(如行人、其他移动机器人)和静态障碍物(机器人工作区域的物体)。如果机器人安全避障策略不当,就有可能与这些障碍物发生碰撞导致安全事故。因此需要一个安全合理的避障方法,以提高自动驾驶机器人的安全性,同时保证机器人平稳减速停车以保护驱动电机。通常的做法是在机器人周围布置安装多个超声波传感器,若在机器人周围的一定范围以内,检测到障碍物后立即控制机器人的线速度下降为零,同时把制动装置打开。

发明人发现现有技术中至少存在如下问题:上述制动方式只适用于轻载机器人,若在重载小车机器人上使用这种制动方式,由于重载小车机器人惯性较大,紧急停车时,易对驱动电机造成损害并且使机器人的车轮受到磨损。



技术实现要素:

本发明实施方式的目的在于提供一种避障方法及电子设备,通过不同的避障方式,使避障处理更加灵活更加柔性,保证重载机器人可以避开障碍物,从而提高了机器人的安全性,减少紧急停车的次数,进而减少因紧急停车而造成对重载机器人的车轮的磨损、以及对重载机器人的电机的损害。

为解决上述技术问题,本发明的实施方式提供了一种避障方法,包括以下步骤:根据与障碍物之间的距离,确定所进入的避障区域的类型;根据机器人当前的运动速度,确定机器人的运动方式;根据机器人的运动方式以及避障区域的类型,确定机器人的避障方式;根据确定的避障方式进行避障。

本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述避障方法。

本发明实施方式相对于现有技术而言,通过避障区域的类型和机器人的运动方式,确定机器人在不同的避障区域中能够采用不同的避障方式,使用不同的避障方式进行避障,使避障处理更加灵活,保证重载机器人可以避开障碍物,从而提高了机器人的安全性,减少紧急停车的次数,进而减少因紧急停车而造成对重载机器人的车轮的磨损、以及对重载机器人的电机的损害。

另外,避障区域的类型,包括:减速区,紧急减速区和紧急制动区;根据与障碍物之间的距离,确定所进入的避障区域的类型,包括:若确定与障碍物之间的距离大于第二预设阀值,且,小于第一预设阀值,则确定所进入的避障区域的类型为减速区;若确定距离大于第三预设阀值,且,小于第二预设阀值,则确定所进入的避障区域的类型为紧急减速区;若确定距离小于第三预设阀值,则确定所进入的避障区域的类型为紧急制动区;其中,第一预设阀值大于第二预设阀值,第二预设阀值大于第三预设阀值。

该方式中,根据与障碍物之间的距离,与避障区域的类型所对应的各个区域的预设阀值进行比较,根据该比较结果,具体确定机器人进入到了哪个避障区域,在不同的避障区域内使用不同的避障方式进行避障,保证机器人能够柔性化的避开障碍物,使机器人能够平稳减速以避开障碍物,或,平稳减速后停车制动以避开障碍物,防止重载机器人由于惯性较大,在紧急停车时对重载机器人的车轮造成磨损。

另外,运动速度包括:线速度,和/或,角速度;根据机器人当前的运动速度,确定机器人的运动方式,包括:若确定机器人当前的线速度大于第四预设阀值,且,确定机器人当前的角速度小于第五预设阀值,则确定机器人的运动方式为按照线速度进行直线运动;否则,确定机器人的运动方式为按照线速度和角速度进行曲线运动。

另外,确定机器人的运动方式为按照线速度和角速度进行曲线运动,包括:若确定线速度不大于第四预设阀值,则确定机器人的运动方式为按照角速度和线速度进行无位移的曲线运动;若确定线速度大于第四预设阀值,且,角速度不小于第五预设阀值,则确定机器人的运动方式为按照线速度和角速度进行有位移的曲线运动。

另外,根据机器人的运动方式以及避障区域的类型,确定机器人的避障方式,包括:若确定机器人的运动方式为直线运动,则保持角速度不变,根据避障区域的类型和线速度,调整机器人的线速度,使用调整后的线速度进行避障;若确定机器人的运动方式为无位移的曲线运动,则保持线速度不变,根据避障区域的类型和角速度,调整机器人的角速度,使用调整后的角速度进行避障;若确定机器人的运动方式为有位移的曲线运动,则根据避障区域的类型、线速度和角速度,调整机器人的线速度和角速度,使用调整后的线速度和调整后的角速度进行避障。

该方式中,通过机器人不同的运动方式、避障区域的类型和运动速度,获得不同的避障方式,采用不同的避障方式,使机器人能够以调整后的运动速度平稳的躲避障碍物,避免因重载机器人的惯性较大,在紧急降速时造成对机器人的车轮磨损。

另外,根据避障区域的类型和线速度,调整机器人的线速度,包括:若确定所进入的避障区域的类型为减速区,则根据减速区对应的第一避障系数与线速度,调整机器人的线速度;若确定所进入的避障区域的类型为紧急减速区,则根据紧急减速区对应的第二避障系数与线速度,调整机器人的线速度,其中,第二避障系数大于第一避障系数,第二避障系数与机器人的运动加速度成正比;若确定所进入的避障区域的类型为紧急制动区,则紧急制动,将线速度降为零。

该方式中,通过机器人的线速度和确定所进入的避障区域的类型,获得调整后的线速度,使用该调整后的线速度及时躲避障碍物,保证机器人能够平稳地降低线速度,进而避开障碍物。

另外,根据避障区域的类型和角速度,调整机器人的角速度,包括:若确定所进入的避障区域的类型为减速区,则根据第一避障系数与角速度,调整机器人的角速度;若确定所进入的避障区域的类型为紧急减速区,则根据第二避障系数与角速度,调整机器人的角速度,其中,第二避障系数大于第一避障系数,第二避障系数与机器人的运动加速度成正比;若确定所进入的避障区域的类型为紧急制动区,则紧急制动,将角速度降为零。

该方式中,通过机器人的角速度和确定所进入的避障区域的类型,获得调整后的角速度,保证机器人能够以调整后的角速度平稳的躲避障碍物,避免因重载机器人的惯性较大,在紧急降速时造成对机器人的车轮磨损。

另外,根据避障区域的类型、线速度和角速度,调整机器人的线速度和角速度,包括:若确定所进入的避障区域的类型为减速区,则根据第一避障系数、角速度和线速度,调整机器人的角速度和线速度;若确定所进入的避障区域的类型为紧急减速区,则根据第二避障系数、角速度和线速度,调整机器人的角速度和线速度,其中,第二避障系数大于第一避障系数,第二避障系数与机器人的运动加速度成正比;若确定所进入的避障区域的类型为紧急制动区,则紧急制动,将机器人的角速度和线速度降为零。

另外,减速区对应的第一避障系数为根据距离和第一预设阀值确定,紧急减速区对应的第二避障系数为根据机器人的运动加速度,或,距离与第二预设阀值确定。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是根据本发明第一实施方式中的避障方法流程方框图;

图2是根据本发明第二实施方式中的避障方法流程方框图;

图3是根据本发明第三实施方式中的避障装置方框图;

图4是根据本发明第四实施方式中的电子设备方框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。

本发明的第一实施方式涉及一种避障方法。用于使避障处理更加灵活,保证机器人可以避开障碍物,从而提高机器人的安全性,减少紧急停车的次数,进而减少因紧急停车而造成对重载机器人的车轮的磨损以及对重载机器人的电机的损害。

下面对本实施方式中的避障方法的实现细节进行具体的说明,以下内容仅为方便理解本方案的实现细节,并非实施本方案的必须。

图1所示为本实施方式中的避障方法的流程图,该方法可应用于机器人。该方法可包括如下步骤。

在步骤101中,根据与障碍物之间的距离,确定所进入的避障区域的类型。

其中,避障区域的类型,包括:减速区,紧急减速区和紧急制动区。

具体地,若确定与障碍物之间的距离大于第二预设阀值,且,小于第一预设阀值,则确定所进入的避障区域的类型为减速区;若确定距离大于第三预设阀值,且,小于第二预设阀值,则确定所进入的避障区域的类型为紧急减速区;若确定距离小于第三预设阀值,则确定所进入的避障区域的类型为紧急制动区;其中,第一预设阀值大于第二预设阀值,第二预设阀值大于第三预设阀值。

需要说明的是,减速区、紧急减速区和紧急制动区是对机器人前方平面区域的一种几何划分:其中,与机器人之间的距离最远的区域为减速区,其次为紧急减速区,与机器人之间的距离最近的区域为紧急制动区。机器人避障的过程中,传感器检测到的机器人与障碍物之间的距离阀值分为第一预设阀值、第二预设阀值和第三预设阀值,其中,第三预设阀值是障碍物突然出现在机器人行驶方向的最短可容忍的距离。

在步骤102中,根据机器人当前的运动速度,确定机器人的运动方式。

其中,运动速度包括:线速度,和/或,角速度。

具体地,若确定机器人当前的线速度大于第四预设阀值,且,确定机器人当前的角速度小于第五预设阀值,则确定机器人的运动方式为按照线速度进行直线运动;否则,确定机器人的运动方式为按照线速度和角速度进行曲线运动。

需要说明的是,该运动速度包括线速度和角速度,或,只包括线速度,或,只包括角速度。例如,机器人在k时刻的运动速度为[vk,wk],其中vk表示机器人在k时刻的线速度,wk表示机器人在k时刻的角速度,若确定机器人的线速度vk大于第四预设阀值vt,并且,机器人的角速度wk小于第五预设阀值wt,其中,第五预设阀值wt为大于零的数,则确定机器人的运动方式为按照线速度vk进行直线运动,或,根据线速度vk和角速度wk做近似直线运动,因此时的角速度wk很小但不是零,主要是通过调整线速度vk以避开障碍物;否则,确定机器人的运动方式为按照线速度vk和角速度wk进行曲线运动。

其中,曲线运动分为有位移的曲线运动和无位移的曲线运动,具体的区分方式如下:若确定线速度不大于第四预设阀值,则确定机器人的运动方式为按照角速度进行无位移的曲线运动;若确定线速度大于第四预设阀值,且,角速度不小于第五预设阀值,则确定机器人的运动方式为按照线速度和角速度进行有位移的曲线运动。

例如:机器人在k时刻进行运动时,当第五预设阀值wt为大于零的数时,若确定机器人的线速度vk不大于第四预设阀值vt,且,角速度wk大于第五预设阀值wt,则确定机器人的运动方式为按照角速度wk进行无位移的曲线运动,其中的无位移的曲线运动,可以是机器人进行曲率较大的曲线运动,也可以是机器人在进行原地旋转运动。当第五预设阀值wt为小于零的整数时,若确定机器人的线速度vk不大于第四预设阀值vt,且,角速度wt小于第五预设阀值wt,则确定机器人的运动方式为按照角速度wk进行无位移的曲线运动,其中的无位移的曲线运动,可以是机器人进行曲率较大的曲线运动,也可以是机器人在进行原地旋转运动。若确定线速度vk大于第四预设阀值vt,且,角速度wk不小于第五预设阀值wt,其中,第五预设阀值wt为不等于零的整数,则确定机器人的运动方式为按照线速度vk和角速度wk进行有位移的曲线运动,其中的有位移的曲线运动,是指机器人进行曲率较小的曲线运动。

在步骤103中,根据机器人的运动方式以及避障区域的类型,确定机器人的避障方式。

在一个具体实现中,机器人的运动方式包括:直线运动、无位移的曲线运动和有位移的曲线运动;所进入的避障区域的类型有减速区、紧急减速区和紧急制动区,针对一种运动方式和所进入的避障区域的类型,来具体确定机器人的调整后的运动速度,进而具体确定机器人的避障方式。例如:机器人在k时刻进行运动时,根据机器人的运动速度[vk,wk],能够获得调整后的、使机器人安全行驶的运动速度:[vsafety_k,wsafety_k]。若确定机器人的运动方式为直线运动,则保持角速度不变,即wsafety_k=wk,使用调整后的线速度vsafety_k进行避障。若确定机器人的运动方式为无位移的曲线运动,则保持线速度不变,即vsafety_k=vk,使用调整后的角速度wsafety_k进行避障。若确定机器人的运动方式为有位移的曲线运动,则使用调整后的线速度vsafety_k和调整后的角速度wsafety_k进行避障。

在步骤104中,根据确定的避障方式进行避障。

需要说明的是,在机器人的机身上,分三层八个方位均装有超声波传感器,总共24个超声波传感器,机器人在行驶过程中,根据各层超声波传感器均能检测到障碍物,各个超声波传感器均需要在下位机处理器中计算出机器人与障碍物之间距离,通过串口将数据上报至上位机处理器,该上位机处理器将三个层次的超声波传感器处理后的数据压缩成一层,结合八个方位中的数据,获取到机器人在八个方位中与障碍物之间的距离,其中,每一个方位的数据代表在该方位上,超声波传感器所获得的数据中的数值最小的一个。并且,在机器人的前方中间位置装有激光雷达传感器,该激光雷达传感器的安装高度是根据机器人的工作环境而合理选择的;其中,激光雷达传感器连续遍历多条激光束,获得各个激光束之间的夹角,计算获得与障碍物之间的距离和方位。机器人的控制系统根据以上超声波传感器和激光传感器所测量获得的数据,获得最小的一个调整后的运动速度,并将该调整后的运动速度下发至下位机处理器,用以控制机器人进行避障,例如,在k时刻,该调整后的运动速度为[vsafety_k,wsafety_k]。

在本实施方式中,通过避障区域的类型和机器人的运动方式,确定机器人在不同的避障区域中能够采用不同的避障方式,使用不同的避障方式进行避障,使避障处理更加灵活,保证机器人在遇到障碍物时能够平稳减速停车,或,平稳减速到较低的安全速度缓慢通行,使重载机器人能够柔性化的避开障碍物,减少紧急停车的次数,进而减少因紧急停车而造成对重载机器人的车轮的磨损以及对重载机器人的电机的损害。

本发明的第二实施方式涉及一种避障方法。第二实施方式与第一实施方式大致相同,主要区别之处在于:根据机器人的不同的运动方式和所进入的避障区域的类型所对应的不同的避障系数,确定机器人的避障方式。

本实施方式中的避障方法的流程图如图2所示,该方法可包括如下步骤。

在步骤201中,若确定机器人的运动方式为直线运动,则保持角速度不变,根据避障区域的类型和线速度,调整机器人的线速度,使用调整后的线速度进行避障。

其中,若确定所进入的避障区域的类型为减速区,则根据减速区对应的第一避障系数与线速度,调整机器人的线速度;若确定所进入的避障区域的类型为紧急减速区,则根据紧急减速区对应的第二避障系数与线速度,调整机器人的线速度,其中,第二避障系数大于第一避障系数,第二避障系数与机器人的运动加速度成正比;若确定所进入的避障区域的类型为紧急制动区,则紧急制动,将线速度降为零。

需要说明的是,减速区对应的第一避障系数为根据距离和第一预设阀值确定,紧急减速区对应的第二避障系数为根据机器人的运动加速度,或,距离与第二预设阀值确定。

在一个具体实现中,第一避障系数m1=(dis_obs/dis_th_1)2,第二避障系数m2=(dis_obs/dis_th_2)3,其中,dis_obs为在行驶方向上机器人与障碍物之间的距离,dis_th_1为第一预设阀值,dis_th_2为第二预设阀值。

在一个具体实现中,机器人在k时刻的运动速度为[vk,wk],当机器人进行直线运动时,在减速至停车过程中,角速度wk大小保持不变,即wsafety_k=wk。若确定所进入的避障区域的类型为减速区,则机器人使用调整后的线速度vsafety_k=m1*vk进行减速行驶,进而避开障碍物;若确定所进入的避障区域的类型为紧急减速区,则机器人使用调整后的线速度vsafety_k=m2*vk进行紧急减速,进而避开障碍物;若确定所进入的避障区域的类型为紧急制动区,则机器人使用调整后的线速度vsafety_k=0,进行紧急制动,进而避开障碍物。

在步骤202中,若确定机器人的运动方式为无位移的曲线运动,则保持线速度不变,根据避障区域的类型和角速度,调整机器人的角速度,使用调整后的角速度进行避障。

其中,若确定所进入的避障区域的类型为减速区,则根据第一避障系数与角速度,调整机器人的角速度;若确定所进入的避障区域的类型为紧急减速区,则根据第二避障系数与角速度,调整机器人的角速度,其中,第二避障系数大于第一避障系数,第二避障系数与机器人的运动加速度成正比;若确定所进入的避障区域的类型为紧急制动区,则紧急制动,将角速度降为零。

在一个具体实现中,机器人在k时刻的运动速度为[vk,wk],当机器人进行无位移的曲线运动时,在减速至停车过程中,线速度vk大小保持不变,即vsafety_k=vk。若确定所进入的避障区域的类型为减速区,则机器人使用调整后的角速度为wsafety_k=m1*wk进行减速行驶,进而避开障碍物;若确定所进入的避障区域的类型为紧急减速区,则机器人使用调整后的角速度wsafety_k=m2*wk进行紧急减速,进而避开障碍物;若确定所进入的避障区域的类型为紧急制动区,则机器人使用调整后的角速度wsafety_k=0,进行紧急制动,进而避开障碍物。

在步骤203中,若确定机器人的运动方式为有位移的曲线运动,则根据避障区域的类型、线速度和角速度,调整机器人的线速度和角速度,使用调整后的线速度和调整后的角速度进行避障。

其中,若确定所进入的避障区域的类型为减速区,则根据第一避障系数、角速度和线速度,调整机器人的角速度和线速度;若确定所进入的避障区域的类型为紧急减速区,则根据第二避障系数、角速度和线速度,调整机器人的角速度和线速度,其中,第二避障系数大于第一避障系数,第二避障系数与机器人的运动加速度成正比;若确定所进入的避障区域的类型为紧急制动区,则紧急制动,将机器人的角速度和线速度降为零。

在一个具体实现中,机器人在k时刻的运动速度为[vk,wk],当机器人进行有位移的曲线运动时,若确定所进入的避障区域的类型为减速区,则机器人使用调整后的角速度为wsafety_k=m1*wk,和调整后的线速度vsafety_k=m1*vk进行减速行驶,进而避开障碍物;若确定所进入的避障区域的类型为紧急减速区,则机器人使用调整后的角速度wsafety_k=m2*wk,和调整后的线速度vsafety_k=m2*vk进行紧急减速,进而避开障碍物;若确定所进入的避障区域的类型为紧急制动区,则机器人使用调整后的角速度wsafety_k=0,线速度vsafety_k=0进行紧急制动,进而避开障碍物。

在本实施方式中,通过机器人不同的运动方式、避障区域的类型和运动速度,获得不同的避障方式,采用不同的避障方式,使机器人能够以调整后的运动速度平稳的躲避障碍物,增加了机器人的避障方式的可选择性,避免因重载机器人的惯性较大,在紧急降速时造成对机器人的车轮磨损。

上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。

本发明的第三实施方式涉及一种避障装置,该装置的具体实施可参见第一实施方式的相关描述,重复之处不再赘述。值得说明的是,本实施方式中的装置的具体实施也可参见第二实施方式的相关描述,但不局限于以上两个实施例,其他未说明的实施例也在本装置的保护范围之内。

如图3所示,该装置主要包括:确定避障区域类型模块301,确定运动方式模块302,确定避障方式模块303和避障模块304;确定避障区域类型模块301用于根据与障碍物之间的距离,确定所进入的避障区域的类型;确定运动方式模块302用于根据机器人当前的运动速度,确定机器人的运动方式;确定避障方式模块303用于根据机器人的运动方式以及避障区域的类型,确定机器人的避障方式;避障模块304用于根据确定的避障方式进行避障。

不难发现,本实施方式为与第一或第二实施方式相对应的装置实施例,本实施方式可与第一或第二实施方式互相配合实施。第一或第二实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一或第二实施方式中。

值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。

本申请第四实施方式提供了一种电子设备,该设备具体结构如图4所示。包括至少一个处理器401;以及,与至少一个处理器401通信连接的存储器402。其中,存储器402存储有可被至少一个处理器401执行的指令,指令被至少一个处理器401执行,以使至少一个处理器401能够执行第一实施方式所描述的避障方法。

本实施方式中,处理器401以中央处理器(centralprocessingunit,cpu)为例,存储器402以可读写存储器(randomaccessmemory,ram)为例。处理器401、存储器402可以通过总线或者其他方式连接,图4中以通过总线连接为例。存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中实现避障方法的程序就存储于存储器402中。处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述避障方法。

存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储选项列表等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。

一个或者多个程序模块存储在存储器402中,当被一个或者多个处理器401执行时,执行上述任意方法实施例中的避障方法。

上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。

本申请的第五实施方式涉及一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,该计算机程序被处理器执行时能够实现本申请任意方法实施例中涉及的避障方法。

本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1