本申请是以下申请的分案申请:申请号:201580032432.3;申请日:2015年08月14日;发明名称:自然的俯仰和滚动。
本申请涉及机器人及其操作方法。
背景技术:
随着技术的进步,正在创造各种类型的机器人装置用于执行可以辅助用户的各种功能。机器人装置可以用于包括材料处理,运输,焊接,组装和分配等的应用。随着时间的推移,这些机器人系统操作的方式变得更加智能,高效和直观。随着机器人系统在现代生活的许多方面变得越来越普遍,期望机器人系统是有效的。因此,对有效的机器人系统的需求已经帮助开创了致动器,运动,感测技术以及部件设计和组装的创新领域。
技术实现要素:
本申请公开了涉及控制机器人装置的腿的位置以平衡机器人装置的实施方式。示例性实施方式可以包括由机器人接收指示与连接到机器人的多个传感器相对应的各个关节角度的多个第一测量值。机器人可以包括身体和连接到身体的多个关节肢体。关节肢体可以与相应的属性相关联。实施方式还可以包括接收指示机器人的身体的取向的身体取向测量值。实施方式可以进一步包括基于与机器人的关节肢体相关联的属性确定所述多个第一测量值和身体取向测量值之间的关系。另外,实施方式可以包括基于多个第一测量值,身体取向测量值和确定的关系来估计机器人的总体取向。此外,实施方式可以包括基于机器人的估计的总体取向来提供指令以控制机器人的至少一个关节肢体。
在另一示例性实施方式中,本申请描述了一种机器人,其可以包括身体,连接到身体的多个关节肢体,多个第一传感器,第二传感器,处理系统和控制系统。关节肢体可以与相应的属性相关联。多个第一传感器可以配置为提供指示关节肢体的相应关节角度的多个第一测量值。第二传感器可以配置为提供指示机器人的身体的取向的身体取向测量值。第二传感器可以联接到身体。处理系统可以配置为基于与关节肢体相关联的属性来确定所述多个第一测量值和所述身体取向测量值之间的关系。处理系统还可以配置为基于所述多个第一测量值,身体取向测量值和确定的关系来估计机器人的总体取向。控制系统可以配置为基于机器人的估计的总体取向来提供指令以控制机器人的至少一个关节肢体。
在另一示例性实施方式中,本申请描述了一种非暂时性计算机可读介质,其具有在其上存储的指令,该指令在由至少一个处理器执行时使机器人执行一组操作。操作可以包括接收指示与连接到机器人的多个传感器相对应的各个关节角度的多个第一测量值。机器人可以包括身体和连接到身体的多个关节肢体。关节肢体可以与相应的属性相关联。操作还可以包括接收指示机器人的一部分的取向的身体取向测量值,其中机器人的该部分对应于特定的参照系。操作还可以包括基于与机器人的关节肢体相关联的属性确定多个第一测量值和身体取向测量值之间的关系。另外,操作可以包括基于多个第一测量值,身体取向测量值和确定的关系来估计机器人的总体取向。此外,操作可以包括基于机器人的估计的总体取向来提供指令以控制机器人的至少一个关节肢体。
在又一实施方式中,本申请描述了一种系统。系统可以包括用于由机器人接收指示与连接到机器人的多个传感器相对应的各个关节角度的多个第一测量值的器件。机器人可以包括身体和连接到身体的多个关节肢体。关节肢体可以与相应的属性相关联。系统还可以包括用于接收指示机器人的身体的取向的身体取向测量值的器件。系统还可以包括用于基于与机器人的关节肢体相关联的属性确定多个第一测量值和身体取向测量值之间的关系的器件。另外,系统可以包括用于基于多个第一测量值,身体取向测量值和确定的关系来估计机器人的总体取向的器件。此外,系统可以包括用于基于机器人的估计的总体取向来提供指令以控制机器人的至少一个关节肢体的器件。
根据本申请的实施例,提供一种方法,其包括:在处理系统处从连接到机器人的多个传感器接收多个测量,所述多个测量指示连接到机器人的身体的关节连接的肢体(jointedlimbs)的各个关节角度;在处理系统处接收指示机器人的身体的取向的身体取向测量;由处理系统基于所述多个测量、所述身体取向测量以及将关节角度与机器人的总体取向相关联的关系来估计机器人的未来总体取向,所述机器人的总体取向包括横摆角,俯仰角和滚动角;由处理系统确定机器人的未来估计的总体取向是不稳定的;以及响应于确定未来估计的总体取向是不稳定的或将变得不稳定中的一种,由处理系统提供指令以控制关节连接的肢体中的至少一个使机器人在机器人采取未来估计的总体取向之前采取经校正的总体取向,所述经校正的总体取向比未来估计的总体取向更稳定。
根据本申请的实施例,提供一种机器人,其包括:多个关节连接的肢体;多个传感器;一个或多个处理器,与所述多个传感器通信;以及存储器,与所述一个或多个处理器通信,所述存储器包括计算机可读指令,当所述一个或多个处理器执行所述指令时,使所述机器人执行操作,所述操作包括:接收指示连接到机器人的身体的关节连接的肢体的各个关节角度的多个测量;接收指示机器人的身体的取向的身体取向测量;基于所述多个测量、所述身体取向测量以及将关节角度与机器人的总体取向相关联的关系来估计机器人的未来总体取向,所述机器人的总体取向包括横摆角,俯仰角和滚动角;确定机器人的未来估计的总体取向是不稳定的;以及响应于确定未来估计的总体取向是不稳定的或将变得不稳定中的一种,指示控制关节连接的肢体中的至少一个使机器人在机器人采取未来估计的总体取向之前采取经校正的总体取向,所述经校正的总体取向比未来估计的总体取向更稳定。
通过适当地参考附图阅读下面的详细描述,这些以及其它方面,优点和替代对于本领域的普通技术人员将变得显而易见。
附图说明
图1示出了根据示例性实施方式的机器人系统的配置。
图2示出了根据示例性实施方式的四足机器人的透视图。
图3示出了根据示例性实施方式的四足机器人的透视图。
图4示出了根据示例性实施方式的双足机器人的透视图。
图5a示出了根据示例性实施方式的双足机器人的姿态。
图5b示出了根据示例性实施方式的双足机器人的简化表示。
图5c示出了根据示例性实施方式的双足机器人的姿态。
图5d示出了根据示例性实施方式的双足机器人的简化表示。
图6是根据示例性实施方式的流程图。
图7是根据示例性实施方式配置的计算机可读介质。
具体实施方式
以下详细描述参考附图描述了所公开的系统和方法的各种特征和功能。本文描述的说明性系统和方法实施方式不意味着限制。可以容易地理解,公开的系统和方法的某些方面可以以各种各样的不同配置来布置和组合,所有这些都在本文中考虑。
i.概述
示例性实施方式包括配置有至少一个机器人肢体,传感器和处理系统的机器人装置。机器人肢体可以是铰接的机器人附件,包括通过关节连接的多个构件。机器人肢体还可以包括联接到肢体的构件的多个致动器(例如2-5个致动器),其促使机器人肢体在由连接构件的关节限制的运动范围内的运动。传感器可以配置为测量机器人装置的属性,如关节的角度,致动器内的压力,和/或在给定时间点的机器人肢体的位置,速度和加速度。传感器还可以配置为测量机器人装置的身体(在本文中也可以称为机器人装置的“基部”)的取向(即身体取向测量值)。其它示例性属性包括机器人装置的各种部件的质量,机器人装置或机器人装置的各种部件的质心的位置,机器人装置或机器人装置的部件的惯性矩等。机器人装置的处理系统可以直接地从角度传感器信息或间接地从可以计算关节角度的其它传感器信息来确定机器人肢体的关节的角度。然后,处理系统可以基于感测到的机器人装置的基部的取向和关节角度来估计机器人装置的取向。
本文取向可以指物体的角位置。在一些情况下,取向可以指围绕三个轴线的旋转量(以度或弧度表示)。在一些情况下,机器人装置的取向可以指机器人装置相对于特定参考系(如地面或其站立的表面)的取向。取向可以使用euler角或tait-bryan角(也称为横摆,俯仰和滚动角)来描述角位置。在一些情况下,如在计算机可读介质上,取向可以由取向矩阵或取向四元数等来表示。
在一些情况下,来自机器人装置的基部上的传感器的测量值可以指示机器人装置以这样的方式取向和/或具有需要控制一个或多个铰接附件的角速度,以保持机器人装置的平衡。然而,在这些情况下,可能的情况是机器人装置的肢体被取向和/或移动,使得不需要平衡控制。例如,机器人装置的身体可以向左倾斜,并且测量身体取向的传感器可以指示移动肢体以平衡机器人装置的需要;然而,机器人装置的一个或多个肢体可以向右延伸,使得机器人装置被平衡,尽管机器人装置的基部上的传感器指示不同。机器人装置的肢体可以在机器人装置的身体上施加扭矩,并且还可以影响机器人装置的质心。因此,机器人装置的一部分的取向和角速度测量值可以是机器人装置的身体和肢体的组合的取向和角速度的不准确表示(在本文中可以称为“总体”取向和角速度)。
在一些实施方式中,处理系统可以配置为基于感测到的机器人装置的基部的取向和测量的关节角度来估计整个机器人装置的总体取向和/或角速度。处理系统已经在其上存储了机器人装置的关节角度与机器人装置的关节角度影响机器人装置的基部的取向和/或角速度的程度之间的关系。机器人装置的关节角度和机器人装置的基部的运动之间的关系可以基于机器人装置的肢体的质量属性和运动学来确定。换句话说,该关系可以指定关节角度对机器人装置的总体取向和/或角速度的影响。另外,处理系统可以配置为确定由内部运动引起的机器人装置的取向和/或角速度的分量以及由外部运动引起的机器人装置的取向和/或角速度的分量。此外,处理系统可以区分总体取向的分量,以便确定机器人装置的总体横摆速率,俯仰速率和滚动速率(其可以统称为“总体角速度”)。
在一些实施方式中,机器人装置还可以包括控制系统,其配置为基于机器人装置的简化模型来控制机器人装置。控制系统可以配置为接收机器人装置的估计的总体取向和/或角速度,并且随后控制机器人装置的一个或多个关节肢体以便以特定方式(例如保持机器人装置的平衡)行动。例如,控制系统可以基于总体取向来确定放置机器人装置的脚的位置和/或机器人装置的脚在表面上施加的力。
在一些实施方式中,机器人装置可以包括力传感器,其测量或估计外力(例如由机器人装置的腿抵靠地面施加的力),以及运动传感器,以测量机器人装置的肢体的取向。处理系统可以配置为基于由传感器测量的信息来确定机器人装置的角动量。控制系统可以配置有基于反馈的状态观测器,其接收测量的角动量和总体角速度,并且提供机器人装置的角动量的降噪估计。状态观测器还可以接收作用在机器人装置上的力矩或力的测量值和/或估计,并且在其它信息中,使用它们作为确定机器人装置的角动量的降噪估计的基础。在一些情况下,测量的角动量包括具有第一平均振幅(例如-80分贝到-20分贝)的噪声,并且角动量的降噪估计包括具有第二平均振幅(例如-70分贝到-10分贝)的噪声。在一些情况下,噪声的第二平均振幅小于噪声的第一平均振幅,使得状态观测器作用于减小噪声的平均振幅。
控制系统可以配置为致动跨越机器人腿的部件连接的一个或多个致动器。振动器可以控制为升高或降低机器人腿。在一些情况下,机器人腿可以包括致动器以在三维中控制机器人腿的运动。根据具体实施方式,控制系统可以配置为使用总体取向以及其它传感器测量值作为以特定方式(例如静态平衡,行走,跑步,飞奔等)控制机器人的基础。
在一些实施方式中,关节角度和它们对机器人装置的基部的取向和/或角速度的影响之间的多个关系可以存储在处理系统上。处理系统可以基于关节角度选择特定关系,利用其来确定总体取向和/或角速度。例如,一个关系可以与在0到90度之间的特定关节相关联,并且另一个关系可以与在91到180度之间的特定关节相关联。选择的关系可以比其它关系更精确地估计机器人装置的总体取向。
在一些实施方式中,处理系统可以已经在其上存储了机器人装置的关节角度与机器人装置的关节角度影响机器人装置的基部的取向和/或角速度的程度之间的多于一个关系。每个关系可以对应于关节角度值的一个或多个范围(即操作范围)。
在一些实施方式中,机器人装置可以在一个或多个模式下操作。操作模式可以对应于在对应的一组操作范围内的一个或多个关节角度。在这些实施方式中,每种操作模式可以对应于特定关系。
机器人装置的角速度可以具有描述机器人装置沿多个平面的取向(即旋转角度)的多个分量。从机器人装置的角度来看,机器人装置向左或向右转动的旋转角度在本文中可以被称为“横摆”。机器人装置向上或向下的旋转角度在本文中可以被称为“俯仰”。机器人装置向左或向右倾斜的旋转角度在本文中可以被称为“滚动”。另外,横摆,俯仰,滚动的变化的速率在本文中可以分别称为“横摆速率”,“俯仰速率”和“滚动速率”。
ii.示例性机器人系统
现在参考附图,图1示出了根据示例性实施方式的机器人装置的示例性配置。机器人系统100表示配置为执行本文描述的操作的示例性机器人装置。另外,机器人装置100可以配置为自主地,半自主地和/或使用由用户提供的方向操作,并且可以以各种形式存在,如人形机器人或四足机器人等。此外,机器人装置100还可以被称为机器人装置,移动机器人或机器人等。
如图1所示,机器人装置100包括处理器102,数据存储器104,程序指令106,控制器108,传感器110,电源112,机械部件114和电气部件116。注意,机器人装置100示出为用于说明的目的,并且可以包括更多或更少的部件,而不脱离本文公开的范围。机器人装置100的各种部件可以以任何方式连接,包括有线或无线连接等。此外,在一些示例中,机器人装置100的部件可以位于多个不同的物理实体上,而不是位于单个物理实体上。机器人装置100的其它示例性说明也可以存在。
处理器102可以作为一个或多个通用处理器或专用处理器(例如数字信号处理器,专用集成电路等)来操作。处理器102可以配置为执行存储在数据存储器104中并且可执行以提供本文所述的机器人装置100的操作的计算机可读程序指令106。例如,程序指令106可以是可执行的以提供控制器108的操作,其中控制器108可以配置为引起机械部件114和电气部件116的激活和停用。处理器102可以操作和使机器人装置100能够执行各种功能,包括本文所述的功能。
数据存储器104可以作为各种类型的存储介质如存储器存在。例如,数据存储器104可以包括或采取可以由处理器102读取或访问的一个或多个计算机可读存储介质的形式。一个或多个计算机可读存储介质可以包括易失性和/或非易失性存储部件,如光学的,磁性的,有机的或其它存储器或盘存储器,其可以与处理器102整体或部分地集成。在一些实施方式中,数据存储器104可以使用单个物理装置(例如一个光学的,磁性的,有机的或其它存储器或盘存储单元)来实现,而在其它实施方式中,数据存储器104可以使用两个或更多个物理装置来实现,其可以经由有线或无线通信进行通信。此外,除了计算机可读程序指令106之外,数据存储器104可以尤其包括附加数据,如诊断数据等。
机器人装置100可以包括至少一个控制器108,其可以与机器人装置100接口。控制器108可以用作机器人装置100的各部分之间的链接,如机械部件114和/或电气部件116之间的链接。在一些情况下,控制器108可以用作机器人装置100和另一计算装置之间的接口。此外,控制器108可以用作机器人系统100和用户之间的接口。控制器108可以包括用于与机器人装置100通信的各种部件,包括操纵杆,按钮等。控制器108还可以为机器人装置100执行其它操作。控制器的其它示例也可以存在。
另外,机器人装置100包括一个或多个传感器110,如力传感器,接近传感器,运动传感器,负载传感器,位置传感器,触摸传感器,深度传感器,超声波范围传感器和红外传感器等。传感器110可以向处理器102提供传感器数据,以允许机器人系统100与环境的适当交互以及机器人装置100的系统的操作的监控。传感器数据可以用于评估由控制器108和/或机器人装置100的计算系统激活和停用机械部件114和电气部件116的各种因素。
传感器110可以提供指示机器人装置的环境的信息,用于控制器108和/或计算系统以确定机器人装置100的操作。例如,传感器110可以捕获对应于环境的地形或附近的物体位置的数据,其可以辅助环境识别和导航等。在示例性配置中,机器人装置100可以包括传感器系统,该传感器系统可以包括相机,雷达,激光雷达,全球定位系统(gps)收发器和/或用于捕获机器人装置100的环境的信息的其它传感器。传感器110可以实时地监测环境并且检测障碍物,地形的元素,天气条件,温度和/或机器人装置100的环境的其它参数。
此外,机器人装置100可以包括配置为接收指示机器人装置100的状态的信息的其它传感器110,包括可以监测机器人装置100的各种部件的状态的传感器110。传感器110可以测量机器人装置100的系统的活动并且接收基于机器人装置100的各种特征的操作的信息,如可延伸的腿,臂或机器人装置100的其它机械和/或电气特征的操作。由传感器提供的传感器数据可以使机器人装置100的计算系统能够确定操作中的错误以及监测机器人装置100的部件的整体功能。
例如,计算系统可以使用传感器数据来确定在操作期间机器人装置100的稳定性以及与功率水平,通信活动,需要修复的部件以及其它信息相关的测量值。作为示例性配置,机器人装置100可以包括陀螺仪,加速度计和/或其它可能的传感器,以提供与机器人装置的操作状态相关的传感器数据。此外,传感器110还可监测机器人系统100当前可以操作的功能的当前状态(如步法)。另外,传感器110可以测量机器人装置的给定机器人腿和机器人装置的质心之间的距离。传感器110的其它示例性使用也可以存在。
另外,机器人装置100还可以包括配置为向机器人装置100的各种部件供应电力的一个或多个电源112。在可能的动力系统中,机器人装置100可以包括液压系统,电气系统,电池和/或其它类型的动力系统。作为示例性说明,机器人装置100可以包括配置为经由有线和/或无线连接向部件提供电力的一个或多个电池。在示例内,机械部件114和电气部件116的部件可以各自连接到不同的电源或可以由相同的电源供电。机器人系统100的部件也可以连接到多个电源。
在示例性配置内,任何类型的电源可以用于给机器人装置100供电,如汽油发动机。此外,电源112可以使用各种类型的充电来充电,如与外部电源的有线连接,无线充电,燃烧或其他示例。其它配置也是可能的。另外,机器人装置100可以包括配置为使用流体动力向机械部件114提供动力的液压系统。机器人装置100的部件可以基于例如通过液压系统传递到各个液压马达和液压缸的液压流体来操作。机器人装置100的液压系统可以通过机器人装置100的部件之间的小管,柔性软管或其它连接传递大量的动力。其它动力源可以包括在机器人装置100内。
机械部件114表示机器人系统100的硬件,其可以使机器人装置100能够操作和执行物理功能。作为一些示例,机器人装置100可以包括致动器,可延伸的腿(“腿”),臂,轮,用于容纳计算系统或其它部件的一个或多个结构化主体,和/或其它机械部件。机械部件114可以取决于机器人装置100的设计,并且还可以基于机器人装置100可以配置为执行的功能和/或任务。因此,根据机器人装置100的操作和功能,不同的机械部件114可以为机器人装置100利用。在一些示例中,机器人装置100可以配置为添加和/或移除机械部件114,其可以包括来自用户和/或其它机器人装置的辅助。例如,机器人装置100可以初始地配置有四个腿,但是可以由用户或机器人装置100改变以移除四个腿中的两个,以作为双足机器人进行操作。可以包括机械部件114的其它示例。
电气部件116可以包括例如能够处理,传送,提供电荷或电信号的各种部件。在可能的示例中,电气部件116可以包括电线,电路和/或无线通信发射器和接收器,以实现机器人装置100的操作。电气部件116可以与机械部件114互相配合,以使机器人装置100能够执行各种操作。例如,电气部件116可以配置为从电源112向各种机械部件114提供电力。此外,机器人装置100可以包括电动机。电气部件116的其它示例也可以存在。
在一些实施方式中,机器人装置100还可以包括配置为发送和/或接收信息的通信链路118。通信链路118可以传送指示机器人装置100的各种部件的状态的数据。例如,由传感器110读入的信息可以经由通信链路118传送到单独的装置。指示电源112,机械部件114,电气部件118,处理器102,数据存储器104和/或控制器108的完整性或健康状况的其它诊断信息可以经由通信链路118传送到外部通信装置。
在一些实施方式中,机器人装置100可以在通信链路118处接收由处理器102处理的信息。接收的信息可以指示例如在程序指令106的执行期间可由处理器102访问的数据。此外,接收的信息可以改变控制器108的可以影响机械部件114或电气部件116的行为的方面。在一些情况下,接收的信息指示请求特定信息片段(例如机器人装置100的一个或多个部件的操作状态)的查询,并且处理器102可以随后将该特定信息片段传送回通信链路118。
在一些情况下,通信链路118包括有线连接。机器人装置100可以包括一个或多个端口以将通信链路118连接到外部装置。作为有线连接的另外或替代,通信链路118可以包括无线连接。一些示例性无线连接可以利用蜂窝连接,如cdma,evdo,gsm/gprs,或4g电信,如wimax或lte。可替代地或另外地,无线连接可以利用wi-fi连接来向无线局域网(wlan)传送数据。在一些实施方式中,无线连接还可以通过红外链路,蓝牙或近场通信(nfc)装置进行通信。
图2示出了根据示例性实施例的示例性四足机器人的透视图。在其它可能的功能中,机器人装置200可以配置为在操作期间执行本文所述的过程。机器人装置200包括连接到机器人装置200的身体208的腿204a,204b,204c和204d,并且还可以包括配置为向机器人装置200的计算系统提供传感器数据的传感器。每个腿204a,204b,204c和204d可以分别包括脚206a,206b,206c和206d。传感器可以结合在腿204a,204b,204c和204d的部分内,以检测压力,位置,速度,加速度和取向等。此外,机器人装置200示出为在身体208上承载物体212。在其它示例性实施方式中,机器人装置200可以包括更多或更少的部件,并且可以附加地包括图2中未示出的部件。
机器人装置200可以是图1所示的机器人系统100的物理表示,或者可以基于其它配置。为了操作,机器人装置200包括由配置为辅助机器人装置200的各种操作的一个或多个计算装置组成的计算系统。这些操作可以包括处理数据并且基于数据提供输出以引起到机器人装置200的物理状态的各种变化。计算系统可以处理由机器人装置200的各种系统(例如传感器系统)或从其它源(例如用户,另一机器人装置,服务器)提供的信息,并且作为响应可以向这些系统提供指令。
另外,计算系统可以在操作期间监测机器人装置200的系统,其可以包括例如监测错误和/或监测常规操作。在一些示例性配置中,计算系统可以用作机器人装置200的各种系统之间的连接,并且可以将系统的操作协调在一起以使机器人装置200能够执行操作。此外,计算系统可以包括配置为控制或辅助机器人装置的操作的多个装置,处理器,控制器和/或其它实体。另外,计算系统可以使用各种类型的存储器和/或其他部件来操作。
机器人装置200作为具有四个可延伸的腿204a,204b,204c和204d的四足机器人装置存在。尽管机器人装置200在图2所示的图示中包括四个腿204a,204b,204c和204d,但是在其它示例中,机器人装置200可以包括更多或更少的腿。此外,腿204a,204b,204c和204d的配置,位置和/或结构可以在示例性实施方式中变化。腿204a,204b,204c和204d使得机器人装置200能够移动并且可以配置为在多个自由度中操作,以使得能够执行不同的行进技术。特别地,腿204a,204b,204c和204d可以使机器人装置200能够通过机械地控制腿204a,204b,204c和204d来以各种速度行进。
每个机器人腿204a,204b,204c和204d可以包括如关节214的关节和致动器。关节允许机器人腿的构件以多个自由度移动通过一定角度范围。在操作期间,致动器可以被延伸或压缩,以促使移动机器人腿到各个位置。某些关节可以具有有限的运动范围(例如-120度至120度)。关节和构件的一些组合可以允许机器人腿移动其横向位置,纵向位置和/或垂直位置。
步法是动物,机器人装置或其它机械结构的肢体的运动的模式。因此,机器人装置200可以通过操作腿204a,204b,204c和204d来进行导航以执行各种步法。机器人装置200可以使用多种步法在环境内行进,其可以包括基于速度,地形,操纵需要和/或能量效率来选择步法。机器人装置200可以配置为在步法之间动态切换,这可以使机器人装置能够改变操作腿204a,204b,204c和204d的速度或力学。
此外,由于可能阻止某些步法的使用的设计(例如机器人装置的腿的数目)的差异,不同类型的机器人装置可以使用不同的步法。虽然一些步法可以具有特定名称(例如步行,小跑,跑步,飞奔和跳跃),但是这些步法之间的区别可以是轻微的。步法可以基于脚步样式分类,该样式包括用于放置可伸展腿的远端(例如脚)的表面上的位置。类似地,步法也可以基于力学进行分类。
另外,机器人装置200可以包括其它机械孔或附件,其可以在各种位置附接到机器人装置200。机器人装置200可以包括机械臂,夹具,轮或其它特征。腿204a,204b,204c和204d可以具有脚或其它类型的机械特征(例如橡胶脚以增加机器人装置和表面之间的摩擦),使得能够控制机器人装置可能遇到的各种类型的表面。
作为示例性机器人装置200的设计的一部分,机器人装置200的身体208连接到腿204a,204b,204c和204d,并且可容纳机器人装置200的各种部件。因此,身体208可以在示例内变化,并且还可以取决于给定机器人装置可能已经设计为执行的特定操作。例如,开发以承载重负载的机器人装置可以具有能够放置负载的宽身体。类似地,设计为达到高速的机器人装置可以具有不具有实质重量的窄的小身体。此外,身体208以及腿204a,204b,204c和204d可以使用各种类型的材料(如各种金属或塑料)来开发。在其它示例中,机器人装置可以具有带有不同结构的或由其它类型的材料制成的身体。
机器人装置200的传感器210可以包括各种类型的传感器。传感器210可以放置在机器人装置上的各个位置。如对于机器人系统100所描述的,机器人装置200可以包括传感系统,其包括相机,雷达,激光雷达,gps收发器,加速度计,陀螺仪和/或其它类型的传感器。传感器可以配置为测量机器人装置200的环境的参数以及监测机器人装置200的系统的内部操作。在一些示例中,机器人装置200可以包括传感器以测量每个腿204a,204b,204c和204d的取向,位置,速度或加速度。
在一些实施方式中,传感器210可以联接到机器人腿204a,204b,204c和204d的部分。例如,传感器可以配置为测量机器人腿204a,204b,204c和204d的关节的角度。在一些实施方式中,由传感器输出的信息或数据可以提供给控制系统202。在一些情况下,惯性测量单元(imu)可以安装到机器人腿204a,204b,204c和204d的部分以确定机器人腿204a,204b,204c和204d的每个构件的取向。另外,如压力换能器的传感器可以联接到机器人腿204a,204b,204c和204d的致动器,以测量致动器内部的压力和/或测量致动器延伸或压缩的长度。除了前述的传感器之外,还可以包括其它传感器,以便测量机器人装置200的可以从其计算机器人腿204a,204b,204c和204d的关节角度的方面。
在一些实施方式中,机器人腿204a,204b,204c和204d的致动器可以被控制为施加不同量的力。在一些情况下,控制系统可以控制特定的机器人腿以施加更大或更小程度的力。另外,由给定的机器人腿施加的力的量可以使用联接到机器人腿的传感器(如力传感器或负载单元)来测量。
由机器人装置200承载的负载212可以表示机器人装置200可以运输的各种类型的货物。负载212还可以表示机器人装置200可以利用的外部电池或其它类型的电源(例如太阳能电池板)。负载212表示机器人装置200可以配置的示例性使用。因此,机器人装置200也可以配置为执行其它操作。
另外,如机器人系统100所示,机器人装置200还可以包括各种电气部件,其可以实现机器人装置200的机械特征之间的操作和通信。如前所述,机器人装置200可以包括一个或多个计算系统,其包括配置为执行各种功能(包括处理输入)以提供输出的一个或多个处理器。计算系统可以包括附加部件,如各种类型的存储器和电源等。
机器人装置200的控制系统202可以使机器人装置200基于来自感测系统的传感器数据来导航环境。感测系统可以包括联接到机器人装置200的部分的感测系统的传感器。机器人装置200可以通过通信系统接收导航命令。例如,机器人装置可以接收以每小时5公里向前移动的命令。该命令可以指定向前走特定距离,如100米。在示例中,命令可以指定放置特定腿的一个或多个位置。
在一些示例中,导航命令可以包括gps坐标。在一些情况下,命令可以指示机器人装置导航到可以由特定gps坐标定义的特定位置。机器人装置然后可以使移动系统移动到该位置,同时导航由控制系统识别的地形的物理特征(可能基于来自感知传感器的数据)。另一个命令可以指示机器人装置跟随特定的人,该特定的人可以具有产生指示该人的位置的数据的gps使能装置(gpsenableddevice)。数据可以被传送到机器人装置,然后使得移动系统跟随该人,同时导航由控制系统识别的地形的物理特征。
在一些示例性实施方式中,在操作期间,计算系统可以经由有线或无线连接与机器人装置200的其它系统通信,并且还可以配置为与机器人装置的一个或多个用户通信。作为一个可能的例子,计算系统可以从用户接收指示用户希望机器人装置在给定方向上执行特定步法的输入。计算系统可以处理输入,并且可以使机器人装置的系统执行所请求的步法。另外,机器人装置的电气部件可以包括其它类型的电气部件,包括但不限于接口,电线,总线和/或配置为使得机器人装置的系统能够通信的其它通信链路。
此外,机器人装置200可以经由各种类型的接口与一个或多个用户和/或其它机器人装置通信。在示例性实施方式中,机器人装置200可以经由操纵杆或类似类型的接口从用户接收输入。计算系统可以配置为从操纵杆接口接收指示力的量,施加到操纵杆的力的持续时间以及其它可能的信息的数据。类似地,机器人装置200可以经由其它类型的接口(例如移动装置或麦克风)接收输入并且与用户通信。无论如何,机器人装置200的计算系统可以配置为处理机器人装置200可以接收的各种类型的输入。
图3示出了根据示例性实施方式的另一示例性四足机器人。类似于图2中所示的机器人装置200,机器人装置300可以对应于图1中所示的机器人系统100。机器人装置300用作机器人装置的另一可能实施方式,其可以配置为估计机器人装置的取向,横摆,俯仰和/或滚动。可以存在机器人装置的其它示例性实施方式。
图4示出了根据另一示例性实施方式的双足机器人的示例。类似于图2中所示的机器人装置400,机器人装置400可以对应于图1中所示的机器人系统100。机器人装置400用作机器人装置的可能实施方式,其可以配置为估计机器人装置的取向,横摆,俯仰和/或滚动。可以存在机器人装置的其它示例性实施方式。
机器人装置400可以包括多个铰接附件,如机器人腿和/或机器人臂。每个铰接附件可以包括通过关节连接的多个构件,其允许铰接附件通过某些自由度移动。铰接附件的每个构件可以具有描述构件的方面的属性,如其重量,重量分布,长度和/或形状等。类似地,连接铰接附件的构件的每个关节可以具有已知属性,如关节允许的运动范围的角度,关节的尺寸以及由关节连接的构件之间的距离等。给定的关节可以是允许一个自由度的关节(例如转向关节或铰链关节),允许两个自由度的关节(例如圆柱形关节),允许三个自由度的关节(例如球窝关节),或允许四个或更多个自由度的关节。自由度可以指连接到关节的构件围绕特定平移或旋转轴线移动的能力。
机器人装置400还可以包括传感器以测量其铰接附件的关节的角度。此外,铰接附件可以包括多个致动器,其可以被控制以伸出和缩回铰接附件的构件。在一些情况下,关节的角度可以基于给定致动器的伸出或缩回的程度来确定。在一些情况下,关节角度可从安装在铰接附件的构件上的惯性测量单元(imu)的位置数据推断。在一些实施方式中,关节角度可以使用旋转位置传感器(如旋转编码器)来测量。在其它实施方式中,关节角度可以使用光学反射技术来测量。也可以使用其它关节角度测量技术。
机器人装置400可以配置为发送来自铰接附件的传感器数据到联接到机器人装置400的装置,如处理系统,计算系统或控制系统。机器人装置400可以包括存储器,其包括在机器人装置400上的装置中或作为存储传感器数据的独立部件。在一些实施方式中,传感器数据在存储器中保持一定量的时间。在一些情况下,存储的传感器数据可以被处理或以其它方式变换以供机器人装置400上的控制系统使用。在一些情况下,机器人装置400还可以通过有线或无线连接将传感器数据传送到外部装置。
iii.示例性情景
图5a和5c示出了示例性双足机器人的状态。图5a和5c所示的双足机器人可以与图4所示的机器人装置400,图3所示的机器人装置300或图2所示的机器人装置200相同或相似。图5b和5d分别描绘了图5a和5c中的双足机器人的简化的表示。图5b和5d中所示的简化表示分别是来自图5a和5c的双足机器人的总体取向的刚体估计。图5a和5c中描绘的双足机器人和图5b和5d中描绘的双足机器人的简化表示是为了说明的目的而示出的,并且不一定按比例绘制。类似地,图5b和5d中描绘的特定角度和位置未按比例绘制,并且不一定表示双足机器人的总体取向的精确表示。
图5a和5c示出了表示x轴,y轴和z轴的方向的轴线。为了说明的目的而指定的轴线可以在各种实施方式中不同地表示。其中心带有圆点的圆圈表示指向图前面的x轴。图5b和5d示出了也具有用于x,y和z轴的特定指定的轴线的三维表示。在各种实施方式中,可以以其它方式指定图5b和5d中的轴线。
图5a,5b,5c和5d包括描绘横摆旋转,俯仰旋转和滚动旋转的量的箭头。旋转量可以表示为度或弧度。在图5a和5c中,这些箭头表示从联接到双足机器人的基部(即主体)的传感器测量的横摆旋转,俯仰旋转和滚动旋转量(即双足机器人的基部的取向)。在图5b和5d中,横摆,俯仰和滚动箭头表示由双足机器人的处理系统基于双足机器人的基部的取向和双足机器人的关节的角度估计的横摆旋转,俯仰旋转和滚动旋转的总体量。
图5a和5c中描绘的箭头不一定意味着存在横摆旋转,俯仰旋转或滚动旋转的量。例如,图5a中的双足机器人的滚动旋转量可以是零度。为了说明的目的描绘了箭头,并且可以在本申请的特定部分内指定横摆,俯仰和滚动旋转量。
尽管图5a和5c中的双足机器人被描绘为具有四个机器人肢体(两个铰接腿和两个铰接臂),但是可以根据本申请的操作来估计具有任何数目的肢体的任何其它机器人装置的总体取向和/或角速度。例如,可以针对图2所示的机器人装置200和图3所示的机器人装置300以及其它机器人装置确定总体取向和/或角速度。
图5a示出了根据示例性实施方式的双足机器人502的姿态500。双足机器人502利用一个腿站立在表面504上。双足机器人502可以类似于图4所示的机器人装置400,并且还可以包括图1中的机器人装置100的一个或多个部件。双足机器人502的身体被描绘为与表面504平行,使得联接到双足机器人502的身体的传感器可以将身体的滚动角指示为零。
双足机器人502的肢体延伸使得扭矩施加到双足机器人502。尽管双足机器人502被描绘为直立的,但是如果没有应用平衡控制来移动肢体,则图5a中描绘的双足机器人502将向右跌倒。尽管双足机器人502处于不稳定的姿势,但是从联接到双足机器人502的身体的传感器接收信息的控制系统可以确定不需要控制来保持双足机器人的平衡。在一些情况下,控制系统可以对在双足机器人开始跌倒之后感测的角速度做出反应;然而,对角速度的变化做出反应可以导致控制系统提供激烈的控制措施以保持双足机器人的平衡。因此,基于角速度的变化控制双足机器人是反应性的,并且可以使控制系统提供原本的不必要的量的控制努力。
双足机器人502可以包括在其上的处理系统,配置为估计双足机器人502的总体取向。处理系统还可以计算双足机器人502的总体取向的变化率,以确定双足机器人502的角速度和/或角动量。在一些实施方式中,处理系统基于双足机器人的肢体的关节的角度和测量的双足机器人502的身体的取向来估计双足机器人502的总体取向。双足机器人502的总体取向,角速度和/或角动量可以提供作为联接到双足机器人的控制系统的输入。控制系统可以配置为以特定行为(即静止平衡,行走,跑步等)来操作双足机器人。
处理系统可以包括存储器,其存储机器人装置的关节角度和机器人装置的关节角度影响机器人装置的基部的取向和/或角速度的程度之间的关系。双足机器人502的每个肢体包括构件和关节,允许肢体以各种方式定位。如前所述,肢体的定位可以通过致动联接到双足机器人502的肢体的构件的致动器来实现。当给定肢体移动通过其运动范围时,肢体的质心可以定位在具有变化的与双足机器人502的身体的质心的距离的多种位置。远离双足机器人的身体延伸的双足机器人502的肢体的质量可以在双足机器人502的身体上引入扭矩,作为延伸肢体上的重力的结果。因此,基于双足机器人502的各个部分的运动学和质量属性,可以确定双足机器人502的身体的运动和关节角度之间的关系。然后,处理系统可以将关节角度的效果应用于双足机器人502的身体的测量的取向,以确定双足机器人的总体取向。
在一些实施方式中,处理系统对总体取向执行时间微分,以便估计双足机器人的角速度。处理系统还可以基于估计的角速度确定双足机器人502的估计角动量。
在一些实施方式中,角速度和/或角动量可以用于预测未来时间的双足机器人502的总体取向。因此,控制系统可以在双足机器人502的身体以显着的角速度移动之前主动地提供平衡控制。通过在双足机器人502旋转到该取向之前预测双足机器人502的总体取向,可以抢先识别不稳定的取向,与反应式控制系统相比大大减少了平衡双足机器人502所需的控制努力的程度。
作为示例,如图2中的机器人装置200或图3中的机器人装置300的四足机器人可以以足够高的速度行进,使得在某些时间没有腿与地面接触。在这些情况下,在四足机器人处于半空中时预测四足机器人的总体取向可以用于在与地面接触之前确定如何使四足机器人的前腿取向。
在一些情况下,机器人装置可以包括联接到机器人装置的身体的柔性构件,其允许身体弯曲和/或旋转。传感器可以测量柔性构件的旋转部分的角度,并且提供角度测量值作为到处理系统的输入。处理系统可以在确定机器人装置的总体取向时考虑那些角度测量值以及其它角度测量值和身体的一部分的取向测量值。
图5a所示的双足机器人502的身体具有零度的横摆角,零度的俯仰角和零度的滚动角。然而,双足机器人502的肢体取向为使得双足机器人不稳定。因此,随着时间的推移,如果没有对肢体提供平衡控制,则双足机器人502将翻倒。
图5b示出了图5a所示的双足机器人502的简化表示510。双足机器人502的处理系统可以接收横摆,俯仰和滚动角的零度测量值以及双足机器人的关节的角度。处理系统然后可以确定双足机器人502的总体取向。尽管双足机器人502的身体的横摆,俯仰和滚转角为零度,但是双足机器人502的总体取向可以具有非零值。
在图5b中,双足机器人502的简化表示512具有非零横摆,俯仰和滚动角。双足机器人502的简化表示512相对于参考系510取向,参考系510可以是表面或地面。在一些实施方式中,非零横摆,俯仰和滚动角中的至少一个可以指示双足机器人502的平衡中的不稳定性。例如,在一些情况下,非零滚动角可以指示施加到双足机器人502的身体的扭矩,这是由一个或多个肢体延伸到双足机器人502的一侧所致。因此,尽管双足机器人502的身体与表面504平行,但是总体取向指示不稳定性,即随着时间推移双足机器人502的角速度将增加。
估计的总体取向可以提供给双足机器人502的控制系统,其随后可以控制双足机器人502的肢体中的至少一个,以平衡双足机器人502。例如,图5a中的双足机器人502的提升的腿可以放置在地面上,从而改变提升的腿的一个或多个关节的角度。当腿中的关节角度改变以指示腿延伸以与表面504接触时,由处理系统估计的总体取向可以指示双足机器人502变得更稳定。例如,通过使腿延伸以接触表面504而引起的变化的关节角度可以减小总体滚动角。
在一些情况下,双足机器人502的控制系统配置为将双足机器人502的平移速度保持在特定的步幅(例如步行步幅或跑步步幅)。
在示例性实施方式中,机器人装置可以具有将其关节角度的位置与机器人装置的总体方向相关联的关系。机器人装置可以具有两个腿和一个臂,其中一个臂具有将附接到机器人装置的身体的构件连接到另一个构件的一个关节。该关系可以规定,当关节具有在0到90度之间的角度时,臂不会引入足够的扭矩以使机器人翻倒。该关系还可以规定,当关节具有在90到180度之间的角度时,臂在机器人装置的身体上产生足够的扭矩,导致机器人装置角度地加速并且最终翻倒。关节角度范围的任何组合可以与在各种实施方式中在机器人装置的身体上产生的扭矩相关。
在一些情况下,机器人装置可以跑步,并且因此在某些时间点没有与地面的任何接触。机器人装置的身体可以在跑步时振荡,使得仅考虑机器人装置的身体的取向测量值的控制装置可以在某些时间点确定机器人装置不稳定,并且因此需要控制努力以保持平衡。然而,机器人装置的腿的关节角度和机器人装置的身体的取向之间的关系可以指示与机器人装置的身体取向相比,机器人装置的总体取向具有不那么严重的振荡。在这些情况下,本公开的控制系统减少了原本可能被施加的不必要的控制努力。
图5c示出了根据示例性实施方式的双足机器人522的姿态520。类似于双足机器人502,双足机器人522用一个腿站立在表面524上。然而,双足机器人522的身体被描绘为倾斜的,使得联接到双足机器人522的身体的传感器可以将身体的滚动角指示为非零。双足机器人522可以相同于或类似于图4所示的机器人装置400,并且还可以包括图1中的机器人装置100的一个或多个部件。
双足机器人522的肢体延伸使得双足机器人平衡。不同于图5a中的双足机器人502,双足机器人522是稳定的,并且不需要肢体的控制以保持平衡。双足机器人522的肢体延伸使得没有扭矩施加在双足机器人522的身体上。
类似于双足机器人502,双足机器人522可以包括在其上的处理系统,配置为估计双足机器人522的总体取向。处理系统可以接收两足机器人522的关节的角度和身体的测量的取向,以确定双足机器人的总体取向。在图5c所示的示例性姿态520中,尽管身体取向指示需要控制以保持两足机器人522的平衡的不稳定姿态,但是处理系统从总体取向确定双足机器人522是稳定的。处理系统还可以执行总体取向的时间微分,并且确定双足机器人522的角速度不在变化。
图5c所示的双足机器人522的身体具有零度的横摆角,零度的俯仰角和非零度的滚动角。然而,双足机器人的总体取向(图5d中双足机器人522的简化表示中描绘的)可以确定为具有零度的滚动角。
图5d示出了根据示例性实施方式的双足机器人522的简化表示532。双足机器人502的简化表示532相对于参考系530取向,参考系530可以是表面或地面。双足机器人522的处理系统可以接收指示零度横摆和俯仰角以及非零滚动角的双足机器人522的身体的取向的测量。双足机器人522的处理系统还可以接收对双足机器人522的关节的角度的测量。然后,处理系统可以以与前述相同或相似的方式估计双足机器人522的总体取向。尽管接收的双足机器人的身体的滚动角不为零,但是双足机器人522的总体取向表示双足机器人522具有零度滚动角。
估计的总体取向可以提供给双足机器人522的控制系统。控制系统可以确定双足机器人522是稳定的,并且不需要控制以保持双足机器人522的平衡。
在一些情况下,状态取向可以指示双足机器人522的状态滚动角是非常小的非零量。因此,处理系统可以预测双足机器人522的总体取向围绕滚动轴线加速。在这些情况下,控制系统可以控制双足机器人522的肢体以保持双足机器人522的平衡。在一些实施方式中,控制系统可以改变由双足机器人522的腿施加到地面的力以保持平衡。
在一些情况下,处理系统基于估计的总体取向以及其它测量(例如机器人装置的速度和速度的方向)来确定指示机器人的预期轨迹的路径。这可以包括基于其估计的总体取向来计算对于阈值时间量的机器人装置的预期位置。例如,确定的路径可以指示未来一分钟时间段的预期轨迹。
处理系统还可以确定物体是否存在于确定的路径内。这可以包括处理系统从联接到机器人装置的图像捕获系统接收图像并且执行物体检测技术以识别任何可能的物体。在一些情况下,如果物体高于特定阈值尺寸,则可以检测到该物体。
当沿着预期路径检测到物体时,处理系统可以修改或以其它方式改变机器人的路径,使得其轨迹避免与物体的碰撞。处理系统可以通过提供改变机器人装置的取向和/或(在x方向,y方向和/或z方向上的)速度的指令来实现这一点。在一些情况下,处理系统可以计算机器人装置的预期轨迹,以确保机器人装置避免与检测到的物体碰撞。
在一些情况下,当沿着预期路径检测到物体时,处理系统可以向机器人装置提供指令以停止机器人装置撞击物体。
在一些实施方式中,处理系统可以接收用于机器人装置行进所沿的期望轨迹。然后,处理系统可以基于期望的轨迹和机器人装置的估计的总体取向来确定操作机器人装置的方式,该方式使得机器人装置沿着该期望的轨迹行进。这可以包括提供指令以修改机器人装置的取向和/或(在x方向,y方向和/或z方向上的)速度。
iv.示例性方法
图6是根据示例性实施方式的流程图600。流程图中的操作例如可以由图1中的机器人装置100,图2中的机器人装置200,图3中的机器人装置300,图4中的机器人装置400或者来自机器人装置100,机器人装置200,机器人装置300和/或机器人装置400的部件的任何组合来执行。图6可以包括如框602,604,606,608和610中的一个或多个所示的一个或多个操作或过程。尽管以顺序的次序示出了这些框,但是在一些情况下,这些框可以并行地和/或以与本文所描述的顺序不同的顺序来执行。此外,各种框可以基于期望的实施方式组合成更少的框,分为附加的框,和/或被移除。
此外,对于图6和本文描述的其它过程和操作,流程图示出了本实施方式的一个可能实现的功能和操作。在这点上,每个框可以表示程序代码的模块,段或部分,其包括可由处理器执行以用于在该过程中实现特定逻辑操作或步骤的一个或多个指令。另外,每个框可以表示执行和/或修改机器人装置的操作的程序代码的一部分。程序代码可以存储在任何类型的计算机可读介质上,例如包括盘或硬盘驱动器的存储装置。计算机可读介质可以包括非临时性计算机可读介质,例如存储如寄存器存储器,处理器高速缓存和随机存取存储器(ram)的短时间段的数据的计算机可读介质。计算机可读介质还可以包括其它非暂时性介质,如次级或永久长期存储器,例如只读存储器(rom),光盘或磁盘,光盘只读存储器(cd-rom)。计算机可读介质还可以是任何其它易失性或非易失性存储系统。计算机可读介质可以被认为是例如计算机可读存储介质,有形存储设备或其它制造品。程序代码(或代码的数据)还可以存储或提供在包括通信介质的其它介质上。例如,可以在无线通信介质上接收命令。
此外,对于图6和本文中所描述的其它过程和操作,每个框可以表示布置为执行特定逻辑操作的电路。
图6的操作可以由控制装置或由处理器完全执行,或者可以分布在多个控制装置上。在一些示例中,控制装置可以从机器人装置的传感器接收信息,或者控制装置可以从收集信息的处理器接收信息。控制系统还可以与远程控制系统(例如另一机器人装置上的控制装置)通信以从例如其它装置的传感器接收信息。为了说明的目的,框602,604,606,608和610的操作被描述为由控制装置执行;然而,如上所述的其它装置可以执行操作。
在框602,处理系统接收指示与连接到机器人的多个传感器相对应的各个关节角度的多个第一测量值。在一些情况下,接收的关节角度测量值可以是表示关节角度的模拟电信号。在一些实施方式中,传感器包括将模拟电信号转换成表示关节角度的数字电信号的电路。在一些情况下,给定的传感器可以检测关节角度的相对变化,并且处理系统可以通过测量关节角度随时间的变化来跟踪关节的位置。根据具体实施方式,关节角度可以用度或弧度表示。传感器可以经由有线连接或无线连接将关节角度传送到处理系统。
在框604,处理系统接收指示机器人的身体的取向的取向测量值。机器人装置的身体的取向可以通过一个或多个传感器(例如加速度计,陀螺仪,磁力计和/或惯性测量单元(imu)以及其它传感器)来测量。传感器可以测量机器人装置的身体的加速度和/或旋转角度,如机器人身体的俯仰,滚动和横摆。传感器可以向处理系统提供加速度和/或旋转角度,并且处理系统可以确定机器人的身体的速度,位置,取向和角速度中的至少一个。在一些实施方式中,传感器可以包括在其上的电路以确定机器人身体的速度,位置,取向和/或角速度中的至少一个,并且然后可以将那些测量提供给处理系统。
机器人装置的身体可以是机器人肢体连接到的机器人装置的任何部分。在一些实施方式中,机器人肢体通过可旋转关节连接到机器人装置的身体。
在框606,处理系统基于与机器人的关节肢体相关联的属性确定多个第一测量值和取向测量值之间的关系。该关系可以与先前描述的关系相同或相似。该关系可以存储在联接到机器人的存储器上。机器人装置可以包括配置为执行存储在存储器上的程序指令的计算装置。在一些实施方式中,该关系可以集成到程序指令中。
该关系可以是可以用于从取向测量值和关节角度测量值确定机器人的总体取向的数学公式或算法。机器人装置的处理系统和/或计算装置可以执行数学公式的计算或执行算法,以确定机器人的总体取向。在一些情况下,该关系可以集成为在如现场可编程门阵列(fpga)的控制装置上实现的控制系统的一部分。
在一些实施方式中,可以更新或以其它方式修改该关系。在一些情况下,可以在机器人的通信链路处接收更新或修改关系的指令。如前所述,多个关系可以用于确定机器人的总体取向,并且机器人装置可以接收指令以添加,移除,更新或修改一个或多个这些关系。
在框608,处理系统基于多个第一测量值,取向测量值和确定的关系来估计机器人装置的取向。机器人装置的估计取向可以与如前所述的机器人装置的总体取向相同或相似。估计取向可以通过根据接收的关系对多个第一测量值和定向测量值执行数学或算法运算来确定。
估计取向可以存储在机器人的存储器上。在一些实施方式中,估计取向通过有线连接或无线连接传送到外部计算装置。此外,在一些情况下,估计取向可以提供给机器人的其它装置或系统,如控制系统。
在框610,处理系统基于机器人的估计取向来提供控制机器人装置的至少一个关节肢体的指令。指令可以对应于操纵机器人的肢体中的一个或多个。例如,指令可以使机器人装置的肢体移动到特定位置并且具有特定取向。指令还可以指定移动肢体的方式(例如将肢体移动到特定位置的速度有多快)。指令还可以指定特定肢体施加到地面或其它表面的力的量。
在一些实施方式中,指令是控制机器人的肢体上的致动器的模拟信号。在一些情况下,致动器可以配置为接收数字信号,并且指令可以是提供给一个或多个致动器以控制机器人的肢体的数字信号。
v.示例性计算机可读介质
图7示出了根据本文描述的至少一些实施方式配置的示例性计算机可读介质。在示例性实施方式中,示例性系统可以包括一个或多个处理器,一个或多个形式的存储器,一个或多个输入装置/接口,一个或多个输出装置/接口和机器可读指令,当由一个或多个处理器执行指令时使得机器人装置实现上述的各种功能任务,能力等。
如上所述,公开的过程可以通过以机器可读格式编码在计算机可读存储介质上或在其它介质或制品上的计算机程序指令来实现。图7是示出了根据本文公开的至少一些实施方式布置的计算机程序产品的概念性局部视图的示意图,该计算机程序产品包括用于在计算装置上执行计算机过程的计算机程序。
在实施方式中,示例性计算机程序产品700使用信号承载介质702来提供。信号承载介质702可以包括一个或多个程序指令704,当由一个或多个处理器执行该指令时,可以提供上述关于图1-6描述的功能或功能的部分。在一些示例中,信号承载介质702可以是计算机可读介质706,例如但不限于硬盘驱动器,压缩盘(cd),数字视频盘(dvd),数字磁带,存储器等。在一些实施方式中,信号承载介质702可以是计算机可记录介质708,例如但不限于存储器,读/写(r/w)cd,r/wdvd等。在一些实施方式中,信号承载介质702可以是通信介质710(例如光纤电缆,波导,有线通信链路等)。因此,例如,信号承载介质702可以通过通信介质710的无线形式来传送。
一个或多个程序指令704可以例如是计算机可执行和/或逻辑实现的指令。在一些示例中,计算装置配置为响应于由计算机可读介质706,计算机可记录介质708和/或通信介质710传送到计算装置的程序指令704来提供各种操作,功能或动作。在其它示例中,计算装置可以是与联接到机器人装置的装置通信的外部装置。
计算机可读介质706还可以分布在可以彼此远程定位的多个数据存储元件中。执行一些或全部存储的指令的计算装置可以是外部计算机或移动计算平台,如智能手机,平板设备,个人计算机或可穿戴设备等。可替代地,执行一些或所有存储的指令的计算装置可以是远程定位的计算机系统,如服务器。例如,计算机程序产品700可以实现参考图6讨论的操作。
vi.结论
应当理解,本文描述的布置仅用于示例的目的。因此,本领域技术人员将理解,可以替代地使用其它布置和其它元件(例如机器,接口,功能,顺序和功能分组等),并且一些元件可以根据期望的结果一起省略。此外,描述的许多元件是可以实现为离散或分布式组件或与任何合适的组合和位置的其它组件结合的功能实体,或者被描述为可以组合独立结构的其它结构元件。
尽管本文公开了各种方面和实施方式,但是其它方面和实施方式对于本领域技术人员将是显而易见的。本文公开的各种方面和实施方式是为了说明的目的,而不意在限制,真实范围由所附权利要求以及这些权利要求所赋予的等同物的全部范围来指示。还应当理解,本文中使用的术语仅用于描述特定实施方式的目的,而不意在限制。