WO2014110748A1 - Motion controller and robot control system using the same - Google Patents

Motion controller and robot control system using the same Download PDF

Info

Publication number
WO2014110748A1
WO2014110748A1 PCT/CN2013/070581 CN2013070581W WO2014110748A1 WO 2014110748 A1 WO2014110748 A1 WO 2014110748A1 CN 2013070581 W CN2013070581 W CN 2013070581W WO 2014110748 A1 WO2014110748 A1 WO 2014110748A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
robot
motion controller
piece
function
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.)
Ceased
Application number
PCT/CN2013/070581
Other languages
French (fr)
Inventor
Said Zahrai
Feihong Zhang
Yicheng Zhang
Chengping SU
Bojun MA
Chao Yang
Hui Zhang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ABB Technology AG
Original Assignee
ABB Technology AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ABB Technology AG filed Critical ABB Technology AG
Priority to PCT/CN2013/070581 priority Critical patent/WO2014110748A1/en
Priority to EP13871913.3A priority patent/EP2946253A4/en
Priority to CN201380069454.8A priority patent/CN104903800A/en
Publication of WO2014110748A1 publication Critical patent/WO2014110748A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Program-controlled manipulators
    • B25J9/16Program controls
    • B25J9/1602Program controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Program-control systems
    • G05B19/02Program-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of program data in numerical form
    • G05B19/414Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller
    • G05B19/4148Structure of the control system, e.g. common controller or multiprocessor systems, interface to servo, programmable interface controller characterised by using several processors for different functions, distributed (real-time) systems
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33076Optimize time by parallel execution of independent blocks by two processors
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33104Tasks, functions are distributed over different cpu
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/33Director till display
    • G05B2219/33116Configuration of motion control
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34208Motion controller
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34287Plc and motion controller combined
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/34Director, elements to supervisory
    • G05B2219/34403RTI real time, kernel, processing
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/40Robotics, robotics mapping to robotics vision
    • G05B2219/40498Architecture, integration of planner and motion controller

Definitions

  • the invention relates to the field of motion controller and a robot control system using the same, and more particularly to a motion controller implemented using a programmable logic and the robot control system using the same.
  • FIG. 1A illustrates architecture of a motion controller for a robot.
  • the motion controller 1 includes a processor 10 with only one computing unit that reads and executes program instructions.
  • the program instructions executed by the one computing unit of the processor 10 have at least two functions as logic control 100 and motion control 101.
  • the process or motion control 101 carries out function of path planning
  • the logic control 100 carries out function for responding to external signals, at least to the most important ones, like safety signals. There may be a conflict between the logic control 100 and the motion control 101 for their execution by the one computing unit of the processor 10.
  • Figure IB presents the structure of a standard single axis drive of a conventional robot system. On the left side of the isolation, the low power parts are located and on the right side, the high power components.
  • motor drive is an important component in the robot control system, such technology has been adapted and there are integrated chips, DSPs or CPUs together with other functions like AD converters, providing necessary solutions. The situation becomes more complex for multi-axes drives, where more computation power and larger number of interfaces is needed.
  • the motion controller includes: an information sharing means, being adapted for sharing data representing at least one piece of information; a plurality of function modules, being adapted for exchanging the information between at least two of them by accessing the data through the information sharing means and respectively carrying out a plurality of functions in parallel based on the exchanged information; wherein: the function module receiving the exchanged information is adapted to carry out the function based on the received exchanged information independently of the functions that are simultaneously carried out by the other function modules; the plurality of function modules share at least one processor or programmable logic having a multiple of computing units; and the plurality of function modules are respectively implemented by means of the computing units of the processor or on the programmable logic.
  • the control system further includes external the external detector adapted for detecting the robot system status, the drive unit, and the robot having the motor, being adapted for being driven by the drive unit.
  • Figure 1 A illustrates architecture of a motion controller for a robot
  • Figure 1 B presents the structure of a standard single axis drive of a conventional robot system
  • Figure 3 A illustrates a motion controller according to another embodiment of present invention
  • Figure 3B illustrates a motion controller according to another embodiment of present invention.
  • Figure 4 shows a schematic diagram representing a robot control system according to another embodiment of present invention.
  • FIGS 2A and 2B illustrate a motion controller according to an embodiment of present invention.
  • a motion controller 2 includes a programmable logic 20.
  • the programmable logic may be a field-programmable gate array (FPGA) or application-specific integrated circuit (ASIC).
  • FPGA and ASIC provide similar things except that ASIC is more powerful and larger than FPGA, but its development is more expensive and cannot be reprogrammed.
  • the programmable logic 20 has a multiple of computing units, for example two computing units 200, 203 as shown in figure 2A, or four computing units 200, 201 , 202, 203 as shown in 2B.
  • the computing unit is a unit of logic for carrying out a function and is used as building block within the programmable logic 20.
  • Computing unit is a well-defined part of the system that makes use of dedicated resources to provide necessary computation independently and during a well-defined period of time.
  • CPU central processing unit
  • programmable logic it can be one or a combination of several soft processors or IP-cores.
  • the computing units 200, 201, 202, 203 are predefined for implementation of a plurality of function modules 204, 205, 206, 207, for example the function module 205 is of motion control for controlling the motions of the electrical motors of a first robot, the function module 206 is of motion control for controlling the motions of the electrical motors of a second robot, the function module 207 is of motion control for controlling the motions of the electrical motors of a third robot, and the function module 204 is of logic control for robot status and based on the a new robot status information controlling the functions of the motion control module 205 as shown in figure 2A or the motion control modules 205, 206, 207 as shown in figure 2B.
  • the function module 205 is of motion control for controlling the motions of the electrical motors of a first robot
  • the function module 206 is of motion control for controlling the motions of the electrical motors of a second robot
  • the function module 207 is of motion control for controlling the motions of the electrical motors of a third robot
  • the predefined computing units 200, 201 , 202, 203 are available either from programmable logic vendors or from developers themselves. For example, either the vendor or the developer can use a PC for programming instructions implementing the function modules 204, 205, 206, 207 and download the program instructions from the PC and wire each of the computing units 200, 201, 202, 203 respectively.
  • the computing units 200, 201 , 202, 203 of the programmable logic 2 are predefined by programming before it starts to operate.
  • the number of computing units is determined according to the user's requirements, for example the number of functions it is desired to perform.
  • computing units 200, 201 as shown in figure 2 A or the computing units 200, 201, 202, 203 as shown in figure 2B being partitioned on the programmable logic 20, the function modules 204, 205 as shown in figure 2A or the function modules 204, 205,
  • the motion controller 2 further includes an information sharing means 21 for sharing data representing at least one piece of information to be exchanged by any two of the function modules 204, 205, 206,
  • the function modules 204, 205, 206, 207 can access through the infonnation sharing means 21 the data and respectively carry out functions in parallel based on the exchanged information.
  • An alternative approach is to use a processor with a multiple of computing units as substitution of the programmable logic.
  • the information sharing means 21 may be a memory shared among the function modules 204, 205, 206, 207.
  • the memory may be external to the programmable chip 20 or be on-chip memory and if necessary, logic blocks of the programmable chip 20 may be used for implementation of information sharing means 21.
  • External memory compares favourably with on-chip memory in larger volume and lower cost. But, external memory is slower in response than on-chip memory.
  • the programmable chip 20 and the memory 21 communicate with each other through bus.

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

A motion controller and a robot control system using the same are provided. The motion controller (2) includes: an information sharing means (21), being adapted for sharing data representing at least one piece of information; a plurality of function modules (204, 205, 206, 207), being adapted for exchanging the information between at least two of them by accessing the data through the information sharing means (21) and respectively carrying out a plurality of functions in parallel based on the exchanged information; wherein: the function module receiving the exchanged information is adapted to carry out the function based on the received exchanged information independently of the functions that are simultaneously carried out by the other function modules (204, 205, 206, 207); the plurality of function modules (204, 205, 206, 207) share at least one processor or programmable logic (20) having a multiple of computing units (200, 201, 202, 203); and the plurality of function modules (204, 205, 206,.207) are respectively implemented by means of the computing units (200, 201, 202, 203) of the processor or on the programmable logic (20). This causes at least one of the disadvantages as below: a relatively low degree of real-time behavior of the motion controller due to lack of parallel processing of data; a relatively high degree of difficulty in integration of new program instructions in the processor of the motion controller; the computing power of the processor of the motion controller is fixed and is not scalable; and the computing power of the processor of the motion controller cannot be used to its maximum.

Description

Motion Controller and Robot Control System Using the Same
Technical Field
The invention relates to the field of motion controller and a robot control system using the same, and more particularly to a motion controller implemented using a programmable logic and the robot control system using the same.
Background Art
In a traditional motion controller, a processing unit is responsible for both the process control and logic control. Figure 1A illustrates architecture of a motion controller for a robot. As shown in figure 1, the motion controller 1 includes a processor 10 with only one computing unit that reads and executes program instructions. For example, the program instructions executed by the one computing unit of the processor 10 have at least two functions as logic control 100 and motion control 101. For example, the process or motion control 101 carries out function of path planning, and the logic control 100 carries out function for responding to external signals, at least to the most important ones, like safety signals. There may be a conflict between the logic control 100 and the motion control 101 for their execution by the one computing unit of the processor 10. As a result, either the processor must have such a computing power so that in the worst possible case, no signal is missed, or, the computing heavy parts must be done in advance. The drawback of such a solution is insufficient responsiveness to external signals. Figure IB presents the structure of a standard single axis drive of a conventional robot system. On the left side of the isolation, the low power parts are located and on the right side, the high power components. As motor drive is an important component in the robot control system, such technology has been adapted and there are integrated chips, DSPs or CPUs together with other functions like AD converters, providing necessary solutions. The situation becomes more complex for multi-axes drives, where more computation power and larger number of interfaces is needed.
This causes at least one of the disadvantages as below:
1. a relatively low degree of real-time behaviour of the motion controller due to lack of parallel processing of data;
2. a relatively high degree of difficulty in integration of new program instructions in the processor of the motion controller;
3. the computing power of the processor of the motion controller is fixed and is not scalable; and
4. the computing power of the processor of the motion controller cannot be used to its maximum. Brief Summary of the Invention
It is therefore an objective of the invention to provide a motion controller and a robot control system using the same. The motion controller includes: an information sharing means, being adapted for sharing data representing at least one piece of information; a plurality of function modules, being adapted for exchanging the information between at least two of them by accessing the data through the information sharing means and respectively carrying out a plurality of functions in parallel based on the exchanged information; wherein: the function module receiving the exchanged information is adapted to carry out the function based on the received exchanged information independently of the functions that are simultaneously carried out by the other function modules; the plurality of function modules share at least one processor or programmable logic having a multiple of computing units; and the plurality of function modules are respectively implemented by means of the computing units of the processor or on the programmable logic.
The control system further includes external the external detector adapted for detecting the robot system status, the drive unit, and the robot having the motor, being adapted for being driven by the drive unit.
By having the configuration of the motion controller as above, it brings about at least one of the technical advantages below:
1. a excellent real time behaviour of the motion controller because of its computing units' computing power in parallel;
2. an ease of integration of a function module because of their program instructions being executed independently;
3. scalable architecture for the motion controller in terms of the number of computing units; and
4. an effective usage of the programmable logic/processor, because their computing power could be used to its maximum.
Brief Description of the Drawings
The subject matter of the invention will be explained in more detail in the following text with reference to preferred exemplary embodiments which are illustrated in the drawings, in which:
Figure 1 A illustrates architecture of a motion controller for a robot;
Figure 1 B presents the structure of a standard single axis drive of a conventional robot system;
Figures 2A and 2B illustrate a motion controller according to an embodiment of present invention;
Figure 3 A illustrates a motion controller according to another embodiment of present invention;
Figure 3B illustrates a motion controller according to another embodiment of present invention; and
Figure 4 shows a schematic diagram representing a robot control system according to another embodiment of present invention.
The reference symbols used in the drawings, and their meanings, are listed in summary form in the list of reference symbols. In principle, identical parts are provided with the same reference symbols in the figures.
Preferred Embodiments of the Invention
Figures 2A and 2B illustrate a motion controller according to an embodiment of present invention. As shown in figures 2A and 2B, a motion controller 2 includes a programmable logic 20. The programmable logic may be a field-programmable gate array (FPGA) or application-specific integrated circuit (ASIC). Basically, FPGA and ASIC provide similar things except that ASIC is more powerful and larger than FPGA, but its development is more expensive and cannot be reprogrammed. The programmable logic 20 has a multiple of computing units, for example two computing units 200, 203 as shown in figure 2A, or four computing units 200, 201 , 202, 203 as shown in 2B. The computing unit is a unit of logic for carrying out a function and is used as building block within the programmable logic 20. Computing unit is a well-defined part of the system that makes use of dedicated resources to provide necessary computation independently and during a well- defined period of time. For multi-core central processing unit (CPU), it can be one or a combination of several cores together with other available resources; for programmable logic, it can be one or a combination of several soft processors or IP-cores. The computing units 200, 201, 202, 203 are predefined for implementation of a plurality of function modules 204, 205, 206, 207, for example the function module 205 is of motion control for controlling the motions of the electrical motors of a first robot, the function module 206 is of motion control for controlling the motions of the electrical motors of a second robot, the function module 207 is of motion control for controlling the motions of the electrical motors of a third robot, and the function module 204 is of logic control for robot status and based on the a new robot status information controlling the functions of the motion control module 205 as shown in figure 2A or the motion control modules 205, 206, 207 as shown in figure 2B. The predefined computing units 200, 201 , 202, 203 are available either from programmable logic vendors or from developers themselves. For example, either the vendor or the developer can use a PC for programming instructions implementing the function modules 204, 205, 206, 207 and download the program instructions from the PC and wire each of the computing units 200, 201, 202, 203 respectively. Thus, the computing units 200, 201 , 202, 203 of the programmable logic 2 are predefined by programming before it starts to operate. The number of computing units is determined according to the user's requirements, for example the number of functions it is desired to perform.
Due to that the computing units 200, 201 as shown in figure 2 A or the computing units 200, 201, 202, 203 as shown in figure 2B being partitioned on the programmable logic 20, the function modules 204, 205 as shown in figure 2A or the function modules 204, 205,
206, 207 as shown in figure 2B implemented by means thereof can be carried out in parallel. For the purpose of the cooperation of the function modules 204, 205 as shown in figure 2A or the function modules 204, 205, 206, 207 as shown in figure 2B, they need to exchange information based on the function to be carried out. The motion controller 2 further includes an information sharing means 21 for sharing data representing at least one piece of information to be exchanged by any two of the function modules 204, 205, 206,
207. The function modules 204, 205, 206, 207 can access through the infonnation sharing means 21 the data and respectively carry out functions in parallel based on the exchanged information.
An alternative approach is to use a processor with a multiple of computing units as substitution of the programmable logic.
The information sharing means 21 may be a memory shared among the function modules 204, 205, 206, 207. The memory may be external to the programmable chip 20 or be on-chip memory and if necessary, logic blocks of the programmable chip 20 may be used for implementation of information sharing means 21. External memory compares favourably with on-chip memory in larger volume and lower cost. But, external memory is slower in response than on-chip memory. The programmable chip 20 and the memory 21 communicate with each other through bus. By having the configuration of the motion controller as above, it brings about at least one of the technical advantages below:
1 , a excellent real time behaviour of the motion controller because of the ability of its computing units to compute in parallel;
2. an ease of integration of a function module because of their program instructions being run independently;
3. scalable architecture for the motion controller in terms of the number of computing unit; and
4. an effective usage of the programmable logic/processor, because their computing power could be used to its maximum without risks of incomplete execution of instructions.
Figure 3A illustrates a motion controller according to another embodiment of present invention. As shown in figure 3A, a motion controller 3 includes a programmable logic 30. The programmable logic 30 has a multiple of computing units, for example three computing units 300, 301, 302. The computing units are units of logic for carrying out functions and are used as building blocks within the programmable logic 30. The computing units 300, 301, 302 are predefined for implementation of a plurality of function modules 304, 305, 306, for example the function module 305 is providing motion control for controlling the motions of the electrical motors of a first robot, the function module 306 is of an IO control module for communication between the other function modules with an external device, such as an external detector and a drive unit, and the function module 304 is the logic control for robot path planning and based on the planed path controlling the functions the motion control modules 305. The computing units 300, 301, 302 are available either from programmable logic vendors or from developers themselves. For example, either the vendor or the developer can use a PC for programming instructions implementing the function modules 304, 305, 306 and download the program instructions from the PC and wire each of the computing units 300, 301, 302 respectively. Thus, the computing units 300, 301, 302 of the programmable logic are predefined by programming before it starts to operate. The number of computing units is determined according to the operator's requirements, for example the number of functions it is desired to perform.
The motion controller 3 further includes an information sharing means 31 for sharing data representing at least one piece of information to be exchanged by at least two of the function modules 304, 305, 306. The function modules 304, 305, 306 can access through the information sharing means 31 the data and respectively carry out functions in parallel based on the exchanged information. The infomiation may be about a status of a robot system, as well as a robot status, a joint position or a speed of the robot of the robot system, or the reference position, speed and torque that are expected to be reached by the electrical motors of the robot. The logic control module 304 is adapted for carrying out the function of control of the function of the motion control module 305 based on a first piece of the information about a status of a robot system, and setting a new robot status of at least one robot of the robot system and sharing the new robot status information as the second piece of information by the information sharing means 31 ; the robot system status, for example, is about if in the robot system there is an obstacle in the way of a movement of a robot, and the robot status is about the destination position that the robot is expected to reach in consideration of the robot system status; with the variant situations of the robot system status, the desired robot status changes accordingly with respect to the current robot system status and current robot status, to which are referred as new robot system status and new robot status. . The motion control module 305 is adapted for accessing via the information sharing means 31 the second piece of infomiation, and setting at least one series of joint positions for at least one joint of a robot of a robot system based on a combination of the second piece of the information and the robot mechanical characteristics and sharing the joint position information as the third piece of information by the information sharing means 31; the series of joint positions consist of the route where the joint of the robot is supposed to reach at a series of timing; by setting each robot joint position series, path planning for such robot is achieved, and this can be also applied to the other robot operating in the robot system. It may be the motion control module 305 adapted for sending the third piece of information to an external unit, or the logic control module 304 adapted for reading the third piece of information through the information sharing means and sending it to an external unit. The IO control module 306 is adapted for carrying out the function of inputting the first piece of information concerned with a status of the robot system detected by an external detector and sharing the first piece of information by the information sharing means 31 and accessing the third piece of information via the information sharing means 31 and outputting it to an external unit (another motion controller) for the robot of the robot system.
Figure 3B illustrates a motion controller according to another embodiment of present invention. The motion controller 3 as shown in figure 3B shares the parts of the motion controller 3 as shown in figure 3A. As shown in figure 3B, the programmable logic 30 further has a computing unit 303 which is predefined for implementation of function module 307. The function module 307 is for motion control for controlling the motions of the electrical motors of a second robot with a similar mechanism to the motion control module 305. The path planning tasks for different robots in the robot system may be allocated to different motion control modules 305, 307.
Due to that the computing units 300, 301, 302, 303 being partitioned on the programmable logic 30, the function modules 304, 305, 306, 307 implemented by means thereof operate in parallel. For the purpose of the cooperation of the function modules 304, 305, 306, 307, they need to exchange information based on the function to be carried out.
By having the configuration of the motion controller as above, it brings about at least one of the technical advantages below:
1. a excellent real time behaviour of the motion controller because of its computing units' computing power in parallel;
2. an ease of integration of a function module because of their program instructions being executed independently;
3. scalable architecture for the motion controller in terms of the number of computing units; and
4. an effective usage of the programmable logic/processor, because their computing power could be used to its maximum.
A standard servo drive is a device that receives reference data from a higher level controller, calculates necessary current output and controls power electronics to provide the electric current to the motor so that the requested output from the motor is achieved. The output could be a set speed, a position or a given torque. To provide the functionality, the servo drive needs to contain a low power logic digital part for computations and logic control of the system, a high power mixed digital and analog part for switching the power transistors and measurement of current feedback and an interface for communication with at least two devices, the higher level controller and position sensors. For multi-axes drives, very often several computing units need to be combined and a larger number of components is needed. As an example, we use a computer board, called Axis Computer, where there is one CPU, one DSP and one FPGA. In addition, it communicates with a control board in the drive unit with an FPGA containing necessary logic for local control, diagnosis and measurements.
Figure 4 shows a schematic diagram representing a robot control system according to another embodiment of present invention. As show in figure 4, motion controller 4 includes a programmable logic 40. The programmable logic 40 has a multiple of function modules, for example four function modules 400, 401, 402, 403. The computing unit is a unit of logic for carrying out a function and is used as building block within the programmable logic 40. The computing units 404, 405, 406, 407 are for implementation of a plurality of function modules 400, 401, 402, 403; for example, a first piece of information concerned with at least one series of desired joint positions for at least one joint of a robot of the robot system is shared by the information sharing means (communication channels), the function module 402 is a position control module, being adapted for receiving the current position of the joint of the robot and comparing it with the corresponding desired joint position and sharing the regulation value for reducing the difference therebetween as the second piece of information by the information sharing means; the second function module 401 is current control module, being adapted for setting phase current values for the joint motor based on the first piece of information. And the function module 403 is communication module for communication between the function modules with an external device, such as an external detector and a drive unit. It should be understood that the motion controller 4 may integrate other computing unit with other module. Using soft processors, one can make multi-computing unit systems on the chip and partition the system so that different local system clocks can be used.
In terms of the implementation, the embodiment according to figure 4 differs from those according to 2A, 2B, 3 A, or 3B in that the function module 400, 401, 402, 403 are partitioned into local function modules that communicate with each other and execute their tasks in parallel. These units can be soft processors having a local bus system and controlling local IP cores or computing units written directly as a larger IP core. Each of the IP core connected to a unit performs specific task and possibly is connected to a piece of hardware opening an interface between the hardware and the software.
Further referring to figure 4, at least one of the function modules 400, 401, 402, 403 includes: a local information sharing means 4000, 4010, 4030 and a plurality of local function modules being adapted for locally sharing data. The local information sharing means is for locally sharing the data within each function module 400, 401, 402, 403 representing a piece of robot information. And the local function module is for exchanging the information between at least two of them by accessing through the local information sharing means the data and respectively carrying out a plurality of local functions in parallel based on the exchanged information. The local function module receiving the exchanged information is adapted to carry out the local function based on the received exchanged information independently of the local functions that are simultaneously carried out by the other local function modules; and the plurality of local function modules are respectively implemented by means of a part of the computing unit 404, 405, 406, 407 of the processor or on the programmable logic 40.
For example, the function module 403 further includes the local information sharing means 4030 and a first local function module 4031 for..., a second local function module 4032 for communication with another robot controller..., and a third local function module 4033 for data analysis.... And the first, second, and third local function modules 4031, 4032, 4033 are implemented by three local computing units 4061, 4062, 4063 consisting of the computing unit 406. The local information sharing means 4000, 4010, 4030, 4030 may be a memory shared among the local function modules. The memory may be external to the programmable chi or be on-chip memory and if necessary, logic blocks of the programmable chip may be allocated for units of the memory. The programmable chip and the memory communicate with each other through bus.
The system put on an FPGA can easily be updated in the field. This allows us to provide a wide range of functions and interfaces with the same hardware without overloading it with unused software. In particular, for drive systems, the interface to the controller is decided by the user's preference. Most attractive solutions are Ethernet based, but with different logics. For example, raw Ethernet, EtherCAT, Ethernet/IP, PowerLink and Profinet can be used on the same hardware but require different logics and software. This can easily be provided by having slightly different systems that can be downloaded to the FPGA according to the requirement. Similarly, the chosen motor decides the type of encoder and the communication protocol. With a system as above, the protocol can be changed in a simple manner and different protocols can be supported with the same hardware.
Though the present invention has been described on the basis of some preferred embodiments, those skilled in the art should appreciate that those embodiments should by no way limit the scope of the present invention. Without departing from the spirit and concept of the present invention, any variations and modifications to the embodiments should be within the apprehension of those with ordinary knowledge and skills in the art, and therefore fall in the scope of the present invention which is defined by the
accompanied claims.

Claims

1. A motion controller, including:
an information sharing means, being adapted for sharing data representing at least one piece of information;
a plurality of function modules, being adapted for exchanging the information between at least two of them by accessing the data through the information sharing means and respectively carrying out a plurality of functions in parallel based on the exchanged information;
wherein:
the function module receiving the exchanged information is adapted to carry out the function based on the received exchanged information independently of the functions that are simultaneously carried out by the other function modules;
the plurality of function modules share at least one processor or programmable logic having a multiple of computing units; and
the plurality of function modules are respectively implemented by means of the computing units of the processor or on the programmable logic.
2. The motion controller according to claim 1, wherein:
the information sharing means is a memory shared among the plurality of function modules.
3. The motion controller according to claim 1, wherein:
at least one of the function modules includes:
a local information sharing means, being adapted for locally sharing data representing at least one piece of information;
a plurality of local function modules, being adapted for exchanging the information between at least two of them by accessing through the local information sharing means the data and respectively carrying out a plurality of local functions in parallel based on the exchanged information;
wherein:
the local function module receiving the exchanged information is adapted to carry out the local function based on the received exchanged information independently of the local functions that are simultaneously carried out by the other local function modules;
the plurality of local function modules are respectively implemented by means of a local computing unit as a part of the computing unit.
4. The motion controller according to claim 1, wherein:
the first piece of the information is concerned with a new robot system status;
the first function module is a logic control module, being adapted for setting a new robot status of at least one robot of the robot system and sharing the new robot status information as the second piece of information by the information sharing means.
5. The motion controller according to claim 4, wherein: the second function module is a motion control module, being adapted for setting at least one series of joint positions for at least one joint of a robot of a robot system based on a combination of the second piece of the information and the robot mechanical characteristics and sharing the joint position information as the third piece of information by the mformation sharing means.
6. The motion controller according to claim 5, wherein:
the first function module is further adapted for reading the third piece of information through the information sharing means and sending it to an external unit.
7. The motion controller according to claim 5, wherein:
the second module is further adapted for sending the third piece of information to an external unit.
8. The motion controller according to claim 1 , wherein;
the first piece of information concerned with at least one series of desired joint positions for at least one joint of a robot of the robot system is shared by the information sharing means;
the first function module is a position control module, being adapted for receiving the actual position of the joint of the robot and comparing it with the corresponding desired joint position and sharing the regulation value for reducing the difference therebetween as the second piece of information by the information sharing means;
the second function module is current control module, being adapted for setting phase current values for the joint motor based on the second piece of information.
9. The motion controller according to claim 1 , wherein:
the first function module is an IO control module; and
the 10 control module is adapted for carrying out the function of inputting the first piece of information and accessing the second piece of information via the information sharing means and outputting the second piece of mformation.
10. A robot control system including the motion controller according to one of claims 4 to 7, further including:
the external detector, being adapted for detecting the robot system status;
the drive unit; and
the robot having the motor, being adapted for being driven by the drive unit.
1 1. A robot control system including the motion controller according to claim 10, further including:
another robot having another motor, being adapted for being driven by the drive unit.
PCT/CN2013/070581 2013-01-17 2013-01-17 Motion controller and robot control system using the same Ceased WO2014110748A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/CN2013/070581 WO2014110748A1 (en) 2013-01-17 2013-01-17 Motion controller and robot control system using the same
EP13871913.3A EP2946253A4 (en) 2013-01-17 2013-01-17 EXECUTION CONTROLLER AND ROBOT CONTROL SYSTEM USING THIS ENFORCEMENT CONTROLLER
CN201380069454.8A CN104903800A (en) 2013-01-17 2013-01-17 Motion controller and robot control system using the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2013/070581 WO2014110748A1 (en) 2013-01-17 2013-01-17 Motion controller and robot control system using the same

Publications (1)

Publication Number Publication Date
WO2014110748A1 true WO2014110748A1 (en) 2014-07-24

Family

ID=51208937

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/070581 Ceased WO2014110748A1 (en) 2013-01-17 2013-01-17 Motion controller and robot control system using the same

Country Status (3)

Country Link
EP (1) EP2946253A4 (en)
CN (1) CN104903800A (en)
WO (1) WO2014110748A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227097A (en) * 2016-08-25 2016-12-14 常州市翔云智能控制系统有限公司 Multibus multi-axis motion controller
CN107571241A (en) * 2017-09-04 2018-01-12 深圳市超时空机器人有限公司 A kind of tow-armed robot and its control method
CN109240191A (en) * 2018-04-25 2019-01-18 上海福赛特控制技术有限公司 The controller and control system of integrated motion control and motor control
CN110340872A (en) * 2019-07-15 2019-10-18 赵智泉 Wearable remote-controlled robot and control method
CN111421547A (en) * 2020-04-13 2020-07-17 深圳市强华科技发展有限公司 Industrial robot control system and control method thereof
CN113067527A (en) * 2021-03-31 2021-07-02 实时侠智能控制技术有限公司 Controller and control system adapted to perform motor control
CN113720595A (en) * 2021-09-02 2021-11-30 桥田智能设备(浙江)有限公司 Function detection system and method applied to tool quick-change device

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107479506B (en) * 2017-09-04 2020-07-14 深圳市超时空机器人有限公司 Robot-based numerical control device, system and machining method
CN108052063A (en) * 2017-12-18 2018-05-18 珠海格力节能环保制冷技术研究中心有限公司 Control system, control chip and robot
CN111684372B (en) * 2018-05-17 2023-03-21 深圳配天智能技术研究院有限公司 A encoder, driver, controller and robot for robot

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1835699A1 (en) * 2006-03-17 2007-09-19 ABB PATENT GmbH Robot controller
US7327396B2 (en) * 2002-04-10 2008-02-05 National Instruments Corporation Smart camera with a plurality of slots for modular expansion capability through a variety of function modules connected to the smart camera
CN101286058A (en) * 2008-04-24 2008-10-15 上海交通大学 Robot modular distributed adaptive control system and method
CN102289217A (en) * 2011-02-25 2011-12-21 广西大学 Modular reconfigurable motion control system with axle as unit

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5042004A (en) * 1986-03-06 1991-08-20 Advanced Micro Devices, Inc. Programmable logic device with subroutine stack and random access memory
US20090132057A1 (en) * 2007-11-20 2009-05-21 Abb Research Ltd. Control system for controlling the movements of a plurality of mechanical units
CN102349031B (en) * 2009-03-13 2014-06-11 Abb技术有限公司 A method for control in a process control system implemented in part by one or more computer implemented run-time processes
CN102498470A (en) * 2009-08-24 2012-06-13 Abb技术股份有限公司 Improved execution of real-time applications using automation controllers
DE102010019086A1 (en) * 2010-04-30 2011-11-03 Abb Technology Ag Device and method for transmitting measurement signals in spatially extended supply networks
JP5743495B2 (en) * 2010-11-05 2015-07-01 キヤノン株式会社 Robot controller
DE102011107169A1 (en) * 2011-07-13 2013-01-17 Kuka Roboter Gmbh Control of a robot

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7327396B2 (en) * 2002-04-10 2008-02-05 National Instruments Corporation Smart camera with a plurality of slots for modular expansion capability through a variety of function modules connected to the smart camera
EP1835699A1 (en) * 2006-03-17 2007-09-19 ABB PATENT GmbH Robot controller
CN101286058A (en) * 2008-04-24 2008-10-15 上海交通大学 Robot modular distributed adaptive control system and method
CN102289217A (en) * 2011-02-25 2011-12-21 广西大学 Modular reconfigurable motion control system with axle as unit

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2946253A4 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106227097A (en) * 2016-08-25 2016-12-14 常州市翔云智能控制系统有限公司 Multibus multi-axis motion controller
CN106227097B (en) * 2016-08-25 2018-11-30 常州市翔云智能控制系统有限公司 Multibus multi-axis motion controller
CN107571241A (en) * 2017-09-04 2018-01-12 深圳市超时空机器人有限公司 A kind of tow-armed robot and its control method
CN109240191A (en) * 2018-04-25 2019-01-18 上海福赛特控制技术有限公司 The controller and control system of integrated motion control and motor control
EP3561622A1 (en) * 2018-04-25 2019-10-30 Rtimeman Motion Control Co., Ltd. Integrated controller for motion control and motor control
CN109240191B (en) * 2018-04-25 2020-04-03 实时侠智能控制技术有限公司 Controller and control system integrating motion control and motor control
CN110340872A (en) * 2019-07-15 2019-10-18 赵智泉 Wearable remote-controlled robot and control method
CN111421547A (en) * 2020-04-13 2020-07-17 深圳市强华科技发展有限公司 Industrial robot control system and control method thereof
CN113067527A (en) * 2021-03-31 2021-07-02 实时侠智能控制技术有限公司 Controller and control system adapted to perform motor control
CN113720595A (en) * 2021-09-02 2021-11-30 桥田智能设备(浙江)有限公司 Function detection system and method applied to tool quick-change device
CN113720595B (en) * 2021-09-02 2024-06-04 上海桥田智能设备有限公司 Function detection system and method applied to tool quick-change device

Also Published As

Publication number Publication date
EP2946253A1 (en) 2015-11-25
CN104903800A (en) 2015-09-09
EP2946253A4 (en) 2016-10-12

Similar Documents

Publication Publication Date Title
EP2946253A1 (en) Motion controller and robot control system using the same
Martinov et al. From classic CNC systems to cloud-based technology and back
KR100945884B1 (en) Embedded Robot Control System
US20240232109A1 (en) Universal Ethernet Solution
US10274936B2 (en) Control apparatus
US11061377B2 (en) Control device
EP3561622B1 (en) Integrated controller for motion control and motor control
WO2012090291A1 (en) Motion controller
US20080147206A1 (en) Control system for Real Time Applications for Cooperative Industrial Robots
CN113406905A (en) EtherCAT bus control system with double PC architectures
CN1886706B (en) Method and device for operating different instruments in cooperation
WO2024198301A1 (en) Coal mine edge control system
US8788609B2 (en) Automation device and automation system
Wilkening et al. Modular System Architecture for Large Multi-Axis Motion Control Systems in Automation
WO2020067287A1 (en) Control system, support device, and support program
WO2020067286A1 (en) Control system, support device, and support program
Ha et al. A new approach to secure industrial automation systems based on revolution pi modules
JP2011002928A (en) Control computing component and component type control system
EP4354234A1 (en) Systems and methods for using memory-mapped memories in a microcontroller-based instrument
JP7551037B1 (en) Relay device, control system, control function expansion method and program
Kelkar EtherCAT based motion controller
Patil et al. Design and Implementation of On-line Interactive Industrail Automation Systemusing Beagle Board
KR20250169310A (en) Chiplet array
Boppudi et al. Data acquisition and controlling system using cortex m3 core
von Cölln et al. Development of smart field devices using heterogeneous multicore processors

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13871913

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2013871913

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2013871913

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE