EP3354416A1 - Real-time device control system having hierarchical architecture and real-time robot control system using same - Google Patents
Real-time device control system having hierarchical architecture and real-time robot control system using same Download PDFInfo
- Publication number
- EP3354416A1 EP3354416A1 EP16848786.6A EP16848786A EP3354416A1 EP 3354416 A1 EP3354416 A1 EP 3354416A1 EP 16848786 A EP16848786 A EP 16848786A EP 3354416 A1 EP3354416 A1 EP 3354416A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- layer
- real
- time
- agents
- control module
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
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
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
-
- 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/0084—Programme-controlled manipulators comprising a plurality of manipulators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1661—Programme controls characterised by programming, planning systems for manipulators characterised by task planning, object-oriented languages
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1694—Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/545—Interprogram communication where tasks reside in different layers, e.g. user- and kernel-space
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/02—Arm motion controller
- Y10S901/06—Communication with another machine
- Y10S901/08—Robot
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/46—Sensing device
Definitions
- Elements constructing robot hardware may include driver and controller for moving robot joint, battery and power source controller, communication module, sensors, exoskeleton of robot, electronic circuit, battery and so on.
- a robot hardware platform may be formed by combining elements of these various sorts as wanted properties of each of robots.
- a system to solve the problem as described above is a real-time robot controlling system comprising one or more control target devices corresponding to a joint or a sensor of a robot; and a control system connected to the one or more control target devices to operate the devices, wherein the control system comprising a first layer comprising the one or more control target devices; a second layer comprising a device control module controlling directly the devices at upper layer of the first layer; a third layer comprising a shared memory connected to the device control module at upper layer of the second layer; a fourth layer comprising one or more agents performing independent processes using the shared memory at upper layer of the third layer; and a fifth layer controlling the one or more agents according to user commands at upper layer of the fourth layer, to operate the one or more devices using communication between the layers mutually adjacent to each other.
- Functions of a variety of elements shown in drawings including function blocks expressed as processor or a similar concept thereto may be provided not only by exclusive hardware but also by usage of hardware in relation to a proper software having ability to execute software.
- the function may be provided by a single exclusive processor, a single shared processor or a plurality of individual processors, among which a unit may be shared.
- DSP digital signal processor
- FIG. 1 is a conceptual diagram showing schematically the whole system according to an embodiment of the present invention.
- the devices 100 may include one or more drive apparatus finally performing operation of the robot controlling system.
- the drive apparatus may include hardware apparatus or software apparatus.
- the drive apparatus may include at least one of, for example, a joint device controlling drive with respect to a joint motor, a sensor device including a sensor board, or simulator apparatus.
- the devices 100 may be controlled according to control signals received from the device control module 200 and may output a variety of data such as sensor data to the device control module 200.
- the term of devices 100 herein is not limited to hardware but can be used as concept including software driver for driving actual hardware device. Therefore, each of the devices 100 may be connected to the device control module 200 physically and in software.
- each of devices 100 may form a communication network with the device control module 200.
- the communication network may form a system network using a protocol of CAN (Controller Area Network) method for system stability.
- CAN Controller Area Network
- each of device 100 may be connected to the device control module 200 in one or more CAN communication channels and may receive a message constructed with CAN frame data or may output a message to the device control module 200 according to control period pre-set through the CAN communication channel.
- the message may include motor control reference, encoder value, controller status value, PWM (Pulse Width Modulation) command, sensor value or a variety of other settings or output values.
- the device control module 200 may reside always on an operating system for control of the robot controlling system to be executed in background.
- the device control module 200 may transfer a reference for control of the joint device 100 or may receive sensor information needed from the sensor device 100.
- the plurality of agents 400 may be realized by independent software modules having mutually independent processes.
- the agents 400 may process different motions to each other, and may perform processes for outputting references corresponding to the same.
- each of the agents 400 may include a motion agent, a controller agent, a communication agent or a walking agent, a damping agent, and other variety of agents.
- heap, data and static memory are not shared for each of thread to be generated to operate, and each of needed data for mutual share may be provided to the shared memory 300, by which an organic process without mutual collision may be enabled and software development and process may be enabled with ease.
- the plurality of agents 400 may refer to sensor data from the shared memory 300 according to operation of mutual independent processes, and according to an embodiment of the present invention, each of the agents 400 may refer to hardware abstraction data and user-defined data of the shared memory 300 according to each of defined processes, and may store reference data generated based on the same to hardware abstraction data of the shared memory 300.
- the hardware abstraction data may include references, sensor data, motion owner variable and command data abstracted for control of the devices 100.
- the device control module 200 may generate control signals by each of devices 100 using the hardware abstraction data and hardware information stored in a hardware database 250 in advance.
- the device control module 200 may identify the control target devices 100, may generate control signals with respect to the control target devices 100, and may output control signals according to the references to the control target devices 100 using the hardware abstraction data extracted from the shared memory 300.
- process period of each of agents 400 is shorter than operation period processing motion information of the system. Accordingly, the time at which the agents 400 may generate references from sensor data, the device control module 200 may generate and output control signals from the references through shared memory 300, and sensor data is updated may be included within a first operation period of the system. Therefore, the series of operations may be all processed within the first operation period.
- the user system 500 may provide a user interface for controlling and monitoring the agents 400 and the device control module 200. And, the user system 500 may include middleware for control of the agents 400 and may provide a variety of interfaces which can be connected to other external system.
- FIG. 2 is a flow chart for explaining control method of robot controlling system according to an embodiment of the present invention.
- FIG. 5 is a drawing for explaining data exchange between the device control module and the agents according to an embodiment of the present invention.
- firstly operation of a plurality of agents 400 having mutually independent processes may be performed (S101).
- the device control module 200 may obtain hardware abstraction data from references stored in the shared memory 300 (S103).
- the series of operation steps can be all processed within the first period corresponding to the real-time operation period of the robot controlling system, by which the real-time features can be guaranteed.
- each of the agents 400 and the device control module 200 may perform data exchange and transfer process using the shared memory 300.
- the references corresponding to each of devices 100 may be stored in the shared memory 300 according to operation of each of agents 400, and the device control module 200 may obtain the references and may use it in outputting the control signals.
- Such a plurality of agents 400 and the device control module 200 may construct a multi-agent system with the shared memory 300 as the center. Accordingly, each of parts performing independent work may be developed separately by several developers or may be co-worded, by which an advantageous structure at a robot controlling system develop environment may be obtained.
- the developers may be guaranteed with independent development space from a process concurrent development model, while mutual action on an operation result matter of other agents 400 or data giving and receiving may be enabled using the shared memory 300.
- the hardware abstraction data may include sensor data, reference data, motion owner and command data, and the device control module 200 can access only to the hardware abstraction data area of the shared memory 300.
- the hardware information may include, for example, a list of the devices 100, joint motor information (reduction gear ratio, encoder pulse, number of driver channels or the like), communication protocol or the like.
- the device control module 200 may grasp hardware information of the drive target devices 100 by loading the hardware database 250, accordingly, may generate control signals optimal for control of the drive target devices 100. And, even when change of hardware occurs or hardware of new construction is used, adaptation can be enabled with only correction of the hardware database 250, by which a property strong to hardware change, and expandable in hardware can be provided.
- the hardware abstraction data may include reference data, sensor data, motion owner and command data.
- the references data may be updated according to an operation result at each of agents 400 and may include an object value in current step so that the device control module 200 control the each of devices 100.
- the reference data may include joint motion references and joint controller references
- the sensor data may include measurement data that the device control module 200 may receive from each of devices 100.
- the measurement data may include, for example, status information at current step including encoder value and sensing data of the joint device.
- the command data may include command information for control the device control module 200 and the agents 400 at upper system level and may include command target process information and parameter information.
- the shared memory 300 may include motion owner information.
- the relationship between the motion owner and the reference data may be described in data exchange between the device control module 200 and the agents 400 according to an embodiment of the present invention.
- a memory area 350 by the agents 400 may be included at the hardware abstraction data area of the shared memory 300 where the reference data can be updated by each of agents 400.
- the shared memory 300 may include a motion owner variable for each of the joint devices 100. Therefore, motion owner variables of the same number as that of the joint devices 100 may be included at each of motion owner variable space.
- control right on each of the joint devices 100 may be transferred to another agent 400 or device control module 200 according to change of the motion owner variable.
- the device control module 200 may firstly identify an agent 400 having control right of a specific joint device 100 from the motion owner variable. And, the device control module 200 may collect the reference data of the identified agent 400 and may couple the collected reference data to generate the whole reference data for the whole joint devices 100 constructed integrally.
- the device control module 200 may generate control signals for each of devices 100 using the whole reference data to transfer it properly.
- each joints of the robot can be controlled without collision at different agents 400.
- the lower body joints are controlled through an algorithm for posture stabilization of low body at one agent 400, while a specific task motion of upper body is generated at another agent 400, an entire body task of robot may be performed by integrating the results of two agents 400. This may enable an efficient control suitable for property of multi-agent system of the robot.
- FIG. 6 is a block diagram for explaining a device control module according to an embodiment of the present invention.
- the device control module 200 may include a motion selector 210, a controller signal accumulating unit 220, a signal coupling unit 230, and an information handler 240.
- the reference data for the joint may include two or more reference signals for joint motion control and detailed control. Accordingly, the agent 400 corresponding to each of joint devices 100 may generate two or more reference signals as reference data to store into the shared memory 300.
- the reference signals may be called as motion reference and controller reference.
- the motion reference may include reference data providing dominant value to each of joints, while the controller reference may include detailed reference data microscopically increased or decreased to the motion reference.
- the references in embodiments of the present invention is not limited to the designation thereof.
- the motion reference may be selected as one per one joint device 100, but the controller reference may be accumulated all with addition and subtraction.
- the motion selector 210 may select motion reference data corresponding to each of joint devices 100 from the motion reference data based on the motion owner variable information and may output the same to the signal coupling unit 230. Therefore, one motion reference data may be selected at one joint device 100.
- controller signal accumulating unit 220 may accumulate each of controller reference data regardless of the motion owner variable to output the result value to signal coupling unit 230.
- the signal coupling unit 230 may synthesize the accumulated result value of the motion reference data and the controller reference data, may generate the final reference data by joint device 100, and may output it to a proper target joint device 100.
- the signal coupling unit 230 may identify the type of the reference and may distinguish process spaces according to the reference types.
- the signal coupling unit 230 may include type identification unit and space processing unit.
- the reference data may have not only joint operation but also other type such as task process, and accordingly, the type identification unit may identify the task type or whether joint type, and the space processing unit may provide process of other data space each other according to the type.
- a functional separation can be enabled at process generating the robot motion.
- one agent 400 may generate a basic walking pattern to generate motion reference, another agent 400 may design a damping controller, and further another agent 400 may design a controller reducing vibration, and by outputting as controller reference, very easy design and development may be enabled.
- the information handler 240 may integrate sensor data collected from sensor device 100 or other measurement target devices and may perform function of outputting to the shared memory 300.
- FIG. 7 is a flow chart for explaining control operation of the robot controlling system according to another embodiment of the present invention.
- the robot initialization process may be simple in case of mobile platform, while, in case of multi-joint system as in humanoid, or in case that initialization on the ground is difficult to be performed and initialization needs to be performed in midair using crane or the like, the whole initialization process may be very cumbersome and may require a plenty of time.
- the device control module 200 can debug and test the robot again without process of such initialization of the robot.
- the system initialization may be performed (S201), and each of a plurality of agents 400 having mutual independent processes may be operated (S202).
- the operation of the agent where the error is generated may be suspended and the device control module 200 or other agent 400 may change the motion owner variable to another agent (S205).
- the motion owner may only be turned over to another agent 400 or device control module 200 and the code for the suspended agent 400 can be corrected.
- the motion owner variable may be switched to the original agent 400 again (S209).
- a developer may continue experiment after bringing the motion owner. This may accelerate development as a result, and the user may, with further utilizing the above, may enjoy an effect that robot may be experimented in safety by observing the joint reference of the robot continuously at other specific AL to detect the occurrence of collision, and in case of generation of collision, by switching the motion owner.
- FIG. 8 is a drawing for explaining operation environment of a robot system according to an embodiment of the present invention.
- a robot software may be used in general purpose, for which the software should be able to operate a plurality of variety of robots not only one robot platform. Therefore, there is a need that it should be expandable and adaptable to change in robot hardware and it can be controlled not only by actual robot platform but also by software like robot simulators.
- a robot controlling system 1000 may build a general-purpose system which can use functions of other useful robot middleware like ROS (Robot Operation System) of U.S.A. or OPRoS (Open Platform for Robotics Services) of Korea. Accordingly, an environment by which a variety of vision solutions or functions managing tasks of robot provided by software on a cloud robot system can be applied to a system of the present invention with ease may be provided.
- ROS Robot Operation System
- OPRoS Open Platform for Robotics Services
- the device control module 200 controlling each of the robot devices 100 may be operated to be able to provide a real-time control of the whole system. And, a reference of connection or determination between motions may be suggested or several robots may be managed concurrently by other robot software of upper level.
- FIG. 9 is a drawing showing a hierarchical architecture design of a robot system according to an embodiment of the present invention.
- the robot controlling system 1000 may include a layered structure of each of data process modules to provide an environment by which another general external process as above can access to a plurality of agents according to an embodiment of the present invention or can generate arbitrary agent to operate independently.
- each of the layered structure may be connected to the robot controlling system 1000 or may be realized in software or hardware on a real-time operating system (RTOS) where the robot controlling system 1000 is loaded or installed. And, for synchronization of operation period between each of layers, the real-time operating system may provide a global Timer Interrupt to the fourth layer and the second layer.
- RTOS real-time operating system
- each of agents of the fourth layer may be implemented as a process of the real-time operating system, which may access to the shared memory, may obtain sensor data, and may store reference data according to thread operation included in the process.
- the device control module of the second layer synchronized to the above may store sensor data of the devices to the shared memory and may generate device control signals according to reference data and motion owner of the shared memory to output to each of devices according to thread operation on the real-time operating system.
- each of communication protocol may be set in advance so that the first to fifth layers can communicate only between layers adjacent mutually.
- Each of layers can access next layer thereof only through upper or lower layers, by which a stabilized and systematic system can be maintained through a controlled system like above.
- each of devices may be included in the first layer.
- the devices may include low level robot devices which are actual targets of control, wherein, for example, controller of driver, or devices of sensor board or robot simulator may be included.
- the device control module 200 may always reside in the second layer as background to be executed to control the robot.
- the second layer may be the only layer which can control directly the devices of the robot system.
- the device control module of the second layer may transfer the references of joint generated from the shared memory to the robot device, and contrarily, may obtain value of sensor from the device.
- the second layer may be operated by a real-time thread generated from a real-time operating system (RTOS), wherein the thread of the second layer may have a period synchronized to the control period of motion generation.
- RTOS real-time operating system
- the thread of the second layer may be operated with synchronization to time of the simulator.
- the second layer may have a non-real-time thread which can read in and interpret commands, wherein the non-real-time thread may receive and process other commands at a spare time in the real-time thread.
- the device control module may have a hierarchical architecture which may reside in background of the system to transfer control signals for controlling the devices from the references obtained from the shared memory to the first layer.
- the third layer may include a hardware abstraction data unit and a user-defined data unit as a shared memory layer.
- hardware abstraction data described above may be included in the hardware abstraction data unit, wherein the kind of the hardware abstraction data may include sensor data, reference data, motion owner and command information.
- the device control module of the second layer can be connected only to the shared memory of the third layer.
- the user-defined data unit may store temporarily or permanently an agent shared data shared between processes of a plurality of agents existing on the fourth layer and a robot drive data according to user definition.
- the fourth layer is a layer to drive processes of each of agents so that a user of an external process may generate a robot motion of one's own or the like, wherein the agent processes may be called specifically as ALs since they are executed mutually independently within the layer as each of grapes in a bunch.
- the each of agents may read sensor data from the shared memory of the third layer mutually independently to generate motion and may update the joint reference of the generated motion into the shared memory.
- the agent processes of the fourth layer may set which AL has the ownership for the reference of the corresponding joint to the motion owner.
- each of agents may generate a rapid real-time thread of very short period from the real-time operating system (RTOS), wherein the rapid thread may be used in synchronization of a motion generation thread of each of agents to the above-mentioned real-time thread of the device control module of the fourth layer.
- the thread generating motion may be synchronized real-time with the device control module by the rapid thread, by which an operation may be Resumed at the same time of synchronization, while may be Suspended after sequencing loop of reference operation once.
- the control of the robot controlling system 1000 may be implemented by repeatedly and continual occurrence of this operation.
- the fifth layer may include a user interface module providing functions of control corresponding to the agents and of monitoring on the robot controlling system 1000.
- the fifth layer may include a variety of processes for providing convenience in controlling the robot.
- a GUI Graphic User Interface
- a GUI for easy command or monitoring or logging program storing data may be included in the fifth layer.
- the fifth layer may provide one or more interface functions that robot middleware like conventional ROS and OPRoS may control agents, which is an accessible area of external process.
- the robot controlling system 1000 may include a structure which can expend infinitely through the fifth layer, through which a structural possibility controlling a hyper multi-agent system may be provided.
- the recording medium readable by the computer may be distributed in a computer system connected by network and the code readable by the computer may be stored and executed in a distributive way. And, the functional (function) program, code and code segments to realize the method may be inferred by programmers of the technical field where the present invention pertains with ease.
- the present invention may not be limited to the above-mentioned specific embodiments, but also of course a variety of modified realization may be possible by a person having an ordinary knowledge in the technical field where the present invention pertains without escaping from the gist of the present invention written in claim, and these modified implements should not be appreciated as separate from the technical idea or perspective of the present invention.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Software Systems (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
- Feedback Control In General (AREA)
- Stored Programmes (AREA)
- Programmable Controllers (AREA)
Abstract
Description
- The present invention relates to a real-time device controlling system and a real-time robot system, and more specifically, to a real-time device controlling system having a hierarchical architecture and a real-time robot controlling system using the same that enables an exact real-time process, facilitates easy development and debugging, and have strong hardware.
- Researches on robot are vividly implemented in a number of authorities domestic and abroad currently. A robot can be divided largely into hardware and software, which may be integrated to realize one system.
- Elements constructing robot hardware may include driver and controller for moving robot joint, battery and power source controller, communication module, sensors, exoskeleton of robot, electronic circuit, battery and so on. A robot hardware platform may be formed by combining elements of these various sorts as wanted properties of each of robots.
- And each of elements are further different each other in size, appearance, performance, manufacturer and the like according to design object, by which robot hardware platforms of infinite sorts may be produced as a result. Actually, a vast variety of robots exist all over the world. Therefore, researches surveying performance and functions of robot platforms having common object to develop one representative standard type robot platform are under progressing all over the world.
- And, like there are researches in a direction of developing a standard type robot platform in hardware field as described above, there are researches on standard type robot software usable in common in software field. There exist a variety of kinds of software such as software for controlling robot devices such as drive controller or sensors belonging into robot hardware, software for helping easy development of robot motion, software determining relationship among tasks to help operation of robot, software providing navigation or vision solution and the like, and the development of standard type software is under progressing under a similar object to that of the development of standard type hardware.
- However, in the development of the standard type software, providing a standard solution for settling common requirements of plenty of developers is actually difficult.
- Especially, not only co-work between developers may get harder as changed matters in hardware gets more, but also problems that processes overlap by functions or processes simultaneously developed by a plurality of persons may generated. Accordingly, there may be problems that real-time synchronization is difficult, hardware stability or toughness is decreased, and development time becomes longer.
- And, there may be problems that driving performance is decreased since additional function change should be added to maintain compatibility with the standard software in hardware development.
- The present invention is to solve the problem as described above, an object of which is to provide a real-time device controlling system having hierarchical architecture and a real-time robot controlling system using the same that a plurality of independent processes with respect to the same hardware control and process can coexist, operation of robot according to the same can be controlled stably, and the toughness and expandability thereof can be provided in a robot controlling system needing real-time features.
- A system according to an embodiment of the present invention to settle the problem as described above is a real-time device controlling system comprising a first layer comprising one or more control target devices; a second layer comprising a device control module controlling directly the devices at upper level of the first layer; a third layer comprising a shared memory connected to the device control module at upper level of the second layer; a fourth layer comprising one or more agents performing independent processes using the shared memory at upper level of the third layer; and a fifth layer controlling the one or more agents according to user commands at upper level of the fourth layer.
- And, a system according to an embodiment of the present invention to solve the problem as described above is a real-time robot controlling system comprising one or more control target devices corresponding to a joint or a sensor of a robot; and a control system connected to the one or more control target devices to operate the devices, wherein the control system comprising a first layer comprising the one or more control target devices; a second layer comprising a device control module controlling directly the devices at upper layer of the first layer; a third layer comprising a shared memory connected to the device control module at upper layer of the second layer; a fourth layer comprising one or more agents performing independent processes using the shared memory at upper layer of the third layer; and a fifth layer controlling the one or more agents according to user commands at upper layer of the fourth layer, to operate the one or more devices using communication between the layers mutually adjacent to each other.
- On the other hand, a method to solve the problem as described above can be realized as a program for executing the method on a computer and a recording medium recording the program.
- According to an embodiment of the present invention, by providing a plurality of agents having mutually independent processes and a shared memory where references generated according to operation of the plurality of agents stored and by providing a separate device control module controlling the hardware devices using the references, a plurality of independent processes can coexist with respect to the same hardware control in a robot controlling system needing real-time features, by which operation of robot can be controlled with stability.
- According to an embodiment of the present invention, even though each of agents may be developed independently, synthesis and selection of reference may be enabled through the shared memory, by which possibility of mutual collision can be reduced and strong real-time features can be secured. And, agent substitution, real-time debugging and the like at the time of error occurrence can be facilitated, by which co-work convenience and expandability can be drawn.
- And, according to an embodiment of the present invention, an effect that a stabilized and systematic system can be maintained through a controlled system by providing a hierarchical architecture among each of devices, a device control module, a shared memory and agents.
-
-
FIG. 1 is a conceptual diagram showing schematically the whole system according to an embodiment of the present invention. -
FIG. 2 is a flow chart for explaining control method of robot controlling system according to an embodiment of the present invention. -
FIG. 3 andFIG. 4 are diagrams for explaining relationship between the shared memory and the system according to an embodiment of the present invention. -
FIG. 5 is a diagram for explaining data exchange between the device control module and the agents according to an embodiment of the present invention. -
FIG. 6 is a block diagram for explaining the device control module according to an embodiment of the present invention. -
FIG. 7 is a flow chart for explaining control operation of the robot controlling system according to another embodiment of the present invention. -
FIG. 8 is a drawing for explaining a layer design and operation environment according to an embodiment of the present invention. - Hereinafter, the only principle of the present invention will be illustrated. Therefore, a person in the art may be able to invent a variety of apparatus included in the concept and range of the present invention by realizing the principle of the present invention even though clarity may not be described or shown in the specification. And, all the conditional terms and embodiments listed in the specification are in principle intended clearly only for the purpose of appreciation of concept of the present invention, which should be understood not to be restrictive to such an especially listed embodiments and status.
- And, all the detailed description listing specific embodiments as well as principle, viewpoint, and embodiments of the present invention should be understood as to be intended to include structural and functional equivalents of these matters. And, these equivalents should be appreciated to include equivalents developed in the future, that is all the elements invented to perform the same function regardless of structure, as well as equivalents known public currently.
- Accordingly, for example, block diagrams of the present specification should be appreciated as to show conceptual viewpoint of indicative circuit realizing the principle of the present invention. Similarly, all the flow chart, status conversion diagram, pseudo code and the like may be shown actually in a computer-readable medium and should be understood to show a variety of processes performed by computer or processor regardless of whether the computer or processor is depicted clearly or not.
- Functions of a variety of elements shown in drawings including function blocks expressed as processor or a similar concept thereto may be provided not only by exclusive hardware but also by usage of hardware in relation to a proper software having ability to execute software. When provided by a processor, the function may be provided by a single exclusive processor, a single shared processor or a plurality of individual processors, among which a unit may be shared.
- And, clear usage of terms suggested as a processor, a control or a concept similar thereto should not be interpreted with exclusive citation of hardware having ability to execute software but should be appreciated to suggestively include digital signal processor (DSP) hardware, ROM, RAM and non-volatile memory to store software without limitation. And another well-known or commonly used hardware may be included.
- The constructing elements in claims of the present specification expressed as means for performing functions written in the detailed description are intended to include all the method performing functions including software of all the type including, for example, combination of circuit elements perform the functions, firmware / microcode or the like, which may be coupled to a proper circuit to execute the software to perform the function. In the present invention defined by such a claim, the functions provided by the means listed in variety may be coupled each other and may be coupled in a way required from the claim, by which any means capable of providing the function should be understood as equivalent to that comprehended from the present specification.
- The objects, features and merits described above may become clearer through following detailed description related to attached drawings, according to which a person having an ordinary knowledge in the technical field where the present invention pertains may be able to implement the technical idea of the present invention with ease. And, in case that detailed explanation on a publicly known technology related to the present invention may be determined to blur the gist of the present invention unnecessarily in the description of the present invention, the detailed description may be omitted.
- Hereinafter, a desirable embodiment according to the present invention will be described in detail in reference to attached drawings.
-
FIG. 1 is a conceptual diagram showing schematically the whole system according to an embodiment of the present invention. - Referring to
FIG. 1 , the whole system according to an embodiment of the present invention may include one ormore devices 100, adevice control module 200, a sharedmemory 300, one ormore agents 400 and auser system 500. - The
devices 100 may include one or more drive apparatus finally performing operation of the robot controlling system. The drive apparatus may include hardware apparatus or software apparatus. The drive apparatus may include at least one of, for example, a joint device controlling drive with respect to a joint motor, a sensor device including a sensor board, or simulator apparatus. - And, the
devices 100 may be controlled according to control signals received from thedevice control module 200 and may output a variety of data such as sensor data to thedevice control module 200. And, the term ofdevices 100 herein is not limited to hardware but can be used as concept including software driver for driving actual hardware device. Therefore, each of thedevices 100 may be connected to thedevice control module 200 physically and in software. - And, each of
devices 100 may form a communication network with thedevice control module 200. The communication network may form a system network using a protocol of CAN (Controller Area Network) method for system stability. - For example, each of
device 100 may be connected to thedevice control module 200 in one or more CAN communication channels and may receive a message constructed with CAN frame data or may output a message to thedevice control module 200 according to control period pre-set through the CAN communication channel. Here, the message may include motor control reference, encoder value, controller status value, PWM (Pulse Width Modulation) command, sensor value or a variety of other settings or output values. - And, the
device control module 200 may obtain hardware control data for control of the one ormore devices 100 from each of references generated from the plurality ofagents 400 and stored into the shared memory and may transfer control signals according to the references to the one ormore devices 100 selected from the hardware control data. - The
device control module 200 may reside always on an operating system for control of the robot controlling system to be executed in background. - The
device control module 200 may communicate directly to thedevices 100 solely in reference with the sharedmemory 300 and may transfer control signals or may receive sensor signals through the communication channel. - For example, the
device control module 200 may transfer a reference for control of thejoint device 100 or may receive sensor information needed from thesensor device 100. - And, the
device control module 200 may include a real-time thread generated on the operating system. And, the thread may enable real-time processes by synchronization to a motion generating operation period of the system. And, thedevice control module 200 may further include a non-real-time thread for processes of data reading, convert and the like. - And, the plurality of
agents 400 may be realized by independent software modules having mutually independent processes. For example, theagents 400 may process different motions to each other, and may perform processes for outputting references corresponding to the same. For example, each of theagents 400 may include a motion agent, a controller agent, a communication agent or a walking agent, a damping agent, and other variety of agents. - Since the processes are separated functionally in the
agents 400 as described above, heap, data and static memory are not shared for each of thread to be generated to operate, and each of needed data for mutual share may be provided to the sharedmemory 300, by which an organic process without mutual collision may be enabled and software development and process may be enabled with ease. - Especially, according to an embodiment of the present invention, the plurality of
agents 400 may refer to sensor data from the sharedmemory 300 according to operation of mutual independent processes, and according to an embodiment of the present invention, each of theagents 400 may refer to hardware abstraction data and user-defined data of the sharedmemory 300 according to each of defined processes, and may store reference data generated based on the same to hardware abstraction data of the sharedmemory 300. - Here, the user-defined data may include a shared data for information share between the
agents 400 and a variety of data for other system drive which user-definition allowed. - And, the hardware abstraction data may include references, sensor data, motion owner variable and command data abstracted for control of the
devices 100. And, thedevice control module 200 may generate control signals by each ofdevices 100 using the hardware abstraction data and hardware information stored in ahardware database 250 in advance. - Accordingly, the
device control module 200 may identify thecontrol target devices 100, may generate control signals with respect to thecontrol target devices 100, and may output control signals according to the references to thecontrol target devices 100 using the hardware abstraction data extracted from the sharedmemory 300. - And, for guarantee of strong real-time features, there is a need that process period of each of
agents 400 is shorter than operation period processing motion information of the system. Accordingly, the time at which theagents 400 may generate references from sensor data, thedevice control module 200 may generate and output control signals from the references through sharedmemory 300, and sensor data is updated may be included within a first operation period of the system. Therefore, the series of operations may be all processed within the first operation period. - On the other hand, the
user system 500 may provide a user interface for controlling and monitoring theagents 400 and thedevice control module 200. And, theuser system 500 may include middleware for control of theagents 400 and may provide a variety of interfaces which can be connected to other external system. -
FIG. 2 is a flow chart for explaining control method of robot controlling system according to an embodiment of the present invention. - And,
FIG. 3 andFIG. 4 are drawings for explaining relationship between the shared memory and the system according to an embodiment of the present invention. - And,
FIG. 5 is a drawing for explaining data exchange between the device control module and the agents according to an embodiment of the present invention. - Hereinafter, a robot controlling system and a control method thereof of the present invention will be described in more detail in reference to
FIG. 2 to FIG. 5 . - Referring to
FIG. 2 , in a control method of a robot controlling system according to an embodiment of the present invention, firstly operation of a plurality ofagents 400 having mutually independent processes may be performed (S101). - And, the
device control module 200 may obtain hardware abstraction data from references stored in the shared memory 300 (S103). - And, the
device control module 200 may generate control signals for hardware control from the hardware abstraction data (S107) and may transfer the generated control signals to one or more devices 100 (S109). - On the other hand, the
device control module 200 may receive sensor data from thedevices 100 corresponding to the sensor (S111) and may update the received sensor data into the shared memory 300 (S113). - And, the series of operation steps can be all processed within the first period corresponding to the real-time operation period of the robot controlling system, by which the real-time features can be guaranteed.
- For the processes as described above, as shown in
FIG. 3 , each of theagents 400 and thedevice control module 200 may perform data exchange and transfer process using the sharedmemory 300. - The references corresponding to each of
devices 100 may be stored in the sharedmemory 300 according to operation of each ofagents 400, and thedevice control module 200 may obtain the references and may use it in outputting the control signals. - Such a plurality of
agents 400 and thedevice control module 200 may construct a multi-agent system with the sharedmemory 300 as the center. Accordingly, each of parts performing independent work may be developed separately by several developers or may be co-worded, by which an advantageous structure at a robot controlling system develop environment may be obtained. - By using the
agents 400 according to an embodiment of the present invention, the developers may be guaranteed with independent development space from a process concurrent development model, while mutual action on an operation result matter ofother agents 400 or data giving and receiving may be enabled using the sharedmemory 300. - On the other hand, as shown in
FIG. 4 , the hardware abstraction data and the user-defined data may be included on the sharedmemory 300. - The hardware abstraction data may include sensor data, reference data, motion owner and command data, and the
device control module 200 can access only to the hardware abstraction data area of the sharedmemory 300. - Accordingly, the
device control module 200 may access to the hardware abstraction data area of the sharedmemory 300 to update sensor data received from thedevices 100 or to obtain the updated reference data, to generate the control signals for thedevices 100. - Here, the hardware abstraction data may have a data format converted with abstraction of detailed data on the robot device control, while the
device control module 200 may convert this to an actual hardware control signals to be transferred to theproper devices 100. - Accordingly, a developer or a user of the
agents 400 can control with ease without deep understanding on the hardware. The developer or the user may transfer an abstracted hardware input information to the references through the sharedmemory 300, while thedevice control module 200 may generate low level control signals for control of thedevices 100 from the hardware abstraction data. - And, there may be an expandability of hardware and change and correction of hardware, for which the
device control module 200 may manage hardware information needed in generating the control signals using above-mentionedhardware database 250. The hardware information may include, for example, a list of thedevices 100, joint motor information (reduction gear ratio, encoder pulse, number of driver channels or the like), communication protocol or the like. - The
device control module 200 may grasp hardware information of thedrive target devices 100 by loading thehardware database 250, accordingly, may generate control signals optimal for control of thedrive target devices 100. And, even when change of hardware occurs or hardware of new construction is used, adaptation can be enabled with only correction of thehardware database 250, by which a property strong to hardware change, and expandable in hardware can be provided. - And, the hardware abstraction data may include reference data, sensor data, motion owner and command data.
- Here, the references data may be updated according to an operation result at each of
agents 400 and may include an object value in current step so that thedevice control module 200 control the each ofdevices 100. For example, the reference data may include joint motion references and joint controller references - And, the sensor data may include measurement data that the
device control module 200 may receive from each ofdevices 100. Here, the measurement data may include, for example, status information at current step including encoder value and sensing data of the joint device. - On the other hand, the command data may include command information for control the
device control module 200 and theagents 400 at upper system level and may include command target process information and parameter information. - On the other hand, there is no room for confusion in other data of the shared
memory 300 since they are values read by theagents 400, while, in the case of reference data, values on the samejoint device 100 outputted by each ofagents 400 may differ. To eliminate the room of collision according to the above, the sharedmemory 300 may include motion owner information. - And, as shown in
FIG. 5 , the relationship between the motion owner and the reference data may be described in data exchange between thedevice control module 200 and theagents 400 according to an embodiment of the present invention. - As shown in
FIG. 5 , amemory area 350 by theagents 400 may be included at the hardware abstraction data area of the sharedmemory 300 where the reference data can be updated by each ofagents 400. - Accordingly, each of
agents 400 may update references calculated by oneself into a memory space area of oneself. - Here, each of
agents 400 may operate and update reference data corresponding to each ofdevices 100. For example, in case that thejoint devices 100 exist total 31 units as J1-J31, reference data area corresponding to the each ofjoint device 100 may be included at memory space area by each ofagents 400. - At the same time, the shared
memory 300 may include a motion owner variable for each of thejoint devices 100. Therefore, motion owner variables of the same number as that of thejoint devices 100 may be included at each of motion owner variable space. - And, each of motion owner variables may represent one agent having authority on a
joint device 100 among a pre-set plurality ofagents 400. Accordingly, thedevice control module 200 may judge at whichagent 400 the control right for the correspondingjoint device 100 is dependent. - And, the control right on each of the
joint devices 100 may be transferred to anotheragent 400 ordevice control module 200 according to change of the motion owner variable. - For the above, the
device control module 200 may firstly identify anagent 400 having control right of a specificjoint device 100 from the motion owner variable. And, thedevice control module 200 may collect the reference data of the identifiedagent 400 and may couple the collected reference data to generate the whole reference data for the wholejoint devices 100 constructed integrally. - And, the
device control module 200 may generate control signals for each ofdevices 100 using the whole reference data to transfer it properly. - And after reviewing whether existing, the value of corresponding joint reference may be read, and by doing so, the references of the joint of the whole robot constructed as only one set integrally are constructed, which may be transferred to the robot device and may be driven.
- Through the data exchange method as described above, each joints of the robot can be controlled without collision at
different agents 400. For example, when the lower body joints are controlled through an algorithm for posture stabilization of low body at oneagent 400, while a specific task motion of upper body is generated at anotheragent 400, an entire body task of robot may be performed by integrating the results of twoagents 400. This may enable an efficient control suitable for property of multi-agent system of the robot. -
FIG. 6 is a block diagram for explaining a device control module according to an embodiment of the present invention. - Referring to
FIG. 6 , thedevice control module 200 may include amotion selector 210, a controllersignal accumulating unit 220, asignal coupling unit 230, and aninformation handler 240. - According to an embodiment of the present invention, the reference data for the joint may include two or more reference signals for joint motion control and detailed control. Accordingly, the
agent 400 corresponding to each ofjoint devices 100 may generate two or more reference signals as reference data to store into the sharedmemory 300. - And, as shown in
FIG. 6 , the reference signals may be called as motion reference and controller reference. The motion reference may include reference data providing dominant value to each of joints, while the controller reference may include detailed reference data microscopically increased or decreased to the motion reference. However, the references in embodiments of the present invention is not limited to the designation thereof. - Accordingly, motion reference output data (M1∼Mm) and controller reference (M1∼Mm) may be inputted from the shared
memory 300 to thedevice control module 200. - And, the motion reference may be selected as one per one
joint device 100, but the controller reference may be accumulated all with addition and subtraction. - For the above, the
motion selector 210 may select motion reference data corresponding to each ofjoint devices 100 from the motion reference data based on the motion owner variable information and may output the same to thesignal coupling unit 230. Therefore, one motion reference data may be selected at onejoint device 100. - And, the controller
signal accumulating unit 220 may accumulate each of controller reference data regardless of the motion owner variable to output the result value to signalcoupling unit 230. - And, the
signal coupling unit 230 may synthesize the accumulated result value of the motion reference data and the controller reference data, may generate the final reference data byjoint device 100, and may output it to a proper targetjoint device 100. - Here, the
signal coupling unit 230 may identify the type of the reference and may distinguish process spaces according to the reference types. For the above, thesignal coupling unit 230 may include type identification unit and space processing unit. - For example, the reference data may have not only joint operation but also other type such as task process, and accordingly, the type identification unit may identify the task type or whether joint type, and the space processing unit may provide process of other data space each other according to the type.
- As described above, by separating the motion reference and the controller reference, a functional separation can be enabled at process generating the robot motion. For example, when generating motion of biped walking, one
agent 400 may generate a basic walking pattern to generate motion reference, anotheragent 400 may design a damping controller, and further anotheragent 400 may design a controller reducing vibration, and by outputting as controller reference, very easy design and development may be enabled. - On the other hand, the
information handler 240 may integrate sensor data collected fromsensor device 100 or other measurement target devices and may perform function of outputting to the sharedmemory 300. -
FIG. 7 is a flow chart for explaining control operation of the robot controlling system according to another embodiment of the present invention. - In general, when a problem occurs in an actual experiment using a robot, the robot should be driven from the first again. The robot initialization process may be simple in case of mobile platform, while, in case of multi-joint system as in humanoid, or in case that initialization on the ground is difficult to be performed and initialization needs to be performed in midair using crane or the like, the whole initialization process may be very cumbersome and may require a plenty of time.
- Accordingly, as shown in
FIG. 7 , thedevice control module 200 according to an embodiment of the present invention can debug and test the robot again without process of such initialization of the robot. - For the above, firstly the system initialization may be performed (S201), and each of a plurality of
agents 400 having mutual independent processes may be operated (S202). - After then, in case that a specific agent exists where an error is generated (S203), the operation of the agent where the error is generated may be suspended and the
device control module 200 orother agent 400 may change the motion owner variable to another agent (S205). - Accordingly, when a problem occurs while a user tests motion algorithm through the
agents 400, the motion owner may only be turned over to anotheragent 400 ordevice control module 200 and the code for the suspendedagent 400 can be corrected. - And, in case that the prepared code is compiled, and the debugging is finished (S207), the motion owner variable may be switched to the
original agent 400 again (S209). - As described above, a developer may continue experiment after bringing the motion owner. This may accelerate development as a result, and the user may, with further utilizing the above, may enjoy an effect that robot may be experimented in safety by observing the joint reference of the robot continuously at other specific AL to detect the occurrence of collision, and in case of generation of collision, by switching the motion owner.
-
FIG. 8 is a drawing for explaining operation environment of a robot system according to an embodiment of the present invention. - According to an embodiment of the present invention, a robot software may be used in general purpose, for which the software should be able to operate a plurality of variety of robots not only one robot platform. Therefore, there is a need that it should be expandable and adaptable to change in robot hardware and it can be controlled not only by actual robot platform but also by software like robot simulators.
- Accordingly, a
robot controlling system 1000 according to an embodiment of the present invention may build a general-purpose system which can use functions of other useful robot middleware like ROS (Robot Operation System) of U.S.A. or OPRoS (Open Platform for Robotics Services) of Korea. Accordingly, an environment by which a variety of vision solutions or functions managing tasks of robot provided by software on a cloud robot system can be applied to a system of the present invention with ease may be provided. - For the above, when each of
agents 400 of therobot controlling system 1000 may generate a motion, thedevice control module 200 controlling each of therobot devices 100 may be operated to be able to provide a real-time control of the whole system. And, a reference of connection or determination between motions may be suggested or several robots may be managed concurrently by other robot software of upper level. - This may be described in more detail by a hierarchical architecture of the
robot controlling system 1000 described withFIG. 9 . -
FIG. 9 is a drawing showing a hierarchical architecture design of a robot system according to an embodiment of the present invention. - The
robot controlling system 1000 may include a layered structure of each of data process modules to provide an environment by which another general external process as above can access to a plurality of agents according to an embodiment of the present invention or can generate arbitrary agent to operate independently. - And, each of the layered structure may be connected to the
robot controlling system 1000 or may be realized in software or hardware on a real-time operating system (RTOS) where therobot controlling system 1000 is loaded or installed. And, for synchronization of operation period between each of layers, the real-time operating system may provide a global Timer Interrupt to the fourth layer and the second layer. - For example, each of agents of the fourth layer may be implemented as a process of the real-time operating system, which may access to the shared memory, may obtain sensor data, and may store reference data according to thread operation included in the process. And, the device control module of the second layer synchronized to the above may store sensor data of the devices to the shared memory and may generate device control signals according to reference data and motion owner of the shared memory to output to each of devices according to thread operation on the real-time operating system.
- The
robot controlling system 1000 according to an embodiment of the present invention which can be realized on the real-time operating system as described above may be constructed in a hierarchical architecture comprising a first layer comprising one or more control target devices (joints or Sensors) included in a robot platform or a simulator; a second layer comprising a device control module controlling directly the devices at upper level of the first layer; a third layer comprising a shared memory connected to the device control module at upper level of the second layer; a fourth layer comprising one or more agents performing independent processes using the shared memory at upper level of the third layer; and a fifth layer controlling the one or more agents according to user commands at upper level of the fourth layer. - Here, each of communication protocol may be set in advance so that the first to fifth layers can communicate only between layers adjacent mutually. Each of layers can access next layer thereof only through upper or lower layers, by which a stabilized and systematic system can be maintained through a controlled system like above.
- Firstly, each of devices may be included in the first layer. The devices may include low level robot devices which are actual targets of control, wherein, for example, controller of driver, or devices of sensor board or robot simulator may be included.
- And, the
device control module 200 may always reside in the second layer as background to be executed to control the robot. The second layer may be the only layer which can control directly the devices of the robot system. - For example, the device control module of the second layer may transfer the references of joint generated from the shared memory to the robot device, and contrarily, may obtain value of sensor from the device. The second layer may be operated by a real-time thread generated from a real-time operating system (RTOS), wherein the thread of the second layer may have a period synchronized to the control period of motion generation. In case that the device is interlinked to the simulator, the thread of the second layer may be operated with synchronization to time of the simulator. The second layer may have a non-real-time thread which can read in and interpret commands, wherein the non-real-time thread may receive and process other commands at a spare time in the real-time thread.
- Accordingly, the device control module may have a hierarchical architecture which may reside in background of the system to transfer control signals for controlling the devices from the references obtained from the shared memory to the first layer.
- On the other hand, the third layer may include a hardware abstraction data unit and a user-defined data unit as a shared memory layer. As shown in
FIG. 9 , hardware abstraction data described above may be included in the hardware abstraction data unit, wherein the kind of the hardware abstraction data may include sensor data, reference data, motion owner and command information. The device control module of the second layer can be connected only to the shared memory of the third layer. - On the other hand, the user-defined data unit may store temporarily or permanently an agent shared data shared between processes of a plurality of agents existing on the fourth layer and a robot drive data according to user definition.
- And, the fourth layer is a layer to drive processes of each of agents so that a user of an external process may generate a robot motion of one's own or the like, wherein the agent processes may be called specifically as ALs since they are executed mutually independently within the layer as each of grapes in a bunch. The each of agents may read sensor data from the shared memory of the third layer mutually independently to generate motion and may update the joint reference of the generated motion into the shared memory.
- And, the agent processes of the fourth layer may set which AL has the ownership for the reference of the corresponding joint to the motion owner.
- And, each of agents may generate a rapid real-time thread of very short period from the real-time operating system (RTOS), wherein the rapid thread may be used in synchronization of a motion generation thread of each of agents to the above-mentioned real-time thread of the device control module of the fourth layer. For example, the thread generating motion may be synchronized real-time with the device control module by the rapid thread, by which an operation may be Resumed at the same time of synchronization, while may be Suspended after sequencing loop of reference operation once. The control of the
robot controlling system 1000 may be implemented by repeatedly and continual occurrence of this operation. - Here, not all the agents generate directly the motion of the robot, but there may be an agent taking the motion owner from other agent when sensing collision to make the robot safe and there may be an agent which can perform a subordinate process helping other agents, can be implemented as a communication module (comm. module) to send and receive information with the fifth layer to do a role to control other agents (agent N in
FIG. 9 ). - On the other hand, the fifth layer may include a user interface module providing functions of control corresponding to the agents and of monitoring on the
robot controlling system 1000. - Accordingly, the fifth layer may include a variety of processes for providing convenience in controlling the robot. For example, a GUI (Graphic User Interface) for easy command or monitoring or logging program storing data may be included in the fifth layer.
- And, the fifth layer may provide one or more interface functions that robot middleware like conventional ROS and OPRoS may control agents, which is an accessible area of external process.
- And, there may exist other robot controlling system of upper level which may control the
robot controlling system 1000 of lower level through the fifth layer. Accordingly, therobot controlling system 1000 may include a structure which can expend infinitely through the fifth layer, through which a structural possibility controlling a hyper multi-agent system may be provided. - On the other hand, the system and the methods according to the present invention described above may be produced as a program for execution on a computer and stored in a recording medium readable by a computer, wherein examples of recording medium readable by the computer may include ROM, RAM, CD-ROM, magnetic tape, floppy disk, light data storage apparatus and the like, to which something realized in a form of carrier wave (for example, transmission through internet) may be included.
- The recording medium readable by the computer may be distributed in a computer system connected by network and the code readable by the computer may be stored and executed in a distributive way. And, the functional (function) program, code and code segments to realize the method may be inferred by programmers of the technical field where the present invention pertains with ease.
- And, even though some desirable embodiments of the present invention have been described above, the present invention may not be limited to the above-mentioned specific embodiments, but also of course a variety of modified realization may be possible by a person having an ordinary knowledge in the technical field where the present invention pertains without escaping from the gist of the present invention written in claim, and these modified implements should not be appreciated as separate from the technical idea or perspective of the present invention.
Claims (13)
- A real-time device controlling system having a hierarchical architecture comprising:a first layer comprising one or more control target devices;a second layer comprising a device control module controlling directly the devices at upper level of the first layer;a third layer comprising a shared memory connected to the device control module at upper level of the second layer;a fourth layer comprising one or more agents performing independent processes using the shared memory at upper level of the third layer; anda fifth layer controlling the one or more agents according to user commands at upper level of the fourth layer.
- The real-time device controlling system having a hierarchical architecture according to claim 1, wherein
the first to fifth layers can communicate to layers adjacent mutually. - The real-time device controlling system having a hierarchical architecture according to claim 1, wherein
the device control module of the second layer residing in background of the system to transfer control signals for controlling the devices from reference obtained from the shared memory to the first layer. - The real-time device controlling system having a hierarchical architecture according to claim 3, wherein
the device control module being a module generating a real-time thread having a control period synchronized to the one or more agents on an operating system connected to the device controlling system. - The real-time device controlling system having a hierarchical architecture according to claim 1, wherein
the shared memory comprising
a hardware abstraction data unit storing information for operation of the device control module of the second layer; and
a user-defined data unit storing agent shared data shared among the agents of the fourth layer. - The real-time device controlling system having a hierarchical architecture according to claim 1, wherein
the agents of the fourth layer generating a real-time thread on a real-time operating system connected each to the system; and
an operation period of the real-time thread being synchronized to the device control module. - The real-time device controlling system having a hierarchical architecture according to claim 1, wherein
the fifth layer comprising a user interface module providing control and monitoring function corresponding to the agents. - A real-time robot controlling system comprising
one or more control target devices corresponding to a joint or a sensor of a robot; and
a control system connected to the one or more control target devices to operate the devices, wherein
the control system comprising a first layer comprising the one or more control target devices; a second layer comprising a device control module controlling directly the devices at upper layer of the first layer; a third layer comprising a shared memory connected to the device control module at upper layer of the second layer; a fourth layer comprising one or more agents performing independent processes using the shared memory at upper layer of the third layer; and a fifth layer controlling the one or more agents according to user commands at upper layer of the fourth layer, to operate the one or more devices using communication between the layers mutually adjacent to each other. - The real-time robot controlling system according to claim 8, wherein
the device control module of the second layer residing in background of the system to transfer control signals for controlling the devices from reference obtained from the shared memory to the first layer. - The real-time robot controlling system according to claim 9, wherein
the device control module being a module generating a real-time thread having a control period synchronized to the one or more agents on an operating system connected to the robot controlling system. - The real-time robot controlling system according to claim 8, wherein
the shared memory comprising
a hardware abstraction data unit storing information for operation of the device control module of the second layer; and
a user-defined data unit storing agent shared data shared among agents of the fourth layer. - The real-time robot controlling system according to claim 8, wherein
the agents of the fourth layer generating a real-time thread on a real-time operating system connected to the system each, and
an operation period of the real-time thread being synchronized to the device control module. - The real-time robot controlling system according to claim 8, wherein
the fifth layer comprising a user interface module providing a control and monitoring function corresponding to the agents.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562221215P | 2015-09-21 | 2015-09-21 | |
KR1020160020776A KR102235168B1 (en) | 2015-09-21 | 2016-02-22 | A realtime device control system having hierarchical architecture and a realtime robot control system |
PCT/KR2016/008037 WO2017052060A1 (en) | 2015-09-21 | 2016-07-22 | Real-time device control system having hierarchical architecture and real-time robot control system using same |
Publications (2)
Publication Number | Publication Date |
---|---|
EP3354416A1 true EP3354416A1 (en) | 2018-08-01 |
EP3354416A4 EP3354416A4 (en) | 2019-05-29 |
Family
ID=58498109
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP16848785.8A Withdrawn EP3354415A4 (en) | 2015-09-21 | 2016-07-22 | Real-time control system, real-time control device and system control method |
EP16848787.4A Withdrawn EP3354417A4 (en) | 2015-09-21 | 2016-07-22 | Gpos-connected real-time robot control system and real-time device control system using same |
EP16848786.6A Withdrawn EP3354416A4 (en) | 2015-09-21 | 2016-07-22 | Real-time device control system having hierarchical architecture and real-time robot control system using same |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP16848785.8A Withdrawn EP3354415A4 (en) | 2015-09-21 | 2016-07-22 | Real-time control system, real-time control device and system control method |
EP16848787.4A Withdrawn EP3354417A4 (en) | 2015-09-21 | 2016-07-22 | Gpos-connected real-time robot control system and real-time device control system using same |
Country Status (5)
Country | Link |
---|---|
US (3) | US10857672B2 (en) |
EP (3) | EP3354415A4 (en) |
JP (3) | JP6836585B2 (en) |
KR (4) | KR102235166B1 (en) |
CN (3) | CN108025436B (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3812855B1 (en) * | 2018-06-22 | 2024-01-17 | Soft Servo Systems, Inc. | Motion control program, motion control method, and motion control device |
Families Citing this family (35)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106737686A (en) * | 2017-01-18 | 2017-05-31 | 成都黑盒子电子技术有限公司 | A kind of robot interaction content extended method and system |
CN107584491B (en) * | 2017-09-29 | 2020-03-24 | 深圳市盛路物联通讯技术有限公司 | Robot movement control method and device based on direction-finding antenna |
KR102370493B1 (en) | 2017-10-30 | 2022-03-04 | 현대자동차주식회사 | System and method for sharing mobility using robot |
JP6969447B2 (en) * | 2018-03-05 | 2021-11-24 | 日本電産株式会社 | Robotic controller, record creation method and program |
WO2019178144A1 (en) * | 2018-03-12 | 2019-09-19 | Creator, Inc. | Control system architecture and distributed human-machine interface for robot control |
US10678228B2 (en) * | 2018-04-04 | 2020-06-09 | Invia Robotics, Inc. | Autonomous robots performing concerted operation based on shared sensory access and holistic flow of information |
US11300939B2 (en) * | 2018-06-22 | 2022-04-12 | Soft Servo Systems, Inc. | Motion control program, motion control method, and motion control device |
IL279689B (en) | 2018-06-22 | 2022-09-01 | Soft Servo Systems Inc | Motion control program, motion control method, and motion control device |
US11325263B2 (en) * | 2018-06-29 | 2022-05-10 | Teradyne, Inc. | System and method for real-time robotic control |
US10848160B2 (en) * | 2018-07-10 | 2020-11-24 | Aerotech, Inc. | Devices, systems, and methods for reducing jitter in control systems |
CN112423950B (en) * | 2018-08-10 | 2024-06-14 | 川崎重工业株式会社 | Mediating apparatus and mediating method |
US10949800B2 (en) * | 2018-12-21 | 2021-03-16 | Invia Robotics, Inc. | Partitioning and coalescing operation of robots for coordinated autonomous execution |
JP7303132B2 (en) * | 2019-01-10 | 2023-07-04 | モベンシス株式会社 | Motion control program, motion control method and motion control device |
JP7303061B2 (en) * | 2019-01-10 | 2023-07-04 | モベンシス株式会社 | Motion control program, motion control method and motion control device |
JP7303131B2 (en) * | 2019-01-23 | 2023-07-04 | モベンシス株式会社 | Motion control program, motion control method and motion control device |
JP7417356B2 (en) * | 2019-01-25 | 2024-01-18 | 株式会社ソニー・インタラクティブエンタテインメント | robot control system |
WO2020179660A1 (en) * | 2019-03-01 | 2020-09-10 | 日本電気株式会社 | Control device, control system, network system, control method, and computer-readable medium |
CN110008267B (en) * | 2019-03-12 | 2022-06-14 | 北京国电智深控制技术有限公司 | Data processing system and method |
CN111745636B (en) * | 2019-05-15 | 2022-01-07 | 北京京东乾石科技有限公司 | Robot control method and control system, storage medium, and electronic device |
CN110297471B (en) * | 2019-06-24 | 2021-10-01 | 佛山智异科技开发有限公司 | Industrial robot experimental data acquisition method and device |
CN110497410A (en) * | 2019-08-22 | 2019-11-26 | 苏州浪潮智能科技有限公司 | A kind of robot control system and method |
KR102216824B1 (en) * | 2019-11-04 | 2021-02-18 | (주)로보티즈 | Module and method for actuator linkage in robot system |
JP7444591B2 (en) * | 2019-12-04 | 2024-03-06 | ファナック株式会社 | Control device |
CN111085999B (en) * | 2019-12-18 | 2022-11-15 | 达闼机器人股份有限公司 | Robot control method, device and system and robot controller |
US11498211B2 (en) * | 2019-12-30 | 2022-11-15 | Intrinsic Innovation Llc | Composability framework for robotic control system |
CN111061203A (en) * | 2019-12-31 | 2020-04-24 | 深圳市优必选科技股份有限公司 | Real-time control system of robot and robot |
CN111745651B (en) * | 2020-06-15 | 2022-04-05 | 哈工大机器人(合肥)国际创新研究院 | Intelligent robot operating system structure and operating method thereof |
AU2021360667A1 (en) * | 2020-10-12 | 2023-05-25 | The Johns Hopkins University | Robot watchdog |
CN112757291A (en) * | 2020-12-24 | 2021-05-07 | 北方工业大学 | Underwater facility surface climbing robot communication system and control method thereof |
CN112936276B (en) * | 2021-02-05 | 2023-07-18 | 华南理工大学 | Multi-stage control device and method for joint of humanoid robot based on ROS system |
US20220347846A1 (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 |
US11992948B2 (en) * | 2021-04-30 | 2024-05-28 | Intrinsic Innovation Llc | Real-time robotics control framework |
CN114932961B (en) * | 2022-06-15 | 2023-10-10 | 中电海康集团有限公司 | Motion control system of four-foot robot |
KR20240011342A (en) * | 2022-07-19 | 2024-01-26 | 코가로보틱스 주식회사 | Apparatus and method of data processing for robot control |
Family Cites Families (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61117605A (en) * | 1984-11-14 | 1986-06-05 | Hitachi Ltd | Robot control method |
JPS63289607A (en) * | 1987-05-21 | 1988-11-28 | Toshiba Corp | Inter-module communication control system for intelligent robot |
US5047700A (en) * | 1988-03-23 | 1991-09-10 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Universal computer control system for motors |
US5038089A (en) * | 1988-03-23 | 1991-08-06 | The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration | Synchronized computational architecture for generalized bilateral control of robot arms |
JPH0538689A (en) * | 1991-07-29 | 1993-02-19 | Toshiba Corp | Dispersive control system of multi-joint robot |
JP3832517B2 (en) * | 1996-07-05 | 2006-10-11 | セイコーエプソン株式会社 | Robot controller and control method thereof |
JP3269003B2 (en) | 1997-05-12 | 2002-03-25 | 川崎重工業株式会社 | Robot controller |
US6418478B1 (en) * | 1997-10-30 | 2002-07-09 | Commvault Systems, Inc. | Pipelined high speed data transfer mechanism |
JP4402797B2 (en) * | 2000-03-02 | 2010-01-20 | 株式会社日立製作所 | Information processing device |
JP3486774B2 (en) * | 2000-03-13 | 2004-01-13 | 住友重機械工業株式会社 | Multi-axis control system |
JP2002187082A (en) * | 2000-10-11 | 2002-07-02 | Sony Corp | System and method for controlling robot |
US6442451B1 (en) * | 2000-12-28 | 2002-08-27 | Robotic Workspace Technologies, Inc. | Versatile robot control system |
JP3826004B2 (en) * | 2001-10-04 | 2006-09-27 | オークマ株式会社 | Numerical control apparatus and control method |
JP3577028B2 (en) * | 2001-11-07 | 2004-10-13 | 川崎重工業株式会社 | Robot cooperative control system |
KR100454714B1 (en) | 2002-02-16 | 2004-11-05 | 한국과학기술연구원 | Working robot, actuator therefor and control method therefor |
KR100520779B1 (en) * | 2003-01-09 | 2005-10-12 | 삼성중공업 주식회사 | Multi joints position control device uning fpga |
JP3920818B2 (en) | 2003-07-22 | 2007-05-30 | 株式会社東芝 | Scheduling method and information processing system |
JP4661074B2 (en) | 2004-04-07 | 2011-03-30 | ソニー株式会社 | Information processing system, information processing method, and robot apparatus |
US20060010446A1 (en) | 2004-07-06 | 2006-01-12 | Desai Rajiv S | Method and system for concurrent execution of multiple kernels |
JP2006146758A (en) * | 2004-11-24 | 2006-06-08 | Matsushita Electric Ind Co Ltd | Computer system |
US7908020B2 (en) * | 2004-12-24 | 2011-03-15 | Donald Pieronek | Architecture for control systems |
JP2006255797A (en) * | 2005-03-15 | 2006-09-28 | Sanyo Electric Co Ltd | Robot device |
JP2007011978A (en) * | 2005-07-04 | 2007-01-18 | Toyota Motor Corp | Motion controller for robot |
KR20070075957A (en) * | 2006-01-17 | 2007-07-24 | 주식회사 로보스타 | Robot control system for multi tasking based task |
US20080027580A1 (en) * | 2006-07-28 | 2008-01-31 | Hui Zhang | Robot programming method and apparatus with both vision and force |
KR100896705B1 (en) * | 2007-02-06 | 2009-05-14 | 한국과학기술연구원 | A Component-Based Task Management System for Intelligent Task Management of Intelligent Robots |
KR100906121B1 (en) | 2007-10-25 | 2009-07-07 | 강원대학교산학협력단 | Layer structure for module-based intellectual robot-system comprising various interfaces and structure method thereof |
WO2009089914A1 (en) * | 2008-01-18 | 2009-07-23 | Abb Technology Ab | A control system for controlling an industrial robot |
CA2719494C (en) | 2008-04-02 | 2015-12-01 | Irobot Corporation | Robotics systems |
CN101826032B (en) * | 2009-03-06 | 2013-07-31 | 盈威力新能源科技(上海)有限公司 | High-efficiency real-time multi-task operating system kernel |
IL203642A (en) * | 2010-02-01 | 2014-01-30 | Yesaiahu Redler | Apparatus and method for optimizinmg current use during control of multiple motors and a projectile device containing the same |
US8364314B2 (en) | 2009-04-30 | 2013-01-29 | GM Global Technology Operations LLC | Method and apparatus for automatic control of a humanoid robot |
KR101234204B1 (en) * | 2010-08-11 | 2013-02-18 | 한국과학기술원 | Real-time monitoring method for distributed robot control with high reliability |
JP5582992B2 (en) * | 2010-12-13 | 2014-09-03 | 川崎重工業株式会社 | Robot teaching data calculation method and robot controller |
KR101809973B1 (en) * | 2011-01-24 | 2017-12-19 | 삼성전자주식회사 | Robot controlling system and method for controlling robot |
JP5613114B2 (en) * | 2011-06-29 | 2014-10-22 | 本田技研工業株式会社 | Distributed control system |
DE102011107169A1 (en) * | 2011-07-13 | 2013-01-17 | Kuka Roboter Gmbh | Control of a robot |
EP2575002B1 (en) * | 2011-09-28 | 2018-02-21 | Siemens Aktiengesellschaft | Method and virtualisation software for producing independent time sources for virtual runtime environments |
KR101337650B1 (en) * | 2011-11-02 | 2013-12-05 | 삼성중공업 주식회사 | Realtime weaving motion control device and realtime weaving motion control method |
KR101275020B1 (en) | 2011-11-18 | 2013-06-17 | 한국생산기술연구원 | Providing system of mass collaboration space for robot development platform using communication network |
KR101399588B1 (en) * | 2012-03-29 | 2014-05-27 | 주식회사 엔티리서치 | Surgical operation Robot |
JP5943676B2 (en) * | 2012-03-30 | 2016-07-05 | 株式会社デンソーウェーブ | Robot control system and encoder system |
US9461471B2 (en) * | 2012-06-20 | 2016-10-04 | Causam Energy, Inc | System and methods for actively managing electric power over an electric power grid and providing revenue grade date usable for settlement |
JP2014027595A (en) * | 2012-07-30 | 2014-02-06 | Yamaha Corp | Acoustic signal processing method and audio signal processing system |
US20150254123A1 (en) * | 2012-10-01 | 2015-09-10 | Abb Technology Ltd | Symmetric Multi-Processor Arrangement, Safety Critical System, And Method Therefor |
US9527211B2 (en) * | 2013-05-10 | 2016-12-27 | Cnh Industrial America Llc | Control architecture for multi-robot system |
KR101491622B1 (en) * | 2014-02-17 | 2015-02-11 | 연세대학교 산학협력단 | Apparatus and method for driving control of self-driving vehicle |
US20160019105A1 (en) * | 2014-07-16 | 2016-01-21 | Machiko MIKAMI | Computer embedded apparatus, recording medium and computer embedded apparatus test system |
CN110087960B (en) * | 2016-12-21 | 2022-06-17 | 本田技研工业株式会社 | Vehicle control system, vehicle control method, and storage medium |
KR102513185B1 (en) * | 2017-01-12 | 2023-03-23 | 모빌아이 비젼 테크놀로지스 엘티디. | rules-based navigation |
CN110352330B (en) * | 2017-03-07 | 2024-04-19 | 罗伯特·博世有限公司 | Motion planning system and method for autonomous vehicles |
US10513268B2 (en) * | 2017-04-07 | 2019-12-24 | Steering Solutions Ip Holding Corporation | Vehicle safety system |
JP6704890B2 (en) * | 2017-11-08 | 2020-06-03 | 本田技研工業株式会社 | Vehicle control device, vehicle control method, and program |
US10423558B1 (en) * | 2018-08-08 | 2019-09-24 | Apple Inc. | Systems and methods for controlling data on a bus using latency |
-
2016
- 2016-01-19 KR KR1020160006426A patent/KR102235166B1/en active IP Right Grant
- 2016-02-22 KR KR1020160020779A patent/KR102235947B1/en active IP Right Grant
- 2016-02-22 KR KR1020160020775A patent/KR102235167B1/en active IP Right Grant
- 2016-02-22 KR KR1020160020776A patent/KR102235168B1/en active IP Right Grant
- 2016-07-22 JP JP2018514269A patent/JP6836585B2/en active Active
- 2016-07-22 US US15/762,063 patent/US10857672B2/en active Active
- 2016-07-22 EP EP16848785.8A patent/EP3354415A4/en not_active Withdrawn
- 2016-07-22 CN CN201680054794.7A patent/CN108025436B/en active Active
- 2016-07-22 CN CN201680054891.6A patent/CN108136578B/en active Active
- 2016-07-22 US US15/762,060 patent/US11135719B2/en active Active
- 2016-07-22 EP EP16848787.4A patent/EP3354417A4/en not_active Withdrawn
- 2016-07-22 JP JP2018514281A patent/JP6771027B2/en active Active
- 2016-07-22 US US15/762,065 patent/US10864635B2/en active Active
- 2016-07-22 JP JP2018514449A patent/JP6938473B2/en active Active
- 2016-07-22 CN CN201680054786.2A patent/CN108136577B/en active Active
- 2016-07-22 EP EP16848786.6A patent/EP3354416A4/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3812855B1 (en) * | 2018-06-22 | 2024-01-17 | Soft Servo Systems, Inc. | Motion control program, motion control method, and motion control device |
Also Published As
Publication number | Publication date |
---|---|
US10857672B2 (en) | 2020-12-08 |
KR102235167B9 (en) | 2021-09-17 |
JP2018535468A (en) | 2018-11-29 |
EP3354415A1 (en) | 2018-08-01 |
CN108136577B (en) | 2021-10-08 |
US10864635B2 (en) | 2020-12-15 |
US11135719B2 (en) | 2021-10-05 |
JP2018530443A (en) | 2018-10-18 |
KR102235167B1 (en) | 2021-04-02 |
EP3354415A4 (en) | 2019-08-21 |
CN108136578A (en) | 2018-06-08 |
KR102235166B1 (en) | 2021-04-02 |
CN108136578B (en) | 2021-08-20 |
EP3354417A1 (en) | 2018-08-01 |
CN108025436A (en) | 2018-05-11 |
JP2018527680A (en) | 2018-09-20 |
KR102235947B1 (en) | 2021-04-05 |
KR20170034755A (en) | 2017-03-29 |
EP3354416A4 (en) | 2019-05-29 |
CN108136577A (en) | 2018-06-08 |
JP6836585B2 (en) | 2021-03-03 |
KR20170034752A (en) | 2017-03-29 |
KR20170034753A (en) | 2017-03-29 |
US20180229367A1 (en) | 2018-08-16 |
KR20170034754A (en) | 2017-03-29 |
US20180281187A1 (en) | 2018-10-04 |
KR102235168B1 (en) | 2021-04-02 |
CN108025436B (en) | 2021-08-03 |
US20180281195A1 (en) | 2018-10-04 |
JP6938473B2 (en) | 2021-09-22 |
JP6771027B2 (en) | 2020-10-21 |
EP3354417A4 (en) | 2019-07-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10857672B2 (en) | Real-time device control system having hierarchical architecture and realtime robot control system using same | |
Soriano et al. | Low Cost Platform for Automatic Control Education Based on Open Hardware. | |
Hentout et al. | A survey of development frameworks for robotics | |
WO2017052060A1 (en) | Real-time device control system having hierarchical architecture and real-time robot control system using same | |
Nestinger et al. | Mobile-R: A reconfigurable cooperative control platform for rapid deployment of multi-robot systems | |
CN115816459A (en) | Robot control method, device, computer equipment, storage medium and product | |
Yang et al. | An open CNC controller based on LabVIEW software | |
Yasuda | Discrete event behavior-based distributed architecture design for autonomous intelligent control of mobile robots with embedded petri nets | |
Magnenat et al. | Scripting the swarm: event-based control of microcontroller-based robots. | |
Loffler et al. | Object-oriented techniques in robot manipulator control software development | |
Davis et al. | An augmented reality architecture for the creation of hardware-in-the-loop & hybrid simulation test scenarios for unmanned underwater vehicles | |
KR20240083288A (en) | Motion control system using core engine for robot control | |
Hale et al. | Control of mobile robots in unstructured environments using discrete event modeling | |
Yogi et al. | Commercial-off-the-shelf (COTS) solution for Robot Sensing and Control | |
Muecke et al. | A distributed, heterogeneous, target-optimized operating system for a multi-robot search and rescue application | |
Choi et al. | Issues in software architectures for intelligent underwater robots | |
Domínguez-Brito et al. | Coolbot: A component model and software infrastructure for robotics | |
Bruzzone et al. | Execution control and reconfiguration of navigation, guidance and control tasks for UUVs | |
Andrade et al. | Rehabilitating a Nomad SuperScout Robot | |
Chen et al. | Developing real time applications with Java based Sun SPOT | |
Melo et al. | Integration scheme for modular snake robot software components | |
Fernández-Pérez et al. | Programming by integration in robotics | |
Tu | Felix, A Rich Learning Experience in Mobile Robotics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20180419 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) | ||
A4 | Supplementary search report drawn up and despatched |
Effective date: 20190429 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G05B 19/042 20060101ALI20190423BHEP Ipc: B25J 19/02 20060101ALI20190423BHEP Ipc: B25J 9/00 20060101ALI20190423BHEP Ipc: G06F 9/54 20060101ALI20190423BHEP Ipc: B25J 9/16 20060101AFI20190423BHEP Ipc: B25J 9/02 20060101ALI20190423BHEP Ipc: G05B 19/02 20060101ALI20190423BHEP |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20210527 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWN |
|
18D | Application deemed to be withdrawn |
Effective date: 20211207 |