CN108021136A - 机器人沿行进路线行进的控制方法、装置及机器人 - Google Patents

机器人沿行进路线行进的控制方法、装置及机器人 Download PDF

Info

Publication number
CN108021136A
CN108021136A CN201711334125.8A CN201711334125A CN108021136A CN 108021136 A CN108021136 A CN 108021136A CN 201711334125 A CN201711334125 A CN 201711334125A CN 108021136 A CN108021136 A CN 108021136A
Authority
CN
China
Prior art keywords
robot
route
travel
broken line
advance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201711334125.8A
Other languages
English (en)
Inventor
栾成志
谭平
潘俊威
刘坤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201711334125.8A priority Critical patent/CN108021136A/zh
Publication of CN108021136A publication Critical patent/CN108021136A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0212Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
    • G05D1/0223Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving speed control of the vehicle

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本发明公开了一种机器人沿行进路线行进的控制方法、装置及机器人,方法包括:在机器人沿行进路线行进的过程中,获取当前时刻的机器人沿机器人前进方向的前进速度;获取当前时刻的机器人与行进路线之间的角度偏差量,根据角度偏差量对前进速度进行衰减处理;根据衰减处理后的结果确定当前时刻的机器人的实际速度,根据实际速度对机器人沿机器人前进方向的前进速度进行调整。通过根据机器人前进方向与行进路线之间的角度偏差量对前进速度进行调整,能够使机器人始终沿着预先规划的行进路线行进,使得机器人的实际行进路线不偏离预先规划的行进路线。

Description

机器人沿行进路线行进的控制方法、装置及机器人
技术领域
本发明涉及智能机器人技术领域,具体涉及一种机器人沿行进路线行进的控制方法、装置及机器人。
背景技术
目前自主移动机器人领域非常火爆,无人车、无人飞机、水下机器人、仓储机器人、扫地机器人等应用层出不穷,对机器人路径进行规划依赖于环境地图,根据环境地图信息,确定障碍物的分布情况,从而可以确定从机器人当前位置移动到目标位置的最优的行进路线,以使机器人沿行进路线行进。
然而,发明人在实现本发明的过程中发现,在机器人的行进过程中,由于机器人的自身定位存在误差、控制器的滞后误差、以及执行器的误差等一些不可控的因素,往往会导致机器人的实际行进路线会偏离预先规划的行进路线,现有技术中尚没有一种能够很好地解决上述问题的技术方案。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的机器人沿行进路线行经的控制方法,装置及机器人。
根据本发明的一个方面,提供了一种机器人沿行进路线行进的控制方法,包括:在机器人沿所述行进路线行进的过程中,获取当前时刻的机器人沿机器人前进方向的前进速度;获取当前时刻的机器人与所述行进路线之间的角度偏差量,根据所述角度偏差量对所述前进速度进行衰减处理;根据衰减处理后的结果确定当前时刻的机器人的实际速度,根据所述实际速度对所述机器人沿机器人前进方向的前进速度进行调整。
可选地,所述获取当前时刻的机器人与所述行进路线之间的角度偏差量的步骤具体包括:
确定所述行进路线中包含的距离所述当前时刻的机器人最近的位置点;
根据所述位置点确定所述行进路线中包含的与所述当前时刻的机器人相对应的折线段;
根据当前时刻的机器人前进方向与所述折线段之间的夹角确定所述角度偏差量。
可选地,所述根据所述位置点确定所述行进路线中包含的与所述当前时刻的机器人相对应的折线段的步骤具体包括:
将所述行进路线中包含的所述位置点所在的折线段确定为与所述当前时刻的机器人相对应的折线段;或者,
将所述行进路线中包含的与所述位置点所在的折线段相邻的第一折线段或第二折线段确定为与所述当前时刻的机器人相对应的折线段;
其中,所述第一折线段为沿所述机器人前进方向与所述位置点所在的折线段相邻的折线段;所述第二折线段为沿机器人后退方向与所述位置点所在的折线段相邻的折线段;其中,所述机器人后退方向为所述机器人前进方向的反方向。
可选地,所述根据所述实际速度对所述机器人沿机器人前进方向的前进速度进行调整的步骤具体包括:
计算与所述实际速度相对应的刹车距离;
当所述刹车距离大于第一预设距离阈值,和/或所述机器人与前方障碍物之间的距离小于第二预设距离阈值时,减小所述机器人沿机器人前进方向的前进速度。
可选地,所述方法进一步包括:预先设置机器人最小速度以及机器人最大速度;
则所述根据所述实际速度对所述机器人沿机器人前进方向的前进速度进行调整的步骤具体包括:
根据所述机器人最小速度以及机器人最大速度增大或减小所述机器人沿机器人前进方向的前进速度。
可选地,所述根据衰减处理后的结果确定当前时刻的机器人的实际速度,根据所述实际速度对所述机器人沿机器人前进方向的前进速度进行调整的步骤之前,进一步包括:
获取当前时刻的机器人与所述行进路线之间的位移偏差量;
根据所述位移偏差量调整所述机器人的第一驱动轮与第二驱动轮之间的轮速差。
可选地,所述获取当前时刻的机器人与所述行进路线之间的位移偏差量的步骤具体包括:
根据所述当前时刻的机器人与所述行进路线之间的垂直距离确定所述位移偏差量;
且所述根据所述位移偏差量调整所述机器人的第一驱动轮与第二驱动轮之间的轮速差的步骤具体包括:
当所述位移偏差量大于预设位移偏差阈值时,判断所述第一驱动轮与所述行进路线之间的距离是否大于所述第二驱动轮与所述行进路线之间的距离;
若是,则使所述第一驱动轮的轮速大于所述第二驱动轮的轮速;若否,则使所述第一驱动轮的轮速小于所述第二驱动轮的轮速。
可选地,所述根据所述角度偏差量对所述前进速度进行衰减处理的步骤具体包括:
根据调整后的第一驱动轮与第二驱动轮之间的轮速差对所述角度偏差量进行修正,得到修正偏差量;
根据所述修正偏差量对所述前进速度进行衰减处理。
可选地,所述在机器人沿所述行进路线行进的过程中,获取当前时刻的机器人沿机器人前进方向的前进速度的步骤之前,进一步包括:
预先规划所述机器人的行进路线。
可选地,所述预先规划所述机器人的行进路线的步骤具体包括:
确定机器人的初始路线以及所述初始路线的第一端点和第二端点,从所述第一端点开始,依次判断所述初始路线中至少两条连续的折线段是否能够替换为一条可直达的直线段;
若是,将所述初始路线中至少两条连续的折线段替换为一条可直达的直线段,直至替换后的初始路线中不包含能够替换为一条可直达的直线段的折线段;
将替换后的初始路线确定为第一路线,从所述第二端点开始,依次判断所述第一路线中至少两条连续的折线段是否能够替换为一条可直达的直线段;
若是,将所述第一路线中至少两条连续的折线段替换为一条可直达的直线段,直至替换后的第一路线中不包含能够替换为一条可直达的直线段的折线段,将替换后的第一路线确定为机器人行进路线。
根据本发明的另一方面,提供了一种机器人沿行进路线行进的控制装置,包括:前进速度获取模块,适于在机器人沿所述行进路线行进的过程中,获取当前时刻的机器人沿机器人前进方向的前进速度;角度偏差量获取模块,适于获取当前时刻的机器人与所述行进路线之间的角度偏差量;衰减模块,适于根据所述角度偏差量对所述前进速度进行衰减处理;实际速度确定模块,适于根据衰减处理后的结果确定当前时刻的机器人的实际速度;调整模块,适于根据所述实际速度对所述机器人沿机器人前进方向的前进速度进行调整。
可选地,所述角度偏差量确定模块进一步包括:
位置点确定单元,适于确定所述行进路线中包含的距离所述当前时刻的机器人最近的位置点;
折线段确定单元,适于根据所述位置点确定所述行进路线中包含的与所述当前时刻的机器人相对应的折线段;
则所述角度偏差量确定模块进一步适于:根据当前时刻的机器人前进方向与所述折线段之间的夹角确定所述角度偏差量。
可选地,所述折线段确定单元进一步适于:
将所述行进路线中包含的所述位置点所在的折线段确定为与所述当前时刻的机器人相对应的折线段;或者,
将所述行进路线中包含的与所述位置点所在的折线段相邻的第一折线段或第二折线段确定为与所述当前时刻的机器人相对应的折线段;
其中,所述第一折线段为沿所述机器人前进方向与所述位置点所在的折线段相邻的折线段;所述第二折线段为沿机器人后退方向与所述位置点所在的折线段相邻的折线段;其中,所述机器人后退方向为所述机器人前进方向的反方向。
可选地,所述调整模块进一步适于:
计算与所述实际速度相对应的刹车距离;
当所述刹车距离大于第一预设距离阈值,和/或所述机器人与前方障碍物之间的距离小于第二预设距离阈值时,减小所述机器人沿机器人前进方向的前进速度。
可选地,所述装置进一步包括:
速度设置模块,适于预先设置机器人最小速度以及机器人最大速度;
则所述调整模块进一步适于:
根据所述机器人最小速度以及机器人最大速度增大或减小所述机器人沿机器人前进方向的前进速度。
可选地,所述装置进一步包括:
位移偏差量获取模块,适于获取当前时刻的机器人与所述行进路线之间的位移偏差量;
轮速调整模块,适于根据所述位移偏差量调整所述机器人的第一驱动轮与第二驱动轮之间的轮速差。
可选地,所述位移偏差量获取模块进一步适于:
根据所述当前时刻的机器人与所述行进路线之间的垂直距离确定所述位移偏差量;
且所述轮速调整模块进一步适于:
当所述位移偏差量大于预设位移偏差阈值时,判断所述第一驱动轮与所述行进路线之间的距离是否大于所述第二驱动轮与所述行进路线之间的距离;
若是,则使所述第一驱动轮的轮速大于所述第二驱动轮的轮速;若否,则使所述第一驱动轮的轮速小于所述第二驱动轮的轮速。
可选地,所述衰减模块进一步适于:
根据调整后的第一驱动轮与第二驱动轮之间的轮速差对所述角度偏差量进行修正,得到修正偏差量;
根据所述修正偏差量对所述前进速度进行衰减处理。
可选地,所述装置进一步包括:
路线规划模块,适于预先规划所述机器人的行进路线。
可选地,所述路线规划模块进一步适于::
确定机器人的初始路线以及所述初始路线的第一端点和第二端点,从所述第一端点开始,依次判断所述初始路线中至少两条连续的折线段是否能够替换为一条可直达的直线段;
若是,将所述初始路线中至少两条连续的折线段替换为一条可直达的直线段,直至替换后的初始路线中不包含能够替换为一条可直达的直线段的折线段;
将替换后的初始路线确定为第一路线,从所述第二端点开始,依次判断所述第一路线中至少两条连续的折线段是否能够替换为一条可直达的直线段;
若是,将所述第一路线中至少两条连续的折线段替换为一条可直达的直线段,直至替换后的第一路线中不包含能够替换为一条可直达的直线段的折线段,将替换后的第一路线确定为机器人行进路线。
根据本发明的又一方面,一种机器人,包括上述的机器人沿行进路线行进的控制装置。
根据本发明的又一方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述机器人沿行进路线行进的控制方法对应的操作。
根据本发明的再一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如上述机器人沿行进路线行进的控制方法对应的操作。
根据本发明的机器人沿行进路线行进的控制方法、装置及机器人,在机器人沿行进路线行进的过程中,获取当前时刻的机器人沿机器人前进方向的前进速度;获取当前时刻的机器人与行进路线之间的角度偏差量,根据角度偏差量对前进速度进行衰减处理;根据衰减处理后的结果确定当前时刻的机器人的实际速度,根据实际速度对机器人沿机器人前进方向的前进速度进行调整。通过根据机器人前进方向与行进路线之间的角度偏差量对前进速度进行调整,能够使机器人始终沿着预先规划的行进路线行进,使得机器人的实际行进路线不偏离预先规划的行进路线。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的机器人沿行进路线行进的控制方法的流程示意图;
图2示出了根据本发明另一个实施例的机器人沿行进路线行进的控制方法的流程示意图;
图3示出了根据本发明再一个实施例的从初始位置到目标位置的路线的示意图;
图4a示出了根据本发明又一个实施例的初始路线的示意图;
图4b示出了根据本发明方法对图4a中的初始路线进行处理之后得到的机器人行进路线;
图5示出了根据本发明另一个实施例的机器人及其行进路线的示意图;
图6示出了根据本发明一个实施例提供的机器人行进路线的确定装置的功能框图;
图7示出了根据本发明实施例的一种计算设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的机器人沿行进路线行进的控制方法的流程示意图,如图1所示,该方法包括:
步骤S101,在机器人沿行进路线行进的过程中,获取当前时刻的机器人沿机器人前进方向的前进速度。
预先规划机器人的行进路线,使机器人沿着行进路线行进,在行进的过程中,由于机器人自身定位存在一定的误差、控制器的滞后误差、以及执行器的误差等等可能会导致机器人的实际行进路线会偏离预先规划的行进路线,上述误差往往是不可避免的,因此本实施例通过对机器人的前进速度进行调整,控制机器人始终沿着行进路线行进,防止机器人偏离预先规划的行进路线。
在具体的应用中,针对具有两个驱动轮的机器人,机器人的前进方向所对应的直线与机器人第一驱动轮以及第二驱动轮的垂直平分线(即经过机器人的中心位置且垂直于机器人横向方向的直线)相互平行,也就是说,当前时刻的机器人沿前进方向的前进速度为机器人的中心速度,具体可通过在机器人的中心位置预设测速仪进行测量。针对驱动轮的个数不是两个的机器人,可根据驱动轮的个数以及驱动轮的位置分布关系确定机器人的中心位置以及横向方向,进一步确定机器人的前进方向及前进速度,本发明对此不作限定。
步骤S102,获取当前时刻的机器人与行进路线之间的角度偏差量,根据角度偏差量对前进速度进行衰减处理。
对机器人的前进速度进行控制即判断机器人是否需要减速或者加速或者按照当前速度行进,以及当判断出机器人需要减速的时候,需要减速至什么速度,同理当判断出机器人需要加速的时候,需要加速至什么速度。当前时刻的机器人与行进路线之间的角度偏差量是指当前时刻机器人的前进方向与行进路线之间的角度偏差量,具体实施时,可根据当前时刻机器人的前进方向与当前时刻机器人所对应的折线段确定角度偏差量,进一步根据角度偏差量对前进速度进行衰减处理。
步骤S103,根据衰减处理后的结果确定当前时刻的机器人的实际速度,根据实际速度对机器人沿机器人前进方向的前进速度进行调整。
根据衰减处理结果确定当前时刻的机器人的实际速度,根据实际速度对机器人的前进速度进行调整,通俗地来讲,实际速度就是根据衰减处理结果计算得出的能够使机器人始终沿着行进路线行进的速度,根据实际速度对机器人的前进速度进行调整,机器人以调整之后的前进速度行进,能够使机器人的实际行进路线与预先规划的行进路线重合,当然,在实际的应用中,上述的重合也可以指机器人与行经路线之间的距离处于预设的距离范围内,其中对前进速度的调整可通过调整机器人的各个驱动轮的轮速实现。
根据本实施例提供的机器人沿行进路线行进的控制方法,在机器人沿行进路线行进的过程中,获取当前时刻的机器人沿机器人前进方向的前进速度;获取当前时刻的机器人与行进路线之间的角度偏差量,根据角度偏差量对前进速度进行衰减处理;根据衰减处理后的结果确定当前时刻的机器人的实际速度,根据实际速度对机器人沿机器人前进方向的前进速度进行调整。通过根据机器人前进方向与行进路线之间的角度偏差量对前进速度进行调整,能够使机器人始终沿着预先规划的行进路线行进,使得机器人的实际行进路线不偏离预先规划的行进路线。
图2示出了根据本发明另一个实施例的机器人沿行进路线行进的控制方法的流程示意图,如图2所示,该方法包括:
步骤S201,预先规划机器人的行进路线。
具体通过以下方式实现:首先根据机器人对应的环境地图规划初始路线,其中,机器人对应的环境地图可通过机器人上预设的传感器所采集到的数据进行构建,具体可利用SLAM(simultaneous localization and mapping,即时定位与建图)构建环境地图,SLAM是指机器人根据传感器的信息,一边计算自身位置,一边构建地图的过程,能够解决机器人在未知环境下运动时的定位与地图构建问题,当然本发明对构建地图的方式不作限定。
具体实施时,将机器人的环境地图划分为多个地图区块,并且,每个地图区块进一步被划分为多个栅格,其中,地图区块的尺寸以及栅格的尺寸可由本领域技术人员根据实际需要进行设置。进一步为环境地图中的各个栅格分别设置对应的状态标识,其中,状态标识包括:空闲标识、未知标识、和/或障碍物标识,将环境地图中非障碍物区域所包含的栅格的状态标识设置为空闲标识,将环境地图中机器人上预设的传感器不能探测到的区域所包含的栅格的状态标识设置为未知标识,将环境地图中障碍物区域所包含的栅格的状态标识设置为障碍物标识,从而根据机器人的初始位置、目标位置、以及环境地图包含的各个栅格及其状态标识来规划机器人的路线,并根据栅格的尺寸确定一条最短的路线作为机器人的初始路线。
然后,确定机器人的初始路线以及初始路线的第一端点和第二端点。具体地,将机器人的起始位置确定为第一端点,将机器人的目标位置确定为第二端点;根据环境地图中包含的障碍物区域,将第一端点与第二端点之间能够避开障碍物的路线确定为机器人的初始路线,将初始路线的第一端点所对应的栅格确定为第一栅格,将初始路线的第二端点所对应的栅格确定为第二栅格,根据第一栅格以及第二栅格之间的各个栅格确定机器人的初始路线。
初始路线可通过以下方式确定:根据环境地图中包含的障碍物区域,确定与机器人的起始位置对应的至少一个可移动位置;分别针对每个可移动位置,计算从起始位置经由该可移动位置移动至目标位置时所对应的移动位移量;根据移动位移量最小的可移动位置确定机器人的初始路线。其中,与机器人的起始位置对应的至少一个可移动位置包括:能够从起始位置直接到达的多个可移动位置,和/或能够从起始位置间接到达的多个可移动位置。
对于机器人来说,环境地图中包含的障碍物区域所包含的栅格为机器人不可移动位置所对应的栅格,即状态标识为障碍物标识的栅格对应为机器人的不可移动位置,环境地图中包含的非障碍物区域所包含的栅格为机器人可移动位置所对应的栅格,即状态标识为空闲标识的栅格对应为机器人的可移动位置,因此可根据第一栅格以及第二栅格之间的各个栅格及对应的状态标识确定机器人的初始路线。但由于机器人往往具有一定的尺寸,而在对机器人的路线进行规划时未考虑机器人的尺寸,通俗地来讲,即将机器人当成一个点来规划路线,因此存在当障碍物之间的间距小于预设的间距长度时,机器人不能通过该障碍物之间的区域的情况,例如当两个障碍物之间间隔两个栅格,而机器人的直径为3倍栅格的尺寸时,则对于机器人来说,两个障碍物之间的栅格对应的位置也是机器人的不可移动位置,此时,若根据障碍物区域对机器人的路线进行规划,机器人根据规划得到的路线行进的过程中,由于不能通过两个障碍物之间的区域而发生碰撞,因此为了避免上述情况的发生,本实施例所提供的方法中对障碍物进行膨胀处理,也即,对环境地图中包含的障碍物区域的区域范围进行扩展。
根据机器人的尺寸,对环境地图中包含的障碍物区域的区域范围进行扩展,得到障碍物扩展区域的区域范围;将第一端点与第二端点之间能够避开障碍物扩展区域的区域范围的路线确定为机器人的初始路线。可选地,根据机器人的半径长度确定扩展长度,根据扩展长度将障碍物区域的外边界向区域外侧扩展。
通过上述步骤对障碍物区域的区域范围进行扩展,具体可将位于扩展之后的障碍物区域的区域边界与原始障碍物区域的区域边界之间的区域所包含的栅格的状态标识设置为障碍物标识,根据第一端点、第二端点以及扩展之后的障碍物区域对机器人的路线进行规划,能够确保机器人在行进过程中不会碰撞障碍物。
图3示出了机器人的环境地图,其中,虚线划分的最小的正方形为栅格,处于环境地图边界上的栅格由虚线和实线共同划分,阴影部分为经过扩展之后得到的障碍物区域,倾斜线所填充的栅格分别为机器人的初始位置以及目标位置所对应的栅格,即第一栅格301以及第二栅格302。机器人能够从第一栅格301对应的位置直接移动至栅格1、栅格2、或者栅格3所对应的位置,具体实施时,将栅格1、栅格2以及栅格3分别确定为与机器人的起始位置对应的可移动位置所对应的栅格,对于每一个可移动位置来说,机器人从起始位置经由该可移动位置移动到目标位置的路线可能会存在多条,如图3中的路线303以及路线304分别为机器人从第一栅格301经由栅格3移动至第二栅格302的两条路线,根据不同路线所计算出的移动位移量也不尽相同,根据栅格的尺寸计算所有能够使机器人从初始位置经由可移动位置移动至目标位置并且能够避开障碍物区域的多条路线的移动位移量,选取移动位移量最小时所对应的路线作为机器人的初始路线。
此外,还可将机器人能够从起始位置间接到达的多个可移动位置确定为与机器人的起始位置对应的至少一个可移动位置,如图3中的栅格4,则此时机器人从起始位置经由栅格4移动至目标位置的路线所对应的移动位移量包括两个部分,将初始位置与栅格4之间的路线所对应的移动位移量确定为第一移动位移量,将与栅格4与目标位置之间的路线所对应的移动位移量确定为第二移动位移量,计算第一移动位移量与第二移动位移量的和,即可得到机器人从初始位置经由栅格4移动到目标位置的移动位移量,将移动位移量最小时所对应的路线作为机器人的初始路线。
根据上述步骤得到的初始路线是由一条条折线段构成的,因此,初始路线并不是第一端点于第二端点之间最短且最直的路线,本实施例中根据两点之间直线最短,对初始路线进行短化处理。具体地,从第一端点开始,依次判断初始路线中至少两条连续的折线段是否能够替换为一条可直达的直线段,具体根据上述扩展了区域范围的障碍物区域,按照第一端点至第二端点的方向,在初始路线中至少连续两条的折线段所对应的两个折线端点之间绘制一条直线段,判断该直线段是否穿过障碍物,若该直线段不穿过障碍物,则确定该至少两条连续的折线段能够替换为一条可直达的直线段。
若判断出初始路线中至少两条连续的折线段能够替换为一条可直达的直线段,则将初始路线中至少两条连续的折线段替换为一条可直达的直线段,直至替换后的初始路线中不包含能够替换为一条可直达的直线段的折线段。
如图4a所示的环境地图的部分区域,虚线划分的最小正方形为栅格,处于该部分区域的边缘的部分的栅格由实线和虚线共同划分,阴影部分为障碍物,初始路线403是根据各个栅格规划得到的,第一端点401以及第二端点402分别为初始路线403的两个端点,折线端点404以及折线端点405分别为初始路线上包含的一段折线段的两个折线端点。另外,本领域技术人员能够理解的是,本实施例中的一条折线段既可以是指位于一个栅格内的一小段折线段,也可以是指位于多个栅格内的一整段连续的折线段。例如,可以将图4a中第一端点401与折线端点406之间的一整段连续的折线段确定为一条折线段,将折线端点406与折线端点407之间的一整段连续的折线段确定为一条折线段,以及将折线端点407与第二端点402之间的一整段连续折线段确定为一条折线段,需要说明的是,本发明并不限定折线段的具体划分方式和内涵。
本实施例中,判断出第一端点401与折线端点404之间的多条折线段能够替换为不穿过障碍物的直线段,以及折线端点405与第二端点402之间的多条折线段能够替换为不穿过障碍物的直线段,因此,将第一端点401与折线端点404之间的多条折线段替换为直线段以及将折线端点405与第二端点402之间的多条折线段替换为直线段。如图4b所示,初始路线403经过上述步骤处理过后,得到路线403',由图可知,路线403'比初始路线403的长度短,由此完成了初始路线403的正向短化处理过程。
通过上述步骤完成了初始路线的正向短化处理过程,在实际的应用中,还存在以第一端点为起点,将初始路线中至少两条连续的折线段替换为一条可直达的直线段之后,从第一端点开始,按照从第一端点至第二端点的方向对替换后的初始路线进行判断,替换后的初始路线不包含能够替换为一条可直达的直线段的至少两条连续的折线段,但从第二端点开始,按照从第二端点至第一端点的方向对替换后的初始路线进行判断,上述替换后的初始路线中还可能包含至少两条连续的折线段能够替换为一条可直达的直线段的情况,在这种情况下,替换后的初始路线并不是最短的路线。
因此,为了保证机器人的行进路线最短,本实施例中进一步将替换后的初始路线确定为第一路线,从第二端点开始,依次判断第一路线中至少两条连续的折线段是否能够替换为一条可直达的直线段。具体根据上述扩展了区域范围的障碍物区域,按照第二端点至第一端点的方向,在第一路线中至少连续两条的折线段所对应的两个折线端点之间绘制一条直线段,判断该直线段是否穿过障碍物,若该直线段不穿过障碍物,则确定该至少两条连续的折线段能够替换为一条可直达的直线段。
若判断出第一路线中能够替换为一条可直达的直线段的至少两条连续的折线段,则将该至少两条连续的折线段替换为一条可直达的直线段,根据两点之间直线最短可知,将两个折线端点之间的折线段替换为一条可直达的直线段,替换后的初始路线的长度比原始初始路线的长度短,直至替换后的初始路线中不包含能够替换为一条可直达的直线段的折线段,此时,在第二端点至第一端点的方向上,替换后的第一路线为第一路线对应的最短的路线,将替换后的第一路线确定为机器人行进路线。通过两个方向对初始路线进行短化处理,确保得到的机器人行进路线为初始路线对应的最短的路线。
初始路线经过上述正向短化处理得到第一路线,以及第一路线经过逆向短化处理得到替换后的第一路线,替换后的第一路线为初始路线对应的最短的路线,将替换后的第一路线确定为机器人的行进路线,通过从不同的方向对初始路线进行短化处理得到行进路线,使得机器人的行进路线为最短,机器人按照行进路线行进,能够快速从初始路线所包含的一个端点对应的位置移动至另外一个端点对应的位置,从而减少能耗。
在实际的应用中,应当避免机器人在根据机器人行进路线行进的过程中发生急转弯的情况,若根据本实施例的方法确定的机器人行进路线中包含夹角的角度较小的相邻折线段,则机器人在根据机器人行进路线行进的过程中会发生急转弯,往往会加大机器人的刹车部件的损耗,甚至使机器人大幅偏离规划好的机器人行进路线,因此,本实施例针对机器人行进路线中的至少两条相邻的折线段进行平滑处理。具体地,针对机器人行进路线中相邻的每两条折线段,判断该两条折线段之间的夹角的角度是否符合预设处理规则;若是,则针对该两条折线段进行平滑处理。具体若判断出相邻两条折线段之间的夹角的角度小于预设角度阈值,通过构建抛物线的方式对该两条折线段进行平滑处理,将经过平滑处理的行进路线最终确定为机器人的行进路线。
步骤S202,在机器人沿行进路线行进的过程中,获取当前时刻的机器人沿机器人前进方向的前进速度。
图5示出了本实施例中的机器人及行进路线,其中,多条折线段对应为机器人行进路线所包含的折线段,机器人的前进方向所对应的直线与机器人第一驱动轮501以及第二驱动轮502的垂直平分线(即经过机器人的中心位置且垂直于机器人横向方向的直线)相互平行,如图5中箭头所示的方向,也就是说,当前时刻的机器人沿前进方向的前进速度为机器人沿前进方向的中心速度,具体可通过在机器人的中心位置预设测速仪进行测量,获取当前时刻的机器人沿前进方向的前进速度,以供后续步骤对前进速度进行调整。
步骤S203,确定行进路线中包含的距离当前时刻的机器人最近的位置点。
当机器人偏离了行进路线时,根据计算机器人的中心位置与行进路线上包含的各个位置点的距离,确定行进路线中包含的距离当前时刻的机器人最近的位置点;当机器人未偏离行进路线时,即当前机器人位于行进路线上,则行进路线中包含的距离当前时刻的机器人最近的位置点即为行进路线中当前机器人所处的位置对应的位置点。
步骤S204,根据位置点确定行进路线中包含的与当前时刻的机器人相对应的折线段。
将行进路线中包含的位置点所在的折线段确定为与当前时刻的机器人相对应的折线段;或者,将行进路线中包含的与位置点所在的折线段相邻的第一折线段或第二折线段确定为与当前时刻的机器人相对应的折线段;其中,第一折线段为沿机器人前进方向与位置点所在的折线段相邻的折线段;第二折线段为沿机器人后退方向与位置点所在的折线段相邻的折线段;其中,机器人后退方向为所述机器人前进方向的反方向。
也即,确定当前时刻机器人所对应的折线段具体可通过以下三种方式确定:
方式一:将行进路线中包含的该位置点所在的折线段确定为与当前时刻的机器人相对应的折线段。例如图5中的折线段504。该方式的实时性较好,能够近似实时地确定机器人当前的前进方向与行进路线之间的角度偏差量。
方式二:当前时刻的机器人相对应的折线段为沿机器人前进方向与位置点所在的折线段相邻的折线段。例如图5中的折线段505。该方式的预判性较好,由于计算角度偏差量的计算过程势必会消耗一定的时间,因此,该方式提前计算机器人与下一段折线段之间的角度偏差量,从而弥补了计算的延迟,进一步提升了实时性和速度调节效果。在本实施例中,可以采用方式二实现。
方式三:当前时刻的机器人相对应的折线段为沿机器人后退方向与位置点所在的折线段相邻的折线段;其中,机器人后退方向为机器人前进方向的反方向。例如图5中的折线段506。该方式在机器人行进速度较慢、且计算过程较快的情况下比较适用。
步骤S205,根据当前时刻的机器人前进方向与折线段之间的夹角确定角度偏差量。
如图5所示,将折线段505作为当前时刻机器人相对应的折线段,将当前时刻的机器人的前进方向与折线段505之间的夹角确定为角度偏差量,即图5中的角θ,通过将沿机器人前进方向与位置点所在的折线段相邻的折线段作为当前时刻机器人相对应的折线段,即该折线段是超前于机器人当前时刻所对应的折线段,根据该折线段与机器人的前进方向确定角度偏差角,进一步根据角度偏差角对机器人前进速度进行调整,通过这种方式能够实现提前预判,预留时间以供执行机构对机器人的前进速度进行调整。
通过上述步骤S203-S205确定机器人前进方向与行进路线之间的角度偏差量,根据角度偏差量对机器人的前进速度进行调整,本实施例的方法进一步结合机器人与行进路线之间的距离对机器人的行进速度进行调整。
步骤S206,获取当前时刻的机器人与行进路线之间的位移偏差量。
为了更加精准地控制机器人,使机器人始终沿预先规划的行进路线行进,甚至当机器人偏离了行进路线时,需要控制机器人回到行进路线上,本实施例进一步根据机器人当前时刻的机器人与行进路线之间的位移偏差量对机器人的前进速度进行调整。根据上述步骤可以确定行进路线中包含的距离当前时刻的机器人最近的位置点,该位置点与当前时刻机器人的中心位置的距离即为当前时刻的机器人与行进路线之间的位移偏差量。当然,若当前时刻机器人未偏离行进路线,则该位移偏差量为零。
具体地,根据当前时刻的机器人与行进路线之间的垂直距离确定位移偏差量,也即连接机器人的中心位置与行进路线中包含的距离当前时刻的机器人的中心位置最近的位置点的直线段的长度。
本实施例的方法中,对机器人的前进速度进行控制所依据的公式为:
Vt=V(f,t)+V(θ,t)+V(inc,t)
其中t是指当前时刻,f是指机器人的前进方向,θ是指当前时刻机器人与行进路线之间的角度偏差量,inc是指当前时刻机器人与行进路线之间位移偏差量;则V(f,t)表示当前时刻机器人沿前进方向的前进速度,V(θ,t)表示根据当前时刻的机器人前进方向与当前时刻的机器人相对应的折线段的角度偏差量确定的对前进速度进行衰减的速度衰减量,V(inc,t)表示根据当前时刻机器人与行进路线之间的位移量偏差量确定的对前进速度进行衰减的速度衰减量,Vt表示根据上述两个速度衰减量对前进速度进行衰减之后的当前时刻机器人的实际速度,也即,本实施例的方法是结合机器人与行进路线之间的角度偏差量以及机器人与行进路线之间的位移偏差量对前进速度进行衰减处理,根据衰减处理结果确定机器人的实际速度,根据实际速度对机器人沿机器人前进方向的前进速度进行调整,通过后续步骤S207至S209对此进行详细解释。
步骤S207,根据位移偏差量调整机器人的第一驱动轮与第二驱动轮之间的轮速差。
当位移偏差量大于预设位移偏差阈值时,判断第一驱动轮与行进路线之间的距离是否大于第二驱动轮与行进路线之间的距离;若是,则使第一驱动轮的轮速大于第二驱动轮的轮速;若否,则使第一驱动轮的轮速小于第二驱动轮的轮速。
当位移偏差量大于预设位移偏差量阈值时,则表明当前机器人偏离了行进路线较远,则需要调整驱动轮的速度,使机器人重新行进到行进路线上。如图5所示的机器人及其行进路线,第一驱动轮501与行进路线之间的距离大于第二驱动轮502与行进路线之间的距离,表现为机器人位于偏离行进路线的左侧的位置,则控制第一驱动轮501的轮速大于第二驱动轮502的轮速,使机器人转弯并向靠近行进路线的方向行进,即向右侧行进;当第一驱动轮501与行进路线之间的距离小于第二驱动轮502与行进路线之间的距离时,表现为机器人位于偏离行进路线的右侧的位置,则控制第一驱动轮501小于第二驱动轮502的轮速,使机器人转弯并向靠近行进路线的方向行进,即向左侧行进。当然,本发明对机器人驱动轮的个数以及驱动轮之间的位置关系均不作限制,本领域技术人员可根据实际情况确定如何调整机器人驱动轮的轮速。
调整机器人的第一驱动轮和/或第二驱动轮的轮速的具体值的一种可选的方式为通过PID控制算法确定。如本领域技术人员所理解的,PID控制代表使用三项(即:比例(P)、积分(I)和微分(D)项)的控制回路反馈机构。PID需要在一个闭环系统里实现,即:有输入有反馈。在本实施例中,输入为第一驱动轮和第二驱动轮的轮速,反馈为实时感测的机器人与行进路线之间的距离,最终确定机器人与行进路线的距离满足预设的条件对应的第一驱动轮和第二驱动轮的速度为调整的具体值,换言之,在实际应用中,往往不能使机器人的实际行进路线与行进路线完全重合,通过设置预设距离阈值,只要机器人与行进路线之间的距离在预设的距离阈值内,则满足预设的条件,都认为机器人未偏离行进路线。
步骤S208,根据调整后的第一驱动轮与第二驱动轮之间的轮速差对角度偏差量进行修正,得到修正偏差量,根据修正偏差量对前进速度进行衰减处理。
通过上述步骤对第一驱动轮以及第二驱动轮的轮速进行调整之后,机器人的前进方向发生改变,此时机器人的前进方向与行进路线之间的角度偏差量发生改变,因此需要进一步根据调整后的第一驱动轮与第二驱动轮之间的轮速差对之前获取的角度偏差量进行修正,使得修正之后的角度偏差量与当前时刻机器人的前进方向与行进路线之间的角度偏差量之间的差值在预设的角度偏差量差值范围内,根据修正偏差量对前进速度进行衰减处理。
步骤S209,根据衰减处理后的结果确定当前时刻的机器人的实际速度,根据实际速度对机器人沿机器人前进方向的前进速度进行调整。
本实施例的方法考虑当前时刻的机器人与行进路线之间的角度偏差量以及当前时刻机器人与行进路线之间的位移偏差量两个因素,对机器人的前进速度进行调整,能够更加精准地控制机器人的行进过程,并且当机器人偏离了预先规划的行进路线,根据偏离的距离以及机器人的前进速度对机器人的前进速度进行调整,使机器人回到预先规划的行进路线上。
根据上述步骤确定的实际速度对机器人的前进速度进行调整,调整的结果可能是增加或者减小或者保持当前时刻机器人沿前进方向的前进速度,在实际的应用中,还需要考虑机器人所处的环境情况,例如,机器人以实际速度行进时刹车距离过大,表现为机器人刹不住车,但机器人的前方存在障碍物,则机器人会碰撞障碍物,因此本实施例进一步计算与实际速度相对应的刹车距离;当刹车距离大于第一预设距离阈值,和/或机器人与前方障碍物之间的距离小于第二预设距离阈值时,减小机器人沿机器人前进方向的前进速度。
另外,本实施例的方法将机器人的前进速度控制在一定的速度范围之内,具体预先设置机器人最小速度以及机器人最大速度;根据机器人最小速度以及机器人最大速度增大或减小机器人沿机器人前进方向的前进速度,也即,调整之后的机器人沿前进方向的前进速度最小不能小于预设的最小速度,最大不能大于预设的最大速度,防止机器人的前进速度发生突变,行进过程中出现紧急加速或者紧急刹车的情况,通过根据最大以及最小速度对机器人的前进速度进行约束,能够使机器人的行进过程显得更加稳定。
根据本实施例提供的机器人沿行进路线行进的控制方法,预先规划机器人的行进路线;在机器人沿行进路线行进的过程中,获取当前时刻的机器人沿机器人前进方向的前进速度;确定行进路线中包含的距离当前时刻的机器人最近的位置点;根据位置点确定行进路线中包含的与当前时刻的机器人相对应的折线段;根据当前时刻的机器人前进方向与折线段之间的夹角确定角度偏差量;获取当前时刻的机器人与行进路线之间的位移偏差量;根据位移偏差量调整机器人的第一驱动轮与第二驱动轮之间的轮速差;根据调整后的第一驱动轮与第二驱动轮之间的轮速差对角度偏差量进行修正,得到修正偏差量,根据修正偏差量对前进速度进行衰减处理;根据衰减处理后的结果确定当前时刻的机器人的实际速度,根据实际速度对机器人沿机器人前进方向的前进速度进行调整。通过根据环境地图包含的障碍物区域为机器人确定一条从起始位置移动到目标位置的最短的行进路线;在机器人沿行进路线行进的过程中,结合前进方向与行进路线的角度偏差量以及机器人与行进路线的距离这两个因素对机器人的前进速度进行调整,控制机器人的前进速度以使机器人始终沿着行进路线行进,对于已经偏离了行进路线的机器人通过调整其驱动轮的轮速差,使机器人回到行进路线上;此外,本实施例的控制方法还考虑机器人所处的环境信息以及机器人的刹车距离对机器人的前进速度进行调整,避免机器人碰撞障碍物,通过预先设置机器人的最大速度以及最小速度,将机器人的前进速度控制在一定的范围内,防止机器人在行进过程中出现紧急刹车或者紧急加速的情况,使机器人在行进时显得更加稳定。
图6示出了根据本发明一个实施例提供的机器人行进路线的确定装置的功能框图,如图6所示,该装置包括:
前进速度获取模块61,适于在机器人沿行进路线行进的过程中,获取当前时刻的机器人沿机器人前进方向的前进速度;
角度偏差量获取模块62,适于获取当前时刻的机器人与行进路线之间的角度偏差量;
衰减模块63,适于根据角度偏差量对前进速度进行衰减处理;
实际速度确定模块64,适于根据衰减处理后的结果确定当前时刻的机器人的实际速度;
调整模块65,适于根据实际速度对机器人沿机器人前进方向的前进速度进行调整。
可选地,角度偏差量确定模块进一步包括:
位置点确定单元,适于确定行进路线中包含的距离当前时刻的机器人最近的位置点;
折线段确定单元,适于根据位置点确定行进路线中包含的与当前时刻的机器人相对应的折线段;
则角度偏差量获取模块62进一步适于:根据当前时刻的机器人前进方向与折线段之间的夹角确定角度偏差量。
可选地,折线段确定单元进一步适于:
将行进路线中包含的位置点所在的折线段确定为与当前时刻的机器人相对应的折线段;或者,
将行进路线中包含的与位置点所在的折线段相邻的第一折线段或第二折线段确定为与当前时刻的机器人相对应的折线段;
其中,第一折线段为沿机器人前进方向与位置点所在的折线段相邻的折线段;第二折线段为沿机器人后退方向与位置点所在的折线段相邻的折线段;其中,机器人后退方向为机器人前进方向的反方向。
可选地,调整模块65进一步适于:
计算与实际速度相对应的刹车距离;
当刹车距离大于第一预设距离阈值,和/或机器人与前方障碍物之间的距离小于第二预设距离阈值时,减小机器人沿机器人前进方向的前进速度。
可选地,上述装置进一步包括:
速度设置模块,适于预先设置机器人最小速度以及机器人最大速度;
则调整模块65进一步适于:
根据机器人最小速度以及机器人最大速度增大或减小机器人沿机器人前进方向的前进速度。
可选地,上述装置进一步包括:
位移偏差量获取模块,适于获取当前时刻的机器人与行进路线之间的位移偏差量;
轮速调整模块,适于根据位移偏差量调整机器人的第一驱动轮与第二驱动轮之间的轮速差。
可选地,位移偏差量获取模块进一步适于:
根据当前时刻的机器人与行进路线之间的垂直距离确定位移偏差量;
且轮速调整模块进一步适于:
当位移偏差量大于预设位移偏差阈值时,判断第一驱动轮与行进路线之间的距离是否大于第二驱动轮与行进路线之间的距离;
若是,则使第一驱动轮的轮速大于第二驱动轮的轮速;若否,则使第一驱动轮的轮速小于第二驱动轮的轮速。
可选地,衰减模块63进一步适于:
根据调整后的第一驱动轮与第二驱动轮之间的轮速差对角度偏差量进行修正,得到修正偏差量;
根据修正偏差量对前进速度进行衰减处理。
可选地,上述装置进一步包括:
路线规划模块,适于预先规划机器人的行进路线。
可选地,路线规划模块进一步适于:
确定机器人的初始路线以及初始路线的第一端点和第二端点,从第一端点开始,依次判断初始路线中至少两条连续的折线段是否能够替换为一条可直达的直线段;
若是,将初始路线中至少两条连续的折线段替换为一条可直达的直线段,直至替换后的初始路线中不包含能够替换为一条可直达的直线段的折线段;
将替换后的初始路线确定为第一路线,从第二端点开始,依次判断第一路线中至少两条连续的折线段是否能够替换为一条可直达的直线段;
若是,将第一路线中至少两条连续的折线段替换为一条可直达的直线段,直至替换后的第一路线中不包含能够替换为一条可直达的直线段的折线段,将替换后的第一路线确定为机器人行进路线。
关于上述各个模块的具体结构和工作原理可参照方法实施例中相应步骤的描述,此处不再赘述。
另外,本申请实施例还提供了一种机器人,包括图6所示的机器人沿行进路线行进的控制装置以及上述各个模块。
本申请实施例提供了一种非易失性计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的机器人沿行进路线行进的控制方法。
图7示出了根据本发明实施例的一种计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
如图7所示,该电子设备可以包括:处理器(processor)702、通信接口(Communications Interface)704、存储器(memory)706、以及通信总线708。
其中:
处理器702、通信接口704、以及存储器706通过通信总线708完成相互间的通信。
通信接口704,用于与其它设备比如客户端或其它服务器等的网元通信。
处理器702,用于执行程序710,具体可以执行上述机器人沿行进路线行进的控制方法实施例中的相关步骤。
具体地,程序710可以包括程序代码,该程序代码包括计算机操作指令。
处理器702可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。电子设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器706,用于存放程序710。存储器706可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序710具体可以用于使得处理器702执行以下操作:
在机器人沿行进路线行进的过程中,获取当前时刻的机器人沿机器人前进方向的前进速度;获取当前时刻的机器人与行进路线之间的角度偏差量,根据角度偏差量对前进速度进行衰减处理;根据衰减处理后的结果确定当前时刻的机器人的实际速度,根据实际速度对机器人沿机器人前进方向的前进速度进行调整。
在一种可选的方式中,程序710具体可以进一步用于使得处理器702执行以下操作:
确定行进路线中包含的距离当前时刻的机器人最近的位置点;
根据位置点确定行进路线中包含的与当前时刻的机器人相对应的折线段;
根据当前时刻的机器人前进方向与折线段之间的夹角确定角度偏差量。
在一种可选的方式中,程序710具体可以进一步用于使得处理器702执行以下操作:
将行进路线中包含的位置点所在的折线段确定为与当前时刻的机器人相对应的折线段;或者,
将行进路线中包含的与位置点所在的折线段相邻的第一折线段或第二折线段确定为与当前时刻的机器人相对应的折线段;
其中,第一折线段为沿机器人前进方向与位置点所在的折线段相邻的折线段;第二折线段为沿机器人后退方向与位置点所在的折线段相邻的折线段;其中,机器人后退方向为机器人前进方向的反方向。
在一种可选的方式中,程序710具体可以进一步用于使得处理器702执行以下操作:
计算与实际速度相对应的刹车距离;
当刹车距离大于第一预设距离阈值,和/或机器人与前方障碍物之间的距离小于第二预设距离阈值时,减小机器人沿机器人前进方向的前进速度。
在一种可选的方式中,程序710具体可以进一步用于使得处理器702执行以下操作:
预先设置机器人最小速度以及机器人最大速度;
在一种可选的方式中,程序710具体可以进一步用于使得处理器702执行以下操作:
根据机器人最小速度以及机器人最大速度增大或减小机器人沿机器人前进方向的前进速度。
在一种可选的方式中,程序710具体可以进一步用于使得处理器702执行以下操作:
获取当前时刻的机器人与行进路线之间的位移偏差量;
根据位移偏差量调整机器人的第一驱动轮与第二驱动轮之间的轮速差。
在一种可选的方式中,程序710具体可以进一步用于使得处理器702执行以下操作:
根据当前时刻的机器人与行进路线之间的垂直距离确定位移偏差量;
在一种可选的方式中,程序710具体可以进一步用于使得处理器702执行以下操作:
当位移偏差量大于预设位移偏差阈值时,判断第一驱动轮与行进路线之间的距离是否大于第二驱动轮与行进路线之间的距离;
若是,则使第一驱动轮的轮速大于第二驱动轮的轮速;若否,则使第一驱动轮的轮速小于第二驱动轮的轮速。
在一种可选的方式中,程序710具体可以进一步用于使得处理器702执行以下操作:
根据调整后的第一驱动轮与第二驱动轮之间的轮速差对角度偏差量进行修正,得到修正偏差量;
根据修正偏差量对前进速度进行衰减处理。
在一种可选的方式中,程序710具体可以进一步用于使得处理器702执行以下操作:
预先规划机器人的行进路线。
在一种可选的方式中,程序710具体可以进一步用于使得处理器702执行以下操作:
确定机器人的初始路线以及初始路线的第一端点和第二端点,从第一端点开始,依次判断初始路线中至少两条连续的折线段是否能够替换为一条可直达的直线段;
若是,将初始路线中至少两条连续的折线段替换为一条可直达的直线段,直至替换后的初始路线中不包含能够替换为一条可直达的直线段的折线段;
将替换后的初始路线确定为第一路线,从第二端点开始,依次判断第一路线中至少两条连续的折线段是否能够替换为一条可直达的直线段;
若是,将第一路线中至少两条连续的折线段替换为一条可直达的直线段,直至替换后的第一路线中不包含能够替换为一条可直达的直线段的折线段,将替换后的第一路线确定为机器人行进路线。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的机器人沿行进路线行进的控制计算设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种机器人沿行进路线行进的控制方法,包括:
在机器人沿所述行进路线行进的过程中,获取当前时刻的机器人沿机器人前进方向的前进速度;
获取当前时刻的机器人与所述行进路线之间的角度偏差量,根据所述角度偏差量对所述前进速度进行衰减处理;
根据衰减处理后的结果确定当前时刻的机器人的实际速度,根据所述实际速度对所述机器人沿机器人前进方向的前进速度进行调整。
2.根据权利要求1所述的方法,其中,所述获取当前时刻的机器人与所述行进路线之间的角度偏差量的步骤具体包括:
确定所述行进路线中包含的距离所述当前时刻的机器人最近的位置点;
根据所述位置点确定所述行进路线中包含的与所述当前时刻的机器人相对应的折线段;
根据当前时刻的机器人前进方向与所述折线段之间的夹角确定所述角度偏差量。
3.根据权利要求2所述的方法,其中,所述根据所述位置点确定所述行进路线中包含的与所述当前时刻的机器人相对应的折线段的步骤具体包括:
将所述行进路线中包含的所述位置点所在的折线段确定为与所述当前时刻的机器人相对应的折线段;或者,
将所述行进路线中包含的与所述位置点所在的折线段相邻的第一折线段或第二折线段确定为与所述当前时刻的机器人相对应的折线段;
其中,所述第一折线段为沿所述机器人前进方向与所述位置点所在的折线段相邻的折线段;所述第二折线段为沿机器人后退方向与所述位置点所在的折线段相邻的折线段;其中,所述机器人后退方向为所述机器人前进方向的反方向。
4.根据权利要求1-3任一所述的方法,其中,所述根据所述实际速度对所述机器人沿机器人前进方向的前进速度进行调整的步骤具体包括:
计算与所述实际速度相对应的刹车距离;
当所述刹车距离大于第一预设距离阈值,和/或所述机器人与前方障碍物之间的距离小于第二预设距离阈值时,减小所述机器人沿机器人前进方向的前进速度。
5.根据权利要求1-4任一所述的方法,其中,所述方法进一步包括:预先设置机器人最小速度以及机器人最大速度;
则所述根据所述实际速度对所述机器人沿机器人前进方向的前进速度进行调整的步骤具体包括:
根据所述机器人最小速度以及机器人最大速度增大或减小所述机器人沿机器人前进方向的前进速度。
6.根据权利要求1-5任一所述的方法,其中,所述根据衰减处理后的结果确定当前时刻的机器人的实际速度,根据所述实际速度对所述机器人沿机器人前进方向的前进速度进行调整的步骤之前,进一步包括:
获取当前时刻的机器人与所述行进路线之间的位移偏差量;
根据所述位移偏差量调整所述机器人的第一驱动轮与第二驱动轮之间的轮速差。
7.一种机器人沿行进路线行进的控制装置,包括:
前进速度获取模块,适于在机器人沿所述行进路线行进的过程中,获取当前时刻的机器人沿机器人前进方向的前进速度;
角度偏差量获取模块,适于获取当前时刻的机器人与所述行进路线之间的角度偏差量;
衰减模块,适于根据所述角度偏差量对所述前进速度进行衰减处理;
实际速度确定模块,适于根据衰减处理后的结果确定当前时刻的机器人的实际速度;
调整模块,适于根据所述实际速度对所述机器人沿机器人前进方向的前进速度进行调整。
8.一种机器人,包括权利要求7中所述的机器人沿行进路线行进的控制装置。
9.一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1-6中任一项所述的机器人沿行进路线行进的控制方法对应的操作。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1-6中任一项所述的机器人沿行进路线行进的控制方法对应的操作。
CN201711334125.8A 2017-12-08 2017-12-08 机器人沿行进路线行进的控制方法、装置及机器人 Pending CN108021136A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711334125.8A CN108021136A (zh) 2017-12-08 2017-12-08 机器人沿行进路线行进的控制方法、装置及机器人

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711334125.8A CN108021136A (zh) 2017-12-08 2017-12-08 机器人沿行进路线行进的控制方法、装置及机器人

Publications (1)

Publication Number Publication Date
CN108021136A true CN108021136A (zh) 2018-05-11

Family

ID=62073530

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711334125.8A Pending CN108021136A (zh) 2017-12-08 2017-12-08 机器人沿行进路线行进的控制方法、装置及机器人

Country Status (1)

Country Link
CN (1) CN108021136A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109062214A (zh) * 2018-08-22 2018-12-21 北京云迹科技有限公司 一种路径选择方法和送货机器人
CN109141441A (zh) * 2018-07-19 2019-01-04 北京汽车集团有限公司 车辆的障碍分析方法和装置
CN109298715A (zh) * 2018-11-09 2019-02-01 苏州瑞得恩光能科技有限公司 机器人行进控制系统及行进控制方法
CN109333531A (zh) * 2018-10-09 2019-02-15 深圳前海达闼云端智能科技有限公司 用于规划移动设备速度的方法及装置
CN109445438A (zh) * 2018-12-05 2019-03-08 英华达(上海)科技有限公司 基于地图分享的巡航装置的巡航控制方法及系统
CN109612477A (zh) * 2018-12-18 2019-04-12 盐城工学院 一种综合应用人工路标和栅格地图的移动机器人自主导航方法
CN110211202A (zh) * 2019-05-31 2019-09-06 北京三快在线科技有限公司 折线绘制方法、装置、电子设备及存储介质
CN111736582A (zh) * 2019-03-19 2020-10-02 北京奇虎科技有限公司 路径处理方法、装置、电子设备及计算机可读存储介质
CN113359766A (zh) * 2021-07-05 2021-09-07 杭州萤石软件有限公司 一种移动机器人的移动控制方法、以及移动机器人
CN113534805A (zh) * 2021-07-19 2021-10-22 美智纵横科技有限责任公司 机器人回充控制方法、装置和存储介质
CN116974286A (zh) * 2023-08-25 2023-10-31 上海木蚁机器人科技有限公司 调整无人车跟随控制点的避障方法、装置、设备和介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104613976A (zh) * 2014-08-26 2015-05-13 腾讯科技(深圳)有限公司 确定路径的方法及装置
US20150166063A1 (en) * 2013-12-18 2015-06-18 Jtekt Corporation Vehicle control apparatus and vehicle control method
CN105867379A (zh) * 2016-04-13 2016-08-17 上海物景智能科技有限公司 一种机器人的运动控制方法及控制系统
CN106886222A (zh) * 2017-03-29 2017-06-23 北京京东尚科信息技术有限公司 无人搬运车的控制方法和装置
CN106886215A (zh) * 2015-12-15 2017-06-23 北京智行者科技有限公司 一种基于多轴无轨电车循迹跟踪系统及具有其的电车

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150166063A1 (en) * 2013-12-18 2015-06-18 Jtekt Corporation Vehicle control apparatus and vehicle control method
CN104613976A (zh) * 2014-08-26 2015-05-13 腾讯科技(深圳)有限公司 确定路径的方法及装置
CN106886215A (zh) * 2015-12-15 2017-06-23 北京智行者科技有限公司 一种基于多轴无轨电车循迹跟踪系统及具有其的电车
CN105867379A (zh) * 2016-04-13 2016-08-17 上海物景智能科技有限公司 一种机器人的运动控制方法及控制系统
CN106886222A (zh) * 2017-03-29 2017-06-23 北京京东尚科信息技术有限公司 无人搬运车的控制方法和装置

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109141441A (zh) * 2018-07-19 2019-01-04 北京汽车集团有限公司 车辆的障碍分析方法和装置
CN109062214A (zh) * 2018-08-22 2018-12-21 北京云迹科技有限公司 一种路径选择方法和送货机器人
CN109333531A (zh) * 2018-10-09 2019-02-15 深圳前海达闼云端智能科技有限公司 用于规划移动设备速度的方法及装置
US11334072B2 (en) 2018-10-09 2022-05-17 Cloudminds (Shanghai) Robotics Co., Ltd. Method and device for planning velocity of a mobile apparatus
CN109298715B (zh) * 2018-11-09 2021-12-07 苏州瑞得恩光能科技有限公司 机器人行进控制系统及行进控制方法
CN109298715A (zh) * 2018-11-09 2019-02-01 苏州瑞得恩光能科技有限公司 机器人行进控制系统及行进控制方法
CN109445438A (zh) * 2018-12-05 2019-03-08 英华达(上海)科技有限公司 基于地图分享的巡航装置的巡航控制方法及系统
CN109445438B (zh) * 2018-12-05 2022-03-04 英华达(上海)科技有限公司 基于地图分享的巡航装置的巡航控制方法及系统
CN109612477A (zh) * 2018-12-18 2019-04-12 盐城工学院 一种综合应用人工路标和栅格地图的移动机器人自主导航方法
CN111736582A (zh) * 2019-03-19 2020-10-02 北京奇虎科技有限公司 路径处理方法、装置、电子设备及计算机可读存储介质
CN110211202A (zh) * 2019-05-31 2019-09-06 北京三快在线科技有限公司 折线绘制方法、装置、电子设备及存储介质
CN113359766A (zh) * 2021-07-05 2021-09-07 杭州萤石软件有限公司 一种移动机器人的移动控制方法、以及移动机器人
CN113359766B (zh) * 2021-07-05 2023-06-23 杭州萤石软件有限公司 一种移动机器人的移动控制方法、以及移动机器人
CN113534805A (zh) * 2021-07-19 2021-10-22 美智纵横科技有限责任公司 机器人回充控制方法、装置和存储介质
CN113534805B (zh) * 2021-07-19 2024-04-19 美智纵横科技有限责任公司 机器人回充控制方法、装置和存储介质
CN116974286A (zh) * 2023-08-25 2023-10-31 上海木蚁机器人科技有限公司 调整无人车跟随控制点的避障方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
CN108021136A (zh) 机器人沿行进路线行进的控制方法、装置及机器人
CN108052102A (zh) 机器人行进路线的确定方法、装置及机器人
CN108692734B (zh) 一种路径规划方法和装置
US9096267B2 (en) Efficient data flow algorithms for autonomous lane changing, passing and overtaking behaviors
US10401856B2 (en) Vehicle travel control apparatus
US5101351A (en) Autonomous vehicle using fuzzy control
Sabelhaus et al. Using continuous-curvature paths to generate feasible headland turn manoeuvres
CN110162029B (zh) 一种基于规划路径的运动控制方法及装置、机器人
CN107264621A (zh) 车辆预瞄距离计算方法、装置、介质及转向控制方法
US20200218261A1 (en) Systems and methods for generating a path for a vehicle
Heil et al. Adaptive and efficient lane change path planning for automated vehicles
Braunstingl et al. Fuzzy logic wall following of a mobile robot based on the concept of general perception
CN110398963A (zh) 无轨导航纠偏控制方法、装置、存储介质及控制器
JP2018527689A (ja) 自律車両のための仮想的なライン追従方法及び改造方法
CN107215334A (zh) 车速控制方法、装置及无人驾驶汽车
US20190096257A1 (en) System and method for autonomously steering a vehicle
CN112572397A (zh) 自动泊车控制方法、装置及控制器
CN102890511A (zh) 一种激光导引的sd型agv系统的导引方法
Guillet et al. Formation control of agricultural mobile robots: A bidirectional weighted constraints approach
Kang et al. Dynamic obstacles avoidance based on image-based dynamic window approach for human-vehicle interaction
WO2016114948A1 (en) System and method for controlling dollies
CN113428218A (zh) 一种车辆转向控制方法、装置、设备及存储介质
JP2022054428A (ja) 農機の自動uターン方法、農機の自動uターンシステム及びその応用
Allou et al. A Comparative Study of PID-PSO and Fuzzy Controller for Path Tracking Control of Autonomous Ground Vehicles.
CN107450308A (zh) 存储设备、机器人

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180511

RJ01 Rejection of invention patent application after publication