用于机电系统中的模块化单元的系统和方法与流程

文档序号:11159753阅读:876来源:国知局
用于机电系统中的模块化单元的系统和方法与制造工艺

本申请要求2014年5月9日提交的标题为“Modularity in the Context of Snake Robots”的美国临时申请号61/991,078,以及2014年5月12日提交的标题为“Modular Robotic Units”的美国临时申请号61/991,665的优先权,这两者的全部内容通过引用并入本文。

本披露涉及2014年5月23日提交的美国专利申请号14/286,316,其全部内容通过引用并入本文。

技术领域

本文所述的技术通常涉及机电系统,以及更具体地涉及作为用于机电系统的组件的模块化单元(modular unit)。

发明背景

机电设备是涉及电信号的使用来创建机械运动或者涉及机械运动的使用来创建电信号的设备,其具有从流水线自动化到电动打字机再到汽车起动电动机等的无数用途。对于机电设备的其他应用仅受人类智慧限制,每天都有进一步的实现手段得到开发。这种不断发展的技术将受益于模块化“积木”,多种机电系统可以以最小的设置和配置由其创建。

发明概述

提供了用于机电系统的系统和方法。一种系统包括多个连接的模块。该模块的第一模块包括致动器,其用于赋予该机电系统运动;以及数据处理器,其被配置成感测该第一模块的状态并命令该致动器修改该第一模块的该状态。

附图说明

图1是框图,其描绘了可以集成以形成机电系统的多个连接的模块的第一模块。

图2是框图,其描绘了第一和第二连接的模块,每个具有一定程度的赋予机电系统运动的自由度。

图3是框图,其描绘了机电系统的模块的示例性实现手段。

图4是描绘了集成到具有六条腿的多腿式机器人的多个模块的图。

图5是描绘了用于机电系统的蛇形配置中多个模块的另一配置的图。

图6-8描绘了被配置成连接到其他模块以形成机电系统的示例性模块。

图9左边描绘了示例性头部模块而右边描绘了示例性尾部模块。

图10是描绘了旋转轴的图,致动器与该旋转轴相互作用,以赋予机电系统的示例性模块运动。

图11描绘了图6中所示的示例性模块的横截面。

图12描绘了用于,例如向图6-9中所描绘的模块提供模块运动控制的框图。

图13是描绘了其处理器上具有建模能力的模块的框图。

图14是描绘了模块的框图,该模块具有的集成传感器的数据被提供给处理器和其他外部实体。

图15是描绘了模块的框图,该模块经由该模块外部可见的一个或多个灯将数据传送到该外部。

图16描绘了允许操作者执行各种功能的示例性用户界面。

图17是框图,其描绘了模块确认它们在一系列模块中的位置的一种机制。

图18-20描绘了用于赋予轮子和连接到该轮子的外部元件扭矩的T形槽兼容模块。

图21是描绘了不包括内部致动器或传感器的接口模块的图。

图22描绘了夹持器模块形式的另一模块类型。

图23-25描绘了机电系统的示例性操作。

发明详述

图1是框图,其描绘了可以集成以形成机电系统的多个(2个或更多)连接的模块的第一模块100。一种机电系统,在本披露的一个实施方式中,包括多个连接的模块。该第一模块100包括主体102,用于赋予该机电系统运动的致动器104被定位在其中。该第一模块100进一步包括数据处理器106。该数据处理器106被配置成感测该第一模块100的状态并命令该致动器104修改该第一模块100的该状态。例如,外部实体可以命令该机电系统呈现一定的形状或执行某一动作,以及该模块(包括第一模块100)的处理器将进行操作以通过该致动器104的自状态监测和命令实现该命令。

该第一模块100被连接到一个或多个附加模块,例如下一个第二连接的模块108。如本文进一步讨论的,第二模块108,例如经由螺纹套环110被物理地连接到该第一模块100中。该第二模块108经由在模块(例如模块100、108)之间运行的通信通道112被进一步连接到该第一模块以及在一个实施例中,连接到外部实体。在本披露的一个实施方式中,该通信通道使用以太网标准(例如,传输加密的数据和命令)进行操作,其中在一个实施例中,该通信通道使用TCP/IP协议进行操作。使用这样普遍存在的协议使得能够容易地设置模块间的通信并且试图结合各种现成的辅助硬件(例如,传感器硬件,如数码相机、红外传感器、麦克风、化学传感器)。而在某些配置中以太网标准可能不能保证通道上所有通信的递送(尽管这种保证可以使用其他方式进行),以太网硬件的广泛存在和设置的相对容易,在一些实施方式中,使以太网相比更苛刻的协议,如EtherCAT成为优选的选择。为了便于通信,该第一模块100包括三端口交换机108,通过其,该第一模块100可以在该第一模块100、该第二模块108和其他模块的处理器106和任何外部实体(例如从中接收命令的外部实体)之间中继通信。使用三端口交换机108的系统可以便于以串行方式(例如端对端)连接模块。在其他实施方式中,具有更多端口的交换机可以被实现,以便于模块的非串行连接或与模块(例如第一模块100)相关联的实体(例如其他传感器或致动器)的通信集成,而无需首先遍历(traversing)处理器106的这种数据。

机电系统可以使用如本文所述的那些模块以各种拓扑结构来形成。某些模块可以以不同的拓扑结构被重用,为给定的应用提供需要的灵活性和容易的集成。在一个实施方式中,机电系统中的某些或所有的模块是相同的,而在其他实施方式中,各种各样的不同类型的模块被用于实现所期望的机电系统。在本披露的一个实施方式中,该模块,如本文进一步描述的,经智能编程以检测它们的配置并按照所检测到的配置进行操作。

图2是框图,其描绘了第一和第二连接的模块,每个具有一定程度的赋予机电系统运动的自由度。机电系统包括端对端连接的第一模块202和第二模块204。该连接包括物理连接206;以及数据连接,其经由通信通道208实现了模块202、204和经由交换机210向该机电系统提供命令的任何外部实体之间的通信。该第一模块202的处理器212经由该通信通道208与外部实体以及进一步与致动器214通信,该致动器被配置成赋予该第一模块202本身并进一步赋予该机电系统运动。在本披露的一个实施方式中,其他的模块,如该第二模块204还包括用于赋予那些模块运动并进一步移动该机电系统的致动器。致动器以及可以被赋予模块(例如202、204)和较大的机电系统的运动的类型可以采取各种形式,包括平移运动(例如扩展、收缩)、旋转运动和振荡运动。

在图2的示例性侧视图中,该第一模块202包括致动器214,其用于赋予该第一模块202的第一端216相对于第二端218的旋转运动,给予该模块202一定程度的运动自由度。在该实施例中,该致动器214被配置成赋予扭矩,使得该第一端216相对第一轴220转动,如222处所指示的。该致动器214可以根据从该处理器212接收到的命令赋予该第一模块202扭矩和相应的运动。除了该第一模块202具有一定程度的运动自由度以及致动器214被用于赋予这种自由度的运动之外,其他的模块,例如该第二模块也可以具有一定程度的运动自由度,其与该第一模块202的自由度可能一致或不一致。在本披露的一个实施方式中,该第二模块204的自由度正交于该第一模块202的自由度。在其他实施方式中,该第二模块204的自由度不正交(例如,偏移30度、45度、60度)于该第一模块202的自由度。在本披露的其他实施方式中,该第一模块202的运动自由度相对于该第一轴220在每个方向上可以大于或小于90度。虽然图2的实施例描绘了每个具有一定自由度的模块,但是如本文进一步描述的,其他示例性模块可以具有更大、更小或不同的自由度。

图3是框图,其描绘了机电系统的模块的示例性实现手段。该模块302包括处理器304,其采取Cortex M4F处理器的形式。该处理器304被配置成经由由三端口以太网交换机306促进的以太网协议,与上游(例如第二模块)和下游(例如第三模块和第四模块)模块和外部实体进行通信。该处理器进一步响应于用于分别与相邻的(例如紧紧相邻的)上游模块和相邻的下游模块通信的两个串行通信接口308、310。该处理器304还与一个或多个传感器和附随的编码器,如传感器组件312进行通信。在图3的实施例中,该模块302包括惯性测量单元传感器、电流传感器、电压传感器和温度传感器。在其他实现方式中,模块可以包括更少或更多的传感器(例如视频捕获传感器、麦克风)。该模块302还包括部件314、316,其执行用于赋予该模块302运动的致动器的功能。在图3的实施例中,该致动器包括用于赋予该模块302的一部分或连接到该模块的物体运动(例如旋转运动)的无刷电动机驱动器和电流电动机,其中的实施例在本文中进一步描述。该模块被进一步配置成当连接时彼此供电,使得所有的模块可以由外部电源供电。该模块可以进一步包括用于内部功率存储的电源并且可以包括自主发电功能(例如经由集成的太阳能电池)。在一个实施方式中,电池模块包括用于存储功率并将该功率分配到其他模块的内部电池,使得机电系统可以无线操作,而无需接入外部电源。

如本文所述的模块可以按无数的配置进行组装,以实现所期望的机电系统。图4是描绘了集成到具有六条腿的多腿式机器人的多个模块的图。该多腿式机器人能够用它的腿行走而平移并且可以经由被集成到头部模块或手部模块的夹持器抓取物体。该多腿式机器人可以进一步包括各种传感器,其用于提供用于操作该机电系统和用于供操作者(例如用户;或外部实体,如向该多腿式机器人发出命令的服务器)进行分析的数据。多腿式机器人可以被实现为具有1至n条腿,其中n是大于1的整数。图4的六腿式机器人在每条腿中包括连接的三个相同的模块402、404、406。该模块402、404、406的每个都具有一定的自由度,其中在图4的实施例中,模块402的自由度正交于模块404的自由度。间隔件组件408被定位在模块404和406之间,其中该间隔件组件408可以包括硬件以在所有的模块间传播通信,而不提供致动器和赋予运动的能力。刚性脚部模块410被定位在每条腿的端部。该脚模块410可以不包括电子部件;或者在一个实施方式中,可包括致动器、传感器或其他用于实现该多腿式机器人的期望功能的硬件。在一个实施例中,该脚模块410包括力传感器。主体模块412便于经由通信端口414,不同腿的模块和外部实体之间的通信,例如提供用于传输经由以太网标准在这样的硬件之间发送的消息的多端口交换机。在一个实施方式中,附加的模块被结合到该多腿式机器人中,如夹持器模块,如本文进一步所披露的。这种夹持器模块可以附接到该主体模块412以充当该多腿式机器人的头部用于夹持或可以附接到该腿中的一条(例如模块402的端部)以作为手部进行操作。

图5是描绘了用于机电系统的蛇形配置中多个模块的另一配置的图。图5的该机电系统包括每个都具有一定自由度的14个相同的模块(例如模块502),其中特定模块502的这种自由度的运动受该模块502中的处理器和致动器控制。该模块以串行方式进行物理连接并进一步彼此连接,以经由沿这一系列的模块从一个模块被传到下一个模块的数据通道(例如以太网),进行数据传输。该蛇形配置可以以各种方式,如滑行运动、翻滚运动或其他旋转方式平移。除了相同的模块之外,蛇形机器人还包括头部模块504,其包括该蛇形机器人的其他模块上可能不存在的各种传感器(例如摄像机)和其他硬件(例如灯)。在一个实施方式中,该头部模块504包括高清摄像机,其提供实况视频资料,而四个LED可用于将较暗的环境照亮。在一个实施方式中,该摄像机是通过模块运行的以太网通信总线启用的现成的IP摄像机。该蛇形配置的尾部模块506包括连接到外部实体的数据端口,用于接收命令并且输出数据(包括机电系统的状态数据和检测到的传感器数据)。在一个实施方式中,该尾部模块506包括磁结构,以支持扩展的以太网系绳(Ethernet tether)以及集成滑环。在这样的实施方式中,系绳连接器支持两个高电流的电源线和六个信号导体。

图6-8描绘了被配置成连接到其他模块以形成机电系统的示例性模块。参考图6,该模块的外部包括两个区段602、604。第一区段602包括数据处理器和用于赋予该模块600运动的致动器。该处理器和该致动器行为一致,以赋予扭矩,该扭矩通过轴607的旋转,使该第一区段602和该第二区段604相对于彼此以第一自由度旋转,如606处所指示。该轴607的旋转赋予第一部分602中弹性元件可预测的剪切力,使得该处理器和致动器可以赋予该轴特定的扭矩以赋予该第二区段604相对于该第一部分602可预测量的旋转。在图6的实施例中,该致动器能够赋予扭矩,使得该第二区段604可以相对于该第一区段602在任一方向上被旋转到90度,提供可得的180度运动。在一个实施方式中,模块的壳体由7075铝机加工而成并被阳极化为红色以防止磨损和腐蚀。

在该模块600任一端的模块间部(inter-module portion)608、610在连接时提供了模块间的物理和数据连接。在一个实施方式中,该模块间部608、610包括坚固的无工具设计。模块可以使用定位销和匹配的凹口对准。示于模块间部608的可旋转的螺纹套环由保持环保持在适当的位置,并且可以用手转动以经由示于模块间部610的螺纹将相邻环锁在一起。在一个实施方式中,这种连接满足IP68潜水标准。两个模块之间的电连接可以用弹簧针连接器进行,该弹簧针连接器在接触相邻模块的控制板上的目标区域的接口板上。这样的布置更耐失准,其中弯曲或折断销可能是个问题。可以包括O形环以密封两端的套环。具有匹配的螺纹、公用电力电缆,以及公用通信协议布线(例如以太网)的任何设备可以与模块相接,允许有用不同类型的模块实现设计和定制的自由度。

图7描绘了处于中性状态的模块,其中该第一区段602和该第二区段对准,相对于彼此没有旋转。图7的视图描绘了可旋转的螺纹套环以及提供在模块间部608的数据和电源连接。图8描绘了模块间部的特写视图,其中定位销凹口610、数据连接端口612,以及动力传递目标区域可以更容易地可视化。图9左边描绘了示例性头部模块而右边描绘了示例性尾部模块。

图10是描绘了旋转轴的图,致动器与该旋转轴相互作用,以赋予机电系统的示例性模块运动。该致动器被配置成施加扭矩到位于模块的如图6中602处所示的第一区段中的轴1002,从而旋转如图6中604处所示的该第二区段。当该致动器旋转轴1004时,弹性元件1004,如图10中所描绘的锥形弹性元件,具有施加于其上的剪切力。被施加于该弹性元件1004的用于该轴1002的不同程度的转动的剪切力是可预测的,使得该致动器和处理器知道被赋予该轴1002来实现模块区段的所需旋转量的扭矩量。定期再校准操作可以被执行以更新实现所需的旋转量必要的扭矩水平,例如以解决该弹性元件1004的变化条件或该模块的其他方面。

图1描绘了图6中所示的示例性模块的横截面。如图11中所示,具有圆锥形横截面的弹性元件1102被嵌入该模块的齿轮系1104的最后一级。该弹性元件1102包括被模制入最后一级的圆锥形橡胶层。在一些实施方式中,该模块包括测量该弹性元件1102的输入和输出角度的两个编码器1106(例如磁编码器)。

对该致动器的校准可以使用一个或多个模型(例如,线性模型、诺顿/戴维南阻尼模型、Buc-Wen滞后模型)执行,其中该致动器的当前状态的某些参数可以例如,基于电动机电流和/或内部传感器(例如编码器和温度传感器)得以确定。例如,对该致动器的校准通过测量该致动器的高度齿轮传动电动机的电动机电流以及使用简单线性模型以估算该弹性体1102的扭矩来执行。该电动机电流作为输出扭矩的精确估算值的具体操作条件被确定并被引入递归估算技术(例如递归最小二乘法、无迹卡尔曼滤波器)中,用于实时估算弹簧常数。从而,估出该模块的该输出扭矩。

在一个实施方式中,该致动器利用带有9300RPM的额定速度的Maxon EC 20盘式电动机。电动机输出轴上的小钢齿轮通过包含三个钢铜复合齿轮的齿轮系传输转动。累计齿轮比为349:1,以创建高扭矩接合。这样的电动机和齿轮系组合可以提供7Nm的最大输出扭矩和33RPM的最高速度。

图12描绘了用于,例如向图6-9中所描绘的模块提供模块运动控制的框图。在图11的实施例中,该模块通过级联PID控制支持角位置、速度和扭矩控制。在一个实施方式中,每个PID控制器以1kHz进行操作,虽然目标设定点的更新可能较不频繁(例如以100-200Hz)。独立的位置和速度外回路生成扭矩指令,其与期望的前馈扭矩进行组合以限定由内部扭矩控制器保持的输出扭矩的设定点。该内部扭矩控制器能够通过直接观察弹簧挠度而直接比较所希望的和实际的输出扭矩作为两个编码器位置之间的差。这一误差被用来计算针对向该弹簧和齿轮系的输入施加适当的扭矩的电动机的PWM命令。在一个示例性比例控制器中,添加额外的功能,以帮助弥补公用齿轮系非线性。例如,为了防止齿轮侧隙和传感器噪声引起的振荡,添加“死区”,在其中误差被假定为零。为了克服齿轮系静摩擦,可以添加“冲压”因子。还可以为每个控制器设置最大输出限制。为了减轻积分项的饱和,其输出可以被限制为PD输出和所设置的输出电平之间的差。例如,使用该方法,如果PD控制已经达到该水平,则该积分项可以减少到0。

机电系统内具有处理器板载模块使显著量的智能能够在该模块之间进行分布。这种智能可用于由模块处理器,基于来自外部实体的高级别命令确定模块级别状态,如本文进一步地描述的。模块级别处理进一步使某些参数的建模成为可能,以试图优化地使用模块的能力。图13是描绘了其处理器1304上具有建模能力的模块1302的框图。在一个实施方式中,数据处理器1304实现了模型1306,其用于该模块的物理参数的建模,而不直接测量该物理参数。例如,该模块可以包括传感器,其用于测量与待建模的物理参数类型相同或不同的第二参数。基于该模型化物理参数,该处理器1304可以采取行动,如命令致动器1308以某种方式赋予该模块1302运动。

在一个实施例中,该模型1306进行操作以在该模块1302中估算一定的温度。针对机电系统的重要挑战是安全地从其致动器1308中提取尽可能多的性能,而不损坏该致动器。对于无刷电动机,对性能的主要限制常常是电动机绕组中的热量积聚。不幸的是,由于位置难够到,这种温度的直接测量是困难的。在一个实施方式中,模块使用对其致动器电动机绕组温度的在线估算,以充分利用超出其连续工作额定值的电动机性能范围。所估算的绕组温度基于该模块1302中在该电动机附近的第二温度传感器、所感测的该电动机的电流消耗,以及该电动机的内部热电阻和电容的模型。将这些输入提供到模型1306,其输出该模型的估算温度。如果所估算的温度指示足够低的温度,该致动器电动机可以是过载的,而不必担心损坏该电动机。

也可以使用模型来估算其他参数。在一个实施例中,使用模型执行扭矩感测。校准上述弹性元件的弹簧常数。一种方法使用无迹卡尔曼滤波器和将电动机的运动和电流消耗考虑在内的启发式函数。状态估算器结合滞后和其他非线性效应的模型,并将该估算器集成到该模块1302的固件中。在另一实施例中,基于其他不同类型的模块1302参数的某些测量来周期性地进行弹性元件的弹簧系数建模。然后,该调整的弹簧系数可以用于确认要施加到该轴以产生期望量的旋转的扭矩量。

如本文所述的模块可以包括各种传感器,其用于感测它们自己的状态和它们所处的环境的状态。图14是描绘了模块的框图,该模块具有的集成传感器的数据被提供给处理器和其他外部实体。模块1402包括将数据传送到处理器1406的一个或多个传感器1404的套件。在一个实施例中,某些模块可以包括传感器,其用于检测它们相关联的模块(如惯性测量单元、3轴陀螺仪、3轴加速度计、3轴磁力计、电压传感器、温度传感器、电流传感器或致动器扭矩传感器)的状态。其他模块可以包括不同的传感器。例如,蛇形机器人配置的头部模块可以包括摄像机传感器。传感器数据可以由该处理器1406内部消耗以,例如调整该模块1402的操作(例如致动器1408功能)。该模块1402可以进一步经由通信通道和交换机1410将传感器数据传输到其外部。当将传感器数据发送到另一个模块或到外部实体时,该模块1402可以使用以太网标准以包的形式发送传感器数据,其中单个包可以包含来自该模块的多个传感器1404的数据。

除了经由在模块之间运行的通信通道传送数据之外,模块可以以其他方式将数据传输到其外部。例如,模块可以包括用于向其他模块或向外部实体传送数据的无线通信能力。图15是描绘了模块1502的框图,该模块经由该模块外部可见的一个或多个灯1504将数据传送到该外部。该灯在该模块1502的外部,是经由外部光传感器1506可检测到的。基于该传感器1506检测到的光,该外部实体或其他模块可以接收来自该模块1502的数据或检测该模块1502的状态。例如,灯1504可以在模块被供电时打开,使得1506处这种光的测得指示该模块1502对于该外部实体来说是打开的。在另一个实施例中,光位于该模块1502的特定位置,使得1506处光的测得(或者因为光的指向远离该传感器而不能检测到)给出了关于该模块1502的取向的外部实体数据。不同颜色的多个灯可以被定位在该模块1502上的特定点处以给出关于该模块的取向的进一步细节。光也可以在波长、亮度上变化或经脉冲以指示模块1502状态数据或该模块1502希望发送的其他数据,例如从该模块1502的传感器中提取的值。

模块可以用为板载处理器和其他组件提供指令的某些固件来配置。在一个实施方式中,固件核心是实时操作系统(RTOS),其被配置成将各种硬件模块的建立和维护分离到单独的线程中。在一个实施例中,选择ChibiOS/RT以现成支持STM32Cortex处理器和支持外围设备(如以太网、串行、模数转换和脉宽调制)的硬件抽象层。低级控制代码可以包括用于位置、速度和扭矩的同时控制的1kHz级联PID回路;执行器速度的稳态卡尔曼滤波;多个传感器读数,包括两个编码器和内部IMU;电动机绕组温度的热模型;以及相邻模块的确认以自动发现机电系统的配置。

模块可以被配置成经由消息传递协议(如Google协议缓冲消息)彼此通信以及与外部实体客户端软件通信。协议缓冲为跨多个计算平台受支持的类型化数据结构定义了固定的序列化格式。协议缓冲的Google C++库可以被移植到ChibiOS,以允许在该模块上对消息进行编码和解码。在一个实施方式中,使用远程过程调用(RPC)。在另一实施方式中,限定单个“元”消息,其限定了多个可以编码模块参数和数据流的可选字段。具有协议缓冲支持的计算环境然后可以通过发送和接收这些元消息与该机电系统交互。这样的协议可以被实现为基本上无状态的,并且消息可以进行事务处理,自然地支持多个并发异步连接。该协议可以通过传输控制协议(TCP)套接字、用户数据报协议(UDP)套接字以及模块之间的串行接口等同地公开,允许依据可用的带宽、所需的控制级别和接口硬件,在各种情况下使用各种灵活的通信策略。模块可以通过在串行接口上将数据交换到相邻模块来传播本地信息,例如它们的配置。

机电系统可以利用某些软件架构样式作为其框架的基础。第一管道和滤波器样式是在处理实时数据的系统中经常发现的数据流模式。该样式通常由两个元素组成:将增量变换应用于数据流的滤波器和作为滤波器之间的单向连接器的管道。滤波器不知道其他滤波器的身份,并且彼此之间没有共享状态。

在一个实施方式中,轻量级通信和编组(LCM)框架被用作用于进程间通信的消息传递框架。LCM是一种低延迟发布-订阅实现手段,其将UDP组播用作向组件广播消息的基础。使用组播意味着,与基于TCP的消息传递服务不同,LCM不需要集中式管理器来将数据转发到适当的订户。这使得组件能够直接通信以及在任何时间以任何顺序启动和停止。这种较低的开销在保证传递的前提下便可达到。在一个实施例中,这样的保证传递可以使用其他机制来恢复。需要可靠传递(例如由TCP提供的可靠传递)的通信可以使用其他机制来处理。LCM支持多种语言,包括C、C++、Java、Python和MATLAB,并支持Windows、Linux、Mac和一些嵌入式平台。

对于机器人系统的控制和估算,如果其内部状态和参数在运行时对于人类操作者是可见的并且可由其动态修改,则典型的滤波器(例如姿态估算或高级自主控制行为)可以更有效。这允许进行更高效的调试和参数调谐,并且在监督自主的情况下常常是需要的。由于这些原因,即使当没有有源元件及其内部参数的先验知识时,也可以采用在运行时与各种滤波元件相接的标准方式。为了进一步使挑战复杂化,滤波器可以在目的、方法,甚至它们用以实现的语言方面显着不同。例如,MATLAB可用于用复杂的数学运算进行滤波器和控件的原型设计和开发,C/C++可用于具有显着性能要求的稳定代码,以及Java可用于需要跨平台运行的滤波器。

为了解决这个问题,系统可以限定行为或具有公用接口元件的滤波块的概念,称为行为参数,其在运行时通过事件总线是可见的和可修改的。虽然这可以使用与前面提到的管道和滤波器结构相同的发布-订阅框架,但它在概念上可以有分别。行为参数是一种简单的数据对象,其将类型化的变量和其值的允许范围(允许约束,例如将PID常数限制为严格正数)组合起来。系统可以将两个事件通道专用于行为机制。第一个是参数更改通道,参数更改事件将在其上发布。行为听从这个通道并对它们针对的事件做出反应。第二通道是行为状态广播通道,各个行为在它们的参数中一个发生改变或根据请求时在该通道上发布它们的完全内部状态。

在一个实施方式中,系统用C++、Java和MATLAB实现行为。图16描绘了允许操作者执行如下的示例性用户界面:观察网络上的任何运行行为;停止主动行为;开始已知的非活动行为;以及通过适当的控制来查看和更改行为参数。这样的界面允许有一种简单且通用的方式来修改内部行为参数而不需要修改底层代码。

在模块上编码的固件和/或软件可以执行各种功能。可以根据需要或根据期望经由在模块通信通道(例如本文的某些实施方式中描述的以太网通道)上传输的更新来更新模块级的这类固件和/或软件。在一个实施方式中,模块可以被配置成执行操作以确认其在机电系统中的配置。例如,在具有一系列连接的模块的机电系统中,该模块可以被配置成确定它们在该系列中出现的顺序(例如,在电动机械系统的蛇形或腿中第一、第二、第三)。这种检测可以取代手动确认(例如IP地址的手动设置),从而实现更快且更灵活的即插即用型设置。

图17是框图,其描绘了模块确认它们在一系列模块中的位置的一种机制。该图描绘了多个模块1702、1704、1706,每个模块分别包括交换机1703、1705、1707。该模块1702、1704、1706被连接到外部实体1708,从中接收命令。在一个实施方式中,该外部实体1708向该模块1702、1704、1706发出命令以确认该模块在该系列中的位置。一旦模块知道其位置,其可以响应于来自该外部实体1708或其他模块而被导向其的命令和数据。在一个实施例中,该模块1702、1704、1706和该外部实体1708被配置成检测被结合到该系统中的模块的数量(n)以及这些模块在该系统中的位置。这可以通过命令所有模块1702、1704、1706打开它们的交换机1703、1705、1707的输入端口并关闭那些交换机的输出端口来实现。该外部实体1708沿着运行通过一系列模块1702、1704、1706的通信通道传输信号(例如,表示这是针对该第一模块的消息的包)。只有第一模块1702将接收这一信号,因为交换机1703的出站端口被关闭了。当该第一模块1702接收到该信号时,它便存储一种表示其是该系列中的第一模块的指示符。该第一模块1702然后打开其交换机1703的出站端口并向该外部实体1708发送确认信息。该外部实体1708然后发送由该第一模块1702和第二模块1704接收的第二信号。已经被标识为队列中第一的该第一模块忽略该信号,而该第二模块1704意识到它是队列中第二并且存储该事实的指示符。该第二模块1704打开其交换机1705的出站端口并向该外部实体1708发送确认信息,并且重复该过程。重复该过程,直到该外部实体1708不再接收到确认信息。基于这种确认信息的缺少,该外部实体1708则知道所连接的模块系列中的模块数量(例如3)。

在其他实施方式中,可以将其他机制用于模块以确认它们的拓扑和排序。在一个实施方式中,模块被配置成改变操作特性(例如,在串行接口上切换发送和接收端口),其中相邻模块可以检测改变的特性并确定它们的相对定位。

机电系统中的模块可以采用各种各样的形式。图18-20描绘了用于赋予轮子和连接到该轮子的外部元件扭矩的T形槽兼容模块。如图18中描绘的T形槽兼容模块与现有的T形槽兼容硬件兼容,其中该模块在其四侧均包括T形槽以便于连接。在一个实施方式中,该模块利用标准的T形槽铝(例如,与80/20品牌10系列产品兼容)并使用标准的1英寸螺栓图案以使得能够以很少的时间和精力连接到现有的设置和新设计中。

该T形槽兼容模块包括用于赋予该模块的轮部分1802扭矩的集成伺服致动器。硬件可以,例如经由集成的螺钉接收器附接到该轮部分1802。该致动器将扭矩施加到该轮部分1802,该轮部分将旋转运动赋予被连接到该轮部分的可旋转体。该T槽兼容模块可物理地连接到其他模块并用于数据通信。在电气级别上,可以使用Google的可扩展协议缓冲协议通过标准的以太网处理通信。该模块可以包括传感器,其能够在齿轮系之后通过双编码器系列弹性级实现3轴惯性测量、可控的电动机速度,以及高带宽可控扭矩输出。

图19是框图,其描绘了图18的T形槽兼容模块的示例性组件。模块1902包括处理器1904,其被配置成经由通信通道1906与该模块1902的外部通信。致动器1908响应于该处理器1904,以通过应命令旋转该模块1902的轮部分1910在该模块1902中赋予运动。该轮部分1910被配置成具有连接到其上(例如,通过螺钉或其他紧固件)的外部部件1912,使得该轮部分1910的旋转也旋转该外部部件1912。在一个实施方式中,该轮部分1910(例如反馈回路到该处理器1904的一部分)的位置被监测,以保持对该车轮部分1910的正确定位。在一个实施例中,这类位置感测使用一对传感器—低分辨率第一传感器1914和高分辨率第二传感器1916—进行。该低分辨率第一传感器1914,例如光学地使用定位在该轮部分1910的面向内部的表面上的色轮来指示该轮部分的起始位置,其中在某一位置处的颜色由该第一传感器1914观察。该高分辨率第二传感器1916精确地测量由该第一传感器1914检测到的初始位置处开始的旋转。组合地,该处理器1904将来自这两个传感器1914、1916的测量结果用于确定轮1910的当前定位。图20是描绘横杆2002的照片,该横杆被连接到具有由致动器旋转的可旋转的轮部分的模块2004。该横杆2002经由支架和螺钉2006被连接到该模块2004。虽然图18-20的实施例描绘了赋予模块的轮部件扭矩,在其他实施例中,扭矩和旋转可以被赋予模块的其他结构以及连接到模块的外部结构中。

模块也可以采取各种其他形式。图21是描绘了不包括内部致动器或传感器的接口模块的图。与本文描述的其他模块类似,图21的模块2102包括处理器2104;以及交换机2106,其与通信通道相互作用以与其他模块或外部实体通信。图21的模块2102进一步包括通信端口2108。外部致动器或传感器可以被连接到该通信端口2108(例如,经由USB连接)以向机电系统提供额外的能力。在一个实施方式中,这类外部外围设备可以以即插即用的方式并入该系统中,从而经由以太网通信通道与其他实体通信,提供高度的系统定制。

图22描绘了夹持器模块形式的另一模块类型。夹持器模块2202包括用于促进与其他模块或其他外部实体的物理和数据连接的接口部分2204。夹持器部分包括可以两个叶片2206、2208,其经由处理器和致动器可以可控地操纵以执行期望的功能(例如夹持功能)。在图22的实施方式中,第一叶片2206刚性地附接到该夹持器模块2202并且不移动。第二叶片2208经由轴2210被连接到该夹持器模块2202,该轴是可以由该夹持器模块2202内部的致动器旋转的。该模块2202可以包括各种用于增强该夹持器模块2202的操作的传感器。扭矩传感器可以与内部弹性致动器结合以提供关于该第二叶片2208是否已被移动到期望位置的反馈。可以结合力传感器以感测由该叶片中的一个感知到的力的量。对由该夹持器模块2202内部的处理器操作的控制算法中的这种力的限制可以实现该夹持器模块的轻柔夹持,而不损坏该模块2202或被抓取的物体。该夹持器模块2202可以结合到各种各样的机电系统,包括图4的多腿式机器人中,其中这种夹持器模块可以作为头部模块(例如,嘴)或在一只或多只腿的端部(例如,作为一只(或多只)手)操作。

图23-25描绘了机电系统的示例性操作。图23-24描绘了连接有叉2304的机电系统2302,该系统2302被配置成将食物刺穿到该叉2304上并

将该食物朝向人的嘴平移。图23-24的实施例描绘了软实时/硬实时软件配置。通过将该机电系统2302手动定位在多个位置(例如,刺穿食物,沿着朝向嘴的平移的3个位置,以及图24中描绘的用嘴取掉食物的最终位置)上来训练该系统。该机电系统的这些位置由外部实体记录。该外部实体然后命令这些位置的回放作为对该机电系统2302的模块的软实时命令。这些软实时命令指示要实现的结果(即在记录的位置之一处的机电系统)。该机电系统2302的模块的处理器被配置成基于其当前位置和配置的自感测来实现命令位置。该模块处理器向它们的致动器发出命令,作为必须在已知时间段内完成的硬实时命令,其中那些致动器的一致操作产生了期望的系统2302配置。

图25描绘了被配置成在平面中如在2504处所示进行旋转的机电系统2502。该系统2502的模块之一中的传感器检测图25的实施例中手2506提供的障碍。这种感测可以以各种方式执行,例如感测提供命令运动所需的增加的扭矩、加速度计、振动感测或其他。在一个实施方式中,在感测到意外的系统事件(例如因手中断)后,该系统2502的模块被配置成采取保护动作以减轻对该系统2502或障碍物2506的损害。例如,该系统2502可以被配置成停止,反向或确定不同的用于到达其经编程的命令端点的路径以,优选地保持该系统2502和该障碍物2506的安全性。因此,在一个实施方式中,可以在该机电系统中全局地利用由传感器检测到的一个模块上的异常,这,在一个实施方式中,基于所检测到的异常产生了协调的动作。

本书面说明书使用实施例来披露本发明,包括最佳模式,并且还使得本领域技术人员能够实现和使用本发明。本发明的可专利范围可以包括本领域技术人员想到的其他实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1