WO2018172593A2 - Método para integrar nuevos módulos en robots modulares, y un componente de robot del mismo - Google Patents

Método para integrar nuevos módulos en robots modulares, y un componente de robot del mismo Download PDF

Info

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
Application number
PCT/ES2018/070379
Other languages
English (en)
French (fr)
Other versions
WO2018172593A3 (es
Inventor
Víctor MAYORAL VILCHES
Asier BILBAO CALVO
Irati ZAMALLOA UGARTE
Risto KOJCEV
Alejandro HERNÁNDEZ CORDERO
Aday MUÑIZ ROSAS
Original Assignee
Erle Robotics, S.L
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Erle Robotics, S.L filed Critical Erle Robotics, S.L
Priority to PCT/ES2018/070379 priority Critical patent/WO2018172593A2/es
Publication of WO2018172593A2 publication Critical patent/WO2018172593A2/es
Publication of WO2018172593A3 publication Critical patent/WO2018172593A3/es

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1615Programme controls characterised by special kind of manipulator, e.g. planar, scara, gantry, cantilever, space, closed chain, passive/active joints and tendon driven manipulators
    • B25J9/1617Cellular, reconfigurable manipulator, e.g. cebot
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33039Learn for different measurement types, create for each a neural net
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40304Modular 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

Se proporciona un método para reentrenar robots modulares dinámicamente equipados con componentes físicos nuevos y desconocidos que se integran a los mismos, que comprende un sistema por el que tales componentes envían sus características al robot modular que ya funciona y por el que esta información se usa para integrar el componente, reestablecer la configuración física y reentrenar la lógica del robot, usando Aprendizaje por Refuerzo basándose en Redes Neurales Artificiales, para realizar una tarea determinada; un aparato de robot (un módulo de robot) que se acopla a robots modulares y envía información representativa sobre sí mismo para su integración automática en robots modulares, habiendo sido provisto tal aparato con una norma de comunicación entendible en el contexto de la red de comunicación presente en el robot.

Description

MÉTODO PARA INTEGRAR NUEVOS MÓDULOS EN ROBOTS MODULARES, Y UN COMPONENTE DE ROBOT DEL MISMO
OBJETO DE LA INVENCIÓN
El objeto de la invención pertenece al campo técnico de la robótica.
Más precisamente el objeto de la invención actual es un método para integrar nuevos módulos robots entrenados.
ANTECEDENTES DE LA INVENCIÓN
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.
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.
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.
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).
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.
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.
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 .
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.
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.
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.
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
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.
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.
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.
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.
SUMARIO DE LA INVENCIÓN
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.
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.
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.
DESCRIPCIÓN DE LA INVENCIÓN
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.
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.
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.
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.
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.
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.
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.
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.
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.
DESCRIPCIÓN DE LOS DIBUJOS
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:
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.
La Figura 2 representa una representación en 3D de un robot modular en una configuración inicial.
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.
La Figura 4 representa una representación en 3D del componente nuevo considerado a añadirse.
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.
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.
La Figura 8 muestra un diagrama que representa el modelo de un robot, cuando un componente nuevo y desconocido se conecta físicamente.
La Figura 9 muestra un diagrama de flujo del proceso que tiene por objetivo validar e integrar cualquier componente nuevo.
REALIZACIÓN PREFERIDA DE LA INVENCIÓN
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.
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:
- Detectar, para que el robot modular perciba el entono circundante, tal como sensores o cameras.
- Accionamiento, para producir un cambio físico, como hacen ios accionadores.
- Cognición, para coordinar y controlar el comportamiento del robot, tal como una unidad de procesamiento.
- Comunicación, proporcionando interconexión entre los componentes del robot o exponiendo nuevos canales de comunicación.
■ Alimentación.
- Interfaces de usuario, tal como pantallas, reconocimiento de voz, palancas de mando, 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.
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.
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.
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.
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.
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.
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.
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.
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,
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.
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).
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.
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).
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:
« 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:
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 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 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 Comprobar y revisar la representación de robot (RR) resultante para evaluar su unidad y funcionalidad.
* 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.
* 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.
« 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.
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.
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.
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.
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.
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:
* 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.
* 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).
* 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.
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.
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.
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.
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):
» Un modelo en 3D de! propio aparato como se representa en la Figura 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.
* 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.).
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.
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:
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).
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.
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.
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.
v. Después de que el modelo (M) o la lógica algorítmica que alimenta el robot
(R) se ha reentrenado muchas veces, el método emite una señal que indica el éxito o fracaso de todo el proceso.
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.
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.
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:
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).
2. Se abordarán ios conflictos cuando se fusione el Modelo de Robot por Componentes (CRM) en la representación de robot (RR).
3. Se despliega una reconfiguración física.
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.
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.
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.
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.

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,
b. integrar un componente (C) nuevo al 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
Modelo de Robot por Componentes (CRM) del componente (C) nuevo,
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,
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,
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,
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,
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
i. entrenar al robot (R) modular resultante que comprende el componente (C) nuevo usando ios parámetros citados para lograr la tarea (T) dada.
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).
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.
b. una interfaz de usuario para la configuración del Modelo de Robot por Componentes (CRM) y
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.
4. Un método para reentrenar robots modulares ampliados con componentes desconocidos, que comprende adicionalmente:
a. al menos una unidad de procesamiento del robot que determina la representación de robot (RR) ampliada con el componente (C) desconocido,
b. establecer la tarea (T) a realizar,
c. conformar la lógica del robot (R) para realizar la tarea (T) usando Redes Neuronales Artificiales (ANN) y Aprendizaje por Refuerzo (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:
i. comportamientos deseados se representan mediante la consecución de la tarea, y
ii. comportamientos no deseados mediante la no consecución.
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
f. recuperar el modelo (M) resultante.
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.
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:
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,
b. un modelo en 3D del componente de robot, y
c. una descripción y especificación de las capacidades del componente de robot, incluyendo interfaces y abstracciones usadas para el componente de robot.
PCT/ES2018/070379 2018-05-25 2018-05-25 Método para integrar nuevos módulos en robots modulares, y un componente de robot del mismo WO2018172593A2 (es)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/ES2018/070379 WO2018172593A2 (es) 2018-05-25 2018-05-25 Método para integrar nuevos módulos en robots modulares, y un componente de robot del mismo

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/ES2018/070379 WO2018172593A2 (es) 2018-05-25 2018-05-25 Método para integrar nuevos módulos en robots modulares, y un componente de robot del mismo

Publications (2)

Publication Number Publication Date
WO2018172593A2 true WO2018172593A2 (es) 2018-09-27
WO2018172593A3 WO2018172593A3 (es) 2019-04-04

Family

ID=63556357

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/ES2018/070379 WO2018172593A2 (es) 2018-05-25 2018-05-25 Método para integrar nuevos módulos en robots modulares, y un componente de robot del mismo

Country Status (1)

Country Link
WO (1) WO2018172593A2 (es)

Cited By (2)

* Cited by examiner, † Cited by third party
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

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4225112C1 (de) 1992-07-30 1993-12-09 Bodenseewerk Geraetetech Einrichtung zum Messen der Position eines Instruments relativ zu einem Behandlungsobjekt
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)

* Cited by examiner, † Cited by third party
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
CN115338859A (zh) * 2016-09-15 2022-11-15 谷歌有限责任公司 机器人操纵的深度强化学习

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE4225112C1 (de) 1992-07-30 1993-12-09 Bodenseewerk Geraetetech Einrichtung zum Messen der Position eines Instruments relativ zu einem Behandlungsobjekt
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 (3)

* Cited by examiner, † Cited by third party
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
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 (es) 2019-04-04

Similar Documents

Publication Publication Date Title
Cortés et al. Coordinated control of multi-robot systems: A survey
JP7014368B2 (ja) プログラム、方法、装置、及びコンピュータ可読記憶媒体
Jelisavcic et al. Real-world evolution of robot morphologies: A proof of concept
US8793205B1 (en) Robotic learning and evolution apparatus
US20160155050A1 (en) Neural network learning and collaboration apparatus and methods
Coppola et al. Provable self-organizing pattern formation by a swarm of robots with limited knowledge
US20110224828A1 (en) Development platform for robotic systems
Mehta et al. Integrated codesign of printable robots
WO2018172593A2 (es) Método para integrar nuevos módulos en robots modulares, y un componente de robot del mismo
Heyden et al. Development of a design education platform for an interdisciplinary teaching concept
Hawkins Why Can't a Computer be more Like a Brain?
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
Aloui et al. A new SysML model for UAV swarm modeling: UavSwarmML
JP2015518597A (ja) デバイスコントロールシステム
Pignède et al. Toolchain for a Mobile Robot Applied on the DLR Scout Rover
Sofge et al. Challenges and opportunities of evolutionary robotics
Reiter et al. Built-in HiL simulator: A concept for faster prototyping of navigation-and communication-based control systems
Tajadura et al. Communication library to implement digital twins based on matlab and IEC61131
Radecký et al. Intelligent agents for traffic simulation
CN109240694A (zh) 用于智能驾驶辅助***控制算法的快速原型开发验证***及方法
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 (es) Método para configurar robots modulares

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