用于生成机器人的控制器的技术的制作方法

文档序号:30105832发布日期:2022-05-18 14:38阅读:96来源:国知局
用于生成机器人的控制器的技术的制作方法
用于生成机器人的控制器的技术
1.相关申请的交叉参考
2.本技术主张于2019年10月21日提出申请的标题为“基于用于机器人建模以及控制的稀疏学习创建机器人控制器(creating robot controllers based on sparse learning for robot modeling and control)”且序列号为62/924,051的美国临时专利申请的优先权益,并且主张于2020年6月3日提出申请的标题为“用于生成机器人的控制器的技术(techniques for generating controllers for robots)”且序列号为16/892,216的美国专利申请的优先权益。这些相关申请的主题特此以引用方式并入本文中。
3.发明背景
技术领域
4.各种实施例一般来说涉以及控制理论以及机器人学,且更具体来说涉以及用于生成机器人的控制器的技术。
5.相关技术说明
6.在典型机器人控制器设计过程中,设计人员分析机器人的物理结构以便确定与机器人相关联的运动学方程组。所述运动学方程组一般来说描述机器人的物理性质,包含机器人中所包含的一个或多个关节和/或连杆机构的各种静态和/或动态性质。举例来说,给定运动学方程可将包含于机器人中的末端执行器的位置描述为与机器人相关联的关节角度的函数。
7.随后,设计者通过计算不同运动学方程的基于时间的导数来确定用于机器人的雅可比矩阵。雅可比矩阵一般来说将关联于机器人的关节的一个或多个角速度与关联于机器人的不同部分(包含机器人的末端执行器)的一个或多个线性速度和/或角速度相关。然后,雅可比矩阵可用于生成用于机器人的控制器,所述控制器将末端执行器的目标位置映射到机器人的关节角度的一个或多个改变。当在机器人中实施时,控制器能够响应于各种输入而将末端执行器朝向目标位置引导。
8.上述方法的一个缺点是,确定与机器人相关联的运动学方程组是复杂的手动过程,所述过程通常经由可能有些不准确的一个或多个建模近似值来简化。举例来说,当确定与机器人相关联的给定连杆机构的运动学方程时,设计者可能会做出舍入假设,从而导致连杆机构的惯性矩的有些不准确的近似值。这些类型的不准确建模近似值会导致机器人的控制器所基于的雅可比矩阵不准确,从而可阻止控制器准确地控制机器人。
9.上述方法的另一缺点是,机器人的一些或所有物理结构可能对设计者有所隐藏。举例来说,给定机器人可被制造为具有围封在外壳内的特定关节和/或连杆机构,以阻止设计者检验那些关节和/或连杆机构。如果设计者无法分析机器人的物理结构,那么设计者就无法确定机器人的对应运动学方程组或机器人的雅可比矩阵,因此阻止了设计者生成机器人的控制器。
10.如前述内容所说明,本领域需要更有效的技术来生成机器人的控制器。


技术实现要素:

11.各种实施例包含一种用于控制机器人的计算机实施方法,所述计算机实施方法包含:确定由所述机器人响应于第一组输入而生成的第一组输出;基于所述第一组输入和所述第一组输出而生成第一组基函数,其中所述第一组基函数描述了第一机器人的一个或多个物理特性;以及致使所述机器人基于所述第一组基函数而执行第一动作。
12.所公开技术相对于现有技术的至少一个技术优势在于,所公开技术能够生成准确的机器人控制器,而无需确定任何运动学方程。因此,可避免其中不准确的建模假设导致不准确的机器人控制器的情况。
附图说明
13.为了可详细理解各种实施例的上述特征的方式,可参考各种实施例对上文简要概述的发明构思进行更具体描述,其中所述各种实施例中的一些在附图中进行图解说明。然而,要注意的是,附图仅图解说明本发明构思的典型实施例,且因此不应被视为以任何方式限制范围,并且存在其它同等有效的实施例。
14.图1a-图1b图解说明经配置以实施各种实施例的一个或多个方面的系统;
15.图2是根据各种实施例的对图1a-图1b的模型生成器的更详细图解说明;
16.图3是根据各种实施例的用于生成用于控制机器人的机器人模型的方法步骤的流程图;
17.图4是根据各种实施例的对图1a-图1b的机器人控制器的更详细图解说明;以及
18.图5是根据各种实施例的用于控制机器人的方法步骤的流程图。
具体实施方式
19.在以下描述中,陈述了许多具体细节以提供对各种实施例的更透彻理解。然而,对所属领域的技术人员将显而易见的是,可在没有这些具体细节中的一或多者的情况下实践本发明构思。
20.如上所述,当生成机器人控制器时,设计者首先确定描述机器人的运动学方程组,且然后生成雅可比矩阵,该雅可比矩阵可用于将末端执行器的目标位置映射到将末端执行器朝向目标位置移动的关节角度的改变。然而,确定与机器人相关联的运动学方程组是通常经由一个或多个可能不准确的建模近似值来简化的复杂手动过程。这些不准确的建模近似值通常会导致雅可比矩阵不准确,进而阻止控制器准确地控制机器人。另外,在某些情况下,机器人的部分或所有物理结构可能对设计者有所隐藏,由此阻止设计者分析机器人的物理结构。在无法分析机器人的物理结构的情况下,设计者无法确定对应运动学方程组或者无法生成用于机器人的雅可比矩阵,并且因此无法生成能够控制机器人的控制器。
21.为了解决这些问题,各种实施例包含实施生成机器人模型的数据驱动方法的模型生成器。机器人模型可在机器人控制器内使用,以生成用于控制机器人的命令。模型生成器生成一般来说描述了大范围的系统的各种物理性质的一组基函数。然后,模型生成器基于向机器人发布的一个或多个命令以及一个或多个对应末端执行器位置而生成对应于一组基函数的一组系数。在一个实施例中,模型生成器可对一组系数执行稀疏约束,以便禁用所述基函数中的至少一些。所述模型生成器通过将所述一组基函数与所述一组系数组合来生
成所述机器人模型。这样做时,所述模型生成器会禁用不描述与所述机器人相关联的物理性质的特定基函数。
22.机器人控制器实施迭代控制环路,以便使用机器人模型将机器人的末端执行器从与当前一组关节角度相关联的当前位置移动到目标位置。当实施迭代控制环路时,机器人控制器计算末端执行器的当前位置与目标位置之间的误差。如果误差超出阈值,那么机器人控制器就基于误差值而计算一组关节角速度。然后,机器人控制器基于一组关节角速度、当前一组关节角度以及机器人模型而计算一组末端执行器速度。基于末端执行器的当前位置以及一组末端执行器速度,机器人控制器更新末端执行器位置并重新计算误差值。当误差值下降到阈值以下时,迭代控制环路完成。
23.所公开技术相对于现有技术的至少一个技术优势在于,所公开技术能够生成准确的机器人控制器,而无需确定任何运动学方程。因此,可避免其中不准确的建模假设导致不准确的机器人控制器的情况。另一技术优势在于,所公开技术可用于在对机器人的物理结构没有任何了解的情况下生成机器人的控制器。因此,可在一些或所有机器人结构不能被观察和/或分析的情况下实施所公开技术。这些技术优势表示优于现有技术方法的一个或多个技术进步。
24.系统概述
25.图1a-图1b图解说明经配置以实施各种实施例的一个或多个方面的系统。如图1a中所展示,系统100包含耦合到机器人环境130的计算装置100。计算装置110可以是任何技术上可行类型的计算机系统,包含台式计算机、膝上型计算机、移动装置、计算装置的虚拟化实例、分布式和/或基于云的计算机系统等。机器人环境130可以是经配置以包含一个或多个机器人的任何技术上可行的环境,诸如机器人单元等。
26.如进一步所展示,计算装置110包含耦合在一起的处理器112、输入/输出(i/o)装置114以及存储器116。处理器112包含经配置以处理数据并执行软件应用的任何技术上可行的一组硬件单元。举例来说,处理器112可包含一个或多个中央处理单元(cpu)。i/o装置114包含经配置以执行输入和/或输出操作的任何技术上可行的一组装置,包含例如显示装置、键盘以及触摸屏幕等。
27.存储器116包含经配置以存储数据以及软件应用的任何技术上可行的存储介质,例如诸如硬盘、随机存取存储器(ram)模块以及只读存储器(rom)。存储器116包含模型生成器120以及机器人控制器128。模型生成器120以及机器人控制器128经配置以互操作来控制驻留在机器人环境130内的机器人140。机器人140包含多关节臂142以及末端执行器144。在操作中,模型生成器120以及机器人控制器128经配置以互操作来生成机器人140的模型并使用所述模型来控制末端执行器144的位置,如下文结合图1b所更详细描述。
28.现在参考图1b,如所展示,模型生成器120包含机器人命令122以及末端执行器位置124。机器人命令122指定关节角速度,当传输到机器人140时,所述关节角速度致使机器人140实施关节角度改变a1以及a2。响应于这些关节角度改变,末端执行器144沿着轨迹t1从位置p1移动到位置p2。末端执行器位置124指示位置p1、p2和/或轨迹t1。还如所展示,机器人控制器128包含机器人模型126。机器人模型126是将与机器人140相关联的关节角度和/或关节角速度关联到末端执行器144的位置的改变的数据驱动映射。
29.在操作中,模型生成器120生成机器人命令122并将这些命令传输到机器人140,由
此致使机器人140修改末端执行器144的位置。然后,模型生成器120生成末端执行器位置124以指示末端执行器144的位置响应于那些命令而如何改变。因此,机器人命令122以及末端执行器位置124表示提供给机器人140的一组输入以及该机器人140响应于那些输入而生成的对应一组输出。在一个实施例中,模型生成器120可生成致使末端执行器144占据机器人环境130内的一些或所有可能位置的多个机器人命令122。在另一实施例中,机器人环境130可包含经配置以在响应于给定机器人命令122而移动之后即刻检测末端执行器144在机器人环境140内的位置的传感器。
30.基于机器人命令122以及末端执行器位置124(以及其它数据),模型生成器120生成机器人模型126,如下文结合图2-图3所更详细描述。随后,机器人控制器128经配置以使用机器人模型126来实施迭代控制环路,以便将末端执行器144从当前位置移动到目标位置,如下文结合图4-图5所更详细描述。
31.一般来说参考图1a-图1b,经由所公开技术,模型生成器120经配置以对机器人140的物理性质进行建模,而无需首先确定对应于机器人140的运动学方程。而是,模型生成器120基于提供给机器人140的输入以及对应输出而实施数据驱动方法。因此,所公开技术有助于避免可由不正确建模假设导致的不准确性,如利用现有技术所发现。此外,即使当机器人140的物理结构不可用或以其它方式未知时,也可实施所公开技术。在一个实施例中,模型生成器120可生成机器人模型126以描述机器人140的柔性部分或机器人140的不能使用常规技术来容易地建模的其它部分的物理性质。一般来说,上文所描述的任何技术都可应用于任何技术上可行类型的机器人。所属领域的技术人员将理解,结合图1a-图5所描述的特定类型的机器人是出于虚幻目的而呈现,且并不意味着限制各种实施例的范围。
32.模型生成器
33.图2是根据各种实施例的对图1a-图1b的模型生成器的更详细图解说明。如所展示,模型生成器120包含函数生成器200以及系数生成器210。
34.函数生成器200是经配置以分析系统参数202来生成基函数204的软件模块。系统参数202可包含描述机器人140的任何属性的任何技术上可行的数据。举例来说,系统参数202可指示与机器人140相关联的机器人类型、由机器人140实施的运动类型、机器人140的一个或多个结构属性、机器人140的一个或多个功能特性等。在一个实施例中,函数生成器210可实施机器学习模型和/或神经网络,以便将系统参数202映射到基函数204。在另一实施例中,可省略系统参数202,并且函数生成器200可替代地选择默认的一组基函数204,或者另一选择是,从用户接收一组基函数202。
35.基函数204包含描述各种类型的物理运动的一系列不同函数。举例来说,给定基函数可包含三角函数(例如,正弦、余弦等)的组合,以便描述与机器人140的一个或多个部分相关联的振荡运动。每一基函数204可表达为微分方程、偏微分方程或任何其它类型的数学表达式。一般来说,基函数204可包含能够描述任何类型的物理运动的任何技术上可行的数学术语的组合。
36.系数生成器210经配置以结合机器人命令122以及末端执行器位置124来分析基函数204以生成系数214。每一系数对应于不同基函数204并指示对应基函数204描述机器人140的一个或多个物理性质所达到的程度。在一个实施例中,每一系数214可以是提供每一基函数204的权重的十进制值。在另一实施例中,每一系数214是指示对应基函数204是有效
还是无效的二进制值。
37.在一个实施例中,系数生成器210可通过基于机器人命令122以及末端执行器位置124而实施最小平方识别算法或其他优化算法来生成系数214,以便确定系数214,当应用于基函数204时,系数214使得那些基函数基于机器人命令122而预测末端执行器位置124。这样做时,系数生成器210可经由稀疏学习过程来应用稀疏约束212,以便减少和/或最小化非零系数值的数目。在另一实施例中,系数生成器210实施机器学习模型和/或神经网络以便生成系数214。可例如基于在分析一系列不同类型的机器人期间所开发的手动策划的一组基函数而训练机器学习模型和/或神经网络。当生成系数214时,系数生成器210可生成初始的一组系数,且然后使用上文所描述的任何技术来更新那些系数。
38.函数生成器200以及系数生成器210将基函数204与系数214组合以生成包含于机器人模型126中的一组加权基函数220。每一加权基函数220将机器人140的一个或多个部分的物理特性建模到给定程度。在一个实施例中,加权基函数220仅包含为其生成非零系数214的基函数204的子集。
39.因为机器人模型126是基于机器人命令122以及末端执行器位置124生成的,所以不需要生成运动学方程来描述机器人140的行为并且不需要计算雅可比矩阵来生成机器人的控制器。下文结合图4-图5描述了一种用于实施机器人140的控制器的技术。上文结合图2所描述的技术将在下文结合图3更详细地描述。
40.图3是根据各种实施例的用于生成用于控制机器人的机器人模型的方法步骤的流程图。尽管结合图1a-图2的系统描述了方法步骤,但所属领域的技术人员将理解,经配置以按任何次序执行方法步骤的任何系统落入于本发明实施例的范围内。
41.如所展示,方法300开始于步骤302处,其中模型生成器120内的函数生成器200基于一个或多个系统参数202而生成一组基函数204。在各种实施例中,可省略系统参数202并且函数生成器200可选择默认的一组基函数204或者从用户接收一组基函数204。基函数204包含描述各种类型的物理运动的一系列不同函数。举例来说,给定基函数可包含相对于与机器人140相关联的一个或多个关节角度和/或角速率而定义的偏微分方程。
42.在步骤304处,模型生成器120内的系数生成器210基于基函数204而生成一组系数214。每一系数214对应于不同基函数204。系数生成器210可生成初始的一组系数并且随后更新所述初始的一组系数。
43.在步骤306处,系数生成器210基于一个或多个机器人命令122、一个或多个对应末端执行器位置124以及稀疏约束212而更新一组基函数系数。一旦得到更新,每一系数214就指示对应基函数204描述机器人140的一个或多个物理性质所达到的程度。在一个实施例中,系数生成器210可通过基于机器人命令122以及末端执行器位置124而实施最小平方识别算法或其他优化算法来生成系数214,以确定系数214,当应用于基函数204时,系数214使得那些基函数基于机器人命令122而预测末端执行器位置124。
44.在步骤308处,系数生成器200以及函数生成器210互操作以组合一组基函数与经更新的一组系数从而在机器人模型126内生成加权基函数220。机器人模型126是数据驱动模型,其可用于响应于机器人140的关节角度和/或关节角度改变来确定末端执行器144的位置改变。在一个实施例中,加权基函数220内的一个或多个基函数可被分配为零的权重并且因此被禁用。
45.在步骤310处,机器人控制器128实施机器人模型126以致使机器人140执行一个或多个动作。在一个实施例中,模型生成器120可基于机器人模型126而生成机器人控制器128。机器人控制器128经配置以实施机器人模型126以便以下文结合图4-图5所描述的方式来控制机器人140。
46.机器人控制器
47.图4是根据各种实施例的对图1a-图1b的机器人控制器的更详细图解说明。如所展示,机器人控制器128包含误差评估器400、关节角度控制器410以及末端执行器位置控制器420。在操作中,所展示的各种模块实施迭代控制环路,以便将末端执行器144从当前末端执行器位置402移动到目标末端执行器位置404。
48.特定来说,误差评估器400接收当前末端执行器位置402以及目标末端执行器位置404并计算误差406。当前末端执行器位置402以及目标末端执行器位置404中的每一者包含一组三维(3d)笛卡尔坐标。因此,误差406可以是起源于当前末端执行器位置402并终止于目标末端执行器位置404的3d矢量。误差评估器400评估误差406的量值并确定所述量值是否超出阈值。如果未超过阈值,那么误差评估器400就不发起迭代控制环路。否则,误差评估器400将误差406传输到关节角度控制器410。
49.关节角度控制器410基于误差406并基于一个或多个增益矩阵而生成一组角速度412。在一个实施例中,关节角度控制器410使用一组正定增益矩阵来实施比例-积分-微分(pid)控制算法以便生成角速度412。关节角度控制器410可基于角速度412而进一步生成机器人命令122并将那些命令输出到机器人140。关节角度控制器410确定机器人140当前所占据的关节角度414并将角速度412以及关节角度414传输到末端执行器位置控制器420。关节角度控制器410随后基于角速度412而更新关节角度414。
50.末端执行器位置控制器410使用机器人模型126、基于角速度412以及关节角度414而生成末端执行器速度422。如上文结合图2-图3所论述,机器人模型126经配置以将与机器人140相关联的角速度以及关节角度映射到末端执行器422的位置的特定改变。然后末端执行器位置控制器420处理末端执行器速度422以生成经更新末端执行器位置424。这样做时,末端执行器位置控制器420可粗略估计当经受末端执行器速度422时末端执行器144的位置在时间间隔内如何改变。
51.末端执行器位置控制器420将经更新末端执行器位置424传输到误差评估器400,以便发起后续控制过程迭代。随后,误差评估器400将经更新末端执行器位置424与目标末端执行器位置404进行比较并更新误差406,并且如果误差406的量值超出阈值,那么迭代控制环路就重复。
52.以所描述的方式,机器人控制器128使用机器人模型126来迭代地调整末端执行器144的位置,直到所述位置与目标末端执行器位置404足够相似为止。与常规控制器不同,机器人控制器128经配置以在不使用雅可比矩阵的情况下操作,且因此可避免由雅可比矩阵引起的不准确性以及其它低效率。上文结合图4所描述的技术将在下文结合图5更详细地描述。
53.图5是根据各种实施例的用于致使机器人执行动作的方法步骤的流程图。尽管结合图1a-图1b以及图4的系统描述了方法步骤,但所属领域的技术人员将理解,经配置以按任何次序执行方法步骤的任何系统都落入于本发明实施例的范围内。
54.如所展示,方法500开始于步骤502处,其中机器人控制器128内的误差评估器400接收当前末端执行器位置402以及目标末端执行器位置404。当前末端执行器位置402可以是与末端执行器144相关联的预定初始位置,或者另一选择是,末端执行器144的位置经由机器人控制器128的一个或多个先前迭代来确定。当前末端执行器位置402以及目标末端执行器位置404一般来说表达为给定参考系内的3d笛卡尔坐标,但所属领域的技术人员将理解,也可实施表示位置的任何技术上可行的方法。
55.在步骤504处,误差评估器400基于当前末端执行器位置402以及目标末端执行器位置404而计算误差406。误差406可以是起源于当前末端执行器位置402并终止于目标末端执行器位置404的3d矢量。误差评估器400评估误差值的量值以确定末端执行器144是否需要朝向目标末端执行器位置404移动。
56.具体来说,在步骤506处,误差评估器400将误差406的量值与阈值进行比较。如果误差406的量值没有超出阈值,那么方法500返回到步骤502并等待接收另一目标末端执行器位置。否则,如果误差406的量值超出阈值,那么方法500行进到步骤508。
57.在步骤508处,机器人控制器128内的关节角度控制器410基于误差406而计算角速度412。这样做时,关节角度控制器410可使用一组正定增益矩阵来实施pid控制算法,以便生成角速度412。关节角度控制器410可基于角速度412而进一步生成机器人命令122并将那些命令输出到机器人140。关节角度控制器410确定机器人140当前所占据的关节角度414并将角速度412以及关节角度414传输到末端执行器位置控制器420。
58.在步骤510处,末端执行器位置控制器420基于机器人模型126、关节角度414以及关节角速度412而计算末端执行器速度422。如先前所论述,机器人模型126提供了与机器人140相关联的角速度以及关节角度与末端执行器144位置的特定改变之间的映射。此映射反映了与机器人140相关联的在基函数204中进行进一步指定的一个或多个物理性质。
59.在步骤512处,末端执行器位置控制器420处理末端执行器速度422以生成经更新末端执行器位置424。这样做时,末端执行器位置控制器420可粗略估计当经受末端执行器速度422时末端执行器144的位置在时间间隔内如何改变。经更新末端执行器位置424可在机器人控制器128的后续迭代期间使用,以便将末端执行器144朝向新的目标位置移动或者将末端执行器144的位置精细化。
60.在步骤514处,误差评估器400基于经更新末端执行器位置424以及目标末端执行器位置404而更新误差406。这样做时,误差评估器400使用与上文结合步骤502所描述的那些操作类似的操作将经更新末端执行器位置424与目标末端执行器位置404进行比较。
61.在步骤506处,关节角度控制器410基于角速度412而更新关节角度414,以便为机器人控制器128的后续迭代做准备。在各种实施例中,步骤506可发生在步骤508之后。然后,方法500返回到步骤502并以上文所描述的方式重复。
62.总之,一种模型生成器实施一种生成描述机器人的一个或多个物理性质的机器人模型的数据驱动方法。所述模型生成器生成一般来说描述大范围的系统的一系列物理性质的一组基函数。然后,所述模型生成器基于发布给所述机器人的一个或多个命令、由所述机器人实施的一个或多个对应末端执行器位置以及稀疏约束而生成对应于所述一组基函数的一组系数。所述模型生成器通过将所述一组基函数与所述一组系数组合来生成所述机器人模型。这样做时,所述模型生成器会禁用不描述与所述机器人相关联的物理性质的特定
基函数。所述机器人模型随后可在机器人控制器内使用,以生成用于控制所述机器人的命令。
63.所公开技术相对于现有技术的至少一个技术优势在于,所公开技术能够生成准确的机器人控制器,而无需确定任何运动学方程。因此,可避免其中不准确的建模假设导致不准确的机器人控制器的情况。另一技术优势在于,所公开技术可用于在对机器人的物理结构没有任何了解的情况下生成机器人的控制器。因此,可在一些或所有机器人结构不能被观察和/或分析的情况下实施所公开技术。这些技术优势表示优于现有技术方法的一个或多个技术进步。
64.1.一些实施例包含一种用于控制机器人的计算机实施方法,所述方法包含:确定由所述机器人响应于第一组输入而生成的第一组输出;基于所述第一组输入以及所述第一组输出而生成第一组基函数,其中所述第一组基函数描述了第一机器人的一个或多个物理特性;以及致使所述机器人基于所述第一组基函数而执行第一动作。
65.2.根据条款1所述的计算机实施方法,其中所述第一组输入包括一个或多个角速度命令,所述一个或多个角速度命令被传输到所述机器人以控制包含于所述机器人中的一个或多个关节。
66.3.根据条款1-2中任一条款所述的计算机实施方法,其中所述第一组输出包括由所述机器人的末端执行器横穿的一个或多个三维位置。
67.4.根据条款1-3中任一条款所述的计算机实施方法,其中确定所述第一组输出包括:将所述第一组输入传输到所述机器人;以及响应于所述第一组输入而确定所述机器人横穿的第一组位置。
68.5.根据条款1-4中任一条款所述的计算机实施方法,其中生成所述第一组基函数包括:基于多个基函数而生成多个系数,其中包含于所述多个系数中的每一系数对应于包含于所述多个基函数中的不同基函数;确定包含于所述多个系数中的具有非零值的第一组系数;以及确定包含于所述多个基函数中的对应于所述第一组系数的一个或多个基函数。
69.6.根据条款1-5中任一条款所述的计算机实施方法,其中确定所述第一组系数包括将稀疏约束应用于所述多个系数。
70.7.根据条款1-6中任一条款所述的计算机实施方法,其中包含于所述第一组基函数中的每一基函数对应于所述机器人的不同物理性质。
71.8.一些实施例包含一种存储程序指令的非暂时性计算机可读介质,当由处理器执行时,所述程序指令致使所述处理器通过执行以下步骤来控制机器人:确定由所述机器人响应于第一组输入而生成的第一组输出;基于所述第一组输入以及所述第一组输出而生成第一组基函数,其中所述第一组基函数描述了第一机器人的一个或多个物理特性;以及致使所述机器人基于所述第一组基函数而执行第一动作。
72.9.根据条款8所述的非暂时性计算机可读介质,其中所述第一组输入包括一个或多个角速度命令,所述一个或多个角速度命令被传输到所述机器人以控制包含于所述机器人中的一个或多个关节。
73.10.根据条款8-9中任一条款所述的非暂时性计算机可读介质,其中所述第一组输出包括由所述机器人的末端执行器横穿的一个或多个三维位置,并且其中确定所述第一组输出的步骤包括:将所述第一组输入传输到所述机器人;以及响应于所述第一组输入而确
定所述机器人横穿的第一组位置。
74.11.根据条款8-10中任一条款所述的非暂时性计算机可读介质,其中生成所述第一组基函数的步骤包括:从多个基函数消除不对应于所述机器人的物理性质的任何基函数。
75.12.根据条款8-11中任一条款所述的非暂时性计算机可读介质,其中致使所述机器人执行第一动作的步骤包括:致使所述机器人将所述机器人的末端执行器从当前位置朝向目标位置移动到第二位置;以及基于所述第二位置以及所述目标位置而确定误差值。
76.13.根据条款8-12中任一条款所述的非暂时性计算机可读介质,其中致使所述机器人执行所述第一动作的步骤还包括:确定所述误差值超出阈值;以及基于所述第一组基函数而修改所述第二位置以减小所述误差值。
77.14.根据条款8-13中任一条款所述的非暂时性计算机可读介质,其中致使所述机器人执行所述第一动作还包括:基于所述误差值而计算第一组角速度;基于所述第一组角速度而致使所述末端执行器朝向所述目标位置移动到所述第二位置;基于所述第一组基函数以及所述第一组角速度而计算第一组末端执行器速度;以及基于所述第一组末端执行器速度而更新所述当前位置。
78.15.一些实施例包含一种用于生成机器人的控制器的计算机实施方法,所述方法包括:基于与所述机器人相关联的一个或多个系统参数而生成第一组基函数;基于所述第一组基函数以及稀疏约束而生成第一组系数,其中所述稀疏约束致使所述第一组系数的子集具有零值;以及基于所述第一组基函数以及所述第一组系数而生成所述控制器,其中所述控制器致使所述机器人执行第一动作。
79.16.根据条款15所述的计算机实施方法,其中生成所述控制器包括:将所述第一组基函数与所述第一组系数组合以生成所述机器人的模型;以及基于所述机器人的所述模型而实施迭代控制环路以生成所述控制器。
80.17.根据条款15-16中任一条款所述的计算机实施方法,其中将所述第一组基函数与所述第一组系数组合使得所述一组基函数的对应于所述一组系数的所述子集的子集被禁用。
81.18.根据条款15-17中任一条款所述的计算机实施方法,其中所述控制器通过以下方式来致使所述机器人执行所述第一动作:致使所述机器人将所述机器人的末端执行器从当前位置朝向目标位置移动到第二位置;基于所述第二位置以及所述目标位置来确定误差值;确定所述误差值超出阈值;以及基于所述第一组基函数而修改所述第二位置以减小所述误差值。
82.19.根据条款15-18中任一条款所述的计算机实施方法,其中包含于所述第一组系数的所述子集中的每一系数对应于包含于所述第一组基函数中的不对应于所述机器人的物理性质的基函数。
83.20.根据条款15-19中任一条款所述的计算机实施方法,其中包含于所述一个或多个系统参数中的第一系统参数对应于与所述机器人相关联的机器人类型。
84.权利要求中的任一权利要求所阐述的权利要求要素中的任一者和/或本技术案中所描述的任何要素以任何方式进行的任何以及所有组合都落入于本发明实施例以及保护的设想范围内。
85.已出于说明目的而呈现对各种实施例的描述,但所述描述并非旨在为详尽的或限于所公开的实施例。在不脱离所描述实施例的范围以及精神的情况下,许多修改以及变化对所属领域的技术人员将是显而易见的。
86.本发明实施例的各方面可体现为系统、方法或计算机程序产品。因此,本公开的各方面可采取全硬件实施例、全软件实施例(包含固件、常驻软件、微代码等)或组合软件与硬件方面的实施例的形式,所述软件以及硬件方面在本文中可全部概括地称为“模块”、“系统”或“计算机”。此外,本公开的各方面可采取体现在一个或多个计算机可读介质中的计算机程序产品的形式,所述一个或多个计算机可读介质具有在其上体现的计算机可读程序代码。
87.可利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机可读信号介质或计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子、磁性、光学、电磁、红外线或半导体系统、设备或装置、或者前述各项的任何适合组合。计算机可读存储介质的更具体示例(非详尽列表)将包含以下各项:具有一根或多根导线的电连接、便携式计算机软盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程序只读存储器(eprom或快闪存储器)、光纤、便携式光盘只读存储器(cd-rom)、光学存储装置、磁性存储装置、或者前述各项的任何适合组合。在本文档的上下文中,计算机可读存储介质可以是可含有或存储供指令执行系统、设备或装置使用或与其结合使用的程序的任何有形介质。
88.以上参考根据本公开的实施例的方法、设备(系统)以及计算机程序产品的流程图图解和/或框图描述了本公开的各方面。将理解,可通过计算机程序指令来实施流程图图解和/或框图中的每一框以及流程图图解和/或框图中的各框的组合。这些计算机程序指令可提供给通用计算机、专用计算机或其它可编程数据处理设备的处理器以生成一种机器。在经由计算机或其它可编程数据处理设备的处理器执行时,指令使得能够实施流程图和/或框图一个或多个框中所指定的功能/动作。此类处理器可以是但不限于通用处理器、专用处理器、应用特定处理器或现场可编程门阵列。
89.各图中的流程图以及框图图解说明根据本公开的各种实施例的系统、方法以及计算机程序产品的可能的实现方式的架构、功能性以及操作。就这一点来说,流程图或框图中的每一框可表示包括用于实施一个或多个所指定逻辑功能的一个或多个可执行指令的代码模块、代码分段或代码部分。还应注意,在一些替代实现方式中,框中所提及的功能可不按各图中提及的次序出现。例如,以连续方式展示的两个框实际上可基本上同时执行,或者各框有时可按相反次序执行,这取决于所涉及的功能性。还应注意,框图和/或流程图图解中的每一框以及框图和/或流程图图解中的各框的组合可由执行所指定功能或动作的基于专用硬件的系统或者专用硬件与计算机指令的组合来实施。
90.虽然前述内容针对本公开的实施例,但在不脱离本公开的基本范围的情况下可想出本公开的其它以及另外的实施例,并且本公开的范围由随附权利要求书确定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1