CN111511620B - 使用最优交互避碰代价评估的动态窗口方法 - Google Patents
使用最优交互避碰代价评估的动态窗口方法 Download PDFInfo
- Publication number
- CN111511620B CN111511620B CN201880068038.9A CN201880068038A CN111511620B CN 111511620 B CN111511620 B CN 111511620B CN 201880068038 A CN201880068038 A CN 201880068038A CN 111511620 B CN111511620 B CN 111511620B
- Authority
- CN
- China
- Prior art keywords
- robot
- speed
- candidate
- pose
- obstacle
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000003993 interaction Effects 0.000 title claims description 6
- 230000006870 function Effects 0.000 claims abstract description 112
- 230000033001 locomotion Effects 0.000 claims abstract description 27
- 238000013500 data storage Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 5
- 230000003044 adaptive effect Effects 0.000 claims description 4
- 241000283283 Orcinus orca Species 0.000 claims 12
- 230000008569 process Effects 0.000 description 17
- 239000003550 marker Substances 0.000 description 16
- 239000013598 vector Substances 0.000 description 14
- 238000011156 evaluation Methods 0.000 description 11
- 238000012544 monitoring process Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 9
- 238000013439 planning Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 238000013519 translation Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 5
- 230000010355 oscillation Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000004806 packaging method and process Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000000205 computational method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000013138 pruning Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000284 resting effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0214—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with safety or protection criteria, e.g. avoiding hazardous areas
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W30/00—Purposes of road vehicle drive control systems not related to the control of a particular sub-unit, e.g. of systems using conjoint control of vehicle sub-units
- B60W30/08—Active safety systems predicting or avoiding probable or impending collision or attempting to minimise its consequences
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
- G01C21/206—Instruments for performing navigational calculations specially adapted for indoor navigation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0217—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory in accordance with energy consumption, time reduction or distance reduction criteria
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0223—Control 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0272—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
- G05D1/0278—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle using satellite positioning signals, e.g. GPS
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0287—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling
- G05D1/0289—Control of position or course in two dimensions specially adapted to land vehicles involving a plurality of land vehicles, e.g. fleet or convoy travelling with means for avoiding collisions between vehicles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0234—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using optical markers or beacons
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
- G08G1/164—Centralised systems, e.g. external to vehicles
-
- G—PHYSICS
- G08—SIGNALLING
- G08G—TRAFFIC CONTROL SYSTEMS
- G08G1/00—Traffic control systems for road vehicles
- G08G1/16—Anti-collision systems
- G08G1/166—Anti-collision systems for active traffic, e.g. moving vehicles, pedestrians, bikes
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Aviation & Aerospace Engineering (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Development Economics (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Electromagnetism (AREA)
Abstract
一种用于沿目标路径导航机器人并避开障碍物的方法和系统。该方法包括为一个或多个机器人接收目标位姿,为第一机器人确定目标路径,同时避开所接收的障碍物地图中的移动障碍物和固定障碍物。评估第一目标函数以从生成的候选速度集合中选择优选速度,该选择基于一个或多个加权代价函数。基于一个或多个机器人的位姿和优选速度创建的速度障碍集合用于评估第二目标函数以确定下一个时间周期中机器人的运动。创建速度对象集合包括将优选速度从非完整速度转换为完整速度。
Description
相关申请的交叉引用
本申请要求申请日为2017年9月22日的美国专利申请15/712,256的优先权,该美国专利申请与申请日为2017年9月22日,名称为“具有排除区的多分辨率扫描匹配”的美国专利申请15/712,222相关,它们都通过引用并入本文。
技术领域
在此描述的本发明总体上涉及在存在移动和静止障碍物的情况下沿目标路径朝向目标位置的机器人导航。具体地,本发明是一种用于确定机器人增量运动的轨迹的改进方法,该轨迹避免与障碍物碰撞,同时最大化沿目标路径前进。
背景技术
在许多应用中,机器人被用来代替人类执行功能或辅助人类以提高生产率和效率。这样的应用之一是订单履行,通常是在一个装满产品的大型仓库中执行,产品将被运送到已经通过互联网下订单进行送货上门的客户。及时、准确和高效地履行此类订单在逻辑上至少可以说具有挑战性。
例如,在线互联网购物应用中,单击虚拟购物车中的“结算”按钮将创建一个“订单”。该订单包括一个将要发送到特定地址的项目列表。“履行”的过程包括从一个大仓库实际提取或“挑选”这些物品,包装它们,并将它们运送到指定的地址。
因此,订单履行过程的一个重要目标是在尽可能短的时间内装运尽可能多的物品。接收订单、计划订单履行、查找储物架或储物箱、拣选产品并针对订单上的每个物品重复该过程、然后将订单交付给运输站的过程是重复性的且劳动密集型的。在仓库中存有成千上万个快速变化的库存物品,机器人在确保及时有效地履行订单中起着至关重要的作用。另外,最终确定被运输的产品首先需要在仓库中接收,并在整个仓库中以有序的方式存储或“放置”在储物仓中,以便可以轻松取回它们进行运输。
使用机器人执行拾取和放置功能可以单独由机器人完成,也可以在操作员的协助下完成。无论是否通过人机交互执行的拾取和放置或库存功能,都要求机器人从其当前位置导航到目标产品存储或“仓”的位置。从当前位置到产品存放仓的机器人目标路线上,机器人通常会遇到固定和移动的障碍物,例如墙壁,架子,支撑结构,人和其他机器人。随着新产品的存储和消耗,新架子和新仓的添加和移除以及将杂物引入共享的人和机器人的空间,订单履行仓库的动态性质要求不断更新有关仓库及其内容的信息。
导航机器人的目标路径时避开障碍物包括使用附近固定和移动障碍物的信息来计算一系列增量运动。增量运动不得将机器人驱动到固定或移动的障碍物中,并且驱动其运动的机器人轨迹必须在固定的周期内计算。然而,已知的机器人导航方法在更适合于对固定障碍物导航的方法与更适合于对移动障碍物(即机器人)导航的方法之间进行选择。所需要的是一种在计算时将移动障碍物和固定障碍物都考虑的机器人导航的高效方法,从而提高了机器人在每次增量运动的分配周期内朝其目标位置前进的能力。
发明内容
从下面的发明概述和详细说明中,本发明的优点和优点将显而易见。本领域的技术人员将理解,可以用除了下面总结或公开的实施例以外的实施例来实践本教导。
在第一方面,一种用于沿目标路径导航机器人并避开障碍物的方法。该方法包括接收第一机器人的目标位姿,确定第一机器人的目标路径,接收障碍物地图,接收第一机器人的位姿,接收一个或多个其他机器人的位姿,为第一机器人产生候选速度集合,使用第一目标函数评估第一候选速度集合,基于第一目标函数,选择第一机器人的第一优选速度,基于一个或多个其他机器人的位姿和第一机器人的第一优选速度,创建速度障碍物集合,使用第二目标函数评估候选速度集合;基于第二目标函数,为第一机器人选择第二优选速度,以及基于第二优选速度移动第一机器人。
在一个实施例中,目标路径可以是从第一机器人的当前位姿到第一机器人的目标位姿的路径。机器人的目标位姿可以是订单履行仓库应用中关联产品仓的基准的位姿。
在一些实施例中,第一机器人的位姿可取决于多对多分辨率扫描匹配(M3RSM)、自适应蒙特卡洛定位(AMCL)、地理位置卫星(GPS)、基准信息和基于机器人传感器的里程表中的一个或多个。
在优选实施例中,产生用于第一机器人的候选速度集合包括假定在一个或多个时间步长上施加运动、障碍物和惯性约束以仅产生具有允许轨迹的候选速度。
在另一个实施例中,第一目标函数包括形式为G(v,ω)=α*heading(v,ω)+β*dist(v,ω)+γ*velocity(v,ω)的一个或多个代价函数,其中,G(v,ω)是目标函数,α,β,γ是权重;heading(v,ω)是沿着目标路径前进的量度;dist(v,ω)是到最近障碍物的距离(其“间隙”);对于给定的候选速度(v,ω),velocity(v,ω)是机器人的前进速度。第一目标函数还包括路径代价函数、障碍物代价函数和振荡代价函数中的一项或多项,路径代价函数对候选速度将从目标路径偏移多少进行评分;障碍物代价函数对接近障碍物的程度进行评分;振荡代价函数将较高的代价分配给从先前的优选速度到旋转速度的变化。第一目标函数的代价函数可通过将最高代价得分分配给候选速度来使候选速度无效。
在另一个实施例中,创建速度对象集合包括将优选速度从非完整速度转换为完整速度。将优选速度转换为完整速度可包括将一个或多个其他机器人的半径增加优选轨道与直线轨道之间的最大距离。
在优选实施例中,第二目标函数由形式为ORCA/DWA=CDWA+αORCA*CORCA的一个或多个代价函数组成,其中CDWA定义为:CDWA=α*heading(v,ω)+β*dist(v,ω)+γ*velocity(v,ω),其中,α,β,γ是权重;heading(v,ω)是沿着目标路径前进的量度;dist(v,ω)是到最近障碍物的距离;对于给定的候选速度(v,ω),velocity(v,ω)是机器人的前进速度,其中CORCA定义为CORCA=αv(vt-vpref)+penalty+αd*d(P,vt),其中αd和αv是权重,vt是正在评估的候选速度;vpref是优选速度;P是由VOs的并集形成的多边形;d(P,vt)是候选速度违反VOs的量度;penalty是当候选速度vt违反VO时施加的罚分代价。进一步,代价函数d(P,vt)是从多边形P的周界到由候选速度vt达到的轨迹t所定义的点的最小距离的函数。
在本发明的第二方面,一种用于沿着目标路径导航机器人并避开障碍物的机器人系统,包括收发器,数据存储设备,数据处理器和其上存储有指令以供数据处理器执行的数据存储设备。存储在其上的指令指示机器人系统接收第一机器人的目标位姿,确定第一机器人的目标路径,接收障碍物地图,接收第一机器人的位姿,接收一个或多个其他机器人的位姿,为第一机器人产生候选速度集合,使用第一目标函数评估第一候选速度集合,基于第一目标函数,选择第一机器人的第一优选速度,基于一个或多个其他机器人的位姿和第一机器人的第一优选速度,创建速度障碍物集合,使用第二目标函数评估候选速度集合,基于第二目标函数,为第一机器人选择第二优选速度,以及基于第二优选速度移动第一机器人。
在该第二方面的一个实施例中,目标路径可以是从第一机器人的当前位姿到第一机器人的目标位姿的路径。机器人的目标位姿可以是订单履行仓库应用中关联产品仓的基准的位姿。
在优选实施例中,产生用于第一机器人的候选速度集合包括假定在一个或多个时间步长上施加运动、障碍和惯性约束以仅产生具有允许轨迹的候选速度。
在另一个实施例中,第一目标函数包括形式为G(v,ω)=α*heading(v,ω)+β*dist(v,ω)+γ*velocity(v,ω)的一个或多个代价函数,其中,G(v,ω)是目标函数,α,β,γ是权重;heading(v,ω)是沿着目标路径前进的量度;dist(v,ω)是到最近障碍物的距离(其“间隙”);对于给定的候选速度(v,ω),velocity(v,ω)是机器人的前进速度。第一目标函数还包括路径代价函数、障碍物代价函数和振荡代价函数中的一项或多项,路径代价函数对候选速度将从目标路径偏离多少进行评分;障碍物代价函数对接近障碍物的程度进行评分;振荡代价函数将较高的代价分配给从先前的优选速度到旋转速度的变化。第一目标函数的代价函数可通过将最高代价得分分配给候选速度来使候选速度无效。
在另一个实施例中,创建速度对象集合包括将优选速度从非完整速度转换为完整速度。将优选速度转换为完整速度可包括将一个或多个其他机器人的半径增加优选轨道与直线轨道之间的最大距离。
在优选实施例中,第二目标函数由形式为ORCA/DWA=CDWA+αORCA*CORCA的一个或多个代价函数组成,其中CDWA定义为:CDWA=α*heading(v,ω)+β*dist(v,ω)+γ*velocity(v,ω),其中,α,β,γ是权重;heading(v,ω)是沿着目标路径前进的量度;dist(v,ω)是到最近障碍物的距离;对于给定的候选速度(v,ω),velocity(v,ω)是机器人的前进速度,其中CORCA定义为CORCA=αv(vt-vpref)+penalty+αd*d(P,vt),其中αd和αv是权重,vt是正在评估的候选速度;vpref是优选速度;P是由VOs的并集形成的多边形;d(P,vt)是候选速度违反VOs的量度;penalty是当候选速度vt违反VO时施加的罚分代价。进一步,代价函数d(P,vt)是从多边形P的周界到由候选速度vt达到的轨迹t所定义的点的最小距离的函数。
在本发明的第三个方面,一种机器人系统,该机器人系统包括多个机器人,在监督系统的监督下执行第一方面的方法。
附图说明
现在将参考附图仅通过举例的方式描述本发明的实施例,其中:
图1为订单履行仓库的俯视图;
图2A为图1所示的仓库中使用的机器人之一的基座的正视图;
图2B为图1所示的仓库中使用的机器人之一的基座的立体图;
图3为图2A和2B中的机器人的立体图,该机器人装配有电枢并停在图1所示的架子的前面;
图4为在机器人上使用激光雷达创建的图1的仓库的局部图;
图5为定位散布在整个仓库中的基准标记和存储基准标记位姿的过程的流程图;
图6为基准标识到位姿映射的表;
图7是仓位置到基准标识映射的表;
图8是描述产品SKU到位姿映射过程的流程图。
图9示出了与本发明的方法和系统一起使用的机器人系统的一个实施例;
图10描绘了机器人通过空间地图所表示的环境从当前位置到目标位置的一般导航;
图11描绘了根据本发明的一方面的机器人相对于图10的环境的SLAM地图的导航;
图12描绘了在障碍物和其他机器人附近导航的机器人的导航和增量运动;
图13是示出了根据本发明的用于沿着目标路径导航机器人的实施例的流程图;
图14是示出了根据本发明的执行ORCA/DWA的实施例的流程图;
图15示出了在ORCA速度对象分析中使用DWA非完整优选速度的本发明的一个方面;
图16A-C示出了确定距离和罚分代价函数以应用于相对于ORCA速度空间的候选速度,以用于ORCA代价函数的方面。
具体实施方式
在此描述的本发明针对与自主或半自主机器人一起使用的方法和系统,用于在包含障碍物和自由空间的环境中,沿其“目标路径”将机器人从当前位置导航到目标位置的改进的导航方式。具体地,本发明的方法和系统提供了相对于现有技术的在计算上的有效改进,以结合基于约束的避障方法,准确地确定要应用于机器人推进控制的下一个瞬时速度。
参考在附图中描述和/或示出并且在以下描述中详细描述的非限制性实施例和示例,更充分地解释了本公开及其各种特征和有利细节。应当注意,附图中示出的特征不必按比例绘制,并且即使没有在本文中明确陈述,本领域技术人员也可以将一个实施例的特征与其他实施例一起使用。此外,应注意,贯穿附图的若干视图,相似的附图标记表示相似的部分。
可以省略对公知组件和处理技术的描述,以免不必要地混淆本公开的实施例。本文中使用的示例仅旨在促进对可以实践本公开的方式的理解,并且还使得本领域技术人员能够实践本公开的实施例。因此,本文的示例和实施例不应解释为限制本公开的范围。
本领域的技术人员将理解,可以用除了公开的实施例以外的实施例来实践本教导。尽管本文提供的描述集中于从仓库中的仓库位置拣选物品以履行向客户发货的订单,但该系统同样适用于在仓库中将接收到的物品存储或放置在仓库中,以便以后查找物品并发送给用户。本发明还适用于与这种仓库系统相关的库存控制任务,例如合并、计数、验证、检查和清理产品。
本发明的方法和系统还可以应用于具有其他类型障碍物的其他类型环境中,以用于其他类型的应用。在本发明的应用中,静止或动态的任何物理物体或结构都可以被认为是“障碍”。障碍物还可以包括在环境中操作的人类和其他机器人,人类和其他机器人的位置可以是合作任务执行中的当前位置或目标位置。目标位置可以包括环境中的一个或多个位置,用于定位一个或多个机器人以执行或协助人类执行任务或完成一系列任务。
这些和其他益处和优点将从下面描述的示例和说明中变得显而易见。
如图1所示,典型的订单履行仓库10包括货架12,货架12上装有可以包含在订单16中的各种物品。在操作中,来自仓库管理服务器15的订单16到达订单服务器14。订单服务器14将订单16传送到从仓库10中多个闲逛的机器人中选择的机器人18。图1还示出了充电区域19,根据本发明的一个方面,充电区域19可以是一个或多个充电站处于的位置。
在优选实施例中,图2A和2B所示的机器人18包括具有激光雷达22的自主轮式基座20。该基座20还具有收发器(未示出)和一对数字光学摄像机24a和24b,该收发器使机器人18能够从订单服务器14接收指令。该机器人基座还包括充电端口26,用于对为自主轮式基座20供电的电池重新充电。基座20还具有处理器(未示出),该处理器从激光雷达和摄像机24a和24b接收数据以捕获表示机器人环境的信息。本发明还包括存储器(未示出),其与处理器一起操作以执行在仓库10内的与导航相关联的各种任务,以及导航到放置在架子12上的基准标记30,以上如图3所示。基准标记30(例如,二维条形码)对应于所订购物品的箱子/位置。下面参照图4至图8详细描述本发明的导航方法。根据本发明的一个方面基准标记还用于识别充电站,并且到这种充电站的基准标记的导航与到所订购物品的箱子/位置的导航相同。一旦机器人导航到充电站,将使用更精确的导航方法将机器人与充电站插接,并且以下描述这种导航方法。
再次参考图2B所示,基座20包括上表面32,在该上表面32中可以存储手提袋或箱子以携带物品。该图还示出了联接器34,其联接多个可互换电枢40中的任何一个,图3中示出了可互换电枢40其中之一。图3中的特定电枢40的特征在于具有用于携带接收物品的手提袋44的手提袋保持器42(在这种情况下为架子),以及用于支撑平板电脑48的平板电脑保持器46(或便携式计算机/其他用户输入设备)。在一些实施例中,电枢40支撑一个或多个搬运物品的搬运箱。在其他实施例中,底座20支撑一个或多个手提袋,用于搬运接收到的物品。如本文所用,术语“手提袋”包括但不限于可悬挂物品的货座、箱子、笼子、架子及杆子,不限于筒、板条箱、货架、架子、支架、集装箱、盒子、罐子和用于储藏和保管物品的装置。
尽管机器人18擅长在仓库10内来回移动,但是利用当前的机器人技术,由于机器人对对象进行操纵相关的技术困难,它并不擅长快速有效地从架子上取走物品并将其放置在手提袋44中。拾取物品的一种更有效的方法是使用通常是人的本地操作员50来执行从货架12上通过物理的方式卸下已订购的物品并将其放置在机器人18上(例如在手提袋44中)的任务。机器人18通过平板电脑48(或便携式计算机/其他用户输入设备)将订单传达给本地操作员50,本地操作员50可以读取该平板电脑48,或者将订单传输到本地操作员50使用的手持设备上。
在从订单服务器14接收到订单16时,机器人18前进到第一仓库位置,如图3所示。它基于存储在内存中并由处理器执行的导航软件来执行此操作。导航软件依赖于由激光雷达22收集的与环境有关的数据。存储器中的内部表格识别基准标记30的基准辨别符号(“ID”),该基准辨别符号对应于仓库10中的位置,在该位置上可以找到特定物品,其中,摄像机24a和24b用于导航。
在到达正确的位置时,机器人18将自己停在存放物品的架子12的前面,并等待本地操作员50从架子12取回物品并将其放入手提袋44。如果机器人18还有其他物品要取回,它将继续到那些位置。然后,由机器人18取回的物品被传送到包装站100,如图1所示,包装站是用于包装和运输的地方。
本领域技术人员将理解,每个机器人可以履行一个或多个订单,并且每个订单可以包括一个或多个物品。通常,将使用包括某种形式的路由优化软件以提高效率,但是这超出了本发明的范围,因此在此不进行描述。
为了简化本发明的描述,本实施例描述了单个机器人18和操作员50。但是,从图1可以明显看出,典型的履行操作包括许多机器人和操作员在仓库中相互合作以完成连续的订单流。
下面将通过图4至图8描述本发明的导航方法,以及待取回的物品的SKU的语义地图,该语义地图指示到与物品所在仓库的基准标记相关联的基准ID/位姿。如上所述,可以使用相同的导航方法来使机器人导航到充电站,以便为其电池充电。
使用一个或多个机器人18,必须创建并动态更新仓库10的地图,以确定静态和动态物体的位置,以及散布在整个仓库中的各种基准标记的位置。为此,如图4所示,机器人18之一在仓库中导航并建立/更新地图10a,利用其激光雷达22以及同步定位与建图(SLAM),这是一种构建或更新未知环境的虚拟图的计算方法。常用的SLAM近似解方法包括粒子滤波器和扩展卡尔曼滤波器。SLAM GMapping方法是优选方法,但是可以使用任何合适的SLAM方法。有关SLAM的讨论,请参见美国Frese,U.,Wagner,R.,T.,“从用户的角度看SLAM概述,”Künstliche Intelligenz 24(3),191–198(2010),其通过引用并入本文。
订单履行
机器人18利用激光雷达22来创建/更新仓库10的地图10a。在这个过程中,机器人18在整个空间中行走,并识别空旷的空间112、墙壁114、物体116和其他静态障碍物(例如空间中的架子12a),基于激光雷达扫描环境时收到的反射来实现地图10a的创建/更新。
参见图3,在构建地图10a或之后的过程中,一个或多个机器人18使用摄像头24a和24b在仓库10中导航以扫描环境,以定位遍布在整个仓库中的诸如32和34所指示的货架前的存放物品的箱子上的基准标记(二维条形码)。机器人18使用已知的参考点或原点进行参考,例如原点110。如图3和图4所示,当基准标记,诸如基准标记30,由机器人18使用其摄像机24a和24b进行定位后,则该基准标记在仓库中相对于原点110的位置是确定的。如图2A所示,通过使用两个摄像头,每个摄像头位于机器人基座的任一侧,机器人18可以具有从机器人的两侧延伸出的相对较宽的视场。这样,当机器人在架子的上或下走道上移动时可以看清,例如可以看到其两侧的基准标记。
通过使用轮式编码器和航向传感器,可以确定矢量120以及机器人在仓库10中的位置。使用捕获的基准标记/二维条形码的图像及其已知大小,机器人18可以确定基准标记/二维条形码相对于机器人的方向和距离,即矢量130。利用已知的矢量120和130,可以确定起点110和基准标记30之间的矢量140。根据矢量140和确定的基准标记/二维条形码相对于机器人18的方向,可以确定由基准标记30的四元数(x,y,z,ω)定义的位姿(位置和方向)。有关使用四元数表示和影响方向的讨论,请参见Berthold KP Horn,“使用单元四元数的绝对方向的闭合形式解决方案,”《美国光学学会杂志》,4(4),1987年4月,第629-642页,其通过引用并入本文。本领域技术人员将认识到,可以使用用于确定基准标记的位置和方向的其他坐标系统和技术,并且该位姿可以从任意原点确定绝对或相对位置和/或方向。
图5的流程图200描述了基准标记定位过程。当机器人18在执行拾取、放置和/或其他任务时在仓库中遇到新的基准标记时,上述定位过程在初始地图模式下执行。在步骤202中,使用摄像机24a和24b的机器人18捕获图像,并且在步骤204中,在捕获的图像内搜索基准标记。在步骤206中,如果在图像中找到基准标记(步骤204),则确定基准标记是否已经存储在基准表300中,如图6所示,基准表300位于机器人18的存储器中。如果基准信息已经存储在存储器中,则流程图返回到步骤202以捕获另一图像。如果它不在存储器中,则根据上述过程确定位姿,并且在步骤208中,将基准添加到位姿查找表300。
在可以存储在每个机器人的存储器中的查找表300中,每个基准标记包括一个基准标识符,如1、2、3等,以及与每个基准标识符相关联的基准标记/条形码的位姿。位姿由仓库中的x,y,z坐标以及方向或四元数(x,y,z,ω)组成。
如图7所示,另一个查询表400是仓库10内的箱子位置(例如402a-f)的列表,其还可以存储在每个机器人的存储器中,其与特定的基准ID为404的基准相关联,例如,数字“11”。在此示例中,箱子位置由七个字母数字字符组成。前六个字符(例如L01001)与仓库中的货架位置相关,最后一个字符(例如A-F)表示货架位置上的特定箱子。在该示例中,存在与基准ID“11”相关联的六个不同的箱子位置。每个基准ID/标记可能有一个或多个箱子。如图1所示,充电区域19中的充电站也可以存储在表400中并且与基准ID相关。根据基准ID,可在图6的表300中找到充电站的位姿。
字母数字代表箱子位置是人们可以理解的,例如,如图3所示,操作员50可以明白字母数字对应于仓库10中存储物品的物理位置。但是,它们对机器人18没有意义。如图6所示,通过将位置映射到基准ID,机器人18可以使用表300中的信息确定基准ID的位姿,然后导航到此处所述的位姿。
图8的流程图500中描述了根据本发明的订单履行过程。在步骤502中,图1的仓库管理系统(WMS)15获得一个订单,该订单可能包含一个或多个要取回的物品。在步骤504中,由仓库管理系统15确定物品的SKU编号,并在步骤506中从SKU号中确定箱子位置。然后将订单的仓位列表发送至机器人18。在步骤508中,机器人18将箱子位置与基准ID相关联,并且在步骤510从基准ID中获得每个基准ID的位姿。在步骤512中,机器人18导航到如图3所示的位姿,操作员可以从相应的箱子中挑选要取回的物品并将其放在机器人上。
可以将由仓库管理系统15获取的物品的特定信息(例如SKU编号和仓位)传输到机器人18上的平板电脑48,以便当机器人到达每个基准标记位置时,可以将要取回的特定物品通知操作员50。
通过已知的SLAM图和基准ID的位姿,机器人18可以易于使用各种机器人导航技术导航至基准ID中的任何一个。优选的方法包括在了解了仓库10中的开放空间112以及壁114、多个架子(例如架子12)和其他障碍物116的情况下,设置到基准标记位姿的初始路线。当机器人开始使用其激光雷达22穿行在仓库时,它会确定其路径中是否有固定或动态的障碍物(例如其他机器人18和/或操作员50),并将其路径迭代更新为基准标记的位姿。机器人大约每50毫秒重新规划路线,不断寻找最有效的路径,同时避开障碍物。
通常,通过在SLAM虚拟地图上运行的多对多的多分辨率扫描匹配(M3RSM)来实现机器人在仓库10a中的定位。与普通未优化的方法相比,M3RSM大大减少了机器人执行扫描匹配以确定机器人当前位姿的计算时间关于M3RSM的讨论请参见Edwin Olson的“M3RSM:多对多多分辨率扫描匹配”,IEEE国际机器人与自动化会议(ICRA),2015年6月,以引用方式并入本文。根据相关美国专利申请15/712,222中公开的方法,通过最小化M3RSM搜索空间,可以进一步改善机器人定位,该专利通过引用并入本文。
通过将产品SKU/基准ID到基准位姿地图技术与本文所述的SLAM导航技术相结合,机器人18能够非常有效地在仓库空间内导航,而不必使用通常使用的涉及网格线和中间基准标记来确定仓库内的位置。
通常,通过防撞方法(包括动态窗口方法(DWA)和最优交互避碰(ORCA))可以在仓库中存在其他机器人和移动障碍物的情况下导航。DWA在可行的机器人运动轨迹之间计算增量运动,该运动避免与障碍物碰撞,并有利于通过所需路径到达目标基准标记。ORCA最佳地避免了与其他移动机器人的碰撞,而无需与其他机器人进行通信。导航通常以一系列的增量运动沿大约50毫秒的更新间隔计算出的轨迹进行。通过本文描述的技术,可以进一步改善避免碰撞的能力。
机器人系统
图9示出了在上述订单履行仓库应用中使用的机器人18的一个实施例的系统图。机器人系统600包括数据处理器620,数据存储器630,处理模块640和传感器支持模块660。处理模块640可以包括路径计划模块642,驱动控制模块644,地图处理模块646,定位模块648和状态估计模块650。传感器支持模块660可包括范围传感器模块662,传动系/轮式编码器模块664和惯性传感器模块668。
数据处理器620,处理模块642和传感器支持模块660能够与此处为机器人系统600所示或所述的任何组件,设备或模块进行通信。机器人系统可包括收发器模块670以发送和接收数据。收发器模块670可以与监督器系统或一个或其他机器人之间来回发送数据和信息。传输和接收数据可以包括地图数据、路径数据、搜索数据、传感器数据、位置和方向数据、速度数据、处理模块指令或代码、机器人参数和环境设置以及机器人系统600操作所需的其他数据。
在一些实施例中,范围传感器模块662可包括扫描激光器、雷达、激光测距仪、测距仪、超声障碍检测器、立体视觉系统、单眼视觉系统、照相机和成像单元中的一个或多个。范围传感器模块662可以扫描机器人周围的环境以确定相对于机器人的一个或多个障碍物的位置。在一个优选实施例中,传动系/车轮编码器664包括一个或多个用于对车轮位置进行编码的传感器以及用于控制一个或多个车轮(例如,地面接合车轮)的位置的致动器。机器人系统600还可包括地面速度传感器,该地面速度传感器包括速度计或基于雷达的传感器或转速传感器。该转速传感器可包括加速度计和积分器的组合。转速传感器可为数据处理器620或其任何模块提供观察到的转速。
在一些实施例中,传感器支持模块660可以提供平移数据、位置数据、旋转数据、水平数据、惯性数据和航向数据,包括瞬时测量速度、平移、位置、旋转、水平、航向和惯性数据随时间变化的历史数据。可参考机器人环境中的一个或多个固定参考点或固定物体来检测平移或旋转速度。平移速度可表示为一个方向上的绝对速度,也可表示为机器人位置对时间的一阶导数。旋转速度可表示为角度单位的速度,也可以表示为角度位置对时间的一阶导数。可相对于原点0,0(例如,图1,110)和相对于绝对或相对坐标系为0度的方位表示平移和旋转速度。处理模块640可以使用观察到的平移速度(或位置对时间的测量值)与检测到的旋转速度相结合,以估计观察到的机器人的旋转速度。
在一些实施例中,机器人系统600可包括GPS接收器、具有差分校正的GPS接收器或用于确定机器人相对于发送无线信号的卫星或地面信标的位置的其他接收器。优选地,在诸如上述仓库应用之类的室内应用中或在卫星接收不可靠的情况下,全局的或本地的传感器或系统不能可靠地提供绝对位置信息,机器人系统600使用如上所述的非GPS传感器和本文所述的技术来改善本地化应用。
在其他实施例中,图9中未示出的模块可包括转向系统,制动系统和推进系统。制动系统可包括液压制动系统、电动液压制动系统、机电制动系统、机电致动器、电动制动系统、线控制动系统或与驱动控制644通信的另一种制动系统。推进系统可包括电动机、驱动电动机、交流电动机、感应电动机、永磁电动机、直流电动机或用于推进机器人的另一种合适的电动机。推进系统可包括电动机控制器(例如,逆变器、斩波器、波发生器、多相控制器、变频振荡器、可变电流源或可变电压源)以控制电动机的电动机轴的速度、转矩和旋转方向中的至少一个。优选地,驱动控制644和推进系统(未示出)是差动驱动(DD)控制和推进系统。在DD控制系统中,机器人控制是非完整的(NH),也就是在给定所需的平移和角速度的情况下,对可达到的增量路径进行限制。与推进系统通信的驱动控制644可以通过转换由路径计划模块642或数据处理器620确定的一个或多个瞬时速度来致动机器人的增量运动。
本领域技术人员将认识到,可以采用其他用于机器人处理、数据存储、感测、控制和推进的系统和技术,而不会失去本文描述的本发明的适用性。
导航
自主或半自主机器人的导航需要某种形式的机器人环境空间模型。空间模型可以由位图、对象图、地标图以及其他形式的二维和三维数字表示形式表示。例如,如图10所示,仓库设施的空间模型可以表示仓库和其中的障碍物,例如墙壁、天花板、屋顶支架、门窗、架子和储物箱。障碍物可以是静止的或移动的,例如在仓库中运行的其他机器人或机械,也可以是相对固定但变化的障碍物,例如在仓储、拣选和补充仓库物品时使用的临时隔板、货盘、货架和箱子。
仓库设施中的空间模型还可以表示目标位置,例如标有基准的架子或箱子,机器人可以被引导至该目标位置来拾取产品或执行某些其他任务,或者到达临时存放位置或充电站位置。例如,图10描绘了机器人18沿着其路径712,714,716从起始位置702到中间位置704,706再到目的地或目标位置708的导航。这里,空间模型捕获机器人必须在其中导航的环境特征,包括目的地718处的结构的特征,该目的地可以是架子或箱子或机器人充电器站。
最常用于机器人导航的空间模型是区域或设施的位图。例如,图11描绘了图10的空间模型中示出的区域的二维位图地图的一部分。映射720可以用像素值在二进制范围0,1(代表黑色或白色)中的位图表示,也可以用像素值的范围表示,例如0-255表示黑色(0)到白色(255)的灰度范围,也可以由颜色范围表示,这些范围可以描绘在像素值表示的位置处是否存在特征的不确定性。地图720的比例和粒度可以是适合于环境的范围和细节的任何这样的比例尺和尺寸。例如,在本发明的一些实施例中,图中的每个像素可以代表5平方厘米(cm2)。在其他实施例中,每个像素可以代表从1cm2到5cm2的范围。但是,用于本发明的地图的空间分辨率可以更大或更小,而不会失去一般性或对应用其方法没有好处。
如图11所示,机器人可以使用地图720确定其在环境中的位置和方向,并计划和控制其沿路径712,714,716的移动,同时避开障碍物(以黑色所示)。这样的地图可以是代表机器人或目标位置紧邻区域的空间特征的“局部地图”,也可以是代表一个或多个机器人的工作范围的区域或设施的特征的“全局地图”。一个或多个机器人可以协作地映射共享的环境,随着机器人导航,收集和共享有关环境的信息,结果地图得到了进一步增强。可以从外部监控系统向机器人提供地图,或者机器人可以使用机载测距和位置传感器构建其地图。
在一些实施例中,监视系统可包括中央服务器,该中央服务器执行对制造仓库或其他设施中的多个机器人的监视,或者监视系统可包括分布式监视系统,该分布式监视系统由一个或多个服务器组成,这些服务器在设施内或不在设施内完全远程或部分运行,而不会失去本文所述方法和系统的应用范围。监控系统可包括一个或多个服务器,该服务器具有至少一个计算机处理器和用于执行监控系统的存储器,监控系统还可包括一个或多个收发器,用于将信息传递给在仓库或其他设施中运行的一个或多个机器人。监控系统可以托管在计算机服务器上,也可以托管在云中,并通过本地收发器与本地机器人通信,本地收发器配置为通过有线和/或无线通信介质(包括因特网)从机器人和监控系统接收消息,以及向机器人和监控系统发送消息。
本领域技术人员将认识到,可以使用本领域已知的方法执行用于本发明目的的机器人映射而不会失去一般性。可在2002年2月于卡内基-梅隆大学(Carnegie-MellonUniversity)CMU-CS-02-111的塞巴斯蒂安·特伦(Sebastian Thrun)的“机器人映射:调查”中找到有关机器人映射方法的进一步讨论,该文献在此引入作为参考。
避障
为了在存在动态障碍物的情况下成功导航目标路径并到达目标产品箱,机器人必须不断重新校准其轨迹。在每次重新校准时,瞬时速度用于使机器人沿目标路径前进一个增量运动。例如,如图12所示,机器人18沿路径714移动(放大的虚线表示增量运动)到达目标位姿708。机器人沿着路径714遇到障碍物722。进一步沿着路径714,机器人18遇到机器人20,机器人20沿着路径726在障碍物724附近移动。避开障碍物722和724并避免与机器人20碰撞,机器人18最终到达位姿706,并继续沿路径716到达目标位姿708。类似地,同样自主操作的机器人20避开障碍物724和机器人18,沿着在其目标路径上的路径726导航到机器人20的目标位姿(未示出)。
可以通过诸如最优避免交互避碰(ORCA)之类的方法来防止机器人在与其他机器人碰撞的轨迹上进行增量运动。ORCA通过假设每个机器人也在使用ORCA计算其下一个增量运动来保证一个机器人不会与另一个机器人发生碰撞。以这种方式,机器人可以完全自主地导航,同时确保每个机器人的最优无碰撞路径。在Jur van den Berg,Stephen J.Guy,Ming Lin和Dinesh Manocha的“n个物体避免相互碰撞”,机器人技术研究:第14届国际ISRR研讨会,塞德里克·普拉达里尔(CédricPradalier),罗兰·西格沃特(Roland Siegwart),以及Gerhard Hirzinger(编),《高级机器人领域的Springer Tracts》,第70卷,Springer-Verlag,2011年5月,第3-19页描述了ORCA的讨论,通过引用将其合并于此。
在避障领域中还已知的是动态窗口方法(DWA)。DWA考虑一组N种可能的瞬时速度,以使机器人沿着目标路径进行增量运动。然后,DWA根据一个或多个时间步长上获取的每个瞬时速度,对假定增量运动的机器人所走的轨迹进行评分。根据考虑非机器人障碍和其他因素的目标函数对每个轨迹进行评分。例如,可以根据坚持目标路径可以避开障碍物的权重来对每个轨迹打分。通过进一步的示例,可能需要在机器人之间工作的人在场的情况下调整机器人的行为。D.Fox,W.Burgard和S.Thrun在“避免碰撞的动态窗口方法”,机器人与自动化杂志”,IEEE,第4卷,第1期(1997年3月),第23-33页中对DWA进行了讨论,在此引用作为参考。
尽管DWA提供了一种灵活的方法来控制机器人的行为,但它却在遇到ORCA驱动的机器人时牺牲最佳响应。类似地,尽管ORCA提供了可证明的最佳且计算有效的确定机器人下一个瞬时速度的方法,但ORCA并未考虑沿着目标路径导航到目标位置时,非机器人障碍物和其他对优化机器人行为来说很重要因素。
最优交互避碰(ORCA)/动态窗口方法(DWA)
图13示出了本发明的实施例,作为用于使机器人沿着目标路径移动到其目标位置或“目标位姿”的方法。参照图12的机器人18、20、22和24来描述该流程图,每个机器人包括如上所述的参照图9的机器人系统600。在一些实施例中,“其他”机器人可以在机器人系统600上进行变型来实现,并且一些实施例可包括非ORCA驱动的机器人,其中采用了一些其他的避障方法,而不会失去本发明对具有一个或多个使用基于ORCA的机器人的系统的通用性。
从步骤802开始,机器人系统600经由收发器模块670接收障碍物地图,该障碍物地图可以被存储在数据存储器630中。障碍物地图可以是SLAM地图或其他地图,例如覆盖有障碍物的代价地图。可选地,障碍物地图可以是能够表示机器人所处环境内的固定障碍物的任何空间模型。障碍物地图可以被数据处理器620或地图处理模块646或路径计划模块642存储并随后从数据存储器630中检索取出。
在步骤806,机器人系统600接收目标位姿,然后在步骤808,使用路径规划模块646生成到目标位姿的目标路径。路径规划模块642可以通过本领域的从业者已知的各种技术来生成从当前位姿到目标位姿的目标路径,包括A*和D*寻路算法。可选地,机器人可以经由收发器模块670接收目标路径,或者可以从数据存储装置630检索目标路径。在接收到障碍物图并生成了目标路径之后,机器人系统600随后继续如下所述地沿着目标路径递增地移动机器人。
在步骤810,机器人系统600接收该区域中所有机器人的当前位置和速度。知道所有其他机器人相对于其位姿的位姿,该机器人可以忽略远离其操作区域的其它机器人。可选地,机器人可以仅接收在其附近操作的其它机器人的位姿而不会丢失步骤810的一般性。例如,再次参考图12,处于位置704的机器人18可以接收机器人20、22和24的当前位置和速度。可选地,仅当例如非常接近位姿720时,或者当在障碍物724附近接近机器人20时,机器人18才可以接收机器人20的位置和速度。
另外,在步骤810中,机器人接收其自己的位姿。优选地,机器人系统600的状态,包括其位姿,可以由机器人系统600使用来自机器人本身的测距法、驱动/轮式编码器664和/或惯性传感器668或其他传感器模块660,或者通过在其他传感器或接收到的信息上运行的处理模块640来确定。机器人的位姿可以通过上述多种输入的融合和/或多对多多分辨率扫描匹配(M3RSM)、自适应蒙特卡洛定位(AMCL)、地理位置卫星(GPS)、基准信息来确定,或者可以通过收发器670从监控系统接收机器人的位姿。
在步骤812,过程800通过执行ORCA/DWA而继续进行,如以下特别关于图14所描述的,找到下一速度以用作驱动机器人沿目标路径的下一增量运动的控制。在步骤816,机器人沿着目标路径逐渐移动直到到达其目标位姿。如果在步骤818没有达到目标位姿,则机器人系统600可以在下一个时间周期中重复(步骤820),即在下一个时间周期如上所述接收其他机器人的位姿(步骤810),执行ORCA/DWA(步骤812)并移动机器人直到到达目标位姿(步骤818)。在每个增量运动之后,机器人系统600可以如上所述确定其位姿并将其当前状态(包括其当前位姿)经由收发器670发送到中央服务器。图9的机器人18、20、22和24中的每个机器人通过如本文所述的过程800进行操作,使得所有机器人的位姿都可在下一个时间周期内彼此接收。
图14示出了用于执行ORCA/DWA的过程A(图13的步骤812),该过程使用如先前介绍的避障算法DWA和ORCA的原理的新组合来确定最佳速度。
从步骤852开始,根据一个实施例,根据DWA生成一组可能的或“候选”速度。候选速度可以表示为由速度矢量(v,ω)唯一确定的一组轨迹或“曲率”,其中v是机器人的向前或线性运动,ω是机器人的旋转速度。候选速度集合可以是从机器人当前位姿向前推进的一组可能轨迹中采样速度的有限集合,或轨迹的集合,其可以定义由机器人在一个或多个下一时间间隔上以恒定速度(v,ω)前进的离散的瞬时运动所限定的曲率。
因此,在步骤812中的方法生成了N个可能的瞬时速度的集合,以供机器人采用以作为对下一时间步长的下一动作的控制。通过遍历每个候选速度,该方法估计了机器人的结束位姿,就好像机器人将在接下来的T秒中以t秒的增量继续执行候选速度一样。在不失一般性的情况下并且出于说明本发明的目的,T可以是1.5秒,时间增量t可以是0.1秒。因此,仅作为示例,如果候选速度为0.25米/秒的线速度和0.785弧度/秒的旋转速度,在0.1、0.2、0.3…1.5秒的每个时间步长上应用(v,ω)=(0.25,0.785)作为控制速度矢量,该过程将估算机器人到达的位姿。每个时间步长的位姿集合构成了要由ORCA/DWA目标函数评分的轨迹,下面将对此进行进一步描述。
DWA在生成候选速度时进行离散化选择的次数必然少于机器人在下一个连续时间步长中可以移动的轨迹的无限数量。假设机器人以选定的候选速度继续前进,则可通过从其集合中除去其曲率在下一个时间间隔或下一n个时间间隔中与障碍物相交的那些速度,来进一步减少候选速度集合。通过将候选速度集合修剪为无障碍碰撞的可允许速度,可以减少用于确定优选速度的搜索空间。通过仅保留允许的速度,可以进一步减小候选速度集合。允许的速度只能包括那些允许机器人在与障碍物碰撞之前停止的速度。允许的速度只能包括机器人动态窗口内或机器人允许的最大安全速度内的那些速度。考虑到机器人的有限加速度,机器人的动态窗口可能仅包括在下一个时间间隔内可以达到的速度。可选地,可以通过诸如模型预测控制(MPC)或其他基于约束的算法的其他方法来生成或修剪候选速度集合。
返回图14,步骤854,根据目标函数评估候选速度集合中的每个候选速度(v,ω):
G(v,ω)=α*heading(v,ω)+β*dist(v,ω)+γ*velocity(v,ω),
其中G(v,ω)是目标函数,α,β,γ是权重;heading(v,ω)是沿着目标路径前进的量度;dist(v,ω)是到最近障碍物的距离(其“间隙”);对于给定的候选速度(v,ω),velocity(v,ω)是机器人的前进速度。在D.Fox等人的“避碰的动态窗口方法”中可找到在DWA下评估目标函数G(v,ω)的详细讨论,该参考文献先前已通过引用结合到本文中。本领域技术人员将理解,可以应用目标函数的各种变化而不会失去本发明的一般性。
通过对候选速度集合中的每个候选速度(v,ω)进行评分,评估每个候选速度的目标函数G(v,ω)确定优选速度vpref。如上所述,每个候选速度(v,ω)与一条轨迹或曲率相关。优选地,目标函数G(v,ω)被实现为具有代表一个或多个代价评估的加权分量函数的代价函数。在代价评估实施例中,优选速度vpref是在图14的步骤856确定的候选速度集合上的最小G(v,ω)。因此,从上述速度与轨迹的关系可以看出,假设将vpref用作控件,以在T秒的时间内接下来的每个t秒以速度vpref递增地移动机器人,优选轨迹tpref是机器人的轨迹。
在一些实施例中,代价评估可以包括dist(v,ω)代价函数,其使用障碍图中的膨胀的障碍物(例如,根据机器人的半径或直径膨胀)以确保所有机器人安全地越过静态障碍物。代价评估可以包括振荡代价函数,该函数将较高的代价分配给旋转幅度或方向的变化。在一个优选实施例中,代价评估可以进一步包括路径代价评估,该路径代价评估加权机器人距目标路径的距离和/或对于给定的候选速度机器人沿着目标路径将走多远,或候选速度会导致机器人从目标路径偏离多少。
因此,通过应用DWA目标函数G(v,ω)确定的优选速度vpref是在评估所有DWA代价评估时的最小代价候选速度。本领域技术人员将理解,可以根据对机器人的行为的偏好来设置上述G(v,ω)的代价函数的权重α,β,γ。目标函数G(v,ω)的每个组成函数可以具有自己的权重,也可以不具有权重(权重=1)。优选地,一个或多个代价评估具有“否决权”,其通过向违反预定标准的任何候选速度代价函数得分添加相对较高的罚分值来使候选速度无效。
如上所述,由DWA在图14的步骤858中确定的优选轨迹tpref是由在连续时间间隔上应用于机器人控制的速度矢量(v,ω)限定的曲率。图15示出了vpref和tpref之间的这种关系。如图所示,机器人18在位姿Pa处的优选速度vpref是速度矢量(v,ω)。优选轨迹tpref是由vpref增量移动的机器人路径定义的曲率。因此,应用于差速驱动(DD)机器人推进系统中的非完整机器人控制的速度矢量(v,ω)将使机器人18沿曲率Pa-Pb移动。
回顾机器人系统600在图13的步骤810处已经接收到其他机器人的位姿,该过程在步骤858中通过生成ORCA速度对象(或“VOs”)继续进行。根据如上所述的已知方法,基于机器人18的优选速度vpref,机器人(例如20、22、24)相互之间生成VOs。这里,为了对机器人18执行ORCA/DWA,机器人系统600使用在步骤856中确定的优选速度vpref来生成ORCA VOs。
然而,在至少一个实施例中,ORCA需要优选速度vpref作为输入,并将所有速度(v,ω)转换为完整速度(x,y)。也就是说,ORCA假定机器人可以沿任何方向(x,y)移动。如本领域技术人员将理解的那样,ORCA在其分析中使用完整速度矢量,而由DWA生成的vpref假定是非完整的机器人控制,如差动驱动机器人。因此,当将非完整的优选速度vpref转换为完整的矢量(x,y)以用于生成ORCA VO时,必须做出一定的调整。
图15示出了根据本发明一方面所述的调整。通过在生成每个机器人各自的VO时扩大其他机器人的大小,可以对ORCA中非完整速度vpref的使用进行校正。如图15所示,使每个机器人的半径的增加近似等于直线向量(x,y)与优选轨迹tpref之间的最大误差距离d。通过在完整轨迹和非完整轨迹之间的最大误差d来膨胀其他机器人的半径,可确保机器人18靠近其他机器人时不会发生碰撞。本领域技术人员将理解,ORCA的修改(包括ORCA的非完整版本)可以用本文方法的适当修改代替,例如,ORCA-NH(非完整)不需要使用优选轨迹作为非完整速度vpref来实现矫正。
如本领域技术人员将理解的,创建VOs,然后取这些VOs的并集,在由每个VO的半平面的交点限定的速度空间中形成多边形。在先前通过引用并入的Jur van den Berg等人的“多个物体之间避免相互碰撞”中找到了在VOCA的应用中创建VO并采用其并集的讨论。例如,图16A描绘了由速度对象VOa-VOe的半平面的并集形成的多边形P,每个VOs对应于其他机器人a-e,其位姿对于根据此处描述的方法移动的机器人是已知的。回顾在ORCA中,由VOs的并集形成的多边形定义了速度空间(而非位姿空间)中的碰撞,该多边形内机器人的任何速度都被认为是安全的,并确保不会与其他机器人碰撞;落入多边形之外的任何速度都是不安全的,并且可能导致机器人与一个或多个其他机器人碰撞。
考虑到上述情况,该过程在图14中的步骤860继续,使用组合的ORCA/DWA目标函数来评估由DWA生成的候选速度。组合的ORCA/DWA目标函数由代价函数CDWA与权重为αORCA的代价评估CORCA组合而成,如下所示:
ORCA/DWA=CDWA+αORCA*CORCA
CDWA定义为:
CDWA=α*heading(v,ω)+β*dist(v,ω)+γ*velocity(v,ω),
其中α,β,γ为权重;heading(v,ω)是沿着目标路径前进的量度;dist(v,ω)是到最近障碍物的距离;对于给定的候选速度(v,ω),velocity(v,ω)是机器人的前进速度。上面用于确定ORCA VOs生成的vpref的CDWA和G(v,ω)可以实现为相同的函数,具有相同的权重,也可以实现为具有不同权重的不同函数,或者实现为其他代价函数的组合而不会在本发明中的应用中失去一般性。
CORCA定义如下:
CORCA=αv(vt-vpref)+penalty+αd*d(P,vt)
其中αd和αv是权重,vt是正在评估的候选速度;vpref是优选速度;P是由VOs的并集形成的多边形;d(P,vt)是候选速度违反VOs的量度;penalty是当候选速度vt违反VO时施加的罚分代价。
在对代价评估CORCA的评估中,所有候选速度vt都获得了基本代价αv(vt-vpref),以衡量它们与优选速度vpref有多少不同。例如,如图16A所示,如果候选速度vt在由VO形成的多边形P的内部,但是从vt到vpref的距离大,代价αv(vt-vpref)大,但是不增加罚分。如图16B所示,如果候选速度vt在多边形P内并且到vpref的距离很小,则代价αv(vt-vpref)小,并且再次不增加罚分。但是,在候选速度vt违反至少一个速度障碍的情况下(即,它在多边形P之外,因此是“不安全的”),在基本代价项αv(vt-vpref)+penalty中增加罚分。
此外,在优选实施例中,可以基于从vt到多边形P的边缘的距离d(P,vt)对vt施加额外的罚分。例如,如图16C所示,代价函数d(P,vt)是从多边形P的周边到由候选速度vt达到的轨迹t所定义的点的最小距离的函数。在所示的示例中,vt既在多边形P外部,则产生第一个罚分,并且距离vpref相对较远,从而产生更高的代价αv(vt-vpref),并且进一步基于违规的程度而产生额外的罚分,违规的程度即从vt到多边形P的距离。因此,在此示例的CORCA评估中,当将αv(vt-vpref)+penalty+penalty*d(P,vt)添加到组合的ORCA/DWA目标函数中时,vt的代价很高。
结合ORCA和DWA的代价评估,并采用最低的权重代价:
min(CDWA+αORCA*CORCA)
从候选速度集合中返回最佳候选速度。返回图13的步骤816,下一个控制是与候选速度相关联的瞬时速度,该候选速度具有由组合的ORCA/DWA代价函数确定的最小代价。将该控制应用于机器人驱动控制,机器人沿目标路径逐渐移动(步骤818),然后重复该过程(步骤820),直到机器人达到其目标位姿为止。
尽管本发明的前述描述使本领域的普通技术人员能够制造和使用目前被认为是其最佳模式的模式,本领域普通技术人员将理解和知晓本文具体实施例和示例的变型、组合和等同形式的存在。本发明的上述实施方式仅是示例。在不脱离本发明的范围的情况下,本领域技术人员可以对特定实施例进行改变、修改和变化,本发明的范围仅由所附权利要求限定。
应该理解,本发明可以用软件和/或硬件来实现。因此,本发明的方面可以采取完全硬件实施例,完全软件实施例(包括固件,常驻软件,微代码等)或结合了软件和硬件方面的实施例的形式,在本文中通常都可以提及这些方面,作为“电路”、“模块”或“系统”。如本领域技术人员将理解的,本发明的各方面可以体现为系统,方法或计算机程序产品。
参考方法和装置(系统)的流程图,图示和/或框图描述了本发明的各方面。流程图和框图可以示出根据本发明的各种实施例的系统架构,功能或操作。流程图中的每个步骤可以代表一个模块,该模块包括一个或多个用于实现指定功能的可执行指令。在一些实施方式中,连续示出的步骤实际上可以基本上同时执行。步骤可以由执行指定功能或动作的基于专用硬件的系统执行,也可以由专用硬件和计算机指令的组合执行。
用于由执行本发明的操作的处理器执行的计算机指令可以用一种或多种编程语言编写,包括诸如C#,C++,Python或Java编程语言之类的面向对象的编程语言。计算机程序指令可以存储在计算机可读介质上,该计算机可读介质可以指导机器人系统经由数据处理器以特定方式起作用,包括执行实现本文所述的流程图和/或系统框图中指定的步骤的指令。计算机可读存储介质可以是包含或存储供数据处理器使用或与其结合使用的指令的任何有形介质。计算机可读介质还可以包括其中包含有计算机可读程序代码的传播数据信号。
因此,本发明不受上述实施例和示例、实施例和应用的限制,而本发明在以下要求保护的范围和主旨内。
Claims (24)
1.一种用于沿目标路径导航机器人并避开障碍物的方法,包括:
接收第一机器人的目标位姿;
确定所述第一机器人的目标路径;
接收障碍物地图;
接收所述第一机器人的位姿;
接收一个或多个其他机器人的位姿;
为所述第一机器人产生候选速度集合;
使用第一目标函数评估所述候选速度集合;
基于所述第一目标函数,从所述候选速度集合中选择所述第一机器人的第一优选速度;
基于一个或多个其他机器人的所述位姿和所述第一机器人的所述第一优选速度,创建速度障碍物集合;
使用第二目标函数评估候选速度集合,所述第二目标函数使用速度障碍物和所述第一优选速度;
基于所述第二目标函数,从所述候选速度集合中为所述第一机器人选择第二优选速度;以及
基于所述第二优选速度移动所述第一机器人。
2.如权利要求1所述的方法,其中,所述目标路径包括从所述第一机器人的当前位姿到所述第一机器人的所述目标位姿的路径。
3.如权利要求1所述的方法,其中,所述机器人的目标位姿是订单履行仓库应用中关联产品仓的基准的位姿。
4.如权利要求1所述的方法,其中,第一机器人的位姿由多对多的多分辨率扫描匹配(M3RSM)、自适应蒙特卡洛定位(AMCL)、地理位置卫星(GPS)、基准信息和基于机器人传感器的里程表中的一个或多个确定。
5.如权利要求1所述的方法,其中,产生用于所述第一机器人的候选速度集合假定了在一个或多个时间步上的候选速度,所述时间步施加运动、障碍和惯性约束以仅产生具有允许轨迹的候选速度。
6.根据权利要求1所述的方法,其中,所述第一目标函数包括以下形式的一个或多个代价函数:
G(v,ω)=α*heading(v,ω)+β*dist(v,ω)+γ*velocity(v,ω),
其中,G(v,ω)是目标函数,α,β,γ是权重;heading(v,ω)是沿着目标路径前进的量度;dist(v,ω)是到最近障碍物的距离;对于给定的候选速度(v,ω),velocity(v,ω)是机器人的前进速度。
7.如权利要求6所述的方法,其中,所述第一目标函数还包括以下一项或多项:
路径代价函数,对所述候选速度将从目标路径辐射多少进行评分;
障碍物代价函数,对接近障碍物的程度进行评分;以及
振荡代价函数,将较高的代价分配给从先前的优选速度的旋转速度的变化。
8.如权利要求6所述的方法,其中,一个或多个所述代价函数通过将最高代价得分分配给所述候选速度来使候选速度无效。
9.如权利要求1所述的方法,其中,创建速度障碍物集合包括将所述优选速度从非完整速度转换为完整速度。
10.如权利要求9所述的方法,其中,将所述优选速度转换为完整速度包括:将一个或多个其他机器人的半径增加优选轨道与直线轨道之间的最大距离。
11.如权利要求1所述的方法,其中,所述第二目标函数由以下形式的一个或多个代价函数组成:
ORCA/DWA=CDWA+αORCA*CORCA
其中αORCA为最优交互避碰权重;
其中CDWA定义为:
CDWA=α*heading(v,ω)+β*dist(v,ω)+γ*velocity(v,ω),
其中,α,β,γ是权重;heading(v,ω)是沿着目标路径前进的量度;dist(v,ω)是到最近障碍物的距离;对于给定的候选速度(v,ω),velocity(v,ω)是机器人的前进速度;以及
CORCA定义为:
CORCA=αv(vt-vpref)+penalty+αd*d(P,vt)
其中αd和αv是权重,vt是正在评估的候选速度;vpref是优选速度;P是由速度障碍物的并集形成的多边形;d(P,vt)是候选速度违反速度障碍物的量度;penalty是当候选速度vt违反速度障碍物时施加的罚分代价。
12.如权利要求11所述的方法,其中,代价函数d(P,vt)是从多边形P的周界到由候选速度vt达到的轨迹t所定义的点的最小距离的函数。
13.一种用于沿着目标路径导航机器人并避开障碍物的机器人系统,包括:
收发器;
数据存储设备;
数据处理器和其上存储有指令以供数据处理器执行的数据存储设备;
接收第一机器人的目标位姿;
确定所述第一机器人的目标路径;
接收障碍物地图;
接收所述第一机器人的位姿;
接收一个或多个其他机器人的位姿;
为所述第一机器人产生候选速度集合;
使用第一目标函数评估所述候选速度集合;
基于所述第一目标函数,从所述候选速度集合中选择所述第一机器人的第一优选速度;
基于一个或多个其他机器人的所述位姿和所述第一机器人的所述第一优选速度,创建速度障碍物集合;
使用第二目标函数评估候选速度集合,所述第二目标函数使用速度障碍物和所述第一优选速度;
基于所述第二目标函数,从所述候选速度集合中为所述第一机器人选择第二优选速度;以及
基于所述第二优选速度移动所述第一机器人。
14.如权利要求13所述的系统,其中,所述目标路径包括从所述第一机器人的当前位姿到所述第一机器人的所述目标位姿的路径。
15.如权利要求13所述的系统,其中,所述机器人的目标位姿是订单履行仓库应用中关联产品仓的基准的位姿。
16.如权利要求13所述的系统,其中,第一机器人的位姿由多对多的多分辨率扫描匹配(M3RSM)、自适应蒙特卡洛定位(AMCL)、地理位置卫星(GPS)、基准信息和基于机器人传感器的里程表中的一个或多个确定。
17.如权利要求13所述的系统,其中,产生用于所述第一机器人的候选速度集合假定了在一个或多个时间步上的候选速度,所述时间步施加运动、障碍和惯性约束以仅产生具有允许轨迹的候选速度。
18.根据权利要求13所述的系统,其中,所述第一目标函数包括以下形式的一个或多个代价函数:
G(v,ω)=α*heading(v,ω)+β*dist(v,ω)+γ*velocity(v,ω),
其中,G(v,ω)是目标函数,α,β,γ是权重;heading(v,ω)是沿着目标路径前进的量度;dist(v,ω)是到最近障碍物的距离;对于给定的候选速度(v,ω),velocity(v,ω)是机器人的前进速度。
19.如权利要求18所述的系统,其中,所述第一目标函数还包括以下一项或多项:
路径代价函数,对所述候选速度将从目标路径辐射多少进行评分;
障碍物代价函数,对接近障碍物的程度进行评分;以及
振荡代价函数,将较高的代价分配给从先前的优选速度到旋转速度的变化。
20.如权利要求18所述的系统,其中,一个或多个所述代价函数通过将最高代价得分分配给所述候选速度来使候选速度无效。
21.如权利要求13所述的系统,其中,创建速度障碍物集合包括将所述优选速度从非完整速度转换为完整速度。
22.如权利要求21所述的系统,其中,将所述优选速度转换为完整速度包括:将一个或多个其他机器人的半径增加优选轨道与直线轨道之间的最大距离。
23.如权利要求13所述的系统,其中,所述第二目标函数由以下形式的一个或多个代价函数组成:
ORCA/DWA=CDWA+αORCA*CORCA
其中αORCA为最优交互避碰权重;
其中CDWA定义为:
CDWA=α*heading(v,ω)+β*dist(v,ω)+γ*velocity(v,ω),
其中,α,β,γ是权重;heading(v,ω)是沿着目标路径前进的量度;dist(v,ω)是到最近障碍物的距离;对于给定的候选速度(v,ω),velocity(v,ω)是机器人的前进速度;以及
CORCA定义为:
CORCA=αv(vt-vpref)+penalty+αd*d(P,vt)
其中αd和αv是权重,vt是正在评估的候选速度;vpref是优选速度;P是由速度障碍物的并集形成的多边形;d(P,vt)是候选速度违反速度障碍物的量度;penalty是当候选速度vt违反速度障碍物时施加的罚分代价。
24.如权利要求23所述的系统,其中,代价函数d(P,vt)是从多边形P的周界到由候选速度vt达到的轨迹t所定义的点的最小距离的函数。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/712,256 | 2017-09-22 | ||
US15/712,256 US10429847B2 (en) | 2017-09-22 | 2017-09-22 | Dynamic window approach using optimal reciprocal collision avoidance cost-critic |
PCT/US2018/052165 WO2019060679A1 (en) | 2017-09-22 | 2018-09-21 | DYNAMIC WINDOW APPROACH USING AN OPTIMUM RECIPROCAL COLLISION AVIATION COST CRITICAL |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111511620A CN111511620A (zh) | 2020-08-07 |
CN111511620B true CN111511620B (zh) | 2023-06-06 |
Family
ID=64500438
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880068038.9A Active CN111511620B (zh) | 2017-09-22 | 2018-09-21 | 使用最优交互避碰代价评估的动态窗口方法 |
Country Status (8)
Country | Link |
---|---|
US (1) | US10429847B2 (zh) |
EP (1) | EP3684664B1 (zh) |
JP (1) | JP6987226B2 (zh) |
KR (1) | KR102385257B1 (zh) |
CN (1) | CN111511620B (zh) |
CA (1) | CA3076498C (zh) |
ES (1) | ES2900495T3 (zh) |
WO (1) | WO2019060679A1 (zh) |
Families Citing this family (62)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11461912B2 (en) | 2016-01-05 | 2022-10-04 | California Institute Of Technology | Gaussian mixture models for temporal depth fusion |
WO2019070839A1 (en) * | 2017-10-05 | 2019-04-11 | California Institute Of Technology | SIMULTANEOUS REPRESENTATION OF MOBILE AND STATIC OBSTACLES FOR AUTOMATICALLY CONTROLLED VEHICLES |
US10831188B2 (en) * | 2017-11-07 | 2020-11-10 | Zoox, Inc. | Redundant pose generation system |
US10775790B2 (en) * | 2018-02-09 | 2020-09-15 | Baidu Usa Llc | Methods and systems for model predictive control of autonomous driving vehicle |
CN110941258A (zh) * | 2018-09-21 | 2020-03-31 | 日本电产株式会社 | 移动体的控制方法及移动体的控制系统 |
US11724395B2 (en) | 2019-02-01 | 2023-08-15 | Locus Robotics Corp. | Robot congestion management |
JP7469850B2 (ja) * | 2019-03-25 | 2024-04-17 | 本田技研工業株式会社 | 経路決定装置、ロボット及び経路決定方法 |
US11602857B2 (en) * | 2019-04-05 | 2023-03-14 | IAM Robotics, LLC | Autonomous mobile robotic systems and methods for picking and put-away |
CN110162063A (zh) * | 2019-06-12 | 2019-08-23 | 北京洛必德科技有限公司 | 一种用于机器人自动充电的路径规划方法和装置 |
CN111813100B (zh) * | 2019-07-04 | 2022-07-15 | 中国科学技术大学 | 一种局部路径规划算法及装置 |
CN110296698B (zh) * | 2019-07-12 | 2023-04-28 | 贵州电网有限责任公司 | 一种以激光扫描为约束的无人机路径规划方法 |
CN110398964B (zh) * | 2019-07-16 | 2022-02-01 | 浙江大学 | 一种低能量损耗机器人全覆盖路径规划方法及系统 |
CN110470306B (zh) * | 2019-08-27 | 2023-03-10 | 中山大学 | 一种可保证连通性约束的基于深度强化学习的多机器人编队导航方法 |
CN110609559B (zh) * | 2019-10-25 | 2020-08-25 | 江苏恒澄交科信息科技股份有限公司 | 用于无人船路径跟随和避障的改进dwa动态窗口法 |
CN113580155B (zh) * | 2019-10-31 | 2023-07-18 | 灵动科技(北京)有限公司 | 自主移动装置及仓储物流系统 |
CN112744268B (zh) * | 2019-10-31 | 2022-04-15 | 比亚迪股份有限公司 | 车辆的控制方法、装置和车辆 |
JP7450206B2 (ja) | 2019-11-08 | 2024-03-15 | 三菱重工業株式会社 | 複数のビークルの移動制御方法、移動制御装置、移動制御システム、プログラム及び記録媒体 |
CN110727272B (zh) * | 2019-11-11 | 2023-04-18 | 广州赛特智能科技有限公司 | 一种多台机器人的路径规划调度系统及方法 |
CN111060116B (zh) * | 2019-12-04 | 2023-07-18 | 江西洪都航空工业集团有限责任公司 | 一种基于视觉的草场自主建图系统 |
CN111367283B (zh) * | 2020-03-11 | 2023-04-14 | 郴州职业技术学院 | 一种基于障碍物构型重构的无人车避障方法及系统 |
CN111399506B (zh) * | 2020-03-13 | 2023-04-25 | 大连海事大学 | 一种基于动力学约束的全局-局部混合无人船路径规划方法 |
CN111580518B (zh) * | 2020-05-12 | 2022-08-02 | 哈尔滨工程大学 | 一种基于改进果蝇优化和动态窗口法的无人艇分层避障方法 |
CN111709633B (zh) * | 2020-06-09 | 2022-09-06 | 吉林大学 | 一种碰撞危险度确定方法、装置、设备以及可存储介质 |
CN111665847A (zh) * | 2020-06-24 | 2020-09-15 | 上海应用技术大学 | 一种基于模糊逻辑的动态窗口避障算法 |
CN113960995A (zh) * | 2020-07-20 | 2022-01-21 | 炬星科技(深圳)有限公司 | 一种避障规划方法、系统及设备 |
CN111951552B (zh) * | 2020-08-11 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 一种自动驾驶中风险管理的方法以及相关装置 |
US11741564B2 (en) | 2020-09-11 | 2023-08-29 | Locus Robotics Corp. | Sequence adjustment for executing functions on hems in an order |
US20220083062A1 (en) | 2020-09-11 | 2022-03-17 | Locus Robotics Corp. | Robot navigation management between zones in an environment |
US11550827B2 (en) * | 2020-09-22 | 2023-01-10 | International Business Machines Corporation | Graph enabled location optimization |
CN112241171A (zh) * | 2020-10-09 | 2021-01-19 | 国网江西省电力有限公司检修分公司 | 一种可绕障碍的轮式机器人直线轨迹跟踪方法 |
US11524846B2 (en) | 2020-10-19 | 2022-12-13 | Gideon Brothers d.o.o. | Pose determination by autonomous robots in a facility context |
CN112330959B (zh) * | 2020-10-30 | 2022-02-22 | 东北大学 | 一种用于无人驾驶车辆的最优对等碰撞避免方法 |
CN112526991B (zh) * | 2020-11-25 | 2022-05-24 | 中国科学技术大学 | 机器人运动方法、装置、电子设备及存储介质 |
CN112378408B (zh) * | 2020-11-26 | 2023-07-25 | 重庆大学 | 一种实现轮式移动机器人实时避障的路径规划方法 |
CN112327885B (zh) * | 2020-12-01 | 2024-04-09 | 大连海事大学 | 一种无人船自适应全局-局部混合路径规划的方法 |
CN112798304A (zh) * | 2020-12-07 | 2021-05-14 | 北京云迹科技有限公司 | 一种机器人避让性能测试方法及装置 |
CN112486183B (zh) * | 2020-12-09 | 2022-11-18 | 上海机器人产业技术研究院有限公司 | 一种室内移动机器人的路径规划算法 |
CN112506199B (zh) * | 2020-12-12 | 2022-12-02 | 江西洪都航空工业集团有限责任公司 | 一种基于动态窗口法且适用于阿克曼模型机器人的局部路径规划方法 |
CN112612295B (zh) * | 2020-12-23 | 2022-07-12 | 长光卫星技术股份有限公司 | 一种遥感卫星地面站测控和数传资源自动分配方法 |
CN113156933B (zh) * | 2020-12-30 | 2022-05-03 | 徐宁 | 一种机器人行进控制系统和方法 |
RU2769710C1 (ru) * | 2021-01-14 | 2022-04-05 | Автономная некоммерческая образовательная организация высшего образования «Сколковский институт науки и технологий» | Способ построения маршрута движения и управления движением мобильного сервисного робота в торговом помещении |
CN113253717B (zh) * | 2021-03-17 | 2022-10-11 | 武汉科技大学 | 一种基于动态障碍物的室内移动机器人局部路径规划方法 |
CN113050646B (zh) * | 2021-03-22 | 2022-09-23 | 西安工业大学 | 一种用于室内移动机器人动态环境路径规划方法 |
JP2022157259A (ja) * | 2021-03-31 | 2022-10-14 | 株式会社小松製作所 | システム、方法および作業車両 |
WO2022232415A1 (en) * | 2021-04-28 | 2022-11-03 | Rutgers, The State University Of New Jersey | Reactive collision avoidance for autonomous vehicles considering physical constraints |
US20220363273A1 (en) * | 2021-05-13 | 2022-11-17 | Ford Global Technologies, Llc | Scenario Discriminative Hybrid Motion Control for Mobile Robots |
CN113295167B (zh) * | 2021-05-14 | 2022-07-15 | 山东新一代信息产业技术研究院有限公司 | 一种室内机器人避障方法 |
CN113296521B (zh) * | 2021-05-26 | 2021-11-05 | 紫清智行科技(北京)有限公司 | 一种基于动态窗口的障碍物局部避障方法 |
CN113341991B (zh) * | 2021-06-18 | 2022-08-09 | 重庆大学 | 一种基于动态窗口和冗余节点过滤的路径优化方法 |
CN114019912B (zh) * | 2021-10-15 | 2024-02-27 | 上海电机学院 | 一种群体机器人运动规划控制方法及系统 |
WO2023076242A1 (en) * | 2021-10-29 | 2023-05-04 | Rutgers, The State University Of New Jersey | Collision-free dynamic window approach for moving obstacles |
CN114200943A (zh) * | 2021-12-13 | 2022-03-18 | 哈尔滨工业大学芜湖机器人产业技术研究院 | 一种动态避让方法及移动机器人 |
CN114237256B (zh) * | 2021-12-20 | 2023-07-04 | 东北大学 | 一种适用于欠驱动机器人的三维路径规划与导航方法 |
CN114326720B (zh) * | 2021-12-20 | 2023-08-22 | 上海大学 | 一种无人艇实时避障方法及系统 |
WO2023136020A1 (en) * | 2022-01-13 | 2023-07-20 | Nec Corporation | Pathfinding apparatus, pathfinding method, and non-transitory computer-readable storage medium |
GB2620909A (en) * | 2022-07-04 | 2024-01-31 | Opteran Tech Limited | Method and system for determining the structure, connectivity and identity of a physical or logical space or attribute thereof |
CN115345450A (zh) * | 2022-07-27 | 2022-11-15 | 北京极智嘉科技股份有限公司 | 容器搬运任务的分配方法及装置 |
CN115016510A (zh) * | 2022-08-08 | 2022-09-06 | 武汉工程大学 | 一种机器人导航避障方法、装置以及存储介质 |
EP4332712A1 (en) * | 2022-08-29 | 2024-03-06 | Nokia Technologies Oy | Autonomous vehicle control |
US20240135585A1 (en) * | 2022-10-21 | 2024-04-25 | Dexterity, Inc. | Camera calibration process and interface |
CN115542953B (zh) * | 2022-12-05 | 2023-03-24 | 广东电网有限责任公司东莞供电局 | 一种基于无人机的巡检方法、装置、设备以及介质 |
CN116533236B (zh) * | 2023-05-09 | 2024-04-12 | 北京航空航天大学 | 一种基于离散工作空间的服务机器人操作评估策略 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5006988A (en) | 1989-04-28 | 1991-04-09 | University Of Michigan | Obstacle-avoiding navigation system |
KR100843085B1 (ko) | 2006-06-20 | 2008-07-02 | 삼성전자주식회사 | 이동 로봇의 격자지도 작성 방법 및 장치와 이를 이용한영역 분리 방법 및 장치 |
JP5080333B2 (ja) | 2007-04-06 | 2012-11-21 | 本田技研工業株式会社 | 自律移動体のための物体認識装置 |
US8060306B2 (en) | 2007-10-04 | 2011-11-15 | Deere & Company | Method and system for obstacle avoidance for a vehicle |
KR101362961B1 (ko) | 2009-08-31 | 2014-02-12 | 니토 로보틱스 인코퍼레이티드 | 이동 로봇 환경의 실시간 위치 측정 및 매핑을 위한 방법 및 장치 |
US8209143B1 (en) | 2009-09-15 | 2012-06-26 | Google Inc. | Accurate alignment of multiple laser scans using a template surface |
DE102010012749A1 (de) | 2010-03-25 | 2011-09-29 | Kuka Laboratories Gmbh | Verfahren zum Betreiben eines autonomen Flurförderfahrzeugs |
US9067320B2 (en) | 2010-06-09 | 2015-06-30 | Disney Enterprises, Inc. | Robotic texture |
US8723872B2 (en) | 2010-06-09 | 2014-05-13 | Disney Enterprises, Inc. | Display with robotic pixels |
AU2011305154B2 (en) | 2010-09-24 | 2015-02-05 | Irobot Corporation | Systems and methods for VSLAM optimization |
US8688275B1 (en) | 2012-01-25 | 2014-04-01 | Adept Technology, Inc. | Positive and negative obstacle avoidance system and method for a mobile robot |
WO2014202258A1 (en) | 2013-06-21 | 2014-12-24 | National University Of Ireland, Maynooth | A method for mapping an environment |
US9216745B2 (en) | 2013-09-16 | 2015-12-22 | Disney Enterprises, Inc. | Shared control of semi-autonomous vehicles including collision avoidance in multi-agent scenarios |
US9329597B2 (en) * | 2014-01-17 | 2016-05-03 | Knightscope, Inc. | Autonomous data machines and systems |
KR101664582B1 (ko) | 2014-11-12 | 2016-10-10 | 현대자동차주식회사 | 자율주행차량의 주행경로 생성장치 및 방법 |
JP2017004373A (ja) | 2015-06-12 | 2017-01-05 | 株式会社リコー | 情報処理装置、情報処理プログラム、および情報処理システム |
US9758305B2 (en) * | 2015-07-31 | 2017-09-12 | Locus Robotics Corp. | Robotic navigation utilizing semantic mapping |
FR3048517B1 (fr) * | 2016-03-07 | 2022-07-22 | Effidence | Robot autonome motorise avec anticipation d'obstacle |
US20170270466A1 (en) | 2016-03-18 | 2017-09-21 | Jusda International Logistics (TAIWAN) CO.,LTD | Method and system using with automated guided vehicle |
CN106156742A (zh) * | 2016-07-06 | 2016-11-23 | 尚艳燕 | 一种平衡车障碍物规避方法和装置 |
US10108194B1 (en) | 2016-09-02 | 2018-10-23 | X Development Llc | Object placement verification |
US10650270B2 (en) | 2017-04-21 | 2020-05-12 | X Development Llc | Methods and systems for simultaneous localization and calibration |
-
2017
- 2017-09-22 US US15/712,256 patent/US10429847B2/en active Active
-
2018
- 2018-09-21 EP EP18811094.4A patent/EP3684664B1/en active Active
- 2018-09-21 KR KR1020207010892A patent/KR102385257B1/ko active IP Right Grant
- 2018-09-21 ES ES18811094T patent/ES2900495T3/es active Active
- 2018-09-21 WO PCT/US2018/052165 patent/WO2019060679A1/en unknown
- 2018-09-21 CA CA3076498A patent/CA3076498C/en active Active
- 2018-09-21 CN CN201880068038.9A patent/CN111511620B/zh active Active
- 2018-09-21 JP JP2020516695A patent/JP6987226B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP6987226B2 (ja) | 2021-12-22 |
KR102385257B1 (ko) | 2022-04-11 |
ES2900495T3 (es) | 2022-03-17 |
CN111511620A (zh) | 2020-08-07 |
WO2019060679A1 (en) | 2019-03-28 |
EP3684664B1 (en) | 2021-11-03 |
KR20200089654A (ko) | 2020-07-27 |
US10429847B2 (en) | 2019-10-01 |
JP2020534621A (ja) | 2020-11-26 |
CA3076498C (en) | 2022-10-18 |
CA3076498A1 (en) | 2019-03-28 |
US20190094866A1 (en) | 2019-03-28 |
EP3684664A1 (en) | 2020-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111511620B (zh) | 使用最优交互避碰代价评估的动态窗口方法 | |
CN111602096B (zh) | 具有排除区的多分辨率扫描匹配 | |
KR102497430B1 (ko) | 로봇 충전기 도킹 제어 | |
KR102442241B1 (ko) | 로봇 충전기 도킹 로컬화 | |
US11493925B2 (en) | Robot obstacle collision prediction and avoidance | |
Behrje et al. | An autonomous forklift with 3d time-of-flight camera-based localization and navigation | |
NZ764668B2 (en) | Robot charger docking control |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |