CN114800509A - 机器人系统和用于控制机器人系统的方法 - Google Patents
机器人系统和用于控制机器人系统的方法 Download PDFInfo
- Publication number
- CN114800509A CN114800509A CN202210480461.8A CN202210480461A CN114800509A CN 114800509 A CN114800509 A CN 114800509A CN 202210480461 A CN202210480461 A CN 202210480461A CN 114800509 A CN114800509 A CN 114800509A
- Authority
- CN
- China
- Prior art keywords
- control system
- intermediate body
- body portion
- force
- moment
- 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
- 238000000034 method Methods 0.000 title claims description 68
- 239000012636 effector Substances 0.000 claims abstract description 168
- 230000008878 coupling Effects 0.000 claims abstract description 13
- 238000010168 coupling process Methods 0.000 claims abstract description 13
- 238000005859 coupling reaction Methods 0.000 claims abstract description 13
- 238000006243 chemical reaction Methods 0.000 claims description 65
- 230000005021 gait Effects 0.000 claims description 38
- 230000033001 locomotion Effects 0.000 claims description 38
- 230000004044 response Effects 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 8
- 238000006557 surface reaction Methods 0.000 abstract 2
- 230000005484 gravity Effects 0.000 description 16
- 230000000694 effects Effects 0.000 description 9
- 238000013519 translation Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 230000003068 static effect Effects 0.000 description 7
- 230000001133 acceleration Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 230000015654 memory Effects 0.000 description 5
- 230000002441 reversible effect Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 239000012530 fluid Substances 0.000 description 3
- 230000010365 information processing Effects 0.000 description 3
- 238000013515 script Methods 0.000 description 3
- 230000009184 walking Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 210000004197 pelvis Anatomy 0.000 description 2
- 238000003466 welding Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 230000009849 deactivation Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 210000003414 extremity Anatomy 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 230000007787 long-term memory Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009183 running Effects 0.000 description 1
- 230000009192 sprinting Effects 0.000 description 1
- 230000026676 system process 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/1615—Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
- B25J9/162—Mobile manipulator, movable base with manipulator arm mounted on it
-
- 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/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position 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/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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
- B62D57/024—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members specially adapted for moving on inclined or vertical surfaces
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62D—MOTOR VEHICLES; TRAILERS
- B62D57/00—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track
- B62D57/02—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members
- B62D57/032—Vehicles characterised by having other propulsion or other ground- engaging means than wheels or endless track, alone or in addition to wheels or endless track with ground-engaging propulsion means, e.g. walking members with alternately or sequentially lifted supporting base and legs; with alternately or sequentially lifted feet or skid
-
- 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/40298—Manipulator on vehicle, wheels, mobile
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/01—Mobile robot
Landscapes
- Engineering & Computer Science (AREA)
- Mechanical Engineering (AREA)
- Robotics (AREA)
- Chemical & Material Sciences (AREA)
- Combustion & Propulsion (AREA)
- Transportation (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Manipulator (AREA)
Abstract
一种机器人系统(400)包括:上本体部分(408b),其包括一个或多个末端执行器(422、424);下本体部分(408a),其包括一条或多条腿(404、406);和中间本体部分(408c),联接上和下本体部分。上本体控制系统(417b)处在末端执行器中的至少一个。中间本体部分基于作用在该至少一个末端执行器上的末端执行器力而经历第一中间本体线性力和/或力矩。下本体控制系统操作(417a)一条或多条腿。腿经历相应表面反作用力。中间本体部分基于表面反作用力经历第二中间本体线性力和/或力矩。一条或多条腿操作为使得第二中间本体线性力平衡第一中间线性力且第二中间本体力矩平衡第一中间本体力矩。
Description
本申请是申请号为201780075045.7、申请日为2017年12月6日、发明名称为“机器人系统和用于控制机器人系统的方法”的专利申请的分案申请。
背景技术
机器人可以包括多条腿,其能操作为让机器人在地面表面上平衡以让机器人沿地面表面运动。机器人也可以包括一个或多个末端执行器,其允许机器人操作物体或支撑载荷。
发明内容
根据示例性实施方式,机器人可在操作其末端执行器的同时操作其腿以让其本身在表面上动态平衡。在腿接触表面(例如地面表面)时,腿向表面施加力并从表面经历反作用力。机器人可动态控制腿,使得反作用力允许机器人保持能支持末端执行器操作的平衡。末端执行器操作期间通过腿提供的动态平衡构成整体操纵,其更接近真人的实际动作。
根据示例性实施方式,一种机器人系统包括本体。本体包括:上本体部分,其包括一个或多个可动末端执行器;下本体部分,其包括配置为接触表面的一条或多条腿;和中间本体部分,联接上本体部分和下本体部分。机器人系统还包括通过一个或多个处理器实施的控制系统。控制系统包括配置为操作末端执行器中的至少一个的上本体控制系统。至少一个末端执行器基于通过上本体控制系统做出的操作而经历末端执行器力。中间本体部分基于末端执行器力经历第一中间本体线性力或第一中间本体力矩中的至少一个。控制系统包括下本体控制系统,其配置为响应于该至少一个末端执行器的操作而操作一条或多条腿。一条或多条腿基于通过下本体控制系统做出的操作经历来自表面的相应反作用力。中间本体部分基于反作用力经历第二中间本体线性力或第二中间本体力矩中的至少一个。下本体控制系统操作一条或多条腿使得第二中间本体线性力平衡第一中间线性力且第二中间本体力矩平衡第一中间本体力矩。
根据另一示例性实施方式,一种机器人系统包括本体。本体包括:上本体部分,其包括一个或多个可动末端执行器;下本体部分包括配置为接触表面的一条或多条腿;和中间本体部分,联接上本体部分和下本体部分。机器人系统包括通过一个或多个处理器实施的控制系统。控制系统包括下本体控制系统和上控制系统。一种用于控制机器人系统的方法,包括通过上本体控制系统处在末端执行器中的至少一个。至少一个末端执行器基于通过上本体控制系统做出的操作而经历末端执行器力。中间本体部分基于末端执行器力经历第一中间本体线性力或第一中间本体力矩中的至少一个。该方法包括响应于该至少一个末端执行器的操作通过下本体控制系统处在一条或多条腿。一条或多条腿基于通过下本体控制系统做出的操作经历来自表面的相应反作用力。中间本体部分基于反作用力经历第二中间本体线性力或第二中间本体力矩中的至少一个。
根据又一示例性实施方式,机器人系统包括本体。本体包括:上本体部分,其包括一个或多个可动末端执行器;下本体部分包括配置为接触表面的一条或多条腿;和中间本体部分,联接上本体部分和下本体部分。机器人系统包括通过一个或多个处理器实施的控制系统。控制系统包括配置为操作末端执行器中的至少一个的上本体控制系统。至少一个末端执行器基于通过上本体控制系统做出的操作而经历末端执行器力。中间本体部分基于该至少一个末端执行器力经历第一中间本体线性力或第一中间本体力矩中的至少一个。控制系统包括下本体控制系统,其配置为基于第一中间本体线性力或第一中间本体力矩操作一条或多条腿。一条或多条腿基于通过下本体控制系统做出的操作经历来自表面的相应反作用力。中间本体部分基于反作用力经历第二中间本体线性力或第二中间本体力矩中的至少一个。下本体控制系统操作一条或多条腿,从而第二中间本体线性力平衡第一中间线性力且第二中间本体力矩平衡第一中间本体力矩。上本体控制系统将下本体部分处理为联接到中间本体部分的虚拟链。下本体控制系统进一步配置为基于一条或多条腿的操作根据第一组自由度定位中间本体部分。上本体控制系统进一步配置为基于至少一个末端执行器的操作根据第二组自由度定位中间本体部分。上本体控制系统被限制而不能根据第一组自由度定位中间本体部分。
根据进一步示例性实施方式,一种机器人系统包括本体。本体包括:上本体部分;下本体部分,其包括配置为接触表面的一条或多条腿;和中间本体部分,联接上本体部分和下本体部分。机器人系统包括通过一个或多个处理器实施的控制系统。控制系统包括配置为操作上本体部分的上本体控制系统。上本体部分响应于通过上本体控制系统做出的操作经历上体力。中间本体部分基于上体力经历第一中间本体线性力或第一中间本体力矩中的至少一个。控制系统包括配置为操作一条或多条腿的下本体控制系统。一条或多条腿基于通过下本体控制系统做出的操作经历来自表面的相应反作用力。中间本体部分基于反作用力经历第二中间本体线性力或第二中间本体力矩中的至少一个。下本体控制系统操作一条或多条腿,从而第二中间本体线性力平衡第一中间线性力且第二中间本体力矩平衡第一中间本体力矩。
通过阅读之后的详细描述并参考附随附图本领域技术人员可以理解这些以及其他方面、优点和替换。进一步地,应理解,在本文中该发明内容部分和其他位置提供的描述目的是通过例子显示要求保护的主体,而不是对其限制。
附图说明
图1示出了根据示例性实施方式的机器人系统的构造。
图2示出了根据示例性实施方式的四足机器人。
图3示出了根据示例性实施方式的两足机器人。
图4A示出了根据示例性实施方式的针对整体操作而采用了动态平衡的两足机器人。
图4B示出了根据示例性实施方式的通过图4A的两足机器人实现的动态平衡的例子。
图4C示出了根据示例性实施方式的在机器人操作末端执行器的同时通过图4A的两足机器人实现的动态平衡的另一例子。
图4D示出了图4A的两足机器人的分解视图。
图5示出了根据示例性实施方式的针对针对整体操作而采用了动态平衡的机器人系统的构造。
图6示出了根据示例性实施方式的针对整体操作而采用了动态平衡的操作机器人的方法。
具体实施方式
以下的详细描述描述了参考附随图所公开系统和方法的各种特征和功能。本文所述的说明性系统和方法实施例不是为了进行限制。容易理解,所公开的系统和方法的一些方面可以各种不同构造布置和组合,其全部包含在本文中。
I.概览
机器人可以包括多条腿,其能操作为让机器人在地面表面上平衡以让机器人沿地面表面运动。机器人也可以包括一个或多个末端执行器,其允许机器人操作物体或支撑载荷。根据一个方法,机器人必须首先操作其腿,以在机器人可定位末端执行器以执行任务之前保持位置控制并建立静态平衡。例如,机器人可以首先操作腿以形成静态支撑多边形(static support polygon),在末端执行器的定位和操作期间机器人的质量中心被保持在该静态支撑多边形上。根据该方法,腿和末端执行器不被同时操作成作为一个整体行动。
但是,根据本文公开的示例性实施方式,机器人可在其操作末端执行器的同时操作其腿,以使得其本身在一表面上动态平衡。在腿接触表面(例如地面表面)时,腿向表面施加力并从表面经历反作用力。机器人可动态控制腿,使得反作用力允许机器人保持能支持末端执行器操作的平衡。末端执行器操作期间通过腿提供的动态平衡构成整体操纵(wholebody manipulation),其可以更接近真人的实际动作。
腿甚至可在机器人根据步态运动的同时让机器人动态平衡。例如,机器人可沿地面表面步行或跑动,且由于动态平衡,机器人可同时将末端执行器定位为抓取物体而不会干扰步态。
在示例性实施方式中,机器人包括下本体部分、上本体部分和中间本体部分。对于两足机器人,中间部分可以用作或类似于骨盆。下本体部分包括腿且上本体部分包括末端执行器。在一些情况下,末端执行器可以设置在臂的端部上,该臂可从机器人向外延伸,以定位末端执行器。下本体部分从下方联接到中间部分,且上本体部分从上方联接到中间部分。
机器人包括下本体控制系统和上本体控制系统。下本体控制系统控制腿,且上本体控制系统控制末端执行器。下本体控制系统和上本体控制系统相协调,以针对机器人实现整体操纵和平衡。具体说,下本体控制系统控制腿,使得来自表面的反作用力提供动态平衡,该动态平衡允许上本体控制系统通过末端执行器执行任务。
在其分析期间,上本体控制系统将下本体部分表现(represent)并处理为联接到中间本体部分的虚拟链(virtual link)。为了定位和操作末端执行器,上本体控制系统采用反向运动解算器(inverse kinematics solver),其负责虚拟链以及中间本体部分的定位和取向。反向运动是指使用机器人的运动学方程以确定用于部件(例如关节)的参数,以允许末端执行器到达目标位置并执行任务。动作规划设定机器人的运动,使得末端执行器可到达目标位置并执行任务。例如,反向运动解算器可以使用虚拟链的速度,以确定用于上本体部分的动作规划,其在静态世界坐标系(static world frame)中实现期望的末端执行器速度。反向运动将动作规划转变为用于机器人的部件(例如关节)的促动器轨迹。
为了定位末端执行器,上本体控制系统可以让中间本体部分重新定位/重新取向。通常,中间本体部分可根据六个自由度中的任何一个或多个定位和取向。但是,为了实现动态平衡,下本体控制系统会需要根据这六个自由度中的一个或多个让中间本体部分重新定位/重新取向。如此,为了保持动态平衡,上本体控制系统会受到限制,而不能根据下本体控制系统所需的用于实现动态平衡的自由度让中间本体部分重新定位/重新取向。换句话说,用于上本体控制系统的反向运动解算器将这些具体自由度认为是限制条件。这些限制条件使得下本体控制系统自由地实现动态平衡。
通过末端执行器支撑的载荷在中间本体部分上产生最终线性力和/或力矩。上本体控制系统可确定最终线性力和力矩并将该信息通信到下本体控制系统。作为响应,下本体控制系统可操作腿使得反作用力可在中间本体部分处让线性力和/或力矩平衡。通常,在第二力/力矩在方向上与第一力/力矩相反且具有至少基本上相同大小时,第一力/力矩被第二力/力矩所平衡。
这种平衡还可在上本体部分额外或替换地承受其他载荷时被采用。例如,上本体部分可以在高速动作期间承受动态力,例如让臂、末端执行器或有效载荷加速所需的力。这种动态力也在中间本体部分上产生最终线性力和/或力矩,下本体控制也可通过反作用力平衡。
另外,在上本体控制系统想要让末端执行器延伸到目标位置时,下本体控制系统可确定腿的当前位置是否允许末端执行器以足够的平衡到达目标位置。如果必要,腿可被操作为让机器人沿表面运动,使得末端执行器可到达目标位置。
II.示例性机器人系统
图1示出了可以根据本文所述的实施方式使用的机器人系统的示例性构造。机器人系统100可以配置为自主、半自主和/或使用通过用户(一个或多个)提供的指导来操作。机器人系统100可以以各种形式实施,例如两足机器人、四足机器人或一些其他结构。进而,机器人系统100也可以被称为机器人、机器人装置、或可动机器人等等其他名称。
如图1所示,机器人系统100可以包括处理器(一个或多个)102、数据存储器104、和控制器(一个或多个)108,其一起可以是作为控制系统118的一部分。机器人系统100也可以包括传感器(一个或多个)112、电源(一个或多个)114、机械部件110、和电部件116。但是,机器人系统100是出于展示的目的显示的,且可以包括更多或更少的部件。机器人系统100的各种部件可以以任何方式连接,包括有线或无线连接。进一步地,在一些例子中,机器人系统100的部件可以分布在多个物理实体中而不是在单个物理实体中。也可以存在机器人系统100的其他示例性展示。
处理器(一个或多个)102可以操作为一个或多个通常目的硬件处理器或特殊目的硬件处理器(例如数字信号处理器、专用集成电路等)。处理器(一个或多个)102可以配置为执行计算机可读程序指令106,并操作数据107,指令和数据存储在数据存储器104中。处理器(一个或多个)102也可以直接或间接地与机器人系统100的其他部件互动,例如传感器(一个或多个)112、电源(一个或多个)114、机械部件110、和/或电部件116。
数据存储器104可以是一个或多个类型的硬件存储器。例如,数据存储器104可以包括或采取可被处理器(一个或多个)102读取或访问的一个或多个计算机可读存储介质的形式。一个或多个计算机可读存储介质可包括易失和/或非易失存储部件,例如光学、磁性、有机或另一类型的存储器或存储物,其可全部或部分地与处理器(一个或多个)102整合。在一些实施方式中,数据存储器104可以是单个物理装置。在其他实施方式中,数据存储器104可使用两个或更多物理装置实施,其可以经由有线或无线通信彼此通信。如前所述,数据存储器104可以包括计算机可读程序指令106和数据107。数据107可以是任何类型的数据,例如配置数据、传感器数据、和/或诊断数据,还存在其他可能。
控制器108可以包括一个或多个电路、数字逻辑单元、计算机芯片、和/或微处理器,其配置为(除了其他任务外)在机械部件110、传感器(一个或多个)112、电源(一个或多个)114、电部件116、控制系统118、和/或机器人系统100的用户的任何组合之间进行接口连接。在一些实施方式中,控制器108可以是特定用途的嵌入装置,用于通过机器人装置100的一个或多个子系统执行具体操作。
控制系统118可以监测和实体地改变机器人系统100的运行状态。如此做,控制系统118可以用作机器人系统100的一些部分之间(例如机械部件110和/或电部件116之间)的纽带。在一些情况下,控制系统118可以用作机器人系统100和另一计算装置之间的接口。进一步地,控制系统118可以用作机器人系统100和用户之间的接口。例如,控制系统118可以包括与机器人系统100通信的各种部件,包括摇杆、按钮、和/或端口等。如上所述的示例性接口和通信可以经由有线或无线连接或两者实施。控制系统118也可以针对机器人系统100执行其他操作。
在操作期间,控制系统118可以经由有线或无线连接与机器人系统100的其他系统通信,且可以进一步被配置为与机器人的一个或多个用户通信。作为一个可行例子,控制系统118可以接收输入(例如来自用户或来自另一机器人),表明沿特定方向和以特定速度执行特定步态的指示。步态是动物、机器人或其他机械结构的肢体运动的样式。
基于该输入,控制系统118可以执行操作,以使得机器人装置100根据所请求的步态运动。作为另一例子,控制系统可以接收输入,其表明运动到特定地理位置的指示。作为响应,控制系统118(也许通过其他部件或系统的辅助)可以基于机器人系统100向地理位置运动的途中所经过的环境来确定方向、速度、和/或步态。
控制系统118的操作可以通过处理器(一个或多个)102执行。替换地,这些操作可以通过控制器108或处理器(一个或多个)102和控制器108的组合执行。在一些实施方式中,控制系统118可以部分或完全位于并非机器人系统100的装置上,且因此可以至少部分地远程控制机器人系统100。
机械部件110代表机器人系统100的硬件,其可以使得机器人系统100执行物理操作。作为较少的例子,机器人系统100可以包括物理构件,例如腿(一个或多个)、臂(一个或多个)和/或轮(一个或多个)。机器人系统100的物理构件或其他部分可以进一步包括布置为让物理构件相对于彼此运动的促动器。机器人系统100也可以包括一个或多个结构本体,用于容纳控制系统118和/或其他部件,且可以进一步包括其他类型的机械部件。用在给定机器人中的特定机械部件110可以基于机器人的设计而改变,且也可以是基于机器人可以配置执行的操作和/或任务。
在一些例子中,机械部件110可以包括一个或多个可去除部件。机器人系统100可以配置为增加和/或去除这种可去除部件,其可以涉及从用户和/或另一机器人而来的辅助。例如,机器人系统100可以配置为具有可去除的臂、手、脚和/或腿,使得这些附肢可按照需要或期望更换或改变。在一些实施方式中,机器人系统100可以包括一个或多个可去除和/或可更换电池单元或传感器。其他类型的可去除部件也可以被包括在一些实施方式中。
机器人系统100可以包括布置为感测机器人系统100的一些方面的传感器(一个或多个)112。传感器(一个或多个)112可以包括一个或多个力传感器、扭矩传感器、速度传感器、加速度传感器、位置传感器、接近传感器、动作传感器、位置传感器、载荷传感器、温度传感器、触摸传感器、深度传感器、超声范围传感器、红外传感器、物体传感器、和/或摄像头,还存在其他可能。在一些例子中,机器人系统100可以配置为从传感器接收传感器数据,该传感器与机器人实体分离(例如定位在其他机器人上或位于机器人运行环境中的传感器)。
传感器(一个或多个)112可以向处理器(一个或多个)102提供传感器数据(也许通过数据107的方式),以允许机器人系统100与其环境互动,以及监测机器人系统100的操作。传感器数据可以通过控制系统118用于针对电部件116和机械部件110的启动、运动和停用的各种因素的评估。例如,传感器(一个或多个)112可以捕捉对应于环境地形或附近物体位置的数据,这可以有助于环境识别和导航。在一示例性构造中,传感器(一个或多个)112可以包括雷达(例如用于远程物体检测、距离确定和/或速度确定)、LIDAR(例如用于短程物体检测、距离确定、和/或速度确定)、声纳(例如用于水下物体检测、距离确定、和/或速度确定)、(例如用于动作捕捉)、一个或多个摄像头(例如用于3D视觉的立体摄像头)、全球定位系统(GPS)收发器、和/或用于捕捉机器人系统100运行环境中的信息的其他传感器。传感器(一个或多个)112可以实时地监测环境,并检测障碍物、地形要素、天气情况、温度和/或环境的其他方面。
进一步地,机器人系统100可以包括传感器(一个或多个),其配置为接收表明机器人系统100状态的信息,包括可以监测机器人系统100的各种部件状态的传感器(一个或多个)112。传感器(一个或多个)112可以测量机器人系统100的系统活动并基于机器人系统100的各种特征的操作(如机器人系统100的可延伸腿、臂或其他机械和/或电特征的操作)接收信息。通过传感器(一个或多个)112提供的数据可以使得控制系统118确定操作中的错误以及监测机器人系统100的部件的总体操作。
作为例子,机器人系统100可以使用力传感器测量机器人系统100的各种部件上的载荷。在一些实施方式中,机器人系统100可以包括在臂或腿上的一个或多个力传感器,以测量让臂或腿的一个或多个构件运动的促动器上的载荷。作为另一例子,机器人系统100可以使用一个或多个位置传感器,以感测机器人系统的促动器的位置。例如,这种位置传感器可以感测臂或腿上的促动器的延伸、收回或旋转的状态。
作为另一例子,传感器(一个或多个)112可以包括一个或多个速度和/或加速度传感器。例如,传感器(一个或多个)112可以包括惯性测量单元(IMU)。IMU可以在世界坐标系中相对于重力向量感测速度和加速度。通过IMU感测的速度和加速度可以随后基于机器人系统100中IMU的位置和机器人系统100的运动特性转换为机器人系统100的速度和加速度。
机器人系统100可以包括本文未具体描述的其他类型的传感器。另外或替换地,机器人系统可以使用用于本文未枚举的目的的特定传感器。
机器人系统100也可以包括配置为向机器人系统100的各种部件供应电力的一个或多个电源(一个或多个)114。在其他可能的功率系统中,机器人系统100可以包括液压系统、电系统、电池和/或其他类型的功率系统。作为示例性展示,机器人系统100可以包括配置为向机器人系统100的部件提供电荷的一个或多个电池。机械部件110和/或电部件116中的一些可以每一个连接到不同电源,可以被同一电源供电、或被多个电源供电。
任何类型的动力源可以用于为机器人系统100提供动力,例如电动力或汽油发动机。另外或替换地,机器人系统100可以包括配置为使用流体动力为机械部件110提供动力的液压系统。例如,机器人系统100的部件可以基于在液压系统中传递到各种液压马达和液压缸的液压流体来操作。液压系统可以通过流经管、可挠软管、或机器人系统100的部件之间的其他连接通路的增压液压流体的方式传输液压动力。可以使用各种类型的充电方式来为电源(一个或多个)114充电,例如连接到外部电源的有线连接、无线充电、燃烧或其他例子。
电部件116可以包括能处理、传递、和/或提供电荷或电信号的各种机构。在可行的例子中,电部件116可以包括电线、电路、和/或无线通信发射器和接收器,以实现机器人系统100的操作。电部件116可以与机械部件110互相配合,使得机器人系统100执行各种操作。例如,电部件116可以配置为从电源(一个或多个)114向各种机械部件110提供电力。进一步地,机器人系统100可以包括电动机。也可以存在电部件116的其他例子。
虽然在图1中未示出,但是机器人系统100可以包括本体,其可以连接或承装机器人系统的附肢和部件。如此,本体的结构可以在一些例子中改变且可以进一步取决于给定机器人已经被设计执行的特定操作。例如,被开发为承载重载荷的机器人可以具有宽的本体,其实现载荷的放置。类似地,被设计为到达高速度的机器人可以具有窄小的本体,其不具有很大的重量。进一步地,可以使用各种类型的材料(例如金属或塑料)开发本体和/或其他部件。在其他例子中,机器人可以具有本体,该本体具有不同结构或用各种类型材料制造。
本体和/或其他部件可以包括或承载传感器(一个或多个)112。这些传感器可以定位在机器人装置100上的各种位置,例如除了其他位置之外,可以定位在本体上和/或在一个或多个附肢上。
在其本体上,机器人装置100可以承载载荷,例如要被运输的一类货物。载荷也可以代表机器人装置100可以利用的外部电池或其他类型的功率源(例如太阳能板)。携带载荷代表一种示例性用途,机器人装置100可以针对该用途进行配置,但是机器人装置100也可以配置为执行其他操作。
如上所述,机器人系统100可以包括各种类型的腿、臂、轮等。通常,机器人系统100可以配置为具有零条或更多的腿。具有零条腿的机器人系统的实施方式可以包括轮、履带或一些其他形成的运动形式。具有两条腿的机器人系统的实施方式可以称为两足方式,且具有四条腿的实施方式可以称为四足方式。具有六个或八条腿的实施方式也是可以的。出于展示的目的,机器人系统100的两足和四足实施方式如下文所述。
图2示出了根据示例性实施方式的四足机器人200。在其他可行的特征中,机器人200可以配置为执行本文所述的一些操作。机器人200包括控制系统,且腿204A、204B、204C、204D连接到本体208。每一条腿可以包括可接触表面(例如地面表面)的各自的脚206A、206B、206C、206D。进一步地,机器人200显示为具有传感器(一个或多个)210,且可以在本体208上携带载荷。在其他例子中,机器人200可以包括更多或更少的部件,且由此可以包括图2未示出的部件。
机器人200可以是如图1所示的机器人系统100的实体展示,或可以基于其他构造。由此,机器人200可以包括机械部件110、传感器(一个或多个)112、电源(一个或多个)114、电部件116和/或控制系统118中的一个或多个,可以存在其他可能的部件或系统。
腿204A-204D的构造、位置和/或结构可以在示例性实施方式中改变。腿204A-204D使得机器人200相对于其环境运动,且可以配置为以多个自由度操作,实现不同的行进技术。具体说,腿204A-204D可以使得机器人200根据不同步态中描述的力学特点以各种速度行进。机器人200可以使用一个或多个步态以在环境中行进,这可以涉及基于速度、地形、操作需要和/或能量效率来进行选择。
进一步地,不同类型的机器人可以由于设计变化而使用不同的步态。虽然一些不同可以具有特定的名称(例如步行、快步、跑步、跳跃、疾驰等),但是步态之间的区别可以重叠。步态可以基于踏步范式(footfall pattern)—在表面上的用于放置脚206A-206D的位置——来分类。类似地,步态也可以基于行走力学特点来分类。
机器人200的本体208连接腿204A-204D且可以承装机器人200的各种部件。例如,本体208可以包括或承载传感器(一个或多个)210。这些传感器可以是传感器(一个或多个)112的含义所涵盖的任何传感器,例如摄像头、LIDAR或红外传感器。进一步地,传感器(一个或多个)210的位置不限制为图2所述的位置。由此,传感器(一个或多个)210可以定位在机器人200上的各种位置,例如在本体208上和/或在腿204A-204D中的一个或多个上,也存在其他例子。
图3示出了根据另一示例性实施方式的两足机器人300。类似于机器人200,机器人300可以对应于如图1所示的机器人系统100,且可以配置为执行本文所述的一些实施方式。由此,类似机器人200,机器人300可以包括机械部件110、传感器(一个或多个)112、电源(一个或多个)114、电部件116、和/或控制系统118中的一个或多个。
例如,机器人300可以包括连接到本体308的腿304和306。每一条腿可以包括一个或多个构件,其通过关节连接且配置为相对于彼此以各种自由度操作。每一条腿也可以包括各自的脚310和312,其可以接触表面(例如地面表面)。类似机器人200,腿304和306可以使得机器人300根据步态中描述的力学特点以各种速度行进。但是,机器人300可以利用与机器人200不同的步态,这至少部分地是由于两足和四足能力之间的差异造成的。
机器人300也可以包括臂318和320。这些臂可以有助于物体操作、载荷携带、和/或对机器人300的平衡。类似腿304和306,每一个臂可以包括一个或多个构件,其通过关节连接且配置为相对于彼此以各种自由度操作。每一个臂也可以包括各自的手322和324。机器人300可以使用手322和324来抓持、旋转、拉动和/或推动物体。手322和324可以包括各种类型的附肢或附件,例如指状物、抓持器、焊接工具、切割工具等。
机器人300也可以包括传感器(一个或多个)314,对应于(一个或多个)112,且配置为提供向其控制系统提供传感器数据。在一些情况下,这些传感器的位置可以被选择为显示出机器人300的拟人化结构。由此,如图3所示,机器人300可以在其头部316中包含视觉传感器(例如摄像头、红外传感器、物体传感器、距离传感器等)。
III.采用用于整体操纵(Whole Body Manipulation)的动态平衡的示例性机器人
图4A示出了示例性两足机器人400,其包括通过下本体部分408a、上本体部分408b、和中间本体部分408c限定的本体408。下本体部分408a和上本体部分408b联接到中间本体部分408c。下本体部分408a包括从中间本体部分408c大致向下延伸到表面(例如地面表面)的两条腿404和406。类似于机器人300的腿304和306,每一条腿404、406可以包括一个或多个构件,其通过关节连接且配置为相对于彼此以各种自由度操作。例如,如图4A所示,腿404至少包括构件404a1-a2和关节404b1-b2,且腿406至少包括构件406a1-a2和关节406b1-b2。
每一条腿404、406也可以包括各自的脚410、412,以建立与表面的直接接触。腿404、406可将机器人400稳定地支撑在该表面上。另外,腿404、406使得机器人400根据用于不同步态的力学特点以各种速度运动。例如,如图4A所示,腿404、406能操作为让机器人400至少根据沿y轴线的向前/向后平移和/或沿x轴线的向左/向右平移而运动。
上本体部分408b包括设置在各自臂418、420的端部上的末端执行器422、424。臂418、420可以从上本体部分408b向外延伸,以定位各自末端执行器422、424。类似机器人300的臂318、320,每一个臂418、420可以包括一个或多个构件,其通过关节连接且配置为相对于彼此以各种自由度操作。例如,如图4A所示,臂418至少包括构件418a1-a2和关节418b1-b2,且臂420至少包括构件420a1-a2和关节420b1-b2。
末端执行器422、424可以用于通过操纵物体、在负载上执行动作等来执行任务。例如,机器人400可以使用末端执行器422、424来抓持、旋转、携带、拉动和/或推动物体。如所示的,末端执行器422、424可以是具有可动指状物的手状结构。替换地,末端执行器422、424可以包括其他类型的附肢或附件,例如抓持器、焊接工具、切割工具等。
如图4A所示,中间本体部分408c用作或像是用于机器人400的两足构造的骨盆。中间本体部分408c从下方被下本体部分408a支撑,且相应地,中间本体部分408c支撑位于上方的上本体部分408b。如下文进一步描述的,中间本体部分408c可以定位和/或取向为允许腿404、406和末端执行器422、424的期望定位和操作。
机器人400可以包括如上所述的机器人系统100的一些方面。具体说,类似于传感器112的传感器可以提供与机器人400的部件相对于其他部件和/或外部环境的位置和运动有关的信息。例如,如图4A所示,机器人400可以在头部416中包括传感器414(例如摄像头,红外传感器,物体传感器,距离传感器,等)。
进而,如图5所示,机器人400可以包括具有下本体控制系统417a、上本体控制系统417b、和主控制系统417c的控制系统417,其每一个可以包括如上所述的控制系统118的一些方面。下本体控制系统417a可操作下本体部分408a的一些方面。上本体控制系统417b可操作上本体部分408b的一些方面。主控制器417c可控制机器人400的其他方面。主控制器417c也可以协调下本体控制系统417a和上本体控制系统417b的动作。
控制系统417a-c每一个可以从传感器接收传感器数据,以操作机器人400的相应方面。虽然控制系统417a-c在图5中显示为是分离的部分,但是控制系统417a-c的一些方面可以通过共用硬件和/或软件实施。
为了实现用于脚410、412的期望位置和/或腿404、406的期望力,下本体控制系统417a可以采用反向运动解算器419a,以确定各自腿404、406的构件的取向和相应关节位置。同时,为了实现用于末端执行器422、424的期望位置,上本体控制系统417a可以采用反向运动解算器419b以确定各自臂418、420的构件的取向和相应关节位置。
通常,反向运动是指使用机器人400的运动学方程来确定用于部件(例如腿404、406或臂418、420的关节)的参数,以允许相应的脚410、412或末端执行器422、424到达目标位置。动作规划指定机器人的运动,使得脚410、412或末端执行器422、424可到达目标位置。反向运动解算器419a、419b将动作规划转变为用于机器人400的部件(例如关节)的促动器轨迹。
下本体控制系统417a可操作腿404、406,以让机器人400在表面上动态平衡,同时上本体控制系统417b操作臂418、420和末端执行器422、424,以执行任务。如图4A所示,在脚410接触表面时,腿404经历对通过腿404施加的力作出响应的反作用力Fr1。类似地,在脚412接触表面时,腿406经历对通过腿406施加的力作出响应的反作用力Fr2。每一个反作用力Fr1、Fr2可以包括沿x轴线、y轴线、和z轴线中的一个或多个的分量。
下本体控制系统417a可动态控制腿404、406,使得反作用力Fr1、Fr2允许机器人400保持平衡,这种平衡能支持臂418、420和末端执行器422、424的操作。响应于被机器人400所经历的任何力矩,反作用力Fr1、Fr2也可以分别产生相反的力矩Mr1、Mr2(未示出),以让机器人400平衡。在末端执行器422、424操作期间通过腿404、406提供的动态平衡构成整体操纵,其更接近通过真人执行的真实动作。
A.通过下本体实现的示例性平衡
参见图4B,机器人400仅被腿404支撑在表面上。机器人400的重量(即重力Fgr)经由脚410沿负z方向施加到表面。重力Fgr沿负z方向有效地作用在本体408的质量中心(COM)处。反作用力Fr1的一分量沿正z方向施加在脚410处,大小等于重力Fgr。由此,重力Fgr被反作用力Fr1的z分量所平衡。
但是,如果机器人400的质量中心不沿x轴线和/或y轴线对准脚410,则重力Fgr会在脚410处产生力矩Mgr。力矩Mgr可以包括绕x轴线和/或y轴线的分量。反作用力Fr1包括在脚410和表面之间的摩擦力,其中摩擦力沿x和/或y方向作用在脚410上。摩擦力提供与通过重力Fgr产生的力矩Mgr相反的扭矩。如果力矩Mgr不超过可通过摩擦力提供的最大扭矩,则机器人400可保持平衡。另一方面,如果力矩Mgr超过最大扭矩,则脚410会滑动且力矩Mgr会使得机器人400失去平衡。
在脚410处于表面上的给定位置时,下本体控制系统417a可控制构件404a1-a2和关节404b1-b2的位置和取向,以控制反作用力Fr1在腿404上的影响并实现本体408的平衡。例如,如果下本体控制系统417a确定图4B所示的机器人400由于力矩Mgr不能保持平衡,则下本体控制系统417a可控制腿404的构件404a1-a2和关节404b1-b2,以将机器人400的质量中心重新定位为更接近于沿x轴线和/或y轴线与脚410对准。这可降低力矩Mgr并允许由作用力Fr1造成的摩擦力使得机器人400平衡,如上所述。
如图4B所示,在下本体控制系统417a重新定位质量中心时,中间本体部分408c可以相应地从一位置(xi,yi,zi)沿x方向和y方向相应地运动到新的位置(xi',yi',zi')。虽然图4B的质量中心可以显示为与中间本体部分408c重合,但应理解,质量中心可以相对于机器人400定位在其他位置。
虽然图4B中未示出,但是腿406可以以类似于腿404的方式操作。通常,在脚410、412处于表面上的给定位置的情况下,下本体控制系统417a可让腿404、406的构件和关节重新定位和/或重新取向,以控制反作用力Fr1和Fr2如何影响本体408。具体地,下本体控制系统417a可控制腿,使得反作用力Fg1和Fg2让本体408平衡。
实际上,两只脚410、412可同时接触表面且腿404、406可以经历反作用力Fr1和Fr2。重力Fgr可被反作用力Fr1和Fr2的z分量之和所平衡。此外,下本体控制系统417a可以控制腿404、406的构件和关节,以改变质量中心的位置并允许来自反作用力Fr1、Fr2(例如摩擦力)的相反力矩Mr1、Mr2与来自重力Fgr的力矩Mgr相平衡。
B.与下本体动态平衡以支持末端执行器的操作
如上所述,上本体控制系统417b可操作每一个末端执行器422、424,以执行相应任务。为了执行不同任务,上本体控制系统417b可让末端执行器422、424随臂418、420运动到不同位置,以便抵达物体和让物体运动、对负载施加动作等。
例如,如图4A所示,末端执行器424最初被定位在坐标(xe2,ye2,ze2)处。在图4C中,上本体控制系统417b让末端执行器424重新定位到(xe2',ye2',ze2')以执行任务。为了重新定位,上本体控制系统417b操作臂420的构件420a1-a2和关节420b1-b2,以让末端执行器424延伸到目标位置(xe2',ye2',ze2')。
取决于与臂418、420关联的质量,机器人400的质量中心的位置可以在臂418、420和相应末端执行器422、424重新定位时改变。质量中心位置的改变使得重力Fgr在本体408上的影响改变。具体说,通过重力Fgr产生的力矩Mgr也改变。为了保持机器人400的平衡,腿404、406的构件和关节会需要重新定位和/或重新取向,以实现让新的力矩Mg平衡的反作用力Fr1、Fr2。
在执行任务时,每一个末端执行器422、424也可以经历相应的外部末端执行器力Fe1、Fe2,如图4A所示。例如,如果每一个末端执行器422、424的任务是携带相应物体,则相应末端执行器力Fe1、Fe2可以包括沿负z方向作用的相应物体的重量。在另一例子中,如果末端执行器422、424的任务是沿表面推动大物体,则末端执行器力Fe1和Fe2可以包括在大物体和表面之间的相反摩擦力。虽然两末端执行器力Fe1和Fe2在图4A中示出,但是末端执行器410、412不是必须同时经历末端执行器力Fe1和Fe2。
机器人400可以由此经历除了重力Fgr以外的外部力Fe1和Fe2。此外,机器人400可以分别经历通过末端执行器力Fe1、Fe2产生的力矩Me1、Me2。如此,下本体控制系统417a还可对外部末端执行器力Fe1和Fe2以及重力Fgr让机器人400在表面上平衡的影响负责。具体说,下本体控制系统417a可控制腿404、406的构件和关节,以允许反作用力Fr1、Fr2对力Fe1、Fe2、Fgr之和以及通过力Fe1、Fe2、Fgr产生的力矩之和进行平衡。
例如,如果每一个末端执行器422、424携带物体,则末端执行器力Fe1、Fe2包括沿负z方向作用的每一个物体的重量。除了重力Fgr,腿404、406经由脚410、412向表面施加每一个物体的重量。反作用力Fr1、Fr2相应地沿正z方向施加力,以对通过腿404、406施加的力进行平衡。
而且,除了通过重力Fgr产生的力矩Mgr,力Fe1、Fe2也产生力矩Me1、Me2。反作用力Fr1、Fr2相应地产生与力矩Me1、Me2相反的力矩Mr1、Mr2。下本体控制系统417a可操作腿404、406的构件和关节使得力矩Mr1、Mr2可让力矩Me1、Me2平衡。例如,反作用力Fr1、Fr2可以包括摩擦力,其沿正y方向作用并提供与力矩Me1、Me2相反的扭矩。
为了允许下本体控制系统417a对通过末端执行器422、424的定位和操纵所产生的力和力矩负责,上控制系统417b可以将与末端执行器422、424的位置以及末端执行器力Fe1、Fe2和力矩Me1、Me2有关的信息通信到下本体控制系统417a。上本体控制系统417b例如可以从力和扭矩传感器接收信号,以确定末端执行器力Fe1、Fe2和力矩Me1、Me2。
上本体控制系统417b可以控制末端执行器422、424以执行任何数量和序列的任务。如此,臂418、420和末端执行器422、424可以处于恒定动作且可以经历变化的末端执行器力Fe1、Fe2。有利地,下本体控制系统417a可让本体408动态平衡,以支持上本体部分408b的动作。下本体控制系统417a可同时操作腿404、406,如上所述,以针对上本体部分408b做出的连续活动提供连续平衡。上本体控制系统417b不依赖于下本体控制系统417a来在操作末端执行器422、424以执行每一个任务之前建立静态平衡。
因为下本体控制系统417a控制下本体部分408a,上本体控制系统417b可通过将下本体部分408a表现和处理为经由中间本体部分408c连接的虚拟链而控制上本体部分408b。通过虚拟链,控制系统417的实施方式被简化,因为下本体部分408a和上本体408b的控制分别在下本体控制系统417a和上本体控制系统417b之间分开。上本体控制系统417b可通常假定,下本体控制系统417a将动态地提供平衡,以在上本体控制系统417b可集中于通过末端执行器422、424执行任务时支撑上本体部分408b。
除了操作臂418、420,上本体控制系统417b可让中间本体部分408c相对于下本体部分408b定位和/或取向,以定位和操作末端执行器422、424。中间本体部分408c可根据六个自由度中的任何一个或多个定位和/或取向:(1)沿y轴线向前/向后平移;(2)沿x轴线向左/向右平移;(3)沿z轴线向上/向下平移;(4)绕x轴线俯仰旋转;(5)绕y轴线翻滚旋转;和(6)绕z轴线偏航旋转。例如,为了让物体到达机器人400的左侧,上本体控制系统417b可以使得中间本体部分408c绕z轴线旋转(即偏航旋转)。
如上述例子中所述,下本体控制系统417a可以让机器人400的质量中心沿x轴线和/或y轴线重新定位,以让本体408平衡。这也可以涉及通过中间本体部分408c沿x轴线(向左/向右平移)和/或y轴线(向前/向后平移)实现的运动。由此,为了通过下本体部分408a让本体408平衡,下本体控制系统417a需要控制中间本体部分408c的一个或多个自由度。
结果,上本体控制系统417b可以被限制以不能根据会影响下本体部分408a进行动态平衡的能力的自由度来让中间本体部分408c运动。限制条件使得下本体控制系统自由地实现动态平衡。这种限制条件允许上本体控制系统117b将下本体部分408a表现并认为是经由中间本体部分408c连接的虚拟链。
例如,如果下本体控制系统417a需要控制中间本体部分408c沿x轴线(向左/向右平移)和/或y轴线(向前/向后平移)的位置,则上本体控制系统417b可以针对这些自由度而被限制。在确定末端执行器422、424的定位时,用于上本体控制系统417b的反向运动解算器419b可以将这两个自由度认为是限制条件。结果,上本体控制系统417b根据任何其余的四个自由度控制中间本体部分408c的位置,即沿z轴线向上/向下平移,绕x轴线俯仰旋转,绕y轴线翻滚旋转,和绕z轴线偏航旋转。
末端执行器力Fe1、Fe2在中间本体部分408c上产生最终线性力fi和/或力矩Mi。图4D示出了机器人400的分解视图,线性力fi和力矩Mi施加到中间本体部分408c。例如,使用力和扭矩传感器,上本体控制系统417b可确定线性力fi和力矩Mi并将该信息通信到下本体控制系统417a。如此,下本体控制系统417a可操作腿404、406,使得反作用力Fr1、Fr2可使得中间本体部分408c处的线性力fi和/或力矩Mi平衡。
如图5所示,上本体控制系统417b将线性力fi和力矩Mi通信到下本体控制系统417a。此外,下本体控制系统417a按照一个或多个自由度中的一组DoFA控制中间本体部分408c。同时,上本体控制系统417b按照一个或多个自由度的不包括这些DoFA的不同组DoFB来控制中间本体部分408c。
进而,下本体控制系统417a可使得线性力fi和/或力矩Mi在其随上本体部分408b的操作而变化时动态平衡。上本体控制系统417b通过对该变化进行通信而实现对线性力fi和力矩Mi的这种动态平衡。
因而,图6示出了用于操作下本体部分408a以支持通过上本体408b执行的活动的示例性过程500。在步骤502中,上本体控制系统417b操作末端执行器422、424中的至少一个。至少一个末端执行器422、424基于通过上本体控制系统417b进行的操作而经历末端执行器力Fe1、Fe2。中间本体部分408c基于末端执行器力Fe1、Fe2经历第一中间本体线性力fi或第一中间本体力矩Mi中的至少一个。在步骤504,上本体控制系统417b将与第一中间本体线性力fi和第一中间本体力矩Mi有关的信息通信到下本体控制系统。
在步骤506,下本体控制系统417a响应于至少一个可动末端执行器422、424的操作而操作一条或多条腿404、406。一条或多条腿404、406基于通过下本体控制系统417a做出的操作而从表面经历相应反作用力Fr1、Fr2。中间本体部分408c基于反作用力Fr1、Fr2经历第二中间本体线性力或第二中间本体力矩中的至少一个。通过下本体控制系统417a实现的一条或多条腿404、406的操作确定第二中间本体线性力和/或第二中间本体力矩。第二中间本体线性力抵消中间本体部分408c上的因末端执行器力Fe1、Fe2带来的第一中间线性力fi。第二中间本体力矩抵消中间本体部分408c上的因末端执行器力Fe1、Fe2带来的第一中间本体力矩Mi。
过程500也可以包括步骤506a,其中下本体控制系统417a基于一条或多条腿404、406的操作根据第一组自由度定位中间本体部分408c。相应地,过程500可以另外包括步骤502a,其中上本体控制系统417b响应于至少一个可动末端执行器422、424的操作而定位中间本体部分408c。通过上本体控制系统417b对中间本体部分408c的这种定位涉及根据第二组自由度运动。上本体控制系统417b被限制而不能根据第一组自由度定位中间本体部分。
虽然上本体控制系统417b可以直接与下本体控制系统417a通信,但是主控制器417c也可以有助于协调下本体控制系统417a和上本体控制系统417b之间的相互作用。例如,上本体控制系统417b可以做出计划以让末端执行器422、424运动到期望位置。主控制器417c可确定如果上本体控制系统417b试图让末端执行器422、424运动到期望位置那么是否可通过脚410、412的当前位置保持平衡。如平衡不能被保持,则主控制器417c可对下本体控制系统417a发出信号,以让脚410、412运动到新的位置,其允许末端执行器422、424更稳定地定位在目标位置。替换地,下本体控制系统417a可以确定机器人400是否应该运动到新的位置。
除了控制腿404、406的构件和关节以实现与给定位置中的脚410、412平衡,下本体控制系统417a也可以让脚410、412重新定位在表面上以改变反作用力Fr1和Fr2。重新定位脚410、412还可改变重力Fgr在脚410、412处产生的力矩。最终的反作用力Fr1和Fr2可以为机器人400产生更有效的平衡。
如上所述,上本体控制系统417b可通过下本体部分408a表现和处理为经由中间本体部分408c连接的虚拟链而控制上本体部分408b。有利地,虚拟链允许末端执行器422、424的定位和运动(速度)针对下本体部分408a的运动而被补偿(也称为位置保持(stationkeeping))。例如,如果上本体控制系统417b命令末端执行器422、424相对于世界中的一些静止物体以某一速度运动,则这种运动应导致下本体部分408a的一些动作,即使上本体控制系统417b不具有对下本体部分408a的直接控制(其首先用于处理平衡和行进)也是可以的。在这种情况下,下本体控制系统417a可估计虚拟链速度并将该速度传递到上本体控制系统417b,其可随后相应调整反向运动解算器419b。反向运动解算器419b可以使用虚拟链的速度以确定用于上本体部分408b的动作规划,其在静态世界坐标系中实现末端执行器422、424的期望速度。
虽然本文所述的例子可以响应于通过力/扭矩传感器检测到的末端执行器力实现动态平衡,但是动态平衡也可以基于预期或期望末端执行器力的计算而以其他实施方式实现。在这种实施方式中,下本体控制系统417a有利地先于任何平衡或定位错误发生之前对预期或期望的末端执行器力进行补偿。
进而,虽然本文所述的例子可以响应于被末端执行器支撑的载荷而实现动态平衡,但是动态平衡还可以在上本体部分额外或替换地承受其他载荷时以其他实施方式实现。例如,上本体部分可以在高速动作期间承受动态力,例如让臂、末端执行器或有效载荷加速所需的力。这种动态力还在中间本体部分上产生最终线性力和/或力矩,下本体控制也可通过反作用力平衡。
C.在机器人做出运动期间让下本体平衡以支持末端执行器的操作
下本体控制系统417a可另外控制反作用力Fr1和Fr2,以根据期望步态让机器人400运动。例如,并非让图4B所示地单独地控制腿404以让机器人400平衡,下本体控制系统417a还可操作腿406以将脚412置于表面上。最终的反作用力Fr2可产生相反的力矩Mr2,以让通过重力Fgr产生的力矩Mgr平衡。如此,将脚412放置在表面上以让力矩Mgr平衡可以构成步态中的一步伐。
一旦脚412被放置且机器人400平衡,则下本体控制系统417a可操作腿404、406以重新定位质量中心并通过重力Fgr产生另一力矩Mgr。力矩Mgr使得本体408向前倾倒,但是下本体控制系统417a可操作腿404以向前摆动脚410并将脚410放置在表面上。脚410上的最终反作用力Fr1产生使得力矩Mgr平衡的另一相反力矩Mr1。如此,将脚410放置在表面上构成第二步伐。替换地,通过脚410、412重复这些步能实现步态。如所述的,下本体控制系统417a可在使得本体408再次因下一个步伐向前倾倒之前通过每一个交替步伐建立平衡状态。
反作用力Fr1和Fr2不限于对重力Fgr的影响进行平衡。在每一个脚410、412接触表面时,下本体控制系统417a可以操作相应腿404、406,以向表面施加额外力。例如,腿410、412可以沿负y方向施加力。响应于该力,相应反作用力Fr1、Fr2的y分量沿正y方向作用在脚410、412上。该y分量是因脚410、412和表面之间的摩擦造成的。因而,地面反作用力Fr1、Fr2施加力,其可有助于将本体408向前沿正y方向推动。由此,沿负y方向施加力可以实现推离地面,以实现更快的步态。
另外或替换地,腿410、412可以沿正或负x方向向表面施加力。响应于该力,相应地面反作用力Fr1、Fr2的x分量沿相反的x方向作用在脚410、412上。该x分量是因脚410、412和表面之间的摩擦造成的。因而,反作用力Fr1、Fr2施加力,其可有助于沿正和/或负x方向横向推动本体408。
下本体控制系统417a可让本体408动态平衡,以允许在机器人400根据步态运动的同时定位和操作末端执行器422、424。实际上,机器人400可沿地面表面走步或跑步,且由于动态平衡,机器人400可同时操作臂418以定位末端执行器422,例如抓取物体,而不会中断步态。为了针对步态期间的给定时间的末端执行器422、422期望操作产生平衡,下本体控制系统417a可导致在机器人400根据步态运动时腿404、406受到/承受额外的力。为了实现期望的反作用力Fr1、Fr2以用于让本体408平衡和运动,下本体控制系统417a可以采用反向运动,以确定相应的速度,以使得腿404、406的构件和关节定位和取向。进而,下本体控制系统417a可动态调整脚410、412的定位/重新定位,以在如上所述的平衡过程期间保持步态。
结论
鉴于前述,机器人可操作其腿,以在操作其末端执行器时使得其本身在表面上动态平衡。在腿接触表面(例如地面表面)时,腿向表面施加力并从表面经历反作用力。机器人可动态控制腿,使得反作用力允许机器人保持能支持末端执行器操作的平衡。
虽然示例性实施方式可以包括两足机器人,但是其他构造可以包括能在上本体通过一个或多个末端执行器执行任务的同时提供动态平衡的下本体。此外,虽然如所述的例子描述了与末端执行器422、424关联的力Fe1、Fe2和力矩Me1、Me2,但是应理解机器人可以从机器人的其他部件处的载荷经历力和力矩。例如,机器人可以包括用于携带货物的接收部。机器人可实现通过类似地应对这些其他载荷而实现动态平衡。
参考附图,上文的详细描述已描述了所公开系统和方法的各种特征和功能。在图中,相似的附图标记通常表示相似的部件,除非另外说明其情况。详细说明、附图和权利要求中所述的示例性实施方式不是限制性的。可利用其他实施方式,且可做出其他改变,而不脱离本文给出的主题的范围。容易理解,本文通常所述且在图中示出的本发明的一些方面可以以各种不同构造布置、代替、组合、分离和设计,所有这些都属于本文的构思。
对于图中所示和本文所述的任何或所有消息流图、脚本、和流程图,每一个步骤、图块、和/或通信可代表根据示例性实施方式的信息处理和/或信息传递。替换实施方式也包括在这些示例性实施方式的范围内。例如,在这些替换实施方式中,被描述为步骤、图块、传递、通信、请求、响应、和/或消息的功能可按并非所示或所述的顺序来执行,包括基本上同时或以相反顺序,这取决于所涉及的功能。进一步地,更多或更少步骤、图块和/或功能可用于本文描述的任何消息流动图、脚本和流程图,且这些消息流动图、脚本和流程图可彼此部分或全部组合。
代表信息处理的步骤或图块可对应于电路,其可被配置为执行本文所述的方法或技术的具体逻辑功能。替换地或另外地,代表信息处理的步骤或图块可对应于程序代码的模块、段或一部分(包括相关数据)。程序代码可包括一个或多个指令,其被处理器执行以用于实施方法或技术中的具体逻辑功能或动作。程序代码和/或相关数据可存储在任何类型的计算机可读介质上,例如包括盘片驱动器、硬盘驱动器、或其他存储介质的存储装置。
计算机可读介质可包括非瞬时计算机可读介质,例如短期存储数据的计算机可读介质,如寄存器、处理器缓存、和/或随机访问存储器(RAM)。计算机可读介质也可以包括非瞬时计算机可读介质,其将程序代码和/或数据存储较长时间段,例如二次或长期存储器,如只读存储器(ROM)、光盘或磁盘、光盘只读存储器(CD-ROM)。计算机可读介质还可以是任何其他易失或非易失存储系统。计算机可读介质可被认为例如是计算机可读存储介质,或是有形存储装置。
而且,代表一个或多个信息传递的步骤或图块可对应于同一物理装置中的软件和/或硬件模块之间的信息传递。然而,其他信息传递可以是在不同物理装置中的软件模块和/或硬件模块之间的。
尽管已经在本文公开了各种方面和实施例,其他方面和实施例对本领域技术人员来说是明显的。公开本文的各种方面和实施例用于展示的的目的而不是限制性的,实际范围通过之后的权利要求给出。
Claims (60)
1.一种用于控制机器人系统的方法,该方法包括:
通过机器人系统的上本体控制系统操作机器人系统的上本体部分的可动末端执行器,以使可动末端执行器经历末端执行器力,并使机器人系统的中间本体部分基于末端执行器力经历第一中间本体线性力或第一中间本体力矩中的至少一个,中间本体部分将上本体部分联接到机器人系统的下本体部分,下本体部分包括配置成接触表面的腿;
将与第一中间本体线性力和第一中间本体力矩有关的信息从机器人系统的上本体控制系统通信到下本体控制系统;和
响应于操作可动末端执行器,通过下本体控制系统操作腿,以使腿经历来自表面的相应反作用力,并使中间本体部分基于相应反作用力经历第二中间本体线性力或第二中间本体力矩中的至少一个,腿的操作平衡第二中间本体线性力和第一中间本体线性力,并平衡第二中间本体力矩和第一中间本体力矩。
2.根据权利要求1所述的方法,还包括通过上本体控制系统将下本体部分抽象为联接到中间本体部分的虚拟链。
3.根据权利要求1所述的方法,进一步包括:
由下本体控制系统基于腿的操作使用第一组自由度来定位中间本体部分;和
由上本体控制系统基于可动末端执行器的操作使用第二组自由度来定位中间本体部分,上本体控制系统被限制而不使用第一组自由度来定位中间本体部分。
4.根据权利要求3所述的方法,其中:
使用第一组自由度来定位中间本体部分使得中间本体部分沿着第一轴线和第二轴线平移;和
使用第二组自由度来定位中间本体部分使得中间本体部分绕三个轴线旋转,并沿第三轴线平移中间本体部分。
5.如权利要求1所述的方法,其中,所述下本体部分包括两条腿,并且每一条腿包括配置成直接接触所述表面的相应脚,并且所述方法还包括:
针对每一只脚的给定位置,通过下本体控制系统确定第二中间本体线性力是否能够平衡第一中间本体线性力,以及第二中间本体力矩是否能够平衡第一中间本体力矩;和
响应于确定第二中间本体线性力不能平衡第一中间本体线性力或者第二中间本体力矩不能平衡第一中间本体力矩,通过下本体控制系统将至少一只脚重新定位在表面上。
6.根据权利要求5所述的方法,还包括通过下本体控制系统根据步态调整至少一只脚在表面上的重新定位。
7.根据权利要求1所述的方法,还包括让所述腿根据步态运动,其中在步态期间发生响应于可动末端执行器的操作而对所述腿进行的操作。
8.一种用于控制机器人系统的方法,该方法包括:
由机器人系统的上本体控制系统操作机器人系统的上本体部分,以基于上本体部分的操作使机器人系统的中间本体部分经历第一中间本体线性力或第一中间本体力矩中的至少一个,上本体部分包括可动末端执行器,且中间本体部分将上本体部分联接到机器人系统的下本体部分,下本体部分包括被配置为接触表面的腿;
响应于操作上本体部分,通过机器人系统的下本体控制系统操作下本体部分,以使腿经历来自表面的相应反作用力,并且中间本体部分经历基于相应反作用力的第二中间本体线性力或第二中间本体力矩中的至少一个,下本体部分的操作平衡第二中间本体线性力和第一中间本体线性力,并且平衡第二中间本体力矩和第一中间本体力矩;和
通过上本体控制系统使用第一组自由度来定位中间本体部分,
其中下本体控制系统被限制而不使用第一组自由度来定位中间本体部分。
9.根据权利要求8所述的方法,还包括通过上本体控制系统将下本体部分抽象为联接到中间本体部分的虚拟链。
10.根据权利要求8所述的方法,还包括通过下本体控制系统基于下本体部分的操作使用第二组自由度来定位中间本体部分。
11.根据权利要求10所述的方法,其中:
使用第二组自由度来定位中间本体部分使得中间本体部分沿着第一轴线和第二轴线平移;和
使用第一组自由度来定位中间本体部分使得中间本体部分绕三个轴旋转,并沿第三轴线平移中间本体部分。
12.如权利要求8所述的方法,其中,所述下本体部分包括两条腿,并且每一条腿包括配置成直接接触所述表面的相应的脚,并且所述方法还包括:
针对每一只脚的给定位置,通过下本体控制系统确定第二中间本体线性力是否能够平衡第一中间本体线性力,以及第二中间本体力矩是否能够平衡第一中间本体力矩;和
响应于确定第二中间本体线性力不能平衡第一中间本体线性力或者第二中间本体力矩不能平衡第一中间本体力矩,通过下本体控制系统将至少一只脚重新定位在表面上。
13.根据权利要求12所述的方法,还包括通过下本体控制系统根据步态调整至少一只脚在表面上的重新定位。
14.根据权利要求8所述的方法,还包括让所述腿根据步态运动,其中在步态期间发生响应于可动末端执行器的操作而对所述腿进行的操作。
15.一种机器人系统,包括:
本体,包括:
上本体部分,包括可动末端执行器;
下本体部分,包括四条腿,四条腿中的每一条腿被配置为接触表面;和
中间本体部分,联接上本体部分和下本体部分;和
控制系统,通过处理器构建,该控制系统被配置成:
操作可动末端执行器以操纵物体,可动末端执行器基于物体操纵经历末端执行器力,中间本体部分基于末端执行器力经历第一中间本体力;和
调整四条腿中的一条或多条腿相对于中间本体部分的取向,该一条或多条腿经历来自表面的相应反作用力,中间本体部分基于相应反作用力经历第二中间本体力,该调整至少部分地平衡第一中间本体力。
16.根据权利要求15所述的机器人系统,其中,所述控制系统包括上本体控制系统,所述上本体控制系统被配置为操作所述可动末端执行器,以操纵所述物体。
17.根据权利要求16所述的机器人系统,其中所述控制系统包括下本体控制系统,所述下本体控制系统被配置为:
从所述上本体控制系统接收与所述第一中间本体力有关的信息;和
通过上本体控制系统响应于可动末端执行器的操作来调整一条或多条腿的取向。
18.根据权利要求16所述的机器人系统,其中,所述上本体控制系统被配置为将所述下本体部分处理为联接到所述中间本体部分的虚拟链。
19.根据权利要求16所述的机器人系统,其中:
控制系统还被配置成基于所述一条或多条腿的取向使用第一组自由度来定位中间本体部分;
上本体控制系统还被配置成基于可动末端执行器的操作使用第二组自由度来定位中间本体部分;和
上本体控制系统被限制而不使用第一组自由度来定位中间本体部分。
20.根据权利要求15所述的机器人系统,其中,下本体控制系统操作所述一条或多条腿,以调整所述一条或多条腿相对于中间本体部分的方向。
21.根据权利要求15所述的机器人系统,其中:
四条腿中的每一条腿包括被配置为接触表面的相应脚;
针对每一只脚的给定位置,控制系统被配置成确定第二中间本体力是否至少部分平衡第一中间本体力;和
响应于确定第二中间本体力不能至少部分平衡第一中间本体力,控制系统将至少一只脚重新定位在表面上。
22.根据权利要求21所述的机器人系统,其中所述控制系统根据步态在所述表面上重新定位所述至少一只脚。
23.根据权利要求15所述的机器人系统,其中当一条或多条腿根据步态运动时,所述控制系统调整所述一条或多条腿的取向。
24.根据权利要求15所述的机器人系统,其中:
第一中间本体力包括第一中间本体线性力和第一中间本体力矩中的至少一个;
第二中间本体力包括第二中间本体线性力和第二中间本体力矩中的至少一个;和
控制系统调整所述一条或多条腿的取向,使得第二中间本体线性力至少部分地平衡第一中间本体线性力,并且第二中间本体力矩至少部分地平衡第一中间本体力矩。
25.一种用于控制机器人系统的方法,该机器人系统包括:
通过机器人系统的控制系统操作机器人系统的上本体部分的机器人系统的可动末端执行器,以操纵物体,物体操纵使得可动末端执行器经历末端执行器力,并且使得机器人系统的中间本体部分经历基于末端执行器力的第一中间本体力,中间本体部分将上本体部分联接到机器人系统的下本体部分,下本体部分包括四条腿,四条腿中的每一条腿被配置为接触表面,四条腿中的一条或多条腿经历来自表面的相应反作用力,中间本体部分基于相应反作用力经历第二中间本体力;和
响应于可动末端执行器的操作,用控制系统调整四条腿中的一条或多条腿的取向,使得第二中间本体力至少部分平衡第一中间本体力。
26.根据权利要求25所述的方法,其中,所述控制系统包括上本体控制系统,所述上本体控制系统被配置为操作所述可动末端执行器,以操纵所述物体。
27.根据权利要求26所述的方法,其中所述控制系统包括下本体控制系统,所述下本体控制系统被配置为:
从所述上本体控制系统接收与所述第一中间本体力有关的信息;和
响应于可动末端执行器的操作通过上本体控制系统来调整一条或多条腿的取向。
28.根据权利要求26所述的方法,其中,所述上本体控制系统被配置为将所述下本体部分处理为联接到所述中间本体部分的虚拟链。
29.根据权利要求26所述的方法,其中:
控制系统还被配置成基于一条或多条腿的取向使用第一组自由度来定位中间本体部分;
上本体控制系统还被配置成基于可动末端执行器的操作使用第二组自由度来定位中间本体部分;和
上本体控制系统被限制而不使用第一组自由度来定位中间本体部分。
30.根据权利要求26所述的方法,其中下本体控制系统操作一条或多条腿以调整一条或多条腿相对于中间本体部分的取向。
31.根据权利要求26所述的方法,其中:
四条腿中的每一条腿包括被配置为接触表面的相应的脚;
针对每一只脚的给定位置,控制系统被配置成确定第二中间本体力是否至少部分平衡第一中间本体力;和
响应于确定第二中间本体力不能至少部分平衡第一中间本体力,控制系统将至少一只脚重新定位在表面上。
32.根据权利要求31所述的方法,其中所述控制系统根据步态在所述表面上重新定位所述至少一只脚。
33.根据权利要求26所述的方法,其中当所述一条或多条腿根据步态运动时,控制系统调整一条或多条腿的取向。
34.根据权利要求26所述的方法,其中:
第一中间本体力包括第一中间本体线性力和第一中间本体力矩中的至少一个;
第二中间本体力包括第二中间本体线性力和第二中间本体力矩中的至少一个;和
控制系统调整所述一条或多条腿的取向,使得第二中间本体线性力至少部分地平衡第一中间本体线性力,并且第二中间本体力矩至少部分地平衡第一中间本体力矩。
35.一种机器人系统,包括:
本体,包括:
上本体部分;
下本体部分,包括两条或更多条腿,并且每一条腿包括被配置为接触表面的脚;和
中间本体部分,联接上本体部分和下本体部分;和
控制系统,通过一个或多个处理器配置,该控制系统包括
上本体控制系统,被配置为操作上本体部分,上本体部分基于通过上本体控制系统做出的操作而经历上本体力,且中间本体部分基于上本体力经历第一中间本体线性力或第一中间本体力矩中的至少一个;和
下本体控制系统,被配置为操作所述一条或多条腿,以根据步态调整脚在表面上的定位,所述一条或多条腿基于通过下本体控制系统做出的操作而经历来自表面的相应反作用力,所述中间本体部分基于相应反作用力经历第二中间本体线性力或第二中间本体力矩中的至少一个,
其中下本体控制系统操作一条或多条腿,使得第二中间本体线性力平衡第一中间本体线性力,并且第二中间本体力矩平衡第一中间本体力矩。
36.根据权利要求35所述的机器人系统,其中,所述上本体部分包括一个或多个可动末端执行器,并且所述上本体控制系统被配置为通过让所述一个或多个可动末端执行器中的至少一个运动,来操作所述上本体部分,所述一个或多个可动末端执行器中的至少一个基于通过所述上本体控制系统做出的操作而经历末端执行器力,并且所述第一中间本体线性力或第一中间本体力矩中的至少一个基于所述末端执行器力。
37.根据权利要求36所述的机器人系统,其中,当所述一条或多条腿根据步态运动时,下本体控制系统响应一个或多个可动末端执行器中至少一个的运动来操作所述一条或多条腿。
38.根据权利要求35所述的机器人系统,其中,上本体控制系统在操作上本体部分之前确定上本体力、第一中间本体线性力和第一中间本体力矩,并且下本体控制系统基于在操作上本体部分之前确定的第一中间本体线性力和第一中间本体力矩来操作所述一条或多条腿。
39.根据权利要求35所述的机器人系统,其中,所述上本体控制系统将与所述第一中间本体线性力和所述第一中间本体力矩有关的信息通信给所述下本体控制系统。
40.如权利要求35所述的机器人系统,其中,所述下本体控制系统还被配置成基于所述一条或多条腿的操作根据第一组自由度来定位所述中间本体部分,所述上本体控制系统还被配置成基于上本体部分的操作根据第二组自由度来定位所述中间本体部分,并且所述上本体控制系统被限制而不根据第一组自由度来定位所述中间本体部分。
41.根据权利要求35所述的机器人系统,其中:
针对脚的给定位置,控制系统确定第二中间本体线性力是否能够平衡第一中间本体线性力,以及第二中间本体力矩是否能够平衡第一中间本体力矩,并且
响应于确定第二中间本体线性力不能平衡第一中间本体线性力或者第二中间本体力矩不能平衡第一中间本体力矩,下本体控制系统将所述至少一只脚重新定位在表面上。
42.一种用于控制机器人系统的方法,该机器人系统包括本体,该本体包括:
上本体部分;
下本体部分,包括两条或更多条腿,并且每一条腿包括被配置为接触表面的脚;和
中间本体部分,联接上本体部分和下本体部分,
控制系统,通过一个或多个处理器配置,该控制系统包括下本体控制系统和上本体控制系统,
该方法包括:
通过上本体控制系统操作上本体部分,上本体部分基于通过上本体控制系统做出的操作而经历上本体力,中间本体部分基于上本体部分经历第一中间本体线性力或第一中间本体力矩中的至少一个;和
通过下本体控制系统操作所述一条或多条腿,以根据步态调整脚在表面上的定位,一条或多条腿基于通过下本体控制系统做出的操作而经历来自表面的相应反作用力,中间本体部分基于相应反作用力经历第二中间本体线性力或第二中间本体力矩中的至少一个,
其中下本体控制系统操作所述一条或多条腿,使得第二中间本体线性力平衡第一中间本体线性力,并且第二中间本体力矩平衡第一中间本体力矩。
43.根据权利要求42所述的方法,其中,所述上本体部分包括一个或多个可动末端执行器,所述操作还包括通过上本体控制系统操作一个或多个可动末端执行器中的至少一个,一个或多个可动末端执行器中的所述至少一个经历基于上本体控制系统操作的末端执行器力,其中第一中间本体线性力或第一中间本体力矩中的至少一个基于末端执行器力。
44.根据权利要求43所述的方法,其中,在步态期间发生至少一个末端执行器的操作。
45.根据权利要求42所述的方法,其中,所述操作还包括将与第一中间本体线性力和第一中间本体力矩有关的信息从上本体控制系统通信到下本体控制系统。
46.根据权利要求42所述的方法,其中,所述操作还包括在操作上本体部分之前,通过上本体控制系统确定上本体力、第一中间本体线性力和第一中间本体力矩,并且下本体控制系统基于在操作上本体部分之前确定的第一中间本体线性力和第一中间本体力矩来操作所述一条或多条腿。
47.根据权利要求42所述的方法,其中所述操作进一步包括:
通过下本体控制系统,基于一条或多条腿的操作根据第一组自由度来定位中间本体部分;和
通过上本体控制系统,基于上本体部分的操作根据第二组自由度来定位中间本体部分,
其中上本体控制系统被限制而不根据第一组自由度来定位中间本体部分。
48.根据权利要求42所述的方法,其中所述操作进一步包括:
针对脚的给定位置,通过控制系统确定第二中间本体线性力是否能平衡第一中间本体线性力,以及第二中间本体力矩是否能平衡第一中间本体力矩;和
响应于确定第二中间本体线性力不能平衡第一中间本体线性力或者第二中间本体力矩不能平衡第一中间本体力矩,通过下本体控制系统将至少一只脚重新定位在表面上。
49.一种机器人系统,包括:
本体,包括:
上本体部分;
下本体部分,包括被配置为接触表面的一条或多条腿;和
中间本体部分,联接上本体部分和下本体部分;和
控制系统,通过一个或多个处理器配置,该控制系统包括:
上本体控制系统,被配置为操作上本体部分,上本体部分基于通过上本体控制系统做出的操作而经历上本体力,中间本体部分基于上本体力经历第一中间本体线性力或第一中间本体力矩中的至少一个;和
下本体控制系统,被配置为基于第一中间本体线性力或第一中间本体力矩操作一条或多条腿,一条或多条腿基于通过下本体控制系统做出的操作而经历来自表面的相应反作用力,中间本体部分基于相应反作用力经历第二中间本体线性力或第二中间本体力矩中的至少一个,其中
下本体控制系统还被配置成基于所述一条或多条腿的操作根据第一组自由度来定位中间本体部分,上本体控制系统还被配置成基于上本体部分的操作根据第二组自由度来定位中间本体部分,并且上本体控制系统被限制而不根据第一组自由度来定位中间本体部分。
50.根据权利要求49所述的机器人系统,其中,所述上本体控制系统将与所述第一中间本体线性力和所述第一中间本体力矩有关的信息传送给所述下本体控制系统。
51.根据权利要求49所述的机器人系统,其中所述下本体控制系统操作所述一条或多条腿,使得所述第二中间本体线性力平衡所述第一中间本体线性力,并且所述第二中间本体力矩平衡所述第一中间本体力矩。
52.根据权利要求51所述的机器人系统,其中,所述下本体部分包括两条腿,每一条腿包括一只脚,用于直接接触地面,
针对脚的给定位置,控制系统确定第二中间本体线性力是否能够平衡第一中间本体线性力,以及第二中间本体力矩是否能够平衡第一中间本体力矩,并且
响应于确定第二中间本体线性力不能平衡第一中间本体线性力或者第二中间本体力矩不能平衡第一中间本体力矩,下本体控制系统将至少一只脚重新定位在表面上。
53.根据权利要求52所述的机器人系统,其中,所述下本体控制系统根据步态调整所述至少一只脚的重新定位。
54.根据权利要求49所述的机器人系统,其中所述上本体部分包括一个或多个可动末端执行器,并且所述上本体控制系统被配置为通过让所述一个或多个可动末端执行器中的至少一个运动,来操作所述上本体部分,所述一个或多个可动末端执行器中的至少一个基于通过所述上本体控制系统做出的操作而经历末端执行器力,并且所述第一中间本体线性力或第一中间本体力矩中的至少一个基于所述末端执行器力。
55.一种用于控制机器人系统的方法,该机器人系统包括本体,该本体包括:
上本体部分;
下本体部分,包括被配置为接触表面的一条或多条腿;
中间本体部分,联接上本体部分和下本体部分;和
控制系统,通过一个或多个处理器配置,该控制系统包括下本体控制系统和上本体控制系统,
该方法包括:
通过上本体控制系统操作上本体部分,上本体部分基于通过上本体控制系统做出的操作而经历上本体力,中间本体部分基于上本体力经历第一中间本体线性力或第一中间本体力矩中的至少一个;和
通过下本体控制系统基于第一中间本体线性力或第一中间本体力矩操作所述一条或多条腿,所述一条或多条腿基于通过下本体控制系统做出的操作而经历来自表面的相应反作用力,中间本体部分基于相应反作用力经历第二中间本体线性力或第二中间本体力矩中的至少一个;
通过下本体控制系统基于一条或多条腿的操作根据第一组自由度来定位中间本体部分;和
通过上本体控制系统基于上本体部分的操作根据第二组自由度来定位中间本体部分,
其中上本体控制系统被限制而不根据第一组自由度来定位中间本体部分。
56.根据权利要求55所述的方法,其中,所述方法还包括将与第一中间本体线性力和第一中间本体力矩有关的信息从上本体控制系统通信到下本体控制系统。
57.根据权利要求55所述的方法,其中操作所述一条或多条腿能平衡第二中间本体线性力和第一中间本体线性力,并平衡第二中间本体力矩和第一中间本体力矩。
58.根据权利要求55所述的方法,其中:
下本体部分包括两条腿,并且每一条腿包括被配置成直接接触表面的脚;和
该方法进一步包括:
针对脚的给定位置,通过控制系统确定,第二中间本体线性力是否能够平衡第一中间本体线性力,以及第二中间本体力矩是否能够平衡第一中间本体力矩;和
响应于确定第二中间本体线性力不能平衡第一中间本体线性力或者第二中间本体力矩不能平衡第一中间本体力矩,通过下本体控制系统将所述至少一只脚重新定位在表面上。
59.根据权利要求58所述的方法,其中所述至少一只脚的重新定位是根据步态进行的。
60.根据权利要求55所述的方法,其中:
上本体部分包括一个或多个可运动的末端执行器;和
操作上本体部分包括如一个或多个可动末端执行器中的至少一个末端执行器运动,该至少一个末端执行器基于通过上本体控制系统做出的操作而经历末端执行器力,并且第一中间本体线性力或第一中间本体力矩中的至少一个基于末端执行器力。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/377,559 | 2016-12-13 | ||
US15/377,559 US10351189B2 (en) | 2016-12-13 | 2016-12-13 | Whole body manipulation on a legged robot using dynamic balance |
CN201780075045.7A CN110035872B (zh) | 2016-12-13 | 2017-12-06 | 机器人系统和用于控制机器人系统的方法 |
PCT/US2017/064939 WO2018111653A1 (en) | 2016-12-13 | 2017-12-06 | Whole body manipulation on a legged robot using dynamic balance |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780075045.7A Division CN110035872B (zh) | 2016-12-13 | 2017-12-06 | 机器人系统和用于控制机器人系统的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114800509A true CN114800509A (zh) | 2022-07-29 |
Family
ID=60782391
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780075045.7A Active CN110035872B (zh) | 2016-12-13 | 2017-12-06 | 机器人系统和用于控制机器人系统的方法 |
CN202210480461.8A Pending CN114800509A (zh) | 2016-12-13 | 2017-12-06 | 机器人系统和用于控制机器人系统的方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780075045.7A Active CN110035872B (zh) | 2016-12-13 | 2017-12-06 | 机器人系统和用于控制机器人系统的方法 |
Country Status (5)
Country | Link |
---|---|
US (3) | US10351189B2 (zh) |
EP (3) | EP3875229B1 (zh) |
JP (3) | JP6823172B2 (zh) |
CN (2) | CN110035872B (zh) |
WO (1) | WO2018111653A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9594377B1 (en) * | 2015-05-12 | 2017-03-14 | Google Inc. | Auto-height swing adjustment |
CA3026002C (en) | 2016-09-06 | 2021-04-20 | Advanced Intelligent Systems Inc. | Mobile work station for transporting a plurality of articles |
US10351189B2 (en) * | 2016-12-13 | 2019-07-16 | Boston Dynamics, Inc. | Whole body manipulation on a legged robot using dynamic balance |
CN109987169B (zh) * | 2017-12-29 | 2021-01-08 | 深圳市优必选科技有限公司 | 双足机器人的步态控制方法、装置、终端设备及介质 |
WO2019157587A1 (en) | 2018-02-15 | 2019-08-22 | Advanced Intelligent Systems Inc. | Apparatus for supporting an article during transport |
US10745219B2 (en) | 2018-09-28 | 2020-08-18 | Advanced Intelligent Systems Inc. | Manipulator apparatus, methods, and systems with at least one cable |
US10751888B2 (en) | 2018-10-04 | 2020-08-25 | Advanced Intelligent Systems Inc. | Manipulator apparatus for operating on articles |
US10966374B2 (en) | 2018-10-29 | 2021-04-06 | Advanced Intelligent Systems Inc. | Method and apparatus for performing pruning operations using an autonomous vehicle |
US10645882B1 (en) | 2018-10-29 | 2020-05-12 | Advanced Intelligent Systems Inc. | Method and apparatus for performing pruning operations using an autonomous vehicle |
US10676279B1 (en) | 2018-11-20 | 2020-06-09 | Advanced Intelligent Systems Inc. | Systems, methods, and storage units for article transport and storage |
CN112847354B (zh) * | 2020-12-31 | 2022-05-17 | 国网智能科技股份有限公司 | 变电站足式机器人姿态调整方法、控制器、系统及机器人 |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6130385A (ja) | 1984-07-17 | 1986-02-12 | 工業技術院長 | ロボツト |
US5550953A (en) | 1994-04-20 | 1996-08-27 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | On-line method and apparatus for coordinated mobility and manipulation of mobile robots |
WO1998026905A1 (fr) * | 1996-12-19 | 1998-06-25 | Honda Giken Kogyo Kabushiki Kaisha | Controleur d'attitude de robot mobile sur jambes |
JP3672426B2 (ja) * | 1996-12-19 | 2005-07-20 | 本田技研工業株式会社 | 脚式移動ロボットの姿勢制御装置 |
JP3435666B2 (ja) * | 1999-09-07 | 2003-08-11 | ソニー株式会社 | ロボット |
JP3443077B2 (ja) * | 1999-09-20 | 2003-09-02 | ソニー株式会社 | ロボットの運動パターン生成装置及び運動パターン生成方法、並びにロボット |
JP3682525B2 (ja) * | 2001-06-07 | 2005-08-10 | 独立行政法人科学技術振興機構 | 二脚歩行式人型ロボット |
JP3833567B2 (ja) * | 2002-05-01 | 2006-10-11 | 本田技研工業株式会社 | 移動ロボットの姿勢制御装置 |
JP3674787B2 (ja) * | 2002-10-10 | 2005-07-20 | ソニー株式会社 | ロボット装置の動作制御装置及び動作制御方法、並びにコンピュータ・プログラム |
JP3599244B2 (ja) | 2002-11-06 | 2004-12-08 | ソニー株式会社 | ロボット装置、ロボット装置の運動制御装置並びに運動制御方法 |
DE602004029256D1 (de) * | 2003-06-27 | 2010-11-04 | Honda Motor Co Ltd | Gangerzeugungsvorrichtung für beweglichen roboter mit beinen |
JP4592276B2 (ja) | 2003-10-24 | 2010-12-01 | ソニー株式会社 | ロボット装置のためのモーション編集装置及びモーション編集方法、並びにコンピュータ・プログラム |
US7603199B2 (en) * | 2003-11-27 | 2009-10-13 | Honda Motor Co., Ltd. | Control device for mobile body |
JP4513320B2 (ja) | 2003-12-17 | 2010-07-28 | ソニー株式会社 | ロボット装置、並びにロボット装置の運動制御方法 |
KR101121020B1 (ko) * | 2004-01-13 | 2012-03-15 | 혼다 기켄 고교 가부시키가이샤 | 이동 로봇의 보용생성 장치 |
WO2005098733A2 (en) | 2004-03-31 | 2005-10-20 | Honda Motor Co., Ltd. | Systems and methods for controlling a legged robot based on rate of change of angular momentum |
US7734377B2 (en) * | 2004-10-15 | 2010-06-08 | Honda Motor Co., Ltd. | Gait generator of legged mobile robot |
JP2006116672A (ja) | 2004-10-22 | 2006-05-11 | Tohoku Univ | 2脚ロボットの歩行制御装置および歩行制御方式 |
JP4440761B2 (ja) * | 2004-12-24 | 2010-03-24 | 本田技研工業株式会社 | 脚式移動ロボットの制御装置 |
KR101198179B1 (ko) | 2005-01-17 | 2012-11-16 | 삼성전자주식회사 | 핸들링 로봇의 정적 처짐 보정방법 및 장치 |
US7835822B2 (en) | 2005-03-30 | 2010-11-16 | Honda Motor Co., Ltd. | Systems and methods for controlling a legged robot using a two-phase disturbance response strategy |
JP2007007797A (ja) * | 2005-07-01 | 2007-01-18 | Toyota Motor Corp | 歩行ロボット |
JP4641252B2 (ja) * | 2005-12-12 | 2011-03-02 | 本田技研工業株式会社 | 脚式移動ロボットの歩容生成装置 |
JP4463221B2 (ja) | 2006-03-01 | 2010-05-19 | 株式会社クボタ | 旋回作業機 |
KR20090126038A (ko) * | 2008-06-03 | 2009-12-08 | 삼성전자주식회사 | 보행 로봇 및 그 제어 방법 |
US8428781B2 (en) | 2008-11-17 | 2013-04-23 | Energid Technologies, Inc. | Systems and methods of coordination control for robot manipulation |
KR101665543B1 (ko) * | 2009-08-12 | 2016-10-13 | 삼성전자 주식회사 | 인간형 로봇의 안정화 장치 및 그 방법 |
US8924015B2 (en) | 2009-09-14 | 2014-12-30 | Honda Motor Co., Ltd. | Whole-body humanoid control from upper-body task specifications |
WO2011056633A1 (en) | 2009-10-27 | 2011-05-12 | Battelle Memorial Institute | Semi-autonomous multi-use robot system and method of operation |
JP5284923B2 (ja) * | 2009-10-28 | 2013-09-11 | 本田技研工業株式会社 | 脚式移動ロボットの制御装置 |
US9586471B2 (en) * | 2013-04-26 | 2017-03-07 | Carla R. Gillett | Robotic omniwheel |
KR20110082394A (ko) * | 2010-01-11 | 2011-07-19 | 삼성전자주식회사 | 보행 로봇 및 그 제어 방법 |
WO2011106543A1 (en) | 2010-02-25 | 2011-09-01 | Honda Motor Co., Ltd. | A momentum-based balance controller for humanoid robots on non-level and non-stationary ground |
US8457830B2 (en) * | 2010-03-22 | 2013-06-04 | John R. Goulding | In-line legged robot vehicle and method for operating |
JP5895628B2 (ja) | 2012-03-15 | 2016-03-30 | 株式会社ジェイテクト | ロボットの制御方法及びロボット制御装置、並びにロボット制御システム |
JP5616476B2 (ja) | 2013-03-29 | 2014-10-29 | ファナック株式会社 | バランサ装置を備える産業用ロボット |
JP6097174B2 (ja) | 2013-08-05 | 2017-03-15 | 株式会社東芝 | ロボット制御装置 |
ITTO20130828A1 (it) | 2013-10-14 | 2015-04-15 | Fond Istituto Italiano Di Tecnologia | Sistema di controllo del movimento di tutto il corpo basato su attrattori per un robot articolato |
CN104608128A (zh) | 2013-11-01 | 2015-05-13 | 精工爱普生株式会社 | 机器人、控制装置、机器人系统、以及机器人控制方法 |
US9292786B2 (en) | 2014-02-03 | 2016-03-22 | Disney Enterprises, Inc. | Universal balancing controller for lateral stabilization of bipedal robots in dynamic unstable environments |
US9517561B2 (en) * | 2014-08-25 | 2016-12-13 | Google Inc. | Natural pitch and roll |
JP6356033B2 (ja) * | 2014-09-29 | 2018-07-11 | 本田技研工業株式会社 | 移動体の制御装置 |
JP6450279B2 (ja) * | 2015-08-05 | 2019-01-09 | 本田技研工業株式会社 | 移動ロボットの目標zmp軌道の生成装置 |
US10351189B2 (en) * | 2016-12-13 | 2019-07-16 | Boston Dynamics, Inc. | Whole body manipulation on a legged robot using dynamic balance |
-
2016
- 2016-12-13 US US15/377,559 patent/US10351189B2/en active Active
-
2017
- 2017-12-06 JP JP2019521396A patent/JP6823172B2/ja active Active
- 2017-12-06 CN CN201780075045.7A patent/CN110035872B/zh active Active
- 2017-12-06 EP EP21169858.4A patent/EP3875229B1/en active Active
- 2017-12-06 CN CN202210480461.8A patent/CN114800509A/zh active Pending
- 2017-12-06 WO PCT/US2017/064939 patent/WO2018111653A1/en unknown
- 2017-12-06 EP EP17818404.0A patent/EP3554773B1/en active Active
- 2017-12-06 EP EP23209082.9A patent/EP4296151A2/en active Pending
-
2019
- 2019-06-06 US US16/433,779 patent/US11667343B2/en active Active
-
2021
- 2021-01-07 JP JP2021001564A patent/JP6979140B2/ja active Active
- 2021-11-12 JP JP2021184675A patent/JP7469282B2/ja active Active
-
2023
- 2023-04-26 US US18/307,467 patent/US20230303193A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
WO2018111653A1 (en) | 2018-06-21 |
JP2021059011A (ja) | 2021-04-15 |
US11667343B2 (en) | 2023-06-06 |
EP3875229B1 (en) | 2023-11-22 |
EP3875229A1 (en) | 2021-09-08 |
CN110035872A (zh) | 2019-07-19 |
JP6823172B2 (ja) | 2021-01-27 |
EP3554773A1 (en) | 2019-10-23 |
CN110035872B (zh) | 2022-05-03 |
US10351189B2 (en) | 2019-07-16 |
US20230303193A1 (en) | 2023-09-28 |
JP7469282B2 (ja) | 2024-04-16 |
US20190283822A1 (en) | 2019-09-19 |
EP3554773B1 (en) | 2021-06-09 |
EP4296151A2 (en) | 2023-12-27 |
JP6979140B2 (ja) | 2021-12-08 |
JP2020501918A (ja) | 2020-01-23 |
JP2022020784A (ja) | 2022-02-01 |
US20180162469A1 (en) | 2018-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110035872B (zh) | 机器人系统和用于控制机器人系统的方法 | |
US11851120B2 (en) | Control of robotic devices with non-constant body pitch | |
Liljeback et al. | Snake robot locomotion in environments with obstacles | |
JP6628857B2 (ja) | 撓みベースのトルクセンサ | |
Xu et al. | Method for six-legged robot stepping on obstacles by indirect force estimation | |
US9555846B1 (en) | Pelvis structure for humanoid robot | |
Jatsun et al. | Bio-inspired adaptive control strategy for a snake-like robot | |
Fernando et al. | Model-Based Simulation of a Mini Differential Drive Robot | |
Magdaleno et al. | Experiences for a user-friendly operation of Cassino Hexapod III | |
Walas et al. | Control and environment sensing system for a six-legged robot | |
Adachi et al. | Control of a manipulator mounted on a quadruped | |
US9994269B1 (en) | Rotatable extension for robot foot | |
Panagou et al. | Modeling of a hexapod robot; kinematic equivalence to a unicycle | |
US20240181635A1 (en) | Robot movement and interaction with massive bodies | |
Vona et al. | RPBP: Rapid-prototyped remote-brain BiPed with 3D perception | |
Ferreira | Hybrid Robot With Leg & Wheel Locomotion | |
Wang et al. | Balance Control of Quadruped Robot under External Disturbance using Quadratic Programming and Impedance Control | |
Abdessemed et al. | Trajectory generation for mobile manipulators | |
Mahata et al. | Modeling and Simulation of a Near Omni-Directional Hexapod Robot | |
Zielinska | Control systems of autonomous robots | |
Mustafa | Human-Mobile Manipulator Cooperation in Unknown Rough Terrains |
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 |