HK1237306B - Systems and methods for modular units in electro-mechanical systems - Google Patents

Systems and methods for modular units in electro-mechanical systems Download PDF

Info

Publication number
HK1237306B
HK1237306B HK17111338.9A HK17111338A HK1237306B HK 1237306 B HK1237306 B HK 1237306B HK 17111338 A HK17111338 A HK 17111338A HK 1237306 B HK1237306 B HK 1237306B
Authority
HK
Hong Kong
Prior art keywords
module
modules
actuator
command
external entity
Prior art date
Application number
HK17111338.9A
Other languages
Chinese (zh)
Other versions
HK1237306A1 (en
Inventor
大卫.罗林森
弗洛里安.恩纳
马修.特希
豪伊.乔塞特
弗雷德里克.柯蒂斯.雷顿
Original Assignee
卡内基梅隆大学
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 卡内基梅隆大学 filed Critical 卡内基梅隆大学
Publication of HK1237306A1 publication Critical patent/HK1237306A1/en
Publication of HK1237306B publication Critical patent/HK1237306B/en

Links

Description

用于机电系统中的模块化单元的系统和方法Systems and methods for modular units in electromechanical systems

相关申请的交叉引用CROSS-REFERENCE TO RELATED APPLICATIONS

本申请要求2014年5月9日提交的标题为“Modularity in the Context of SnakeRobots”的美国临时申请号61/991,078,以及2014年5月12日提交的标题为“ModularRobotic Units”的美国临时申请号61/991,665的优先权,这两者的全部内容通过引用并入本文。This application claims priority to U.S. Provisional Application No. 61/991,078, filed May 9, 2014, entitled “Modularity in the Context of Snake Robots,” and U.S. Provisional Application No. 61/991,665, filed May 12, 2014, entitled “Modular Robotic Units,” both of which are incorporated herein by reference in their entireties.

本披露涉及2014年5月23日提交的美国专利申请号14/286,316,其全部内容通过引用并入本文。This disclosure is related to U.S. Patent Application No. 14/286,316, filed May 23, 2014, the entire contents of which are incorporated herein by reference.

技术领域Technical Field

本文所述的技术通常涉及机电系统,以及更具体地涉及作为用于机电系统的组件的模块化单元(modular unit)。The technology described herein relates generally to electromechanical systems and, more particularly, to modular units as components for electromechanical systems.

发明背景Background of the Invention

机电设备是涉及电信号的使用来创建机械运动或者涉及机械运动的使用来创建电信号的设备,其具有从流水线自动化到电动打字机再到汽车起动电动机等的无数用途。对于机电设备的其他应用仅受人类智慧限制,每天都有进一步的实现手段得到开发。这种不断发展的技术将受益于模块化“积木”,多种机电系统可以以最小的设置和配置由其创建。Electromechanical devices, which involve the use of electrical signals to create mechanical motion or the use of mechanical motion to create electrical signals, have countless applications, from assembly line automation to electric typewriters to automobile starter motors. Additional applications for electromechanical devices are limited only by human ingenuity, with further implementations being developed every day. This evolving technology will benefit from modular "building blocks" from which a wide variety of electromechanical systems can be created with minimal setup and configuration.

发明概述SUMMARY OF THE INVENTION

提供了用于机电系统的系统和方法。一种系统包括多个连接的模块。该模块的第一模块包括致动器,其用于赋予该机电系统运动;以及数据处理器,其被配置成感测该第一模块的状态并命令该致动器修改该第一模块的该状态。Systems and methods for electromechanical systems are provided. A system includes a plurality of connected modules. A first module of the modules includes an actuator for imparting motion to the electromechanical system; and a data processor configured to sense a state of the first module and command the actuator to modify the state of the first module.

附图说明BRIEF DESCRIPTION OF THE DRAWINGS

图1是框图,其描绘了可以集成以形成机电系统的多个连接的模块的第一模块。FIG. 1 is a block diagram depicting a first of a plurality of connected modules that may be integrated to form an electromechanical system.

图2是框图,其描绘了第一和第二连接的模块,每个具有一定程度的赋予机电系统运动的自由度。FIG. 2 is a block diagram depicting first and second connected modules, each having a degree of freedom that imparts motion to the electromechanical system.

图3是框图,其描绘了机电系统的模块的示例性实现手段。FIG3 is a block diagram illustrating an exemplary implementation of modules of an electromechanical system.

图4是描绘了集成到具有六条腿的多腿式机器人的多个模块的图。FIG. 4 is a diagram depicting a plurality of modules integrated into a multi-legged robot having six legs.

图5是描绘了用于机电系统的蛇形配置中多个模块的另一配置的图。5 is a diagram depicting another configuration of multiple modules in a serpentine configuration for an electromechanical system.

图6-8描绘了被配置成连接到其他模块以形成机电系统的示例性模块。6-8 depict example modules configured to connect to other modules to form an electromechanical system.

图9左边描绘了示例性头部模块而右边描绘了示例性尾部模块。FIG. 9 depicts an exemplary head module on the left and an exemplary tail module on the right.

图10是描绘了旋转轴的图,致动器与该旋转轴相互作用,以赋予机电系统的示例性模块运动。10 is a diagram depicting a rotational axis with which an actuator interacts to impart motion to an exemplary module of an electromechanical system.

图11描绘了图6中所示的示例性模块的横截面。FIG. 11 depicts a cross-section of the exemplary module shown in FIG. 6 .

图12描绘了用于,例如向图6-9中所描绘的模块提供模块运动控制的框图。FIG. 12 depicts a block diagram for providing module motion control, for example, to the modules depicted in FIGs. 6-9 .

图13是描绘了其处理器上具有建模能力的模块的框图。FIG13 is a block diagram depicting modules having modeling capabilities on its processor.

图14是描绘了模块的框图,该模块具有的集成传感器的数据被提供给处理器和其他外部实体。FIG14 is a block diagram depicting a module having integrated sensor data provided to a processor and other external entities.

图15是描绘了模块的框图,该模块经由该模块外部可见的一个或多个灯将数据传送到该外部。15 is a block diagram depicting a module that communicates data to the outside via one or more lights visible externally of the module.

图16描绘了允许操作者执行各种功能的示例性用户界面。FIG. 16 depicts an exemplary user interface that allows an operator to perform various functions.

图17是框图,其描绘了模块确认它们在一系列模块中的位置的一种机制。FIG17 is a block diagram illustrating a mechanism by which modules identify their position in a series of modules.

图18-20描绘了用于赋予轮子和连接到该轮子的外部元件扭矩的T形槽兼容模块。18-20 depict a T-slot compatible module for imparting torque to a wheel and an external component connected to the wheel.

图21是描绘了不包括内部致动器或传感器的接口模块的图。21 is a diagram depicting an interface module that does not include internal actuators or sensors.

图22描绘了夹持器模块形式的另一模块类型。FIG. 22 depicts another module type in the form of a gripper module.

图23-25描绘了机电系统的示例性操作。23-25 depict exemplary operation of the electromechanical system.

发明详述Detailed Description of the Invention

图1是框图,其描绘了可以集成以形成机电系统的多个(2个或更多)连接的模块的第一模块100。一种机电系统,在本披露的一个实施方式中,包括多个连接的模块。该第一模块100包括主体102,用于赋予该机电系统运动的致动器104被定位在其中。该第一模块100进一步包括数据处理器106。该数据处理器106被配置成感测该第一模块100的状态并命令该致动器104修改该第一模块100的该状态。例如,外部实体可以命令该机电系统呈现一定的形状或执行某一动作,以及该模块(包括第一模块100)的处理器将进行操作以通过该致动器104的自状态监测和命令实现该命令。Figure 1 is a block diagram depicting a first module 100 of a plurality (2 or more) connected modules that can be integrated to form an electromechanical system. An electromechanical system, in one embodiment of the present disclosure, includes a plurality of connected modules. The first module 100 includes a body 102 in which an actuator 104 for imparting motion to the electromechanical system is positioned. The first module 100 further includes a data processor 106. The data processor 106 is configured to sense a state of the first module 100 and command the actuator 104 to modify the state of the first module 100. For example, an external entity can command the electromechanical system to assume a certain shape or perform a certain action, and the processor of the module (including the first module 100) will operate to implement the command through self-state monitoring and command of the actuator 104.

该第一模块100被连接到一个或多个附加模块,例如下一个第二连接的模块108。如本文进一步讨论的,第二模块108,例如经由螺纹套环110被物理地连接到该第一模块100中。该第二模块108经由在模块(例如模块100、108)之间运行的通信通道112被进一步连接到该第一模块以及在一个实施例中,连接到外部实体。在本披露的一个实施方式中,该通信通道使用以太网标准(例如,传输加密的数据和命令)进行操作,其中在一个实施例中,该通信通道使用TCP/IP协议进行操作。使用这样普遍存在的协议使得能够容易地设置模块间的通信并且试图结合各种现成的辅助硬件(例如,传感器硬件,如数码相机、红外传感器、麦克风、化学传感器)。而在某些配置中以太网标准可能不能保证通道上所有通信的递送(尽管这种保证可以使用其他方式进行),以太网硬件的广泛存在和设置的相对容易,在一些实施方式中,使以太网相比更苛刻的协议,如EtherCAT成为优选的选择。为了便于通信,该第一模块100包括三端口交换机108,通过其,该第一模块100可以在该第一模块100、该第二模块108和其他模块的处理器106和任何外部实体(例如从中接收命令的外部实体)之间中继通信。使用三端口交换机108的系统可以便于以串行方式(例如端对端)连接模块。在其他实施方式中,具有更多端口的交换机可以被实现,以便于模块的非串行连接或与模块(例如第一模块100)相关联的实体(例如其他传感器或致动器)的通信集成,而无需首先遍历(traversing)处理器106的这种数据。The first module 100 is connected to one or more additional modules, such as the next second connected module 108. As further discussed herein, the second module 108 is physically connected to the first module 100, for example, via a threaded collar 110. The second module 108 is further connected to the first module and, in one embodiment, to an external entity via a communication channel 112 running between the modules (e.g., modules 100, 108). In one embodiment of the present disclosure, the communication channel operates using the Ethernet standard (e.g., transmitting encrypted data and commands), wherein in one embodiment, the communication channel operates using the TCP/IP protocol. Using such a ubiquitous protocol makes it easy to set up inter-module communication and attempts to combine various readily available auxiliary hardware (e.g., sensor hardware, such as digital cameras, infrared sensors, microphones, chemical sensors). While the Ethernet standard may not guarantee the delivery of all communications on the channel in some configurations (although such guarantees can be made using other methods), the widespread existence of Ethernet hardware and the relative ease of setup make Ethernet a preferred choice over more demanding protocols such as EtherCAT in some embodiments. To facilitate communication, the first module 100 includes a three-port switch 108, through which the first module 100 can relay communications between the processors 106 of the first module 100, the second module 108, and other modules and any external entities (e.g., external entities from which commands are received). A system using a three-port switch 108 can facilitate connecting modules in a serial manner (e.g., end-to-end). In other embodiments, a switch with more ports can be implemented to facilitate non-serial connection of modules or communication integration of entities associated with modules (e.g., first module 100) (e.g., other sensors or actuators) without first traversing such data through the processor 106.

机电系统可以使用如本文所述的那些模块以各种拓扑结构来形成。某些模块可以以不同的拓扑结构被重用,为给定的应用提供需要的灵活性和容易的集成。在一个实施方式中,机电系统中的某些或所有的模块是相同的,而在其他实施方式中,各种各样的不同类型的模块被用于实现所期望的机电系统。在本披露的一个实施方式中,该模块,如本文进一步描述的,经智能编程以检测它们的配置并按照所检测到的配置进行操作。Electromechanical systems can be formed using modules such as those described herein in a variety of topologies. Certain modules can be reused in different topologies to provide the flexibility and ease of integration required for a given application. In one embodiment, some or all of the modules in the electromechanical system are identical, while in other embodiments, a variety of different types of modules are used to implement the desired electromechanical system. In one embodiment of the present disclosure, the modules, as further described herein, are intelligently programmed to detect their configuration and operate according to the detected configuration.

图2是框图,其描绘了第一和第二连接的模块,每个具有一定程度的赋予机电系统运动的自由度。机电系统包括端对端连接的第一模块202和第二模块204。该连接包括物理连接206;以及数据连接,其经由通信通道208实现了模块202、204和经由交换机210向该机电系统提供命令的任何外部实体之间的通信。该第一模块202的处理器212经由该通信通道208与外部实体以及进一步与致动器214通信,该致动器被配置成赋予该第一模块202本身并进一步赋予该机电系统运动。在本披露的一个实施方式中,其他的模块,如该第二模块204还包括用于赋予那些模块运动并进一步移动该机电系统的致动器。致动器以及可以被赋予模块(例如202、204)和较大的机电系统的运动的类型可以采取各种形式,包括平移运动(例如扩展、收缩)、旋转运动和振荡运动。FIG2 is a block diagram depicting first and second connected modules, each having a degree of freedom that imparts motion to a mechatronic system. The mechatronic system includes a first module 202 and a second module 204 connected end-to-end. The connection includes a physical connection 206; and a data connection that enables communication between the modules 202, 204 and any external entities providing commands to the mechatronic system via a switch 210 via a communication channel 208. The processor 212 of the first module 202 communicates with the external entities via the communication channel 208 and further with an actuator 214, which is configured to impart motion to the first module 202 itself and further to the mechatronic system. In one embodiment of the present disclosure, other modules, such as the second module 204, also include actuators for imparting motion to those modules and further moving the mechatronic system. The actuators and the type of motion that can be imparted to the modules (e.g., 202, 204) and the larger mechatronic system can take various forms, including translational motion (e.g., expansion, contraction), rotational motion, and oscillatory motion.

在图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的实施例描绘了每个具有一定自由度的模块,但是如本文进一步描述的,其他示例性模块可以具有更大、更小或不同的自由度。In the exemplary side view of FIG2 , the first module 202 includes an actuator 214 for imparting rotational motion to a first end 216 of the first module 202 relative to a second end 218, thereby providing the module 202 with a degree of freedom of motion. In this embodiment, the actuator 214 is configured to impart torque, causing the first end 216 to rotate relative to a first axis 220, as indicated at 222. The actuator 214 can impart torque and corresponding motion to the first module 202 based on commands received from the processor 212. In addition to the first module 202 having a degree of freedom of motion and the actuator 214 being used to impart such degrees of freedom, other modules, such as the second module, may also have a degree of freedom of motion that may or may not be consistent with the degrees of freedom of the first module 202. In one embodiment of the present disclosure, the degrees of freedom of the second module 204 are orthogonal to the degrees of freedom of the first module 202. In other embodiments, the degrees of freedom of the second module 204 are not orthogonal (e.g., offset by 30, 45, or 60 degrees) to the degrees of freedom of the first module 202. In other embodiments of the present disclosure, the degrees of freedom of motion of the first module 202 can be greater or less than 90 degrees in each direction relative to the first axis 220. While the embodiment of FIG. 2 depicts each module having certain degrees of freedom, other exemplary modules can have greater, lesser, or different degrees of freedom, as further described herein.

图3是框图,其描绘了机电系统的模块的示例性实现手段。该模块302包括处理器304,其采取Cortex M4F处理器的形式。该处理器304被配置成经由由三端口以太网交换机306促进的以太网协议,与上游(例如第二模块)和下游(例如第三模块和第四模块)模块和外部实体进行通信。该处理器进一步响应于用于分别与相邻的(例如紧紧相邻的)上游模块和相邻的下游模块通信的两个串行通信接口308、310。该处理器304还与一个或多个传感器和附随的编码器,如传感器组件312进行通信。在图3的实施例中,该模块302包括惯性测量单元传感器、电流传感器、电压传感器和温度传感器。在其他实现方式中,模块可以包括更少或更多的传感器(例如视频捕获传感器、麦克风)。该模块302还包括部件314、316,其执行用于赋予该模块302运动的致动器的功能。在图3的实施例中,该致动器包括用于赋予该模块302的一部分或连接到该模块的物体运动(例如旋转运动)的无刷电动机驱动器和电流电动机,其中的实施例在本文中进一步描述。该模块被进一步配置成当连接时彼此供电,使得所有的模块可以由外部电源供电。该模块可以进一步包括用于内部功率存储的电源并且可以包括自主发电功能(例如经由集成的太阳能电池)。在一个实施方式中,电池模块包括用于存储功率并将该功率分配到其他模块的内部电池,使得机电系统可以无线操作,而无需接入外部电源。FIG3 is a block diagram illustrating an exemplary implementation of a module for an electromechanical system. Module 302 includes a processor 304 in the form of a Cortex M4F processor. Processor 304 is configured to communicate with upstream (e.g., the second module) and downstream (e.g., the third and fourth modules) modules and external entities via an Ethernet protocol facilitated by a three-port Ethernet switch 306. The processor further responds to two serial communication interfaces 308 and 310 for communicating with adjacent (e.g., closely adjacent) upstream modules and adjacent downstream modules, respectively. Processor 304 also communicates with one or more sensors and accompanying encoders, such as sensor assembly 312. In the embodiment of FIG3 , module 302 includes an inertial measurement unit sensor, a current sensor, a voltage sensor, and a temperature sensor. In other implementations, the module may include fewer or more sensors (e.g., a video capture sensor, a microphone). Module 302 also includes components 314 and 316 that perform the functions of actuators for imparting motion to module 302. In the embodiment of Fig. 3, the actuator includes a brushless motor driver and a current motor for imparting a part of the module 302 or an object motion (e.g., rotational motion) to the module 302, embodiments of which are further described herein. The module is further configured to power each other when connected so that all modules can be powered by an external power source. The module can further include a power supply for internal power storage and can include an autonomous power generation function (e.g., via an integrated solar cell). In one embodiment, a battery module includes an internal battery for storing power and distributing the power to other modules so that the electromechanical system can operate wirelessly without access to an external power source.

如本文所述的模块可以按无数的配置进行组装,以实现所期望的机电系统。图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的端部)以作为手部进行操作。The modules described herein can be assembled in countless configurations to achieve the desired electromechanical system. FIG4 is a diagram depicting multiple modules integrated into a multi-legged robot having six legs. The multi-legged robot is capable of walking and translating using its legs and can grasp objects via grippers integrated into the head module or hand module. The multi-legged robot may further include various sensors for providing data for operating the electromechanical system and for analysis by an operator (e.g., a user; or an external entity, such as a server issuing commands to the multi-legged robot). The multi-legged robot can be implemented with 1 to n legs, where n is an integer greater than 1. The six-legged robot of FIG4 includes three identical modules 402, 404, 406 connected in each leg. Each of the modules 402, 404, 406 has certain degrees of freedom, wherein in the embodiment of FIG4, the degrees of freedom of module 402 are orthogonal to the degrees of freedom of module 404. A spacer assembly 408 is positioned between modules 404 and 406, wherein the spacer assembly 408 may include hardware to propagate communications between all modules without providing actuators and imparting motion. A rigid foot module 410 is positioned at the end of each leg. The foot module 410 may not include electronic components; or, in one embodiment, may include actuators, sensors, or other hardware for implementing the desired functionality of the multi-legged robot. In one embodiment, the foot module 410 includes a force sensor. The main body module 412 facilitates communication between modules of different legs and external entities via communication ports 414, such as providing a multi-port switch for transmitting messages sent between such hardware via the Ethernet standard. In one embodiment, additional modules are incorporated into the multi-legged robot, such as a gripper module, as further disclosed herein. Such a gripper module can be attached to the main body module 412 to act as the head of the multi-legged robot for gripping or can be attached to one of the legs (e.g., the end of module 402) to operate as a hand.

图5是描绘了用于机电系统的蛇形配置中多个模块的另一配置的图。图5的该机电系统包括每个都具有一定自由度的14个相同的模块(例如模块502),其中特定模块502的这种自由度的运动受该模块502中的处理器和致动器控制。该模块以串行方式进行物理连接并进一步彼此连接,以经由沿这一系列的模块从一个模块被传到下一个模块的数据通道(例如以太网),进行数据传输。该蛇形配置可以以各种方式,如滑行运动、翻滚运动或其他旋转方式平移。除了相同的模块之外,蛇形机器人还包括头部模块504,其包括该蛇形机器人的其他模块上可能不存在的各种传感器(例如摄像机)和其他硬件(例如灯)。在一个实施方式中,该头部模块504包括高清摄像机,其提供实况视频资料,而四个LED可用于将较暗的环境照亮。在一个实施方式中,该摄像机是通过模块运行的以太网通信总线启用的现成的IP摄像机。该蛇形配置的尾部模块506包括连接到外部实体的数据端口,用于接收命令并且输出数据(包括机电系统的状态数据和检测到的传感器数据)。在一个实施方式中,该尾部模块506包括磁结构,以支持扩展的以太网系绳(Ethernet tether)以及集成滑环。在这样的实施方式中,系绳连接器支持两个高电流的电源线和六个信号导体。FIG5 is a diagram depicting another configuration of multiple modules in a serpentine configuration for an electromechanical system. The electromechanical system of FIG5 includes 14 identical modules (e.g., module 502), each having a certain degree of freedom, wherein the movement of the degree of freedom of a particular module 502 is controlled by a processor and actuator in the module 502. The modules are physically connected in a serial manner and further connected to each other to transmit data via a data channel (e.g., Ethernet) from one module to the next along the series of modules. The serpentine configuration can translate in various ways, such as gliding motion, tumbling motion, or other rotational motions. In addition to the identical modules, the snake-like robot also includes a head module 504, which includes various sensors (e.g., cameras) and other hardware (e.g., lights) that may not be present on other modules of the snake-like robot. In one embodiment, the head module 504 includes a high-definition camera that provides live video feed, while four LEDs can be used to illuminate darker environments. In one embodiment, the camera is an off-the-shelf IP camera enabled by the Ethernet communication bus running through the modules. The serpentine tail module 506 includes a data port for connecting to external entities to receive commands and output data (including status data of the electromechanical system and detected sensor data). In one embodiment, the tail module 506 includes a magnetic structure to support an extended Ethernet tether and integrated slip rings. In such an embodiment, the tether connector supports two high-current power lines and six signal conductors.

图6-8描绘了被配置成连接到其他模块以形成机电系统的示例性模块。参考图6,该模块的外部包括两个区段602、604。第一区段602包括数据处理器和用于赋予该模块600运动的致动器。该处理器和该致动器行为一致,以赋予扭矩,该扭矩通过轴607的旋转,使该第一区段602和该第二区段604相对于彼此以第一自由度旋转,如606处所指示。该轴607的旋转赋予第一部分602中弹性元件可预测的剪切力,使得该处理器和致动器可以赋予该轴特定的扭矩以赋予该第二区段604相对于该第一部分602可预测量的旋转。在图6的实施例中,该致动器能够赋予扭矩,使得该第二区段604可以相对于该第一区段602在任一方向上被旋转到90度,提供可得的180度运动。在一个实施方式中,模块的壳体由7075铝机加工而成并被阳极化为红色以防止磨损和腐蚀。Figures 6-8 depict an exemplary module configured to connect to other modules to form an electromechanical system. Referring to Figure 6 , the exterior of the module includes two sections 602 and 604. The first section 602 includes a data processor and an actuator for imparting motion to the module 600. The processor and actuator act in concert to impart a torque that, through rotation of a shaft 607, causes the first section 602 and the second section 604 to rotate relative to each other in a first degree of freedom, as indicated at 606. Rotation of the shaft 607 imparts a predictable shear force to the elastic elements in the first section 602, allowing the processor and actuator to impart a specific torque to the shaft to impart a predictable amount of rotation to the second section 604 relative to the first section 602. In the embodiment of Figure 6 , the actuator is capable of imparting a torque that allows the second section 604 to be rotated up to 90 degrees in either direction relative to the first section 602, providing a total of 180 degrees of motion. In one embodiment, the housing of the module is machined from 7075 aluminum and anodized red to prevent wear and corrosion.

在该模块600任一端的模块间部(inter-module portion)608、610在连接时提供了模块间的物理和数据连接。在一个实施方式中,该模块间部608、610包括坚固的无工具设计。模块可以使用定位销和匹配的凹口对准。示于模块间部608的可旋转的螺纹套环由保持环保持在适当的位置,并且可以用手转动以经由示于模块间部610的螺纹将相邻环锁在一起。在一个实施方式中,这种连接满足IP68潜水标准。两个模块之间的电连接可以用弹簧针连接器进行,该弹簧针连接器在接触相邻模块的控制板上的目标区域的接口板上。这样的布置更耐失准,其中弯曲或折断销可能是个问题。可以包括O形环以密封两端的套环。具有匹配的螺纹、公用电力电缆,以及公用通信协议布线(例如以太网)的任何设备可以与模块相接,允许有用不同类型的模块实现设计和定制的自由度。Inter-module portions 608, 610 at either end of module 600 provide the physical and data connections between the modules when connected. In one embodiment, the inter-module portions 608, 610 comprise a rugged, tool-free design. Modules can be aligned using locating pins and matching notches. The rotatable threaded collar shown in inter-module portion 608 is held in place by a retaining ring and can be manually rotated to lock adjacent collars together via the threads shown in inter-module portion 610. In one embodiment, this connection meets IP68 submersible standards. The electrical connection between two modules can be made using a pogo pin connector on an interface board that contacts a target area on the control board of the adjacent module. This arrangement is more resistant to misalignment, where bent or broken pins can be a problem. O-rings can be included to seal the collars at both ends. Any device with matching threads, a common power cable, and common communication protocol wiring (e.g., Ethernet) can interface with the module, allowing for design and customization freedom with different types of modules.

图7描绘了处于中性状态的模块,其中该第一区段602和该第二区段对准,相对于彼此没有旋转。图7的视图描绘了可旋转的螺纹套环以及提供在模块间部608的数据和电源连接。图8描绘了模块间部的特写视图,其中定位销凹口610、数据连接端口612,以及动力传递目标区域可以更容易地可视化。图9左边描绘了示例性头部模块而右边描绘了示例性尾部模块。FIG7 depicts the module in a neutral state, wherein the first section 602 and the second section are aligned and not rotated relative to each other. The view of FIG7 depicts the rotatable threaded collar and the data and power connections provided in the inter-module portion 608. FIG8 depicts a close-up view of the inter-module portion, wherein the locating pin recess 610, the data connection port 612, and the power transfer target area can be more easily visualized. FIG9 depicts an exemplary head module on the left and an exemplary tail module on the right.

图10是描绘了旋转轴的图,致动器与该旋转轴相互作用,以赋予机电系统的示例性模块运动。该致动器被配置成施加扭矩到位于模块的如图6中602处所示的第一区段中的轴1002,从而旋转如图6中604处所示的该第二区段。当该致动器旋转轴1004时,弹性元件1004,如图10中所描绘的锥形弹性元件,具有施加于其上的剪切力。被施加于该弹性元件1004的用于该轴1002的不同程度的转动的剪切力是可预测的,使得该致动器和处理器知道被赋予该轴1002来实现模块区段的所需旋转量的扭矩量。定期再校准操作可以被执行以更新实现所需的旋转量必要的扭矩水平,例如以解决该弹性元件1004的变化条件或该模块的其他方面。Figure 10 is a diagram depicting a rotating shaft, with which an actuator interacts to impart an exemplary module motion to an electromechanical system. The actuator is configured to apply torque to the shaft 1002 positioned in the first section of the module, as shown at 602 in Figure 6, thereby rotating the second section, as shown at 604 in Figure 6. When the actuator rotates shaft 1004, elastic element 1004, such as the tapered elastic element depicted in Figure 10, has a shearing force applied thereto. The shearing force applied to the various degrees of rotation of the shaft 1002 applied to the elastic element 1004 is predictable, enabling the actuator and processor to know the torque amount imparted to the shaft 1002 to achieve the desired rotation amount of the module section. Regular recalibration operations may be performed to update the torque level necessary to achieve the desired rotation amount, for example, to address the changing conditions of the elastic element 1004 or other aspects of the module.

图1描绘了图6中所示的示例性模块的横截面。如图11中所示,具有圆锥形横截面的弹性元件1102被嵌入该模块的齿轮系1104的最后一级。该弹性元件1102包括被模制入最后一级的圆锥形橡胶层。在一些实施方式中,该模块包括测量该弹性元件1102的输入和输出角度的两个编码器1106(例如磁编码器)。FIG1 depicts a cross-section of the exemplary module shown in FIG6 . As shown in FIG11 , a resilient element 1102 having a conical cross-section is embedded in the final stage of the module's gear train 1104. The resilient element 1102 comprises a conical rubber layer molded into the final stage. In some embodiments, the module includes two encoders 1106 (e.g., magnetic encoders) that measure the input and output angles of the resilient element 1102.

对该致动器的校准可以使用一个或多个模型(例如,线性模型、诺顿/戴维南阻尼模型、Buc-Wen滞后模型)执行,其中该致动器的当前状态的某些参数可以例如,基于电动机电流和/或内部传感器(例如编码器和温度传感器)得以确定。例如,对该致动器的校准通过测量该致动器的高度齿轮传动电动机的电动机电流以及使用简单线性模型以估算该弹性体1102的扭矩来执行。该电动机电流作为输出扭矩的精确估算值的具体操作条件被确定并被引入递归估算技术(例如递归最小二乘法、无迹卡尔曼滤波器)中,用于实时估算弹簧常数。从而,估出该模块的该输出扭矩。Calibration of the actuator can be performed using one or more models (e.g., linear models, Norton/Thevenin damping models, Buc-Wen hysteresis models), where certain parameters of the current state of the actuator can be determined, for example, based on motor current and/or internal sensors (e.g., encoders and temperature sensors). For example, calibration of the actuator is performed by measuring the motor current of the actuator's highly geared motor and using a simple linear model to estimate the torque of the elastic body 1102. The specific operating conditions for which the motor current is an accurate estimate of the output torque are determined and introduced into a recursive estimation technique (e.g., recursive least squares, unscented Kalman filter) for real-time estimation of the spring constant. Thus, the output torque of the module is estimated.

在一个实施方式中,该致动器利用带有9300RPM的额定速度的Maxon EC 20盘式电动机。电动机输出轴上的小钢齿轮通过包含三个钢铜复合齿轮的齿轮系传输转动。累计齿轮比为349:1,以创建高扭矩接合。这样的电动机和齿轮系组合可以提供7Nm的最大输出扭矩和33RPM的最高速度。In one embodiment, the actuator utilizes a Maxon EC20 disc motor with a rated speed of 9,300 RPM. A small steel gear on the motor's output shaft transmits rotation through a gear train consisting of three steel-bronze composite gears. The cumulative gear ratio is 349:1, creating a high-torque engagement. This motor and gear train combination can deliver a maximum output torque of 7 Nm and a top speed of 33 RPM.

图12描绘了用于,例如向图6-9中所描绘的模块提供模块运动控制的框图。在图11的实施例中,该模块通过级联PID控制支持角位置、速度和扭矩控制。在一个实施方式中,每个PID控制器以1kHz进行操作,虽然目标设定点的更新可能较不频繁(例如以100-200Hz)。独立的位置和速度外回路生成扭矩指令,其与期望的前馈扭矩进行组合以限定由内部扭矩控制器保持的输出扭矩的设定点。该内部扭矩控制器能够通过直接观察弹簧挠度而直接比较所希望的和实际的输出扭矩作为两个编码器位置之间的差。这一误差被用来计算针对向该弹簧和齿轮系的输入施加适当的扭矩的电动机的PWM命令。在一个示例性比例控制器中,添加额外的功能,以帮助弥补公用齿轮系非线性。例如,为了防止齿轮侧隙和传感器噪声引起的振荡,添加“死区”,在其中误差被假定为零。为了克服齿轮系静摩擦,可以添加“冲压”因子。还可以为每个控制器设置最大输出限制。为了减轻积分项的饱和,其输出可以被限制为PD输出和所设置的输出电平之间的差。例如,使用该方法,如果PD控制已经达到该水平,则该积分项可以减少到0。FIG12 depicts a block diagram for providing modular motion control, for example, to the modules depicted in FIG6-9. In the embodiment of FIG11, the module supports angular position, velocity, and torque control via cascaded PID control. In one embodiment, each PID controller operates at 1 kHz, although target setpoint updates may be less frequent (e.g., at 100-200 Hz). Independent position and velocity outer loops generate torque commands, which are combined with the desired feedforward torque to define the output torque setpoint maintained by an internal torque controller. The internal torque controller can directly compare the desired and actual output torques as the difference between two encoder positions by directly observing spring deflection. This error is used to calculate a PWM command for the motor that applies the appropriate torque to the spring and gear train input. In an exemplary proportional controller, additional functionality is added to help compensate for common gear train nonlinearities. For example, to prevent oscillations caused by gear backlash and sensor noise, a "dead band" is added, where the error is assumed to be zero. To overcome gear train static friction, a "ram" factor can be added. Maximum output limits can also be set for each controller. To mitigate saturation of the integral term, its output can be limited to the difference between the PD output and a set output level. For example, using this approach, if PD control has reached that level, the integral term can be reduced to 0.

机电系统内具有处理器板载模块使显著量的智能能够在该模块之间进行分布。这种智能可用于由模块处理器,基于来自外部实体的高级别命令确定模块级别状态,如本文进一步地描述的。模块级别处理进一步使某些参数的建模成为可能,以试图优化地使用模块的能力。图13是描绘了其处理器1304上具有建模能力的模块1302的框图。在一个实施方式中,数据处理器1304实现了模型1306,其用于该模块的物理参数的建模,而不直接测量该物理参数。例如,该模块可以包括传感器,其用于测量与待建模的物理参数类型相同或不同的第二参数。基于该模型化物理参数,该处理器1304可以采取行动,如命令致动器1308以某种方式赋予该模块1302运动。Having processors onboard modules within an electromechanical system enables a significant amount of intelligence to be distributed among the modules. This intelligence can be used by the module processor to determine module-level states based on high-level commands from external entities, as further described herein. Module-level processing further enables modeling of certain parameters in an attempt to optimally utilize the capabilities of the module. Figure 13 is a block diagram depicting a module 1302 having modeling capabilities on its processor 1304. In one embodiment, the data processor 1304 implements a model 1306 that is used to model a physical parameter of the module without directly measuring the physical parameter. For example, the module may include a sensor that measures a second parameter that is the same or different type as the physical parameter to be modeled. Based on the modeled physical parameter, the processor 1304 can take action, such as commanding an actuator 1308 to impart motion to the module 1302 in some manner.

在一个实施例中,该模型1306进行操作以在该模块1302中估算一定的温度。针对机电系统的重要挑战是安全地从其致动器1308中提取尽可能多的性能,而不损坏该致动器。对于无刷电动机,对性能的主要限制常常是电动机绕组中的热量积聚。不幸的是,由于位置难够到,这种温度的直接测量是困难的。在一个实施方式中,模块使用对其致动器电动机绕组温度的在线估算,以充分利用超出其连续工作额定值的电动机性能范围。所估算的绕组温度基于该模块1302中在该电动机附近的第二温度传感器、所感测的该电动机的电流消耗,以及该电动机的内部热电阻和电容的模型。将这些输入提供到模型1306,其输出该模型的估算温度。如果所估算的温度指示足够低的温度,该致动器电动机可以是过载的,而不必担心损坏该电动机。In one embodiment, model 1306 operates to estimate a certain temperature within module 1302. A key challenge for electromechanical systems is safely extracting as much performance as possible from their actuators 1308 without damaging the actuators. For brushless motors, the primary performance limitation is often heat buildup in the motor windings. Unfortunately, direct measurement of this temperature is difficult due to inaccessible locations. In one embodiment, the module uses online estimation of its actuator motor winding temperature to fully exploit the motor's performance range beyond its continuous duty rating. The estimated winding temperature is based on a second temperature sensor located near the motor within module 1302, the sensed current draw of the motor, and a model of the motor's internal thermal resistance and capacitance. These inputs are provided to model 1306, which outputs the model's estimated temperature. If the estimated temperature indicates a sufficiently low temperature, the actuator motor can be overloaded without risk of damage to the motor.

也可以使用模型来估算其他参数。在一个实施例中,使用模型执行扭矩感测。校准上述弹性元件的弹簧常数。一种方法使用无迹卡尔曼滤波器和将电动机的运动和电流消耗考虑在内的启发式函数。状态估算器结合滞后和其他非线性效应的模型,并将该估算器集成到该模块1302的固件中。在另一实施例中,基于其他不同类型的模块1302参数的某些测量来周期性地进行弹性元件的弹簧系数建模。然后,该调整的弹簧系数可以用于确认要施加到该轴以产生期望量的旋转的扭矩量。Models can also be used to estimate other parameters. In one embodiment, torque sensing is performed using a model. The spring constant of the elastic element is calibrated. One approach uses an unscented Kalman filter and a heuristic function that takes into account the motor's motion and current draw. A state estimator incorporates models for hysteresis and other nonlinear effects and is integrated into the firmware of module 1302. In another embodiment, the spring constant of the elastic element is modeled periodically based on certain measurements of different types of module 1302 parameters. This adjusted spring constant can then be used to determine the amount of torque to be applied to the shaft to produce the desired amount of rotation.

如本文所述的模块可以包括各种传感器,其用于感测它们自己的状态和它们所处的环境的状态。图14是描绘了模块的框图,该模块具有的集成传感器的数据被提供给处理器和其他外部实体。模块1402包括将数据传送到处理器1406的一个或多个传感器1404的套件。在一个实施例中,某些模块可以包括传感器,其用于检测它们相关联的模块(如惯性测量单元、3轴陀螺仪、3轴加速度计、3轴磁力计、电压传感器、温度传感器、电流传感器或致动器扭矩传感器)的状态。其他模块可以包括不同的传感器。例如,蛇形机器人配置的头部模块可以包括摄像机传感器。传感器数据可以由该处理器1406内部消耗以,例如调整该模块1402的操作(例如致动器1408功能)。该模块1402可以进一步经由通信通道和交换机1410将传感器数据传输到其外部。当将传感器数据发送到另一个模块或到外部实体时,该模块1402可以使用以太网标准以包的形式发送传感器数据,其中单个包可以包含来自该模块的多个传感器1404的数据。Modules as described herein may include various sensors for sensing their own state and the state of their environment. FIG14 is a block diagram depicting a module having integrated sensor data that is provided to a processor and other external entities. Module 1402 includes a suite of one or more sensors 1404 that transmit data to a processor 1406. In one embodiment, certain modules may include sensors for detecting the state of their associated modules (e.g., an inertial measurement unit, a 3-axis gyroscope, a 3-axis accelerometer, a 3-axis magnetometer, a voltage sensor, a temperature sensor, a current sensor, or an actuator torque sensor). Other modules may include different sensors. For example, a head module of a snake-like robot configuration may include a camera sensor. Sensor data may be consumed internally by the processor 1406 to, for example, adjust the operation of the module 1402 (e.g., the function of the actuator 1408). The module 1402 may further transmit the sensor data externally via a communication channel and switch 1410. When sending sensor data to another module or to an external entity, the module 1402 may send the sensor data in packets using the Ethernet standard, where a single packet may contain data from multiple sensors 1404 of the module.

除了经由在模块之间运行的通信通道传送数据之外,模块可以以其他方式将数据传输到其外部。例如,模块可以包括用于向其他模块或向外部实体传送数据的无线通信能力。图15是描绘了模块1502的框图,该模块经由该模块外部可见的一个或多个灯1504将数据传送到该外部。该灯在该模块1502的外部,是经由外部光传感器1506可检测到的。基于该传感器1506检测到的光,该外部实体或其他模块可以接收来自该模块1502的数据或检测该模块1502的状态。例如,灯1504可以在模块被供电时打开,使得1506处这种光的测得指示该模块1502对于该外部实体来说是打开的。在另一个实施例中,光位于该模块1502的特定位置,使得1506处光的测得(或者因为光的指向远离该传感器而不能检测到)给出了关于该模块1502的取向的外部实体数据。不同颜色的多个灯可以被定位在该模块1502上的特定点处以给出关于该模块的取向的进一步细节。光也可以在波长、亮度上变化或经脉冲以指示模块1502状态数据或该模块1502希望发送的其他数据,例如从该模块1502的传感器中提取的值。In addition to transmitting data via communication channels operating between modules, modules can transmit data externally in other ways. For example, a module may include wireless communication capabilities for transmitting data to other modules or to external entities. Figure 15 is a block diagram depicting a module 1502 that transmits data to the external environment via one or more lights 1504 visible from the module's exterior. The lights are external to module 1502 and detectable via an external light sensor 1506. Based on the light detected by sensor 1506, the external entity or other module can receive data from module 1502 or detect the status of module 1502. For example, light 1504 can turn on when the module is powered, such that the detection of such light at 1506 indicates that module 1502 is on to the external entity. In another embodiment, the light is located at a specific location on module 1502 such that the detection of light at 1506 (or the inability to detect light because the light is directed away from the sensor) provides data to the external entity regarding the orientation of module 1502. Multiple lights of different colors can be positioned at specific points on the module 1502 to give further detail about the orientation of the module. The light can also be varied in wavelength, brightness, or pulsed to indicate module 1502 status data or other data that the module 1502 wishes to transmit, such as values extracted from a sensor of the module 1502.

模块可以用为板载处理器和其他组件提供指令的某些固件来配置。在一个实施方式中,固件核心是实时操作系统(RTOS),其被配置成将各种硬件模块的建立和维护分离到单独的线程中。在一个实施例中,选择ChibiOS/RT以现成支持STM32Cortex处理器和支持外围设备(如以太网、串行、模数转换和脉宽调制)的硬件抽象层。低级控制代码可以包括用于位置、速度和扭矩的同时控制的1kHz级联PID回路;执行器速度的稳态卡尔曼滤波;多个传感器读数,包括两个编码器和内部IMU;电动机绕组温度的热模型;以及相邻模块的确认以自动发现机电系统的配置。The modules can be configured with certain firmware that provides instructions to the onboard processor and other components. In one embodiment, the firmware core is a real-time operating system (RTOS) that is configured to separate the establishment and maintenance of various hardware modules into separate threads. In one embodiment, ChibiOS/RT is selected for its ready-made support for STM32Cortex processors and a hardware abstraction layer that supports peripheral devices such as Ethernet, serial, analog-to-digital conversion, and pulse width modulation. The low-level control code can include a 1kHz cascaded PID loop for simultaneous control of position, speed, and torque; a steady-state Kalman filter for actuator speed; multiple sensor readings, including two encoders and an internal IMU; a thermal model for motor winding temperature; and confirmation of adjacent modules to automatically discover the configuration of the mechatronic system.

模块可以被配置成经由消息传递协议(如Google协议缓冲消息)彼此通信以及与外部实体客户端软件通信。协议缓冲为跨多个计算平台受支持的类型化数据结构定义了固定的序列化格式。协议缓冲的Google C++库可以被移植到ChibiOS,以允许在该模块上对消息进行编码和解码。在一个实施方式中,使用远程过程调用(RPC)。在另一实施方式中,限定单个“元”消息,其限定了多个可以编码模块参数和数据流的可选字段。具有协议缓冲支持的计算环境然后可以通过发送和接收这些元消息与该机电系统交互。这样的协议可以被实现为基本上无状态的,并且消息可以进行事务处理,自然地支持多个并发异步连接。该协议可以通过传输控制协议(TCP)套接字、用户数据报协议(UDP)套接字以及模块之间的串行接口等同地公开,允许依据可用的带宽、所需的控制级别和接口硬件,在各种情况下使用各种灵活的通信策略。模块可以通过在串行接口上将数据交换到相邻模块来传播本地信息,例如它们的配置。Modules can be configured to communicate with each other and with external client software via a messaging protocol, such as Google Protocol Buffer messages. Protocol Buffers define a fixed serialization format for typed data structures supported across multiple computing platforms. The Google C++ library for Protocol Buffers can be ported to ChibiOS to enable message encoding and decoding on the module. In one embodiment, remote procedure calls (RPCs) are used. In another embodiment, a single "meta" message is defined that defines multiple optional fields that can encode module parameters and data streams. A computing environment with Protocol Buffer support can then interact with the mechatronic system by sending and receiving these meta messages. Such a protocol can be implemented as essentially stateless, and messages can be transactional, naturally supporting multiple concurrent asynchronous connections. The protocol can be equally exposed via Transmission Control Protocol (TCP) sockets, User Datagram Protocol (UDP) sockets, and serial interfaces between modules, allowing for a variety of flexible communication strategies to be used in various situations, depending on available bandwidth, the required level of control, and the interface hardware. Modules can disseminate local information, such as their configuration, by exchanging data with neighboring modules over the serial interface.

机电系统可以利用某些软件架构样式作为其框架的基础。第一管道和滤波器样式是在处理实时数据的系统中经常发现的数据流模式。该样式通常由两个元素组成:将增量变换应用于数据流的滤波器和作为滤波器之间的单向连接器的管道。滤波器不知道其他滤波器的身份,并且彼此之间没有共享状态。Mechatronic systems can leverage certain software architectural styles as the foundation of their frameworks. The first, the pipes and filters style, is a data flow pattern often found in systems that process real-time data. This style typically consists of two elements: filters that apply incremental transformations to the data stream, and pipes, which act as unidirectional connectors between filters. Filters are unaware of the identities of other filters and share no state with each other.

在一个实施方式中,轻量级通信和编组(LCM)框架被用作用于进程间通信的消息传递框架。LCM是一种低延迟发布-订阅实现手段,其将UDP组播用作向组件广播消息的基础。使用组播意味着,与基于TCP的消息传递服务不同,LCM不需要集中式管理器来将数据转发到适当的订户。这使得组件能够直接通信以及在任何时间以任何顺序启动和停止。这种较低的开销在保证传递的前提下便可达到。在一个实施例中,这样的保证传递可以使用其他机制来恢复。需要可靠传递(例如由TCP提供的可靠传递)的通信可以使用其他机制来处理。LCM支持多种语言,包括C、C++、Java、Python和MATLAB,并支持Windows、Linux、Mac和一些嵌入式平台。In one embodiment, the Lightweight Communication and Marshalling (LCM) framework is used as a messaging framework for inter-process communication. LCM is a low-latency publish-subscribe implementation that uses UDP multicast as the basis for broadcasting messages to components. Using multicast means that, unlike TCP-based messaging services, LCM does not require a centralized manager to forward data to the appropriate subscribers. This enables components to communicate directly and to start and stop at any time and in any order. This lower overhead can be achieved under the premise of guaranteed delivery. In one embodiment, such guaranteed delivery can be restored using other mechanisms. Communications that require reliable delivery (such as the reliable delivery provided by TCP) can be handled using other mechanisms. LCM supports multiple languages, including C, C++, Java, Python, and MATLAB, and supports Windows, Linux, Mac, and some embedded platforms.

对于机器人系统的控制和估算,如果其内部状态和参数在运行时对于人类操作者是可见的并且可由其动态修改,则典型的滤波器(例如姿态估算或高级自主控制行为)可以更有效。这允许进行更高效的调试和参数调谐,并且在监督自主的情况下常常是需要的。由于这些原因,即使当没有有源元件及其内部参数的先验知识时,也可以采用在运行时与各种滤波元件相接的标准方式。为了进一步使挑战复杂化,滤波器可以在目的、方法,甚至它们用以实现的语言方面显着不同。例如,MATLAB可用于用复杂的数学运算进行滤波器和控件的原型设计和开发,C/C++可用于具有显着性能要求的稳定代码,以及Java可用于需要跨平台运行的滤波器。For the control and estimation of robotic systems, typical filters (such as those for pose estimation or high-level autonomous control behaviors) can be more effective if their internal states and parameters are visible to and dynamically modifiable by human operators at runtime. This allows for more efficient debugging and parameter tuning, and is often required in the context of supervised autonomy. For these reasons, a standard way of interfacing with various filter elements at runtime can be employed, even when there is no a priori knowledge of the active components and their internal parameters. To further complicate the challenge, filters can vary significantly in purpose, approach, and even the language in which they are implemented. For example, MATLAB can be used for prototyping and development of filters and controls with complex mathematical operations, C/C++ can be used for stable code with significant performance requirements, and Java can be used for filters that need to run across platforms.

为了解决这个问题,系统可以限定行为或具有公用接口元件的滤波块的概念,称为行为参数,其在运行时通过事件总线是可见的和可修改的。虽然这可以使用与前面提到的管道和滤波器结构相同的发布-订阅框架,但它在概念上可以有分别。行为参数是一种简单的数据对象,其将类型化的变量和其值的允许范围(允许约束,例如将PID常数限制为严格正数)组合起来。系统可以将两个事件通道专用于行为机制。第一个是参数更改通道,参数更改事件将在其上发布。行为听从这个通道并对它们针对的事件做出反应。第二通道是行为状态广播通道,各个行为在它们的参数中一个发生改变或根据请求时在该通道上发布它们的完全内部状态。To address this issue, the system can define the concept of behaviors or filter blocks with common interface elements, called behavior parameters, which are visible and modifiable at runtime through an event bus. While this can use the same publish-subscribe framework as the pipe and filter structure mentioned earlier, it can be conceptually different. A behavior parameter is a simple data object that combines a typed variable and the allowed range of its values (allowing constraints, such as limiting PID constants to strictly positive numbers). The system can dedicate two event channels to the behavior mechanism. The first is a parameter change channel, on which parameter change events will be published. Behaviors listen to this channel and react to the events they are targeted to. The second channel is a behavior state broadcast channel, on which individual behaviors publish their full internal state when one of their parameters changes or on request.

在一个实施方式中,系统用C++、Java和MATLAB实现行为。图16描绘了允许操作者执行如下的示例性用户界面:观察网络上的任何运行行为;停止主动行为;开始已知的非活动行为;以及通过适当的控制来查看和更改行为参数。这样的界面允许有一种简单且通用的方式来修改内部行为参数而不需要修改底层代码。In one embodiment, the system implements behaviors in C++, Java, and MATLAB. Figure 16 depicts an exemplary user interface that allows an operator to: observe any running behaviors on the network; stop active behaviors; start known inactive behaviors; and view and change behavior parameters using appropriate controls. Such an interface allows for a simple and versatile way to modify internal behavior parameters without modifying the underlying code.

在模块上编码的固件和/或软件可以执行各种功能。可以根据需要或根据期望经由在模块通信通道(例如本文的某些实施方式中描述的以太网通道)上传输的更新来更新模块级的这类固件和/或软件。在一个实施方式中,模块可以被配置成执行操作以确认其在机电系统中的配置。例如,在具有一系列连接的模块的机电系统中,该模块可以被配置成确定它们在该系列中出现的顺序(例如,在电动机械系统的蛇形或腿中第一、第二、第三)。这种检测可以取代手动确认(例如IP地址的手动设置),从而实现更快且更灵活的即插即用型设置。The firmware and/or software encoded on the module can perform various functions. Such firmware and/or software at the module level can be updated as needed or as desired via updates transmitted over a module communication channel (e.g., an Ethernet channel described in certain embodiments herein). In one embodiment, a module can be configured to perform operations to confirm its configuration in an electromechanical system. For example, in an electromechanical system having a series of connected modules, the modules can be configured to determine the order in which they appear in the series (e.g., first, second, third in a snake or leg of an electromechanical system). This detection can replace manual confirmation (e.g., manual setting of an IP address), thereby achieving faster and more flexible plug-and-play setup.

图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)。Figure 17 is a block diagram that depicts a mechanism for modules to confirm their position in a series of modules. The figure depicts multiple modules 1702, 1704, 1706, each of which includes a switch 1703, 1705, 1707. The modules 1702, 1704, 1706 are connected to an external entity 1708 from which they receive commands. In one embodiment, the external entity 1708 issues commands to the modules 1702, 1704, 1706 to confirm the module's position in the series. Once a module knows its position, it can respond to commands and data directed to it from the external entity 1708 or other modules. In one embodiment, the modules 1702, 1704, 1706 and the external entity 1708 are configured to detect the number (n) of modules incorporated into the system and the position of these modules in the system. This can be achieved by instructing all modules 1702, 1704, 1706 to open the input ports of their switches 1703, 1705, 1707 and close the output ports of those switches. The external entity 1708 transmits a signal (e.g., a packet indicating that this is a message for the first module) along the communication channel running through the series of modules 1702, 1704, 1706. Only the first module 1702 will receive this signal because the outbound port of switch 1703 is closed. When the first module 1702 receives the signal, it stores an indicator indicating that it is the first module in the series. The first module 1702 then opens the outbound port of its switch 1703 and sends an acknowledgment to the external entity 1708. The external entity 1708 then sends a second signal, which is received by the first module 1702 and the second module 1704. The first module, already identified as the first in the queue, ignores the signal, while the second module 1704 recognizes that it is the second in the queue and stores an indicator of this fact. The second module 1704 opens the outbound port of its switch 1705 and sends an acknowledgment message to the external entity 1708, and the process repeats. This process is repeated until the external entity 1708 no longer receives an acknowledgment message. Based on this lack of acknowledgment messages, the external entity 1708 then knows the number of modules in the connected module series (e.g., 3).

在其他实施方式中,可以将其他机制用于模块以确认它们的拓扑和排序。在一个实施方式中,模块被配置成改变操作特性(例如,在串行接口上切换发送和接收端口),其中相邻模块可以检测改变的特性并确定它们的相对定位。In other embodiments, other mechanisms may be used for modules to confirm their topology and ordering. In one embodiment, a module is configured to change operating characteristics (e.g., switching transmit and receive ports on a serial interface), where adjacent modules can detect the changed characteristics and determine their relative positioning.

机电系统中的模块可以采用各种各样的形式。图18-20描绘了用于赋予轮子和连接到该轮子的外部元件扭矩的T形槽兼容模块。如图18中描绘的T形槽兼容模块与现有的T形槽兼容硬件兼容,其中该模块在其四侧均包括T形槽以便于连接。在一个实施方式中,该模块利用标准的T形槽铝(例如,与80/20品牌10系列产品兼容)并使用标准的1英寸螺栓图案以使得能够以很少的时间和精力连接到现有的设置和新设计中。Modules in electromechanical systems can take a variety of forms. Figures 18-20 depict a T-slot compatible module for imparting torque to a wheel and external components connected to the wheel. The T-slot compatible module as depicted in Figure 18 is compatible with existing T-slot compatible hardware, where the module includes T-slots on all four sides to facilitate connection. In one embodiment, the module utilizes standard T-slot aluminum (e.g., compatible with 80/20 brand 10 series products) and uses a standard 1-inch bolt pattern to enable connection to existing setups and new designs with little time and effort.

该T形槽兼容模块包括用于赋予该模块的轮部分1802扭矩的集成伺服致动器。硬件可以,例如经由集成的螺钉接收器附接到该轮部分1802。该致动器将扭矩施加到该轮部分1802,该轮部分将旋转运动赋予被连接到该轮部分的可旋转体。该T槽兼容模块可物理地连接到其他模块并用于数据通信。在电气级别上,可以使用Google的可扩展协议缓冲协议通过标准的以太网处理通信。该模块可以包括传感器,其能够在齿轮系之后通过双编码器系列弹性级实现3轴惯性测量、可控的电动机速度,以及高带宽可控扭矩输出。The T-slot compatible module includes an integrated servo actuator for imparting torque to the wheel portion 1802 of the module. Hardware can be attached to the wheel portion 1802, for example, via an integrated screw receiver. The actuator applies torque to the wheel portion 1802, which imparts rotational motion to a rotatable body connected to the wheel portion. The T-slot compatible module can be physically connected to other modules and used for data communication. At the electrical level, communication can be handled over standard Ethernet using Google's extensible protocol buffer protocol. The module can include sensors that enable 3-axis inertial measurement, controllable motor speed, and high-bandwidth controllable torque output through a dual encoder series elastic stage after the gear train.

图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的实施例描绘了赋予模块的轮部件扭矩,在其他实施例中,扭矩和旋转可以被赋予模块的其他结构以及连接到模块的外部结构中。FIG19 is a block diagram illustrating exemplary components of the T-slot-compatible module of FIG18 . Module 1902 includes a processor 1904 configured to communicate with an external portion of module 1902 via a communication channel 1906 . Actuator 1908 responds to processor 1904 to impart motion to module 1902 by rotating a wheel portion 1910 of module 1902 upon command. Wheel portion 1910 is configured to have an external component 1912 connected thereto (e.g., via screws or other fasteners) such that rotation of wheel portion 1910 also rotates external component 1912. In one embodiment, the position of wheel portion 1910 is monitored (e.g., as part of a feedback loop to processor 1904) to maintain proper positioning of wheel portion 1910. In one embodiment, such position sensing is performed using a pair of sensors: a low-resolution first sensor 1914 and a high-resolution second sensor 1916. The low-resolution first sensor 1914 indicates the starting position of the wheel portion 1910, for example, optically using a color wheel positioned on the interior-facing surface of the wheel portion 1910, where the color at a certain position is observed by the first sensor 1914. The high-resolution second sensor 1916 precisely measures rotation starting at the initial position detected by the first sensor 1914. Combined, the measurements from these two sensors 1914, 1916 are used by the processor 1904 to determine the current position of the wheel 1910. FIG20 is a photograph depicting a crossbar 2002 connected to a module 2004 having a rotatable wheel portion that is rotated by an actuator. The crossbar 2002 is connected to the module 2004 via brackets and screws 2006. While the embodiment of FIG18-20 depicts torque imparted to the wheel portion of the module, in other embodiments, torque and rotation can be imparted to other structures of the module, as well as to external structures connected to the module.

模块也可以采取各种其他形式。图21是描绘了不包括内部致动器或传感器的接口模块的图。与本文描述的其他模块类似,图21的模块2102包括处理器2104;以及交换机2106,其与通信通道相互作用以与其他模块或外部实体通信。图21的模块2102进一步包括通信端口2108。外部致动器或传感器可以被连接到该通信端口2108(例如,经由USB连接)以向机电系统提供额外的能力。在一个实施方式中,这类外部外围设备可以以即插即用的方式并入该系统中,从而经由以太网通信通道与其他实体通信,提供高度的系统定制。Modules may also take various other forms. FIG21 is a diagram depicting an interface module that does not include internal actuators or sensors. Similar to the other modules described herein, the module 2102 of FIG21 includes a processor 2104; and a switch 2106 that interacts with a communication channel to communicate with other modules or external entities. The module 2102 of FIG21 further includes a communication port 2108. External actuators or sensors can be connected to the communication port 2108 (e.g., via a USB connection) to provide additional capabilities to the electromechanical system. In one embodiment, such external peripheral devices can be incorporated into the system in a plug-and-play manner, thereby communicating with other entities via an Ethernet communication channel, providing a high degree of system customization.

图22描绘了夹持器模块形式的另一模块类型。夹持器模块2202包括用于促进与其他模块或其他外部实体的物理和数据连接的接口部分2204。夹持器部分包括可以两个叶片2206、2208,其经由处理器和致动器可以可控地操纵以执行期望的功能(例如夹持功能)。在图22的实施方式中,第一叶片2206刚性地附接到该夹持器模块2202并且不移动。第二叶片2208经由轴2210被连接到该夹持器模块2202,该轴是可以由该夹持器模块2202内部的致动器旋转的。该模块2202可以包括各种用于增强该夹持器模块2202的操作的传感器。扭矩传感器可以与内部弹性致动器结合以提供关于该第二叶片2208是否已被移动到期望位置的反馈。可以结合力传感器以感测由该叶片中的一个感知到的力的量。对由该夹持器模块2202内部的处理器操作的控制算法中的这种力的限制可以实现该夹持器模块的轻柔夹持,而不损坏该模块2202或被抓取的物体。该夹持器模块2202可以结合到各种各样的机电系统,包括图4的多腿式机器人中,其中这种夹持器模块可以作为头部模块(例如,嘴)或在一只或多只腿的端部(例如,作为一只(或多只)手)操作。Figure 22 depicts another module type in the form of a gripper module. The gripper module 2202 includes an interface portion 2204 for facilitating physical and data connections with other modules or other external entities. The gripper portion includes two blades 2206, 2208, which can be controllably manipulated to perform desired functions (e.g., gripping functions) via a processor and an actuator. In the embodiment of Figure 22, the first blade 2206 is rigidly attached to the gripper module 2202 and does not move. The second blade 2208 is connected to the gripper module 2202 via a shaft 2210, which can be rotated by an actuator inside the gripper module 2202. The module 2202 may include various sensors for enhancing the operation of the gripper module 2202. A torque sensor may be combined with an internal elastic actuator to provide feedback on whether the second blade 2208 has been moved to the desired position. A force sensor may be combined to sense the amount of force sensed by one of the blades. This force limitation in the control algorithm operated by the processor within the gripper module 2202 can achieve gentle gripping of the gripper module without damaging the module 2202 or the object being grasped. The gripper module 2202 can be incorporated into a variety of mechatronic systems, including the multi-legged robot of FIG4 , where the gripper module can operate as a head module (e.g., a mouth) or at the end of one or more legs (e.g., as one (or more) hands).

图23-25描绘了机电系统的示例性操作。图23-24描绘了连接有叉2304的机电系统2302,该系统2302被配置成将食物刺穿到该叉2304上并23-25 illustrate exemplary operations of an electromechanical system. FIG23-24 depicts an electromechanical system 2302 coupled to a fork 2304 configured to pierce food onto the fork 2304 and

将该食物朝向人的嘴平移。图23-24的实施例描绘了软实时/硬实时软件配置。通过将该机电系统2302手动定位在多个位置(例如,刺穿食物,沿着朝向嘴的平移的3个位置,以及图24中描绘的用嘴取掉食物的最终位置)上来训练该系统。该机电系统的这些位置由外部实体记录。该外部实体然后命令这些位置的回放作为对该机电系统2302的模块的软实时命令。这些软实时命令指示要实现的结果(即在记录的位置之一处的机电系统)。该机电系统2302的模块的处理器被配置成基于其当前位置和配置的自感测来实现命令位置。该模块处理器向它们的致动器发出命令,作为必须在已知时间段内完成的硬实时命令,其中那些致动器的一致操作产生了期望的系统2302配置。The food is translated toward the person's mouth. The embodiment of Figures 23-24 depicts a soft real-time/hard real-time software configuration. The system is trained by manually positioning the electromechanical system 2302 in multiple positions (e.g., piercing the food, three positions along the translation toward the mouth, and the final position of removing the food with the mouth as depicted in Figure 24). These positions of the electromechanical system are recorded by an external entity. The external entity then commands the playback of these positions as soft real-time commands to the modules of the electromechanical system 2302. These soft real-time commands indicate the result to be achieved (i.e., the electromechanical system at one of the recorded positions). The processors of the modules of the electromechanical system 2302 are configured to achieve the commanded position based on self-sensing of their current position and configuration. The module processors issue commands to their actuators as hard real-time commands that must be completed within a known time period, where the consistent operation of those actuators produces the desired system 2302 configuration.

图25描绘了被配置成在平面中如在2504处所示进行旋转的机电系统2502。该系统2502的模块之一中的传感器检测图25的实施例中手2506提供的障碍。这种感测可以以各种方式执行,例如感测提供命令运动所需的增加的扭矩、加速度计、振动感测或其他。在一个实施方式中,在感测到意外的系统事件(例如因手中断)后,该系统2502的模块被配置成采取保护动作以减轻对该系统2502或障碍物2506的损害。例如,该系统2502可以被配置成停止,反向或确定不同的用于到达其经编程的命令端点的路径以,优选地保持该系统2502和该障碍物2506的安全性。因此,在一个实施方式中,可以在该机电系统中全局地利用由传感器检测到的一个模块上的异常,这,在一个实施方式中,基于所检测到的异常产生了协调的动作。FIG25 depicts an electromechanical system 2502 configured to rotate in a plane, as shown at 2504. A sensor in one of the modules of system 2502 detects an obstruction provided by hand 2506 in the embodiment of FIG25 . This sensing can be performed in various ways, such as sensing the increased torque required to provide the commanded motion, accelerometers, vibration sensing, or other methods. In one embodiment, upon sensing an unexpected system event (e.g., due to a hand interruption), the modules of system 2502 are configured to take protective actions to mitigate damage to system 2502 or obstacle 2506. For example, system 2502 can be configured to stop, reverse, or determine a different path to reach its programmed command endpoint to preferably maintain the safety of system 2502 and obstacle 2506. Thus, in one embodiment, an anomaly detected by a sensor on one module can be exploited globally within the electromechanical system, which, in one embodiment, results in coordinated actions based on the detected anomaly.

本书面说明书使用实施例来披露本发明,包括最佳模式,并且还使得本领域技术人员能够实现和使用本发明。本发明的可专利范围可以包括本领域技术人员想到的其他实施例。This written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to make and use the invention. The patentable scope of the invention may include other examples that occur to those skilled in the art.

Claims (36)

1.一种机电系统,其包括:1. An electromechanical system comprising: 多个连接的模块,该模块的第一模块包括:Multiple connected modules, the first module of which includes: 致动器,其用于赋予该机电系统运动;An actuator, which is used to give motion to the electromechanical system; 数据处理器,其被配置成感测该第一模块的状态并命令该致动器修改该第一模块的状态以完成接收到的命令;A data processor is configured to sense the state of the first module and command the actuator to modify the state of the first module to complete the received command; 三端口交换机,其中第一端口被配置成与第二模块通信,其中第二端口被配置成与第三模块通信,以及其中第三端口被配置成与该数据处理器通信;A three-port switch, wherein the first port is configured to communicate with the second module, the second port is configured to communicate with the third module, and the third port is configured to communicate with the data processor; 其中该第一模块被配置成确定其在一系列至少两个连接的模块中的位置,其中该第一模块被配置成通过检测被直接连接到该第一模块的第二模块的配置特性的改变来确定其位置。The first module is configured to determine its position in a series of at least two connected modules, wherein the first module is configured to determine its position by detecting a change in the configuration characteristics of a second module that is directly connected to the first module. 2.权利要求1所述的系统,其中该连接的模块的至少两个是相同的模块。2. The system of claim 1, wherein at least two of the connected modules are identical modules. 3.权利要求1所述的系统,其中该第一模块被配置成在第一平面中具有一定的自由度;3. The system of claim 1, wherein the first module is configured to have a certain degree of freedom in the first plane; 其中被连接到该第一模块的第二模块被配置成在不同于该第一平面的第二平面中具有一定的自由度。The second module connected to the first module is configured to have a certain degree of freedom in a second plane different from the first plane. 4.权利要求3所述的系统,其中该第二平面正交于该第一平面。4. The system of claim 3, wherein the second plane is orthogonal to the first plane. 5.权利要求3所述的系统,其中该第一模块的第一端被配置成在该第一平面中相对于该第一模块的第二端旋转。5. The system of claim 3, wherein the first end of the first module is configured to rotate relative to the second end of the first module in the first plane. 6.权利要求1所述的系统,其中该第一模块进一步包括用于实现与该连接的模块的第二模块的物理连接和数据连接的接口。6. The system of claim 1, wherein the first module further includes an interface for implementing physical and data connections to a second module connected to the module. 7.权利要求6所述的系统,其中该第一模块的该接口包括被配置成连接到该第二模块的接口的螺纹套环。7. The system of claim 6, wherein the interface of the first module includes a threaded collar configured to connect to the interface of the second module. 8.权利要求6所述的系统,其中该第一模块被配置成经由以太网标准与该第二模块通信。8. The system of claim 6, wherein the first module is configured to communicate with the second module via an Ethernet standard. 9.权利要求8所述的系统,其中该第一模块进一步被配置成经由该以太网标准与外部实体通信;9. The system of claim 8, wherein the first module is further configured to communicate with an external entity via the Ethernet standard; 其中该第一模块、该第二模块和该外部实体之间的所有通信都经由该以太网标准。All communication between the first module, the second module, and the external entity is conducted via the Ethernet standard. 10.权利要求1所述的系统,其中该系统被配置成利用2到N个连接的模块进行操作,其中N是大于2的整数。10. The system of claim 1, wherein the system is configured to operate using 2 to N connected modules, where N is an integer greater than 2. 11.权利要求1所述的系统,其中该系统被配置成检测被结合到该系统中的该连接的模块的数量n,其中n是大于2的整数,并且其中该第一模块被配置成确定其在一系列至少两个连接的模块中的位置。11. The system of claim 1, wherein the system is configured to detect the number n of modules of the connection incorporated into the system, wherein n is an integer greater than 2, and wherein the first module is configured to determine its position among a series of modules of at least two connections. 12.权利要求1所述的系统,其中该第一模块被配置成确定其在一系列至少两个连接的模块中的位置,其中该第一模块被配置成通过以下确定其位置:12. The system of claim 1, wherein the first module is configured to determine its position among a series of at least two connected modules, wherein the first module is configured to determine its position by: 在初始化时启用到该第一模块的输入端口并禁用该系列中的该第一模块和其他模块的输出端口;During initialization, enable the input port to the first module and disable the output ports of the first module and other modules in the series; 将信号从外部实体传输到该系列模块中的初始模块,其中基于该第一模块的禁用的输出端口只有该初始模块将接收该信号;The signal is transmitted from an external entity to the initial module in the series of modules, wherein only the initial module will receive the signal based on the disabled output port of the first module; 在该初始模块处存储表示其是一号模块的指示符;Store an indicator that it is module number one at the initial module location; 启用该初始模块的该输出端口;Enable the output port of this initial module; 传输来自该外部实体的第二信号,其中该初始模块和紧接其后的模块基于该其后的模块的被禁用的输出端口接收该第二信号;A second signal is transmitted from the external entity, wherein the initial module and the immediately following module receive the second signal based on the disabled output port of the subsequent module; 在该其后的模块处存储表示其是二号模块的指示符。The module that follows stores an indicator that it is module number two. 13.权利要求1所述的系统,其中该配置特性的改变是在该第二模块处的发射和接收信道的交换。13. The system of claim 1, wherein the change in configuration characteristics is the switching of the transmit and receive channels at the second module. 14.权利要求1所述的系统,其中该数据处理器实施一种模型,其用于基于与该第一模块的物理参数不同类型的第二参数,对该第一模块的物理参数建模,其中该数据处理器被配置成基于所建模的物理参数来命令该致动器。14. The system of claim 1, wherein the data processor implements a model for modeling the physical parameters of the first module based on a second parameter of a different type from the physical parameters of the first module, wherein the data processor is configured to command the actuator based on the modeled physical parameters. 15.权利要求14所述的系统,其中该物理参数是温度参数,其中该数据处理器被配置成基于低于预定义水平的所建模的温度参数来使该致动器超过阈值过载。15. The system of claim 14, wherein the physical parameter is a temperature parameter, and wherein the data processor is configured to cause the actuator to exceed a threshold overload based on a modeled temperature parameter below a predefined level. 16.权利要求14所述的系统,其中该物理参数是该致动器的弹性部件的弹簧系数,其中该第一模块被配置成周期性地校准以调节该弹簧系数。16. The system of claim 14, wherein the physical parameter is the spring coefficient of the elastic component of the actuator, wherein the first module is configured to periodically calibrate to adjust the spring coefficient. 17.权利要求16所述的系统,其中该数据处理器被配置成基于该第一模块的期望位置和所调整的弹簧系数来命令该致动器向该弹性部件施加扭矩。17. The system of claim 16, wherein the data processor is configured to command the actuator to apply torque to the elastic member based on the desired position of the first module and the adjusted spring coefficient. 18.权利要求1所述的系统,其中该第一模块被配置成以包的形式将来自多个传感器的传感器数据传输到外部实体,其中单个包包含来自与该第一模块相关联的多个传感器的数据。18. The system of claim 1, wherein the first module is configured to transmit sensor data from a plurality of sensors to an external entity in the form of packets, wherein a single packet contains data from the plurality of sensors associated with the first module. 19.权利要求1所述的系统,其中该系统进一步被配置成包括与所有其他模块不同的独特模块。19. The system of claim 1, wherein the system is further configured to include a unique module that is different from all other modules. 20.权利要求1所述的系统,其中该系统被配置成包括模块,该模块包括被配置成在伺服致动器模块的轮部分上施加扭矩的伺服致动器。20. The system of claim 1, wherein the system is configured to include a module comprising a servo actuator configured to apply torque to a wheel portion of a servo actuator module. 21.权利要求20所述的系统,其中该轮部分被配置成连接到可转动体。21. The system of claim 20, wherein the wheel portion is configured to be connected to a rotatable body. 22.权利要求1所述的系统,其中该系统被配置成包括模块,该模块包括被配置成在伺服致动器模块的轮部分上施加扭矩的伺服致动器,其中该轮部分被配置成连接到可转动体;22. The system of claim 1, wherein the system is configured to include a module comprising a servo actuator configured to apply torque to a wheel portion of a servo actuator module, wherein the wheel portion is configured to be connected to a rotatable body; 其中该轮部分的状态基于初始低分辨率测量结果和多个后续高分辨率测量结果来检测。The state of this wheel section is detected based on initial low-resolution measurements and multiple subsequent high-resolution measurements. 23.权利要求22所述的系统,其中该低分辨率测量结果确认该轮部分的大致位置,并且其中该高分辨率测量结果确认该轮部分始自该大致位置的旋转。23. The system of claim 22, wherein the low-resolution measurement confirms the approximate position of the wheel portion, and wherein the high-resolution measurement confirms the rotation of the wheel portion originating from the approximate position. 24.权利要求1所述的系统,其中该系统被配置成包括模块,该模块包括被配置成在伺服致动器模块的轮部分上施加扭矩的伺服致动器,其中该伺服致动器模块包括多个T形槽框架部分。24. The system of claim 1, wherein the system is configured to include a module comprising a servo actuator configured to apply torque to a wheel portion of a servo actuator module, wherein the servo actuator module includes a plurality of T-slot frame portions. 25.权利要求1所述的系统,其中该第一模块包括一个或多个灯,其中该第一模块外部的摄像机基于该一个或多个灯确定该第一模块的状态。25. The system of claim 1, wherein the first module includes one or more lights, and a camera outside the first module determines the state of the first module based on the one or more lights. 26.权利要求25所述的系统,其中该状态基于该一个或多个灯的颜色、亮度或闪光来确定。26. The system of claim 25, wherein the state is determined based on the color, brightness, or flash of the one or more lights. 27.权利要求1所述的系统,其中第一命令作为软实时命令从外部实体被传输到该第一模块,其中,基于该第一命令,该数据处理器向该致动器发出作为硬实时命令的第二命令。27. The system of claim 1, wherein a first command is transmitted from an external entity to the first module as a soft real-time command, wherein, based on the first command, the data processor issues a second command to the actuator as a hard real-time command. 28.权利要求1所述的系统,其中从外部实体向该第一模块传输第一命令,其命令有关包括该多个连接的模块的该系统的最终结果,其中该第一模块的该数据处理器和其他模块的数据处理器确定针对相关致动器的中间命令以实现该最终结果。28. The system of claim 1, wherein a first command is transmitted from an external entity to the first module, the command relating to a final result of the system comprising the plurality of connected modules, wherein the data processor of the first module and data processors of other modules determine intermediate commands for relevant actuators to achieve the final result. 29.权利要求1所述的系统,进一步包括头部模块,其被连接到该连接的模块中恰好一个,其中该头部模块包括未包括在该连接的模块上的一个或多个传感器。29. The system of claim 1, further comprising a head module connected to exactly one of the connected modules, wherein the head module includes one or more sensors not included on the connected module. 30.权利要求29所述的系统,其中该头部模块包括摄像机传感器。30. The system of claim 29, wherein the head module includes a camera sensor. 31.权利要求1所述的系统,进一步包括尾部模块,其被连接到该连接的模块中恰好一个,其中该尾部模块包括用于与外部实体通信的通信机制,其中该通信机制是有线或无线通信机制。31. The system of claim 1, further comprising a tail module connected to exactly one of the connected modules, wherein the tail module includes a communication mechanism for communicating with an external entity, wherein the communication mechanism is a wired or wireless communication mechanism. 32.权利要求1所述的系统,其中该连接的模块之间或外部实体与该第一模块之间的通信被加密。32. The system of claim 1, wherein communication between the connected modules or between an external entity and the first module is encrypted. 33.权利要求1所述的系统,进一步包括接口模块,其中该接口模块被连接到该连接的模块中的一个,其中该接口模块不包括完全的自由度,其中该接口模块包括用于连接到传感器或致动器的一个或多个端口。33. The system of claim 1, further comprising an interface module, wherein the interface module is connected to one of the connected modules, wherein the interface module does not include full degrees of freedom, and wherein the interface module includes one or more ports for connecting to a sensor or actuator. 34.权利要求1所述的系统,其中该第一模块可配置成与其他模块连接以形成蛇形机器人;并且其中该第一模块可配置成与其他模块连接以形成具有1到n只腿的多腿式机器人,其中n是大于1的整数。34. The system of claim 1, wherein the first module is configurable to connect with other modules to form a snake-like robot; and wherein the first module is configurable to connect with other modules to form a multi-legged robot having 1 to n legs, wherein n is an integer greater than 1. 35.权利要求1所述的系统,其中该机电系统是机器人。35. The system of claim 1, wherein the electromechanical system is a robot. 36.权利要求1所述的系统,其中该机电系统是在自动化中使用的系统。36. The system of claim 1, wherein the electromechanical system is a system used in automation.
HK17111338.9A 2014-05-09 2015-05-11 Systems and methods for modular units in electro-mechanical systems HK1237306B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US61/991,078 2014-05-09
US61/991,665 2014-05-12

Publications (2)

Publication Number Publication Date
HK1237306A1 HK1237306A1 (en) 2018-04-13
HK1237306B true HK1237306B (en) 2020-07-10

Family

ID=

Similar Documents

Publication Publication Date Title
CN106660203B (en) Systems and methods for modular units in electromechanical systems
Rollinson et al. Design and architecture of a series elastic snake robot
Wright et al. Design and architecture of the unified modular snake robot
Chen et al. Software architecture of the da Vinci Research Kit
Berghuis Model-based robot control: From theory to practice.
US6084373A (en) Reconfigurable modular joint and robots produced therefrom
CN106625683A (en) Reconfigurable man-machine cooperation mechanical arm system based on WIFI
CN105818160A (en) Universal robot joints and robot arm
Behrens et al. An elephant's trunk-inspired robotic arm-trajectory determination and control
HK1237306B (en) Systems and methods for modular units in electro-mechanical systems
US12398902B2 (en) Control system
Manoharan et al. Collaborative motion synchronization for affordable open-source cobots
HK1237306A1 (en) Systems and methods for modular units in electro-mechanical systems
Mateos et al. DeWaLoP—Remote control for in-pipe robot
Choi et al. Control of 6DOF articulated robot with the direct-teaching function using EtherCAT
JP2016225942A (en) Multiplex communication device
Dalef et al. Development of wireless controlling and monitoring system for robotic hand using Zigbee protocol
Elhajj et al. Supermedia in internet-based telerobotic operations
Velagic et al. Networked based control and supervision of induction motor using OPC server and PLC
Athiniotis Firmware design for microcontrollers on EtherCAT network for quadruped robot motion control
Malinowski et al. Web-based remote active presence
Cervera Distributed visual servoing: A cross-platform agent-based implementation
Hannaford et al. Evaluation of RAVEN surgical telerobot during the NASA extreme environment mission operations (NEEMO) 12 mission
Schütz et al. FPGA-based Embedded System Designed for the Deployment in the Compliant Robotic Leg CARL.
Park et al. Design of a human-robot cooperative robot manipulator using SMART actuators