WO2012009817A1 - A non-programmer method for creating simulation-enabled 3d robotic models for immediate robotic simulation, without programming intervention - Google Patents

A non-programmer method for creating simulation-enabled 3d robotic models for immediate robotic simulation, without programming intervention Download PDF

Info

Publication number
WO2012009817A1
WO2012009817A1 PCT/CA2011/050449 CA2011050449W WO2012009817A1 WO 2012009817 A1 WO2012009817 A1 WO 2012009817A1 CA 2011050449 W CA2011050449 W CA 2011050449W WO 2012009817 A1 WO2012009817 A1 WO 2012009817A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
robotic
components
library
simulation
Prior art date
Application number
PCT/CA2011/050449
Other languages
French (fr)
Inventor
Jack Elmin Peterson
Shane Nathaniel Richard Yanke
Jeffrey Craig Allen
Original Assignee
Cogmation Robotics Inc.
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 Cogmation Robotics Inc. filed Critical Cogmation Robotics Inc.
Priority to US13/811,290 priority Critical patent/US20130275091A1/en
Priority to EP11809131.3A priority patent/EP2596446A4/en
Priority to CN2011800456517A priority patent/CN103262080A/en
Priority to CA2838761A priority patent/CA2838761A1/en
Publication of WO2012009817A1 publication Critical patent/WO2012009817A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Definitions

  • a robot has existed for several decades in industry, manufacturing, space flight, toys, entertainment, movies and in academic research.
  • a robot consists of the following parts:
  • Machine parts and electronics sensors, motors, arms, legs, wheels, cameras, etc that are designed and built into a machine that can obtain feedback about its environment and can react to this feedback;
  • a control behaviour program A series of software instructions that come from either a remote control human operated device or that come from a computer program that defines the desired behaviour of the robot as it interacts with the sensors providing feedback data;
  • a computer processor that obtains data from the sensors and provides instructions to the various moving or reacting parts.
  • Robots behave in a manner that may be controlled by a user via a wireless or wireline connection with a remote control "controller" in the hands of the user.
  • Increasingly robots have been loaded with pre-written behaviours or control programs. If these behaviours do not require significant user direction, these behaviours are called “autonomous behaviours.”
  • Developing both autonomous behaviours and remote controlled behaviours requires that the programs being developed are tested to correct and refine their operation. Each test iteration, which may identify an error or 'bug", must then be retested again. To finalize an autonomous behaviour can take dozens or even hundreds of iterations.
  • the design of a new robot's physical structure, and components can also benefit from simulation. Starting with the initial virtual prototype design, each next design iteration can be tested to illustrate what parts need to be improved. Once a new part is redesigned, the next iteration of the robot can be tested.
  • Each one of these iterations can take several minutes or more, even if the robot is on-site. In many cases, the robot is off site, and thus one test cycle could take days.
  • the main justification for using a robot simulator is to shorten the prototype and development cycle, by providing the developers with virtual robots which act like the real robots, and thus provide a reasonably accurate test setting.
  • a 3D visual model is required along with a program that will interpret the instructions of the "autonomous behaviour” and accurately cause the 3D virtual robot model to "act out” the behaviour defined in the control program.
  • a physics engine to ensure that gravity, and all the other physics properties are adhered to as the 3D model "acts out” the instructions.
  • a 3D rendering engine To provide a realistic 3D graphical display we need a 3D rendering engine.
  • Lego provides a simplified, limited structure for users to create their 3D visual model using a mouse and visual pictures of the Lego parts to construct their 3D visual model.
  • This program also has the capability to allow users to use a mouse to construct a simplified space ship with 3-4 simple components, and then simulate the lift-off. Users select a type of component, then drag and drop these optional components in specific "guided" places within the spaceship structure.
  • Lego has another program that allows users to select from a very large catalogue of Lego parts and then build on the display screen specific Lego assemblies. Once a new assembly has been constructed, the program has the capability to print out a detailed bill of materials (BOM) of ail the pieces used to make this assembly. This BOM can become an Order to buy these parts. The resulting picture of the model is not connected to a simulator. Thus, this modelling system is not "a simulation enabled model”.
  • BOM bill of materials
  • a system for modelling a robot design comprising:
  • a 3D graphical workspace comprising a menu for accessing the library of active robotic components and means for positioning selected components onto said workspace for 3D visual modelling of the robot;
  • a 3D environment creator for adding environmental elements and conditions to the environment
  • a simulation-enabled 3D robot model data file comprising data pertaining to: the 3D graphic visualizations of the robotic components and the environmental elements; object physics data pertaining to the physical properties for the robotic components and the environmental elements; and active component modules comprising instructions for each robotic component and environmental element;
  • a method for modelling a robot design comprising:
  • a library of active robotic components comprising common and special use robotic components and embedded components
  • a 3D graphical workspace comprising a menu for accessing the library of active robotic components and means for positioning selected components onto said workspace for 3D visual modelling of the robot
  • a 3D environment creator for adding environmental elements and conditions to the environment
  • a simulation-enabled 3D robot model data file comprising data pertaining to: the 3D graphic visualizations of the robotic components and the environmental elements; object physics data pertaining to the physical properties for the robotic components and the environmental elements; and active component modules comprising instructions for each robotic component and environmental element;
  • step (c) repeating step (c) until all components of the robot have been selected
  • step (g) if necessary, repeating step (c) to make modifications to the modeled robot until functionality is satisfactory;
  • Figure 1 is a schematic diagram showing the components of the SER . DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • This invention describes a system and a method to design virtual 3D model of the working robot so it can be tested in a virtual world to test, refine, redesign and improve multiple virtual prototypes of a robot. Once virtually tested, the optimized design specifications are printed out and used to build the optimized robot design.
  • a 3D physics based, 3D rendered simulation engine that can execute robot control behaviours developed in one of more programming languages.
  • the 3D robot model must be embedded in a program that provides the instructions for operation of each active component of the robot.
  • active components are servo motors, actuators, sensors, cameras, arms, g rippers, and any other special device that has been designed to perform tasks or respond to the environment.
  • SERM stimulation enabled 3D robot model
  • Such a model is a program segment which awaits instructions from the control behaviour program and provides sensor data to the Control program for its determination of what to do next;
  • a 3D environment or world creation and editing capability to import, create or edit the environment in which the robot(s) operate. This allows robots to be tested in the targeted environment(s), and their construction and programming varied accordingly, as discussed herein.
  • robotic simulation requirements include logging of specific indicators within the simulation.
  • a video logger is such an example, to provide a video of the simulation execution.
  • Steps 1 and 2 result in the "simulation enabled 3D robot model” (SERM).
  • SERM stimulation enabled 3D robot model
  • the traditional process requires a highly skilled 3D graphical programmer with robotic experience and the process is very time consuming.
  • the new method reduces the time by 50-90% and de-skills the process.
  • a simulator system for modelling or testing a robot design and a method for using this system.
  • the system comprises a simulation-enabled 3D robot model data file (SERM), a library of active robotic components, a 3D graphical workspace for 3D visual modelling of the robot, a 3D environment creator, a 3D simulation engine and an output device.
  • SERM simulation-enabled 3D robot model data file
  • the system includes additional libraries for user selection, for example, an environmental conditions library, an environmental object library, a robot model library and the like.
  • the user accesses the system and begins the process of designing a robot for modelling and/or simulation testing.
  • the user may upload a partially completed robot design, a robot design from the robot model library for further modification or the SERM of a previously designed (and tested) robot.
  • the user accesses the graphic user interface of the library of active components and selects a component which is the dragged and dropped onto the desired location on the 3D graphical workspace for 3D visual modelling of the robot.
  • the selected component is added to the SERM which is discussed in greater detail below.
  • the SERM can be saved and/or the 3D environment creator is used to create the environment in which the SERM will be tested.
  • the environment may be generated prior to building the robot or a suitable environment may be uploaded to the system from the environment library, as discussed above.
  • the SERM comprises the following data types: 3D graphic visualizations, which is the data for the 3D visual models of the robot(s) and other objects in the environment; object physics data, which define the physical properties for these visual objects and the active component program modules which are specific to each active component and become a part of the SERM when the user drags and drops a robotic component onto the 3D graphical workspace.
  • 3D graphic visualizations which is the data for the 3D visual models of the robot(s) and other objects in the environment
  • object physics data which define the physical properties for these visual objects
  • the active component program modules which are specific to each active component and become a part of the SERM when the user drags and drops a robotic component onto the 3D graphical workspace.
  • These program modules provide the 3D simulation engine or 3D simulator with the functional instructions for each robotic or environmental active component.
  • the user then runs the 3D simulator image and optionally can record how the robot functions within the environment, as discussed herein.
  • the SERM may be accessed to make changes to the robot's control behaviour program and/or components before running the simulation again. The process is repeated until the user is satisfied with the functionality of the robot design, at which point the design specifications are outputted.
  • the design specifications may be printed out or they may appear on an output screen or may be outputted to a file.
  • the system comprises an active robotic component program library.
  • the library of active robotic component program segments comprises a plurality of common and special use robotic and embedded components.
  • This library includes sensors such as sonar, infrared, light sensitive, !aser scanners, cameras ⁇ still, video, infrared), motion detective sensors, motors, actuators, microphones, speakers, sniffers, sound analyzers, wheels, track-drives, legs, arms, g ippers, hands, joints, conveyors, and the like.
  • These program segments are designed to link and compile into executable code in the simulator, as discussed below. It is of note that this library is arranged to be amended or enhanced independently from this method. This means that new components can be added to the library. As discussed below, the system is arranged such that the library is accessed by a menu drop-down list comprising the names and/or picture icons of each component.
  • Each component can be selected by the user and dragged onto a 3D graphical workspace, which displays a 3D visual model of the robot onto which the user drags and drops the corresponding active components onto the targeted 3D visual model.
  • the program segment is added into the pending SERM data file for each robot. In this manner, the components are interconnected for eventual use in the virtual environment.
  • the system includes a library of one or more
  • the user begins the process by selecting a menu command to "import" a pre-existing 3D visual model of a robot or robot component.
  • the 3D model file is selected from a drop-down list or the name of the file containing the 3D visual model is specified and the 3D model is displayed in the visual 3D graphical "workspace".
  • the user drags and drops each desired component onto the 3D visual model displayed in the workspace. This process creates a working model of the SERM for subsequent final processing and saving as a SERM data file, when all desired components have been added.
  • the completed SERM data file contains three types of data as illustrated in Figure 1.
  • the SERM data file is added into a SERM library and can be accessed by menu command and added into the workspace.
  • the SERM data file(s) can be imported from the SERM library into the simulator for simulation of the robot(s) or component(s).
  • the saved SERM can be reloaded from the SERM library into the workspace and amended by removing, changing or adding any component or embedded active component, as discussed herein.
  • a subset of the active components library is a set consisting of physical construction components which are not active but exist for construction of robots, components or environmental objects. These objects include buildings, industrial yards, railroad tracks, office buildings, office spaces, apartment spaces, residential areas, streets, sidewalks, trees, houses, furniture, machine forms, packaging materials, sports devices and objects, vehicles of all types, etc.
  • the resulting SERM data provides the necessary and sufficient data for building a robot according to the specifications developed during the modeling process.
  • This data includes; list of all parts and components with 3D geometric definitions of each part.
  • the data includes physical dimensions, mass, materials, performance and operating data.
  • the data includes physical size, weight, scan rate, scan distance, scan angle, frequency, power usage,. connector details, operational limits.
  • This data can be electronically assembled and displayed (or printed) as design, construction or manufacturing specifications suitable for a variety of uses such as novice training, to serious manufacturing.
  • Each SERM contains the following data types (shown schematically in
  • 3D visual models of robots and various other objects in the environment to be simulated in the accompanying simulator The format is similar to standard 3D data except for additional structures and constraints that are required to link to physical and behavioural processes defined in this method.
  • Data structures that define physical properties for corresponding graphical visual objects.
  • the structures define mass, dimensions, friction, surface materials, colliders and other properties that robots and other objects in the system may interact with.
  • Active Component Program Modules These are program modules that are specific to each active component. These become part of a saved SERM when the user drags and drops a robotic component onto the 3D visual model, it is these program modules which provide the simulator with the functional instructions for each robotic or environmental active component. All sensors, actuators and other devices use active component program modules to define the function, internal processes, inputs and outputs specific to its function. The communication between modules may be also partially defined in these program modules, with the simulator controlling and executing the specific communication.
  • This method utilizes a common computer such as a laptop, desktop or business/industrial computer with a pointing device (such as a mouse) or touch screen, file storage, processor(s) and memory and common operating software and appropriate programming languages.
  • a common computer such as a laptop, desktop or business/industrial computer with a pointing device (such as a mouse) or touch screen, file storage, processor(s) and memory and common operating software and appropriate programming languages.
  • This method has a graphical user interface (GUI) that gives the user the ability to use a mouse pointing device or a touch sensitive display screen so menus can be expanded and selections can be made by pointing and selecting menu options.
  • GUI graphical user interface
  • the pointing and selecting process can also allow a user to move graphical objects in a drag and drop sequence, thus adding or moving an existing graphical object on the display screen.
  • One such menu option allows an existing 3D robot model to be imported from an externally created 3D creation system.
  • the imported 3D model can be a new robot model, a 3D model of a new component or a 3D model that has previously been created from this process. Thus once a specific robot or component has been enabled by this process, it is immediately available and reusable.
  • Another menu item allows the user to select a specific component from a drop down list and drag that component onto the corresponding part of the imported 3D model.
  • the act of dropping this component onto the 3D picture of the component accomplishes the step of writing the program segments that provide the instructions for operation of each active component of the robot.
  • the resulting SERM is ended and the SERM is saved for subsequent import into the simulator or for further use as another active component within this "simulation enabling" process.
  • the immediate benefit of this process is that it changes the enabling of a 3D robot model from a programming task to a non-programmer task that can be performed with minimal training by designers and novice robotic enthusiasts.
  • the benefit is also applicable to experienced roboticists, since they no longer need to write the programs to enable their 3D robot model to be simulation ready.
  • the models are various operators and machines, each having a set of capabilities and components for moving, processing, welding, joining, checking, painting, etc.
  • the models can also be various materials that are processed.
  • each such object (operator, machine, material, etc) requires a set of capability based program instructions to allow the model to "act out" their capabilities as per the behaviour control program instructions.
  • the SERM method is still applicable for the easy creation of such SEMs.
  • the SERM method can be applied to any 3D object model that is to become part of a 3D simulation.
  • the invention also provides for the creation of new components for usage in robots and complex processes. As discussed above, these new components can be stored in a library for subsequent access in other processes.
  • the libraries of SERMs and/or components may be specific for specific industries, fields of endeavours and applications which will provide access for such individual to new tools for considering robotics in such industries, endeavours and applications.
  • a key benefit of the invention is that it provides an individual who is not a robotic programmer with easy access to simulation enabled 3D robotic modeis and components for exploring and building virtual 3D robots for simulation experiments and entertainment.
  • the system can be arranged to have internet access, thereby allowing users to share data.
  • the SERM component may be part of a larger system, such system being in the form of a purposeful endeavour such as a game, a learning exercise or system, or other purpose.

Abstract

A system to design a virtual 3D model of the working robot so it can be tested in a virtual world is described. The system and the method for using same can be used to test, refine, redesign and improve multiple virtual prototypes of a robot. Once virtually tested, the optimized design specifications are printed out and used to build the optimized robot design.

Description

A NON-PROGRAMMER METHOD FOR CREATING SIMULATION-ENABLED 3D ROBOTIC MODELS FOR IMMEDIATE ROBOTIC SIMULATION, WITHOUT
PROGRAMMING INTERVENTION PRIOR APPLICATION INFORMATION
The instant application claims the benefit of US Provisional Patent Application 61/366,802, filed July 22, 2010.
BACKGROUND OF THE INVENTION
Robots have existed for several decades in industry, manufacturing, space flight, toys, entertainment, movies and in academic research. A robot consists of the following parts:
1 ) Machine parts and electronics sensors, motors, arms, legs, wheels, cameras, etc that are designed and built into a machine that can obtain feedback about its environment and can react to this feedback;
2) A control behaviour program: A series of software instructions that come from either a remote control human operated device or that come from a computer program that defines the desired behaviour of the robot as it interacts with the sensors providing feedback data; and
3) A computer processor that obtains data from the sensors and provides instructions to the various moving or reacting parts.
Robots behave in a manner that may be controlled by a user via a wireless or wireline connection with a remote control "controller" in the hands of the user. Increasingly robots have been loaded with pre-written behaviours or control programs. If these behaviours do not require significant user direction, these behaviours are called "autonomous behaviours." Developing both autonomous behaviours and remote controlled behaviours requires that the programs being developed are tested to correct and refine their operation. Each test iteration, which may identify an error or 'bug", must then be retested again. To finalize an autonomous behaviour can take dozens or even hundreds of iterations. The design of a new robot's physical structure, and components can also benefit from simulation. Starting with the initial virtual prototype design, each next design iteration can be tested to illustrate what parts need to be improved. Once a new part is redesigned, the next iteration of the robot can be tested.
Each one of these iterations can take several minutes or more, even if the robot is on-site. In many cases, the robot is off site, and thus one test cycle could take days.
The main justification for using a robot simulator is to shorten the prototype and development cycle, by providing the developers with virtual robots which act like the real robots, and thus provide a reasonably accurate test setting.
To provide the capability to simulate a robot, a 3D visual model is required along with a program that will interpret the instructions of the "autonomous behaviour" and accurately cause the 3D virtual robot model to "act out" the behaviour defined in the control program. Within the simulator we need a physics engine to ensure that gravity, and all the other physics properties are adhered to as the 3D model "acts out" the instructions. To provide a realistic 3D graphical display we need a 3D rendering engine.
Currently most, if not all, robot simulators, require that the 3D model and the programming related to this model be an integral part of the simulation program in order for the robotic model to be simulated. In effect, the 3D model and the simulation program are combined into one simulator program for each specific robot.
Lego provides a simplified, limited structure for users to create their 3D visual model using a mouse and visual pictures of the Lego parts to construct their 3D visual model. This program also has the capability to allow users to use a mouse to construct a simplified space ship with 3-4 simple components, and then simulate the lift-off. Users select a type of component, then drag and drop these optional components in specific "guided" places within the spaceship structure.
Lego has another program that allows users to select from a very large catalogue of Lego parts and then build on the display screen specific Lego assemblies. Once a new assembly has been constructed, the program has the capability to print out a detailed bill of materials (BOM) of ail the pieces used to make this assembly. This BOM can become an Order to buy these parts. The resulting picture of the model is not connected to a simulator. Thus, this modelling system is not "a simulation enabled model".
SUMMARY OF THE INVENTION
According to a first aspect of the invention, there is provided a system for modelling a robot design comprising:
a library of active robotic components comprising common and special use robotic components and embedded components;
a 3D graphical workspace comprising a menu for accessing the library of active robotic components and means for positioning selected components onto said workspace for 3D visual modelling of the robot;
a 3D environment creator for adding environmental elements and conditions to the environment;
a simulation-enabled 3D robot model data file (SERM) comprising data pertaining to: the 3D graphic visualizations of the robotic components and the environmental elements; object physics data pertaining to the physical properties for the robotic components and the environmental elements; and active component modules comprising instructions for each robotic component and environmental element;
a 3D simulation engine for simulating functioning of the modeled robot within the simulated environment using information within the SERM; and
output means for displaying design specifications for the modelled robot. According to a second aspect of the invention, there is provided a method for modelling a robot design comprising:
a) providing a system comprising
a library of active robotic components comprising common and special use robotic components and embedded components; a 3D graphical workspace comprising a menu for accessing the library of active robotic components and means for positioning selected components onto said workspace for 3D visual modelling of the robot;
a 3D environment creator for adding environmental elements and conditions to the environment;
a simulation-enabled 3D robot model data file (SERM) comprising data pertaining to: the 3D graphic visualizations of the robotic components and the environmental elements; object physics data pertaining to the physical properties for the robotic components and the environmental elements; and active component modules comprising instructions for each robotic component and environmental element;
a 3D simulation engine for simulating functioning of the modeled robot within the simulated environment using information within the SERM; and
output means for displaying design specifications for the modelled robot;
b) designing a robot by accessing the library of active robotic components and selecting a robotic component;
c) using the 3D graphical workspace to position the selected robotic component onto the desired location on the 3D graphical workspace for 3D visual modelling of the robot, the selected component being added to the SERM;
d) repeating step (c) until all components of the robot have been selected;
(e) adding environmental objects and environmental conditions using the 3D environment creator;
(f) testing the functionality of the modeled robot in the simulated environment using the 3D simulation engine;
(g) if necessary, repeating step (c) to make modifications to the modeled robot until functionality is satisfactory; and
(h) outputting design specifications for the modeled robot. BRIEF DESCRIPTION OF THE DRAWINGS
Figure 1 is a schematic diagram showing the components of the SER . DESCRIPTION OF THE PREFERRED EMBODIMENTS
Unless defined otherwise, ail technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which the invention belongs. Although any methods and materials similar or equivalent to those described herein can be used in the practice or testing of the present invention, the preferred methods and materials are now described. All publications mentioned hereunder are incorporated herein by reference.
This invention describes a system and a method to design virtual 3D model of the working robot so it can be tested in a virtual world to test, refine, redesign and improve multiple virtual prototypes of a robot. Once virtually tested, the optimized design specifications are printed out and used to build the optimized robot design.
Our work with companies and researchers who use robotic simulation has identified the following requirements for robotic simulation:
1) A 3D physics based, 3D rendered simulation engine that can execute robot control behaviours developed in one of more programming languages.
This is the core of a robot simulator;
2) The 3D robot model must be embedded in a program that provides the instructions for operation of each active component of the robot. Such active components are servo motors, actuators, sensors, cameras, arms, g rippers, and any other special device that has been designed to perform tasks or respond to the environment. We will define such a robotic model with its active components programmed to be a "simulation enabled 3D robot model" (SERM). Such a model is a program segment which awaits instructions from the control behaviour program and provides sensor data to the Control program for its determination of what to do next; 3) A 3D environment or world creation and editing capability to import, create or edit the environment in which the robot(s) operate. This allows robots to be tested in the targeted environment(s), and their construction and programming varied accordingly, as discussed herein.
4) A 3D robot model editor that can accept imported 3D robot models, and allow editing of the robot for structure and design, as well as component changes and additions. This allows a robot designer to test the effect of minor and major design changes. Each design change iteration requires a corresponding change to be made to the SERM program to accurately reflect the new capability of the robot. As will become apparent to one of skill in the art, this invention is focused on the processes of creating and maintaining an accurate SERM within the process of creating and operating a robotic simulation.
Other robotic simulation requirements include logging of specific indicators within the simulation. A video logger is such an example, to provide a video of the simulation execution.
The traditional, prior art approach to create a simulation enabled 3D robot model model is:
1) Obtain an existing 3D visual model of the robot or create one using a 3D drawing system such as SolidWorks, Inventor, SolidEdge, 3D StudioMax, Blender or the like;
2) Import this model into the simulation engine and write the program that provides the instructions for operation of each active component of the robot. Examples of such active components include but are by no means limited to servo motors, actuators, sensors, cameras, arms, grippers, and any other special device that has been designed to perform tasks or respond to the environment. As defined such a robotic model with its active components programmed we call a "simulation enabled 3D robot model" (SERM);
3) Import or write the robot behaviour control program to simulate the desired behaviour;
4) Test and refine all programs until all work correctly; 5) Run the simulation tests; and
6) Revise and refine as required to analyze the virtual experiment or system.
If such experiments indicate changes to the robot model design, then such component program segments and other linkages must be re-programmed or modified.
Steps 1 and 2 result in the "simulation enabled 3D robot model" (SERM). The traditional process requires a highly skilled 3D graphical programmer with robotic experience and the process is very time consuming. The new method reduces the time by 50-90% and de-skills the process.
in our first robot simulation products, we developed robot simulators using the traditional method of combining the 3D robot model and all the related component programming inside the simulator program. After developing several simulators for different robots, we realized that too much duplicate, redundant effort was necessary. What we really wanted was a new method so we would not have to repeat the detailed programming for every 3D model and their components.
Accordingly, we began designing a new architecture that would eliminate all the parts of the programming effort so we could create a new robot simulator without any programming. After several design iterations and prototype testing, we determined that the key was to separate the parts of a robot simulator into smaller independent segments that could be combined into a "simulation ready model" with all the required program components in place, ready for the redesigned simulator to execute the simulation.
As we began to evolve working parts of this new architecture, we began to see many advantages of not having to re-program parts of the 3D model. Then we evolved the simulator design so it would also not require re-programming for every new 3D model. Although there were many design incompatibilities identified, successive iterations resulted in closer customer ready versions. We have used these successive versions in our lab to develop new simulators in a fraction of the time of the traditional method. Specifically, with this invention, we can redesign a robot and change its components and then repeat the simulation with the new components fully operational. This new method will have a dramatic impact on how novice and experienced roboticists design and test robots, components and then simulate these.
Accordingly, in one embodiment of the invention, there is provided a simulator system for modelling or testing a robot design and a method for using this system.
In some embodiments, the system comprises a simulation-enabled 3D robot model data file (SERM), a library of active robotic components, a 3D graphical workspace for 3D visual modelling of the robot, a 3D environment creator, a 3D simulation engine and an output device.
In some embodiments, the system includes additional libraries for user selection, for example, an environmental conditions library, an environmental object library, a robot model library and the like.
As discussed below, in use, the user accesses the system and begins the process of designing a robot for modelling and/or simulation testing. In some embodiments, the user may upload a partially completed robot design, a robot design from the robot model library for further modification or the SERM of a previously designed (and tested) robot.
As discussed below, the user then accesses the graphic user interface of the library of active components and selects a component which is the dragged and dropped onto the desired location on the 3D graphical workspace for 3D visual modelling of the robot. The selected component is added to the SERM which is discussed in greater detail below. Once all of the desired components have been added, the SERM can be saved and/or the 3D environment creator is used to create the environment in which the SERM will be tested. As will be appreciated by one of skill in the art, the environment may be generated prior to building the robot or a suitable environment may be uploaded to the system from the environment library, as discussed above. The SERM comprises the following data types: 3D graphic visualizations, which is the data for the 3D visual models of the robot(s) and other objects in the environment; object physics data, which define the physical properties for these visual objects and the active component program modules which are specific to each active component and become a part of the SERM when the user drags and drops a robotic component onto the 3D graphical workspace. These program modules provide the 3D simulation engine or 3D simulator with the functional instructions for each robotic or environmental active component.
The user then runs the 3D simulator image and optionally can record how the robot functions within the environment, as discussed herein.
If the robot's performance is unacceptable or improvements are indicated, the SERM may be accessed to make changes to the robot's control behaviour program and/or components before running the simulation again. The process is repeated until the user is satisfied with the functionality of the robot design, at which point the design specifications are outputted. As will be appreciated by one of skill in the art, the design specifications may be printed out or they may appear on an output screen or may be outputted to a file.
As discussed herein, the system comprises an active robotic component program library.
The library of active robotic component program segments comprises a plurality of common and special use robotic and embedded components. This library includes sensors such as sonar, infrared, light sensitive, !aser scanners, cameras {still, video, infrared), motion detective sensors, motors, actuators, microphones, speakers, sniffers, sound analyzers, wheels, track-drives, legs, arms, g ippers, hands, joints, conveyors, and the like. These program segments are designed to link and compile into executable code in the simulator, as discussed below. It is of note that this library is arranged to be amended or enhanced independently from this method. This means that new components can be added to the library. As discussed below, the system is arranged such that the library is accessed by a menu drop-down list comprising the names and/or picture icons of each component.
Each component can be selected by the user and dragged onto a 3D graphical workspace, which displays a 3D visual model of the robot onto which the user drags and drops the corresponding active components onto the targeted 3D visual model. When such a component is added onto the 3D model, the program segment is added into the pending SERM data file for each robot. In this manner, the components are interconnected for eventual use in the virtual environment.
In a preferred embodiment, the system includes a library of one or more
3D visual models of common robots, components and environmental objects.
The user begins the process by selecting a menu command to "import" a pre-existing 3D visual model of a robot or robot component. The 3D model file is selected from a drop-down list or the name of the file containing the 3D visual model is specified and the 3D model is displayed in the visual 3D graphical "workspace".
As discussed above, the user drags and drops each desired component onto the 3D visual model displayed in the workspace. This process creates a working model of the SERM for subsequent final processing and saving as a SERM data file, when all desired components have been added.
The completed SERM data file contains three types of data as illustrated in Figure 1.
In some embodiments, the SERM data file is added into a SERM library and can be accessed by menu command and added into the workspace. In these embodiments, the SERM data file(s) can be imported from the SERM library into the simulator for simulation of the robot(s) or component(s).
As a result of this arrangement, if changes are desired as a result of the simulation/modelling process, the saved SERM can be reloaded from the SERM library into the workspace and amended by removing, changing or adding any component or embedded active component, as discussed herein. A subset of the active components library is a set consisting of physical construction components which are not active but exist for construction of robots, components or environmental objects. These objects include buildings, industrial yards, railroad tracks, office buildings, office spaces, apartment spaces, residential areas, streets, sidewalks, trees, houses, furniture, machine forms, packaging materials, sports devices and objects, vehicles of all types, etc.
In a robotic prototyping situation where a designer wishes to use this method to test and refine a robotic design, the resulting SERM data provides the necessary and sufficient data for building a robot according to the specifications developed during the modeling process. This data includes; list of all parts and components with 3D geometric definitions of each part. For active components the data includes physical dimensions, mass, materials, performance and operating data. For example for a scanner the data includes physical size, weight, scan rate, scan distance, scan angle, frequency, power usage,. connector details, operational limits. This data can be electronically assembled and displayed (or printed) as design, construction or manufacturing specifications suitable for a variety of uses such as novice training, to serious manufacturing.
Each SERM contains the following data types (shown schematically in
Figure 1):
1) 3D Graphical Visualizations:
3D visual models of robots and various other objects in the environment to be simulated in the accompanying simulator. The format is similar to standard 3D data except for additional structures and constraints that are required to link to physical and behavioural processes defined in this method.
2) Object Physics Data:
Data structures that define physical properties for corresponding graphical visual objects. The structures define mass, dimensions, friction, surface materials, colliders and other properties that robots and other objects in the system may interact with.
3) Active Component Program Modules: These are program modules that are specific to each active component. These become part of a saved SERM when the user drags and drops a robotic component onto the 3D visual model, it is these program modules which provide the simulator with the functional instructions for each robotic or environmental active component. All sensors, actuators and other devices use active component program modules to define the function, internal processes, inputs and outputs specific to its function. The communication between modules may be also partially defined in these program modules, with the simulator controlling and executing the specific communication.
This method utilizes a common computer such as a laptop, desktop or business/industrial computer with a pointing device (such as a mouse) or touch screen, file storage, processor(s) and memory and common operating software and appropriate programming languages.
This method has a graphical user interface (GUI) that gives the user the ability to use a mouse pointing device or a touch sensitive display screen so menus can be expanded and selections can be made by pointing and selecting menu options.
The pointing and selecting process can also allow a user to move graphical objects in a drag and drop sequence, thus adding or moving an existing graphical object on the display screen.
One such menu option allows an existing 3D robot model to be imported from an externally created 3D creation system.
The imported 3D model can be a new robot model, a 3D model of a new component or a 3D model that has previously been created from this process. Thus once a specific robot or component has been enabled by this process, it is immediately available and reusable.
Another menu item allows the user to select a specific component from a drop down list and drag that component onto the corresponding part of the imported 3D model. The act of dropping this component onto the 3D picture of the component accomplishes the step of writing the program segments that provide the instructions for operation of each active component of the robot.
The selection of components is repeated until all active components are "simulation enabled".
Once all of the components have been enabled, the resulting SERM is ended and the SERM is saved for subsequent import into the simulator or for further use as another active component within this "simulation enabling" process.
The immediate benefit of this process is that it changes the enabling of a 3D robot model from a programming task to a non-programmer task that can be performed with minimal training by designers and novice robotic enthusiasts. The benefit is also applicable to experienced roboticists, since they no longer need to write the programs to enable their 3D robot model to be simulation ready.
Once a specific robot has been simulation-enabled, it can be made available to an unlimited number of other users thus providing them with access to the SERM without programming, and without the programming time delay.
Since the process can also be applied to basic robot components, new more powerful or complex components can be created from the basic start up components.
The result will be that many who cannot program will now have access to robotic simulation and be able to create new robotic models for research, education, entertainment, industrial and medical usage. This access will dramatically increase the growth of robotics, and the importance of virtual robotics design and simulation.
There are many applications of 3D simulation related to robotics and many that are independent of robotics. Many do involve the creation of "simulation- enabled 3D model(s)" (SEM). A few such examples are: manufacturing processes; mobile machines in construction sites; vehicles/automobiles in a race; human beings or animals in a virtual game or endeavour; the flow of patients in a medical setting; and the like. Thus the more general application of this SERM to a SEM is an extension into other non-robot applications. The adaptation of the SERM method to non-robots requires only that the initial starting components be defined as those components that pertain to the specific domain. For example, for a manufacturing simulation the models are various operators and machines, each having a set of capabilities and components for moving, processing, welding, joining, checking, painting, etc. The models can also be various materials that are processed. To be simulated each such object (operator, machine, material, etc) requires a set of capability based program instructions to allow the model to "act out" their capabilities as per the behaviour control program instructions.
The analogy holds for vehicles, humans, animals, any object whether real or fictitious, animate or inanimate. Simple stable objects which do not move, only require that they exist and correctly obey the laws of physics for a realistic simulation.
if the simulation is not physics based, but the simulation does require simulation enabled 3D models, then the SERM method is still applicable for the easy creation of such SEMs.
Therefore the SERM method can be applied to any 3D object model that is to become part of a 3D simulation.
As discussed herein, there is provided a method for the enabling of a 3D graphical model of a robot or component into a simulation-ready 3D or simufation- enabled model with the corresponding program segments and linkages in place, so that the resulting simulation enabled 3D model is immediately ready to be simulated.
As discussed above, the invention also provides for the creation of new components for usage in robots and complex processes. As discussed above, these new components can be stored in a library for subsequent access in other processes.
In some embodiments, the libraries of SERMs and/or components may be specific for specific industries, fields of endeavours and applications which will provide access for such individual to new tools for considering robotics in such industries, endeavours and applications.
As discussed above, a key benefit of the invention is that it provides an individual who is not a robotic programmer with easy access to simulation enabled 3D robotic modeis and components for exploring and building virtual 3D robots for simulation experiments and entertainment.
In some embodiments, the system can be arranged to have internet access, thereby allowing users to share data.
In some embodiments, the SERM component may be part of a larger system, such system being in the form of a purposeful endeavour such as a game, a learning exercise or system, or other purpose.
While the preferred embodiments of the invention have been described above, it will be recognized and understood that various modifications may be made therein, and the appended claims are intended to cover all such modifications which may fall within the spirit and scope of the invention.

Claims

1. A system for modeiling a robot design comprising: a library of active robotic components comprising common and special use robotic components and embedded components;
a 3D graphical workspace comprising a menu for accessing the library of active robotic components and means for positioning selected components onto said workspace for 3D visual modeiling of the robot;
a 3D environment creator for adding environmental elements and conditions to the environment;
a simulation-enabled 3D robot model data file (SERM) comprising data pertaining to: the 3D graphic visualizations of the robotic components and the environmental elements; object physics data pertaining to the physical properties for the robotic components and the environmental elements; and active component modules comprising instructions for each robotic component and environmental element;
a 3D simulation engine for simulating functioning of the modeled robot within the simulated environment using information within the SERM; and
output means for displaying design specifications for the modelled robot.
2. The system according to claim 1 including an environmental conditions library.
3. The system according to claim 1 including an environmental object library.
4. The system according to claim 1 including a robot model library.
5. The system according to claim 1 wherein the library of active robotic components are selected from the group consisting of sonar sensors, infrared sensors, light sensitive sensors, laser scanners, cameras, motion detective sensors, motors, actuators, microphones, speakers, sniffers, sound analyzers, wheels, track- drives, legs, arms, grippers, hands, joints, conveyors and combinations thereof.
6. A method for modelling a robot design comprising: a) providing a system comprising a library of active robotic components comprising common and special use robotic components and embedded components;
a 3D graphical workspace comprising a menu for accessing the library of active robotic components and means for positioning selected components onto said workspace for 3D visual modelling of the robot;
a 3D environment creator for adding environmental elements and conditions to the environment;
a simulation-enabled 3D robot model data file (SERM) comprising data pertaining to: the 3D graphic visualizations of the robotic components and the environmental elements; object physics data pertaining to the physical properties for the robotic components and the environmental elements; and active component modules comprising instructions for each robotic component and environmental element;
a 3D simulation engine for simulating functioning of the modeled robot within the simulated environment using information within the SERM; and
output means for displaying design specifications for the modelled robot;
b) designing a robot by accessing the library of active robotic components and selecting a robotic component;
c) using the 3D graphical workspace to position the selected robotic component onto the desired location on the 3D graphical workspace for 3D visual modelling of the robot, the selected component being added to the SERM;
d) repeating step (c) until ail components of the robot have been selected;
(e) adding environmental objects and environmental conditions using the 3D environment creator;
(f) testing the functionality of the modeled robot in the simulated environment using the 3D simulation engine;
(g) if necessary, repeating step (c) to make modifications to the modeled robot until functionality is satisfactory; and (h) outputting design specifications for the modeled robot.
7. The method according to claim 6 wherein the output means is a printer.
8. The method according to claim 6 wherein the output means is a visual display.
9. The method according to claim 6 including step (i) building a robot according to the outputted design specifications.
10. The method according to claim 6 wherein the system includes an environmental conditions library.
11. The method according to claim 6 wherein the system includes an environmental object library.
12. The method according to claim 6 wherein the system includes a robot model library.
13. The method according to claim 6 wherein the library of active robotic components are selected from the group consisting of sonar sensors, infrared sensors, light sensitive sensors, laser scanners, cameras, motion detective sensors, motors, actuators, microphones, speakers, sniffers, sound analyzers, wheels, track- drives, legs, arms, grippers, hands, joints, conveyors and combinations thereof.
PCT/CA2011/050449 2010-07-22 2011-07-22 A non-programmer method for creating simulation-enabled 3d robotic models for immediate robotic simulation, without programming intervention WO2012009817A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US13/811,290 US20130275091A1 (en) 2010-07-22 2011-07-22 Non-programmer method for creating simulation-enabled 3d robotic models for immediate robotic simulation, without programming intervention
EP11809131.3A EP2596446A4 (en) 2010-07-22 2011-07-22 A non-programmer method for creating simulation-enabled 3d robotic models for immediate robotic simulation, without programming intervention
CN2011800456517A CN103262080A (en) 2010-07-22 2011-07-22 A non-programmer method for creating simulation-enabled 3d robotic models for immediate robotic simulation, without programming intervention
CA2838761A CA2838761A1 (en) 2010-07-22 2011-07-22 A non-programmer method for creating simulation-enabled 3d robotic models for immediate robotic simulation, without programming intervention

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US36680210P 2010-07-22 2010-07-22
US61/366,802 2010-07-22

Publications (1)

Publication Number Publication Date
WO2012009817A1 true WO2012009817A1 (en) 2012-01-26

Family

ID=45496418

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CA2011/050449 WO2012009817A1 (en) 2010-07-22 2011-07-22 A non-programmer method for creating simulation-enabled 3d robotic models for immediate robotic simulation, without programming intervention

Country Status (5)

Country Link
US (1) US20130275091A1 (en)
EP (1) EP2596446A4 (en)
CN (1) CN103262080A (en)
CA (1) CA2838761A1 (en)
WO (1) WO2012009817A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073508A (en) * 2016-11-18 2018-05-25 腾讯科技(深圳)有限公司 A kind of compatibility detection method and device
CN108563831A (en) * 2018-03-16 2018-09-21 浙江工业大学 A kind of optimization method of RV retarders transmission accuracy

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150328769A1 (en) * 2014-05-14 2015-11-19 Yaskawa America, Inc. Method, apparatus, and medium for teaching industrial robot
US9737990B2 (en) 2014-05-16 2017-08-22 Microsoft Technology Licensing, Llc Program synthesis for robotic tasks
CN104484511A (en) * 2014-12-02 2015-04-01 深圳控石智能系统有限公司 Simulation analysis based dynamic characteristic design method for robot structures
CN105468432A (en) * 2015-11-19 2016-04-06 江西洪都航空工业集团有限责任公司 Realization method based on robot visual interactive simulation environment
US10562191B2 (en) * 2015-12-29 2020-02-18 Robomotive Laboratories LLC Method of controlling devices with sensation of applied force
US10414046B1 (en) 2016-11-07 2019-09-17 X Development Llc Modular robot design
JP7087316B2 (en) * 2017-09-27 2022-06-21 オムロン株式会社 Information processing equipment, information processing methods and programs
WO2018172593A2 (en) 2018-05-25 2018-09-27 Erle Robotics, S.L Method for integrating new modules into modular robots, and robot component of same
US11383386B2 (en) 2018-10-04 2022-07-12 Brown University Robotic drawing
US11318616B2 (en) 2019-11-11 2022-05-03 Rockwell Automation Technologies, Inc. Robotic digital twin control with industrial context simulation
US11526159B2 (en) 2020-02-14 2022-12-13 Rockwell Automation Technologies, Inc. Augmented reality human machine interface testing
CN112150874A (en) * 2020-07-09 2020-12-29 石松 Open type robot simulation development platform
CN112182878A (en) * 2020-09-27 2021-01-05 中国商用飞机有限责任公司北京民用飞机技术研究中心 Robot simulation experiment test method and device for civil aircraft maintenance
US11675936B2 (en) 2020-09-28 2023-06-13 Rockwell Automation Technologies, Inc. Unifying multiple simulation models
CN112318513A (en) * 2020-11-05 2021-02-05 达闼机器人有限公司 Robot skill debugging method and device, storage medium and electronic equipment

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0644339A (en) * 1992-03-06 1994-02-18 Hewlett Packard Co <Hp> Graphic object operation system and method
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
US6559860B1 (en) * 1998-09-29 2003-05-06 Rockwell Software Inc. Method and apparatus for joining and manipulating graphical objects in a graphical user interface
US6944584B1 (en) * 1999-04-16 2005-09-13 Brooks Automation, Inc. System and method for control and simulation
US7937665B1 (en) * 2000-06-13 2011-05-03 National Instruments Corporation System and method for automatically generating a graphical program to implement a prototype
US8146007B2 (en) * 1999-08-19 2012-03-27 National Instruments Corporation Converting a first graphical program into an intermediate abstract representation for new graphical program generation
US7917863B2 (en) * 2000-06-13 2011-03-29 National Instruments Corporation System and method for graphically creating a sequence of motion control operations
US7702491B2 (en) * 2000-09-29 2010-04-20 Ford Global Technologies, Llc Method of part flow model for programmable logic controller logical verification system
US7844364B2 (en) * 2002-04-16 2010-11-30 Irobot Corporation Systems and methods for dispersing and clustering a plurality of robotic devices
US7117067B2 (en) * 2002-04-16 2006-10-03 Irobot Corporation System and methods for adaptive control of robotic devices
US20060250401A1 (en) * 2005-05-06 2006-11-09 Patrick Pannese Systems and methods for generating 3D simulations
US7720570B2 (en) * 2004-10-01 2010-05-18 Redzone Robotics, Inc. Network architecture for remote robot with interchangeable tools
US20070150102A1 (en) * 2005-12-09 2007-06-28 Joong Ki Park Method of supporting robot application programming and programming tool for the same
US7620477B2 (en) * 2006-07-05 2009-11-17 Battelle Energy Alliance, Llc Robotic intelligence kernel
KR100738052B1 (en) * 2006-12-26 2007-07-12 주식회사 이디 System for simulating intelligent robot control
CN101631651B (en) * 2007-01-12 2013-07-24 汉斯乔格·巴尔特斯 Method and system for robot generation
DK2217341T3 (en) * 2007-10-11 2015-05-04 Lego As A toy building system
US8156468B2 (en) * 2008-09-24 2012-04-10 Simio Llc System and method for creating intelligent simulation objects using graphical process descriptions
DE102010012598A1 (en) * 2010-02-26 2011-09-01 Kuka Laboratories Gmbh Process module library and programming environment for programming a manipulator process

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Webots Reference Manual, release 6.1.5", 17 June 2009 (2009-06-17), XP055135049, Retrieved from the Internet <URL:http://www.roadnarrows.com/support/file-archive/cyberbotics/webots-6/docs/reference.pdf> *
ANONYMOUS: "Webots User Guide, release 6.1.5", 17 June 2009 (2009-06-17), XP055135083, Retrieved from the Internet <URL:http://www.roadnarrows.com/support/file-archive/cyberbotics/webots-6/docs/guide.pdf> *
See also references of EP2596446A4 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073508A (en) * 2016-11-18 2018-05-25 腾讯科技(深圳)有限公司 A kind of compatibility detection method and device
CN108563831A (en) * 2018-03-16 2018-09-21 浙江工业大学 A kind of optimization method of RV retarders transmission accuracy
CN108563831B (en) * 2018-03-16 2019-12-24 浙江工业大学 Optimization method for transmission precision of RV reducer

Also Published As

Publication number Publication date
CN103262080A (en) 2013-08-21
US20130275091A1 (en) 2013-10-17
EP2596446A1 (en) 2013-05-29
CA2838761A1 (en) 2012-01-26
EP2596446A4 (en) 2017-12-20

Similar Documents

Publication Publication Date Title
US20130275091A1 (en) Non-programmer method for creating simulation-enabled 3d robotic models for immediate robotic simulation, without programming intervention
Joseph et al. Mastering ROS for Robotics Programming: Design, build, and simulate complex robots using the Robot Operating System
Pitonakova et al. Feature and performance comparison of the V-REP, Gazebo and ARGoS robot simulators
CN107077339B (en) Programming automation in a 3D graphics editor with tightly coupled logic and physics simulations
US11256224B2 (en) Virtual design engineering
CN103513992B (en) A kind of general Edutainment robot application software development platform
Fairchild et al. ROS Robotics By Example: Learning to control wheeled, limbed, and flying robots using ROS Kinetic Kame
JP7203635B2 (en) Systems and methods for generating control system solutions for robotic environments
Joseph Learning Robotics using Python: Design, simulate, program, and prototype an autonomous mobile robot using ROS, OpenCV, PCL, and Python
CN111164522B (en) Designing an autonomous system with reusable skills
Baumgartl et al. Towards easy robot programming-using dsls, code generators and software product lines
Gucwa et al. RoboSim: a simulation environment for programming virtual robots
Zhong et al. Virtual factory for manufacturing process visualization
Joseph et al. Mastering ROS for robotics programming: Best practices and troubleshooting solutions when working with ROS
Merrill et al. Reducing instructor workload in an introductory robotics course via computational design
Collins et al. Rebots: A drag-and-drop highperformance simulator for modular and self-reconfigurable robots
Jeong et al. M. Integrator: a maker’s tool for integrating kinetic mechanisms and sensors
Son et al. The pre-testing for virtual robot development environment
Winther Virtual commissioning of production process
Åkesson et al. Dymola and modelica_embeddedsystems in teaching-experiences from a project course
Akharas et al. Simulation and Visualization of Dynamic Systems in Virtual Reality Using SolidWorks, MATLAB/Simulink, and Unity
Lotfi et al. Use of Open-source Software in Mechatronics and Robotics Engineering Education-Part I: Model Simulation and Analysis.
Chakraborty et al. Smart Home Simulation in CoppeliaSim Using C# Through WebSocket
Ionescu Leveraging Graphical User Interface Automation for Generic Robot Programming. Robotics 2021, 10, 3
Birtic An Open Data Model for Emulation Models of Industrial Components

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: 11809131

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2011809131

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13811290

Country of ref document: US

ENP Entry into the national phase

Ref document number: 2838761

Country of ref document: CA