CN116149311A - 动态运动规划系统 - Google Patents
动态运动规划系统 Download PDFInfo
- Publication number
- CN116149311A CN116149311A CN202210233651.XA CN202210233651A CN116149311A CN 116149311 A CN116149311 A CN 116149311A CN 202210233651 A CN202210233651 A CN 202210233651A CN 116149311 A CN116149311 A CN 116149311A
- Authority
- CN
- China
- Prior art keywords
- robot
- motion
- obstacle
- joint
- commanded
- 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
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 168
- 238000005457 optimization Methods 0.000 claims abstract description 55
- 238000004364 calculation method Methods 0.000 claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 28
- 230000006870 function Effects 0.000 claims description 45
- 230000001133 acceleration Effects 0.000 claims description 16
- 230000008447 perception Effects 0.000 claims description 11
- 238000013461 design Methods 0.000 claims description 7
- 230000008859 change Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 claims description 2
- 238000001514 detection method Methods 0.000 abstract description 3
- 230000003068 static effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000004088 simulation Methods 0.000 description 3
- 238000007792 addition Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000010420 art technique Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000009533 lab test Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
- B25J9/1666—Avoiding collision or forbidden zones
-
- 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/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0251—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/088—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices with position, velocity or acceleration sensors
- B25J13/089—Determining the position of the robot with reference to its environment
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1651—Programme controls characterised by the control loop acceleration, rate control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1653—Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1674—Programme controls characterised by safety, monitoring, diagnostic
- B25J9/1676—Avoiding collision or forbidden zones
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
- B25J9/1697—Vision controlled systems
-
- 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
-
- 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/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- 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/0276—Control of position or course in two dimensions specially adapted to land vehicles using signals provided by a source external to the vehicle
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39091—Avoid collision with moving obstacles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40477—Plan path independent from obstacles, then correction for obstacles
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40607—Fixed camera to observe workspace, object, workpiece, global
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Electromagnetism (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
一种用于工业机器人的动态碰撞避免运动规划的方法和系统。障碍物避开运动优化例程接收规划的路径和障碍物检测数据作为输入,并且计算避开任何检测到的障碍物的命令的机器人路径。机器人控制器使用遵循工具中心点路径的机器人关节运动来命令机器人运动。规划和优化计算在与控制器反馈回路解耦的反馈回路中执行,控制器反馈回路基于实际机器人位置计算机器人命令。两个反馈回路实时执行规划、命令和控制计算,包括响应可能存在于机器人工作空间中的动态障碍物。优化计算包括安全函数,其有效地并入障碍物相对于机器人的相对位置和相对速度。
Description
技术领域
本公开一般涉及工业机器人运动规划领域,并且更具体地,涉及用于在存在动态障碍物的情况下进行机器人运动规划的方法和系统,其中障碍物避开运动优化计算与机器人反馈运动控制器解耦,并且其中运动优化计算包括障碍物避开约束,其有效地并入障碍物相对于机器人的相对位置和相对速度两者。
背景技术
使用工业机器人来执行各种各样的制造、组装和材料移动操作是众所周知的。在许多机器人工作空间环境中,障碍物存在并且可能在机器人运动的路径中。障碍物可以是永久性结构,例如机器和固定装置,由于它们的静态性质,机器人可以容易地避开这些永久性结构。障碍物还可以是随机地移动进入或通过机器人工作空间的动态对象。动态对象必须由机器人控制器在实时计算中考虑,其中机器人必须在执行操作的同时围绕对象操纵。必须绝对避免机器人和任何障碍物之间的碰撞。
用于动态碰撞避免运动规划的现有技术包括在机器人控制器运动规划器和物理机器人系统之间的碰撞避免安全函数计算。在这种计算布置中,机器人的实际运动以及障碍物的检测和避开都包含在单个闭环反馈系统中。尽管这种布置在逻辑上有意义,但是实际上,由于输入和反馈回路的高度耦合且通常冲突的性质,系统表现出反馈延迟。
此外,现有的动态运动规划系统使用复杂的安全函数公式来避免碰撞。这些系统表现出各种缺点,包括数值不稳定性问题、对静态障碍物的不灵敏性、导致运动规划计算缓慢的计算复杂性、以及在机器人-障碍物碰撞避免计算中不能考虑除臂端工具之外的机器人部件(即,机器人臂)。
鉴于上述情况,需要一种用于工业机器人的改进的动态运动规划系统,其高效且有效地并入静态和移动障碍物的碰撞避免。
发明内容
根据本公开的教导,描述并示出了用于工业机器人的动态碰撞避免运动规划的方法和系统。障碍物避开运动优化例程接收规划的路径和障碍物检测数据作为输入,并且计算避开任何检测到的障碍物的命令机器人路径。机器人控制器使用遵循工具中心点路径的机器人关节运动来命令机器人运动。规划和优化计算在与控制器反馈回路解耦的反馈回路中执行,控制器反馈回路基于实际机器人位置计算机器人命令。两个反馈环实时执行规划、命令和控制计算,包括响应可能存在于机器人工作空间中的动态障碍物。优化计算包括安全函数,其有效地并入障碍物相对于机器人的相对位置和相对速度。
结合附图,根据以下描述和所附权利要求,当前公开的系统和方法的额外特征将变得显而易见。
附图说明
图1是如本领域已知的在机器人控制器运动计算和物理机器人之间并入了碰撞避免安全过滤器的闭环动态运动规划系统的框图图示;
图2是根据本公开的实施例的动态运动规划系统的框图图示,该动态运动规划系统包括与机器人反馈控制回路解耦的碰撞避免运动规划回路;
图3A和3B是根据本公开的实施例的两个不同的机器人-障碍物运动场景和针对每个场景的所得安全函数公式的图示;
图4是根据本公开的实施例的用于动态机器人运动规划的方法的流程图;
图5是根据本公开的实施例的在机器人工作空间中不存在障碍物的情况下以及在障碍物移动通过工作空间的情况下在三维空间中的机器人工具中心点路径的曲线图;以及
图6是根据本公开的实施例的三维空间中的多个机器人工具中心点路径的图,其中每个路径表示不同的机器人速度,并且机器人被配置为避开工作空间中的静态障碍物。
具体实施方式
以下针对动态运动规划系统的本公开的实施例的讨论本质上仅是示例性的,并且决不旨在限制所公开的设备和技术或它们的应用或使用。
使用工业机器人进行各种制造、组装和材料移动操作是众所周知的。在许多机器人工作空间环境中,障碍物可能存在,并且有时可能在机器人运动的路径中。即,在没有自适应运动规划的情况下,当机器人从其当前位置移动到目的地位置时,机器人的一些部分可能与障碍物的一些部分碰撞或接近障碍物的一些部分。障碍物可以是静态结构,例如机器、固定装置和桌子,或者障碍物可以是动态(移动)对象,例如人、叉车和其它机器。
在本领域中已经开发了用于计算机器人运动的技术,使得工具遵循到达目的地位置的路径,同时避免机器人与任何障碍物的碰撞。然而,这些系统表现出各种缺点,包括数值不稳定性问题、对静态障碍物的不灵敏性、导致运动规划计算缓慢的计算复杂性以及在机器人-障碍物碰撞避免计算中不能考虑除臂端工具之外的机器人部件(即,机器人臂)。
图1是如本领域中已知的在机器人控制器运动计算和物理机器人之间并入了碰撞避免安全过滤器的闭环动态运动规划系统的框图图示。机器人控制器110以本领域已知的方式基于输入的目标(目的地)位置计算机器人运动命令。运动命令被指定为udes(X),其中udes是定义“设计”机器人运动的笛卡尔空间中的工具中心点加速度向量。控制器110不是将运动命令直接提供给机器人,而是将运动命令提供给安全过滤器模块120。
安全过滤器模块120还接收从感知模块130输入的障碍物数据。感知模块130包括一个或多个相机或传感器,其被配置为提供关于可能存在于机器人工作空间中的障碍物的数据。障碍物数据通常包括最小机器人-障碍物距离,并且还可包括关于任何障碍物的位置(包括空间形状)和速度的其他数据。基于障碍物数据,安全过滤器模块120计算修改的运动命令umod并且将修改的运动命令提供给机器人系统140。如果机器人工作空间中不存在障碍物,则修改的运动命令umod将与设计运动命令udes相同。
机器人系统140包括机器人,其通过物理移动来响应修改的运动命令umod。实际机器人状态向量X表示在笛卡尔空间或关节空间中的当前控制周期时间步处的机器人位置和速度。实际机器人状态向量X在反馈回路150上被提供给控制器110和安全过滤器模块120,其中它被分别用于针对下一个控制周期时间步的设计运动命令udes和修改的运动命令umod的新值的反馈控制计算。
图1所示的现有技术系统的反馈控制布置在逻辑上是有意义的,因为控制器110计算理想运动命令,并且安全滤波器120基于障碍物数据在必要时修改理想运动,并且这两个计算都包括实际机器人系统状态的反馈。然而,实际上,由于输入和反馈回路的高度耦合且经常冲突的性质,系统呈现反馈延迟。另外,图1中所描绘的类型的现有动态运动规划系统经常在安全过滤器模块120中使用复杂的安全函数公式。这些安全函数公式加剧了慢动作规划计算的问题,并且导致如前所述的其他问题。
本公开的动态运动规划系统通过将运动规划和障碍物避开计算与机器人及其控制器的反馈控制回路解耦而克服了现有技术系统的缺点。当前公开的系统还使用简化但有效的安全函数公式,该公式在计算机器人运动命令时考虑任何障碍物相对于机器人的位置和速度。
图2是根据本公开的实施例的动态运动规划系统的框图图示,该动态运动规划系统包括与机器人反馈控制回路解耦的碰撞避免运动规划回路。规划器模块210基于输入的目标(目的地)位置计算规划的机器人运动。在一个非限制性示例中,机器人工具是夹持器,并且机器人的任务是将零件从源位置移动到目标位置。规划的机器人运动udes是定义笛卡尔空间中的“设计”(规划的)机器人运动的加速度向量。具体地,udes可以被定义为工具中心点加速度。规划器模块210将规划的机器人运动udes提供给动态运动优化模块220。
动态运动优化模块220还接收从感知模块230输入的障碍物数据。感知模块230包括一个或多个相机或传感器,其被配置为提供关于可能存在于机器人工作空间中的障碍物的数据。如上文相对于图1所论述,障碍物数据通常至少包含最小机器人-障碍物距离,且还可包含关于任何障碍物的位置(包含空间形状)及速度的其它数据。
动态运动优化模块220执行优化计算,该优化计算最小化与规划的机器人运动udes的跟踪偏差,同时包括机器人机械限制和碰撞避免安全函数作为约束。该优化计算导致命令的机器人运动qcmd。命令的机器人运动qcmd是关节空间中的机器人运动,其将机器人工具带到目标位置,同时避开机器人工作空间中的任何障碍物。下面详细讨论优化计算。反馈回路240将命令的机器人运动qcmd从动态运动优化模块220提供回到规划器模块210。规划器模块210和动态运动优化模块220在每个控制周期重复上述计算。
动态运动优化模块220还将命令的机器人运动qcmd提供给机器人控制器250。机器人控制器250向机器人260提供机器人控制命令,并且在反馈回路270上接收实际的机器人关节位置qact。机器人控制器250基于实际的机器人关节位置qact和命令的机器人运动qcmd在每个控制周期更新机器人控制命令。
图2的动态运动规划系统通过将运动规划和障碍物避开计算(模块210和220以及反馈回路240)与机器人260及其控制器250的反馈控制回路270解耦,克服了现有技术系统的反馈延迟和计算性能问题。
图2的动态运动规划系统的实际硬件实现可以以两种不同方式中的任一种来完成。在一种实现方式中,规划器模块210和动态运动优化模块220是在机器人控制器250中的处理器上运行的算法。即,物理的机器人控制器设备包括一个或多个处理器,其以上述方式执行图2的模块210、220和250的所有计算。在另一实现方式中,规划器模块210和动态运动优化模块220是在单独的计算机(不同的设备)中的处理器上运行的算法,该单独的计算机将命令的机器人运动qcmd传送给机器人控制器250。
当前公开的系统的动态运动优化模块220还使用简化但有效的安全函数公式,该公式在计算命令的机器人运动qcmd时考虑任何障碍物相对于机器人的位置和速度两者。下面讨论该安全函数公式及其在运动优化计算中的使用。
图3A和3B是根据本公开实施例的动态运动优化模块220中使用的两种不同的机器人-障碍物运动场景和针对每种场景的所得安全函数公式的图示。在图3A和3B中,具有臂端工具310的机器人300在工作空间中操作。障碍物320也存在于工作空间中。
在图3A中,障碍物320正移动离开机器人300,使得障碍物320相对于机器人300的相对速度(即,最小距离的变化率)大于零(vrel>0)。正相对速度可归因于障碍物320移动离开机器人300,或归因于臂端工具310移动离开障碍物320,或其可归因于两者的组合。当相对速度vrel如图3A中那样大于零时,安全函数被定义为h(X)=d,其中h(X)是在优化计算中的不等式约束中使用的安全函数,并且d是从机器人300到障碍物320的距离(通常是由图2的感知模块230确定的最小距离)。
在图3B中,障碍物320正朝向机器人300移动(接近),使得障碍物320相对于机器人300的相对速度小于或等于零(vrel≤0)。负相对速度可归因于障碍物320朝向机器人300移动,或归因于臂端工具310朝向障碍物320移动,或归因于两者的组合。当相对速度vrel如图3B中那样小于或等于零时,安全函数被修改为包括相对速度,并且现在被定义为其中h(X)是(在优化计算中的不等式约束中使用的)安全函数,d是从机器人300到障碍物320的距离,vrel是相对速度,并且amax是基于机械限制的机器人的最大可允许加速度。
图3A和3B中描绘的以及上文描述的安全函数公式由于考虑了相对速度而既简单又有效,即当障碍物移动离开机器人时对机器人运动的限制较小,并且当障碍物朝向机器人移动时使用简单的计算来补偿接近速度。该安全函数用于图2的动态运动优化模块220中执行的运动优化计算中的不等式约束(即h(X)≥0)中。下面进一步讨论运动优化计算的细节。
图4是根据本公开的实施例的用于动态机器人运动规划的方法的流程图400。在框402处,基于目标或目的地工具中心点位置计算规划的机器人运动。在代表性实施例中,规划的机器人运动是笛卡尔空间中的工具中心点加速度向量,其定义将工具中心点移动到目标位置的“设计”(规划的)机器人运动udes。在框404处,感知模块提供工作空间障碍物数据。感知模块包括至少一个相机或传感器,诸如三维(3D)相机,其可以检测工作空间中存在的任何障碍物的位置。感知模块可以包括图像处理器,其根据相机图像计算障碍物位置数据,或者感知模块可以简单地将原始相机图像提供给执行机器人运动优化计算的计算机或控制器。障碍物位置数据优选地在工作空间坐标系中计算,在该坐标系中,可以容易地将其与机器人位置数据进行比较。最小机器人-障碍物距离和机器人-障碍物相对速度从根本上需要障碍物数据。
在框406处,基于规划的机器人运动和障碍物数据执行机器人运动优化计算。机器人运动优化计算的输出是上面关于图2讨论的命令的机器人运动qcmd。如果在工作空间中不存在障碍物,则命令的机器人运动与规划的机器人运动相同。在反馈回路中将命令的机器人运动提供给框402,在其中基于目标工具中心点位置和命令的机器人运动(其在优化期间已经被修改以避开任何障碍物)重新计算规划的机器人运动。
在框408处,机器人控制器将命令的机器人运动提供给机器人。机器人控制器可以执行计算或变换,以便向机器人提供合适的机器人关节运动命令。在框410处,机器人实际上基于来自控制器的关节运动命令而移动。机器人和控制器操作成闭环反馈控制系统,其中实际机器人状态qact(关节位置和速度)被反馈到控制器以用于计算更新的关节命令。机器人和控制器在具有指定时长(即,一定数量的毫秒)的控制周期上操作。
在框406中,运动优化问题可以公式化为:
使得;
其中方程(1)是要最小化的优化目标函数(与规划的运动udes的跟踪偏差),方程(2)-(4)是迭代优化计算过程中必须满足的不等式约束。在方程(1)-(3)中,和/>分别是机器人中所有关节的关节速度和加速度,J是雅可比行列式(机器人配置的导数),J是雅可比行列式的导数,/>和/>是基于机器人机械限制的预定义的最大关节速度和加速度。可以添加额外的不等式约束(上面未显示),它要求关节位置q保持在预定义的关节位置范围内。
对于障碍物避开约束,目标是保持安全函数h(X)≥0,如图3A和3B所示以及如上所述。这通过将方程(4)定义为实现。对于其中h(X)=d的简单情况(图3A的情况1,移动离开),方程(4)简化为/>其中γ是固定系数,d是最小机器人-障碍物距离,并且/>是最小机器人-障碍物距离的变化率。对于情况2(接近),行为是类似的,但是进一步补偿了接近速度。换句话说,方程(4)指示最小距离d越大,可允许的距离变化率/>越大。可以建立系数γ的值以实现期望的系统行为,其中γ的较小值导致更保守的机器人行为(增加的操纵以提供更大的障碍物避开距离)。
在收敛时,优化计算产生命令的机器人运动其表示在满足不等式约束的同时具有最小跟踪偏差的机器人运动。如果障碍物极快地接近机器人,则方程(1)-(4)的优化计算变得不可行;在这种情况下,系统将减慢机器人的运动速度,并且如果优化计算仍然不可行,则停止机器人。
在图4中,在框402处的规划的机器人运动的计算、在框406处的机器人运动优化计算以及在框408处的机器人关节运动命令的计算都可以在与机器人实时通信的机器人控制器上执行。或者,框402和406的计算可以在单独的计算机上执行,并且在框408处,每个控制周期的命令的机器人运动被提供给控制器。
图2-4的动态运动规划技术已经被证明在真实的机器人系统中产生可靠的障碍物避开结果。这包括避开工作空间中的任何障碍物的有效路径规划,以及安全函数和所得运动优化的快速计算。
图5是根据本公开的实施例的在机器人工作空间中不存在障碍物的情况下以及障碍物移动通过工作空间的情况下在三维空间中的机器人工具中心点路径的曲线图。工作空间500在3D空间中由如图所示的正交的X、Y和Z轴表示。机器人(未示出)在工作空间500中操作,并且需要执行涉及将工具中心点从起始点510移动到目标(目的地)点512的任务。图5表示从真实的实验室测试收集的数据。
图5中描述了两种不同的场景。在第一场景中,在工作空间500中不存在障碍物。在没有任何障碍物的情况下,机器人将沿着参考路径520以直线将工具中心点直接从起始点510移动到目标点512。
在第二场景中,障碍物移动通过工作空间500,沿着障碍物路径530描绘一系列点。在实际的实验室测试中,障碍物是握在人的手中的小对象,其中人朝向机器人迈步并且朝向机器人伸展她的手臂,使得对象描绘障碍物路径530。在机器人工具从起始点510移动到目标点512的时间期间,障碍物沿障碍物路径530移动。使用本公开的动态路径规划技术,机器人将工具中心点沿着障碍物避开路径540从起始点510移动到目标点512。障碍物避开路径540显著偏离参考路径520,以便提供与沿障碍物路径530移动的障碍物的安全间隙。值得注意的是,障碍物避开路径540离开参考路径520的最显著的移动是在路径540的开始处。这是因为,在那时,障碍物正朝向机器人工具移动,导致安全函数h(X)被减小以补偿接近速度,如关于图3B所讨论的。
图6是根据本公开的实施例的三维空间中的多个机器人工具中心点路径的图,其中每个路径表示不同的机器人速度,并且机器人被配置为避开工作空间中的静态障碍物。工作空间600在3D空间中由如图所示的正交的X、Y和Z轴表示。机器人(未示出)在工作空间600中操作,并且需要执行涉及将工具中心点从起始点610移动到目标(目的地)点612的任务。图6表示使用本公开的动态路径规划技术从特定机器人和控制器的仿真收集的数据。
图6中描述了多种场景。在第一场景中,在工作空间600中不存在障碍物。在没有任何障碍物的情况下,机器人将沿着标称路径620以直线将工具中心点直接从起始点610移动到目标点612。
在其它场景中,固定球形障碍物630被放置在工作空间600中的阻挡标称路径620的位置。缓冲区640限定了障碍物630周围的安全距离余量,其中机器人和工具中心点应该保持在缓冲区640之外。使用相同的起始点610和目标点612,用障碍物630进行了四个不同的模拟,其中机器人的编程最大工具中心点速度从850mm/秒的最慢的最大速度变化到1800mm/秒的最快的最大速度。本公开的动态路径规划技术用于计算图6所示的障碍物避开路径。
对于850mm/秒的最慢的机器人工具中心点速度,机器人沿着障碍物避开路径652将工具中心点从起始点610移动到目标点612。可以观察到,障碍物避开路径652偏离标称路径620成仅足以使工具中心点稍微地保持在缓冲区640之外。对于稍微更快的机器人工具中心点速度1000mm/秒,机器人沿着障碍物避开路径654将工具中心点从起始点610移动到目标点612。障碍物避开路径654(与路径652相比)偏离标称路径620更多以使工具中心点保持在缓冲区640之外更远。由于在安全函数h(X)(图3B中所示)中的相对速度减法项,这是预期的行为。较高的工具中心点速度导致工具和障碍物630之间的较大的相对速度vrel,这减小了安全函数h(X)的值;这又指示了最小距离d的较大值,以便在优化计算期间保持安全函数h(X)≥0。
对于1500mm/秒的更快的机器人工具中心点速度,机器人沿着障碍物避开路径656将工具中心点从起始点610移动到目标点612。障碍物避开路径656(与路径654相比)偏离标称路径620甚至更多,以使工具中心点保持在缓冲区640之外甚至更远。最后,1800mm/秒的最快的机器人工具中心点速度导致障碍物避开路径658,其偏离标称路径620最远。
使用本公开的动态路径规划技术,障碍物避开路径对于最快工具速度(路径658)偏离标称路径620最多,而对于最慢工具速度(路径652)偏离最少。这些模拟证实了从上述安全函数和运动优化计算所预期的行为。
此外,对于图2-4中所描述的公开技术,每个控制周期的命令的运动计算时间(提供来自动态运动优化模块220的输出的时间)被测量为具有0.38毫秒(ms)的平均值。这与图1的现有技术中大约40ms的计算时间的平均值进行了比较。使用24ms的典型机器人控制周期,本公开的技术执行运动计算的速度足够快,而现有技术的运动计算是难以承受的慢。
在整个前述讨论中,描述并暗示了各种计算机和控制器。应当理解,这些计算机和控制器的软件应用和模块在具有处理器和存储器模块的一个或多个计算装置上执行。特别地,这包括在上述图2的机器人控制器250和可选的单独计算机(如果使用)的每一个中的处理器。具体地,控制器250和/或单独的计算机(如果使用)中的处理器被配置为执行框210和220的运动规划和障碍物避开运动优化功能,以及框250的机器人反馈运动控制功能。
如上所述,所公开的用于动态运动规划以避开机器人工作空间中的障碍物的技术提供了优于现有技术方法的显著优点。所公开的技术将障碍物避开运动优化与机器人-控制器反馈回路解耦,从而避开现有技术系统的反馈延迟问题。此外,所公开的用于运动优化计算的安全函数以有效且容易计算的方式补偿机器人-障碍物相对速度。
尽管上面已经讨论了动态运动规划系统的多个示例性方面和实施例,但是本领域技术人员将认识到其修改、置换、添加和子组合。因此,所附权利要求和此后引入的权利要求旨在被解释为包括所有这些修改、置换、添加和子组合,因为它们在它们的真实精神和范围内。
Claims (20)
1.一种用于工业机器人的动态运动规划系统,所述系统包括:
感知模块,其包括配置为检测所述机器人的工作空间中的障碍物的至少一个传感器或相机;
规划模块,其在具有处理器和存储器的第一计算装置上执行,所述规划模块配置为基于附接到所述机器人的工具上的工具中心点的目标位置来计算设计机器人运动;
运动优化模块,其在所述第一计算装置上执行且从所述感知模块接收障碍物数据,所述运动优化模块配置为基于所述设计机器人运动和所述障碍物数据计算命令的机器人运动,其中所述命令的机器人运动作为反馈被提供到所述规划模块以用于计算下一控制周期的所述设计机器人运动;以及
机器人控制模块,其在所述第一计算装置或第二计算装置上执行,所述机器人控制模块基于所述命令的机器人运动来计算机器人控制命令,将所述机器人控制命令提供给所述机器人,以及从所述机器人接收实际机器人状态数据作为反馈。
2.根据权利要求1所述的系统,其中,所述第一计算装置是机器人控制器,所述机器人控制器执行所述规划模块、所述运动优化模块和所述机器人控制模块中的全部,并且向所述机器人提供所述机器人控制命令。
3.根据权利要求1所述的系统,其中,所述第一计算装置执行所述规划模块和所述运动优化模块,并且所述第二计算装置是与所述第一计算装置通信的机器人控制器,其中,所述机器人控制器执行所述机器人控制模块并且向所述机器人提供所述机器人控制命令。
4.根据权利要求1所述的系统,其中,所述命令的机器人运动根据需要偏离所述设计机器人运动,以在所述机器人与存在于所述障碍物数据中的任何障碍物之间提供间隙空间。
5.根据权利要求1所述的系统,其中,所述运动优化模块使用具有目标函数和一个或多个不等式约束的迭代优化计算来计算所述命令的机器人运动。
6.根据权利要求5所述的系统,其中,所述目标函数使与所述设计机器人运动的偏差最小化,并且所述不等式约束包括将机器人关节位置保持在预定义的关节位置范围内、将机器人关节速度保持在预定义的关节速度极限以下以及将机器人关节加速度保持在预定义的关节加速度极限以下。
7.根据权利要求5所述的系统,其中,所述不等式约束包括从安全函数计算的安全约束,其中,所述安全函数是基于机器人-障碍物最小距离和机器人-障碍物相对速度来确定的。
8.根据权利要求7所述的系统,其中,所述安全约束是所述安全函数的变化率必须大于或等于所述安全函数的负数乘以一系数。
9.根据权利要求7所述的系统,其中,当所述机器人-障碍物相对速度大于零时,所述安全函数等于所述机器人-障碍物最小距离,并且当所述机器人-障碍物相对速度小于或等于零时,所述安全函数等于所述机器人-障碍物最小距离减去附加的安全余量距离,所述附加的安全余量距离是所述机器人-障碍物相对速度的函数。
10.根据权利要求1所述的系统,其中,所述设计机器人运动是笛卡尔空间中的工具中心点加速度,并且所述命令的机器人运动包括所述机器人中的所有关节的机器人关节旋转加速度。
11.一种用于工业机器人的动态运动规划系统,所述系统在一个或多个计算装置上执行并且包括:
规划模块,其配置为基于机器人工具中心点的目标位置来计算设计机器人运动;
运动优化模块,其配置为基于所述设计机器人运动和从传感器接收的障碍物数据来计算命令的机器人运动,其中所述命令的机器人运动被作为反馈提供给所述规划模块,以用于计算下一控制周期的所述设计机器人运动;以及
机器人控制模块,其基于所述命令的机器人运动来计算机器人关节控制命令,将所述机器人关节控制命令提供给所述机器人,以及从所述机器人接收实际机器人关节状态数据作为反馈。
12.根据权利要求11所述的系统,其中,所述运动优化模块使用迭代优化计算来计算所述命令的机器人运动,所述迭代优化计算具有使与所述设计机器人运动的偏差最小化的目标函数和基于机器人-障碍物最小距离和机器人-障碍物相对速度确定的安全约束,其中与当所述机器人-障碍物相对速度小于或等于零时相比,当所述机器人-障碍物相对速度大于零时,所述安全约束更宽松。
13.一种用于工业机器人的动态运动规划的方法,所述方法在至少一个计算装置上执行并且包括:
基于机器人工具中心点的目标位置计算设计机器人运动;
基于所述设计机器人运动和从传感器接收的障碍物数据来计算命令的机器人运动,其中所述命令的机器人运动作为反馈被提供以用于计算下一控制周期的所述设计机器人运动;
基于所述命令的机器人运动来计算机器人关节控制命令;
向所述机器人提供所述机器人关节控制命令;以及
从所述机器人接收实际机器人关节状态数据作为反馈。
14.根据权利要求13所述的方法,其中,所述至少一个计算装置是机器人控制器,所述机器人控制器执行计算设计机器人运动、计算命令的机器人运动、计算机器人关节控制命令以及向所述机器人提供所述机器人关节控制命令中的全部。
15.根据权利要求13所述的方法,其中,第一计算装置执行计算所述设计机器人运动和计算所述命令的机器人运动,并且机器人控制器执行计算所述机器人关节控制命令和向所述机器人提供所述机器人关节控制命令。
16.根据权利要求13所述的方法,其中,使用具有目标函数和多个不等式约束的迭代优化计算来计算所述命令的机器人运动,其中所述目标函数使与所述设计机器人运动的偏差最小化,并且所述不等式约束包括将机器人关节位置保持在预定义的关节位置范围内、将机器人关节速度保持在预定义的关节速度极限以下以及将机器人关节加速度保持在预定义的关节加速度极限以下。
17.根据权利要求16所述的方法,其中,所述不等式约束还包括从安全函数计算的安全约束,其中,所述安全函数是基于机器人-障碍物最小距离和机器人-障碍物相对速度来确定的。
18.根据权利要求17所述的方法,其中,所述安全约束是所述安全函数的变化率必须大于或等于所述安全函数的负数乘以一系数。
19.根据权利要求17所述的方法,其中,当所述机器人-障碍物相对速度大于零时,所述安全函数等于所述机器人-障碍物最小距离,并且当所述机器人-障碍物相对速度小于或等于零时,所述安全函数等于所述机器人-障碍物最小距离减去所述相对速度的平方除以最大机器人加速度的两倍。
20.根据权利要求13所述的方法,其中,所述设计机器人运动是笛卡尔空间中的工具中心点加速度,并且所述命令的机器人运动包括所述机器人中的所有关节的机器人关节旋转加速度。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/455,676 US11872704B2 (en) | 2021-11-19 | 2021-11-19 | Dynamic motion planning system |
US17/455,676 | 2021-11-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116149311A true CN116149311A (zh) | 2023-05-23 |
Family
ID=86227480
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210233651.XA Pending CN116149311A (zh) | 2021-11-19 | 2022-03-10 | 动态运动规划系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11872704B2 (zh) |
JP (1) | JP2023075884A (zh) |
CN (1) | CN116149311A (zh) |
DE (1) | DE102022102451A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11782402B2 (en) * | 2021-07-02 | 2023-10-10 | Mitsubishi Electric Research Laboratories, Inc. | Device for controlling a system with polynomial dynamics |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9272417B2 (en) * | 2014-07-16 | 2016-03-01 | Google Inc. | Real-time determination of object metrics for trajectory planning |
US9862090B2 (en) * | 2014-07-25 | 2018-01-09 | California Institute Of Technology | Surrogate: a body-dexterous mobile manipulation robot with a tracked base |
US11820025B2 (en) * | 2017-02-07 | 2023-11-21 | Veo Robotics, Inc. | Safe motion planning for machinery operation |
JP7351079B2 (ja) * | 2018-11-30 | 2023-09-27 | ソニーグループ株式会社 | 制御装置、制御方法及びプログラム |
US11254003B1 (en) * | 2019-04-18 | 2022-02-22 | Intrinsic Innovation Llc | Enhanced robot path planning |
US11179850B2 (en) * | 2019-04-24 | 2021-11-23 | Intrinsic Innovation Llc | Robot motion planning |
-
2021
- 2021-11-19 US US17/455,676 patent/US11872704B2/en active Active
-
2022
- 2022-02-02 DE DE102022102451.2A patent/DE102022102451A1/de active Pending
- 2022-02-07 JP JP2022017295A patent/JP2023075884A/ja active Pending
- 2022-03-10 CN CN202210233651.XA patent/CN116149311A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2023075884A (ja) | 2023-05-31 |
US20230158670A1 (en) | 2023-05-25 |
DE102022102451A1 (de) | 2023-05-25 |
US11872704B2 (en) | 2024-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11813753B2 (en) | Collision avoidance motion planning method for industrial robot | |
EP1972416B1 (en) | Robots with occlusion avoidance functionality | |
US8311731B2 (en) | Robots with collision avoidance functionality | |
US11279033B2 (en) | Method and apparatus for collision-free motion planning of a manipulator | |
Nelson et al. | Strategies for increasing the tracking region of an eye-in-hand system by singularity and joint limit avoidance | |
CN113552877A (zh) | 用于机器人优化动作规划的初始参考生成 | |
US20220234209A1 (en) | Safe operation of machinery using potential occupancy envelopes | |
Leeper et al. | Methods for collision-free arm teleoperation in clutter using constraints from 3d sensor data | |
JP2023059835A (ja) | ロボットシステムの動的速度の修正方法 | |
Lim et al. | Designing path of collision avoidance for mobile manipulator in worker safety monitoring system using reinforcement learning | |
CN116149311A (zh) | 动态运动规划系统 | |
Sadeghian et al. | Visual servoing with safe interaction using image moments | |
Spencer et al. | Collision avoidance techniques for tele-operated and autonomous manipulators in overlapping workspaces | |
CN116214495A (zh) | 机器人动态运动规划和控制的方法 | |
Zube et al. | Model predictive contact control for human-robot interaction | |
Leeper et al. | Arm teleoperation in clutter using virtual constraints from real sensor data | |
Chen et al. | A novel autonomous obstacle avoidance path planning method for manipulator in joint space | |
Ozaki et al. | Planning of collision-free movements of a manipulator with dynamic constraints | |
Li et al. | Image based approach to obstacle avoidance in mobile manipulators | |
CN113260928B (zh) | 控制装置 | |
CN118354882A (zh) | 机器人控制装置、机器人控制系统和机器人控制方法 | |
Arai et al. | Real-time path tracking with torque limits by using a disturbance observer | |
Greenberg et al. | Development of Proactive Human-Robot Coworking | |
Zhang | Real-Time Configuration Control System for Redundant Manipulators and Analysis of Avoidance Space | |
CN116766174A (zh) | 扫掠体变形 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |