CN113396032A - Multi-axis motion controller, multi-axis motion control method and system - Google Patents

Multi-axis motion controller, multi-axis motion control method and system Download PDF

Info

Publication number
CN113396032A
CN113396032A CN201980091298.2A CN201980091298A CN113396032A CN 113396032 A CN113396032 A CN 113396032A CN 201980091298 A CN201980091298 A CN 201980091298A CN 113396032 A CN113396032 A CN 113396032A
Authority
CN
China
Prior art keywords
controlled object
motion
robot
joint
control
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.)
Pending
Application number
CN201980091298.2A
Other languages
Chinese (zh)
Inventor
王子建
范顺杰
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.)
Siemens AG
Original Assignee
Siemens 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 Siemens AG filed Critical Siemens AG
Publication of CN113396032A publication Critical patent/CN113396032A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls

Abstract

A multi-axis motion controller (10), multi-axis motion control method and system. A multi-axis motion controller (10) includes: the motion control module (11) is used for receiving a configuration command containing a first controlled object joint number and a first controlled object configuration parameter, determining a first controlled object motion algorithm library corresponding to the first controlled object joint number, and inputting the first controlled object configuration parameter into the first controlled object motion algorithm library; a data interaction interface (12) adapted to activate a first controlled object control field in a predetermined message format based on the first controlled object number of joints; a mapping module (13) adapted to establish a first mapping relationship between the activated first controlled object control field and the first controlled object driven physical channel. The multi-axis motion controller (10), multi-axis motion control method and system relate to control mechanisms associated with a robot having a configurable number of joints.

Description

Multi-axis motion controller, multi-axis motion control method and system Technical Field
The present application relates to the field of multi-axis motion, and in particular, to a multi-axis motion controller, a multi-axis motion control method, and a multi-axis motion control system.
Background
With the rapid development of electronic technology and software technology, multi-axis linkage control systems are continuously updated. The multi-axis linkage control system has wide application in industry, and a machine tool numerical control system and a robot control system both belong to the multi-axis linkage control system.
Multi-axis motion controllers are key components of factory automation systems. When the controller is applied to an industrial robot scene, the multi-axis motion controller can control the auxiliary joint and the robot joint to move in a coordinated mode besides controlling the robot joint.
In chinese patent publication CN102103372B, a joint module control system of a modular reconfigurable robot is disclosed, in which a configurable robot joint for constructing a robot arm is disclosed.
However, the prior art using this patent document as a typical example relates to a control mechanism of a robot with a fixed number of joints, and does not disclose a control mechanism related to a robot with a configurable number of joints.
Disclosure of Invention
In view of the above, the main objective of the embodiments of the present invention is to provide a multi-axis motion controller, a multi-axis motion control method and a multi-axis motion control system.
The technical scheme of the embodiment of the invention is realized as follows:
a multi-axis motion controller comprising:
the motion control module is adapted to receive a configuration command containing a first controlled object joint number and a first controlled object configuration parameter, determine a first controlled object motion algorithm library corresponding to the first controlled object joint number, and input the first controlled object configuration parameter into the first controlled object motion algorithm library;
the data interaction interface is adapted to activate a first controlled object control field in a preset message format based on the first controlled object joint number;
and the mapping module is adapted to establish a first mapping relation between the activated first controlled object control field and the first controlled object driving physical channel.
Therefore, the embodiment of the invention activates the corresponding number of the first controlled object control fields through the configurable number of the first controlled object joints, and establishes the first mapping relation between the activated first controlled object control fields and the respective first controlled object drive physical channels, thereby realizing the pre-configuration of the first controlled object with the configurable number of the joints.
In one embodiment, the configuration command further includes a second controlled object joint number and a second controlled object configuration parameter;
the motion control module is further adapted to determine a second controlled object motion algorithm library corresponding to the second controlled object joint number, and input the second controlled object configuration parameters into the second controlled object motion algorithm library;
the data interaction interface is further adapted to activate a second controlled object control field in the predetermined message format based on the second controlled object joint number;
the mapping module is also adapted to establish a second mapping relation between the activated second controlled object control field and a second controlled object driving physical channel.
Therefore, in the embodiment of the invention, the corresponding number of second controlled object control fields are activated through the configurable number of second controlled object joints, and the second mapping relation between the activated second controlled object control fields and the respective second controlled object drive physical channels is established, so that the pre-configuration of the second controlled object with the configurable number of joints is realized.
In one embodiment, the motion control module is further adapted to receive a first controlled object execution command, and determine a first controlled object control parameter based on the first controlled object execution command and the first controlled object motion algorithm library;
the data interaction interface is further adapted to encapsulate the first controlled object control parameter into the activated first controlled object control field;
the mapping module is further adapted to send the first controlled object control parameter in the activated first controlled object control field to the corresponding first controlled object driven physical channel based on the first mapping relation.
Therefore, the multi-axis motion controller of the embodiment of the invention can support the independent motion control of the first controlled object.
In one embodiment, the motion control module is further adapted to receive a second controlled object execution command, and determine a second controlled object control parameter based on the second controlled object execution command and the second controlled object motion algorithm library;
the data interaction interface is further adapted to encapsulate the second controlled object control parameter into the activated second controlled object control field;
the mapping module is further adapted to send the second controlled object control parameter in the activated second controlled object control field to a corresponding second controlled object driving physical channel based on the second mapping relationship.
Therefore, the multi-axis motion controller of the embodiment of the invention can support the independent motion control of the second controlled object.
In one embodiment, the motion control module is further adapted to receive a first controlled object execution command and a second controlled object execution command, determine a second controlled object control parameter based on the second controlled object execution command and the second controlled object motion algorithm library, and determine a first controlled object control parameter based on the second controlled object control parameter, the first controlled object execution command, and the first controlled object motion algorithm library;
the data interaction interface is further adapted to encapsulate the first controlled object control parameter into an activated first controlled object control field and encapsulate the second controlled object control parameter into an activated second controlled object control field;
the mapping module is further adapted to send the first controlled object control parameter in the activated first controlled object control field to a corresponding first controlled object driving physical channel based on the first mapping relationship, and send the second controlled object control parameter in the activated second controlled object control field to a corresponding second controlled object driving physical channel based on the second mapping relationship.
Therefore, the multi-axis motion controller of the embodiment of the invention can support the coordinated motion control of the first controlled object and the second controlled object.
In one embodiment, further comprising:
a command parser adapted to parse a user command received by a human-machine interface into the configuration command, the first controlled object execution command or the second controlled object execution command based on a predetermined command format parsing syntax.
Therefore, the embodiment of the invention can process the configuration command and the execution command in a centralized way based on the analysis work of the command analyzer, thereby improving the processing efficiency.
A multi-axis motion control method, comprising:
receiving a configuration command containing a first controlled object joint number and a first controlled object configuration parameter, determining a first controlled object motion algorithm library corresponding to the first controlled object joint number, and inputting the first controlled object configuration parameter into the first controlled object motion algorithm library;
activating a first controlled object control field in a preset message format based on the first controlled object joint number;
and establishing a first mapping relation between the activated first controlled object control field and the first controlled object driving physical channel.
Therefore, the embodiment of the invention activates the corresponding number of the first controlled object control fields through the configurable number of the first controlled object joints, and establishes the first mapping relation between the activated first controlled object control fields and the respective first controlled object drive physical channels, thereby realizing the pre-configuration of the first controlled object with the configurable number of the joints.
In one embodiment, the configuration command further includes a second controlled object joint number and a second controlled object configuration parameter; the method further comprises the following steps:
determining a second controlled object motion algorithm library corresponding to the second controlled object joint number, and inputting the second controlled object configuration parameters into the second controlled object motion algorithm library;
activating a second controlled object control field in the predetermined message format based on the second controlled object joint number;
and establishing a second mapping relation between the activated second controlled object control field and a second controlled object driving physical channel.
Therefore, in the embodiment of the invention, the corresponding number of second controlled object control fields are activated through the configurable number of second controlled object joints, and the second mapping relation between the activated second controlled object control fields and the respective second controlled object drive physical channels is established, so that the pre-configuration of the second controlled object with the configurable number of joints is realized.
In one embodiment, the method further comprises:
receiving a first controlled object execution command, and determining a first controlled object control parameter based on the first controlled object execution command and the first controlled object motion algorithm library;
packaging the first controlled object control parameter into the activated first controlled object control field;
and sending the first controlled object control parameter in the activated first controlled object control field to a corresponding first controlled object driving physical channel based on the first mapping relation.
Therefore, the embodiment of the invention can support the independent motion control of the first controlled object.
In one embodiment, the method further comprises:
receiving a second controlled object execution command, and determining a second controlled object control parameter based on the second controlled object execution command and the second controlled object motion algorithm library;
packaging the second controlled object control parameter into the activated second controlled object control field;
and sending the second controlled object control parameters in the activated second controlled object control field to a corresponding second controlled object drive physical channel based on the second mapping relation.
Therefore, the embodiment of the invention can support the independent motion control of the second controlled object.
In one embodiment, the method further comprises:
receiving a first controlled object execution command and a second controlled object execution command, determining a second controlled object control parameter based on the second controlled object execution command and the second controlled object motion algorithm library, and determining a first controlled object control parameter based on the second controlled object control parameter, the first controlled object execution command and the first controlled object motion algorithm library;
packaging the first controlled object control parameter into the activated first controlled object control field, and packaging the second controlled object control parameter into the activated second controlled object control field;
and sending the first controlled object control parameter in the activated first controlled object control field to a corresponding first controlled object driving physical channel based on the first mapping relation, and sending the second controlled object control parameter in the activated second controlled object control field to a corresponding second controlled object driving physical channel based on the second mapping relation.
Therefore, the embodiment of the invention can support the coordinated motion control of the first controlled object and the second controlled object.
A multi-axis motion control system comprising a multi-axis motion controller as claimed in any one of the preceding claims.
A multi-axis motion controller comprising a processor and a memory;
the memory stores an application program executable by the processor for causing the processor to execute the multi-axis motion control method as described in any one of the above.
Therefore, the embodiment of the invention also provides a multi-axis motion controller with a processor-memory architecture.
A computer readable storage medium having computer readable instructions stored therein for performing the multi-axis motion control method of any of the above.
Drawings
Fig. 1 is a block diagram of a multi-axis motion controller according to an embodiment of the present invention.
FIG. 2 is a first exemplary block diagram of a motion control module according to an embodiment of the present invention.
FIG. 3 is a second exemplary block diagram of a motion control module according to an embodiment of the present invention.
Fig. 4 is an exemplary field structure diagram of a message format according to an embodiment of the present invention.
FIG. 5 is an exemplary process diagram of a mapping module according to an embodiment of the invention.
Fig. 6 is an exemplary block diagram of a multi-axis motion control system according to an embodiment of the present invention.
Fig. 7 is a flowchart of a multi-axis motion control method according to an embodiment of the present invention.
FIG. 8 is a block diagram of a multi-axis motion controller having a processor-memory architecture.
Wherein the reference numbers are as follows:
reference numerals Means of
10 Multi-axis motion controller
11 Motion control module
12 Data interaction interface
13 Mapping module
110 Robot motion planning module
111 Robot interpolation module
112 Robot inverse kinematics mapping module
113 3-joint robot motion algorithm library
114 5-joint robot motion algorithm library
115 6-joint robot motion algorithm library
210 Robot motion planning module
211 Robot interpolation module
212 Combination module
213 Robot inverse kinematics mapping module
214 5-joint robot motion algorithm library
215 6-joint robot motion algorithm library
216 Auxiliary axis motion planning module
217 Auxiliary shaft interpolation module
218 Auxiliary axis positive kinematics mapping module
219 2-joint auxiliary shaft motion algorithm library
220 3-joint auxiliary shaft motion algorithm library
70 Driving a set of physical channels
60 HMI
61 Command parser
62 Configuration commands
69 Executing commands
63 Robot joint drive physical channel
64 Robot joint driver
65 Robot joint motor
66 Auxiliary joint drive physical channel
67 Auxiliary joint driver
68 Auxiliary joint motor
610 PTP movement planning module for robot
611 Robot PTP interpolation module
612 Robot cartesian motion planning module
613 Robot cartesian interpolation module
614 Collaborative motion planning module for robot and auxiliary axis
615 Cooperative interpolation module for robot and auxiliary shaft
616 Auxiliary axis motion planning module
617 Auxiliary shaft interpolation module
618 Motion algorithm library of robot and auxiliary shaft
701~703 Step (ii) of
800 Multi-axis motion controller
801 Processor with a memory having a plurality of memory cells
802 Memory device
Detailed Description
In order to make the technical scheme and advantages of the present invention more apparent, the present invention is further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the detailed description and specific examples, while indicating the scope of the invention, are intended for purposes of illustration only and are not intended to limit the scope of the invention.
For simplicity and clarity of description, the invention will be described below by describing several representative embodiments. Numerous details of the embodiments are set forth to provide an understanding of the principles of the invention. It will be apparent, however, that the invention may be practiced without these specific details. Some embodiments are not described in detail, but rather are merely provided as frameworks, in order to avoid unnecessarily obscuring aspects of the invention. Hereinafter, "including" means "including but not limited to", "according to … …" means "at least according to … …, but not limited to … … only". In view of the language convention of chinese, the following description, when it does not specifically state the number of a component, means that the component may be one or more, or may be understood as at least one.
In the embodiment of the invention, a multi-axis motion controller supporting a configurable number of first controlled object joints and a related multi-axis motion control method are realized by activating a corresponding number of first controlled object control fields in a message format containing a plurality of first controlled object control fields based on the user-provided configurable number of first controlled object joints.
Preferably, the multi-axis motion controller and the multi-axis motion control method according to the embodiments of the present invention may be implemented in a numerical control system of a machine tool, or may be applied to a robot control system.
For example, when the embodiment of the present invention is applied to a robot control system, the embodiment of the present invention can be specifically applied to an industrial robot, an agricultural robot, a household robot, a medical robot, a service robot, a space robot, an underwater robot, a military robot, a rescue and relief robot, an educational and teaching robot, an entertainment robot, and the like.
Fig. 1 is a block diagram of a multi-axis motion controller according to an embodiment of the present invention.
As shown in fig. 1, the multi-axis motion controller 10 includes:
the motion control module 11 is adapted to receive a configuration command including a first controlled object joint number and a first controlled object configuration parameter, determine a first controlled object motion algorithm library corresponding to the first controlled object joint number, and input the first controlled object configuration parameter into the first controlled object motion algorithm library;
a data interaction interface 12, which is adapted to activate a first controlled object control field in a predetermined message format based on a first controlled object joint number;
a mapping module 13, which is adapted to establish a first mapping relationship between the activated first controlled object control field and the first controlled object driven physical channel.
Wherein the first controlled object is a control object of the multi-axis motion controller 10; the first controlled object configuration parameter is a configuration parameter for the first controlled object, and the configuration parameter is related to the first controlled object; the configuration command is a command issued by a user, another multi-axis motion controller, or the like, for executing configuration on the first controlled object.
In one embodiment, the motion control module 11 includes an internal storage medium having a first controlled object motion algorithm library stored therein. The process of the motion control module 11 determining the first controlled object motion algorithm library includes: the motion control module 11 retrieves the first controlled object motion algorithm library from the internal storage medium.
In one embodiment, the motion control module 11 may have a connection to an external storage medium that stores a first controlled object motion algorithm library. The process of the motion control module 11 determining the first controlled object motion algorithm library includes: the motion control module 11 retrieves the first controlled object motion algorithm library from the external storage medium based on the connection.
In one embodiment, the motion control module 11 may have a connection to a cloud storing a first controlled object motion algorithm library. The process of the motion control module 11 determining the first controlled object motion algorithm library includes: the motion control module 11 retrieves the first controlled object motion algorithm library from the cloud based on the connection.
In one embodiment, a user may provide configuration commands to the multi-axis motion controller 10 through a Human Machine Interface (HMI). Wherein: and a first controlled object joint number contained in the configuration command and used for indicating the joint number of the first controlled object.
For example, when the first controlled object is a robot: the first controlled object joint number is used for indicating how many joints the robot comprises, such as 3 joints, 4 joints, 5 joints or 6 joints, and the like; the first controlled object configuration parameters may include robot mechanical parameters such as a link length of a robot axis, robot joint driver parameters such as a rated rotation speed of a robot joint driver, and the like.
The multi-axis motion controller 10 determines a first controlled object motion algorithm library corresponding to the first controlled object joint number based on the first controlled object joint number included in the configuration command, and inputs the first controlled object configuration parameter included in the configuration command to the first controlled object motion algorithm library. After the first controlled object configuration parameter is input into the first controlled object motion algorithm library, the first controlled object motion algorithm library can be used for various subsequent control operations related to the first controlled object.
Furthermore, the multi-axis motion controller 10 may establish a first mapping relationship between the activated first controlled object control field and the respective first controlled object driving physical channel by activating a corresponding number of first controlled object control fields in the message format including the plurality of first controlled object control fields. Therefore, in the subsequent specific control operation for the first controlled object, the first controlled object control parameter can be accurately transmitted to the corresponding first controlled object driving physical channel based on the first mapping relation.
It can be seen that the multi-axis motion controller 10 may implement a corresponding configuration corresponding to a particular number of joints of the first controlled object. Preferably, the multi-axis motion controller 10 can support not only the adjustment of the number of joints of the first controlled object but also the adjustment of the number of joints of the second controlled object in cooperation with the first object.
Preferably, the first controlled object may be implemented as a robot; the second object may be implemented as an auxiliary shaft system comprising an auxiliary joint. The auxiliary joint refers to a joint in an auxiliary shaft system (e.g., a servo motion system) outside the robot body. For example, an auxiliary joint arranged on a positioner, a linear slide or a servo electrode holder machine outside the robot body.
In one embodiment, the configuration command (for example, the configuration command acquired by the HMI) further includes a second controlled object joint number and a second controlled object configuration parameter. Wherein: a second controlled object joint number contained in the configuration command, for indicating the joint number of the second controlled object; the second controlled object configuration parameters included in the configuration command are configuration parameters related to the second controlled object.
For example, when the second controlled object is an auxiliary shaft system of a robot, the second controlled object joint number is used to indicate how many joints, such as 3 joints, 4 joints, 5 joints, or 6 joints, are included in the auxiliary shaft, and the second controlled object configuration parameter may include an auxiliary shaft mechanical parameter such as a link length of the auxiliary shaft, an auxiliary shaft driver parameter such as a rated rotation speed of an auxiliary shaft driver, and the like.
And the motion control module 11 is further adapted to determine a second controlled object motion algorithm library corresponding to the second controlled object joint number, and input the second controlled object configuration parameters into the second controlled object motion algorithm library. A data interaction interface 12, which is further adapted to activate a second controlled object control field in the predetermined message format based on the second controlled object joint number. A mapping module 13, which is further adapted to establish a second mapping relationship between the activated second controlled object control field and the second controlled object driven physical channel.
Therefore, the multi-axis motion controller 10 may further determine a second controlled object motion algorithm library corresponding to the second controlled object joint number based on the second controlled object joint number included in the configuration command, and input the second controlled object configuration parameter included in the configuration command into the second controlled object motion algorithm library. The second controlled object motion algorithm library for inputting the second controlled object configuration parameters can be used for subsequent various control operations related to the second controlled object.
Moreover, the multi-axis motion controller 10 may establish a second mapping relationship between the activated second controlled object control field and the respective second controlled object driving physical channel by activating a corresponding number of second controlled object control fields in the message format including the plurality of second controlled object control fields. Therefore, in the subsequent control operation of the second controlled object (preferably, in coordination with the control operation of the first controlled object), the second controlled object control parameter can be accurately transmitted to the corresponding second controlled object driven physical channel based on the second mapping relationship.
The multi-axis motion controller 10 is specifically described above by taking two controlled objects as an example, and those skilled in the art can appreciate that the specific number of the controlled objects may also be 3, 4 or more, which is not limited by the embodiment of the present invention.
In one embodiment, the motion control module 11 is further adapted to receive a first controlled object execution command, determine a first controlled object control parameter based on the first controlled object execution command and a first controlled object motion algorithm library; a data interaction interface 12, which is also adapted to encapsulate the first controlled object control parameter into the activated first controlled object control field; the mapping module 13 is further adapted to send the first controlled object control parameter in the activated first controlled object control field to the corresponding first controlled object driven physical channel based on the first mapping relation.
It can be seen that based on the above configuration, the multi-axis motion controller 10 can support individual motion control of the first controlled object.
In one embodiment, the motion control module 11 is further adapted to receive a second controlled object execution command, determine a second controlled object control parameter based on the second controlled object execution command and a second controlled object motion algorithm library; a data interaction interface 12, which is also adapted to encapsulate the second controlled object control parameter into the activated second controlled object control field; and the mapping module 13 is further adapted to send the activated second controlled object control parameter in the second controlled object control field to the corresponding second controlled object driven physical channel based on the second mapping relationship.
It can be seen that based on the above configuration, the multi-axis motion controller 10 can support individual motion control of the second controlled object.
In one embodiment, the motion control module 11 is further adapted to receive a first controlled object execution command and a second controlled object execution command, determine a second controlled object control parameter based on the second controlled object execution command and a second controlled object motion algorithm library, and determine a first controlled object control parameter based on the second controlled object control parameter, the first controlled object execution command and the first controlled object motion algorithm library; a data interaction interface 12, which is further adapted to encapsulate a first controlled object control parameter into an activated first controlled object control field, and encapsulate a second controlled object control parameter into an activated second controlled object control field; and the mapping module 13 is further adapted to send the first controlled object control parameter in the activated first controlled object control field to the corresponding first controlled object driving physical channel based on the first mapping relationship, and send the second controlled object control parameter in the activated second controlled object control field to the corresponding second controlled object driving physical channel based on the second mapping relationship.
It can be seen that based on the above configuration, the multi-axis motion controller 10 can support coordinated motion control of the first controlled object and the second controlled object.
The following describes in detail an embodiment of the present invention, taking as an example the application of the multi-axis motion controller 10 to a robot control system including a robot (corresponding to a first controlled object) and an auxiliary axis (corresponding to a second controlled object).
In the configuration process of the multi-axis motion controller 10, the motion control module 11 is adapted to receive a configuration command including a robot joint number, a robot configuration parameter, an auxiliary joint number, and an auxiliary axis configuration parameter, determine a robot motion algorithm library corresponding to the robot joint number, input the robot configuration parameter into the robot motion algorithm library, determine an auxiliary axis motion algorithm library corresponding to the auxiliary joint number, and input the auxiliary axis configuration parameter into the auxiliary axis motion algorithm library. The data interaction interface 12 is adapted to activate a corresponding number of robot joint control fields in the predetermined message format based on the number of robot joints and to activate a corresponding number of auxiliary joint control fields in the predetermined message format based on the number of auxiliary joints. The mapping module 13 is adapted to establish a first mapping between the activated robot joint control fields and the respective robot joint drive physical channels and to establish a second mapping between the activated auxiliary joint control fields and the respective auxiliary joint drive physical channels.
Based on the above configuration process, the multi-axis motion controller 10 can support individual motion control of the robot, individual motion control of the auxiliary axes, and coordinated motion control of the robot and the auxiliary axes.
The following describes cases where the multi-axis motion controller 10 is used for individual motion control of the robot, individual motion control of the auxiliary axes, and coordinated motion control of the robot and the auxiliary axes, respectively.
(1) The multi-axis motion controller 10 is used for individual motion control of the robot:
in one embodiment, the motion control module 11, which is further adapted to receive (e.g. via HMI) a robot joint execution command, determine robot joint control parameters based on the robot joint execution command and a library of robot motion algorithms having entered robot configuration parameters and corresponding to a number of robot joints; a data interaction interface 12 further adapted to encapsulate the robot joint control parameters into activated robot joint control fields; the mapping module 13 is further adapted to send the robot joint control parameters in the activated robot joint control field to the corresponding robot joint driving physical channel based on the first mapping relation.
The robot joint execution command may include a Point To Point (PTP) movement command or a cartesian motion (e.g., linear motion, circular motion) command for the robot joint, and the like.
Specifically, the motion control module 11 performs the following operations:
(1.1), performing robot motion planning (e.g., planning motion time and speed curves of the robot, etc.) based on the robot joint execution commands.
And (1.2) performing interpolation (interpolation) operation on the robot motion planning result (for example, calculating the three-dimensional space position, posture and rotation angle of the robot at the moment, and the like).
And (1.3) calling a robot motion algorithm library which corresponds to the number of the robot joints and has input the robot configuration parameters, and mapping interpolation operation results from the Cartesian space to the axial space (or from the axial space to the Cartesian space) to generate the robot joint control parameters.
Preferably, the robot joint control parameters generated by the motion control module 11 may include position, velocity, acceleration, and the like.
After the motion control module 11 determines the robot joint control parameters of each robot joint, the data interaction interface 12 packages the robot joint control parameters into the corresponding activated robot joint control fields. Then, the mapping module 13 transmits the robot joint control parameters in each activated robot joint control field to the corresponding robot joint driving physical channels, respectively, based on the first mapping relationship.
It can be seen that the robot joint control parameters of each robot joint can be correctly transmitted to the corresponding robot joint driving physical channel. Each robot joint driving physical channel sends the respective robot joint control parameter to the corresponding robot joint driver, so that the respective robot joint driver controls the respective robot joint motor based on the respective robot joint control parameter, thereby specifically executing the robot joint control command.
Thus, the multi-axis motion controller 10 can implement individual motion control for robots, where the number of robot joints is configurable, thereby being flexible for a variety of application scenarios.
(2) The multi-axis motion controller 10 is used for individual motion control of the auxiliary axes:
in one embodiment, the motion control module 11, which is further adapted to receive an auxiliary joint execution command, determine auxiliary joint control parameters based on the auxiliary joint execution command and an auxiliary axis motion algorithm library; a data interaction interface 12 further adapted to encapsulate auxiliary joint control parameters into activated auxiliary joint control fields; the mapping module 13 is further adapted to send the activated auxiliary joint control parameters in the auxiliary joint control field to the corresponding auxiliary joint drive physical channel based on the second mapping relation.
The auxiliary joint execution command may include a PTP movement command or a cartesian movement (e.g., linear movement, circular movement) command for the auxiliary joint, and the like.
The motion control module 11 determines the auxiliary joint control parameters based on the auxiliary joint execution command and the auxiliary axis motion algorithm library corresponding to the number of auxiliary joints and into which the auxiliary joint configuration parameters have been input.
Specifically, the motion control module 11 performs the following operations:
and (2.1) performing auxiliary axis planning (such as planning the motion time and speed curve of the positioner and the like) based on the auxiliary joint execution command.
And (2.2) performing interpolation (interpolation) operation on the auxiliary axis planning result (for example, calculating the axis space position at the instant).
And (2.3) calling an auxiliary axis motion algorithm library which corresponds to the number of auxiliary joints and has input auxiliary joint configuration parameters, and mapping interpolation operation results from an axis space to a Cartesian space (or from the Cartesian space to the axis space) to generate auxiliary joint control parameters.
Preferably, the auxiliary joint control parameters generated by the motion control module 11 may include position, velocity, acceleration, and the like.
After the motion control module 11 determines the respective auxiliary joint control parameter of each auxiliary joint, the data interaction interface 12 encapsulates each auxiliary joint control parameter into the respective activated auxiliary joint control field. Then, the mapping module 13 transmits the activated auxiliary joint control parameters in the auxiliary joint control fields to the corresponding auxiliary joint driving physical channels, respectively, based on the second mapping relationship.
It can be seen that the auxiliary joint control parameters for each auxiliary joint can be correctly transmitted to the corresponding auxiliary joint drive physical channel. Each auxiliary joint driving physical channel sends the respective auxiliary joint control parameter to the corresponding auxiliary joint driver, so that the respective auxiliary joint driver controls the respective auxiliary joint motor based on the respective auxiliary joint control parameter, thereby specifically executing the auxiliary joint control command.
Accordingly, the multi-axis motion controller 10 can implement individual motion control for the auxiliary axes, wherein the number of joints of the auxiliary axes is configurable, thereby being flexibly adapted to a variety of application scenarios.
(3) The multi-axis motion controller 10 is used for the coordinated motion control of the robot and the auxiliary axes:
in one embodiment, the motion control module 11, which is further adapted to receive the robot joint execution command and the auxiliary joint execution command, determine auxiliary joint control parameters based on the auxiliary joint execution command and the auxiliary axis motion algorithm library, determine robot joint control parameters based on the auxiliary joint control parameters, the robot joint execution command and the robot motion algorithm library; a data interaction interface 12 further adapted to package robot joint control parameters into activated robot joint control fields, and auxiliary joint control parameters into activated auxiliary joint control fields; the mapping module 13 is further adapted to send the robot joint control parameters in the activated robot joint control field to the corresponding robot joint driving physical channel based on the first mapping relationship and to send the auxiliary joint control parameters in the activated auxiliary joint control field to the corresponding auxiliary joint driving physical channel based on the second mapping relationship.
The robot joint execution command may include a PTP movement command or a cartesian movement (e.g., linear movement, circular movement) command for the robot joint, and the like. The auxiliary joint execution commands may include PTP movement commands or cartesian motion (e.g., linear motion, circular motion) commands for auxiliary joints in auxiliary axes, and so on.
The motion control module 11 determines the auxiliary joint control parameters based on the auxiliary joint execution command and the auxiliary axis motion algorithm library corresponding to the number of auxiliary joints and into which the auxiliary joint configuration parameters have been input. The motion control module 11 determines robot joint control parameters based on the auxiliary joint control parameters, the robot joint execution command, and a robot motion algorithm library corresponding to the number of robot joints and input robot joint configuration parameters.
Specifically, the motion control module 11 performs the following operations:
and (3.1) executing robot motion planning based on the robot joint execution command (such as planning a motion time and speed curve of the robot, and the like), and executing auxiliary axis planning based on the auxiliary joint execution command (such as planning a motion time and speed curve of the positioner, and the like).
And (3.2) performing interpolation (interpolation) operation on the robot motion planning result (for example, calculating the three-dimensional space position, the posture and the rotation angle of the robot at the moment), and performing interpolation (interpolation) operation on the auxiliary axis planning result (for example, calculating the axis space position at the moment).
And (3.3) calling an auxiliary axis motion algorithm library which corresponds to the number of auxiliary joints and has input auxiliary joint configuration parameters, and mapping the interpolation operation result to a Cartesian space from an axis space (or mapping to the axis space from the Cartesian space) to generate auxiliary joint control parameters.
And (3.4) determining robot joint control parameters based on the auxiliary joint control parameters, the robot joint execution command and a robot motion algorithm library corresponding to the number of robot joints and inputting robot joint configuration parameters.
After the motion control module 11 determines the robot joint control parameters of each robot joint and the auxiliary joint control parameters of each auxiliary joint, the data interaction interface 12 packages the respective robot joint control parameters into respective activated robot joint control fields and packages the respective auxiliary joint control parameters into respective activated auxiliary joint control fields. Then, the mapping module 13 transmits the robot joint control parameters in the activated robot joint control field to the corresponding robot joint driving physical channel based on the first mapping relationship, and transmits the auxiliary joint control parameters in the activated auxiliary joint control field to the corresponding auxiliary joint driving physical channel based on the second mapping relationship. It can be seen that the robot joint control parameters of each robot joint can be correctly sent to the corresponding robot joint driving physical channel, and each robot joint driving physical channel then sends the respective robot joint control parameters to the corresponding robot joint driver, so that the respective robot joint drivers respectively control the respective robot joint motors based on the robot joint control parameters, thereby implementing execution of the robot joint control commands. Furthermore, the auxiliary joint control parameters of each auxiliary joint may be correctly transmitted to the corresponding auxiliary joint driving physical channel. Each auxiliary joint driving physical channel sends respective auxiliary joint control parameters to corresponding auxiliary joint drivers so that the respective auxiliary joint drivers control respective auxiliary joint motors based on the auxiliary joint control parameters, and accordingly execution of auxiliary joint control commands is achieved.
In one embodiment, the multi-axis motion controller 10 may also include a command parser (not shown in FIG. 1). The command parser is adapted to parse a user command received by the human-machine interface into the configuration command, the robot joint execution command or the auxiliary joint execution command based on a predetermined command format parsing syntax.
Therefore, the multi-axis motion controller 10 can realize coordinated motion control for the robot and the auxiliary axes, wherein the number of joints of the robot and the number of auxiliary joints of the auxiliary axes are configurable, and the multi-axis motion controller is flexibly suitable for various application scenes.
The following description will be given based on the multi-axis motion controller 10 to achieve coordinated motion control of the robot and the auxiliary axes, taking welding work as an example.
Assuming that a robot as a first controlled object is used to perform welding work, a weld has been fixed on an auxiliary axis system (e.g., 2-axis positioner) as a second controlled object. Moreover, the welding protocol has been determined as: the welding part is a steel pipe; welding along the steel pipe, wherein the welding seam is a straight line.
The first step is as follows: and executing the motion planning of the positioner and the robot motion planning. The method comprises the following steps: and calculating relevant parameters (such as movement time, speed curve and the like) of 2 axes of the positioner for completing the welding scheme and relevant parameters (such as movement time, speed curve and the like) of the robot for completing the welding scheme.
The second step is that: and executing the interpolation of the position changing machine and the robot interpolation. The method comprises the following steps: the relevant parameters of the welding scheme are completed based on 2 axes of the positioner, and the axial space positions of the 2 axes of the positioner at the instant time are calculated (for example, at 0.2 second, the two axes are respectively positioned at 11 degrees and 16 degrees). Based on the relevant parameters of the robot for completing the welding scheme, the three-dimensional space position (such as (xyz) coordinate and posture, rotation angle and the like) of the straight-line welding seam to which the robot should move at the instant time, namely the three-dimensional space position P1 of the instant welding point, is calculated.
The third step: and executing positive kinematics processing of the positioner. The method comprises the following steps: and calling a positive kinematics algorithm library of the positioner, inputting the axial space positions of 2 axes of the positioner at the moment, and calculating to obtain the position P2 of an original point coordinate system (for example, the position is positioned at the center of the welding tray) of the positioner in a three-dimensional space.
The fourth step: and fusing the welding line motion of the robot and the motion of the positioner. The method comprises the following steps: and obtaining the three-dimensional space position of the instantaneous welding point based on the three-dimensional space position P1 of the instantaneous welding point and the three-dimensional space position P2 of the origin coordinate system of the positioner.
The fifth step: and (5) inverse kinematics processing of the robot. The method comprises the following steps: and calling a corresponding inverse kinematics algorithm library of the robot, and mapping the three-dimensional space position of the instantaneous welding point to the axis position of the robot.
While the coordinated motion control of the robot and the auxiliary axes by the multi-axis motion controller 10 has been described above using welding operations as an example, those skilled in the art will appreciate that this description is merely exemplary and is not intended to limit the scope of embodiments of the present invention.
The following exemplifies a specific structure of the present motion control module 11 by applying the multi-axis motion controller 10 to a robot control system including a robot (corresponding to a first controlled object) and an auxiliary axis (corresponding to a second controlled object).
FIG. 2 is a first exemplary block diagram of a motion control module according to an embodiment of the present invention.
In fig. 2, the motion control module 11 includes: a robot motion planning module 110, a robot interpolation module 111, a robot inverse kinematics mapping module 112, a 3-joint robot motion algorithm library 113, a 5-joint robot motion algorithm library 114, and a 6-joint robot motion algorithm library 115. The above exemplary description describes the robot motion algorithm library embodied by the motion control module 11. Those skilled in the art will appreciate that the motion control module 11 may comprise any library of robot motion algorithms suitable for use with greater or lesser numbers of joints, and embodiments of the present invention are not limited in this respect.
It can be seen that the motion control module 11 includes three robot motion algorithm libraries supporting a 3-joint robot, a 5-joint robot, and a 6-joint robot, respectively. Accordingly, the motion control module 11 may support respective configurations of the 3-joint robot, the 5-joint robot, and the 6-joint robot. For example, when the motion control module 11 receives a configuration command including the number of joints of the robot being 5 and the configuration parameters of the robot, the motion control module first determines that the motion algorithm library corresponding to the number of joints of the robot (i.e. 5) is the 5-joint robot motion algorithm library 114, and then inputs the configuration parameters of the robot into the 5-joint robot motion algorithm library 114.
Then, when the motion control module 11 receives the robot joint execution command, the robot motion planning module 110 executes robot motion planning based on the robot joint execution command. The robot interpolation module 111 is configured to perform interpolation operation on the robot motion planning result. The robot inverse kinematics mapping module 112 is configured to call a 5-joint robot motion algorithm library 114 corresponding to the number of robot joints and having inputted robot configuration parameters, and map interpolation operation results from cartesian space to axial space (i.e. perform inverse kinematics mapping) to generate robot joint control parameters.
It can be seen that the motion control module shown in fig. 2 can support the configuration and control of the robotic joints for 3 joints, 5 joints and 6 joints. In fig. 2, the motion control module 11 is exemplarily illustrated by taking robot joints of 3 joints, 5 joints, and 6 joints as an example. Those skilled in the art will appreciate that this description is by way of example only, and is not intended to limit the scope of embodiments of the invention. For example, the algorithm library may also include a library of robot articulation algorithms with more or fewer joints.
FIG. 3 is a second exemplary block diagram of a motion control module according to an embodiment of the present invention.
In fig. 3, the motion control module 11 includes: a robot motion planning module 210, a robot interpolation module 211, a combination module 212, a robot inverse kinematics mapping module 213, a 5-joint robot motion algorithm library 214, a 6-joint robot motion algorithm library 215, an auxiliary axis motion planning module 216, an auxiliary axis interpolation module 217, a 2-joint auxiliary axis motion algorithm library 219, and a 3-joint auxiliary axis motion algorithm library 220.
As can be seen, the motion control module 11 includes a robot motion algorithm library supporting 5 joints and 6 joints, respectively, and an auxiliary axis motion algorithm library supporting 2 joints and 3 joints, respectively. Thus, the motion control module 11 may support configuration and control of a robot including 5 joints or 6 joints, and support configuration and control of an auxiliary axis including 2 joints or 3 joints.
For example, when the motion control module 11 receives a configuration command including the robot joint number of 6, the robot configuration parameter, the auxiliary joint number of 3, and the auxiliary joint configuration parameter, the motion control module 11 determines that the motion algorithm library corresponding to the robot joint number (i.e., 6) is the 6-joint robot motion algorithm library 215, and inputs the robot configuration parameter into the 6-joint robot motion algorithm library 215. Also, the motion control module 11 determines the motion algorithm library corresponding to the number of auxiliary joints (i.e., 3) as the 3-joint auxiliary axis motion algorithm library 220, and inputs the auxiliary joint configuration parameters into the 3-joint auxiliary axis motion algorithm library 220.
Then, when the motion control module 11 receives the robot joint execution command and the auxiliary joint execution command, the robot motion planning module 210 is configured to execute robot motion planning based on the robot joint execution command. The robot interpolation module 211 is configured to perform interpolation operation on the robot motion planning result. The auxiliary axis motion planning module 216 is to perform an auxiliary axis motion planning based on the auxiliary joint execution command. The auxiliary joint interpolation module 217 is configured to perform an interpolation operation on the auxiliary axis motion plan. The auxiliary joint positive kinematics mapping module 218 calls a 3-joint auxiliary axis motion algorithm library 220 corresponding to the auxiliary joint number and having input auxiliary joint configuration parameters, and maps the interpolation operation result of the auxiliary joint interpolation module 217 from the axis space to the cartesian space (i.e., performs positive kinematics mapping) to generate auxiliary joint control parameters. The combination module 212 combines the auxiliary joint control parameters provided by the auxiliary joint positive kinematics mapping module 218 and the interpolation operation results provided by the robot interpolation module 211. The robot inverse kinematics mapping module 213 calls a 6-joint auxiliary axis motion algorithm library 215 corresponding to the number of robot joints and having inputted robot joint configuration parameters, maps the combined result of the combining module 212 from cartesian space to axis space (i.e., performs inverse kinematics mapping) to generate robot joint control parameters.
In fig. 3, the motion control module 11 is exemplarily illustrated by taking a robot supporting 5 joints and 6 joints, and an auxiliary axis supporting 2 joints and 3 joints as an example. Those skilled in the art will appreciate that this description is by way of example only, and is not intended to limit the scope of embodiments of the invention.
The above description is given by taking the first controlled object as a robot and the second controlled object as an auxiliary axis system as an example, and it can be appreciated by those skilled in the art that the description is also only exemplary and is not intended to limit the scope of the embodiments of the present invention. In fact, the embodiment of the invention can also be applied to a numerical control system of a machine tool.
Fig. 4 is an exemplary field structure diagram of a message format according to an embodiment of the present invention.
As can be seen from fig. 4, the message format can be divided into two parts, where the first part includes: a field s1.. Sm... a field Sm _ max. The first part includes: a field j1.. a field Jn... a field Jn _ max.
The first part comprises Sm _ max first controlled object control fields; the second part comprises Jn _ max first controlled object control fields. The first controlled object control field is adapted to be filled with a first controlled object control parameter; the second controlled object control field is adapted to fill in the second controlled object control parameters. Each of the first controlled object control parameters is used to control a joint of the first controlled object, for example, a joint of a robot. Each of the second controlled object control parameters is used to control a joint of the second controlled object, for example, an auxiliary joint of the auxiliary axis system.
When it is desired to control the robot without controlling the auxiliary axes, a maximum of Sm _ max robot control parameters can be individually packaged based on the message format shown in fig. 4, leaving the second portion empty.
When it is necessary to control the auxiliary axes without controlling the robot, based on the message format shown in fig. 4, the auxiliary axis control parameters of at most Jn _ max can be individually packaged, leaving the first part empty.
When the auxiliary axis needs to be controlled and the robot needs to be controlled, based on the message format shown in fig. 4, the robot control parameters of at most Sm _ max and the auxiliary axis control parameters of at most Jn _ max can be encapsulated.
FIG. 5 is an exemplary process diagram of a mapping module according to an embodiment of the invention.
As can be seen from fig. 5, the mapping module 13 may map each field in the message format to a corresponding driving physical channel in the driving physical channel set 70.
For example, assume that m first controlled object control parameters are filled between the first controlled object control field S1 and the first controlled object control field Sm, wherein the first controlled object control parameter in the field S1 is used for controlling the robot joint 1. Then the mapping module 13 maps the first controlled object control parameter in the field S1 to the robot joint driving physical channel P1 in the driving physical channel set 70, and the robot joint driving physical channel P1 sends the first controlled object control parameter in the field S1 to the driving mechanism of the robot joint 1 to control the robot joint 1 by the driving mechanism of the robot joint 1 based on the first controlled object control parameter in the field S1. The field S1 is similarly executed with the other respective fields between the field Sm until the mapping module 13 maps the first controlled-object control parameter in the field Sm to the robot joint driving physical channel Pm in the driving physical channel set 70, which transmits the first controlled-object control parameter in the field Sm to the driving mechanism of the robot joint m to control the robot joint m by the driving mechanism of the robot joint m based on the first controlled-object control parameter in the field Sm.
For another example, assume that n second controlled object control parameters are filled between the second controlled object control field J1 and the second controlled object control field Jn, where the second controlled object control parameters in field J1 are used to control the auxiliary joint 1.. the second controlled object control parameters in field Jn are used to control the auxiliary joint n. Then the mapping module 13 maps the second controlled object control parameter in field J1 to the auxiliary joint driving physical channel Q1 in the driving physical channel set 70, and the auxiliary joint driving physical channel Q1 transmits the second controlled object control parameter in field J1 to the driving mechanism of the auxiliary joint 1 to control the auxiliary joint 1 by the driving mechanism of the auxiliary joint 1 based on the second controlled object control parameter in field J1. The field J1 executes similarly to the other respective fields between the field Jn until the mapping module 13 maps the second controlled object control parameter in the field Jn to the auxiliary joint driving physical channel Qn in the driving physical channel set 70, which transmits the second controlled object control parameter in the field Jn to the driving mechanism of the auxiliary joint n to control the auxiliary joint n by the driving mechanism of the auxiliary joint n based on the second controlled object control parameter in the field Jn.
Those skilled in the art will appreciate that the message format shown in fig. 4 and the mapping manner shown in fig. 5 are only typical examples of the embodiments of the present invention, and the embodiments of the present invention are not limited thereto.
Fig. 6 is an exemplary block diagram of a multi-axis motion control system according to an embodiment of the present invention.
In fig. 6, the multi-axis motion controller 10 is connected to an HMI 60. The multi-axis motion controller 10 includes a command parser 61, a motion control module 11, a data interaction interface 12, and a mapping module 13. The HMI60 receives user commands.
The command parser 61 parses the user command into a configuration command 62 or an execution command 69 based on the specific format of the user command, wherein the execution command 69 includes a robot joint execution command, an auxiliary joint execution command, or a robot joint and auxiliary joint coordinated execution command. Preferably, the robot joint execution commands comprise robot PTP commands and robot cartesian motion commands.
When the user command is a configuration command, the motion control module 11 in the multi-axis motion controller 10 determines a robot motion algorithm library and an auxiliary axis motion algorithm library respectively based on the number of robot joints and the number of auxiliary joints in the configuration command, and inputs the robot configuration parameters into the robot motion algorithm library and the auxiliary axis configuration parameters into the auxiliary axis motion algorithm library. And the data interaction interface 12 activates a robot joint control field in a preset message format based on the number of robot joints in the configuration command, and activates an auxiliary joint control field in the preset message format based on the number of auxiliary joints. The mapping module 13 establishes a first mapping between the activated robot joint control fields and the robot joint drive physical channel 63 and a second mapping between the activated auxiliary joint control fields and the auxiliary joint drive physical channel 66.
The robot PTP motion planning module 610 executes robot PTP motion planning on a robot PTP command, and the robot joint PTP interpolation module 611 executes interpolation on a robot PTP motion planning result output by the robot PTP motion planning module 610. The robot cartesian motion planning module 612 performs robot cartesian motion planning on the robot cartesian motion command, and the robot cartesian interpolation module 613 performs interpolation on the robot motion planning result output by the robot cartesian motion planning module 612. The auxiliary axis motion planning module 616 performs an auxiliary axis motion planning, and the auxiliary joint interpolation module 617 performs an interpolation on the auxiliary axis motion planning output by the auxiliary axis motion planning module 616. The robot and auxiliary axis cooperative motion planning module 614 performs motion planning on a cooperative command including a robot execution command and an auxiliary joint execution command, and the robot and auxiliary joint cooperative interpolation module 615 performs interpolation on an output result of the robot and auxiliary axis cooperative motion planning module 614. The robot joint and auxiliary joint motion algorithm library 618 is used to provide a robot motion algorithm library and an auxiliary axis motion algorithm library for the other modules in the multi-axis motion controller 10.
The robot joint drivers 64 are correspondingly connected to respective robot joint drive physical channels 63. The robot joint driver 64 controls the respectively connected robot joint motors 65 based on the robot joint control parameters provided by the corresponding robot joint drive physical channel 63. The auxiliary joint drivers 67 are correspondingly connected to respective auxiliary joint drive physical channels 66. The auxiliary joint driver 67 controls the respective connected auxiliary joint motor 68 based on the auxiliary joint control parameters provided by the corresponding auxiliary joint drive physical channel 66.
Based on the above description, the embodiment of the invention also provides a multi-axis motion control method.
Fig. 7 is a flowchart of a multi-axis motion control method according to an embodiment of the present invention.
As shown in fig. 7, the method includes:
step 701: receiving a configuration command containing a first controlled object joint number and a first controlled object configuration parameter, determining a first controlled object motion algorithm library corresponding to the first controlled object joint number, and inputting the first controlled object configuration parameter into the first controlled object motion algorithm library.
Step 702: and activating a first controlled object control field in a preset message format based on the first controlled object joint number.
Step 703: and establishing a first mapping relation between the activated first controlled object control field and the first controlled object driving physical channel.
In one embodiment, the configuration command further includes a second controlled object joint number and a second controlled object configuration parameter; the method further comprises the following steps:
determining a second controlled object motion algorithm library corresponding to the number of the second controlled object joints, and inputting the second controlled object configuration parameters into the second controlled object motion algorithm library; activating a second controlled object control field in a preset message format based on the second controlled object joint number; and establishing a second mapping relation between the activated second controlled object control field and a second controlled object driving physical channel.
In one embodiment, the method further comprises: receiving a first controlled object execution command, and determining a first controlled object control parameter based on the first controlled object execution command and a first controlled object motion algorithm library; packaging the first controlled object control parameter into the activated first controlled object control field; and sending the first controlled object control parameters in the activated first controlled object control field to the corresponding first controlled object drive physical channel based on the first mapping relation.
In one embodiment, the method further comprises: receiving a second controlled object execution command, and determining a second controlled object control parameter based on the second controlled object execution command and a second controlled object motion algorithm library; packaging the second controlled object control parameter into the activated second controlled object control field; and sending the second controlled object control parameters in the activated second controlled object control field to the corresponding second controlled object drive physical channel based on the second mapping relation.
In one embodiment, the method further comprises: receiving a first controlled object execution command and a second controlled object execution command, determining a second controlled object control parameter based on the second controlled object execution command and a second controlled object motion algorithm library, and determining a first controlled object control parameter based on the second controlled object control parameter, the first controlled object execution command and the first controlled object motion algorithm library; packaging the first controlled object control parameter into the activated first controlled object control field, and packaging the second controlled object control parameter into the activated second controlled object control field; and sending the first controlled object control parameter in the activated first controlled object control field to the corresponding first controlled object driving physical channel based on the first mapping relation, and sending the second controlled object control parameter in the activated second controlled object control field to the corresponding second controlled object driving physical channel based on the second mapping relation.
The embodiment of the invention also provides a multi-axis motion controller with a processor-memory architecture.
FIG. 8 is a block diagram of a multi-axis motion controller having a processor-memory architecture.
As shown in fig. 8, the multi-axis motion controller 800 includes a processor 801 and a memory 802;
the memory 802 stores an application program executable by the processor 801 for causing the processor 801 to perform the multi-axis motion control method as described above.
The memory 802 may be embodied as various storage media such as an Electrically Erasable Programmable Read Only Memory (EEPROM), a Flash memory (Flash memory), and a Programmable Read Only Memory (PROM). The processor 801 may be implemented to include one or more central processors or one or more field programmable gate arrays that integrate one or more central processor cores. In particular, the central processor or central processor core may be implemented as a CPU or MCU.
It should be noted that not all steps and modules in the above flows and structures are necessary, and some steps or modules may be omitted according to actual needs. The execution order of the steps is not fixed and can be adjusted as required. The division of each module is only for convenience of describing adopted functional division, and in actual implementation, one module may be divided into multiple modules, and the functions of multiple modules may also be implemented by the same module, and these modules may be located in the same device or in different devices.
The hardware modules in the various embodiments may be implemented mechanically or electronically. For example, a hardware module may include a specially designed permanent circuit or logic device (e.g., a special purpose processor such as an FPGA or ASIC) for performing specific operations. A hardware module may also include programmable logic devices or circuits (e.g., including a general-purpose processor or other programmable processor) that are temporarily configured by software to perform certain operations. The implementation of the hardware module in a mechanical manner, or in a dedicated permanent circuit, or in a temporarily configured circuit (e.g., configured by software), may be determined based on cost and time considerations.
The present invention also provides a machine-readable storage medium storing instructions for causing a machine to perform a method as described herein. Specifically, a system or an apparatus equipped with a storage medium on which a software program code that realizes the functions of any of the embodiments described above is stored may be provided, and a computer (or a CPU or MPU) of the system or the apparatus is caused to read out and execute the program code stored in the storage medium. Further, part or all of the actual operations may be performed by an operating system or the like operating on the computer by instructions based on the program code. The functions of any of the above-described embodiments may also be implemented by writing the program code read out from the storage medium to a memory provided in an expansion board inserted into the computer or to a memory provided in an expansion unit connected to the computer, and then causing a CPU or the like mounted on the expansion board or the expansion unit to perform part or all of the actual operations based on the instructions of the program code.
Examples of the storage medium for supplying the program code include floppy disks, hard disks, magneto-optical disks, optical disks (e.g., CD-ROMs, CD-R, CD-RWs, DVD-ROMs, DVD-RAMs, DVD-RWs, DVD + RWs), magnetic tapes, nonvolatile memory cards, and ROMs. Alternatively, the program code may be downloaded from a server computer via a communications network.
The above description is only a preferred embodiment of the present invention, and is not intended to limit the scope of the present invention. Any modification, equivalent replacement, or improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (15)

  1. A multi-axis motion controller (10), comprising:
    the motion control module (11) is used for receiving a configuration command containing a first controlled object joint number and a first controlled object configuration parameter, determining a first controlled object motion algorithm library corresponding to the first controlled object joint number, and inputting the first controlled object configuration parameter into the first controlled object motion algorithm library;
    a data interaction interface (12) adapted to activate a first controlled object control field in a predetermined message format based on the first controlled object number of joints;
    a mapping module (13) adapted to establish a first mapping relationship between the activated first controlled object control field and the first controlled object driven physical channel.
  2. The multi-axis motion controller (10) of claim 1, wherein the configuration command further includes a second controlled object joint number and a second controlled object configuration parameter;
    the motion control module (11) is further adapted to determine a second controlled object motion algorithm library corresponding to the second controlled object joint number, and input the second controlled object configuration parameters into the second controlled object motion algorithm library;
    the data interaction interface (12) is further adapted to activate a second controlled object control field in the predetermined message format based on the second controlled object joint number;
    the mapping module (13) is further adapted to establish a second mapping relationship between the activated second controlled object control field and a second controlled object driven physical channel.
  3. The multi-axis motion controller (10) of claim 1,
    the motion control module (11) is further adapted to receive a first controlled object execution command, and determine a first controlled object control parameter based on the first controlled object execution command and the first controlled object motion algorithm library;
    the data interaction interface (12) is further adapted to encapsulate the first controlled object control parameter into an activated first controlled object control field;
    the mapping module (13) is further adapted to send the first controlled object control parameter in the activated first controlled object control field to the corresponding first controlled object driven physical channel based on the first mapping relation.
  4. The multi-axis motion controller (10) of claim 2,
    the motion control module (11) is further adapted to receive a second controlled object execution command, and determine a second controlled object control parameter based on the second controlled object execution command and the second controlled object motion algorithm library;
    the data interaction interface (12) is further adapted to encapsulate the second controlled object control parameter into an activated second controlled object control field;
    the mapping module (13) is further adapted to send the second controlled object control parameters in the activated second controlled object control field to the corresponding second controlled object driven physical channel based on the second mapping relationship.
  5. The multi-axis motion controller (10) of claim 2,
    the motion control module (11) is further adapted to receive a first controlled object execution command and a second controlled object execution command, determine a second controlled object control parameter based on the second controlled object execution command and the second controlled object motion algorithm library, and determine a first controlled object control parameter based on the second controlled object control parameter, the first controlled object execution command and the first controlled object motion algorithm library;
    the data interaction interface (12) is further adapted to encapsulate the first controlled object control parameter into an activated first controlled object control field and the second controlled object control parameter into an activated second controlled object control field;
    the mapping module (13) is further adapted to send the first controlled object control parameter in the activated first controlled object control field to a corresponding first controlled object driven physical channel based on the first mapping relationship, and send the second controlled object control parameter in the activated second controlled object control field to a corresponding second controlled object driven physical channel based on the second mapping relationship.
  6. The multi-axis motion controller (10) of claim 3, 4 or 5, further comprising:
    a command parser (61) adapted to parse a user command received by a human-machine interface into the configuration command, the first controlled object execution command or the second controlled object execution command based on a predetermined command format parsing syntax.
  7. The multi-axis motion controller (10) according to claim 1, wherein the first controlled object is a robot, and the second controlled object is an auxiliary axis system.
  8. A multi-axis motion control method, comprising:
    receiving a configuration command comprising a first controlled object joint number and a first controlled object configuration parameter, determining a first controlled object motion algorithm library corresponding to the first controlled object joint number, and inputting the first controlled object configuration parameter into the first controlled object motion algorithm library (701);
    activating a first controlled object control field (702) in a predetermined message format based on the first controlled object joint number;
    a first mapping relationship between the activated first controlled object control field and the first controlled object driven physical channel is established (703).
  9. The multi-axis motion control method of claim 8, wherein the configuration command further includes a second controlled object joint number and a second controlled object configuration parameter; the method further comprises the following steps:
    determining a second controlled object motion algorithm library corresponding to the second controlled object joint number, and inputting the second controlled object configuration parameters into the second controlled object motion algorithm library;
    activating a second controlled object control field in the predetermined message format based on the second controlled object joint number;
    and establishing a second mapping relation between the activated second controlled object control field and a second controlled object driving physical channel.
  10. The multi-axis motion control method of claim 8, further comprising:
    receiving a first controlled object execution command, and determining a first controlled object control parameter based on the first controlled object execution command and the first controlled object motion algorithm library;
    packaging the first controlled object control parameter into the activated first controlled object control field;
    and sending the first controlled object control parameter in the activated first controlled object control field to a corresponding first controlled object driving physical channel based on the first mapping relation.
  11. The multi-axis motion control method of claim 9, further comprising:
    receiving a second controlled object execution command, and determining a second controlled object control parameter based on the second controlled object execution command and the second controlled object motion algorithm library;
    packaging the second controlled object control parameter into the activated second controlled object control field;
    and sending the second controlled object control parameters in the activated second controlled object control field to a corresponding second controlled object drive physical channel based on the second mapping relation.
  12. The multi-axis motion control method of claim 9, further comprising:
    receiving a first controlled object execution command and a second controlled object execution command, determining a second controlled object control parameter based on the second controlled object execution command and the second controlled object motion algorithm library, and determining a first controlled object control parameter based on the second controlled object control parameter, the first controlled object execution command and the first controlled object motion algorithm library;
    packaging the first controlled object control parameter into the activated first controlled object control field, and packaging the second controlled object control parameter into the activated second controlled object control field;
    and sending the first controlled object control parameter in the activated first controlled object control field to a corresponding first controlled object driving physical channel based on the first mapping relation, and sending the second controlled object control parameter in the activated second controlled object control field to a corresponding second controlled object driving physical channel based on the second mapping relation.
  13. Multi-axis motion control system, characterized by comprising a multi-axis motion controller (10) according to any of claims 1-7.
  14. A multi-axis motion controller (800) comprising a processor (801) and a memory (802);
    the memory (802) has stored therein an application executable by the processor (801) for causing the processor (801) to execute the multi-axis motion control method of any of claims 8-12.
  15. Computer-readable storage media, characterized in that computer-readable instructions are stored therein for performing the multi-axis motion control method according to any of claims 8-12.
CN201980091298.2A 2019-04-23 2019-04-23 Multi-axis motion controller, multi-axis motion control method and system Pending CN113396032A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/083914 WO2020215213A1 (en) 2019-04-23 2019-04-23 Multi-axis motion controller, multi-axis motion control method and system

Publications (1)

Publication Number Publication Date
CN113396032A true CN113396032A (en) 2021-09-14

Family

ID=72941278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980091298.2A Pending CN113396032A (en) 2019-04-23 2019-04-23 Multi-axis motion controller, multi-axis motion control method and system

Country Status (2)

Country Link
CN (1) CN113396032A (en)
WO (1) WO2020215213A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117472049A (en) * 2023-10-25 2024-01-30 山东大学 Control method and system for movement device, storage medium and movement device

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101791801A (en) * 2010-01-15 2010-08-04 广东工业大学 Industrial robot motion planning and performance testing system and implementation method thereof
CN102581850A (en) * 2012-02-10 2012-07-18 广州数控设备有限公司 GSK-Link bus based modular robot control device and control method
US20120191244A1 (en) * 2011-01-24 2012-07-26 Samsung Electronics Co., Ltd. Robot control system and method
CN104942808A (en) * 2015-06-29 2015-09-30 广州数控设备有限公司 Robot motion path off-line programming method and system
CN106078752A (en) * 2016-06-27 2016-11-09 西安电子科技大学 Method is imitated in a kind of anthropomorphic robot human body behavior based on Kinect
CN106985150A (en) * 2017-03-21 2017-07-28 深圳泰坦创新科技有限公司 The method and apparatus of control machine human action
CN109079794A (en) * 2018-09-18 2018-12-25 广东省智能制造研究所 It is a kind of followed based on human body attitude robot control and teaching method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101791801A (en) * 2010-01-15 2010-08-04 广东工业大学 Industrial robot motion planning and performance testing system and implementation method thereof
US20120191244A1 (en) * 2011-01-24 2012-07-26 Samsung Electronics Co., Ltd. Robot control system and method
CN102581850A (en) * 2012-02-10 2012-07-18 广州数控设备有限公司 GSK-Link bus based modular robot control device and control method
CN104942808A (en) * 2015-06-29 2015-09-30 广州数控设备有限公司 Robot motion path off-line programming method and system
CN106078752A (en) * 2016-06-27 2016-11-09 西安电子科技大学 Method is imitated in a kind of anthropomorphic robot human body behavior based on Kinect
CN106985150A (en) * 2017-03-21 2017-07-28 深圳泰坦创新科技有限公司 The method and apparatus of control machine human action
CN109079794A (en) * 2018-09-18 2018-12-25 广东省智能制造研究所 It is a kind of followed based on human body attitude robot control and teaching method

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117472049A (en) * 2023-10-25 2024-01-30 山东大学 Control method and system for movement device, storage medium and movement device
CN117472049B (en) * 2023-10-25 2024-05-07 山东大学 Control method and system for movement device, storage medium and movement device

Also Published As

Publication number Publication date
WO2020215213A1 (en) 2020-10-29

Similar Documents

Publication Publication Date Title
CN108568818B (en) Control system and method for robot
US10286551B2 (en) Robot system that controls robot including multiple mechanical units, the mechanical units, and robot control device
CN100460159C (en) Off line programming tool for industrial robot
US11198219B2 (en) Controller, control system, and control method
CN107838922B (en) Robot repetition-free teaching method
CN109542046B (en) Control device, control method, and control system
Correa et al. A modular-architecture controller for CNC systems based on open-source electronics
WO2012090394A1 (en) Laser processing system, and method for controlling same
JP2019061523A (en) Information processing unit, information processing method, and program
CN107791244A (en) Controller, operation controller, multi-axis actuation control device and drive dynamic control device
US10786898B2 (en) Method for the automatic configuration of an external control system for the open-loop and/or closed-loop control of a robot system
CN103429399A (en) System for commanding a robot
CN113396032A (en) Multi-axis motion controller, multi-axis motion control method and system
JP2021086393A (en) Control system, local controller, and control method
CN113874177A (en) Robot system, recovery program generation device, control support device, control device, program, recovery program generation method, and recovery program output method
CN115151874A (en) Robot control system and control method
CN112041128B (en) Teaching method of robot and teaching system of robot
CN111176225A (en) Method and apparatus for proxy execution and computation using an industrial controller
CN112975120A (en) Scanner controller and scanner control system
JP7374867B2 (en) Control system, local controller and control method
JP2009211369A (en) Operation simulator for numerically controlled machine
CN113119105A (en) Robot multi-machine linkage control method, multi-machine linkage control equipment and control system
CN105196293A (en) Control system for 120 kg loaded four-shaft stacking robot
JP7167516B2 (en) Control device, control method and control program
US20220283568A1 (en) System and method for controlling at least one machine, more particularly a collective of machines

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination