KR20130017698A - Realtime robot control framework - Google Patents
Realtime robot control framework Download PDFInfo
- Publication number
- KR20130017698A KR20130017698A KR1020110080277A KR20110080277A KR20130017698A KR 20130017698 A KR20130017698 A KR 20130017698A KR 1020110080277 A KR1020110080277 A KR 1020110080277A KR 20110080277 A KR20110080277 A KR 20110080277A KR 20130017698 A KR20130017698 A KR 20130017698A
- Authority
- KR
- South Korea
- Prior art keywords
- robot
- rtss
- real
- control
- plug
- Prior art date
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
- G06F9/44526—Plug-ins; Add-ons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Numerical Control (AREA)
Abstract
Description
The present invention relates to a robot real-time control framework, and more particularly, a robot real-time control frame that supports a software framework that allows users to control a real robot in real time by integrating a real-time operating system into the framework of the robot control software. It is about a work.
Robots are classified into various types, but typical ones are mobile robots that are equipped with wheels or moving means to carry out simple tasks such as carrying or cleaning objects, and moving parts or welding by moving one or more arms (arms). There are industrial robots, humanoid robots that can be configured similar to the structure of the human body and can behave similar to human behavior.
In addition, a dog-type robot, which consists of four legs such as dogs and horses, carries a four-legged walk and performs cargo transportation, combat, and life-saving work, and the present invention refers to such a mobile robot, industrial robot, and humanoid robot. It is used to mean robots and dog-like robots.
In order to develop a robot, the hardware constituting the robot and the software for controlling the robot must be implemented at the same time. When there is an error in the software for controlling the robot implemented in hardware or does not match the structure of the actual hardware, the hardware or software Should be redesigned.
However, even a simple robot is made up of many motors, sensors, joints, computers, etc., and thus, changing components again in the state of completion of production can cause a great loss in time and cost. In addition, before completing the robot, it is impossible to know exactly what is wrong with the operation or structure of the robot, so it was possible to produce an accurate robot only after several trials and errors.
In order to eliminate such inconvenience, tools are disclosed that can produce a virtual robot in software and simulate it in three dimensions before producing the actual robot and compare it with the actual motion. These simulation tools store control algorithms designed by researchers designing robots and virtually operate them in software according to the stored algorithms to determine if there are any problems.
1 is a flow chart showing a development process of a conventional robot system, as shown in FIG. 1, the development process of a robot system is generally a mechanical design and assembly, electronics integration, control algorithm development, control algorithm embedded and system It can be summarized as a process of integration.
The instrument design and assembly process includes detailed processes such as instrument mechanism design, workspace analysis, driving force analysis, actuator and sensor selection. In the electronic integration process, the design and implementation of the control board, the device driver, and the like are implemented and integrated with the apparatus. In the development of control algorithm, control structure design, real-time control kernel implementation and control protocol implementation are performed.
Finally, in the embedding of control algorithms and system integration, the robot system is completed by integrating and testing the components developed at the previous stage.
After completing the design of the robot as described above, the real-time control algorithm is mounted on the assembled robot before assembling the actual robot and embedding the control algorithm as designed. This is done by implementing an algorithm controller to verify the performance of the assembled robot in real time.
The conventional real time control application does not operate in the same framework as the robot control software, so the control algorithm plug-in developed in the robot control software cannot be reused as it is in the real time control application. Therefore, since different control algorithm plug-in interfaces are used, it is inconvenient to perform additional operations such as reprogramming or recompiling the control plug-in verified in the simulation.
It is a first object of the present invention to provide a real time robot control framework for allowing software framework users to perform real time control on a real robot with a robot control algorithm developed and validated in the software framework.
In addition, the second object of the present invention is to implement a real-time control application program using a commercial real-time operating system to write a real-time robot control program as a general software framework application program using a user application programming interface (API) To provide a robot control framework.
The real-time robot control framework according to an embodiment of the present invention is linked with a software framework including a window process, a control plug-in for inputting and outputting a robot control algorithm to the window process, and a window device plug-in connected to the window process. A robot control framework for controlling a robot device in real time on a device, comprising: an RTSS device plug-in coupled to the window device plug-in and connected to the robot device; A shared memory configured to allow the window device plug-in and the RTSS device plug-in to input and output data; And controlling the robot system registered in the RTSS device plug-in, the shared memory, and the RTSS timer at a predetermined time period by using the RTSS timer provided by the commercial real-time operating system to apply the robot control algorithm to the robot device in real time. It may include an RTSS process.
The RTSS process may synchronize the window device plug-in and the RTSS device plug-in.
When the timer event occurs in the RTSS process, the RTSS process reads the device value from the sensor of the robot device and writes it to the shared memory, and after the window process reads the device value from the shared memory, executes the control algorithm. The control input of the robot device is calculated and the calculated control input is written to the shared memory, and the RTSS process sequentially applies the control input stored in the shared memory to the robot device. The reading of the device value may execute a read mode in which the RTSS timer is executed at regular intervals.
When a timer event occurs in the RTSS process, the RTSS process applies a control input of the robot device stored in the shared memory to the robot device, reads a device value from a sensor of the robot device, and writes it to the shared memory, and the window process The controller may sequentially execute an operation of calculating the control input by executing the control algorithm, and execute a write mode in which the operation of applying the control input to the robot device is performed at a predetermined cycle by the RTSS timer.
The RTSS process may select and execute any one of the read mode and the write mode.
According to the real-time robot control framework of the present invention, since the real-time robot can be controlled in real time by integrating a commercial real-time operating system into the software framework, there is an effect that allows users to develop and easily test the robot control algorithm.
Also, since the code is almost similar to the simulation code of the software framework, the application code verified in the simulation environment can be reused with a few modifications.
According to the real-time robot control framework of the present invention, since the control algorithm plug-in developed in the software framework can be reused as it is in the real-time robot control framework application, the control plug-in verified in the simulation is reprogrammed or recompiled, etc. It can be applied to real time control without additional work.
Moreover, since it includes RTX Runtime, which is a Windows-based commercial real-time operating system, it is possible to reduce additional costs including the huge cost of purchasing the RTX SDK.
1 is a flow chart showing a development process of a conventional robot system,
2 is a view for explaining a real-time robot control framework according to an embodiment of the present invention,
3 is a view for explaining the structure of a real-time robot control framework according to an embodiment of the present invention;
4 is a block diagram schematically illustrating a real-time robot control framework according to an embodiment of the present invention;
5 is a view for explaining a read mode of the real-time robot control framework according to an embodiment of the present invention;
6 is a view for explaining a write mode of the real-time robot control framework according to another embodiment of the present invention;
7 is a block diagram illustrating a case where a real-time robot control framework uses an RTAPI timer according to another embodiment of the present invention.
While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail.
It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention.
Terms such as first and second may be used to describe various components, but the components should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as the second component, and similarly, the second component may also be referred to as the first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.
When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.
The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art. Terms such as those defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the relevant art and are to be interpreted in an ideal or overly formal sense unless explicitly defined in the present application Do not.
Hereinafter, with reference to the accompanying drawings, it will be described in detail a preferred embodiment of the present invention. In order to facilitate the understanding of the present invention, the same reference numerals are used for the same constituent elements in the drawings and redundant explanations for the same constituent elements are omitted.
2 is a view for explaining a real-time robot control framework according to an embodiment of the present invention. As shown in FIG. 2, a robot control algorithm is developed in an algorithm framework (not shown) to verify performance in the
The algorithm framework (not shown), the software framework 1200, and the real-time
The main object of the entire robot system of the present invention is to enable the rapid development of algorithms for robot control, and the hardware (actual robot 220) without changing the robot algorithm and development framework developed by software. Is to make it applicable.
An algorithm framework (not shown) is a part for generating and storing a control algorithm for manipulating the motion of the robotic system. The
Approaches to satisfy the efficiency and real-time controllability of resource usage of the
In addition, since the actual implementation exists inside the module, it can be changed to a simulation module, a robot hardware control module, and a real-time control module that implement the same interface as needed. Each module runs in an independent thread, process, or system, optimizing performance on multi-core processors.
According to the above method, the
The real-time
3 is a view for explaining the structure of the real-time robot control framework according to an embodiment of the present invention. As shown in FIG. 3, the real-time robot control framework according to the present invention allows the application of the software framework to use a hard realtime timer provided by RTX, a real-time extension module of Windows. It serves as an interface to extend functionality. In other words, when a user uses an application, the software framework provides an interface that enables real-time robot hardware to be operated in real time based on the RTX of Window, which is a commercial real-time operating system (RTOS), or the RTAI of Linux.
RTX is a module that extends the MS Windows operating system to take advantage of real-time timers, and RTAI is a module that extends the Linux operating system. When the function is extended to the commercial real-time operating system, the real-time robot control framework provides an API so that the user can easily utilize the functions of the commercial real-time operating system, and the important point here is in the robot control algorithm or robot operation program that the user writes. There is no need to deal directly with a commercial real-time operating system. In addition, as described above, the real-time robot control algorithm is an interface that extends the functionality of the software framework. Therefore, robot models, control algorithms, devices, and various plug-ins developed using the software framework can be used through the real-time robot control framework.
4 is a block diagram schematically illustrating a real-time robot control framework according to an embodiment of the present invention. The real time
As shown in FIG. 4, the real-time
The
The control plug-in 404 is a component that inputs the robot control algorithm developed in an algorithm framework (not shown) to the
The window device plug-in 406 receives a command of the
The real-time
The
The
The RTSS device plug-in 414 may be paired with the window device plug-in 406 to receive data from the RTSS process control command, input / output data to the shared
The
The
When a real-time timer event occurs according to an embodiment of the present invention, look at the data flow of the controller using a sensor and a motor, which is one of the
First, when a real time timer event occurs, the
5 is a view for explaining a read mode of the real-time robot control framework according to an embodiment of the present invention. When using the RTSS timer, the RTSS process can select the I / O mode as either read mode or write mode. First, the read mode is selected.
When timer event occurs in RTSS process, device value is read from sensor such as encoder. The shared algorithm then executes the control algorithm through a control plug-in in the Windows process. The control algorithm calculates control inputs such as rotational torque. The calculated control inputs are written to shared memory and the RTSS process applies them to devices such as real motors via RTSS device plug-ins. At this time, the operation of reading the device value from the sensor is called by synchronizing at the correct period by the RTSS timer (Synchronous Read). As can be seen from FIG. 5, the process of the read mode is completed within one cycle of the RTSS timer.
6 is a view for explaining a write mode of a real-time robot control framework according to another embodiment of the present invention. That is, the case where the RTSS process selects the write mode as the input / output mode will be described.
When a timer event occurs in the RTSS process, the RTSS process applies previously calculated control inputs to devices such as motors. Then, the device value is read from a sensor such as an encoder. When the RTSS process stores the device value in shared memory, the window process reads the value and executes the control algorithm through the control plug-in to calculate the control input such as torque. After that, the calculated control input is written to the shared memory, and the RTSS process applies it to a device such as a real motor through the RTSS device plug-in. At this time, the operation of applying the device value to the motor is called by synchronizing at the correct period by the RTSS timer (Synchronous Write). As can be seen from FIG. 6, the above write mode process uses a value calculated in a previous cycle of the device value applied to the motor, so that a delay of up to one cycle (cycle of the timer) may occur.
7 is a block diagram illustrating a case in which the real-time robot control framework uses an RTAPI timer according to another embodiment of the present invention. As described above, the RTAPI timer is often used in the development and debugging stage of the real-time control algorithm. This is because it is simpler to use than the RTSS timer. Applications that use the RTAPI timer do not use the RTSS process. Thus, data input and output with the actual device occurs directly in the
When a timer event occurs, the
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the inventions as defined by the following claims It will be understood that various modifications and changes may be made thereto without departing from the spirit and scope of the invention.
200: software framework 202: simulation terminal
210: real-time robot control framework 220: real robot device
400: Software Framework 402: Windows Process
404: Control plug-in 406: Windows device plug-in
410: real-time robot control framework
412: RTSS process 414: RTSS device plug-in
416: device driver 418: robot device
420: shared memory
702: Windows Process 704: Control Plug-in
706: Windows Device Plug-in 708: Device Driver
710: robotic device
Claims (5)
An RTSS device plug-in paired with the window device plug-in and connected to the robot device;
A shared memory configured to allow the window device plug-in and the RTSS device plug-in to input and output data; And
RTSS for controlling the robot system registered in the RTSS device plug-in, the shared memory and the RTSS timer at regular time intervals by using the RTSS timer provided by the commercial real-time operating system to apply the robot control algorithm to the robot device in real time. Real-time robot control framework comprising a process.
The RTSS process synchronizes the window device plug-in with the RTSS device plug-in.
The RTSS process reads the device value from the sensor of the robot device and writes it to the shared memory,
After the window process reads the device value from the shared memory, executes the control algorithm to calculate the control input of the robot device and write the calculated control input to the shared memory,
The RTSS process sequentially applies the control input stored in the shared memory to the robot device,
And a read mode in which the reading of the device value by the sensor is performed at a predetermined cycle by the RTSS timer.
The RTSS process applies a control input of the robot device stored in the shared memory to the robot device, and then reads a device value from a sensor of the robot device and writes it to the shared memory,
The window process executes the control algorithm and sequentially calculates the control input,
And executing the write mode in which the applying of the control input to the robot device is performed at regular intervals by the RTSS timer.
And the RTSS process selects and executes either the read mode or the write mode.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110080277A KR20130017698A (en) | 2011-08-11 | 2011-08-11 | Realtime robot control framework |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110080277A KR20130017698A (en) | 2011-08-11 | 2011-08-11 | Realtime robot control framework |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20130017698A true KR20130017698A (en) | 2013-02-20 |
Family
ID=47896816
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110080277A KR20130017698A (en) | 2011-08-11 | 2011-08-11 | Realtime robot control framework |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20130017698A (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957372A (en) * | 2014-05-13 | 2014-07-30 | 吉林建筑大学 | Real-time image acquisition and processing system based on Windows+RTX |
CN106940540A (en) * | 2016-01-04 | 2017-07-11 | 西门子工厂自动化工程有限公司 | Controller, the control of equipment and state monitoring method |
CN107972024A (en) * | 2016-10-24 | 2018-05-01 | 深圳光启合众科技有限公司 | Robot and apply data processing method and system in robot |
WO2022232477A1 (en) * | 2021-04-30 | 2022-11-03 | Intrinsic Innovation Llc | Real-time robotics control framework |
WO2022232483A1 (en) * | 2021-04-30 | 2022-11-03 | Intrinsic Innovation Llc | Real-time robotics control framework |
US12011832B2 (en) | 2021-04-30 | 2024-06-18 | Intrinsic Innovation Llc | Real-time robotics control framework |
-
2011
- 2011-08-11 KR KR1020110080277A patent/KR20130017698A/en not_active Application Discontinuation
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103957372A (en) * | 2014-05-13 | 2014-07-30 | 吉林建筑大学 | Real-time image acquisition and processing system based on Windows+RTX |
CN106940540A (en) * | 2016-01-04 | 2017-07-11 | 西门子工厂自动化工程有限公司 | Controller, the control of equipment and state monitoring method |
CN107972024A (en) * | 2016-10-24 | 2018-05-01 | 深圳光启合众科技有限公司 | Robot and apply data processing method and system in robot |
WO2022232477A1 (en) * | 2021-04-30 | 2022-11-03 | Intrinsic Innovation Llc | Real-time robotics control framework |
WO2022232483A1 (en) * | 2021-04-30 | 2022-11-03 | Intrinsic Innovation Llc | Real-time robotics control framework |
US11992948B2 (en) | 2021-04-30 | 2024-05-28 | Intrinsic Innovation Llc | Real-time robotics control framework |
US12011832B2 (en) | 2021-04-30 | 2024-06-18 | Intrinsic Innovation Llc | Real-time robotics control framework |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10864635B2 (en) | GPOS-connected real-time robot control system and real-time device control system using same | |
EP3002646B1 (en) | Virtual design engineering | |
KR20130017698A (en) | Realtime robot control framework | |
Guzmán et al. | PELEA: a domain-independent architecture for planning, execution and learning | |
Hirzinger et al. | The DLR-KUKA success story: robotics research improves industrial robots | |
Klotzbücher et al. | Reusable hybrid force-velocity controlled motion specifications with executable domain specific languages | |
KR101323937B1 (en) | A simulation system of communication between HMI simulator and PLC simulator | |
CN115816459A (en) | Robot control method, device, computer equipment, storage medium and product | |
Tirmizi et al. | User-friendly programming of flexible assembly applications with collaborative robots | |
JP6392817B2 (en) | Simulation device | |
Morozov et al. | Aadl-based stochastic error propagation analysis for reliable system design of a medical patient table | |
Habra et al. | Robotran-YARP interface: A framework for real-time controller developments based on multibody dynamics simulations | |
WO2019021045A1 (en) | Method and system for parmeter based operation of an industrial robot | |
US10719070B2 (en) | System and method for modeling signal flows in automation technology equipment | |
Wätzoldt et al. | Integrated software development for embedded robotic systems | |
Lambersky | Model based design and automated code generation from Simulink targeted for TMS570 MCU | |
Ferraguti et al. | A component-based software architecture for control and simulation of robotic manipulators | |
Ioris et al. | Integrating the OROCOS framework and the barrett WAM robot | |
Zhou et al. | Petri net modeling of a flexible assembly station for printed circuit boards | |
Zubizarreta et al. | Real-time environment design for testing advanced control approaches in parallel robots: Application to the 5R parallel robot prototype | |
JP4905782B2 (en) | Plant control system, plant control method, and program for plant control | |
Vladareanu et al. | Versatile Intelligent Portable Robot Platform for flexible robotic cells with AGV | |
Angerer | Object-oriented Software for Industrial Robots | |
De Winter et al. | Proud: A hybrid model-based/learning approach for symbolic-level robot programming by user demonstration | |
Zhou et al. | A real-time controller development framework for high degrees of freedom systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |