本发明实施例涉及人工智能技术领域,尤其涉及一种避障方法及机器人。
背景技术:
随着科技的发展,人工智能机器人被越来越多的应用于各行各业当中,以替代传统的劳动力。
机器人在行进过程中,需要避开障碍物,目前常用的机器人避障方法包括:检测机器人与障碍物的距离,当检测到的距离小于预设距离时,控制机器人停止移动。
实际应用中,出于机器人行走安全性等因素考虑,一般来说,上述预设距离的设定值一般较大,从而使得机器人的行走空间比较受限,降低了机器人的利用率。
技术实现要素:
本发明实施例提供一种避障方法及机器人,用以解决现有技术中避障距离的设定值较大,从而使得机器人的行走空间受限的问题。
本发明实施例提供一种机器人,包括:控制器、驱动装置以及设置在所述机器人机身上的避障检测装置;
所述避障检测装置,用于检测机器人正前方、左侧前方、右侧前方是否存在障碍物以及机器人与障碍物的距离和方位角度;
当避障检测装置检测到机器人正前方不存在障碍物,左侧前方和右侧前方存在障碍物时,将检测到的第一距离、第一方位角、第二距离、第二方位角发送至所述控制器,其中,第一距离和第一方位角与左侧障碍物对应,第二距离和第二方位角与右侧障碍物对应;
所述控制器,在确定所述第一距离和/或所述第二距离小于预设阈值时,根据所述第一距离、所述第一方位角、所述第二距离和所述第二方位角计算左侧障碍物和右侧障碍物之间的第三距离,并在所述第三距离大于所述机器人的预设尺寸参数时,通过控制所述驱动装置使所述机器人继续前进。
本发明实施例提供一种避障方法,应用于机器人,包括:
检测机器人正前方、左侧前方、右侧前方是否存在障碍物以及机器人与障碍物的距离和方位角度;
当检测到机器人正前方不存在障碍物,左侧前方和右侧前方存在障碍物时,判断左侧障碍物对应的第一距离和/或右侧障碍物对应的第二距离是否小于预设阈值;
在确定所述第一距离和/或所述第二距离小于预设阈值时,根据所述第一距离、第一方位角、所述第二距离和第二方位角计算左侧障碍物和右侧障碍物之间的第三距离,并在所述第三距离大于所述机器人的预设尺寸参数时,控制所述机器人继续前进,其中,第一方位角与左侧障碍物对应,第二方位角与右侧障碍物对应。
本发明实施例提供的避障方法及机器人,当机器人确定正前方不存在障碍物,左侧前方和右侧前方存在障碍物时,根据与左侧障碍物对应的第一距离和第一方位角,以及与右侧障碍物对应的第二距离和第二方位角计算出左侧障碍物和右侧障碍物之间的第三距离,并在第三距离大于机器人的预设尺寸参数时继续前进,即只要左右侧障碍物间的距离容许机器人通过,就控制机器人前行,降低了对机器人的行走空间的过分限制,提高了机器人的利用率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种机器人的结构示意图;
图2为与图1所示实施例对应的一实际场景示意图;
图3为本发明实施例二提供的一种机器人的结构示意图;
图4为与图3所示实施例对应的一实际场景示意图;
图5为与图3所示实施例对应的另一实际场景示意图;
图6为本发明实施例三提供的一种避障方法流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当机器人在行进的过程中遇到比预设的避障距离小的过道、门口等空间时,即使该空间有冗余让机器人通过,机器人也会停在原地不再前进。这时候,如果没有人来将机器人向前推,则机器人就会一直停滞在那里。不仅降低机器人的利用率,而且浪费人力和时间。
图1为本发明实施例一提供的一种机器人的结构示意图,如图1所示,机器人100包括控制器1、驱动装置3以及设置在所述机器人机身上的避障检测装置2。
避障检测装置2,用于检测机器人100正前方、左侧前方、右侧前方是否存在障碍物以及机器人与障碍物的距离和方位角度。
具体地,避障检测装置2可以包括超声传感器、红外线传感器、激光传感器及雷达传感器等,本发明实施例不做限定。
当避障检测装置2检测到机器人100正前方不存在障碍物,左侧前方和右侧前方存在障碍物时,将检测到的第一距离、第一方位角、第二距离、第二方位角发送至控制器1,其中,第一距离和第一方位角与左侧障碍物对应,第二距离和第二方位角与右侧障碍物对应。
控制器1在确定第一距离和第二距离都小于预设阈值,或者在确定第一距离或者第二距离中的一个小于预设阀值时,根据第一距离、第一方位角、第二距离和第二方位角计算左侧障碍物和右侧障碍物之间的第三距离,并在第三距离大于机器人100的预设尺寸参数时,通过控制驱动装置3使机器人100继续前进;其中所述预设阀值可以根据机器人100机身尺寸及行走环境等因素设置。
具体地,图2为与图1所示实施例对应的一实际场景示意图,如图2所示,机器人100左右两侧均有障碍物,避障装置2安装在机器人机身的正前方,在机器人100行进过程中,或者机器人100即将由静止状态转变成行进状态时,避障检测装置2对机器人100周围L距离的空间范围进行检测,判断机器人100正前方、左侧前方和右侧前方是否存在障碍物,当机器人100正前方L距离范围内存在障碍物时,将检测到的前方障碍物信息发送至控制器1,以使控制器1通过控制驱动装置3使机器人100停止运动或保持静止。
当避障检测装置2检测到机器人100前方L距离范围内正前方没有障碍物,左侧前方和右侧前方存在障碍物时,检测机器人100与左前方障碍物之间的第一距离L1及第一方位角α1,以及机器人100与右前方障碍物之间的第二距离L2及第二方位角α2,并将检测到的第一距离L1、第一方位角α1、第二距离L2、第二方位角α2发送至控制器1。
当控制器1在确定第一距离L1和第二距离L2都大于或等于预设阈值时,通过控制驱动装置3使机器人100继续前进。
当控制器1在确定第一距离L1和第二距离L2都小于预设阈值,或者在确定第一距离L1或者第二距离L2中的一个小于所述预设阀值时,根据第一距离L1、第一方位角α1、第二距离L2和第二方位角α2计算左侧障碍物和右侧障碍物之间的第三距离L3,并在第三距离L3大于机器人100的预设尺寸参数时,通过控制驱动装置3使机器人100继续前进,在第三距离L3小于或等于机器人100的预设尺寸参数时,通过控制驱动装置3使机器人100停止前进。其中,预设尺寸参数可以是机器人的横向宽度,也可以是机器人的侧身厚度。
本发明实施例提供的机器人,当确定正前方不存在障碍物,左侧前方和右侧前方存在障碍物时,根据与左侧障碍物对应的第一距离和第一方位角,以及与右侧障碍物对应的第二距离和第二方位角计算出左侧障碍物和右侧障碍物之间的第三距离,并在第三距离大于机器人的预设尺寸参数时继续前进。本方案中,只要左右侧障碍物间的距离容许机器人通过,就控制机器人前行,不会像现有技术中,当确定机器人距离一侧障碍物的距离小于某较大阈值就控制机器人停止前行,使得机器人的行走空间不受到过分限制,提高了机器人的利用率。
图3为本发明实施例二提供的一种机器人的结构示意图,如图3所示,在图1所示实施例的基础上,避障检测装置2包括:第一传感器21、第二传感器22、第三传感器23。
第一传感器21,用于检测机器人100正前方是否存在障碍物以及机器人100与障碍物的距离和方位角度。
所述第二传感器22,用于检测机器人100左侧前方是否存在障碍物以及机器人100与障碍物的距离和方位角度。
所述第三传感器23,用于检测机器人100右侧前方是否存在障碍物以及机器人100与障碍物的距离和方位角度。
具体地,第一传感器21、第二传感器22及第三传感器23可以包括超声传感器、红外线传感器、激光传感器或雷达传感器,本实施例不做限定;
通过不同的传感器分别测量机器人正前方、左侧前方及右侧前方的障碍物,提高了测量的速度及精准度,为控制器在最短的时间内准确做出判断提供了基础。
当第一传感器21检测到机器人100正前方不存在障碍物,第二传感器22及第三传感器23分别检测到左侧前方和右侧前方存在障碍物时,第二传感器22及第三传感器23分别将检测到的第一距离、第一方位角、第二距离、第二方位角发送至控制器1,其中,第一距离和第一方位角与左侧障碍物对应,第二距离和第二方位角与右侧障碍物对应。
可选地,此时,第一传感器21也可以向控制器1发送指示没有检测到障碍物的指示信号。
控制器1的后续处理过程,参见图1所示实施例,不再赘述。
图4为与图3所示实施例对应的一实际场景示意图,如图4所示:
第一传感器21,位于机器人100机身的正前方,优选位于机器人100机身的垂直中线上,用于检测机器人100正前方L’距离范围内是否存在障碍物以及机器人100与障碍物的距离和方位角度。
第二传感器22,位于机器人100机身的左侧前方,用于检测机器人左侧前方是否存在障碍物以及机器人与左侧障碍物的距离L1’和方位角度α1’。
第三传感器23,位于机器人100机身的右侧前方,用于检测机器人右侧前方是否存在障碍物以及机器人与右侧障碍物的距离L2’和方位角度α2’。
当第一传感器21检测到机器人100正前方L’距离范围内不存在障碍物,第二传感器22及第三传感器23分别检测到左侧前方和右侧前方存在障碍物时,第二传感器22及第三传感器23分别将检测到的第一距离L1’、第一方位角α1’、第二距离L2’、第二方位角α2’发送至控制器1。
控制器1在确定第一距离L1’和第二距离L2’都大于或等于预设阀值时,通过控制驱动装置3使机器人100继续前进。
控制器1在确定第一距离L1’和第二距离L2’都小于预设阈值,或者在确定第一距离L1’和第二距离L2’中的一个小于预设阈值时,根据第一距离L1’和第一方位角α1’计算出左侧障碍物距机器人100机身左侧的距离S1,并根据第二距离L2’和第二方位角α2’计算出右侧障碍物距机器人100机身右侧的距离S2,S1加S2再加上预先设定的机器人的宽度S,即可得到机器人100左侧障碍物和右侧障碍物之间的第三距离L3’,在第三距离L3’大于机器人100的预设尺寸参数时,控制器1通过控制驱动装置3使机器人100继续前进;在第三距离L3’小于机器人100的预设尺寸参数时,控制器1通过控制驱动装置3使机器人100停止前进。
图5为与图3所示实施例对应的另一实际场景示意图,如图5所示:
第一传感器21,位于机器人100机身的正前方,优选位于机器人100机身的垂直中线上,用于检测机器人100正前方L’距离范围内是否存在障碍物以及机器人100与障碍物的距离和方位角度。
第二传感器22,位于机器人100机身的左侧前方,用于检测机器人左侧前方是否存在障碍物以及机器人与左侧障碍物的距离L1’和方位角度α1’。
第三传感器23,位于机器人100机身的右侧前方,用于检测机器人右侧前方是否存在障碍物以及机器人与右侧障碍物的距离L2’和方位角度α2’。
当第一传感器21检测到机器人100正前方L’距离范围内不存在障碍物,第二传感器22及第三传感器23分别检测到左侧前方和右侧前方存在障碍物时,第二传感器22及第三传感器23分别将检测到的第一距离L1’、第一方位角α1’、第二距离L2’、第二方位角α2’发送至控制器1。
控制器1在确定第一距离L1’和第二距离L2’都大于或等于预设阀值时,通过控制驱动装置3使机器人100继续前进;
控制器1在确定第一距离L1’和第二距离L2’都小于预设阈值,或者在确定第一距离L1’和第二距离L2’中的一个小于预设阈值时,根据第一距离L1’和第一方位角α1’计算出左侧障碍物距机器人100机身左侧的距离S1,并根据第二距离L2’和第二方位角α2’计算出右侧障碍物距机器人100机身右侧的距离S2,预先设定的机器人的宽度S减去S1加上S2,即可得到机器人100左侧障碍物和右侧障碍物之间的第三距离L3’,在第三距离L3’大于机器人100的预设尺寸参数时,控制器1通过控制驱动装置3使机器人100继续前进;在第三距离L3’小于机器人100的预设尺寸参数时,控制器1通过控制驱动装置3使机器人100停止继续前进。
可选地,在第三距离L3’大于机器人100的预设尺寸参数时,控制器1通过控制驱动装置3使机器人100减速前进。
通过在机器人与障碍物的距离小于预设阀值但大于机器人的预设尺寸参数时,控制机器人减速前进,有利于及时调整机器人的行进状态,避免了因机器人行走速度过快导致的来不及避障的问题发生,从而保证了机器人的使用安全。
进一步地,控制器1还用于在比较确定第一距离L1’和第二距离L2’不相等时,通过控制驱动装置3使机器人100向左或向右移动,使得第一距离L1’和第二距离L2’相等。
通过调整机器人与左、右两侧障碍物的距离,使机器人在左右两侧障碍物之间的正中位置行进,进一步避免了机器人与两侧障碍物发生碰撞,保障了机器人的安全使用。
具体地,参见图4或图5,所述预设尺寸参数包括机器人100的横向宽度S和/或侧身厚度d。
以机器人的横向宽度和/或侧身厚度作为预设尺寸参数,在保证机器人不与两侧障碍物发生碰撞的基础上,可以最大程度的利用障碍物之间的行走空间,进一步提高了机器人的利用率。
进一步地,本发明实施例提供的机器人还包括转向装置,控制器1还用于在第三距离L3’大于横向宽度S时,控制驱动装置3,使机器人100正向前进;在第三距离L3’小于横向宽度S且大于侧身厚度d时,控制驱动装置3和转向装置,使机器人100侧身前进。
以图5所示场景为例,控制器1在比较确定第一距离L1’和第二距离L2’不相等时,通过控制驱动装置3使机器人100向右移动,使得第一距离L1’和第二距离L2’相等;假设第三距离L3’小于机器人100的横向宽度S且大于机器人100的侧身厚度d,则控制器1控制驱动装置3和转向装置使机器人100侧身前进以通过两侧障碍物。
通过设置转向装置,使机器人能够在小于其自身横向宽度但大于其侧身厚度的行走空间内行进,进一步提高了机器人的利用率。
图6为本发明实施例三提供的一种避障方法流程图,如图6所示,所述方法,应用于机器人,包括:
步骤101:检测机器人正前方、左侧前方、右侧前方是否存在障碍物以及机器人与障碍物的距离和方位角度。
步骤102:当检测到机器人正前方不存在障碍物,左侧前方和右侧前方存在障碍物时,判断左侧障碍物对应的第一距离和/或右侧障碍物对应的第二距离是否小于预设阈值,若小于,则执行步骤103。
否则,若大于,则控制机器人继续前行。
步骤103:在确定第一距离和/或第二距离小于预设阈值时,根据第一距离、第一方位角、第二距离和第二方位角计算左侧障碍物和右侧障碍物之间的第三距离,并在第三距离大于机器人的预设尺寸参数时,控制机器人继续前进。
其中,第一方位角与左侧障碍物对应,第二方位角与右侧障碍物对应。其中,预设尺寸参数包括所述机器人的横向宽度和/或侧身厚度,
可选地,当控制机器人前进时,可以是控制机器人减速前进。
通过在机器人与障碍物的距离小于预设阀值但大于机器人的预设尺寸参数时,控制机器人减速前进,有利于及时调整机器人的行进状态,避免了机器人与障碍物发生碰撞,从而保证了机器人的安全使用。
进一步地,在控制机器人继续前进的过程中,如果第一距离和第二距离不相等时,还可以控制机器人向左或向右移动,使得第一距离和第二距离相等。
通过调整机器人与左、右两侧障碍物的距离,使机器人在左右两侧障碍物之间的正中位置行进,进一步避免了机器人与两侧障碍物发生碰撞,保障了机器人的安全使用。
当机器人的预设尺寸参数包括机器人的横向宽度和侧身厚度时,具体可以采用如下的控制策略控制机器人继续前进;
在第三距离大于横向宽度时,控制机器人正向前进;在第三距离小于横向宽度且大于侧身厚度时,控制机器人侧身前进。
通过控制机器人可以侧身前进,使机器人能够在小于其自身横向宽度但大于其侧身厚度的行走空间内行进,进一步提高了机器人的利用率。
本发明实施例提供的避障方法,通过当机器人正前方不存在障碍物,左侧前方和右侧前方存在障碍物时,根据与左侧障碍物对应的第一距离和第一方位角,以及与右侧障碍物对应的第二距离和第二方位角计算出左侧障碍物和右侧障碍物之间的第三距离,并在第三距离大于机器人的预设尺寸参数时,控制机器人继续前进,使得只要左右侧障碍物间距离容许机器人通过则控制机器人前行,提供了机器人的利用率。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。