WO2018172593A2 - Method for integrating new modules into modular robots, and robot component of same - Google Patents
Method for integrating new modules into modular robots, and robot component of same Download PDFInfo
- Publication number
- WO2018172593A2 WO2018172593A2 PCT/ES2018/070379 ES2018070379W WO2018172593A2 WO 2018172593 A2 WO2018172593 A2 WO 2018172593A2 ES 2018070379 W ES2018070379 W ES 2018070379W WO 2018172593 A2 WO2018172593 A2 WO 2018172593A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- robot
- component
- modular
- new
- representation
- Prior art date
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1615—Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
- B25J9/1617—Cellular, reconfigurable manipulator, e.g. cebot
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/33—Director till display
- G05B2219/33039—Learn for different measurement types, create for each a neural net
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40304—Modular structure
Definitions
- the object of the invention belongs to the technical field of robotics.
- the object of the current invention is a method for integrating new trained robot modules.
- US20080082301A1 The method for designing and manufacturing a robot is covered by US20080082301A1, in which a robot is created using 3D models.
- US20080082301 A1 designs and builds a robot using 3D modeling techniques and tools. However, this document does not describe how the robot's behavior can be reconfigured, or how unknown components can be included in the process.
- US20130275091 provides a definition of the term "robot.” This definition coincides with the more traditional concept of robots and provides pure description of sensors and actuators, but does not classify them, does not consider that there are relevant differences between sensors and actuators. Similarly, document US20130275091 does not consider that, in addition to sensors and actuators, a robot can comprise other types of devices, such as those specialized in communication (both inter and intra robots), power, cognition / reasoning or user interaction, among others.
- Document US20130275091 proposes a catalog of parts for a robot simulation, but this catalog only provides a set of defined modules and does not consider that unknown third-party elements are added to the simulation, which limits the scalability of the invention.
- the method of document US20130275091 does not allow modifications of the predefined models or extensions to adapt such models to many different robots.
- the "drag and drop" system known in the art limits the scalability of the approach since only components in the catalog can be used to construct these virtual representations.
- US20130275091 does not consider the need to add capabilities to the simulation process to support previously unknown or undefined elements.
- its approach lacks scalability because it focuses only on the process of building robots, without covering the training of these machines using neuromorphic approaches.
- document US9671786B2 does not cover the generation of extended robotic devices using unknown or new components, nor does it describe a clear approach to determine how the robot's behavior should be coded, programmed or trained. In addition to this, although the document considers virtual models, it does not propose the use of virtual models to validate the proposed behavior.
- WO2017153383A1 discloses a method for assembling robots to reconfigure generic or unspecified ('existing') non-functional components into specified components recognizable by e! robot.
- the respective firmware associated with each specific component is retrieved and optionally reconfigured, so that the generic component firmware is displayed with recovered or preconfigured firmware, making it compatible with the robot, always by reference to a predefined hardware abstraction layer.
- a method for training modular robots that dynamically extend with new and unknown physical components is described.
- the method disclosed herein enables that, given a new and unknown robot component hardware that attaches to the modular robot and sends its characteristics to itself, the modular robot uses this new information to integrate said component, reestablish its physical configuration and retrain himself dynamically to perform a given task.
- a robot apparatus or module that sends representative information about itself for integration.
- automatic in robots as described in the proposed method.
- AND! use of communication standards, as well as the deployment of Artificial Neural Networks in the logic of! component allow a complete integration of the new component into the logical model of the modular robot.
- the use of Reinforcement Learning Techniques helps in the training process of the extended robot that includes known and new unknown components.
- a method for training modular robots that dynamically extend with new and unknown physical components is described.
- the method disclosed herein enables the modular robot, given a new and unknown robot component hardware that attaches to the modular robot and sends its features to it, to use this new information to integrate said component, reestablish its physical configuration and retrain to himself dynamically to perform a given task.
- a robot apparatus or module configured to send representative information about itself for automatic integration into robots as described in the method of the first aspect of the invention.
- the use of communication standards, as well as the deployment of Artificial Neural Networks (ANN) in the logic of the component can allow a complete integration of the new component into the logical model of the modular robot.
- ANN Artificial Neural Networks
- the use of Reinforcement Learning Techniques helps in the process of training the extended robot, including known and new unknown components.
- a method or system for retraining modular robots that dynamically extend with new and unknown hardware components is provided.
- new and unknown it is conceived that it means hardware components that could come from any manufacturer and provide any functionality, although they have never been interconnected with the robot system before. Consequently, there is no prior information available about its physical, mechanical, electrical or logical characteristics.
- unknown is also an "untrained” component in the sense that it lacks the information necessary for its full integration into the modular robot. From the scope of the components already integrated in the system, the new component is unknown because it has never undergone a training process alongside the rest of the components, its specific characteristics by other components are not yet known.
- the new hardware component and Unknown has been provided with the ability to transmit such features to the modular robot due to! use of the same communication methods as those used by the robot.
- a communication method can consist of a communication middieware, there being already a wide variety of methods that can be used for the same purpose, with the condition that they are known by both the robot and the new component .
- the use of robot component hardware using common communication standards makes it easier to develop complex communication architectures between different components regardless of their type, status or origin.
- the method of the invention allows the resulting robot, once the new module has been equipped, to perform the same task. This is feasible by implementing the method of the claims.
- Figure 1 shows a diagram representing three different strategies for the construction of robots known in the art.
- Figure 2 represents a 3D representation of a modular robot in an initial configuration.
- Figure 3 represents a 3D representation of the modular robot of Figure 2 in which a new component is considered to be added.
- Figure 4 represents a 3D representation of the new component considered to be added.
- Figure 5 represents a 3D representation of the modular robot of Figure 2 in which the new component is added to the robot of Figure 2 and the resulting robot is still capable of executing a given task.
- Figure 6 represents a 3D representation of! Modular robot of Figure 2 in which the new component is added to the robot of Figure 2 and the robot, with its new configuration, is not physically capable of executing a given task.
- Figure 7 represents a 3D representation of! New component, a LIDAR, that connects to an existing robot, a car, to help this robot car validate its autonomous driving capabilities.
- Figure 8 shows a diagram representing the model of a robot, when a new and unknown component is physically connected.
- Figure 9 shows a flow chart of the process that aims to validate and integrate any new components.
- the method of the invention disclosed herein allows that, given a modular robot (R) performing a task (T) and a new and unknown robot component (C) that is coupled to the robot (R), tai robot (R) updates its internal physical model while including the new component (C) and retrains itself to execute the task (T).
- a user interface is also provided that displays a 3D model that represents the state of the assembled robot (R) and allows the training process to be monitored.
- the physical modular robot (R) can be compared with the virtual representation of the robot (R) namely the robot representation (RR), enabling the realization of relevant corrections and assimilating indications about circumstances such as the weight of ios components or the curvature or inclination of the entire robot, which the cognition component (processing unit) of the robot may finally not be able to recognize itself.
- the new component (C) is unknown to the robot (R) and comprises a set of logical rules with, among other robot-related capabilities, the following means that help improve the capabilities of the modular robot:
- an information exchange logic or communication middleware can be used based on the publication methodology /subscription.
- Examples of such communication middleware include the Data Distribution Service (DDS), the most abstract Robot Operating System (ROS) middleware or the OPC UA binary protocol.
- DDS Data Distribution Service
- ROS Robot Operating System
- OPC UA binary protocol e.g., OPC UA
- Other tai communication middiewares such as DDS for Extremely Restricted Resource Environments (XRCE) could also be used to disconnect components with limited resources that would later join any of the publication / subscription middiewares described above.
- component (C) is coupled to the modular robot (R), it shares or publishes its characteristics on the data bus shared by all existing components , all of which subscribe to the built-in parameters that are useful for the operation of the modular robot (R), and therefore may know the addition of a new component (C) and its characteristics, as well as other changes made to the robot (R) modular such as component substitutions or deletions.
- the published data is treated dynamically so it may either be or not be useful for the purpose of the modular robot (R) at any given time. If it is not useful, they will simply be ignored by the processing unit, but they are still available if the desired behaviors or the physical characteristics of the modular robot (R) finally change.
- the retraining process may include the use of techniques that mimic neurobioiotic architectures present in the mammalian nervous system or neuromorphic techniques.
- These neuromorphic techniques usually make use of a combination of Artificial Neural Networks (ANN) and Reinforcement Learning (RL) methods to represent and acquire the desired intelligence, thus creating mathematical models composed of variables and their relationships that show the properties of the system and they can be dynamically retrained depending on the available and operational parts in the modulate robot at any given time.
- ANN Artificial Neural Networks
- RL Reinforcement Learning
- this process begins with the generation of a 3D environment comprising all the active components within the modular robot (R) that shares information at a given time. Due to this, together with the logic model generated, hereafter the model (M), will be used additionally to carry out simulations and robot trainings that aim to shape the behavior of the real modular robot (R) at a later stage . The more faithful the simulation to the circumstances of reality, the more accurate the deployment of this simulation in the real modular robot (R) will also be.
- the retraining process can take place as an alternative on the modular robot (R) itself, on a server or servers connected to the modular robot (R) on the same network or on many servers that are available through the internet (services on the Internet). cloud). Since the resulting model (M) can be processed as an exportable computer file, the result of the retraining process can be transferred to the robot (R) or to another part that is needed later. This also allows the deployment of a resulting logical model (M) and its parameters in other environments, being the basis of calculation for other robots (R) and their respective retraining processes.
- the processing unit of the modular robot (R) shows a representation of the robot (RR) or virtual representation of the modules physically present in the modular robot (R), including but not limited to its physical characteristics or type , which is dynamically updated as new components are added to the robot, such a robot representation (RR) would eventually need to be expanded with information provided by the new component (C) once connected to the modular robot (R).
- CCM Component Robot Model
- the processing unit integrated as one of the robot (or “brain") components, detects the new component (C) and determines whether this component is known in advance or not. To do that, in some embodiments the processing unit makes a subscription to the information published by the new component (C) in a data bus in which all existing components share information according to a publication / subscription methodology and that it is accessible by the modular robot processing unit (R) at any given time,
- the processing unit requests (“subscribes") the information necessary to integrate the new component (C).
- This information can be published by said new component (C), since it uses the same communication method used in the modular robot (R).
- a publication / subscription communication pattern whereby the new component (C) shares its relevant information with the rest of the components of the modular robot (R) and requests from them the useful data for carrying out the process of Integration can finally be used, although many other possible and available forms of communication available to manufacturers or developers are also valid and are conceived to be understood by those skilled in the art.
- this information can be encrypted using symmetric or asymmetric keys (or both at the same time), which the processing unit will also request while updating the Robot representation (RR).
- the robot representation (RR) or, as defined above, the virtual representation of the components physically present in the modular robot (R), dynamically changes following a set of predefined rules and / or adapts itself according to with a preexisting database. For that to take place, after the new component (C) is connected and the unknown information is shared using one of the mentioned communication methods, the virtual representation of the physically present components or robot representation (RR) normally experiences a physical reconfiguration process by which the relative positioning of all existing components is determined and recently coupled in an ordinance index.
- an ordinance index plays an important role as it completes the 3D environment in which the simulations will take place.
- this physical reconfiguration method may consist of employing inertial units of measurement (IMU) or network topologies, among other available methods that aim to calculate the relative positioning of the robot hardware components in a modular robot.
- IMU inertial units of measurement
- the new representation of the physical modular robot (R), namely the resulting robot representation (RR) is then used by the logic or model (M) of the modular robot (R) to reconfigure or retrain itself to execute the task (T).
- the information received from the new component (C), which includes 3D representations, mathematical models, component operation characteristics, calculation means, firmware versions and, finally, symmetric or asymmetric keys, is validated and confirmed by the unit of processing before its integration into the robot representation (RR).
- a typical validation process implies, after the trajectory has been secured through the validation of the symmetric or asymmetric key:
- the model (M) that feeds the robot logic uses the resulting version, namely, new or updated, of the robot representation (RR) to automatically adapt or retrain its behaviors according to the new robot physical configuration, as explained above.
- This re-training process that consists of Learning by Reinforcement of Artificial Neural Networks can take place either in the real robot or in simulation many times. Each simulation implies an indefinite number of iterations that aim to achieve a pre-established desired behavior in the neuron network! If the robot achieves the objective, it is rewarded, therefore being penalized when it does not achieve it.
- This retraining process can be monitored at any time through a user interface.
- the user interface emits a signal (in the form of a light, sound or order signal) indicating the success or failure of the entire process, depending on the balance resulting from rewards and penalties received by the modular robot (R).
- a success should be interpreted as that the method achieved the adaptation of the modular robot (R) for the task (T) with the addition of the new component (C).
- the new robot (R), with the addition of the new component (C) can accomplish the task (T) and the improved behaviors, labeled as "learned”, can then be deployed in the modular robot (R) real, if desired.
- a failure signal should be understood as that the modular robot (R) equipped with the new component (C), or modified modular robot (R), is not capable of executing the task (T) in its new configuration. Failures will usually be related to the fact that the modular robot (R) is not physically capable of accomplishing the task (T). Figure 6 show such a case in e! that the modular robot (R), with its new configuration, is not physically capable of executing the task (T), thus the integration has not been satisfactory while the clamping organ points out of the workspace. Incompatibilities such as a non-specification of the length of a component could eventually not be addressed until the simulation results in failure, and is automatically fixed later.
- the described method allows the modular robot (R) to automatically retrain itself for a given task (T) every time a new component (C) is added and determines the feasibility of achieving such a task (T) with the existing configuration in the modular robot (R), or updated robot representation (RR). Therefore, the method described herein focuses on expanding the representation of robot (RR) with unknown components (C) and adapting the logical model (M) of the robot (R) to perform a task (T) given, regardless of a new and extended physical configuration, or updated robot representation (RR).
- a robot apparatus that automatically sends representative information about its physical characteristics and its capabilities, or Robot Model by Components (CRM).
- this apparatus acts as the new and unknown component (C) to be coupled to the robot (R).
- Tai apparatus provides the rest of existing components (B, A1, A2, A4, EF) in the modular robot (R) with detection, actuation, cognition, power, communication, user interfaces and other robot related capabilities.
- An illustrative apparatus or robot hardware component as disclosed herein can be defined as a robot module.
- a robot module shows an additional central processing unit (CPU) and additional programmable logic usually performed in the form of an F ' PGA, volatile and non-volatile memory, a network interface, sensors, actuators, etc., and, in the context of a modular robot, it comprises an IMU code or program that reveals its current position and status and is constantly awaiting instructions.
- An illustrative modular robot (R) may comprise four modules as in Figure 2, these being: a processing unit (B), a first actuator (A1), a second actuator (A2) and a clamping member (EF).
- a communication unit that provides all components with power and communication means is conceived as understood and understood by those skilled in the art.
- a third actuator (A3) is coupled to a modular robot (R) with a SCARA configuration that performs movements on a single axis.
- the main function of the third actuator (A3) collected includes rotating angles of left and right drawing more or less wide, adapting such movements to the operation of the entire modular robot (R) which aims to achieve the desired task (T) usually represented by the clamping body placing itself on the spatial point of workspace labeled as "objective" in Figure 6.
- Said third actuator (A3) when connected to the robot (R), sends information about itself so that the robot (R) can automatically integrate it and reconfigure its behaviors to include the same, as described above.
- the third-party actuator (A3) collected needs to transmit at least, but not limited to, the following information:
- This 3D model comprises a realistic representation of the component itself, including, but not limited to its shape, size or length according to a set of values that emulate the characteristics of the components existing in the modular robot (R).
- the new component (C) for example, half the size of an already integrated component, its 3D models will also "graphically" match its proportions. This ensures reality-based 3D workspaces and modular (R) robots to work with and monitor through the user interface provided for that purpose.
- a Component Robot Model that includes a representation of the submodules within the component that includes, but is not limited to its connections, physical characteristics, material or its type.
- a simple Component Robot Model could include a description of the component along with its connections and their corresponding physical characteristics and, finally and with the objective of ensuring the authenticity, integrity and non-repudiation of the transmitted information, be provided with a key symmetric or asymmetric that will be verified and used by the processing unit before integration.
- the Component Robot Model is also determined but not limited to ios following aspects: a) a predefined set of rules specified by the manufacturer, including a communication standard shared by the third actuator (A3) collected and in the existing components (B, A1, A2, A4, EF) of robot (R) , b) a graphical user interface in which a user can configure the "CRM" of the component and c) an automatic mechanism in which the Component Robot Model (CRM) is automatically deduced from interactions with the robot ( R).
- the capabilities of the device including, but not limited to the interfaces and abstractions used to operate such device, its name, version, mechanical limits (motor values) and electrical limits (energy reading), as well as any other programming related information .
- the information transmitted by the new component (C) will be available to any other component that participates in the communication network and publishes and subscribes to the information necessary to make the Robot work.
- the cognition component which can be represented either by the CPU of a certain robot module (R) or by a computer network accessible by the robot (R)
- detects the new component (C) it will request the relevant information to validate and integrate it into the robot representation (RR), which updates the current 3D representation of the active components and their database.
- the robot model (M) is therefore able to use its new configuration (RR updated with CRM) to retrain itself to perform the task (T ) desired using the techniques described above.
- the robot (R) can comprise a robot representation (RR) that represents the modules inside the robot (R)
- the component (C) has a Component Robot Model (CRM), which is a representation of each of the submodules within the component, considered individually, including, but not limited to its connections, physical characteristics, material or its type.
- CCM Component Robot Model
- component (C) can be a robot apparatus which transmits to! less, but without limitation the following information when connected to the robot (R):
- CRM Component Robot Model
- Figure 5 shows a 3D representation of a modular robot comprising five modules, in which the objective task (T) is also represented (as "objective"). Power and communication details as well as related components have not been represented.
- This modular robot is derived from Figure 2 after the integration of the robot component (C) of Figures 3 and 4 has been achieved, leading to the achievement of the task despite the new physical configuration of the modular robot.
- the robot (R) can perform the task (T) while moving its joints properly. Therefore, Figure 5 presents a satisfactory implementation after the robot representation (RR) was through the proposed method. Since the "objective" was reached, the task (T) was successful, thus the method would produce a positive result.
- the integration of new component (C) into the modular robot (R) comprises the following steps:
- the information sent from the new component (C) or Robot by Component Model (CRM), including symmetric or asymmetric keys, if desired, is received in the robot processing unit (R), validates and confirms against a set of predefined rules, since the new component (C) has a communication standard in common with the robot (R), so there is communication. Among other validation tasks, it includes ensuring that the Component Robot Model (CRM) is complete, authentic and compatible with the robot (R).
- the Component Robot Model is integrated into the robot (RR) representation of the robot (R).
- integration conflicts between the Component Robot Model (CRM) and the robot representation (RR) are automatically resolved by default of the robot representation connections (RR), structures and characteristics, in case of disagreement.
- Figure 6 shows a 3D representation of a modular robot comprising five modules and three joints in which the task (T) is also presented. Power and communication details as well as related components have not been represented.
- This modular robot is obtained from Figure 2 after the assembly of the robot component (C) (represented in Figures 3 and 4) is completed, although with a slightly different configuration. This implies that the information sent by the new component (C) or Robot Model by Components (CRM), is different when compared to Figure 5. In this case, the robot is unable to reach the target ("target") of the task (T) in this way the integration has not been satisfactory while the clamping body points out of the workspace. In this particular case, the method failed to adapt the robot (R) for the task (T) and the result produced by the method should be negative.
- Figure 7 represents a new and unknown component (C), a LIDAR, which automatically sends representative information about its physical model and its capabilities, which connects to an existing robot (R), a car, to help such a robot car to validate their autonomous driving capabilities.
- the task to be performed by the robot (R) is coded as a set of routines to validate its capabilities of autonomous driving, while an illustrative routine could be defined by a simulated urban environment in which the car should drive and travel through the streets for a given amount of time without collisions. Another routine could be defined as a similar virtual environment in which the robot car should travel through an urban environment while respecting traffic rules.
- a new and unknown component (C) in this case to LiDAR, is placed in the upper part of the robot car (R) to assist, through detection, in the task of autonomous driving described above. Connecting the new component (C) to the robot (R), the method proposed in this invention will proceed as follows:
- the component (C) transmits its information, including symmetric or asymmetric keys if desired, to the robot (R).
- the Component Robot Model (CRM) transmitted from the new component (C) is validated and confirmed against a predefined set of rules ensuring that the new component (C) is compatible with the robot (R).
- the new version of the robot representation (RR) will be used to automatically adapt (retrain) the robot car (R). To do that, the routines that define the task (T) will be executed with the new robot representation (RR) many times.
- Figure 8 schematically represents how a model (M) of a robot works (also the logic that feeds the robot (R) according to the method of the invention): when the unknown component (C) is physically connected, the representation of robot (RR) or representation of the modules inside the robot, is updated with the information received from the new component (C) or Robot Model by Components (CRM). Right after this occurs, the model (M) trains while receiving many inputs (i) together with the updated robot representation (RR) and generates many results (O) for the actuators, so that the robot (R ) Learn to achieve the given task (T) regardless of the number of modules present in the robot, if it is physically viable.
- object of the invention has been deployed in an environment of multiple CPUs, that is to say using logical and programmable units provided in the robot (R) or in a client server architecture accessible by at least one robot CPU (R); Any new component (C) equipped with sufficient computing power performs the method of the invention itself, using only one unit that could be defined by a CPU that is the processor of the new component (C) itself.
- Figure 9 is a flow chart in which the process that aims to validate and integrate new components (C), in accordance with the method disclosed herein, has been represented.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Orthopedic Medicine & Surgery (AREA)
- Manipulator (AREA)
Abstract
The invention relates to a method for retraining modular robots that are dynamically equipped with new and unknown physical components integrated therein, comprising a system by means of which such components transmit their characteristics to the already-operating modular robot and by means of which this information is used to integrate the component, reset the physical configuration and retrain the logic of the robot, using Artificial Neural Network-based Reinforcement Learning, in order to perform a determined task. The invention also relates to a robot apparatus (a robot module) which is attached to modular robots and which transmits representative information about itself for its automatic integration into modular robots, such an apparatus having been provided with a communication standard that can be understood within the context of the communication network present in the robot.
Description
MÉTODO PARA INTEGRAR NUEVOS MÓDULOS EN ROBOTS MODULARES, Y UN COMPONENTE DE ROBOT DEL MISMO METHOD FOR INTEGRATING NEW MODULES IN MODULAR ROBOTS, AND A ROBOT COMPONENT OF THE SAME
OBJETO DE LA INVENCIÓN OBJECT OF THE INVENTION
El objeto de la invención pertenece al campo técnico de la robótica. The object of the invention belongs to the technical field of robotics.
Más precisamente el objeto de la invención actual es un método para integrar nuevos módulos robots entrenados. More precisely the object of the current invention is a method for integrating new trained robot modules.
ANTECEDENTES DE LA INVENCIÓN BACKGROUND OF THE INVENTION
E! enfoque tradicional para la construcción o extensión de robots consiste en un proceso de cascada como el descrito en la Figura 1 a). Tai proceso consiste en diferentes etapas que van desde la compra de los componentes de robot al despliegue del robot final para una tarea dada. Una vez ejecutado, este proceso produce un cierto resultado. Cualquier modificación introducida en el robot requiere un gran esfuerzo de ingeniería para mantener el mismo resultado. AND! Traditional approach to the construction or extension of robots consists of a cascade process as described in Figure 1 a). Tai process consists of different stages ranging from the purchase of the robot components to the deployment of the final robot for a given task. Once executed, this process produces a certain result. Any modification introduced to the robot requires a great engineering effort to maintain the same result.
En la Figura 1 bloque a), se ha resaltado la trayectoria crítica. Esta trayectoria marca una sección en el proceso en el que cada cambio individual en cualquiera de los bloques contenidos demandará una completa reejecución de todas las etapas dentro de la sección crítica. Esta limitación conduce a un enfoque de consumo de tiempo y recursos para la construcción o extensión de robots. El proceso descrito es hoy en día el más popular en la industria y conduce a robots que carecen de flexibilidad y capacidad de reconfiguración. In Figure 1 block a), the critical path has been highlighted. This trajectory marks a section in the process in which each individual change in any of the contained blocks will demand a complete re-execution of all the stages within the critical section. This limitation leads to a time and resource consumption approach for the construction or extension of robots. The process described today is the most popular in the industry and leads to robots that lack flexibility and reconfiguration capacity.
Opuesto a esto, ios robots modulares prometen interoperabilidad y facilidad de readaptación. Como se representa en la Figura 1 bloque b), se elimina el esfuerzo de integración y la trayectoria crítica se reduce significativamente. Sin embargo, aunque se simplifica el proceso de construir robots y, particularmente, la integración de nuevos componentes, la tarea de programar, configurar o readaptar robots permanece en la sección crítica. Los componentes de robots, aunque operan entre sí, necesitan introducirse en la lógica del sistema manualmente. Esto implica que, para cada añadidura o modificación de componentes en las características físicas del robot, necesitará tener lugar una revisión completa de la lógica que controla el comportamiento de tai robot. Opposite to this, the modular robots promise interoperability and ease of retrofitting. As shown in Figure 1 block b), the integration effort is eliminated and the critical path is significantly reduced. However, although the process of building robots is simplified and, particularly, the integration of new components, the task of programming, configuring or retrofitting robots remains in the critical section. Robot components, although operating with each other, need to be entered into the system logic manually. This implies that, for each addition or modification of components in the physical characteristics of the robot, a complete review of the logic that controls the behavior of such a robot will need to take place.
Eludir esta limitación demanda componentes de robots que envían proactivamente información acerca de sí mismos. De esta forma, los robots integran la información de estos componentes dinámicamente y, dada una cierta tarea, se pueden
adaptar a sí mismos automáticamente. Un escenario de este tipo se representa en la Figura 1 bloque c). Avoiding this limitation demands robot components that proactively send information about themselves. In this way, robots integrate the information of these components dynamically and, given a certain task, they can be adapt themselves automatically. Such a scenario is represented in Figure 1 block c).
El método para diseñar y fabricar un robot está cubierto por el documento US20080082301A1 , en el que se crea un robot usando modelos en 3D, El documento US20080082301 A1 diseña y construye un robot usando técnicas y herramientas de modelado en 3D. Sin embargo, este documento no describe cómo puede reconfigurarse el comportamiento del robot, ni cómo pueden incluirse ¡os componentes desconocidos en el proceso. The method for designing and manufacturing a robot is covered by US20080082301A1, in which a robot is created using 3D models. US20080082301 A1 designs and builds a robot using 3D modeling techniques and tools. However, this document does not describe how the robot's behavior can be reconfigured, or how unknown components can be included in the process.
La representación de robots en entornos virtuales está cubierta por los documentos US6366293B1 y US20130275091 , en los que se describen métodos de simulación de objetos. El documento US20130275091 proporciona una vista general de un método para crear nuevos robots usando un entorno virtual compuesto por objetos en 3D. El documento US6366293B1 describe un método para una simulación orientada a objetos. Ninguna de las mismas describe cómo debería gestionar un entorno virtual elementos que son reales y desconocidos en tal entorno virtual. The representation of robots in virtual environments is covered by documents US6366293B1 and US20130275091, in which object simulation methods are described. Document US20130275091 provides an overview of a method for creating new robots using a virtual environment composed of 3D objects. US6366293B1 describes a method for an object-oriented simulation. None of these describes how a virtual environment should manage elements that are real and unknown in such a virtual environment.
El documento US20130275091 proporciona una definición del término "robot". Esta definición coincide con el concepto más tradicional de robots y proporciona descripción pura de sensores y accionadores, pero no clasifica ios mismos, no considera que existen diferencias relevantes entre sensores y accionadores. De manera similar, el documento US20130275091 no considera que, además de sensores y accionadores, un robot puede comprender otros tipos de dispositivos, tai como los especializados en comunicación (robots tanto ínter y intra), alimentación, cognición/razonamiento o interacción con usuario, entre otros. El documento US20130275091 describe un programa de comportamiento de control de robot que comprende únicamente una serie estructurada de instrucciones de software, sin embargo, no considera nuevos enfoques que, en vez de programar robots de una forma en serie y estructurada, tiene por objetivo entrenar los mismos usando técnicas neuromórfícas, como se describe en el documento PCT/ES2017/070781 . US20130275091 provides a definition of the term "robot." This definition coincides with the more traditional concept of robots and provides pure description of sensors and actuators, but does not classify them, does not consider that there are relevant differences between sensors and actuators. Similarly, document US20130275091 does not consider that, in addition to sensors and actuators, a robot can comprise other types of devices, such as those specialized in communication (both inter and intra robots), power, cognition / reasoning or user interaction, among others. Document US20130275091 describes a robot control behavior program comprising only a structured series of software instructions, however, it does not consider new approaches that, instead of programming robots in a serial and structured way, are intended to train the themselves using neuromorphic techniques, as described in document PCT / ES2017 / 070781.
El documento US20130275091 reivindica que la justificación de usar una simulación de robot es para hacer un prototipo y desarrollar un robot, pero este documento no considera que estas simulaciones también pueden usarse para entrenar o configurar comportamientos de robot completamente, basándose en iteraciones reales en entornos o bien reales o bien virtuales. Document US20130275091 claims that the justification for using a robot simulation is to make a prototype and develop a robot, but this document does not consider that these simulations can also be used to train or configure robot behaviors completely, based on real iterations in environments or either real or virtual.
El documento US20130275091 propone un catálogo de partes para una
simulación de robot, pero este catálogo únicamente proporciona un conjunto de módulos definidos y no considera que se añadan elementos desconocidos de terceros a la simulación, que limita la escalabilidad de la invención. Adicionaimente a esto, el método del documento US20130275091 no permite modificaciones de los modelos predefinidos o extensiones para adaptar tales modelos a muchos robots diferentes. De manera similar, el sistema de "arrastrar y soltar" conocido en la técnica limita la escalabilidad del enfoque ya que únicamente pueden usarse componentes en el catálogo para construir estas representaciones virtuales. Document US20130275091 proposes a catalog of parts for a robot simulation, but this catalog only provides a set of defined modules and does not consider that unknown third-party elements are added to the simulation, which limits the scalability of the invention. In addition to this, the method of document US20130275091 does not allow modifications of the predefined models or extensions to adapt such models to many different robots. Similarly, the "drag and drop" system known in the art limits the scalability of the approach since only components in the catalog can be used to construct these virtual representations.
En general, el documento US20130275091 no considera la necesidad de añadir capacidades al proceso de simulación para soportar elementos anteriormente desconocidos o indefinidos. Además, su enfoque carece de escalabilidad ya que se centra solamente en el proceso de construcción de robots, sin cubrir el entrenamiento de estas máquinas usando enfoques neuromórficos. In general, US20130275091 does not consider the need to add capabilities to the simulation process to support previously unknown or undefined elements. In addition, its approach lacks scalability because it focuses only on the process of building robots, without covering the training of these machines using neuromorphic approaches.
Un enfoque fundamentalmente diferente, aunque interesante se presenta en el documento US9671786B2, en el que se introduce un método para la generación automática de dispositivos robóticos para una especificación de tarea dada. Este método se centra en la generación automática de un dispositivo robótico en su totalidad o en parte para una tarea dada proporcionada por el usuario. El método divide la tara dada en una o más subtareas y determina los componentes lógicos requeridos para ejecutar tai tarea. Para hacer eso, el método propuesto comprende consultar una base de datos de conocimiento de componentes A fundamentally different, though interesting, approach is presented in US9671786B2, in which a method for the automatic generation of robotic devices for a given task specification is introduced. This method focuses on the automatic generation of a robotic device in whole or in part for a given task provided by the user. The method divides the given overhead into one or more subtasks and determines the logical components required to execute this task. To do that, the proposed method involves consulting a database of component knowledge
Sin embargo, el documento US9671786B2 no cubre la generación de dispositivos robóticos extendidos usando componentes desconocidos o nuevos, ni describe un enfoque claro para determinar cómo el comportamiento del robot debería codificarse, programarse o entrenarse. Además de esto, el documento, aunque tiene en consideración modelos virtuales, no propone el uso de modelos virtuales para validar el comportamiento propuesto. However, document US9671786B2 does not cover the generation of extended robotic devices using unknown or new components, nor does it describe a clear approach to determine how the robot's behavior should be coded, programmed or trained. In addition to this, although the document considers virtual models, it does not propose the use of virtual models to validate the proposed behavior.
El uso de módulos inteligentes que embeben capacidades de detección en robots es un tema cubierto por ios documentos US6995536 y DE4A251 12, en ios que se usan sensores inerciales para estimar la posición del órgano prensor en un robot. Asimismo, usando sensores, el documento PCT/ES2017/070437 describe la adaptación y autoconfiguración de módulos de robot para su uso en robots diferentes, así como la creación de un modelo global y dinámico del robot sin conocimiento previo de su estructura. Sin embargo, ninguno de estos documentos propone un método para
¡a configuración componentes desconocidos. The use of intelligent modules that embed detection capabilities in robots is a topic covered by documents US6995536 and DE4A251 12, in which inertial sensors are used to estimate the position of the clamping organ in a robot. Also, using sensors, document PCT / ES2017 / 070437 describes the adaptation and self-configuration of robot modules for use in different robots, as well as the creation of a global and dynamic model of the robot without prior knowledge of its structure. However, none of these documents propose a method for To unknown components configuration.
Más recientemente, e! documento WO2017153383A1 divulga un método para el ensamblaje de robots para ¡a reconfiguración de componentes no funcionales genéricos o no especificados ('existentes') en componentes especificados reconocibles por e! robot. En este desarrollo, el firmware respectivo asociado con cada componente específico (y elegido de una lista de firmware preconfigurado) se recupera y opcionalmente reconfigura, de modo que el firmware del componente genérico se exhibe con firmware recuperado o preconfigurado, haciendo al mismo compatible con el robot, siempre mediante referencia a una capa de abstracción de hardware predefinida. More recently, e! WO2017153383A1 discloses a method for assembling robots to reconfigure generic or unspecified ('existing') non-functional components into specified components recognizable by e! robot. In this development, the respective firmware associated with each specific component (and chosen from a preconfigured firmware list) is retrieved and optionally reconfigured, so that the generic component firmware is displayed with recovered or preconfigured firmware, making it compatible with the robot, always by reference to a predefined hardware abstraction layer.
Sin embargo, esta invención no cubre ni prevé la inclusión de componentes verdaderamente nuevos y desconocidos, con características propias no específicas o no recuperables (incluyendo tanto físicas como relacionadas con software), por lo tanto, no predefinidas de antemano. However, this invention does not cover or provide for the inclusion of truly new and unknown components, with their own non-specific or non-recoverable features (including both physical and software-related), therefore, not predefined in advance.
SUMARIO DE LA INVENCIÓN SUMMARY OF THE INVENTION
En un primer aspecto de la invención, se describe un método para entrenar robots modulares que se extienden dinámicamente con componentes físicos nuevos y desconocidos. El método divulgado por la presente habilita que, dado un hardware de componente de robot nuevo y desconocido que se acopla al robot modular y envía sus características ai mismo, el robot modular usa esta nueva información para integrar dicho componente, reestablecer su configuración física y reentrenarse a sí mismo dinámicamente para realizar una tarea dada. In a first aspect of the invention, a method for training modular robots that dynamically extend with new and unknown physical components is described. The method disclosed herein enables that, given a new and unknown robot component hardware that attaches to the modular robot and sends its characteristics to itself, the modular robot uses this new information to integrate said component, reestablish its physical configuration and retrain himself dynamically to perform a given task.
Componentes ya conocidos y nuevos componentes desconocidos pueden comunicarse entre sí usando normas de comunicación definidas previamente por fabricantes o desabolladores. En caso de incompatibilidad de sistema entre el robot modular que ya funciona y el nuevo componente desconocido, puede desplegarse un proceso por el cual los valores de nuevos componentes se ponen por defecto siguiendo un conjunto de reglas predefinidas conocidas por los componentes existentes. En un desarrollo, el proceso de reentrenamiento se deriva de Técnicas de Redes Neuronales Artificiales y Aprendizaje por Refuerzo, que permite que un método asistido por simulación comprenda una gran cantidad de iteraciones y una considerable reducción de esfuerzos en términos de tiempo y consumo de recursos. Already known components and new unknown components can communicate with each other using communication standards previously defined by manufacturers or developers. In case of system incompatibility between the already functioning modular robot and the new unknown component, a process can be deployed by which the values of new components are set by default following a set of predefined rules known to existing components. In a development, the retraining process is derived from Artificial Neural Network Techniques and Reinforcement Learning, which allows a simulation-assisted method to comprise a large number of iterations and a considerable reduction of efforts in terms of time and resource consumption.
En un segundo aspecto de la invención, se proporciona un aparato de robot o módulo que envía información representativa sobre sí mismo para su integración
automática en robots como se describe en el método propuesto. E! uso de normas de comunicación, así como ei despliegue de Redes Neuronales Artiíiciaies en ia lógica de! componente permiten una completa integración del componente nuevo en el modelo lógico del robot modular. Análogamente, el empleo de Técnicas de Aprendizaje por Refuerzo ayuda en ei proceso de entrenamiento del robot extendido que incluye componentes conocidos y nuevos desconocidos. In a second aspect of the invention, a robot apparatus or module is provided that sends representative information about itself for integration. automatic in robots as described in the proposed method. AND! use of communication standards, as well as the deployment of Artificial Neural Networks in the logic of! component allow a complete integration of the new component into the logical model of the modular robot. Similarly, the use of Reinforcement Learning Techniques helps in the training process of the extended robot that includes known and new unknown components.
DESCRIPCIÓN DE LA INVENCIÓN DESCRIPTION OF THE INVENTION
Como se indica en ia Figura 1 a), la mayoría de robots, hoy en día, se construyen o extienden siguiendo un proceso de cascada. Cada componente nuevo a añadir ai robot se integra "manualmente" en orden para que estos componentes sean compatibles e interoperabies con ei resto del robot. Este proceso hace la tarea de construcción o extensión de robots extremadamente cara ya que demanda un gran esfuerzo de ingeniería debido al esfuerzo manual requerido para modificar las abstracciones en un robot. Por ejemplo, si tal robot se programa usando métodos estructurados y lógica tradicional, una parte relevante del código de programación necesitaría revisarse y adaptarse manualmente para incluir ei componente nuevo. Como alternativa, si tai robot se configura usando modelos neuromórficos, su extensión física requeriría un gran esfuerzo de ingeniería para modificar la representación virtual de robot (RR) cada vez se produce un cambio. As indicated in Figure 1 a), most robots, today, are built or extended following a waterfall process. Each new component to be added to the robot is "manually" integrated in order for these components to be compatible and interoperabies with the rest of the robot. This process makes the task of building or extending robots extremely expensive since it demands a great engineering effort due to the manual effort required to modify the abstractions in a robot. For example, if such a robot is programmed using structured methods and traditional logic, a relevant part of the programming code would need to be reviewed and adapted manually to include the new component. As an alternative, if such a robot is configured using neuromorphic models, its physical extension would require a great engineering effort to modify the virtual representation of the robot (RR) every time a change occurs.
Estos enfoques no escalan y, además de requerir extremadamente mucho tiempo, no soportan componentes nuevos y desconocidos que nunca se han interconectado con el sistema que se reconfigura. Sin embargo, mediante la irnplementación del método de la presente invención, ia fase crítica que comprende las tareas de ensamblaje de componentes nuevos y desconocidos y programar, probar y adaptar ei nuevo robot a su nueva configuración física, se reduce extremadamente en términos de tiempo y consumo de recursos, con la condición de que las últimas fases del proceso se asisten automáticamente y tienen lugar principalmente en entornos simulados. These approaches do not scale and, in addition to requiring extremely long time, do not support new and unknown components that have never been interconnected with the system that is reconfigured. However, through the implementation of the method of the present invention, the critical phase comprising the tasks of assembling new and unknown components and programming, testing and adapting the new robot to its new physical configuration, is extremely reduced in terms of time and resource consumption, with the proviso that the last phases of the process are automatically assisted and take place mainly in simulated environments.
Por lo tanto, en un primer aspecto de la invención, se describe un método para entrenar robots modulares que se extienden dinámicamente con componentes físicos nuevos y desconocidos. El método divulgado por ia presente habilita el robot modular, dado un hardware de componente de robot nuevo y desconocido que se acopla ai robot modular y envía sus características al mismo, para usar esta nueva información para integrar dicho componente, reestablecer su configuración física y reentrenarse a
sí mismo dinámicamente para realizar una tarea dada. Therefore, in a first aspect of the invention, a method for training modular robots that dynamically extend with new and unknown physical components is described. The method disclosed herein enables the modular robot, given a new and unknown robot component hardware that attaches to the modular robot and sends its features to it, to use this new information to integrate said component, reestablish its physical configuration and retrain to himself dynamically to perform a given task.
Componentes ya conocidos y nuevos componentes desconocidos pueden comunicarse entre sí usando normas de comunicación definidas previamente por fabricantes o desabolladores. En caso de incompatibilidad de sistema entre el robot modular que ya funciona y el nuevo componente desconocido, puede desplegarse un proceso por el cual los valores de nuevos componentes se ponen por defecto siguiendo un conjunto de reglas predefinidas conocidas por los componentes existentes. En un desarrollo, el proceso de reentrenamiento se deriva de Técnicas de Redes Neuronales Artificiales y Aprendizaje por Refuerzo, que permite que un método asistido por simulación comprenda una gran cantidad de iteraciones y una considerable reducción de esfuerzos en términos de tiempo y consumo de recursos. Already known components and new unknown components can communicate with each other using communication standards previously defined by manufacturers or developers. In case of system incompatibility between the already functioning modular robot and the new unknown component, a process can be deployed by which the values of new components are set by default following a set of predefined rules known to existing components. In a development, the retraining process is derived from Artificial Neural Network Techniques and Reinforcement Learning, which allows a simulation-assisted method to comprise a large number of iterations and a considerable reduction of efforts in terms of time and resource consumption.
En un segundo aspecto de la invención, se proporciona por la presente un aparato de robot o módulo configurado para enviar información representativa sobre sí mismo para su integración automática en robots como se describe en el método del primer aspecto de la invención. El uso de normas de comunicación, así como el despliegue de Redes Neuronales Artificiales (ANN) en la lógica del componente pueden permitir una completa integración del componente nuevo en el modelo lógico del robot modular. Análogamente, el empleo de Técnicas de Aprendizaje por Refuerzo ayuda en el proceso de entrenamiento del robot extendido, incluyendo componentes conocidos y nuevos desconocidos. In a second aspect of the invention, there is provided hereby a robot apparatus or module configured to send representative information about itself for automatic integration into robots as described in the method of the first aspect of the invention. The use of communication standards, as well as the deployment of Artificial Neural Networks (ANN) in the logic of the component can allow a complete integration of the new component into the logical model of the modular robot. Similarly, the use of Reinforcement Learning Techniques helps in the process of training the extended robot, including known and new unknown components.
En un primer aspecto de la invención, se proporciona un método o sistema para reentrenar robots modulares que se extienden dinámicamente con componentes nuevos y desconocidos de hardware. Por nuevo y desconocido, se concibe que significa componentes de hardware que podrían venir de cualquier fabricante y proporcionar cualquier funcionalidad, aunque nunca se han interconectado antes con el sistema de robot. En consecuencia, no existe información previa disponible acerca de sus características físicas, mecánicas, eléctricas o lógicas. In a first aspect of the invention, a method or system for retraining modular robots that dynamically extend with new and unknown hardware components is provided. By new and unknown, it is conceived that it means hardware components that could come from any manufacturer and provide any functionality, although they have never been interconnected with the robot system before. Consequently, there is no prior information available about its physical, mechanical, electrical or logical characteristics.
De una manera similar, "desconocido" también es un componente "no entrenado" en el sentido de que carece de la información necesaria para su total integración en el robot modular. A partir del ámbito de los componentes ya integrados en el sistema, el componente nuevo es desconocido porque nunca ha experimentado un proceso de entrenamiento junto ai resto de ios componentes, ni aún se conocen sus características específicas por otros componentes. Similarly, "unknown" is also an "untrained" component in the sense that it lacks the information necessary for its full integration into the modular robot. From the scope of the components already integrated in the system, the new component is unknown because it has never undergone a training process alongside the rest of the components, its specific characteristics by other components are not yet known.
En la realización de la presente invención, el componente de hardware nuevo y
desconocido se ha proporcionado con la capacidad de transmitir tales características al robot modular debido a! uso de los mismos métodos de comunicación que los usados por el robot. En uno de muchos plausibles desarrollos, un método de comunicación puede constar de un middieware de comunicación, existiendo ya una gran variedad de los métodos que pueden emplearse para el mismo propósito, con la condición de que se conocen tanto por el robot como el componente nuevo. De esta forma, el empleo de hardware de componente de robot usando normas de comunicación comunes hace más fácil desarrollar arquitecturas de comunicación complejas entre diferentes componentes independientemente de su tipo, estado u origen. In the embodiment of the present invention, the new hardware component and Unknown has been provided with the ability to transmit such features to the modular robot due to! use of the same communication methods as those used by the robot. In one of many plausible developments, a communication method can consist of a communication middieware, there being already a wide variety of methods that can be used for the same purpose, with the condition that they are known by both the robot and the new component . In this way, the use of robot component hardware using common communication standards makes it easier to develop complex communication architectures between different components regardless of their type, status or origin.
Por lo tanto, comenzando a partir de un robot modular que comprende un cierto número de módulos y siendo capaz de realizar una tarea determinada, ya que se le ha entrenado para hacerlo, se añade un nuevo módulo en el mismo. Por lo tanto, la configuración del robot modular se cambia a continuación de la adición del nuevo elemento. Por lo tanto, el método de la invención permite al robot resultante, una vez que se ha equipado el nuevo módulo, realizar la misma tarea. Esto es viable mediante la implementación del método de las reivindicaciones. Therefore, starting from a modular robot that comprises a certain number of modules and being able to perform a certain task, since it has been trained to do so, a new module is added to it. Therefore, the configuration of the modular robot is changed following the addition of the new element. Therefore, the method of the invention allows the resulting robot, once the new module has been equipped, to perform the same task. This is feasible by implementing the method of the claims.
DESCRIPCIÓN DE LOS DIBUJOS DESCRIPTION OF THE DRAWINGS
Para complementar la descripción que se ha hecho y para ayudar para un mejor entendimiento de las características de la invención, de acuerdo con un ejemplo preferido de realización práctica de la misma, se adjunta un conjunto de dibujos como una parte integral de dicha descripción en el que, con carácter ilustrativo y no limitante, ios siguientes se han representado: To complement the description that has been made and to help for a better understanding of the features of the invention, according to a preferred example of practical implementation thereof, a set of drawings is attached as an integral part of said description in the that, by way of illustration and not limitation, the following have been represented:
La Figura 1 muestra un diagrama en el que se representan tres estrategias diferentes para la construcción de robots conocidas en la técnica. Figure 1 shows a diagram representing three different strategies for the construction of robots known in the art.
La Figura 2 representa una representación en 3D de un robot modular en una configuración inicial. Figure 2 represents a 3D representation of a modular robot in an initial configuration.
La Figura 3 representa una representación en 3D del robot modular de la Figura 2 en el que un componente nuevo se considera para añadirse. Figure 3 represents a 3D representation of the modular robot of Figure 2 in which a new component is considered to be added.
La Figura 4 representa una representación en 3D del componente nuevo considerado a añadirse. Figure 4 represents a 3D representation of the new component considered to be added.
La Figura 5 representa una representación en 3D del robot modular de la Figura 2 en el que el componente nuevo se añade al robot de la Figura 2 y el robot resultante es aún capaz de ejecutar una tarea dada.
La Figura 6 representa una representación en 3D de! robot modular de la Figura 2 en el que el componente nuevo se añade al robot de la Figura 2 y el robot, con su nueva configuración, no es físicamente capaz de ejecutar una tarea dada. Figure 5 represents a 3D representation of the modular robot of Figure 2 in which the new component is added to the robot of Figure 2 and the resulting robot is still capable of executing a given task. Figure 6 represents a 3D representation of! Modular robot of Figure 2 in which the new component is added to the robot of Figure 2 and the robot, with its new configuration, is not physically capable of executing a given task.
La Figura 7 representa una representación en 3D de! componente nuevo, un LIDAR, que se conecta a un robot existente, un coche, para ayudar a este coche robot a validar sus capacidades de conducción autónoma. Figure 7 represents a 3D representation of! New component, a LIDAR, that connects to an existing robot, a car, to help this robot car validate its autonomous driving capabilities.
La Figura 8 muestra un diagrama que representa el modelo de un robot, cuando un componente nuevo y desconocido se conecta físicamente. Figure 8 shows a diagram representing the model of a robot, when a new and unknown component is physically connected.
La Figura 9 muestra un diagrama de flujo del proceso que tiene por objetivo validar e integrar cualquier componente nuevo. Figure 9 shows a flow chart of the process that aims to validate and integrate any new components.
REALIZACIÓN PREFERIDA DE LA INVENCIÓN PREFERRED EMBODIMENT OF THE INVENTION
El método de la invención divulgado por la presente permite que, dado un robot (R) modular realizando una tarea (T) y un componente de robot (C) nuevo y desconocido que se acopla al robot (R), tai robot (R) actualiza su modelo físico interno mientras que incluye el componente (C) nuevo y se reentrena a sí mismo para ejecutar la tarea (T). Para hacer esto, también se proporciona una interfaz de usuario que visualiza un modelo en 3D que representa el estado del robot (R) ensamblado y permite supervisar el proceso de entrenamiento. Usando esta interfaz, el robot modular físico (R) puede compararse con la representación virtual del robot (R) a saber la representación de robot (RR), habilitando la realización de relevantes correcciones y asimilar indicaciones acerca de circunstancias tales como el peso de ios componentes o la curvatura o inclinación de todo el robot, que el componente de cognición (unidad de procesamiento) del robot puede finalmente no ser capaz de reconocerse por sí mismo. The method of the invention disclosed herein allows that, given a modular robot (R) performing a task (T) and a new and unknown robot component (C) that is coupled to the robot (R), tai robot (R) updates its internal physical model while including the new component (C) and retrains itself to execute the task (T). To do this, a user interface is also provided that displays a 3D model that represents the state of the assembled robot (R) and allows the training process to be monitored. Using this interface, the physical modular robot (R) can be compared with the virtual representation of the robot (R) namely the robot representation (RR), enabling the realization of relevant corrections and assimilating indications about circumstances such as the weight of ios components or the curvature or inclination of the entire robot, which the cognition component (processing unit) of the robot may finally not be able to recognize itself.
El componente (C) nuevo es desconocido al robot (R) y comprende un conjunto de reglas lógicas con, entre otras capacidades relacionadas con robots, los siguientes medios que ayuda a mejorar las capacidades del robot modular: The new component (C) is unknown to the robot (R) and comprises a set of logical rules with, among other robot-related capabilities, the following means that help improve the capabilities of the modular robot:
- Detectar, para que el robot modular perciba el entono circundante, tal como sensores o cameras. - Detect, so that the modular robot perceives the surrounding environment, such as sensors or cameras.
- Accionamiento, para producir un cambio físico, como hacen ios accionadores. - Drive, to produce a physical change, as do the actuators.
- Cognición, para coordinar y controlar el comportamiento del robot, tal como una unidad de procesamiento. - Cognition, to coordinate and control the robot's behavior, such as a processing unit.
- Comunicación, proporcionando interconexión entre los componentes del robot
o exponiendo nuevos canales de comunicación. - Communication, providing interconnection between robot components or exposing new communication channels.
■ Alimentación. ■ Food.
- Interfaces de usuario, tal como pantallas, reconocimiento de voz, palancas de mando, etc. - User interfaces, such as screens, voice recognition, joysticks, etc.
Para establecer una forma de comunicación entre nuevos componentes (C) y ios componentes ya existentes en el robot (R) modular, así como entre componentes ya existentes, puede emplearse una lógica de intercambio de información o middleware de comunicación basándose en la metodología de publicación/suscripción. Ejemplos de tai middleware de comunicación incluyen el Servicio de Distribución de Datos (DDS), el middleware de Sistema Operativo de Robot (ROS) más abstracto o el protocolo binario de UA de OPC. También podrían usarse otros middiewares de comunicación tai como DDS para Entornos Extremadamente Restringidos de Recursos (XRCE) para inferconectar componentes con recursos limitados que más tarde se unirían a cualquiera de los middiewares de publicación/suscripción descritos anteriormente. To establish a form of communication between new components (C) and the components already existing in the modular robot (R), as well as between existing components, an information exchange logic or communication middleware can be used based on the publication methodology /subscription. Examples of such communication middleware include the Data Distribution Service (DDS), the most abstract Robot Operating System (ROS) middleware or the OPC UA binary protocol. Other tai communication middiewares such as DDS for Extremely Restricted Resource Environments (XRCE) could also be used to disconnect components with limited resources that would later join any of the publication / subscription middiewares described above.
De esta forma, una vez que el nuevo, y anteriormente desconocido para el robot (R) modular, componente (C) se acopla al robot (R) modular, comparte o publica sus características en el bus de datos compartido por todos los componentes existentes, todos los cuales se suscriben a ios parámetros incorporados que son útiles para el funcionamiento del robot (R) modular, y por lo tanto pueden conocer al adición de un componente (C) nuevo y sus características, así como otros cambios realizados en el robot (R) modular tal como sustituciones o eliminaciones de componentes. In this way, once the new, and previously unknown to the modular robot (R), component (C) is coupled to the modular robot (R), it shares or publishes its characteristics on the data bus shared by all existing components , all of which subscribe to the built-in parameters that are useful for the operation of the modular robot (R), and therefore may know the addition of a new component (C) and its characteristics, as well as other changes made to the robot (R) modular such as component substitutions or deletions.
Los datos publicados se tratan dinámicamente por lo tanto pueden o bien ser o bien no ser útiles para el propósito que tiene por objetivo el robot (R) modular en un momento dado. Si no es útil, simplemente serán ignorados por la unidad de procesamiento, pero continúan estando disponibles si ios comportamientos deseados o las características físicas del robot (R) modular finalmente cambian. The published data is treated dynamically so it may either be or not be useful for the purpose of the modular robot (R) at any given time. If it is not useful, they will simply be ignored by the processing unit, but they are still available if the desired behaviors or the physical characteristics of the modular robot (R) finally change.
Como se ha anticipado anteriormente, el proceso de reentrenamiento puede comprender el uso de técnicas que imitan arquitecturas neurobioiógicas presentes en el sistema nervioso de mamíferos o técnicas neuromórficas. Estas técnicas neuromórficas habitualmente hacen uso de una combinación de Redes Neuronaies Artificiales (ANN) y métodos de Aprendizaje por Refuerzo (RL) para representar y adquirir la inteligencia deseada, creando de este modo modelos matemáticos compuestos de variables y sus relaciones que muestran las propiedades del sistema y
pueden reentrenarse dinámicamente dependiendo de las partes disponibles y operacionales en el robot moduiar en un momento dado. Estos modelos matemáticos, representados en ía presente como modelos lógicos (M), se conciben para recrear y íacultar la lógica de robots (R) modulares. As previously anticipated, the retraining process may include the use of techniques that mimic neurobioiotic architectures present in the mammalian nervous system or neuromorphic techniques. These neuromorphic techniques usually make use of a combination of Artificial Neural Networks (ANN) and Reinforcement Learning (RL) methods to represent and acquire the desired intelligence, thus creating mathematical models composed of variables and their relationships that show the properties of the system and they can be dynamically retrained depending on the available and operational parts in the modulate robot at any given time. These mathematical models, represented in the present day as logical models (M), are conceived to recreate and conceal the logic of modular robots (R).
En una realización preferida, este proceso comienza con la generación de un entorno en 3D que comprende todos los componentes activos dentro del robot (R) modular que comparte se información en un momento dado. Debido a esto junto con, el modelo lógico generado, en lo sucesivo el modelo (M), se usará adicionalmente para llevar a cabo simulaciones y entrenamientos de robot que tienen por objetivo conformar el comportamiento del robot (R) modular real en una fase ulterior. Cuanto más fiel sea la simulación a las circunstancias de la realidad, más preciso será también el despliegue de esta simulación en el robot (R) modular real. In a preferred embodiment, this process begins with the generation of a 3D environment comprising all the active components within the modular robot (R) that shares information at a given time. Due to this, together with the logic model generated, hereafter the model (M), will be used additionally to carry out simulations and robot trainings that aim to shape the behavior of the real modular robot (R) at a later stage . The more faithful the simulation to the circumstances of reality, the more accurate the deployment of this simulation in the real modular robot (R) will also be.
El proceso de reentrenamiento puede tener lugar como alternativa en el propio robot (R) modular, en un servidor o servidores conectados al robot (R) modular en la misma red o en muchos servidores que están disponibles a través de la internet (servicios en la nube). Ya que el modelo (M) resultante puede procesarse como un archivo informático exportable, el resultado del proceso de reentrenamiento puede transferirse al robot (R) o a otra parte que se necesite después. Esto también permite el despliegue de un modelo (M) lógico resultante y sus parámetros en otros entornos, siendo la base de cálculo para otros robots (R) y sus respectivos procesos de reentrenamiento. The retraining process can take place as an alternative on the modular robot (R) itself, on a server or servers connected to the modular robot (R) on the same network or on many servers that are available through the internet (services on the Internet). cloud). Since the resulting model (M) can be processed as an exportable computer file, the result of the retraining process can be transferred to the robot (R) or to another part that is needed later. This also allows the deployment of a resulting logical model (M) and its parameters in other environments, being the basis of calculation for other robots (R) and their respective retraining processes.
En el método divulgado por la presente, dado el modelo (M) que alimenta la lógica del robot (R) y se construye basándose en las técnicas neuromórficas mencionadas anteriormente, se describe por la presente el proceso que sigue el robot (R) para actualizar su modelo físico interno o representación de robot (RR) después de que se acopla el componente (C) nuevo, y desconocido. In the method disclosed herein, given the model (M) that feeds the logic of the robot (R) and is constructed based on the neuromorphic techniques mentioned above, the process followed by the robot (R) for updating is described herein. its internal physical model or robot representation (RR) after the new, unknown component (C) is coupled.
Con la condición de que la unidad de procesamiento del robot (R) modular muestra una representación de robot (RR) o representación virtual de ios módulos físicamente presentes en el robot (R) modular, incluyendo pero sin limitación a sus características físicas o su tipo, que se actualiza dinámicamente a medida que se añaden nuevos componentes al robot, tal representación de robot (RR) necesitaría finalmente ampliarse con información proporcionada por el componente (C) nuevo una vez conectado al robot (R) modular. With the proviso that the processing unit of the modular robot (R) shows a representation of the robot (RR) or virtual representation of the modules physically present in the modular robot (R), including but not limited to its physical characteristics or type , which is dynamically updated as new components are added to the robot, such a robot representation (RR) would eventually need to be expanded with information provided by the new component (C) once connected to the modular robot (R).
Esta información se denominará como Modelo de Robot por Componentes
(CRM) o representación virtual de las características físicas y cognitivas del componente que se acopla. En una realización, la unidad de procesamiento, integrada como uno de los componentes de robot (o "cerebro"), detecta el componente (C) nuevo y determina si tai componente se conoce de antemano o no. Para hacer eso, en algunas realizaciones la unidad de procesamiento realiza una suscripción a la información publicada por el componente (C) nuevo en un bus de datos en el que todos los componentes existentes comparten información de acuerdo con una metodología de publicación/suscripción y que es accesible por la unidad de procesamiento del robot (R) modular en un momento dado, This information will be referred to as Component Robot Model (CRM) or virtual representation of the physical and cognitive characteristics of the component that is coupled. In one embodiment, the processing unit, integrated as one of the robot (or "brain") components, detects the new component (C) and determines whether this component is known in advance or not. To do that, in some embodiments the processing unit makes a subscription to the information published by the new component (C) in a data bus in which all existing components share information according to a publication / subscription methodology and that it is accessible by the modular robot processing unit (R) at any given time,
Siendo el componente (C) nuevo realmente "desconocido", la unidad de procesamiento solicita ("suscribe") la información necesaria para realizar la integración del componente (C) nuevo. Esta información puede publicarse por dicho componente (C) nuevo, dado que emplea el mismo método de comunicación que se usa en el robot (R) modular. En una realización, un patrón de comunicación de publicación/suscripción por el que el componente (C) nuevo comparte su información relevante con el resto de ios componentes del robot (R) modular y solicita de ellos ios datos útiles para la realización del proceso de integración, puede emplearse finalmente, aunque asimismo son válidas otras muchas posibles y disponibles formas de comunicación a disposición de fabricantes o desarroliadores y se conciben para ser entendidas por los expertos en la materia. Being the new component (C) really "unknown," the processing unit requests ("subscribes") the information necessary to integrate the new component (C). This information can be published by said new component (C), since it uses the same communication method used in the modular robot (R). In one embodiment, a publication / subscription communication pattern whereby the new component (C) shares its relevant information with the rest of the components of the modular robot (R) and requests from them the useful data for carrying out the process of Integration can finally be used, although many other possible and available forms of communication available to manufacturers or developers are also valid and are conceived to be understood by those skilled in the art.
Para autenticar y asegurar la integridad y no repudio de la información transmitida por el componente (C) nuevo, esta información puede codificarse usando claves simétricas o asimétricas (o ambas ai mismo tiempo), que también solicitará la unidad de procesamiento mientras realiza la actualización de la representación de robot (RR). To authenticate and ensure the integrity and non-repudiation of the information transmitted by the new component (C), this information can be encrypted using symmetric or asymmetric keys (or both at the same time), which the processing unit will also request while updating the Robot representation (RR).
Típicamente, la representación de robot (RR) o, como se definió anteriormente, la representación virtual de los componentes físicamente presentes en el robot (R) modular, cambia dinámicamente siguiendo un conjunto de reglas predefinidas y/o se adapta a sí misma de acuerdo con una base de datos preexistente. Para que eso tenga lugar, después de que el componente (C) nuevo se conecta y se comparte la información desconocida usando uno de los métodos de comunicación mencionados, la representación virtual de ios componentes físicamente presentes o representación de robot (RR) normalmente experimenta un proceso de reconfiguración física por el cual se determina el posicionamiento relativo de todos los componentes existentes y
acoplados recientemente en un índice de ordenanza. Tal índice de ordenanza juega un papel importante ya que completa el entorno en 3D en el que se llevarán a cabo las simulaciones. Typically, the robot representation (RR) or, as defined above, the virtual representation of the components physically present in the modular robot (R), dynamically changes following a set of predefined rules and / or adapts itself according to with a preexisting database. For that to take place, after the new component (C) is connected and the unknown information is shared using one of the mentioned communication methods, the virtual representation of the physically present components or robot representation (RR) normally experiences a physical reconfiguration process by which the relative positioning of all existing components is determined and recently coupled in an ordinance index. Such an ordinance index plays an important role as it completes the 3D environment in which the simulations will take place.
En una realización, este método de reconfiguración física puede consistir en emplear unidades de medida inerciales (IMU) o topologías de red, entre otros métodos disponibles que tienen por objetivo calcular el posicionamiento relativo de ios componentes de hardware de robot en un robot modular. La nueva representación del robot (R) modular física, a saber, la representación de robot (RR) resultante, se usa a continuación por la lógica o modelo (M) del robot (R) modular para reconfigurar o reentrenarse a sí misma para ejecutar la tarea (T). In one embodiment, this physical reconfiguration method may consist of employing inertial units of measurement (IMU) or network topologies, among other available methods that aim to calculate the relative positioning of the robot hardware components in a modular robot. The new representation of the physical modular robot (R), namely the resulting robot representation (RR), is then used by the logic or model (M) of the modular robot (R) to reconfigure or retrain itself to execute the task (T).
De una forma más específica, dado dicho componente nuevo y desconocido (C) que transmite información sobre sí mismo de modo que se integra en el robot (R) modular, incorporando este método información acerca del componente (C) en el robot (R) modular, por lo tanto, implementando dinámicamente la representación de robot (RR), procede como se indica a continuación: In a more specific way, given said new and unknown component (C) that transmits information about itself so that it is integrated into the modular robot (R), this method incorporating information about the component (C) in the robot (R) Modular, therefore, dynamically implementing the robot representation (RR), proceed as follows:
« La información recibida desde el componente (C) nuevo, que comprende representaciones en 3D, modelos matemáticos, características de operación de componentes, medios de cálculo, versiones de firmware y, finalmente, claves simétricas o asimétricas, se valida y confirma mediante la unidad de procesamiento antes de su integración en la representación de robot (RR). Un proceso de validación típico implica, después de que se haya asegurado la trayectoria a través de la validación de la clave simétrica o asimétrica: «The information received from the new component (C), which includes 3D representations, mathematical models, component operation characteristics, calculation means, firmware versions and, finally, symmetric or asymmetric keys, is validated and confirmed by the unit of processing before its integration into the robot representation (RR). A typical validation process implies, after the trajectory has been secured through the validation of the symmetric or asymmetric key:
o Verificar el formato de la información recibida desde el componente (C) nuevo y su compatibilidad con el formato en uso por ios componentes existentes, o Verify the format of the information received from the new component (C) and its compatibility with the format in use by the existing components,
o Adaptar tal información al escenario existente del robot (y representado por la representación de robot (RR)), mientras esta adaptación habitualmente implica emparejar las conexiones o extremidades de un robot. o Adapt such information to the existing robot scenario (and represented by the robot representation (RR)), while this adaptation usually involves matching the connections or limbs of a robot.
o Integrar tal información adaptada en la representación de robot (RR), poniéndolo por defecto en valores de representación de robot (RR) si es necesario. o Integrate such adapted information into the robot representation (RR), by default in robot representation (RR) values if necessary.
o Comprobar y revisar la representación de robot (RR) resultante para evaluar su unidad y funcionalidad. o Check and review the resulting robot representation (RR) to evaluate its unit and functionality.
* Conflictos de integración entre la información proporcionada por el componente (C) nuevo, y la que ya existe en la representación de robot (RR) se abordan y resuelven (por ejemplo: incompatibilidades entre las características de las
conexiones presentes en el modelo de robot y la nueva información acerca de conexiones proporcionadas por el componente (C) nuevo o de otra manera información transmitida desde el componente (C) nuevo no completa o desorganizada). En una realización preferida, estos conflictos se resuelven automáticamente, siguiendo una lógica predefinida establecida en la base de datos disponible para la unidad de procesamiento, dada la información ya compartida por todos los componentes conocidos y desconocidos, o como alternativa procediendo a solicitar nuevamente la información faitante compartida por el componente (C) nuevo. * Integration conflicts between the information provided by the new component (C), and that already existing in the robot representation (RR) are addressed and resolved (for example: incompatibilities between the characteristics of the connections present in the robot model and the new information about connections provided by the new component (C) or otherwise information transmitted from the new component (C) not complete or disorganized). In a preferred embodiment, these conflicts are automatically resolved, following a predefined logic established in the database available to the processing unit, given the information already shared by all known and unknown components, or as an alternative by proceeding to request the information again. faitante shared by the new component (C).
* Una vez que los conflictos se han resuelto y la representación de robot (RR) se ha ampliado satisfactoriamente con la información del componente (C) nuevo, el modelo (M) que alimenta la lógica del robot usa la versión resultante, a saber, nueva o actualizada, de la representación de robot (RR) para adaptar automáticamente o reentrenar sus comportamientos de acuerdo con la nueva configuración física de robot, como se ha explicado anteriormente. Este proceso de reenfrenamiento que consiste en Aprendizaje por Refuerzo de Redes Neuronales Artificiales puede tener lugar o bien en el robot real o bien en simulación muchas veces. Cada simulación implica un número indefinido de iteraciones que tienen por objetivo conseguir un comportamiento deseado preestablecido en la red neurona!. Si el robot consigue el objetivo, es recompensado, siendo penalizado por lo tanto cuando no lo consigue. Este proceso de reentrenamiento puede supervisarse en cada momento a través de una interfaz de usuario. * Once the conflicts have been resolved and the robot representation (RR) has been successfully extended with the information of the new component (C), the model (M) that feeds the robot logic uses the resulting version, namely, new or updated, of the robot representation (RR) to automatically adapt or retrain its behaviors according to the new robot physical configuration, as explained above. This re-training process that consists of Learning by Reinforcement of Artificial Neural Networks can take place either in the real robot or in simulation many times. Each simulation implies an indefinite number of iterations that aim to achieve a pre-established desired behavior in the neuron network! If the robot achieves the objective, it is rewarded, therefore being penalized when it does not achieve it. This retraining process can be monitored at any time through a user interface.
« Después de que el modelo (M) se ha reentrenado un número (N) de veces, la interfaz de usuario emite una señal (en forma de señal de luz, sonido u orden) que indica el éxito o fracaso de todo el proceso, dependiendo del equilibrio resultante de recompensas y penalizaciones recibidas por el robot (R) modular. Un éxito debería interpretarse como que el método logró la adaptación del robot (R) modular para la tarea (T) con la adición del componente (C) nuevo. En otras palabras, el nuevo robot (R), con la adición del componente (C) nuevo, puede lograr la tarea (T) y los comportamientos mejorados, etiquetados como "aprendidos", pueden a continuación desplegarse en el robot (R) modular real, si se desea. Una señal de fracaso debería entenderse como que el robot (R) modular equipado con el componente (C) nuevo, o robot (R) modular modificado, no es capaz de ejecutar la tarea (T) en su nueva configuración. Fracasos estarán habituaimente relacionados con el hecho de que el robot (R) modular no es físicamente capaz de conseguir la tarea (T). La Figura 6
muestra un caso de este tipo en e! que el robot (R) modular, con su nueva configuración, no es físicamente capaz de ejecutar la tarea (T), de este modo la integración no ha sido satisfactoria mientras el órgano prensor apunta fuera del espacio de trabajo. Incompatibilidades tales como una no especificación de la longitud de un componente podría finalmente no abordarse hasta que la simulación resulte en fallo, y se arregle automáticamente después. "After the model (M) has been retrained a number (N) of times, the user interface emits a signal (in the form of a light, sound or order signal) indicating the success or failure of the entire process, depending on the balance resulting from rewards and penalties received by the modular robot (R). A success should be interpreted as that the method achieved the adaptation of the modular robot (R) for the task (T) with the addition of the new component (C). In other words, the new robot (R), with the addition of the new component (C), can accomplish the task (T) and the improved behaviors, labeled as "learned", can then be deployed in the modular robot (R) real, if desired. A failure signal should be understood as that the modular robot (R) equipped with the new component (C), or modified modular robot (R), is not capable of executing the task (T) in its new configuration. Failures will usually be related to the fact that the modular robot (R) is not physically capable of accomplishing the task (T). Figure 6 show such a case in e! that the modular robot (R), with its new configuration, is not physically capable of executing the task (T), thus the integration has not been satisfactory while the clamping organ points out of the workspace. Incompatibilities such as a non-specification of the length of a component could eventually not be addressed until the simulation results in failure, and is automatically fixed later.
Sumario esbozado, el método descrito permite que el robot (R) modular se reentrene automáticamente a sí mismo para una tarea (T) dada cada vez que un componente (C) nuevo se añade y determina la viabilidad de conseguir tal tarea (T) con la configuración existente en el robot (R) modular, o representación de robot (RR) actualizada. Por lo tanto, el método descrito por la presente se centra en la ampliación de la representación de robot (RR) con componentes desconocidos (C) y la adaptación del modelo lógico (M) del robot (R) para realizar una tarea (T) dada, independientemente de una configuración física nueva y extendida, o representación de robot (RR) actualizada. Summary outlined, the described method allows the modular robot (R) to automatically retrain itself for a given task (T) every time a new component (C) is added and determines the feasibility of achieving such a task (T) with the existing configuration in the modular robot (R), or updated robot representation (RR). Therefore, the method described herein focuses on expanding the representation of robot (RR) with unknown components (C) and adapting the logical model (M) of the robot (R) to perform a task (T) given, regardless of a new and extended physical configuration, or updated robot representation (RR).
En un segundo aspecto de la invención, y para abordar las limitaciones técnicas explicadas anteriormente, se describe un aparato de robot que automáticamente envía información representativa acerca de sus características físicas y sus capacidades, o Modelo de Robot por Componentes (CRM). En una realización preferida, este aparato actúa como el componente (C) nuevo y desconocido a acoplar al robot (R). Tai aparato proporciona el resto de componentes ya existentes (B, A1 , A2, A4, EF) en el robot (R) modular con medios de detección, accionamiento, cognición, alimentación, comunicación, interfaces de usuario y otras capacidades relacionadas con robot. In a second aspect of the invention, and to address the technical limitations explained above, a robot apparatus is described that automatically sends representative information about its physical characteristics and its capabilities, or Robot Model by Components (CRM). In a preferred embodiment, this apparatus acts as the new and unknown component (C) to be coupled to the robot (R). Tai apparatus provides the rest of existing components (B, A1, A2, A4, EF) in the modular robot (R) with detection, actuation, cognition, power, communication, user interfaces and other robot related capabilities.
Un aparato ilustrativo o componente de hardware de robot como el divulgado por la presente puede definirse como un módulo de robot. Tal módulo de robot muestra una unidad de procesamiento central (CPU) y lógica programable adicional realizada habituaimente en forma de una F'PGA, memoria volátil y no volátil, una interfaz de red, sensores, accionadores, etc., y, en el contexto de un robot modular, comprende un código de IMU o programa que revela su posicionamiento y estado actual y está constantemente esperado instrucciones. Un robot (R) modular ilustrativo puede comprender cuatro módulos como en la Figura 2, siendo estos: una unidad de procesamiento (B), un primer accionador (A1 ), un segundo accionador (A2) y un órgano prensor (EF). Aunque, por simplicidad en vista del objetivo seguido por esta
invención, detalles de alimentación y comunicación, así como componentes relacionados tales como sensores no se han incluido, una unidad de comunicación que proporciona todos los componentes con medios de alimentación y comunicación se concibe como comprendida y entendida por los expertos en la materia. An illustrative apparatus or robot hardware component as disclosed herein can be defined as a robot module. Such a robot module shows an additional central processing unit (CPU) and additional programmable logic usually performed in the form of an F ' PGA, volatile and non-volatile memory, a network interface, sensors, actuators, etc., and, in the context of a modular robot, it comprises an IMU code or program that reveals its current position and status and is constantly awaiting instructions. An illustrative modular robot (R) may comprise four modules as in Figure 2, these being: a processing unit (B), a first actuator (A1), a second actuator (A2) and a clamping member (EF). Although, for simplicity in view of the objective followed by this invention, power and communication details, as well as related components such as sensors have not been included, a communication unit that provides all components with power and communication means is conceived as understood and understood by those skilled in the art.
En una realización preferida, un tercer accionador (A3) se acopla a un robot (R) modular con una configuración de SCARA que realiza movimientos en un solo eje. La principal función del tercer accionador (A3) acopiado comprende girar ángulos de dibujo izquierdo y derecho más o menos ancho, adaptando tales movimientos ai funcionamiento de todo el robot (R) modular que tiene por objetivo conseguir la tarea (T) deseada, habituaimente representada por el órgano prensor ubicándose a sí mismo sobre el punto espacial de espacio de trabajo etiquetado como "objetivo" en la Figura 6. In a preferred embodiment, a third actuator (A3) is coupled to a modular robot (R) with a SCARA configuration that performs movements on a single axis. The main function of the third actuator (A3) collected includes rotating angles of left and right drawing more or less wide, adapting such movements to the operation of the entire modular robot (R) which aims to achieve the desired task (T) usually represented by the clamping body placing itself on the spatial point of workspace labeled as "objective" in Figure 6.
Dicho tercer accionador (A3), cuando se conecta al robot (R), envía información sobre sí mismo de modo que el robot (R) puede integrar la misma automáticamente y reconfigurar sus comportamientos para incluir la misma, como se ha descrito anteriormente. Para que eso tenga lugar, el tercer accionador (A3) acopiado necesita transmitir ai menos, pero sin limitación, la siguiente información: Said third actuator (A3), when connected to the robot (R), sends information about itself so that the robot (R) can automatically integrate it and reconfigure its behaviors to include the same, as described above. For that to take place, the third-party actuator (A3) collected needs to transmit at least, but not limited to, the following information:
* Este modelo en 3D comprende una representación realista del propio componente, incluyendo, pero sin limitación su forma, tamaño o longitud de acuerdo con un conjunto de valores que emulan las características de los componentes existentes en el robot (R) modular. Siendo el componente (C) nuevo, por ejemplo, la mitad del tamaño de un componente ya integrado, sus modelos en 3D también coincidirán "gráficamente" con sus proporciones. Esto asegura espacios de trabajo en 3D basados en realidad y robots (R) modulares para trabajar con y supervisar a través de la interfaz de usuario proporcionada para ese fin. * This 3D model comprises a realistic representation of the component itself, including, but not limited to its shape, size or length according to a set of values that emulate the characteristics of the components existing in the modular robot (R). Being the new component (C), for example, half the size of an already integrated component, its 3D models will also "graphically" match its proportions. This ensures reality-based 3D workspaces and modular (R) robots to work with and monitor through the user interface provided for that purpose.
* Un Modelo de Robot por Componentes (CRM) que incluye una representación de los submódulos dentro del componente que incluye, pero sin limitación sus conexiones, características físicas, material o su tipo. Un Modelo de Robot por Componentes (CRM) simple podría incluir una descripción del componente junto con sus conexiones y sus correspondientes características físicas y, finalmente y teniendo por objetivo asegurar la autenticidad, integridad y no repudio de la información transmitida, estar provisto de una clave simétrica o asimétrica que se verificará y usará por la unidad de procesamiento antes de su integración. El Modelo de Robot por Componentes (CRM) se determina asimismo pero sin limitación a ios
siguientes aspectos: a) un conjunto de reglas predefinido especificado por el fabricante, incluyendo una norma de comunicación compartida por el tercer accionador (A3) acopiado y en ios componentes existentes (B, A1 , A2, A4, EF) de robot (R), b) una interfaz gráfica de usuario en la que un usuario puede configurar el "CRM" del componente y c) un mecanismo automático en el que el Modelo de Robot por Componentes (CRM) se deduce automáticamente a partir de las interacciones con el robot (R). * A Component Robot Model (CRM) that includes a representation of the submodules within the component that includes, but is not limited to its connections, physical characteristics, material or its type. A simple Component Robot Model (CRM) could include a description of the component along with its connections and their corresponding physical characteristics and, finally and with the objective of ensuring the authenticity, integrity and non-repudiation of the transmitted information, be provided with a key symmetric or asymmetric that will be verified and used by the processing unit before integration. The Component Robot Model (CRM) is also determined but not limited to ios following aspects: a) a predefined set of rules specified by the manufacturer, including a communication standard shared by the third actuator (A3) collected and in the existing components (B, A1, A2, A4, EF) of robot (R) , b) a graphical user interface in which a user can configure the "CRM" of the component and c) an automatic mechanism in which the Component Robot Model (CRM) is automatically deduced from interactions with the robot ( R).
* Las capacidades del aparato, incluyendo, pero sin limitación a las interfaces y abstracciones usadas para operar tal aparato, su nombre, versión, límites mecánicos (valores de motor) y eléctricos (lectura de energía), así como cualquier otra información relacionada con programación. * The capabilities of the device, including, but not limited to the interfaces and abstractions used to operate such device, its name, version, mechanical limits (motor values) and electrical limits (energy reading), as well as any other programming related information .
En una realización y de acuerdo con el método descrito anteriormente, la información transmitida por el componente (C) nuevo estará disponible para cualquier otro componente que participa en la red de comunicación y que publica y que se suscribe a la información necesaria para hacer que el robot funcione. Cuando el componente de cognición, que puede representarse o bien por la CPU de un cierto módulo del robot (R) o bien por una red informática accesible por el robot (R), detecta el componente (C) nuevo, solicitará la información relevante para validar e integrar el mismo en la representación de robot (RR), por la que se actualiza la representación en 3D actual de los componentes activos y su base de datos. In one embodiment and according to the method described above, the information transmitted by the new component (C) will be available to any other component that participates in the communication network and publishes and subscribes to the information necessary to make the Robot work. When the cognition component, which can be represented either by the CPU of a certain robot module (R) or by a computer network accessible by the robot (R), detects the new component (C), it will request the relevant information to validate and integrate it into the robot representation (RR), which updates the current 3D representation of the active components and their database.
Si la integración del aparato de robot, también objeto de la invención, es satisfactoria, con la condición de que todos ios conflictos entre la configuración física existente del robot (R) o representación de robot (RR) y la nueva configuración física expuesta por el componente acopiado o Modelo de Robot por Componentes (CRM) podrían abordarse y resolverse, el modelo del robot (M) es por lo tanto capaz de usar su nueva configuración (RR actualizada con CRM) para reentrenarse a sí mismo para realizar la tarea (T) deseada usando las técnicas anteriormente descritas. If the integration of the robot apparatus, also object of the invention, is satisfactory, with the condition that all conflicts between the existing physical configuration of the robot (R) or robot representation (RR) and the new physical configuration exposed by the Collecting component or Robot Model by Components (CRM) could be addressed and solved, the robot model (M) is therefore able to use its new configuration (RR updated with CRM) to retrain itself to perform the task (T ) desired using the techniques described above.
De la misma forma que el robot (R) puede comprender una representación de robot (RR) que representa los módulos dentro del robot (R), también el componente (C) tiene un Modelo de Robot por Componentes (CRM), que es una representación de cada uno de los submódulos dentro del componente, considerado individualmente, incluyendo, pero sin limitación a sus conexiones, características físicas, material o su tipo. In the same way that the robot (R) can comprise a robot representation (RR) that represents the modules inside the robot (R), also the component (C) has a Component Robot Model (CRM), which is a representation of each of the submodules within the component, considered individually, including, but not limited to its connections, physical characteristics, material or its type.
En una realización preferida, el componente (C) puede ser un aparato de robot
que transmite a! menos, pero sin limitación la siguiente información cuando se conecta al robot (R): In a preferred embodiment, component (C) can be a robot apparatus which transmits to! less, but without limitation the following information when connected to the robot (R):
» Un modelo en 3D de! propio aparato como se representa en la Figura 3, »A 3D model of! own apparatus as depicted in Figure 3,
* Un Modelo de Robot por Componentes (CRM) como se representa en la Figura 4, que podría finalmente cifrarse a través de la inclusión de claves simétricas o asimétricas. * A Component Robot Model (CRM) as depicted in Figure 4, which could finally be encrypted through the inclusion of symmetric or asymmetric keys.
* Las capacidades del propio aparato de robot que incluyen, entre otras, cómo operar el mismo e interconectar apropiadamente con el mismo. Ya que el componente nuevo es un accionador, esto notificará acerca de las inferfaces que expone para su control apropiado (por ejemplo, posición de motor, velocidad de motor, par de motor, etc.). * The capabilities of the robot device itself that include, among others, how to operate it and interconnect properly with it. Since the new component is an actuator, this will notify you of the inferfaces it exposes for proper control (for example, engine position, engine speed, engine torque, etc.).
La Figura 5 muestra una representación en 3D de un robot modular que comprende cinco módulos, en el que la tarea (T) objetivo también se representa (como "objetivo"). Detalles de alimentación y comunicación, así como componentes relacionados no se han representado. Este robot modular se deriva de la Figura 2 después de que se haya logrado la integración del componente de robot (C) de las Figuras 3 y 4, conduciendo a la consecución de la tarea a pesar de la nueva configuración física del robot modular. En esta realización preferida, el robot (R) puede realizar la tarea (T) mientras que mueve sus uniones apropiadamente. Por lo tanto, la Figura 5 presenta una implantación satisfactoria después de que la representación de robot (RR) fue a través del método propuesto. Ya que se alcanzó el "objetivo", la tarea (T) tuvo éxito, de este modo el método produciría un resultado positivo. Figure 5 shows a 3D representation of a modular robot comprising five modules, in which the objective task (T) is also represented (as "objective"). Power and communication details as well as related components have not been represented. This modular robot is derived from Figure 2 after the integration of the robot component (C) of Figures 3 and 4 has been achieved, leading to the achievement of the task despite the new physical configuration of the modular robot. In this preferred embodiment, the robot (R) can perform the task (T) while moving its joints properly. Therefore, Figure 5 presents a satisfactory implementation after the robot representation (RR) was through the proposed method. Since the "objective" was reached, the task (T) was successful, thus the method would produce a positive result.
En una realización preferida de la invención como se representa en la Figura 5, la integración de componente (C) nuevo en el robot (R) modular comprende las siguientes etapas: In a preferred embodiment of the invention as shown in Figure 5, the integration of new component (C) into the modular robot (R) comprises the following steps:
i. La información enviada desde el componente (C) nuevo o Modelo de Robot por Componentes (CRM), incluyendo claves simétricas o asimétricas, si se desea, se recibe en la unidad de procesamiento del robot (R), valida y confirma contra un conjunto de regias predefinido, dado que el componente (C) nuevo tiene una norma de comunicación en común con el robot (R), de este modo existe la comunicación. Entre otras tareas de validación, comprende asegurar que el Modelo de Robot por Componentes (CRM) esté completo, es auténtico y compatible con el robot (R). i. The information sent from the new component (C) or Robot by Component Model (CRM), including symmetric or asymmetric keys, if desired, is received in the robot processing unit (R), validates and confirms against a set of predefined rules, since the new component (C) has a communication standard in common with the robot (R), so there is communication. Among other validation tasks, it includes ensuring that the Component Robot Model (CRM) is complete, authentic and compatible with the robot (R).
ii. Después de un proceso de validación, el Modelo de Robot por Componentes (CRM), se integra en la representación de robot (RR) del robot (R). En una realización
preferida, conflictos de integración entre el Modelo de Robot por Componentes (CRM) y la representación de robot (RR) se resuelven automáticamente poniendo por defecto las conexiones de representación de robot (RR), estructuras y características, en caso de desacuerdo. ii. After a validation process, the Component Robot Model (CRM) is integrated into the robot (RR) representation of the robot (R). In one embodiment preferred, integration conflicts between the Component Robot Model (CRM) and the robot representation (RR) are automatically resolved by default of the robot representation connections (RR), structures and characteristics, in case of disagreement.
iii. Para evaluar la posición espacial relativa de todos los componentes nuevos y desconocidos dada la nueva configuración de! robot, se aborda y despliega un proceso de reconfiguración física como se divulga en la descripción del método. iii. To evaluate the relative spatial position of all new and unknown components given the new configuration of! robot, a physical reconfiguration process is approached and deployed as disclosed in the method description.
iv. Una vez que los conflictos se han resuelto, la reconfiguración física se ha completado y la representación de robot (RR) ha integrado el Modelo de Robot por Componentes (CRM) del componente (C) nuevo, el modelo (M) del robot usa la nueva versión de representación de robot (RR) para adaptar automáticamente (reentrenar) sus comportamientos de acuerdo con la nueva configuración física de robot. En una realización preferida, este proceso de adaptación (o reentrenamiento) tiene lugar en simulación un cierto número (n) de veces. iv. Once the conflicts have been resolved, the physical reconfiguration has been completed and the robot representation (RR) has integrated the Component Robot Model (CRM) of the new component (C), the robot model (M) uses the new version of robot representation (RR) to automatically adapt (retrain) its behaviors according to the new physical configuration of robot. In a preferred embodiment, this process of adaptation (or retraining) takes place in simulation a certain number (n) of times.
v. Después de que el modelo (M) o la lógica algorítmica que alimenta el robot v. After the model (M) or algorithmic logic that feeds the robot
(R) se ha reentrenado muchas veces, el método emite una señal que indica el éxito o fracaso de todo el proceso. (R) has been retrained many times, the method emits a signal indicating the success or failure of the entire process.
La Figura 6 muestra una representación en 3D de un robot modular que comprende cinco módulos y tres uniones en la que también se presenta la tarea (T). Detalles de alimentación y comunicación, así como componentes relacionados no se han representado. Este robot modular se obtiene a partir de la Figura 2 después de que se completa el ensamblaje del componente de robot (C) (representado en las Figuras 3 y 4), aunque con una configuración ligeramente diferente. Esto implica que la información enviada por el componente (C) nuevo o Modelo de Robot por Componentes (CRM), es diferente cuando se compara con la Figura 5. En este caso, el robot es incapaz de alcanzar el objetivo ("objetivo") de la tarea (T) de este modo la integración no ha sido satisfactoria mientras que el órgano prensor apunta fuera del espacio de trabajo. En este caso particular, el método falló en la adaptación del robot (R) para la tarea (T) y el resultado producido por el método debería ser negativo. Figure 6 shows a 3D representation of a modular robot comprising five modules and three joints in which the task (T) is also presented. Power and communication details as well as related components have not been represented. This modular robot is obtained from Figure 2 after the assembly of the robot component (C) (represented in Figures 3 and 4) is completed, although with a slightly different configuration. This implies that the information sent by the new component (C) or Robot Model by Components (CRM), is different when compared to Figure 5. In this case, the robot is unable to reach the target ("target") of the task (T) in this way the integration has not been satisfactory while the clamping body points out of the workspace. In this particular case, the method failed to adapt the robot (R) for the task (T) and the result produced by the method should be negative.
La Figura 7 representa un componente nuevo y desconocido (C), un LIDAR, que automáticamente envía información representativa acerca de su modelo físico y sus capacidades, que se conecta a un robot existente (R), un coche, para ayudar a tai coche robot a validar sus capacidades de conducción autónoma. La tarea a realizar por el robot (R) se codifica como un conjunto de rutinas para validar sus capacidades
de conducción autónoma, mientras que una rutina ilustrativa podría definirse mediante un entorno urbano simulado en el que el coche debería conducir y recorrer a través de las calles durante una cantidad dada de tiempo sin colisiones. Otra rutina podría definirse como un entorno virtual similar en el que el coche robot debería recorrer a través de un entorno urbano mientras respeta las normas de circulación. Figure 7 represents a new and unknown component (C), a LIDAR, which automatically sends representative information about its physical model and its capabilities, which connects to an existing robot (R), a car, to help such a robot car to validate their autonomous driving capabilities. The task to be performed by the robot (R) is coded as a set of routines to validate its capabilities of autonomous driving, while an illustrative routine could be defined by a simulated urban environment in which the car should drive and travel through the streets for a given amount of time without collisions. Another routine could be defined as a similar virtual environment in which the robot car should travel through an urban environment while respecting traffic rules.
De acuerdo con esta realización alternativa de la invención, un componente nuevo y desconocido (C), en este caso a LiDAR, se coloca en la parte superior del coche robot (R) para ayudar, a través de la detección, en la tarea de conducción autónoma descrita anteriormente. Conectando el componente (C) nuevo ai robot (R), el método propuesto en esta invención procederá como se indica a continuación: According to this alternative embodiment of the invention, a new and unknown component (C), in this case to LiDAR, is placed in the upper part of the robot car (R) to assist, through detection, in the task of autonomous driving described above. Connecting the new component (C) to the robot (R), the method proposed in this invention will proceed as follows:
1 . El componente (C) transmite su información, incluyendo claves simétricas o asimétricas si se desea, al robot (R). El Modelo de Robot por Componentes (CRM) transmitido del componente (C) nuevo se valida y confirma contra un conjunto de reglas predefinido asegurando que el componente (C) nuevo es compatible con el robot (R). one . The component (C) transmits its information, including symmetric or asymmetric keys if desired, to the robot (R). The Component Robot Model (CRM) transmitted from the new component (C) is validated and confirmed against a predefined set of rules ensuring that the new component (C) is compatible with the robot (R).
2. Se abordarán ios conflictos cuando se fusione el Modelo de Robot por Componentes (CRM) en la representación de robot (RR). 2. Conflicts will be addressed when the Component Robot Model (CRM) is merged into the robot representation (RR).
3. Se despliega una reconfiguración física. 3. A physical reconfiguration is displayed.
4. La nueva versión de la representación de robot (RR) se usará para adaptar automáticamente (reentrenar) el coche robot (R). Para hacer eso, las rutinas que definen la tarea (T) se ejecutarán con la nueva representación de robot (RR) muchas veces. 4. The new version of the robot representation (RR) will be used to automatically adapt (retrain) the robot car (R). To do that, the routines that define the task (T) will be executed with the new robot representation (RR) many times.
5. Tras los resultados de las etapas previas etapas, se producirá una señal de salida notificando si el proceso de reentrenamiento resultó en éxito o fracaso. 5. After the results of the previous stages, an output signal will be produced notifying if the retraining process resulted in success or failure.
La Figura 8 esquemáticamente representa cómo trabaja un modelo (M) de un robot (también la lógica que alimenta el robot (R) de acuerdo con el método de la invención): cuando el componente (C) desconocido se conecta físicamente, la representación de robot (RR) o representación de ios módulos dentro del robot, se actualiza con la información recibida desde el componente (C) nuevo o Modelo de Robot por Componentes (CRM). Justo después de que esto se produzca, el modelo (M) se entrena mientras recibe muchas entradas (i) junto con la representación de robot (RR) actualizada y genera muchos resultados (O) para los accionadores, de modo que el robot (R) aprende para lograr la tarea (T) dada independientemente del número de módulos presentes en el robot, si es físicamente viable.
Aunque e! objeto de la invención se ha desplegado en un entorno de múltiples CPU, es decir usando unidades lógicas y programadles proporcionadas en el robot (R) o en una arquitectura de servidor cliente accesible por, al menos, una CPU del robot (R); cualquier componente (C) nuevo equipado con suficiente potencia de cálculo efectúa el propio método de la invención, usando solo una unidad que podría definirse mediante una CPU que es el procesador del propio componente (C) nuevo. Figure 8 schematically represents how a model (M) of a robot works (also the logic that feeds the robot (R) according to the method of the invention): when the unknown component (C) is physically connected, the representation of robot (RR) or representation of the modules inside the robot, is updated with the information received from the new component (C) or Robot Model by Components (CRM). Right after this occurs, the model (M) trains while receiving many inputs (i) together with the updated robot representation (RR) and generates many results (O) for the actuators, so that the robot (R ) Learn to achieve the given task (T) regardless of the number of modules present in the robot, if it is physically viable. Although e! object of the invention has been deployed in an environment of multiple CPUs, that is to say using logical and programmable units provided in the robot (R) or in a client server architecture accessible by at least one robot CPU (R); Any new component (C) equipped with sufficient computing power performs the method of the invention itself, using only one unit that could be defined by a CPU that is the processor of the new component (C) itself.
La Figura 9 es un diagrama de flujo en el que se ha representado el proceso que tiene por objetivo validar e integrar nuevos componentes (C), de acuerdo con el método divulgado por la presente.
Figure 9 is a flow chart in which the process that aims to validate and integrate new components (C), in accordance with the method disclosed herein, has been represented.
Claims
1 . Método para integrar componente (C) nuevo en un robot (R) modular entrenado para realizar una tarea (T) dada, estando el método caracterizado por que comprende: a. proporcionar al menos una unidad de procesamiento del robot (R) modular con una representación de robot (RR) que es una representación de ios módulos físicamente presentes en el robot (R) modular, one . Method for integrating new component (C) into a modular robot (R) trained to perform a given task (T), the method being characterized by comprising: a. provide at least one modular robot (R) processing unit with a robot representation (RR) that is a representation of the modules physically present in the modular robot (R),
b. integrar un componente (C) nuevo al robot, b. integrate a new component (C) to the robot,
c. ai menos una unidad de procesamiento en el robot (R) que detecta el componente (C) nuevo y solicita un conjunto de características definidas como un C. at least one processing unit in the robot (R) that detects the new component (C) and requests a set of features defined as a
Modelo de Robot por Componentes (CRM) del componente (C) nuevo, Component Robot Model (CRM) of the new component (C),
d. el componente (C) nuevo que transmite el conjunto de características definidas como el Modelo de Robot por Componentes (CRM) del componente (C) nuevo ai robot (R) modular por medio de métodos de comunicación usados por el robot modular, d. the new component (C) that transmits the set of characteristics defined as the Component Robot Model (CRM) of the new component (C) to the modular robot (R) by means of communication methods used by the modular robot,
e. publicar el Modelo de Robot por Componentes (CRM) en el bus de datos compartido por componentes del robot (R) modular en la configuración anterior a la integración del componente (C) nuevo en el robot (R) modular, and. publish the Component Robot Model (CRM) on the component-shared data bus of the modular robot (R) in the configuration prior to the integration of the new component (C) into the modular robot (R),
f. ios componentes del robot (R) modular en la configuración anterior a la integración del componente (C) nuevo en el robot (R) modular que se suscriben a parámetros útiles para el funcionamiento del robot (R) modular, F. ios components of the modular robot (R) in the configuration prior to the integration of the new component (C) into the modular robot (R) that subscribe to parameters useful for the operation of the modular robot (R),
g. la al menos una unidad de procesamiento que integra el componente (C) nuevo de acuerdo con o bien un conjunto de reglas predefinidas o bien volviendo a valores de representación de robot (RR) por defecto, g. the at least one processing unit that integrates the new component (C) according to either a set of predefined rules or returning to default robot representation values (RR),
h, la al menos una unidad de procesamiento que realiza una reconfiguración física del robot modular resultante que comprende el componente (C) nuevo por el que se determinan las respectivas posiciones relativas de todos los componentes en el robot (R) resultante que comprende el componente (C) nuevo, y h, the at least one processing unit that performs a physical reconfiguration of the resulting modular robot comprising the new component (C) by which the respective relative positions of all components in the resulting robot (R) comprising the component are determined (C) new, and
i. entrenar al robot (R) modular resultante que comprende el componente (C) nuevo usando ios parámetros citados para lograr la tarea (T) dada. i. train the resulting modular robot (R) comprising the new component (C) using the aforementioned parameters to accomplish the given task (T).
2. El método de la reivindicación 1 , en el que el método de comunicación es un middleware seleccionado a partir de: Servicio de Distribución de Datos (DDS), middieware de Sistema Operativo de Robot (ROS), protocolo binario de UA de OPC y
DDS para Entornos Extremadamente Restringidos de Recursos (XRCE). 2. The method of claim 1, wherein the communication method is a middleware selected from: Data Distribution Service (DDS), Robot Operating System (ROS) middieware, OPC UA binary protocol and DDS for Extremely Restricted Resource Environments (XRCE).
3. El método de la reivindicación 2, en el que el Modelo de Robot por Componentes (CRM) se determina mediante al menos uno del grupo que consta de: a. un conjunto de reglas predefinido especificado por el fabricante. 3. The method of claim 2, wherein the Component Robot Model (CRM) is determined by at least one of the group consisting of: a. a predefined set of rules specified by the manufacturer.
b. una interfaz de usuario para la configuración del Modelo de Robot por Componentes (CRM) y b. a user interface for the configuration of the Component Robot Model (CRM) and
c. un mecanismo automático por el que se deduce la representación de robot (RR) a partir de las interacciones con el componente desconocido. C. an automatic mechanism by which the robot representation (RR) is deduced from the interactions with the unknown component.
4. Un método para reentrenar robots modulares ampliados con componentes desconocidos, que comprende adicionalmente: 4. A method for retraining extended modular robots with unknown components, which additionally comprises:
a. al menos una unidad de procesamiento del robot que determina la representación de robot (RR) ampliada con el componente (C) desconocido, to. at least one robot processing unit that determines the robot representation (RR) enlarged with the unknown component (C),
b. establecer la tarea (T) a realizar, b. set the task (T) to be performed,
c. conformar la lógica del robot (R) para realizar la tarea (T) usando Redes Neuronales Artificiales (ANN) y Aprendizaje por Refuerzo (RL), C. conform the logic of the robot (R) to perform the task (T) using Artificial Neural Networks (ANN) and Reinforcement Learning (RL),
d. un modelo lógico (M) que alimenta la lógica del robot (R) que recibe la representación de robot (RR) actualizada y un conjunto de órdenes; desarrollar un conjunto de comportamientos a desplegar en el robot (R) en el que: d. a logical model (M) that feeds the robot logic (R) that receives the updated robot representation (RR) and a set of commands; develop a set of behaviors to be displayed on the robot (R) in which:
i. comportamientos deseados se representan mediante la consecución de la tarea, y i. Desired behaviors are represented by accomplishing the task, and
ii. comportamientos no deseados mediante la no consecución. ii. unwanted behaviors through non-achievement.
e. determinar la consecución del proceso de entrenamiento cuando el número de consecuciones es mayor que el número de no consecuciones, y and. determine the achievement of the training process when the number of achievements is greater than the number of non-achievements, and
f. recuperar el modelo (M) resultante. F. retrieve the resulting model (M).
5. Método de acuerdo con la reivindicación 1 , en el que las características de componente (C) nuevo comprenden al menos uno de ios grupos seleccionados a partir de: representaciones en 3D de componentes, modelos matemáticos, características de operación de componentes, medios de cálculo, información de versión de firmware, claves simétricas y claves asimétricas. 5. The method according to claim 1, wherein the new component (C) features comprise at least one of the groups selected from: 3D representations of components, mathematical models, component operating characteristics, media calculation, firmware version information, symmetric keys and asymmetric keys.
6. Un componente de robot adaptado para difundir información representativa a los módulos de un robot (R) modular cuando se integra en dicho robot modular de
acuerdo con una cualquiera de las reivindicaciones 1 a 5, comprendiendo dicho componente de robot al menos uno de los medios de detección, actuación, cognición, comunicación, alimentación e interfaces de usuario, en el que la información representativa comprende: 6. A robot component adapted to disseminate representative information to the modules of a modular robot (R) when integrated into said modular robot of according to any one of claims 1 to 5, said robot component comprising at least one of the means of detection, actuation, cognition, communication, power and user interfaces, wherein the representative information comprises:
a. un Modelo de Robot por Componentes ÍCRM) que es una representación virtual de las características físicas y cognitivas del componente de robot, to. an ICRM Component Robot Model) which is a virtual representation of the physical and cognitive characteristics of the robot component,
b. un modelo en 3D del componente de robot, y b. a 3D model of the robot component, and
c. una descripción y especificación de las capacidades del componente de robot, incluyendo interfaces y abstracciones usadas para el componente de robot.
C. a description and specification of the capabilities of the robot component, including interfaces and abstractions used for the robot component.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/ES2018/070379 WO2018172593A2 (en) | 2018-05-25 | 2018-05-25 | Method for integrating new modules into modular robots, and robot component of same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/ES2018/070379 WO2018172593A2 (en) | 2018-05-25 | 2018-05-25 | Method for integrating new modules into modular robots, and robot component of same |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2018172593A2 true WO2018172593A2 (en) | 2018-09-27 |
WO2018172593A3 WO2018172593A3 (en) | 2019-04-04 |
Family
ID=63556357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/ES2018/070379 WO2018172593A2 (en) | 2018-05-25 | 2018-05-25 | Method for integrating new modules into modular robots, and robot component of same |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2018172593A2 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3639983A1 (en) * | 2018-10-18 | 2020-04-22 | Technische Universität München | Anti-collision safety measures for a reconfigurable modular robot |
WO2022240906A1 (en) * | 2021-05-11 | 2022-11-17 | Strong Force Vcn Portfolio 2019, Llc | Systems, methods, kits, and apparatuses for edge-distributed storage and querying in value chain networks |
US12039559B2 (en) | 2021-04-16 | 2024-07-16 | Strong Force Vcn Portfolio 2019, Llc | Control tower encoding of cross-product data structure |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4225112C1 (en) | 1992-07-30 | 1993-12-09 | Bodenseewerk Geraetetech | Instrument position relative to processing object measuring apparatus - has measuring device for measuring position of instrument including inertia sensor unit |
US6366293B1 (en) | 1998-09-29 | 2002-04-02 | Rockwell Software Inc. | Method and apparatus for manipulating and displaying graphical objects in a computer display device |
US6995536B2 (en) | 2003-04-07 | 2006-02-07 | The Boeing Company | Low cost robot manipulator |
US20080082301A1 (en) | 2006-10-03 | 2008-04-03 | Sabrina Haskell | Method for designing and fabricating a robot |
US20130275091A1 (en) | 2010-07-22 | 2013-10-17 | Cogmation Robotics Inc. | Non-programmer method for creating simulation-enabled 3d robotic models for immediate robotic simulation, without programming intervention |
US9671786B2 (en) | 2007-01-12 | 2017-06-06 | White Magic Robotics Inc. | Method and system for robot generation |
WO2017153383A1 (en) | 2016-03-07 | 2017-09-14 | Softbank Robotics Europe | Modular manufacturing of a robot |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110224828A1 (en) * | 2010-02-12 | 2011-09-15 | Neuron Robotics, LLC | Development platform for robotic systems |
US9751211B1 (en) * | 2015-10-08 | 2017-09-05 | Google Inc. | Smart robot part |
CN109906132B (en) * | 2016-09-15 | 2022-08-09 | 谷歌有限责任公司 | Robotic deep reinforcement learning |
-
2018
- 2018-05-25 WO PCT/ES2018/070379 patent/WO2018172593A2/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE4225112C1 (en) | 1992-07-30 | 1993-12-09 | Bodenseewerk Geraetetech | Instrument position relative to processing object measuring apparatus - has measuring device for measuring position of instrument including inertia sensor unit |
US6366293B1 (en) | 1998-09-29 | 2002-04-02 | Rockwell Software Inc. | Method and apparatus for manipulating and displaying graphical objects in a computer display device |
US6995536B2 (en) | 2003-04-07 | 2006-02-07 | The Boeing Company | Low cost robot manipulator |
US20080082301A1 (en) | 2006-10-03 | 2008-04-03 | Sabrina Haskell | Method for designing and fabricating a robot |
US9671786B2 (en) | 2007-01-12 | 2017-06-06 | White Magic Robotics Inc. | Method and system for robot generation |
US20130275091A1 (en) | 2010-07-22 | 2013-10-17 | Cogmation Robotics Inc. | Non-programmer method for creating simulation-enabled 3d robotic models for immediate robotic simulation, without programming intervention |
WO2017153383A1 (en) | 2016-03-07 | 2017-09-14 | Softbank Robotics Europe | Modular manufacturing of a robot |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3639983A1 (en) * | 2018-10-18 | 2020-04-22 | Technische Universität München | Anti-collision safety measures for a reconfigurable modular robot |
WO2020079272A3 (en) * | 2018-10-18 | 2020-07-02 | Technische Universität München | Anti-collision safety measures for a modular robot |
US12039559B2 (en) | 2021-04-16 | 2024-07-16 | Strong Force Vcn Portfolio 2019, Llc | Control tower encoding of cross-product data structure |
WO2022240906A1 (en) * | 2021-05-11 | 2022-11-17 | Strong Force Vcn Portfolio 2019, Llc | Systems, methods, kits, and apparatuses for edge-distributed storage and querying in value chain networks |
Also Published As
Publication number | Publication date |
---|---|
WO2018172593A3 (en) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cortés et al. | Coordinated control of multi-robot systems: A survey | |
JP7014368B2 (en) | Programs, methods, devices, and computer-readable storage media | |
WO2018172593A2 (en) | Method for integrating new modules into modular robots, and robot component of same | |
Kramer et al. | Development environments for autonomous mobile robots: A survey | |
Jelisavcic et al. | Real-world evolution of robot morphologies: A proof of concept | |
US20160155050A1 (en) | Neural network learning and collaboration apparatus and methods | |
US20110224828A1 (en) | Development platform for robotic systems | |
Heyden et al. | Development of a design education platform for an interdisciplinary teaching concept | |
JP7110884B2 (en) | LEARNING DEVICE, CONTROL DEVICE, LEARNING METHOD, AND LEARNING PROGRAM | |
Zhu et al. | A distributed and parallel control mechanism for self-reconfiguration of modular robots using L-systems and cellular automata | |
Ferreira et al. | Intensive summer course in robotics–Robotcraft | |
Aitken et al. | Adaptation of system configuration under the robot operating system | |
JP2015518597A (en) | Device control system | |
Bredenfeld et al. | Robot behavior engineering using DD-designer | |
Sofge et al. | Challenges and opportunities of evolutionary robotics | |
Tajadura et al. | Communication library to implement digital twins based on matlab and IEC61131 | |
Radecký et al. | Intelligent agents for traffic simulation | |
CN109240694A (en) | Rapid prototype development for intelligent driving auxiliary control system algorithm verifies system and method | |
Ruediger et al. | Simulation of Underwater Environments to Investigate Multi-Robot Systems for Marine Hull Inspection | |
Henriquez et al. | Yet another robot platform for teaching programming: YarpTp | |
WO2018154153A2 (en) | Method for designing modular robots | |
Grandi et al. | Unibot remote laboratory: A scalable web-based set-up for education and experimental activities in robotics | |
Podlubne et al. | Modeling FPGA-based Architectures for Robotics | |
Brunete et al. | Multi-drive control for in-pipe snakelike heterogeneous modular micro-robots | |
Seifert et al. | ARCS: A unified environment for autonomous robot control and simulation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 18768925 Country of ref document: EP Kind code of ref document: A2 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 18768925 Country of ref document: EP Kind code of ref document: A2 |