发明内容
针对现有技术中的一个或多个缺陷,本发明提供一种机器人控制方法,所述机器人具有预设距离和视场角的视野范围,且所述视野范围以预设的方式划分为至少两个感知区域,所述机器人控制方法包括:
在至少两个感知区域各自的范围内,分别进行障碍物探测;和
根据不同感知区域内的障碍物信息,触发防碰撞约束并控制机器人执行避让障碍物的动作,或继续保持当前的运动状态。
根据本发明的一个方面,其中所述障碍物信息包括障碍物相对于机器人的距离和障碍物相对于机器人的方位角;
所述防碰撞约束包括防碰撞航向约束,所述根据不同感知区域内障碍物信息控制机器人执行避让障碍物的动作或继续保持当前的运动状态的步骤中,当任一感知区域内探测到障碍物,且障碍物与机器人的距离小于第一阈值时,触发防碰撞航向约束,控制机器人向探测到障碍物的相反方向旋转。
根据本发明的一个方面,其中所述控制机器人向探测到障碍物的相反方向旋转的步骤中,机器人的旋转角度为障碍物相对于机器人前进方向的方位角在旋转方向上的余角。
根据本发明的一个方面,其中所述机器人在旋转过程中同时向前运动,并根据探测到的障碍物相对于机器人的方位角实时调整旋转角度。
根据本发明的一个方面,其中所述机器人的视野范围以机器人前进方向上的中线为分界线,所述机器人的感知区域包括左侧感知区域和右侧感知区域,所述左侧感知区域和右侧感知区域互不重合。
根据本发明的一个方面,其中所述机器人以预设周期探测障碍物信息,当在一个周期内,左侧感知区域和右侧感知区域均探测到障碍物,根据障碍物相对于机器人的距离由近至远排序,并按顺序控制机器人的旋转方向和旋转角度。
根据本发明的一个方面,其中所述控制机器人执行避让障碍物的动作的步骤还包括:
持续获取机器人视野范围内的障碍物信息;
当不同的感知区域内均探测到障碍物,且障碍物相对于机器人的距离小于第二阈值,控制机器人停止运动,或原地旋转,并进行航向搜索。
根据本发明的一个方面,其中所述控制机器人执行避让障碍物的动作的步骤还包括:
持续获取当前障碍物相对于机器人的距离;
当障碍物相对于机器人的距离大于第三阈值,或障碍物脱离机器人的视野范围,控制机器人跳出防碰撞航向约束。
根据本发明的一个方面,其中所述机器人的感知区域还包括前向感知区域,所述前向感知区域以机器人前进方向上的中心为中轴线,向左右两侧各自延伸一预设角度,所述前向感知区域与所述左侧感知区域和右侧感知区域部分重合。
根据本发明的一个方面,其中所述防碰撞约束还包括防碰撞速度约束,所述防碰撞速度约束根据障碍物相对于机器人的距离自适应调整机器人的运动速度,以使机器人的运动速度与障碍物相对于机器人的距离值正相关。
根据本发明的一个方面,本发明还包括一种机器人,所述机器人包括:
主体;
运动装置,所述运动装置设置于所述主体上,并能够受驱以带动所述主体运动;
传感器,所述传感器设置于所述主体上,传感器配置为能够获取机器人周边环境的障碍物信息;和
控制系统,所述控制系统与所述传感器和所述运动装置通讯,并配置为能够执行如前所述的机器人控制方法。
根据本发明的一个方面,本发明还包括一种计算机可读存储介质,包括存储于其上的计算机可执行命令,所述可执行命令在被处理器执行时实施如前所述的机器人控制方法。。
与现有技术相比,本发明的实施例提供了一种机器人控制方法,将机器人的视野范围分隔为至少两个不同的区域,并且分别对不同的区域进行障碍物的探测,机器人的运动过程主要分为前进和左右旋转,部分机器人具备后退功能,现有的控制机器人避让障碍物的方法也主要是通过旋转改变机器人的前进方向,控制机器人绕过障碍物,本实施例中通过对机器人的视野范围进行分区,并根据不同分区的探测结果控制机器人的运动方式,能够实现机器人避让障碍物,并控制膨胀系数,在保证机器人运行安全的情况下,提高机器人的通行能力,尽量覆盖机器人活动范围内的全部位置。本发明还包括一种机器人以及一种计算机可读存储介质的实施例,能够执行前述的机器人控制方法。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
在本发明的描述中,需要理解的是,术语"中心"、"纵向"、"横向"、"长度"、"宽度"、"厚度"、"上"、"下"、"前"、"后"、"左"、"右"、"竖直"、"水平"、"顶"、"底"、"内"、"外"、"顺时针"、"逆时针"等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语"第一"、"第二"仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有"第一"、"第二"的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,"多个"的含义是两个或两个以上,除非另有明确具体的限定。
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语"安装"、"相连"、"连接"应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接:可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之"上"或之"下"可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征"之上"、"上方"和"上面"包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征"之下"、"下方"和"下面"包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
下文的公开提供了许多不同的实施方式或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本发明。此外,本发明可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本发明提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
图1示出了根据本发明的一个实施例中机器人控制方法100的具体流程,其中机器人具有预设距离和预设视场角的视野范围,例如通过安装在机器人上的传感器获取机器人周边环境的信息,可以通过传感器获取障碍物的位置,以及与机器人之间的距离。本发明的实施例中机器人的视野范围以预设的方式划分为至少两个感知区域,根据本发明的优选实施例,机器人视野范围例如以图5中所示的方式进行划分,具体的划分方式在后续实施例中展开说明。下面结合图1对机器人控制方法100进行说明。
如图1所示,机器人控制方法100中步骤S101,在至少两个感知区域各自的范围内,分别进行障碍物的探测,其中感知区域的划分可以是在机器人上设置多个获取障碍物信息的传感器并分别控制,优选的,机器人中的传感器获取机器人完整视野范围内的信息后,经过后续的分析处理,得到不同的感知区域内的障碍物信息。进一步的,多个感知区域构成机器人完整的视野范围,中间不存在空缺位置,以对机器人完整视野范围内的障碍物信息进行分析。
在步骤S101中能够获得障碍物所在感知区域,进而在步骤S102,根据不同的感知区域内的障碍物信息,触发防碰撞约束并控制机器人执行避让障碍物的动作,或继续保持当前的运动装置。根据不同感知区域的障碍物探测结果,控制机器人选择针对具体的障碍物位置执行不同的避让逻辑,提高机器人的障碍物避让的准确性,降低机器人发生碰撞的风险,并且无需提高膨胀系数。
在本发明的优选实施例中,机器人获取的障碍物信息包括障碍物相对于机器人的距离和障碍物相对于机器人的方位角,例如建立机器人坐标系,其中障碍物的位置信息通过障碍物的极坐标进行表示,并且预先存储有机器人的结构范围,即可获知障碍物与机器人的距离,障碍物和机器人的方位角可以简化为障碍物与机器人中心位置和前进方向的极角。
在本发明的优选实施例中,机器人的防碰撞约束包括防碰撞航向约束,防碰撞航向约束指对机器人运动方向进行约束,在机器人实际运动过程中,为防止机器人发生碰撞,机器人的结构尺寸无法忽略,因此对于存在于机器人运动路径侧面的障碍物也需要进行分析,在本实施例中引入了障碍物相对于机器人的方位角的概念,在具体的防碰撞航向约束中,当机器人的任意一个感知区域内探测到障碍物时,均需要对障碍物进行分析是否存在碰撞风险,同时位于机器人运动路线上(运动方向的正前方)的障碍物需要进行避让,并且与不在机器人运动路线上的障碍物在碰撞距离上的限制不同,因此在本实施例中单独进行分析。
图2示出了根据本发明的优选实施例中包括防碰撞航向约束的机器人控制方法200的具体流程,其中步骤S201与机器人控制方法100中的步骤S101基本相同,不再赘述。
在步骤S202,判断探测到障碍物的感知区域,根据前述在机器人视野范围内的不同感知区域中的障碍物存在的不同的距离和方位角限制,因此在本实施例中判断是机器人视野范围的多个感知区域中的具体感知区域。进一步的,根据本发明的优选实施例,当存在多个感知区域中均探测到障碍物,在步骤S203,按照障碍物与机器人之间的距离进行排序,以由近至远的顺序单独进行分析,将复杂情况简单处理,优先根据针对与机器人距离较近的障碍物执行避障操作。
在步骤S204,判断障碍物与机器人之间的距离是否小于第一阈值,其中第一阈值可以根据具体机器人进行预先设定,例如是15cm,也可以针对不同的感知区域设置不同数值的第一阈值,或根据机器人当前的运动速度获得不同数值的第一阈值,例如第一阈值的数值随机器人当前的运动速度提高而增大,为机器人提供减速距离,避免发生碰撞。
当障碍物与机器人的距离不大于第一阈值时,在步骤S205,触发防碰撞航向约束,控制机器人向探测到障碍物的相反方向旋转,例如在机器人左侧的感知区域探测到障碍物,则在本步骤中,控制机器人向右侧旋转,进一步的,根据本发明的优选实施例,其中机器人向探测障碍物的相反方向旋转的过程中,机器人的旋转角度为障碍物相对于机器人前进方向的方位角在旋转方向上的余角,例如障碍物位于机器人前进方向前方左侧的40°位置处,根据本步骤,控制机器人向右侧旋转,其中该障碍物相对于机器人前进方向的方位角在旋转方向上的余角为50°,则在本发明的优选实施例中控制机器人向右侧旋转50°。按照本实施例中的旋转角度,能够在机器人旋转后,使障碍物位于机器人的侧面90°位置。在机器人旋转的过程中,机器人的航向实时更新,在获取障碍物的过程中,障碍物与机器人的相对位置关系平滑改变,当机器人所面临的机器人障碍物较近时,能够实时修正调整机器人当前航向,使障碍物尽可能出现机器人的两侧。进一步的,为防止机器人陷入循环旋转中,当机器人探测到多个障碍物后,按照前述的排序方式针对其中一个障碍物进行避让,避免同时针对两个障碍物旋转避让。
根据本发明的优选实施例,在控制机器人旋转的过程中,可以同时控制机器人向前运动,则在控制机器人旋转后,障碍物相对于机器人移动至机器人运动方向的侧后方,不会对机器人的运动造成干扰。在机器人旋转和向前运动的过程中,障碍物相对于机器人的方位角会随之发生变化,进一步的,保持机器人持续探测障碍物,根据探测到的障碍物相对于机器人的方位角实时调整机器人的旋转角度,根据本发明的优选实施例,持续获取该障碍物相对于机器人的距离,直至障碍物与机器人的距离大于第三阈值,或障碍物离开机器人的视野范围,控制机器人跳出防碰撞航向约束。其中第三阈值可以设定为大于第一阈值,为以确保机器人运动过程防碰撞航向约束切入切出的平稳性,当机器人在运动中调整脱离左侧或右侧的第一阈值检测时,不会立即跳出防碰撞航向约束,而是存在死区区间(比如5cm),即如果第一阈值设定为15cm,则第三阈值可以设定为20cm,在障碍物与机器人的距离大于第三阈值时才能跳出防碰撞航向约束。
对于位于机器人正前方的障碍物,可以控制机器人向任一侧旋转均可,或根据障碍物的具体形状进行判断。控制机器人避让障碍物的过程中同样不能忽略障碍物的尺寸,根据障碍物在左侧或右侧的尺寸,优选控制机器人向尺寸比例较小的方向旋转。
当障碍物与机器人的距离大于第一阈值时,在步骤S206,控制机器人保持当前的运动状态运动,在没有遮挡的情况下,机器人的视野范围距离大于第一阈值,因此机器人探测到的障碍物并不一会对机器人的运动产生碰撞风险,当障碍物与机器人的距离大于第一阈值时,障碍物和机器人的距离较远,不会对机器人当前的运动造成影响。
在本发明的实施例中,障碍物信息与感知区域的对应关系与感知区域的划分方式相对应,机器人的视野范围在其前进方向延伸,并且向两侧以预设的角度展开,获得近似扇形或半圆形的视野范围,并根据机器人的中轴线进行划分。具体的,如图5所示,根据本发明的优选实施例,机器人的视野范围以机器人前进方向上的中线为分界线,机器人的感知区域包括左侧感知区域和右侧感知区域,为进行区分,在图5中,左侧感知区域为斜线条纹填充,右侧感知区域为横线条纹填充,并且在本实施例中,左侧感知区域和右侧感知区域互不重合。在控制机器人旋转的过程中,在机器人左侧感知区域探测到障碍物后,控制机器人向右侧旋转,在机器人右侧感知区域探测到障碍物同理,向相反方向旋转,以改变障碍物相对于机器人的位置,排除障碍物对机器人运动过程的影响。
左侧感知区域和右侧感知区域的范围根据机器人具体的视野范围确定,可以以机器人的前进方向为轴对称,也可以两侧不对称。优选的,机器人具有前进方向180°的视野范围,以机器人前进方向为0°,则两侧感知区域的范围0-90°和-90°-0。
图3示出了根据本发明的优选实施例中机器人控制方法300的具体流程,其中包括了障碍物和机器人的距离过近的情况,具体的,机器人控制方法300中的步骤S301、步骤S302、步骤S304、步骤S305、步骤S306和步骤S308分别与机器人控制方法200中的步骤S201、步骤S202、步骤S203、步骤S204、步骤S205和步骤S206基本相同,不在赘述。
在步骤S303,判断障碍物与机器人的距离是否大于第二阈值,在本实施例中,第二阈值小于第一阈值,具体可以设置为障碍物与机器人较近的距离,例如设置为无法通过旋转避免障碍物碰撞风险的极限值。当障碍物与机器人的距离大于第二阈值时,在步骤S304,继续进行后续步骤。当障碍物与机器人的距离不大于第二阈值时,在步骤S307,控制机器人停止运动,或原地旋转,并进行航向检索。障碍物与机器人的距离过近时,仅通过机器人旋转无法摆脱障碍物的影响,例如突然出现的障碍物,或能够移动的障碍物,当存在于机器人距离过近的障碍物时,控制机器人停止运动,避免发生碰撞,并可以进行航向检索,例如通过机器人原地旋转,获得机器人周边环境的障碍物信息,并根据机器人周边障碍物的信息重新规划能够摆脱障碍物的运动路径。
根据本发明的不同实施例,步骤S303并不限制在图3所示的顺序中,具体的,可以持续获取机器人视野范围内的障碍物信息,例如以预设的频率获取机器人周边环境的图像,并在不同的感知区域内进行探测,同时随着机器人的运动,障碍物与机器人的相对位置关系也会发生改变,当机器人不同的感知区域内均探测到障碍物的情况时,并且障碍物相对于机器人的距离小于第二阈值,则控制机器人停止运动或原地旋转,并进行航向搜索。
图4示出了根据本发明的优选实施例中机器人控制方法400的具体流程,其中机器人控制方法400中的步骤S401、步骤S402、步骤S403、步骤S404、步骤S405、步骤S406、步骤S408和步骤S409分别与机器人控制方法300中的步骤S301、步骤S302、步骤S303、步骤S304、步骤S305、步骤S306、步骤S307和步骤S308基本相同,不在赘述。
在步骤S407,根据机器人与障碍物的距离调整机器人的运动速度,防碰撞约束还包括防碰撞速度约束,其中防碰撞速度约束根据机器人与障碍物的距离自适应调整机器人的运动速度,以使机器人的运动速度与障碍物相对于机器人的距离值正相关。进一步的,对于不同感知区域内的障碍物,机器人与障碍物的距离对机器人速度的影响不同。
根据本发明的优选实施例,机器人的感知区域还包括前向感知区域,如图5中纯色填充的区域,具体的,前向感知区域可以以机器人的前进方向上的中心为中轴线,并向左右两侧(机器人视角下)各自延伸预设角度,如图5所示,前向感知区域与左侧感知区域和右侧感知区域部分重合。前向感知区域向左右两侧延伸的预设角度例如是正负30°,具体的,预设角度可以根据机器人的探测距离和机器人结构尺寸的宽度计算获得,也可以人为设定。对于前向感知区域内的障碍物,由于位于机器人的运动路径上,当障碍物与机器人的距离为一个较大的数值时,例如是100cm时,可以控制机器人速度降低,避免发生碰撞,并随着机器人与障碍物的距离缩小,控制机器人进一步降低速度。
本发明还包括一种机器人1的实施例,其中机器人1包括主体10、运动结构20、传感器30和控制系统40。其中主体10是机器人1的主要结构框架,机器人1中各部组件均通过主体固定,例如图6中所示。主体10可以采用合金材料或有机材料制成固定性状,机器人1中各部分组件安装在主体10中的对应位置上,以实现具体的功能。
运动结构20设置在主体10上,运动结构20用于受控带动机器人1运动,例如运动装置20设置在主体10底部两侧的差速轮,通过控制差速轮旋转带动机器人1运动,并控制两侧的差速轮以不同的速度旋转,实现机器人1转向。
传感器30设置在主体10上,并且传感器30能够获取机器人1运动方向的视野范围内的障碍物信息,传感器30可以图像获取装置,例如是摄像头,传感器30也可以是激光雷达等能够获取点云信息的装置。
如图7所示,控制系统40和传感器30通讯,并能够执行如前述实施例中所述的机器人控制方法,获取机器人1周边环境的障碍物信息。同时,控制系统40还与运动装置20通讯,执行前述的机器人控制方法,根据获取的障碍物信息控制机器人1的运动状态。
具体的,机器人1还包括移动底盘,控制系统40提供用户操作的功能控制器、地图生成和路径规划的底层控制器、以及控制移动单元和环境检测单元的元件控制器。
其中运动装置20设置有至少两组驱动轮,每组驱动轮分别位于移动底盘的一侧,利用驱动轮带动机器人1运动。元件控制器用于控制驱动轮的转速,进而带动机器人1运动,优选的,移动底盘不同侧的驱动轮分别控制,通过控制驱动轮以不同转速转动,实现机器人转向。
具体的,运动装置20设置有两组驱动轮,其中一组驱动轮用作左驱动轮,同时,另一组驱动轮用作右驱动轮,左驱动轮和右驱动轮位于底盘的相对相侧,在机器人1需要转向时,控制左驱动轮和右驱动轮以不同的转速旋转,实现机器人1转向。可选的,运动装置20还可以包括至少两组从动轮,一组驱动轮对应一组从动轮,其中,至少一组从动轮用作左从动轮,同时,至少一组从动轮用作右从动轮,左从动轮和右从动轮用于协助左驱动轮和右驱动轮带动机器人1的主体10和移动底盘运动,减轻驱动轮的负载压力,同时提高机器人1的稳定性。从动轮还可以设置在左驱动轮和右驱动轮的中线上,尽量均匀地分散机器人1的重量。
移动底盘的底部设有至少一个转向灯单元,每个转向灯单元中包括至少一个转向灯。元件控制器还能够控制转向灯单元内的转向灯在机器人1转向的时候按照预设方式点亮。本发明实施例提供的机器人1,通过在机器人1转向时,元件控制器控制控制转向灯点亮,以提醒行人注意,提高机器人1的运动安全性。
结合前述的实施例,可选的,元件控制器在移动底盘两侧的驱动轮的速度差大于预设值时,控制转向灯单元内的转向灯按照预设方式点亮。进一步的,机器人1还包括语音模块,语音模块与元件控制器电连接,当机器人1转向时,控制语音模块发出语音提示信息。
激光雷达系统可以设置于主体10上,激光雷达系统可沿设定平面进行旋转,使得激光雷达系统的光电接收阵列形成扫描柱面。
具体的,激光雷达系统可以设置于机器人1壳体开缝处,发出激光信号以对周围物体进行探测,上述激光雷达系统包括光电接收阵列和激光发射单元阵列,从而在激光雷达系统沿设定平面进行旋转时,光电接收阵列能够形成扫描柱面,获得较大的扫描范围,便于获取物体形态的细节,避免对机器人1设备磕碰障碍物的情况。可选的,上述设定平面可以为水平面,以便于机器人1设备在行进过程中进行物体探测,此外,还可以根据具体的用户需求选取其他设定平面,例如垂直平面等,本实施例对此不进行限定。
根据本发明的实施例,还包括一种机器人的路径规划方法,可以应用于任意一个机器人,需要说明的是,其中各个步骤在运行的时候可以是按照顺序先后进行,也可以是根据实际情况多个步骤同时进行,在此并不做限定。本申请提供的机器人路径规划方法包括如下步骤:
首先,构建机器人活动范围内的地图,确定当前工作区域的定位地图,其中,所述定位地图为所述机器人对其所处环境进行的建图所形成的地图。具体地,机器人配置采集传感器和建模处理器,建模处理器通过采集传感器采集的环境数据进行建模以构建环境地图。在本实施例中,采集传感器包括激光雷达、超声波传感器和红外传感器,通过激光雷达、超声波传感器和红外传感器对机器人所处的工作区域数据进行采集,建模处理器利用这些传感器采集的数据进行创建地图,在创建地图的过程中通过不同的传感器生成不同的地图图层,例如,静态图层、动态障碍物图层、超声波图层图、视觉图层等,通过将这些图层进行融合以得到供对机器人进行定位导航的定位地图。
其次,根据所述定位地图规划路径。
进一步的,根据所述定位地图确定所述机器人的当前位置和目标位置,根据定位地图确定障碍物的位置,或根据所述当前位置、所述目标位置和所述障碍物位置规划路径。
具体地,目标位置为使用者设定的位置,或是由机器人的处理系统确定的需要移动至的位置,其中,该目标位置可以是在移动过程中确定的接下来需要移动到的位置,也可以是机器人最终需要达到的位置。当前位置为机器人通过位置传感器确定的机器人的实时位置信息。
通过述定位地图进行,以确定定位地图上的障碍物的位置。通过此种实施方式,使得机器人可以在不改变导航精度的前提下,确定障碍物的位置并规划路线。
最后,根据规划的路径控制机器人移动。
根据本发明的一个优选实施例,还包括一种计算机可读存储介质,包括存储于其上的计算机可执行命令,所述可执行命令在被处理器执行时实施如前所述的承载结构轮廓提取方法。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。