WO2020215213A1 - 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
WO2020215213A1
WO2020215213A1 PCT/CN2019/083914 CN2019083914W WO2020215213A1 WO 2020215213 A1 WO2020215213 A1 WO 2020215213A1 CN 2019083914 W CN2019083914 W CN 2019083914W WO 2020215213 A1 WO2020215213 A1 WO 2020215213A1
Authority
WO
WIPO (PCT)
Prior art keywords
controlled
control
motion
robot
activated
Prior art date
Application number
PCT/CN2019/083914
Other languages
French (fr)
Chinese (zh)
Inventor
王子建
范顺杰
Original Assignee
西门子股份公司
西门子(中国)有限公司
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 西门子股份公司, 西门子(中国)有限公司 filed Critical 西门子股份公司
Priority to PCT/CN2019/083914 priority Critical patent/WO2020215213A1/en
Publication of WO2020215213A1 publication Critical patent/WO2020215213A1/en

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

Disclosed are a multi-axis motion controller (10), a multi-axis motion control method and system. The multi-axis motion controller (10) comprises: a motion control module (11) which is adapted to receive a configuration command including the number of joints of a first controlled object and configuration parameters of the first controlled object, determine a motion algorithm library of the first controlled object, corresponding to the number of joints of the first controlled object, and input the configuration parameters of the first controlled object into the motion algorithm library of the first controlled object; a data interaction interface (12) which is adapted to activate a control field of the first controlled object in a predetermined message format according to the number of joints of the first controlled object; and a mapping module (13) which is adapted to establish a first mapping relationship between the activated control field of the first controlled object and a driving physical channel of the first controlled object. The multi-axis motion controller (10), the multi-axis motion control method and system relate to a control mechanism associated with a robot with a configurable number of joints.

Description

多轴运动控制器、多轴运动控制方法和系统Multi-axis motion controller, multi-axis motion control method and system 技术领域Technical field
本申请涉及多轴运动领域,尤其涉及一种多轴运动控制器、多轴运动控制方法和系统。This application relates to the field of multi-axis motion, in particular to a multi-axis motion controller, a multi-axis motion control method and system.
背景技术Background technique
随着电子技术和软件技术的飞速发展,多轴联动控制系统不断更新换代。多轴联动控制系统在工业上有着广泛的应用,机床数控系统和机器人控制系统都属于多轴联动控制系统。With the rapid development of electronic technology and software technology, the multi-axis linkage control system is constantly updated. Multi-axis linkage control system has a wide range of applications in industry. Machine tool numerical control systems and robot control systems are all multi-axis linkage control systems.
多轴运动控制器是工厂自动化系统的关键组件。当应用到工业机器人场景时,多轴运动控制器除了可以控制机器人关节之外,还可以控制辅助关节与机器人关节协调移动。Multi-axis motion controller is a key component of factory automation system. When applied to an industrial robot scene, the multi-axis motion controller can not only control the robot joints, but also control the auxiliary joints to move in coordination with the robot joints.
在中国专利公开文献CN102103372B中,公开了一种模块化可重构机器人的关节模块控制系统,其中披露了一种用于构建机器人臂的、可配置的机器人关节。In Chinese Patent Publication CN102103372B, a joint module control system of a modular reconfigurable robot is disclosed, which discloses a configurable robot joint for constructing a robot arm.
然而,以该专利文献为典型实例的现有技术中,均涉及关节数固定的机器人的控制机制,而并没有披露与关节数可配置的机器人相关的控制机制。However, the prior art using this patent document as a typical example all relates to a control mechanism of a robot with a fixed number of joints, but does not disclose a control mechanism related to a robot with a configurable number of joints.
发明内容Summary of the invention
有鉴于此,本发明实施方式的主要目的在于提供一种多轴运动控制器、多轴运动控制方法和系统。In view of this, the main purpose of the embodiments of the present invention is to provide a multi-axis motion controller, a multi-axis motion control method and system.
本发明实施方式的技术方案是这样实现的:The technical scheme of the embodiment of the present invention is realized as follows:
多轴运动控制器,包括:Multi-axis motion controller, including:
运动控制模块,其适配于接收包含第一被控对象关节数和第一被控对象配置参数的配置命令,确定对应于所述第一被控对象关节数的第一被控对象运动算法库,将所述第一被控对象配置参数输入到所述第一被控对象运动算法库中;A motion control module adapted to receive a configuration command including the number of joints of the first controlled object and the configuration parameters of the first controlled object, and determine the first controlled object motion algorithm library corresponding to the number of joints of the first controlled object , Input the first controlled object configuration parameter into the first controlled object motion algorithm library;
数据交互接口,其适配于基于所述第一被控对象关节数激活预定报文格式中的第一被控对象控制字段;A data interaction interface adapted to activate the first controlled object control field in a predetermined message format based on the number of joints of the first controlled object;
映射模块,其适配于建立已激活的第一被控对象控制字段与第一被控对象驱动物理信道之间的第一映射关系。The mapping module is adapted to establish a first mapping relationship between the activated first controlled object control field and the first controlled object driven physical channel.
可见,本发明实施方式通过可配置的第一被控对象关节数激活相应数目的第一被控对象控制字段,而且建立已激活的第一被控对象控制字段与各自的第一被控对象驱动物理信道之间的第一映射关系,实现了针对关节数可配置的第一被控对象的预先配置。It can be seen that the embodiment of the present invention activates a corresponding number of first controlled object control fields through the configurable number of first controlled object joints, and establishes the activated first controlled object control field and the respective first controlled object drive The first mapping relationship between the physical channels realizes the pre-configuration of the first controlled object with a configurable number of joints.
在一个实施方式中,所述配置命令还包括第二被控对象关节数和第二被控对象配置参数;In one embodiment, the configuration command further includes the number of joints of the second controlled object and the configuration parameters of the second controlled object;
所述运动控制模块,其还适配于确定对应于所述第二被控对象关节数的第二被控对象运动算法库,将 所述第二被控对象配置参数输入到所述第二被控对象运动算法库中;The motion control module is further adapted to determine a second controlled object motion algorithm library corresponding to the number of joints of the second controlled object, and input the second controlled object configuration parameters into the second controlled object Controlled object motion algorithm library;
所述数据交互接口,其还适配于基于所述第二被控对象关节数激活所述预定报文格式中的第二被控对象控制字段;The data interaction interface is further adapted to activate the second controlled object control field in the predetermined message format based on the number of joints of the second controlled object;
映射模块,其还适配于建立已激活的第二被控对象控制字段与第二被控对象驱动物理信道之间的第二映射关系。The mapping module is further adapted to establish a second mapping relationship between the activated second controlled object control field and the second controlled object drive physical channel.
可见,本发明实施方式通过可配置的第二被控对象关节数激活相应数目的第二被控对象控制字段,而且建立已激活的第二被控对象控制字段与各自的第二被控对象驱动物理信道之间的第二映射关系,实现了针对关节数可配置的第二被控对象的预先配置。It can be seen that the embodiment of the present invention activates a corresponding number of second controlled object control fields through the configurable number of second controlled object joints, and establishes the activated second controlled object control field and the respective second controlled object drive The second mapping relationship between the physical channels realizes the pre-configuration of the second controlled object with a configurable number of joints.
在一个实施方式中,所述运动控制模块,其还适配于接收第一被控对象执行命令,基于所述第一被控对象执行命令和所述第一被控对象运动算法库确定第一被控对象控制参数;In one embodiment, the motion control module is further adapted to receive a first controlled object execution command, and determine the first controlled object based on the first controlled object execution command and the first controlled object motion algorithm library. Control parameters of the controlled object;
所述数据交互接口,其还适配于将所述第一被控对象控制参数封装到已激活的第一被控对象控制字段中;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 driver based on the first mapping relationship Physical channel.
因此,本发明实施方式的多轴运动控制器可以支持第一被控对象的单独运动控制。Therefore, the multi-axis motion controller of the embodiment of the present invention can support individual 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 the second controlled object based on the second controlled object execution command and the second controlled object motion algorithm library. Control parameters of the controlled object;
所述数据交互接口,其还适配于将所述第二被控对象控制参数封装到已激活的第二被控对象控制字段中;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 the corresponding second controlled object driver based on the second mapping relationship Physical channel.
因此,本发明实施方式的多轴运动控制器可以支持第二被控对象的单独运动控制。Therefore, the multi-axis motion controller of the embodiment of the present invention can support individual 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, based on the second controlled object execution command and the second controlled object execution command The controlled object motion algorithm library determines the second controlled object control parameter, and determines the first controlled object based on the second controlled object control parameter, the execution command of the first controlled object, and the first controlled object motion algorithm library. Object control parameters;
所述数据交互接口,其还适配于将所述第一被控对象控制参数封装到已激活的第一被控对象控制字段中,将所述第二被控对象控制参数封装到已激活的第二被控对象控制字段中;The data interaction interface is further adapted to encapsulate the first controlled object control parameter into the activated first controlled object control field, and encapsulate the second controlled object control parameter into the activated In the 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 the corresponding first controlled object driver based on the first mapping relationship The physical channel, based on the second mapping relationship, sends the second controlled object control parameter in the activated second controlled object control field to the corresponding second controlled object driving physical channel.
因此,本发明实施方式的多轴运动控制器可以支持第一被控对象和第二被控对象的协调运动控制。Therefore, the multi-axis motion controller of the embodiment of the present invention can support coordinated motion control of the first controlled object and the second controlled object.
在一个实施方式中,还包括:In one embodiment, it further includes:
命令解析器,其适配于基于预定的命令格式解析语法,将人机接口接收到的用户命令解析为所述配置命令、所述第一被控对象执行命令或所述第二被控对象执行命令。The command parser is adapted to parse the grammar based on a predetermined command format, and parse the user command received by the human-machine interface into the configuration command, the execution command of the first controlled object, or the execution of the second controlled object command.
因此,本发明实施方式基于命令解析器的解析工作,可以将配置命令与执行命令集中处理,提高处理效率。Therefore, based on the parsing work of the command parser, the embodiment of the present invention can centrally process configuration commands and execution commands, thereby improving processing efficiency.
多轴运动控制方法,包括:Multi-axis motion control methods, including:
接收包含第一被控对象关节数和第一被控对象配置参数的配置命令,确定对应于所述第一被控对象关节数的第一被控对象运动算法库,将所述第一被控对象配置参数输入到所述第一被控对象运动算法库中;Receive a configuration command containing the number of joints of the first controlled object and configuration parameters of the first controlled object, determine the first controlled object motion algorithm library corresponding to the number of joints of the first controlled object, and set the first controlled object The object configuration parameters are input into the first controlled object motion algorithm library;
基于所述第一被控对象关节数激活预定报文格式中的第一被控对象控制字段;Activating the first controlled object control field in the predetermined message format based on the number of joints of the first controlled object;
建立已激活的第一被控对象控制字段与第一被控对象驱动物理信道之间的第一映射关系。A first mapping relationship between the activated first controlled object control field and the first controlled object drive physical channel is established.
可见,本发明实施方式通过可配置的第一被控对象关节数激活相应数目的第一被控对象控制字段,而且建立已激活的第一被控对象控制字段与各自的第一被控对象驱动物理信道之间的第一映射关系,实现了针对关节数可配置的第一被控对象的预先配置。It can be seen that the embodiment of the present invention activates a corresponding number of first controlled object control fields through the configurable number of first controlled object joints, and establishes the activated first controlled object control field and the respective first controlled object drive The first mapping relationship between the physical channels realizes the pre-configuration of the first controlled object with a configurable number of joints.
在一个实施方式中,所述配置命令还包括第二被控对象关节数和第二被控对象配置参数;该方法还包括:In one embodiment, the configuration command further includes the number of joints of the second controlled object and the configuration parameters of the second controlled object; the method further includes:
确定对应于所述第二被控对象关节数的第二被控对象运动算法库,将所述第二被控对象配置参数输入到所述第二被控对象运动算法库中;Determining a second controlled object motion algorithm library corresponding to the number of joints of the second controlled object, and inputting the second controlled object configuration parameter into the second controlled object motion algorithm library;
基于所述第二被控对象关节数激活所述预定报文格式中的第二被控对象控制字段;Activating the second controlled object control field in the predetermined message format based on the number of joints of the second controlled object;
建立已激活的第二被控对象控制字段与第二被控对象驱动物理信道之间的第二映射关系。A second mapping relationship between the activated second controlled object control field and the second controlled object drive physical channel is established.
可见,本发明实施方式通过可配置的第二被控对象关节数激活相应数目的第二被控对象控制字段,而且建立已激活的第二被控对象控制字段与各自的第二被控对象驱动物理信道之间的第二映射关系,实现了针对关节数可配置的第二被控对象的预先配置。It can be seen that the embodiment of the present invention activates a corresponding number of second controlled object control fields through the configurable number of second controlled object joints, and establishes the activated second controlled object control field and the respective second controlled object drive The second mapping relationship between the physical channels realizes the pre-configuration of the second controlled object with a configurable number of joints.
在一个实施方式中,该方法还包括:In one embodiment, the method further includes:
接收第一被控对象执行命令,基于所述第一被控对象执行命令和所述第一被控对象运动算法库确定第一被控对象控制参数;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;
将所述第一被控对象控制参数封装到已激活的第一被控对象控制字段中;Encapsulating the first controlled object control parameter into the activated first controlled object control field;
基于所述第一映射关系,将所述已激活的第一被控对象控制字段中的第一被控对象控制参数发送到对应的第一被控对象驱动物理信道。Based on the first mapping relationship, the first controlled object control parameter in the activated first controlled object control field is sent to the corresponding first controlled object drive physical channel.
因此,本发明实施方式可以支持第一被控对象的单独运动控制。Therefore, the embodiments of the present invention can support individual motion control of the first controlled object.
在一个实施方式中,该方法还包括:In one embodiment, the method further includes:
接收第二被控对象执行命令,基于所述第二被控对象执行命令和所述第二被控对象运动算法库确定第二被控对象控制参数;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;
将所述第二被控对象控制参数封装到已激活的第二被控对象控制字段中;Encapsulating the second controlled object control parameter into the activated second controlled object control field;
基于所述第二映射关系,将所述已激活的第二被控对象控制字段中的第二被控对象控制参数发送到对应的第二被控对象驱动物理信道。Based on the second mapping relationship, the second controlled object control parameter in the activated second controlled object control field is sent to the corresponding second controlled object drive physical channel.
因此,本发明实施方式可以支持第二被控对象的单独运动控制。Therefore, the embodiments of the present invention can support individual motion control of the second controlled object.
在一个实施方式中,该方法还包括:In one embodiment, the method further includes:
接收第一被控对象执行命令和第二被控对象执行命令,基于所述第二被控对象执行命令和所述第二被控对象运动算法库确定第二被控对象控制参数,基于所述第二被控对象控制参数、所述第一被控对象执行命令和所述第一被控对象运动算法库确定第一被控对象控制参数;Receive the first controlled object execution command and the second controlled object execution command, determine the second controlled object control parameter based on the second controlled object execution command and the second controlled object motion algorithm library, based on the The second controlled object control parameter, the first controlled object execution command, and the first controlled object motion algorithm library determine the first controlled object control parameter;
将所述第一被控对象控制参数封装到已激活的第一被控对象控制字段中,将所述第二被控对象控制参数封装到已激活的第二被控对象控制字段中;Encapsulating the first controlled object control parameter in the activated first controlled object control field, and encapsulating the second controlled object control parameter in the activated second controlled object control field;
基于所述第一映射关系,将所述已激活的第一被控对象控制字段中的第一被控对象控制参数发送到对应的第一被控对象驱动物理信道,基于所述第二映射关系,将所述已激活的第二被控对象控制字段中的第二被控对象控制参数发送到对应的第二被控对象驱动物理信道。Based on the first mapping relationship, the first controlled object control parameter in the activated first controlled object control field is sent to the corresponding first controlled object drive physical channel, based on the second mapping relationship , Sending the second controlled object control parameter in the activated second controlled object control field to the corresponding second controlled object drive physical channel.
因此,本发明实施方式可以支持第一被控对象和第二被控对象的协调运动控制。Therefore, the embodiments of the present invention can support coordinated motion control of the first controlled object and the second controlled object.
多轴运动控制系统,包括如上任一项所述的多轴运动控制器。The multi-axis motion control system includes the multi-axis motion controller described in any one of the above.
多轴运动控制器,包括处理器和存储器;Multi-axis motion controller, including processor and memory;
所述存储器中存储有可被所述处理器执行的应用程序,用于使得所述处理器执行如上任一项所述的多轴运动控制方法。An application program that can be executed by the processor is stored in the memory to enable the processor to execute the multi-axis motion control method described in any one of the above.
因此,本发明实施方式还提出了一种具有处理器-存储器架构的多轴运动控制器。Therefore, the embodiment of the present invention also proposes a multi-axis motion controller with a processor-memory architecture.
计算机可读存储介质,其中存储有计算机可读指令,该计算机可读指令用于执行如上任一项所述的多轴运动控制方法。The computer-readable storage medium stores therein computer-readable instructions, and the computer-readable instructions are used to execute the multi-axis motion control method described in any of the above.
附图说明Description of the drawings
图1为根据本发明实施方式的多轴运动控制器的结构图。Fig. 1 is a structural diagram of a multi-axis motion controller according to an embodiment of the present invention.
图2为根据本发明实施方式的运动控制模块的第一示范性结构图。Fig. 2 is a first exemplary structure diagram of a motion control module according to an embodiment of the present invention.
图3为根据本发明实施方式的运动控制模块的第二示范性结构图。Fig. 3 is a second exemplary structure diagram of a motion control module according to an embodiment of the present invention.
图4为根据本发明实施方式的报文格式的示范性字段结构图。Fig. 4 is an exemplary field structure diagram of a message format according to an embodiment of the present invention.
图5为根据本发明实施方式的映射模块的示范性处理示意图。Fig. 5 is an exemplary processing diagram of a mapping module according to an embodiment of the present invention.
图6为根据本发明实施方式的多轴运动控制系统的示范性结构图。Fig. 6 is an exemplary structure diagram of a multi-axis motion control system according to an embodiment of the present invention.
图7为根据本发明实施方式的多轴运动控制方法的流程图。Fig. 7 is a flowchart of a multi-axis motion control method according to an embodiment of the present invention.
图8为具有处理器-存储器架构的多轴运动控制器的结构图。Fig. 8 is a structural diagram of a multi-axis motion controller with a processor-memory architecture.
其中,附图标记如下:Among them, the reference signs are as follows:
标号Label 含义meaning
1010 多轴运动控制器Multi-axis motion controller
1111 运动控制模块Motion control module
1212 数据交互接口Data interaction interface
1313 映射模块Mapping module
110110 机器人运动规划模块Robot motion planning module
111111 机器人插补模块Robot Interpolation Module
112112 机器人逆运动学映射模块Robot inverse kinematics mapping module
113113 3关节机器人运动算法库3 joint robot motion algorithm library
114114 5关节机器人运动算法库5-joint robot motion algorithm library
115115 6关节机器人运动算法库6-joint robot motion algorithm library
210210 机器人运动规划模块Robot motion planning module
211211 机器人插补模块Robot Interpolation Module
212212 结合模块Combining modules
213213 机器人逆运动学映射模块Robot inverse kinematics mapping module
214214 5关节机器人运动算法库5-joint robot motion algorithm library
215215 6关节机器人运动算法库6-joint robot motion algorithm library
216216 辅助轴运动规划模块Auxiliary axis motion planning module
217217 辅助轴插补模块Auxiliary axis interpolation module
218218 辅助轴正运动学映射模块Auxiliary axis positive kinematics mapping module
219219 2关节辅助轴运动算法库2 Joint auxiliary axis motion algorithm library
220220 3关节辅助轴运动算法库3 joint auxiliary axis motion algorithm library
7070 驱动物理信道集Drive physical channel set
6060 HMIHMI
6161 命令解析器Command parser
6262 配置命令Configuration command
6969 执行命令Excuting an order
6363 机器人关节驱动物理信道Robot joint drive physical channel
6464 机器人关节驱动器Robot joint driver
6565 机器人关节电机Robot joint motor
6666 辅助关节驱动物理信道Auxiliary joint drive physical channel
6767 辅助关节驱动器Auxiliary joint driver
6868 辅助关节电机Auxiliary joint motor
610610 机器人PTP运动规划模块Robot PTP motion planning module
611611 机器人PTP插补模块Robot PTP interpolation module
612612 机器人笛卡尔运动规划模块Robot Cartesian Motion Planning Module
613613 机器人笛卡尔插补模块Robot Cartesian Interpolation Module
614614 机器人和辅助轴的协同运动规划模块Cooperative motion planning module of robot and auxiliary axis
615615 机器人和辅助轴的协同插补模块Cooperative interpolation module for robot and auxiliary axis
616616 辅助轴运动规划模块Auxiliary axis motion planning module
617617 辅助轴插补模块Auxiliary axis interpolation module
618618 机器人和辅助轴的运动算法库Motion algorithm library of robots and auxiliary axes
701~703701~703 步骤step
800800 多轴运动控制器Multi-axis motion controller
801801 处理器processor
802802 存储器Memory
具体实施方式Detailed ways
为了使本发明的技术方案及优点更加清楚明白,以下结合附图及实施方式,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施方式仅仅用以阐述性说明本发明,并不用于限定本发明的保护范围。In order to make the technical solutions and advantages of the present invention clearer, the following further describes the present invention in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to illustrate the present invention, and are not used to limit the protection scope of the present invention.
为了描述上的简洁和直观,下文通过描述若干代表性的实施方式来对本发明的方案进行阐述。实施方式中大量的细节仅用于帮助理解本发明的方案。但是很明显,本发明的技术方案实现时可以不局限于这些细节。为了避免不必要地模糊了本发明的方案,一些实施方式没有进行细致地描述,而是仅给出了框架。下文中,“包括”是指“包括但不限于”,“根据……”是指“至少根据……,但不限于仅根据……”。由于汉语的语言习惯,下文中没有特别指出一个成分的数量时,意味着该成分可以是一个也可以是多个,或可理解为至少一个。In order to be concise and intuitive in description, the solution of the present invention is explained below by describing several representative embodiments. A large number of details in the embodiments are only used to help understand the solutions of the present invention. However, it is obvious that the implementation of the technical solution of the present invention may not be limited to these details. In order to avoid unnecessarily obscuring the solution of the present invention, some embodiments are not described in detail, but only a framework is given. Hereinafter, "including" means "including but not limited to", and "according to..." means "at least according to..., but not limited to only according to...". Due to Chinese language habits, when the quantity of a component is not specifically indicated below, it means that the component can be one or more, or it can be understood as at least one.
在本发明实施方式中,基于用户提供的、可配置的第一被控对象关节数激活包含多个第一被控对象控制字段的报文格式中的、相应数目的第一被控对象控制字段,实现一种支持可配置的第一被控对象关节数的多轴运动控制器以及相关的多轴运动控制方法。In the embodiment of the present invention, a corresponding number of first controlled object control fields in a message format containing multiple first controlled object control fields are activated based on the configurable number of first controlled object joints provided by the user , A multi-axis motion controller that supports a configurable first number of controlled object joints and a related multi-axis motion control method is realized.
优选的,本发明实施方式的多轴运动控制器和多轴运动控制方法,既可以实施到机床数控系统中,还可以应用到机器人控制系统中。Preferably, the multi-axis motion controller and the multi-axis motion control method of the embodiment of the present invention can be implemented in a machine tool numerical control system or a robot control system.
比如,当将本发明实施方式应用到机器人控制系统时,具体可以实施到工业机器人、农业机器人、家用机器人、医用机器人、服务型机器人、空间机器人、水下机器人、军用机器人、排险救灾机器人、教育教学机器人、娱乐机器人,等等。For example, when the implementation of the present invention is applied to a robot control system, it can be specifically implemented in industrial robots, agricultural robots, household robots, medical robots, service robots, space robots, underwater robots, military robots, disaster relief robots, education Teaching robots, entertainment robots, etc.
图1为根据本发明实施方式的多轴运动控制器的结构图。Fig. 1 is a structural diagram of a multi-axis motion controller according to an embodiment of the present invention.
如图1所示,该多轴运动控制器10包括:As shown in Fig. 1, the multi-axis motion controller 10 includes:
运动控制模块11,其适配于接收包含第一被控对象关节数和第一被控对象配置参数的配置命令,确定对应于第一被控对象关节数的第一被控对象运动算法库,将第一被控对象配置参数输入到第一被控对象运动算法库中;The motion control module 11 is adapted to receive a configuration command including the first controlled object joint number and the first controlled object configuration parameter, and determine the first controlled object motion algorithm library corresponding to the first controlled object joint number, Input the first controlled object configuration parameter into the first controlled object motion algorithm library;
数据交互接口12,其适配于基于第一被控对象关节数激活预定报文格式中的第一被控对象控制字段;The data interaction interface 12 is adapted to activate the first controlled object control field in the predetermined message format based on the number of joints of the first controlled object;
映射模块13,其适配于建立已激活的第一被控对象控制字段与第一被控对象驱动物理信道之间的第一映射关系。The mapping module 13 is adapted to establish a first mapping relationship between the activated first controlled object control field and the first controlled object drive physical channel.
其中,第一被控对象是多轴运动控制器10的控制对象;第一被控对象配置参数是针对第一被控对象的配置参数为与第一被控对象相关的配置参数;配置命令是由用户、其它的多轴运动控制器等主体发出的、用于对第一被控对象执行配置的命令。Among them, the first controlled object is the control object of the multi-axis motion controller 10; the first controlled object configuration parameter is the configuration parameter for the first controlled object and is the configuration parameter related to the first controlled object; the configuration command is The command issued by the user, other multi-axis motion controllers and other main bodies to configure the first controlled object.
在一个实施方式中,运动控制模块11中包含存储有第一被控对象运动算法库的内部存储介质。运动控制模块11确定第一被控对象运动算法库的过程包括:运动控制模块11从该内部存储介质中检索出第一被控对象运动算法库。In one embodiment, the motion control module 11 includes an internal storage medium 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 internal storage medium.
在一个实施方式中,运动控制模块11可以与存储有第一被控对象运动算法库的外部存储介质具有连接。运动控制模块11确定第一被控对象运动算法库的过程包括:运动控制模块11基于该连接,从外部存储介质中检索出第一被控对象运动算法库。In one embodiment, the motion control module 11 may be connected to an external storage medium storing the first controlled object motion algorithm library. The process of the motion control module 11 determining the first controlled object motion algorithm library includes: based on the connection, the motion control module 11 retrieves the first controlled object motion algorithm library from the external storage medium.
在一个实施方式中,运动控制模块11可以与存储有第一被控对象运动算法库的云端具有连接。运动控制模块11确定第一被控对象运动算法库的过程包括:运动控制模块11基于该连接,从云端检索出第一被控对象运动算法库。In one embodiment, the motion control module 11 may be connected to the cloud where the first controlled object motion algorithm library is stored. The process of the motion control module 11 determining the first controlled object motion algorithm library includes: based on the connection, the motion control module 11 retrieves the first controlled object motion algorithm library from the cloud.
在一个实施方式中,用户可以通过人机接口界面(HMI)向多轴运动控制器10提供配置命令。其中:包含在配置命令中的第一被控对象关节数,用于指示第一被控对象的关节数目。In one embodiment, the user may provide configuration commands to the multi-axis motion controller 10 through a human machine interface (HMI). Among them: the number of joints of the first controlled object included in the configuration command is used to indicate the number of joints of the first controlled object.
比如,当第一被控对象为机器人时:第一被控对象关节数用于指示机器人包含多少关节,比如3关节、4关节、5关节或6关节,等等;第一被控对象配置参数可以包括机器人轴的连杆长度等机器人机械参数、机器人关节驱动器额定转速等机器人关节驱动器参数,等等。For example, when the first controlled object is a robot: the number of joints of the first controlled object is used to indicate how many joints the robot contains, such as 3 joints, 4 joints, 5 joints or 6 joints, etc.; the first controlled object configuration parameters It can include robot mechanical parameters such as the link length of the robot axis, robot joint driver parameters such as the rated speed of the robot joint driver, and so on.
多轴运动控制器10基于包含在配置命令中的第一被控对象关节数确定出对应于第一被控对象关节数 的第一被控对象运动算法库,并将包含在配置命令中的第一被控对象配置参数输入到该第一被控对象运动算法库中。第一被控对象配置参数被输入到第一被控对象运动算法库后,该第一被控对象运动算法库可以用于后续的、与第一被控对象相关的各种控制操作。The multi-axis motion controller 10 determines the first controlled object motion algorithm library corresponding to the first controlled object number of joints based on the first controlled object number of joints included in the configuration command, and sets the first controlled object motion algorithm library included in the configuration command. A controlled object configuration parameter is input into 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 subsequent various control operations related to the first controlled object.
而且,多轴运动控制器10通过激活包含多个第一被控对象控制字段的报文格式中的、相应数目的第一被控对象控制字段,可以建立已激活的第一被控对象控制字段与各自的第一被控对象驱动物理信道之间的第一映射关系。因此,在针对第一被控对象的后续具体控制操作中,可以基于第一映射关系将第一被控对象控制参数准确地发送到对应的第一被控对象驱动物理信道。Moreover, the multi-axis motion controller 10 can establish an activated first controlled object control field by activating a corresponding number of first controlled object control fields in a message format containing multiple first controlled object control fields. The first mapping relationship with the respective first controlled object driving physical channels. Therefore, in the subsequent specific control operation for the first controlled object, the first controlled object control parameter can be accurately sent to the corresponding first controlled object drive physical channel based on the first mapping relationship.
可见,对应于第一被控对象的关节具体数目,多轴运动控制器10可以实现对应的配置。优选的,多轴运动控制器10不仅可以支持第一被控对象关节数的调整,还可以支持与第一对象协同配合的第二被控对象的关节数的调整。It can be seen that, corresponding to the specific number of joints of the first controlled object, the multi-axis motion controller 10 can implement a corresponding configuration. Preferably, the multi-axis motion controller 10 can not only support the adjustment of the number of joints of the first controlled object, but also support the adjustment of the number of joints of the second controlled object that cooperates with the first object.
优选的,第一被控对象可以实施为机器人;第二对象可以实施为包含辅助关节的辅助轴系统。其中,辅助关节是指机器人本体之外的辅助轴系统(比如,伺服运动系统)中的关节。比如,布置在机器人本体之外的变位机、线性滑轨或伺服焊钳机上的辅助关节。Preferably, the first controlled object may be implemented as a robot; the second object may be implemented as an auxiliary axis system including auxiliary joints. Among them, auxiliary joints refer to joints in auxiliary axis systems (for example, servo motion systems) outside the robot body. For example, an auxiliary joint on a positioner, a linear slide or a servo welding clamp machine arranged outside the robot body.
在一个实施方式中,配置命令(比如,通过HMI的方式获取的配置命令)中还包括第二被控对象关节数和第二被控对象配置参数。其中:包含在配置命令中的第二被控对象关节数,用于指示第二被控对象的关节数目;包含在配置命令中的第二被控对象配置参数为与第二被控对象相关的配置参数。In one embodiment, the configuration command (for example, a configuration command obtained through HMI) further includes the number of joints of the second controlled object and the second controlled object configuration parameters. Among them: the number of joints of the second controlled object included in the configuration command is used to indicate the number of joints of the second controlled object; the second controlled object configuration parameter included in the configuration command is related to the second controlled object Configuration parameters.
比如,当第二被控对象为机器人的辅助轴系统时,第二被控对象关节数用于指示辅助轴包含多少关节数,比如3关节、4关节、5关节或6关节,等等,而第二被控对象配置参数可以包括辅助轴的连杆长度等辅助轴机械参数、辅助轴驱动器额定转速等辅助轴驱动器参数,等等。For example, when the second controlled object is the auxiliary axis system of the robot, the number of joints of the second controlled object is used to indicate how many joints the auxiliary axis contains, such as 3 joints, 4 joints, 5 joints or 6 joints, etc. The second controlled object configuration parameters may include auxiliary shaft mechanical parameters such as the connecting rod length of the auxiliary shaft, auxiliary shaft driver parameters such as the rated speed of the auxiliary shaft driver, and so on.
运动控制模块11,其还适配于确定对应于第二被控对象关节数的第二被控对象运动算法库,将第二被控对象配置参数输入到第二被控对象运动算法库中。数据交互接口12,其还适配于基于第二被控对象关节数激活预定报文格式中的第二被控对象控制字段。映射模块13,其还适配于建立已激活的第二被控对象控制字段与第二被控对象驱动物理信道之间的第二映射关系。The motion control module 11 is also adapted to determine a second controlled object motion algorithm library corresponding to the number of joints of the second controlled object, and input the second controlled object configuration parameters into the second controlled object motion algorithm library. The data interaction interface 12 is also adapted to activate the second controlled object control field in the predetermined message format based on the number of joints of the second controlled object. The mapping module 13 is further adapted to establish a second mapping relationship between the activated second controlled object control field and the second controlled object drive physical channel.
因此,多轴运动控制器10还可以基于包含在配置命令中的第二被控对象关节数确定出对应于第二被控对象关节数的第二被控对象运动算法库,并将包含在配置命令中的第二被控对象配置参数输入到第二被控对象运动算法库中。输入第二被控对象配置参数的第二被控对象运动算法库,可以用于后续的、与第二被控对象相关的各种控制操作。Therefore, the multi-axis motion controller 10 can also determine the second controlled object motion algorithm library corresponding to the second controlled object joint number based on the second controlled object joint number contained in the configuration command, and include it in the configuration command. The second controlled object configuration parameter in the command is input into the second controlled object motion algorithm library. The second controlled object motion algorithm library that inputs the second controlled object configuration parameters can be used for subsequent various control operations related to the second controlled object.
而且,多轴运动控制器10通过激活包含多个第二被控对象控制字段的报文格式中的、相应数目的第二被控对象控制字段,可以建立已激活的第二被控对象控制字段与各自的第二被控对象驱动物理信道之间的第二映射关系。因此,在第二被控对象的后续控制操作(优选的,与第一被控对象的控制操作协调进行)中,可以基于第二映射关系将第二被控对象控制参数准确地发送到对应的第二被控对象驱动物理信道。Moreover, the multi-axis motion controller 10 can establish an activated second controlled object control field by activating a corresponding number of second controlled object control fields in the message format containing multiple second controlled object control fields. The second mapping relationship with the respective second controlled object driving physical channels. Therefore, in the subsequent control operation of the second controlled object (preferably, coordinated with the control operation of the first controlled object), the second controlled object control parameters can be accurately sent to the corresponding The second controlled object drives the physical channel.
以上以两个受控对象为例,对多轴运动控制器10进行具体阐述,本领域技术人员可以意识到,受控对象的具体数目还可以为3个、4个或更多,本发明实施方式对此并无限定。Taking two controlled objects as an example above, the multi-axis motion controller 10 is described in detail. Those skilled in the art can realize that the specific number of controlled objects may also be 3, 4 or more. The implementation of the present invention The method is not limited.
在一个实施方式中,运动控制模块11,其还适配于接收第一被控对象执行命令,基于第一被控对象执行命令和第一被控对象运动算法库确定第一被控对象控制参数;数据交互接口12,其还适配于将第一被控对象控制参数封装到已激活的第一被控对象控制字段中;映射模块13,其还适配于基于第一映射关系,将已激活的第一被控对象控制字段中的第一被控对象控制参数发送到对应的第一被控对象驱动物理信道。In one embodiment, the motion control module 11 is further adapted to receive the first controlled object execution command, and determine the first controlled object control parameter based on the first controlled object execution command and the first controlled object motion algorithm library 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, which is also adapted to convert the first controlled object control parameter based on the first mapping relationship The first controlled object control parameter in the activated first controlled object control field is sent to the corresponding first controlled object driving physical channel.
可见,基于上述配置后,多轴运动控制器10可以支持第一被控对象的单独运动控制。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.
在一个实施方式中,运动控制模块11,其还适配于接收第二被控对象执行命令,基于第二被控对象执行命令和第二被控对象运动算法库确定第二被控对象控制参数;数据交互接口12,其还适配于将第二被控对象控制参数封装到已激活的第二被控对象控制字段中;映射模块13,其还适配于基于第二映射关系,将已激活的第二被控对象控制字段中的第二被控对象控制参数发送到对应的第二被控对象驱动物理信道。In one embodiment, the motion control module 11 is also adapted to receive a second controlled object execution command, and determine the second controlled object control parameter based on the second controlled object execution command and the second controlled object motion algorithm library Data interaction interface 12, which is also adapted to encapsulate the second controlled object control parameters into the activated second controlled object control field; the mapping module 13, which is also adapted to convert the second controlled object control parameters based on the second mapping relationship The second controlled object control parameter in the activated second controlled object control field is sent to the corresponding second controlled object driving physical channel.
可见,基于上述配置后,多轴运动控制器10可以支持第二被控对象的单独运动控制。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.
在一个实施方式中,运动控制模块11,其还适配于接收第一被控对象执行命令和第二被控对象执行命令,基于第二被控对象执行命令和第二被控对象运动算法库确定第二被控对象控制参数,基于第二被控对象控制参数、第一被控对象执行命令和所述第一被控对象运动算法库确定第一被控对象控制参数;数据交互接口12,其还适配于将第一被控对象控制参数封装到已激活的第一被控对象控制字段中,将第二被控对象控制参数封装到已激活的第二被控对象控制字段中;映射模块13,其还适配于基于第一映射关系,将已激活的第一被控对象控制字段中的第一被控对象控制参数发送到对应的第一被控对象驱动物理信道,基于第二映射关系,将已激活的第二被控对象控制字段中的第二被控对象控制参数发送到对应的第二被控对象驱动物理信道。In one embodiment, the motion control module 11 is also adapted to receive the first controlled object execution command and the second controlled object execution command, based on the second controlled object execution command and the second controlled object motion algorithm library Determine the second controlled object control parameter, and determine the 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; data interaction interface 12, It is also adapted to encapsulate the first controlled object control parameter into the activated first controlled object control field, and encapsulate the second controlled object control parameter into the activated second controlled object control field; mapping; Module 13, which is also adapted to send the first controlled object control parameter in the activated first controlled object control field to the corresponding first controlled object drive physical channel based on the first mapping relationship, based on the second The mapping relationship sends the second controlled object control parameter in the activated second controlled object control field to the corresponding second controlled object drive physical channel.
可见,基于上述配置后,多轴运动控制器10可以支持第一被控对象和第二被控对象的协调运动控制。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.
下面以将多轴运动控制器10应用到包含机器人(相当于第一被控对象)和辅助轴(相当于第二受控对象)的机器人控制系统为例,对本发明实施方式进行详细描述。Taking the application of the multi-axis motion controller 10 to a robot control system including a robot (equivalent to a first controlled object) and an auxiliary axis (equivalent to a second controlled object) as an example, the embodiments of the present invention will be described in detail below.
在多轴运动控制器10的配置过程中,运动控制模块11适配于接收包含机器人关节数、机器人配置参数、辅助关节数和辅助轴配置参数的配置命令,确定对应于机器人关节数的机器人运动算法库,将机器人配置参数输入到机器人运动算法库中,确定对应于辅助关节数的辅助轴运动算法库,将辅助轴配置参数输入到辅助轴运动算法库。数据交互接口12适配于基于机器人关节数激活预定报文格式中的、对应数目的机器人关节控制字段,基于辅助关节数激活预定报文格式中的、对应数目的辅助关节控制字段。映射模块13适配于建立已激活的机器人关节控制字段与各自的机器人关节驱动物理信道之间的第一映射关系,建立已激活的辅助关节控制字段与各自的辅助关节驱动物理信道之间的第二映射关系。During the configuration process of the multi-axis motion controller 10, the motion control module 11 is adapted to receive configuration commands including the number of robot joints, robot configuration parameters, auxiliary joints, and auxiliary axis configuration parameters, and determine the robot motion corresponding to the number of robot joints. Algorithm library, input the robot configuration parameters into the robot motion algorithm library, determine the auxiliary axis motion algorithm library corresponding to the number of auxiliary joints, and input the auxiliary axis configuration parameters into the auxiliary axis motion algorithm library. The data interaction interface 12 is adapted to activate the corresponding number of robot joint control fields in the predetermined message format based on the number of robot joints, and activate the 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 relationship between the activated robot joint control field and the respective robot joint drive physical channel, and establish the first mapping relationship between the activated auxiliary joint control field and the respective auxiliary joint drive physical channel. Two mapping relationship.
基于上述配置过程,多轴运动控制器10可以支持机器人的单独运动控制、辅助轴的单独运动控制及 机器人和辅助轴的协调运动控制。Based on the above configuration process, the multi-axis motion controller 10 can support the individual motion control of the robot, the individual motion control of the auxiliary axis, and the coordinated motion control of the robot and the auxiliary axis.
下面分别对多轴运动控制器10用于机器人的单独运动控制、辅助轴的单独运动控制及机器人和辅助轴的协调运动控制的情形进行说明。The case where the multi-axis motion controller 10 is used for the individual motion control of the robot, the individual motion control of the auxiliary axis, and the coordinated motion control of the robot and the auxiliary axis are respectively described below.
(1)、多轴运动控制器10用于机器人的单独运动控制:(1) The multi-axis motion controller 10 is used for the individual motion control of the robot:
在一个实施方式中,运动控制模块11,其还适配于接收(比如,通过HMI)机器人关节执行命令,基于机器人关节执行命令和已输入机器人配置参数且对应于机器人关节数的机器人运动算法库确定机器人关节控制参数;数据交互接口12,还适配于将机器人关节控制参数封装到已激活的机器人关节控制字段中;映射模块13,还适配于基于第一映射关系,将已激活的机器人关节控制字段中的机器人关节控制参数发送到对应的机器人关节驱动物理信道。In one embodiment, the motion control module 11 is also adapted to receive (for example, through HMI) robot joint execution commands, based on the robot joint execution commands and the robot motion algorithm library that has input robot configuration parameters and corresponds to the number of robot joints Determine the robot joint control parameters; the data interaction interface 12 is also adapted to encapsulate the robot joint control parameters into the activated robot joint control field; the mapping module 13 is also adapted to convert the activated robot based on the first mapping relationship The robot joint control parameters in the joint control field are sent to the corresponding robot joint drive physical channel.
其中,机器人关节执行命令可以包括针对机器人关节的点对点(point to point,PTP)移动命令或笛卡尔运动(比如,直线运动、圆周运动)命令,等等。Wherein, the robot joint execution command may include a point to point (PTP) movement command or a Cartesian motion (for example, linear motion, circular motion) command for the robot joint, and so on.
具体的,运动控制模块11执行下列操作:Specifically, the motion control module 11 performs the following operations:
(1.1)、基于机器人关节执行命令执行机器人运动规划(比如,规划机器人的运动时间和速度曲线,等等)。(1.1). Execute robot motion planning based on the execution of commands of the robot joints (for example, planning the motion time and speed curve of the robot, etc.).
(1.2)、对机器人运动规划结果执行插补(interpolation)运算(比如,计算瞬时时刻的机器人三维空间位置、姿态和旋转角度,等等)。(1.2) Perform interpolation operations on the robot motion planning results (for example, calculate the three-dimensional space position, posture, and rotation angle of the robot at an instant, etc.).
(1.3)、调用对应于机器人关节数且已输入机器人配置参数的机器人运动算法库,将插补运算结果从笛卡尔空间映射到轴空间(或从轴空间映射到笛卡尔空间),以生成机器人关节控制参数。(1.3) Call the robot motion algorithm library corresponding to the number of robot joints and the robot configuration parameters have been entered, and map the interpolation operation result from Cartesian space to axis space (or from axis space to Cartesian space) to generate a robot Joint control parameters.
优选的,运动控制模块11生成的机器人关节控制参数可以包括位置、速度、加速度等参数。Preferably, the robot joint control parameters generated by the motion control module 11 may include parameters such as position, speed, and acceleration.
运动控制模块11确定出各个机器人关节的各自机器人关节控制参数后,数据交互接口12将各个机器人关节控制参数分别封装到对应的已激活的机器人关节控制字段。然后,映射模块13基于第一映射关系,将各个已激活的机器人关节控制字段中的机器人关节控制参数分别发送到对应的机器人关节驱动物理信道。After the motion control module 11 determines the respective robot joint control parameters of each robot joint, the data interaction interface 12 encapsulates the respective robot joint control parameters into the corresponding activated robot joint control fields. Then, the mapping module 13 sends the robot joint control parameters in each activated robot joint control field to the corresponding robot joint driving physical channel based on the first 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 drive physical channel. Each robot joint drive physical channel sends its respective robot joint control parameters to the corresponding robot joint driver, so that the respective robot joint driver controls their respective robot joint motors based on their own robot joint control parameters, so as to perform robot joint control. command.
因此,多轴运动控制器10可以实现针对机器人的单独运动控制,其中机器人关节数是可配置的,从而灵活适用于多种应用场景。Therefore, the multi-axis motion controller 10 can realize individual motion control for the robot, in which the number of robot joints is configurable, so that it can be flexibly applied to various application scenarios.
(2)、多轴运动控制器10用于辅助轴的单独运动控制:(2) The multi-axis motion controller 10 is used for the individual motion control of the auxiliary axis:
在一个实施方式中,运动控制模块11,其还适配于接收辅助关节执行命令,基于辅助关节执行命令和 辅助轴运动算法库确定辅助关节控制参数;数据交互接口12,还适配于将辅助关节控制参数封装到已激活的辅助关节控制字段中;映射模块13,还适配于基于第二映射关系,将已激活的辅助关节控制字段中的辅助关节控制参数发送到对应的辅助关节驱动物理信道。In one embodiment, the motion control module 11 is also adapted to receive auxiliary joint execution commands, and determine auxiliary joint control parameters based on the auxiliary joint execution commands and auxiliary axis motion algorithm library; the data interaction interface 12 is also adapted to The joint control parameters are encapsulated in the activated auxiliary joint control field; the mapping module 13 is also adapted to send the auxiliary joint control parameters in the activated auxiliary joint control field to the corresponding auxiliary joint drive physics based on the second mapping relationship channel.
其中,辅助关节执行命令可以包括针对辅助关节的PTP移动命令或笛卡尔运动(比如,直线运动、圆周运动)命令,等等。Wherein, the auxiliary joint execution command may include a PTP movement command or a Cartesian motion (for example, linear motion, circular motion) command for the auxiliary joint, and so on.
运动控制模块11基于辅助关节执行命令和对应于辅助关节数且已输入辅助关节配置参数的辅助轴运动算法库中确定出辅助关节控制参数。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 auxiliary joint number and the auxiliary joint configuration parameters have been input.
具体的,运动控制模块11执行下列操作:Specifically, the motion control module 11 performs the following operations:
(2.1)、基于辅助关节执行命令执行辅助轴规划(比如,规划变位机的运动时间和速度曲线,等等)。(2.1), execute auxiliary axis planning based on auxiliary joint execution commands (for example, planning the movement time and speed curve of the positioner, etc.).
(2.2)、对辅助轴规划结果执行插补(interpolation)运算(比如,计算瞬时时刻的轴空间位置)。(2.2) Perform interpolation (interpolation) operation on the auxiliary axis planning result (for example, calculate the axis space position at the instant).
(2.3)、调用对应于辅助关节数且已输入辅助关节配置参数的辅助轴运动算法库,将插补运算结果从轴空间映射到笛卡尔空间(或从笛卡尔空间映射到轴空间),以生成辅助关节控制参数。(2.3). Call the auxiliary axis motion algorithm library corresponding to the number of auxiliary joints and have input auxiliary joint configuration parameters, and map the interpolation operation result from the axis space to the Cartesian space (or from the Cartesian space to the axis space) to Generate auxiliary joint control parameters.
优选的,运动控制模块11生成的辅助关节控制参数可以包括位置、速度、加速度等参数。Preferably, the auxiliary joint control parameters generated by the motion control module 11 may include parameters such as position, velocity, and acceleration.
运动控制模块11确定出各个辅助关节的各自辅助关节控制参数后,数据交互接口12将各个辅助关节控制参数封装到各自的已激活的辅助关节控制字段。然后,映射模块13基于第二映射关系,将已激活的辅助关节控制字段中的辅助关节控制参数分别发送到对应的辅助关节驱动物理信道。After the motion control module 11 determines the respective auxiliary joint control parameters of each auxiliary joint, the data interaction interface 12 encapsulates the respective auxiliary joint control parameters into respective activated auxiliary joint control fields. Then, the mapping module 13 sends the auxiliary joint control parameters in the activated auxiliary joint control field 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 of each auxiliary joint can be correctly sent to the corresponding auxiliary joint driving physical channel. Each auxiliary joint drive physical channel sends its auxiliary joint control parameters to the corresponding auxiliary joint driver, so that the respective auxiliary joint driver controls the respective auxiliary joint motor based on its auxiliary joint control parameters, so as to perform auxiliary joint control. command.
因此,多轴运动控制器10可以实现针对辅助轴的单独运动控制,其中辅助轴的关节数是可配置的,从而灵活适用于多种应用场景。Therefore, the multi-axis motion controller 10 can realize individual motion control for the auxiliary axis, in which the number of joints of the auxiliary axis is configurable, so that it can be flexibly applied to various application scenarios.
(3)、多轴运动控制器10用于机器人和辅助轴的协调运动控制:(3) Multi-axis motion controller 10 is used for coordinated motion control of robot and auxiliary axis:
在一个实施方式中,运动控制模块11,其还适配于接收机器人关节执行命令和辅助关节执行命令,基于辅助关节执行命令和辅助轴运动算法库确定辅助关节控制参数,基于辅助关节控制参数、机器人关节执行命令和机器人运动算法库确定机器人关节控制参数;数据交互接口12,还适配于将机器人关节控制参数封装到已激活的机器人关节控制字段中,将辅助关节控制参数封装到已激活的辅助关节控制字段中;映射模块13,还适配于基于第一映射关系,将已激活的机器人关节控制字段中的机器人关节控制参数发送到对应的机器人关节驱动物理信道,基于第二映射关系,将已激活的辅助关节控制字段中的辅助关节控制参数发送到对应的辅助关节驱动物理信道。In one embodiment, the motion control module 11 is further adapted to receive robot joint execution commands and auxiliary joint execution commands, determine auxiliary joint control parameters based on auxiliary joint execution commands and auxiliary axis motion algorithm libraries, and based on auxiliary joint control parameters, The robot joint execution command and the robot motion algorithm library determine the robot joint control parameters; the data interaction interface 12 is also adapted to encapsulate the robot joint control parameters into the activated robot joint control field, and encapsulate the auxiliary joint control parameters into the activated robot joint control field. In the auxiliary joint control field; the mapping module 13 is also adapted to send the robot joint control parameters in the activated robot joint control field to the corresponding robot joint drive physical channel based on the first mapping relationship, based on the second mapping relationship, Send the auxiliary joint control parameters in the activated auxiliary joint control field to the corresponding auxiliary joint drive physical channel.
其中,机器人关节执行命令可以包括针对机器人关节的PTP移动命令或笛卡尔运动(比如,直线运动、圆周运动)命令,等等。辅助关节执行命令可以包括针对辅助轴中辅助关节的PTP移动命令或笛卡尔运动 (比如,直线运动、圆周运动)命令,等等。Among them, the robot joint execution command may include a PTP movement command or a Cartesian motion (for example, linear motion, circular motion) command for the robot joint, and so on. The auxiliary joint execution command may include a PTP movement command or a Cartesian motion (for example, linear motion, circular motion) command for the auxiliary joint in the auxiliary axis, and so on.
运动控制模块11基于辅助关节执行命令和对应于辅助关节数且已输入辅助关节配置参数的辅助轴运动算法库中确定出辅助关节控制参数。运动控制模块11基于辅助关节控制参数、机器人关节执行命令和对应于机器人关节数且输入机器人关节配置参数的机器人运动算法库确定出机器人关节控制参数。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 auxiliary joint number and the auxiliary joint configuration parameters have been input. The motion control module 11 determines the robot joint control parameters based on auxiliary joint control parameters, robot joint execution commands, and a robot motion algorithm library corresponding to the number of robot joints and input robot joint configuration parameters.
具体的,运动控制模块11执行下列操作:Specifically, the motion control module 11 performs the following operations:
(3.1)、基于机器人关节执行命令执行机器人运动规划(比如,规划机器人的运动时间和速度曲线,等等),基于辅助关节执行命令执行辅助轴规划(比如,规划变位机的运动时间和速度曲线,等等)。(3.1), execute robot motion planning based on the execution of commands of the robot joints (for example, plan the motion time and speed curve of the robot, etc.), execute auxiliary axis planning based on the execution of commands of the auxiliary joints (for example, plan the motion time and speed of the positioner) Curve, etc.).
(3.2)、对机器人运动规划结果执行插补(interpolation)运算(比如,计算瞬时时刻的机器人三维空间位置、姿态和旋转角度,等等),对辅助轴规划结果执行插补(interpolation)运算(比如,计算瞬时时刻的轴空间位置)。(3.2) Perform interpolation (interpolation) operations on the robot motion planning results (for example, calculate the robot's three-dimensional space position, posture, and rotation angle at an instant, etc.), and perform interpolation operations on the auxiliary axis planning results ( For example, calculating the axis space position at the instant of time).
(3.3)、调用对应于辅助关节数且已输入辅助关节配置参数的辅助轴运动算法库,将插补运算结果从轴空间映射到笛卡尔空间(或从笛卡尔空间映射到轴空间),以生成辅助关节控制参数。(3.3). Call the auxiliary axis motion algorithm library corresponding to the number of auxiliary joints and input auxiliary joint configuration parameters, and map the interpolation operation result from axis space to Cartesian space (or from Cartesian space to axis space) to Generate auxiliary joint control parameters.
(3.4)、基于辅助关节控制参数、机器人关节执行命令和对应于机器人关节数且输入机器人关节配置参数的机器人运动算法库确定机器人关节控制参数。(3.4) Determine robot joint control parameters based on auxiliary joint control parameters, robot joint execution commands, and robot motion algorithm library corresponding to the number of robot joints and input robot joint configuration parameters.
运动控制模块11确定出各个机器人关节的机器人关节控制参数和各个辅助关节的辅助关节控制参数后,数据交互接口12将各自的机器人关节控制参数封装到各自的已激活的机器人关节控制字段,将各自的辅助关节控制参数封装到各自的已激活的辅助关节控制字段。然后,映射模块13基于第一映射关系,将已激活的机器人关节控制字段中的机器人关节控制参数发送到对应的机器人关节驱动物理信道,基于第二映射关系,将已激活的辅助关节控制字段中的辅助关节控制参数发送到对应的辅助关节驱动物理信道。可见,每个机器人关节的机器人关节控制参数都可以被正确地发送到对应的机器人关节驱动物理信道,每个机器人关节驱动物理信道再将各自的机器人关节控制参数发送到对应的机器人关节驱动器,以由各自的机器人关节驱动器分别基于机器人关节控制参数控制各自的机器人关节电机,从而实现执行机器人关节控制命令。而且,每个辅助关节的辅助关节控制参数都可以被正确地发送到对应的辅助关节驱动物理信道。每个辅助关节驱动物理信道再将各自的辅助关节控制参数发送到对应的辅助关节驱动器,以由各自的辅助关节驱动器分别基于辅助关节控制参数控制各自的辅助关节电机,从而实现执行辅助关节控制命令。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 encapsulates the respective robot joint control parameters into the respective activated robot joint control fields, and sets each The auxiliary joint control parameters are encapsulated into the respective activated auxiliary joint control fields. Then, the mapping module 13 sends the robot joint control parameters in the activated robot joint control field to the corresponding robot joint drive physical channel based on the first mapping relationship, and based on the second mapping relationship, the activated auxiliary joint control field The auxiliary joint control parameters are sent to the corresponding auxiliary joint drive physical channel. 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 will then send its respective robot joint control parameters to the corresponding robot joint driver. The respective robot joint drivers control their respective robot joint motors based on the robot joint control parameters, so as to implement the robot joint control commands. Moreover, the auxiliary joint control parameters of each auxiliary joint can be correctly sent to the corresponding auxiliary joint driving physical channel. Each auxiliary joint drive physical channel sends the respective auxiliary joint control parameters to the corresponding auxiliary joint driver, so that the respective auxiliary joint driver controls the respective auxiliary joint motors based on the auxiliary joint control parameters, thereby implementing auxiliary joint control commands .
在一个实施方式中,多轴运动控制器10还可以包括命令解析器(图1中没有示出)。命令解析器适配于基于预定的命令格式解析语法,将人机接口接收到的用户命令解析为所述配置命令、所述机器人关节执行命令或所述辅助关节执行命令。In one embodiment, the multi-axis motion controller 10 may further include a command parser (not shown in FIG. 1). The command parser is adapted to parse the grammar based on a predetermined command format, and parse the user command received by the human-machine interface into the configuration command, the robot joint execution command or the auxiliary joint execution command.
因此,多轴运动控制器10可以实现针对机器人和辅助轴的协调运动控制,其中机器人关节数和辅助轴的辅助关节数都是可配置的,灵活适用于多种应用场景。Therefore, the multi-axis motion controller 10 can realize coordinated motion control for the robot and the auxiliary axis, in which the number of robot joints and the number of auxiliary joints of the auxiliary axis are configurable, and it is flexibly applicable to various application scenarios.
下面以焊接工作为实例说明基于多轴运动控制器10实现机器人和辅助轴的协调运动控制。The following takes welding work as an example to illustrate the realization of coordinated motion control of the robot and auxiliary axes based on the multi-axis motion controller 10.
假定作为第一被控对象的机器人用于执行焊接工作,焊接件已经固定在作为第二被控对象的辅助轴系统(如,2轴变位机)上。而且,焊接方案已经确定为:焊接件为钢管;沿着钢管焊接,焊缝是一段直线。It is assumed that the robot as the first controlled object is used to perform welding work, and the weldment has been fixed on the auxiliary axis system (such as a 2-axis positioner) as the second controlled object. Moreover, the welding plan has been determined as follows: the welded part is a steel pipe; along the steel pipe, the weld is a straight line.
第一步:执行变位机的运动规划和机器人运动规划。包括:计算变位机的2个轴完成上述焊接方案的相关参数(比如运动时间、速度曲线,等等)以及机器人完成上述焊接方案的相关参数(比如运动时间,速度曲线等等)。The first step: execute the motion planning of the positioner and the robot motion planning. Including: calculating the relevant parameters (such as movement time, speed curve, etc.) of the above-mentioned welding plan by calculating the two axes of the positioner and the relevant parameters (such as movement time, speed curve, etc.) of the robot completing the above-mentioned welding plan.
第二步:执行变位机插补和机器人插补。包括:基于变位机的2个轴完成上述焊接方案的相关参数,计算出瞬时时刻的、变位机的2个轴的轴空间位置(比如,第0.2秒,两个轴分别位于11和16度)。基于机器人完成上述焊接方案的相关参数,计算出瞬时时刻的、机器人应该移动到直线焊缝的三维空间位置(比如,(xyz)坐标和姿态,旋转的角度等等),即瞬时焊接点的三维空间位置P1。Step 2: Execute positioner interpolation and robot interpolation. Including: complete the relevant parameters of the above welding scheme based on the two axes of the positioner, and calculate the axis space positions of the two axes of the positioner at the instant of time (for example, in the 0.2 second, the two axes are located at 11 and 16 respectively) degree). Based on the relevant parameters of the robot to complete the above welding plan, calculate the instantaneous time, the robot should move to the three-dimensional space position of the linear weld (for example, (xyz) coordinates and attitude, rotation angle, etc.), that is, the three-dimensional instantaneous welding point Spatial location P1.
第三步:执行变位机正运动学处理。包括:调用变位机的正运动学算法库,输入瞬时时刻的、变位机的2个轴的轴空间位置,计算得到变位机的原点坐标系(比如,位于焊接托盘的中心)在三维空间的位置P2。Step 3: Execute the positive kinematics processing of the positioner. Including: call the positive kinematics algorithm library of the positioner, input the axis space position of the two axes of the positioner at the instant of time, and calculate the origin coordinate system of the positioner (for example, at the center of the welding tray) in three dimensions The location of the space P2.
第四步:机器人焊缝运动和变位机运动的融合。包括:基于瞬时焊接点的三维空间位置P1和变位机原点坐标系的三维空间位置P2,得到瞬时焊接点的三维空间位置。The fourth step: the integration of robot welding seam movement and positioner movement. Including: based on the three-dimensional space position P1 of the instantaneous welding point and the three-dimensional space position P2 of the positioner origin coordinate system to obtain the three-dimensional space position of the instantaneous welding point.
第五步:机器人逆运动学处理。包括:调用相应的机器人的逆运动学学算法库,将瞬时焊接点的三维空间位置映射到机器人的轴位置。Step 5: Inverse kinematics processing of the robot. Including: call the corresponding inverse kinematics algorithm library of the robot, and map the three-dimensional space position of the instant welding point to the axis position of the robot.
以上以焊接工作为实例阐述了多轴运动控制器10对机器人和辅助轴的协调运动控制过程,本领域技术人员可以意识到,这种描述仅是示范性的,并不用于限定本发明实施方式的保护范围。The above describes the coordinated motion control process of the multi-axis motion controller 10 on the robot and the auxiliary axis by taking welding work as an example. Those skilled in the art can realize that this description is only exemplary and is not intended to limit the embodiments of the present invention. The scope of protection.
下面以将多轴运动控制器10应用到包含机器人(相当于第一被控对象)和辅助轴(相当于第二受控对象)的机器人控制系统为例,对本运动控制模块11的具体结构进行示范性说明。Taking the application of the multi-axis motion controller 10 to a robot control system including a robot (equivalent to the first controlled object) and an auxiliary axis (equivalent to the second controlled object) as an example, the specific structure of the motion control module 11 Exemplary description.
图2为根据本发明实施方式的运动控制模块的第一示范性结构图。Fig. 2 is a first exemplary structure diagram of a motion control module according to an embodiment of the present invention.
在图2中,运动控制模块11包括:机器人运动规划模块110、机器人插补模块111、机器人逆运动学映射模块112、3关节机器人运动算法库113、5关节机器人运动算法库114和6关节机器人运动算法库115。以上示范性描述了运动控制模块11具体包含的机器人运动算法库。本领域技术人员可以意识到,运动控制模块11可以包含适用于更多或更少关节数的任意机器人运动算法库,本发明实施方式对比并无限定。In Figure 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 exemplarily describes the robot motion algorithm library specifically included in the motion control module 11. Those skilled in the art may realize that the motion control module 11 may include any robot motion algorithm library suitable for more or less joints, and the comparison of the embodiments of the present invention is not limited.
可见,运动控制模块11中包含分别支持3关节机器人、5关节机器人和6关节机器人的三个机器人运动算法库。因此,运动控制模块11可以支持3关节机器人、5关节机器人和6关节机器人的相应配置。举例,当运动控制模块11接收到包含机器人关节数为5和机器人配置参数的配置命令后,运动控制模块首先确定出对应于该机器人关节数(即5)的运动算法库为5关节机器人运动算法库114,再将机器人配置参数输入到5关节机器人运动算法库114中。It can be seen that the motion control module 11 includes three robot motion algorithm libraries supporting 3-joint robots, 5-joint robots and 6-joint robots respectively. Therefore, the motion control module 11 can support corresponding configurations of 3-joint robots, 5-joint robots, and 6-joint robots. For example, when the motion control module 11 receives a configuration command including the number of robot joints of 5 and the robot configuration parameters, the motion control module first determines that the motion algorithm library corresponding to the number of robot joints (ie 5) is a 5-joint robot motion algorithm Library 114, and then input the robot configuration parameters into the 5-joint robot motion algorithm library 114.
然后,当运动控制模块11接收到机器人关节执行命令后,机器人运动规划模块110基于机器人关节 执行命令执行机器人运动规划。机器人插补模块111用于对机器人运动规划结果执行插补运算。机器人逆运动学映射模块112用于调用对应于机器人关节数且已输入机器人配置参数的5关节机器人运动算法库114,将插补运算结果从笛卡尔空间映射到轴空间(即执行逆运动学映射),以生成机器人关节控制参数。Then, after the motion control module 11 receives the robot joint execution command, the robot motion planning module 110 executes the robot motion planning based on the robot joint execution command. The robot interpolation module 111 is used to perform interpolation operations on the robot motion planning results. The robot inverse kinematics mapping module 112 is used to call the 5-joint robot motion algorithm library 114 corresponding to the number of robot joints and the robot configuration parameters have been input, and to map the interpolation operation result from Cartesian space to axis space (that is, perform inverse kinematics mapping ) To generate robot joint control parameters.
可见,图2所示的运动控制模块可以支持针对3关节、5关节和6关节的机器人关节的配置及控制。在图2中,以3关节、5关节和6关节的机器人关节为例,对运动控制模块11进行示范性说明。本领域技术人员可以意识到,这种描述仅是示范性的,并不用于限定本发明实施方式的保护范围。例如,算法库还可以包括更多或更少关节的机器人关节运动算法库。It can be seen that the motion control module shown in FIG. 2 can support the configuration and control of robot joints for 3 joints, 5 joints and 6 joints. In FIG. 2, the motion control module 11 is exemplified by taking robot joints with 3 joints, 5 joints and 6 joints as examples. Those skilled in the art may realize that this description is only exemplary and is not used to limit the protection scope of the embodiments of the present invention. For example, the algorithm library may also include a robot joint motion algorithm library with more or fewer joints.
图3为根据本发明实施方式的运动控制模块的第二示范性结构图。Fig. 3 is a second exemplary structure diagram of a motion control module according to an embodiment of the present invention.
在图3中,运动控制模块11包括:机器人运动规划模块210、机器人插补模块211、结合模块212、机器人逆运动学映射模块213、5关节机器人运动算法库214、6关节机器人运动算法库215、辅助轴运动规划模块216、辅助轴插补模块217、2关节辅助轴运动算法库219和3关节辅助轴运动算法库220。In Figure 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, and a 6-joint robot motion algorithm library 215 , Auxiliary axis motion planning module 216, auxiliary axis interpolation module 217, 2-joint auxiliary axis motion algorithm library 219, and 3-joint auxiliary axis motion algorithm library 220.
可见,运动控制模块11中包含有分别支持5关节和6关节的机器人运动算法库以及分别支持2关节和3关节的辅助轴运动算法库。因此,运动控制模块11可以支持包含5关节或6关节的机器人的配置和控制,并支持包含2关节或3关节的辅助轴的配置和控制。It can be seen that 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. Therefore, the motion control module 11 can support the configuration and control of a robot including 5 joints or 6 joints, and support the configuration and control of auxiliary axes including 2 joints or 3 joints.
举例,当运动控制模块11接收到包含机器人关节数为6、机器人配置参数、辅助关节数为3和辅助关节配置参数的配置命令后,运动控制模块11确定出对应于该机器人关节数(即6)的运动算法库为6关节机器人运动算法库215,将机器人配置参数输入到6关节机器人运动算法库215中。而且,运动控制模块11确定出对应于该辅助关节数(即3)的运动算法库为3关节辅助轴运动算法库220,将辅助关节配置参数输入到3关节辅助轴运动算法库220中。For example, when the motion control module 11 receives a configuration command including the number of robot joints is 6, the robot configuration parameters, the number of auxiliary joints is 3, and the auxiliary joint configuration parameters, the motion control module 11 determines the number of joints corresponding to the robot (that is, 6 The motion algorithm library of) is the 6-joint robot motion algorithm library 215, and the robot configuration parameters are input into the 6-joint robot motion algorithm library 215. Moreover, the motion control module 11 determines that the motion algorithm library corresponding to the number of auxiliary joints (ie, 3) is 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.
然后,当运动控制模块11接收到机器人关节执行命令和辅助关节执行命令后,机器人运动规划模块210用于基于机器人关节执行命令执行机器人运动规划。机器人插补模块211用于对机器人运动规划结果执行插补运算。辅助轴运动规划模块216用于基于辅助关节执行命令执行辅助轴运动规划。辅助关节插补模块217用于对辅助轴运动规划执行插补运算。辅助关节正运动学映射模块218调用对应于辅助关节数且已输入辅助关节配置参数的3关节辅助轴运动算法库220,将辅助关节插补模块217的插补运算结果从轴空间映射到笛卡尔空间(即执行正运动学映射),以生成辅助关节控制参数。结合模块212结合辅助关节正运动学映射模块218提供的辅助关节控制参数和机器人插补模块211提供的插补运算结果。机器人逆运动学映射模块213调用对应于机器人关节数且已输入机器人关节配置参数的6关节辅助轴运动算法库215,将结合模块212的结合结果从笛卡尔空间映射到轴空间(即执行逆运动学映射),以生成机器人关节控制参数。Then, after the motion control module 11 receives the robot joint execution command and the auxiliary joint execution command, the robot motion planning module 210 is used to execute the robot motion planning based on the robot joint execution command. The robot interpolation module 211 is used to perform interpolation operations on the robot motion planning results. The auxiliary axis motion planning module 216 is configured to execute auxiliary axis motion planning based on the auxiliary joint execution command. The auxiliary joint interpolation module 217 is used to perform interpolation operations on the auxiliary axis motion planning. The auxiliary joint positive kinematics mapping module 218 calls the 3-joint auxiliary axis motion algorithm library 220 corresponding to the number of auxiliary joints and has input auxiliary joint configuration parameters, and maps the interpolation operation result of the auxiliary joint interpolation module 217 from the axis space to Cartesian Space (ie, perform positive kinematics mapping) to generate auxiliary joint control parameters. The combining module 212 combines the auxiliary joint control parameters provided by the auxiliary joint positive kinematics mapping module 218 and the interpolation operation result provided by the robot interpolation module 211. The robot inverse kinematics mapping module 213 calls the 6-joint auxiliary axis motion algorithm library 215 corresponding to the number of robot joints and has entered the configuration parameters of the robot joints, and maps the combined result of the combined module 212 from Cartesian space to axis space (that is, performs inverse motion Learn mapping) to generate robot joint control parameters.
在图3中,以支持5关节和6关节的机器人,支持2关节和3关节的辅助轴为例,对运动控制模块11进行示范性说明。本领域技术人员可以意识到,这种描述仅是示范性的,并不用于限定本发明实施方式的 保护范围。In FIG. 3, the motion control module 11 is exemplified by taking a robot supporting 5 joints and 6 joints and supporting auxiliary axes of 2 joints and 3 joints as an example. Those skilled in the art may realize that this description is only exemplary and is not used to limit the protection scope of the embodiments of the present invention.
以上以第一受控对象为机器人,第二受控对象为辅助轴系统为例,对本发明实施方式进行描述,本领域技术人员可以意识到,这种描述同样仅是示范性的,并不用于限定本发明实施方式的保护范围。实际上,还可以将本发明实施方式应用到机床数控系统中。The above description takes the first controlled object as a robot and the second controlled object as an auxiliary axis system as an example to describe the embodiments of the present invention. Those skilled in the art may realize that this description is also only exemplary and is not used for Limit the protection scope of the embodiments of the present invention. In fact, the embodiments of the present invention can also be applied to a machine tool numerical control system.
图4为根据本发明实施方式的报文格式的示范性字段结构图。Fig. 4 is an exemplary field structure diagram of a message format according to an embodiment of the present invention.
由图4可见,报文格式可以分为两部分,第一部分包括:字段S1...字段Sm...字段Sm_max。第一部分包括:字段J1...字段Jn...字段Jn_max。As can be seen from Figure 4, the message format can be divided into two parts. The first part includes: field S1...field Sm...field Sm_max. The first part includes: Field J1...Field Jn...Field Jn_max.
其中,第一部分中包含Sm_max个的第一被控对象控制字段;第二部分中包含Jn_max个的第一被控对象控制字段。第一被控对象控制字段中适配于填充第一被控对象控制参数;第二被控对象控制字段中适配于填充第二被控对象控制参数。每个第一被控对象控制参数用于控制第一受控对象的一个关节,比如,机器人的一个关节。每个第二被控对象控制参数用于控制第二受控对象的一个关节,比如,辅助轴系统的一个辅助关节。Among them, the first part contains Sm_max first controlled object control fields; the second part contains Jn_max first controlled object control fields. The first controlled object control field is adapted to fill the first controlled object control parameter; the second controlled object control field is adapted to fill the second controlled object control parameter. Each first controlled object control parameter is used to control a joint of the first controlled object, for example, a joint of a robot. Each second controlled object control parameter is used to control a joint of the second controlled object, for example, an auxiliary joint of the auxiliary axis system.
当需要控制机器人而不需要控制辅助轴时,基于图4所示的报文格式,可以单独封装入最多Sm_max个的机器人控制参数,而将第二部分留空。When it is necessary to control the robot without controlling the auxiliary axis, based on the message format shown in Fig. 4, a maximum of Sm_max robot control parameters can be individually encapsulated, and the second part is left blank.
当需要控制辅助轴而不需要控制机器人时,基于图4所示的报文格式,可以单独封装入最多Jn_max个的辅助轴控制参数,而将第一部分留空。When the auxiliary axis needs to be controlled without controlling the robot, based on the message format shown in Figure 4, a maximum of Jn_max auxiliary axis control parameters can be individually encapsulated, and the first part is left blank.
当需要控制辅助轴且需要控制机器人时,基于图4所示的报文格式,可以封装入最多Sm_max个的机器人控制参数和最多Jn_max个的辅助轴控制参数。When the auxiliary axis needs to be controlled and the robot needs to be controlled, based on the message format shown in Figure 4, a maximum of Sm_max robot control parameters and a maximum of Jn_max auxiliary axis control parameters can be encapsulated.
图5为根据本发明实施方式的映射模块的示范性处理示意图。Fig. 5 is an exemplary processing diagram of a mapping module according to an embodiment of the present invention.
由图5可见,映射模块13可以将报文格式中的各个字段映射到驱动物理信道集70中的相应驱动物理信道。It can be seen from FIG. 5 that the mapping module 13 can map each field in the message format to the corresponding driving physical channel in the driving physical channel set 70.
比如,假定第一被控对象控制字段S1与第一被控对象控制字段Sm之间填充有m个第一被控对象控制参数,其中字段S1中的第一被控对象控制参数用于控制机器人关节1,...字段Sm中的第一被控对象控制参数用于控制机器人关节m。那么,映射模块13将字段S1中的第一被控对象控制参数映射到驱动物理信道集70中的机器人关节驱动物理信道P1,该机器人关节驱动物理信道P1将字段S1中的第一被控对象控制参数发送到机器人关节1的驱动机构,以由机器人关节1的驱动机构基于字段S1中的第一被控对象控制参数控制机器人关节1。字段S1与字段Sm之间的其他各个字段类似执行,直到映射模块13将字段Sm中的第一被控对象控制参数映射到驱动物理信道集70中的机器人关节驱动物理信道Pm,该机器人关节驱动物理信道Pm将字段Sm中的第一被控对象控制参数发送到机器人关节m的驱动机构,以由机器人关节m的驱动机构基于字段Sm中的第一被控对象控制参数控制机器人关节m。For example, suppose 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, where the first controlled object control parameter in the field S1 is used to control the robot Joint 1, ... the first controlled object control parameter in the field Sm is used to control the robot joint m. 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 maps the first controlled object in the field S1 The control parameter is sent to the driving mechanism of the robot joint 1 so that the driving mechanism of the robot joint 1 controls the robot joint 1 based on the first controlled object control parameter in the field S1. The other fields between the field S1 and the field Sm are executed similarly, 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, and the robot joint driving The physical channel Pm sends the first controlled object control parameter in the field Sm to the driving mechanism of the robot joint m, so that the driving mechanism of the robot joint m controls the robot joint m based on the first controlled object control parameter in the field Sm.
再比如,假定第二被控对象控制字段J1与第二被控对象控制字段Jn之间填充有n个第二被控对象控 制参数,其中字段J1中的第二被控对象控制参数用于控制辅助关节1...字段Jn中的第二被控对象控制参数用于控制辅助关节n。那么,映射模块13将字段J1中的第二被控对象控制参数映射到驱动物理信道集70中的辅助关节驱动物理信道Q1,该辅助关节驱动物理信道Q1将字段J1中的第二被控对象控制参数发送到辅助关节1的驱动机构,以由辅助关节1的驱动机构基于字段J1中的第二被控对象控制参数控制辅助关节1。字段J1与字段Jn之间的其他各个字段类似执行,直到映射模块13将字段Jn中的第二被控对象控制参数映射到驱动物理信道集70中的辅助关节驱动物理信道Qn,该辅助关节驱动物理信道Qn将字段Jn中的第二被控对象控制参数发送到辅助关节n的驱动机构,以由辅助关节n的驱动机构基于字段Jn中的第二被控对象控制参数控制辅助关节n。For another example, suppose 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 parameter in the field J1 is used for control The second controlled object control parameter in the auxiliary joint 1...field Jn is used to control the auxiliary joint n. Then, the mapping module 13 maps the second controlled object control parameter in the 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 maps the second controlled object in the field J1 The control parameter is sent to the driving mechanism of the auxiliary joint 1 so that the driving mechanism of the auxiliary joint 1 controls the auxiliary joint 1 based on the second controlled object control parameter in the field J1. The other fields between the field J1 and the field Jn are executed similarly, 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, and the auxiliary joint driving The physical channel Qn sends the second controlled object control parameter in the field Jn to the driving mechanism of the auxiliary joint n, so that the driving mechanism of the auxiliary joint n controls the auxiliary joint n based on the second controlled object control parameter in the field Jn.
本领域技术人员可以意识到,图4所示的报文格式和图5所示的映射方式仅是本发明实施方式的典型实例,本发明实施方式对此并无限定。Those skilled in the art may realize that the message format shown in FIG. 4 and the mapping manner shown in FIG. 5 are only typical examples of the implementation of the present invention, and the implementation of the present invention is not limited thereto.
图6为根据本发明实施方式的多轴运动控制系统的示范性结构图。Fig. 6 is an exemplary structure diagram of a multi-axis motion control system according to an embodiment of the present invention.
在图6中,多轴运动控制器10与HMI60连接。多轴运动控制器10包括命令解析器61、运动控制模块11、数据交互接口12和映射模块13。HMI60接收用户命令。In FIG. 6, the multi-axis motion controller 10 is connected to the HMI60. 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. HMI60 receives user commands.
命令解析器61基于用户命令的具体格式,将用户命令解析为配置命令62或执行命令69,其中执行命令69包括机器人关节执行命令、辅助关节执行命令或机器人关节与辅助关节的协调执行命令。优选的,机器人关节执行命令包含机器人PTP命令和机器人笛卡尔运动命令。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. The execution command 69 includes a robot joint execution command, an auxiliary joint execution command, or a coordinated execution command between the robot joint and the auxiliary joint. Preferably, the robot joint execution commands include robot PTP commands and robot Cartesian motion commands.
当用户命令为配置命令时,多轴运动控制器10中的运动控制模块11基于配置命令中的机器人关节数和辅助关节数,分别确定出机器人运动算法库和辅助轴运动算法库,并将机器人配置参数输入到机器人运动算法库,辅助轴配置参数输入到辅助轴运动算法库中。数据交互接口12,基于配置命令中的机器人关节数激活预定报文格式中的机器人关节控制字段,基于辅助关节数激活预定报文格式中的辅助关节控制字段。映射模块13建立已激活的机器人关节控制字段与机器人关节驱动物理信道63之间的第一映射关系,建立已激活的辅助关节控制字段与辅助关节驱动物理信道66之间的第二映射关系。When the user command is a configuration command, the motion control module 11 in the multi-axis motion controller 10 determines the robot motion algorithm library and the auxiliary axis motion algorithm library based on the number of robot joints and auxiliary joints in the configuration command, respectively, and combines the robot The configuration parameters are input to the robot motion algorithm library, and the auxiliary axis configuration parameters are input to the auxiliary axis motion algorithm library. The data interaction interface 12 activates the robot joint control field in the predetermined message format based on the number of robot joints in the configuration command, and activates the auxiliary joint control field in the predetermined message format based on the number of auxiliary joints. The mapping module 13 establishes a first mapping relationship between the activated robot joint control field and the robot joint drive physical channel 63, and establishes a second mapping relationship between the activated auxiliary joint control field and the auxiliary joint drive physical channel 66.
机器人PTP运动规划模块610对机器人PTP命令执行机器人PTP运动规划,机器人关节PTP插补模块611对机器人PTP运动规划模块610输出的机器人PTP运动规划结果执行插补。机器人笛卡尔运动规划模块612对机器人笛卡尔运动命令执行机器人笛卡尔运动规划,机器人笛卡尔插补模块613对机器人笛卡尔运动规划模块612输出的机器人运动规划结果执行插补。辅助轴运动规划模块616执行辅助轴运动规划,辅助关节插补模块617对辅助轴运动规划模块616输出的辅助轴运动规划执行插补。机器人和辅助轴的协同运动规划模块614对包含机器人执行命令和辅助关节执行命令的协同命令执行运动规划,机器人和辅助关节的协同插补模块615对机器人和辅助轴的协同运动规划模块614的输出结果执行插补。机器人关节和辅助关节的运动算法库618用于为多轴运动控制器10中的其他模块提供机器人运动算法库和辅助轴运动算法库。The robot PTP motion planning module 610 performs robot PTP motion planning on the robot PTP commands, and the robot joint PTP interpolation module 611 performs interpolation on the 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 commands, and the robot Cartesian interpolation module 613 performs interpolation on the robot motion planning results output by the robot Cartesian motion planning module 612. The auxiliary axis motion planning module 616 performs auxiliary axis motion planning, and the auxiliary joint interpolation module 617 performs interpolation on the auxiliary axis motion plan output by the auxiliary axis motion planning module 616. The coordinated motion planning module 614 of the robot and the auxiliary axis executes motion planning for the coordinated command including the robot execution command and the auxiliary joint execution command, and the coordinated interpolation module of the robot and the auxiliary joint 615 outputs the coordinated motion planning module 614 of the robot and the auxiliary axis The result is interpolation. The motion algorithm library 618 of robot joints and auxiliary joints is used to provide a robot motion algorithm library and auxiliary axis motion algorithm library for other modules in the multi-axis motion controller 10.
机器人关节驱动器64对应连接到各自的机器人关节驱动物理信道63。机器人关节驱动器64基于对应的机器人关节驱动物理信道63所提供的机器人关节控制参数,控制各自连接的机器人关节电机65。辅助关节驱动器67对应连接到各自的辅助关节驱动物理信道66。辅助关节驱动器67基于对应的辅助关节驱动物理信道66所提供的辅助关节控制参数,控制各自连接的辅助关节电机68。The robot joint driver 64 is correspondingly connected to the respective robot joint driving physical channel 63. The robot joint driver 64 controls each connected robot joint motor 65 based on the robot joint control parameters provided by the corresponding robot joint drive physical channel 63. The auxiliary joint driver 67 is correspondingly connected to the respective auxiliary joint driving physical channel 66. The auxiliary joint driver 67 controls the auxiliary joint motors 68 connected to each other 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 present invention also proposes a multi-axis motion control method.
图7为根据本发明实施方式的多轴运动控制方法的流程图。Fig. 7 is a flowchart of a multi-axis motion control method according to an embodiment of the present invention.
如图7所示,该方法包括:As shown in Figure 7, the method includes:
步骤701:接收包含第一被控对象关节数和第一被控对象配置参数的配置命令,确定对应于第一被控对象关节数的第一被控对象运动算法库,将第一被控对象配置参数输入到所述第一被控对象运动算法库中。Step 701: Receive a configuration command containing the number of joints of the first controlled object and the configuration parameters of the first controlled object, determine the first controlled object motion algorithm library corresponding to the number of joints of the first controlled object, and set the first controlled object The configuration parameters are input into the first controlled object motion algorithm library.
步骤702:基于第一被控对象关节数激活预定报文格式中的第一被控对象控制字段。Step 702: Activate the first controlled object control field in the predetermined message format based on the number of joints of the first controlled object.
步骤703:建立已激活的第一被控对象控制字段与第一被控对象驱动物理信道之间的第一映射关系。Step 703: Establish a first mapping relationship between the activated first controlled object control field and the first controlled object driven physical channel.
在一个实施方式中,配置命令还包括第二被控对象关节数和第二被控对象配置参数;该方法还包括:In one embodiment, the configuration command further includes the number of joints of the second controlled object and the configuration parameters of the second controlled object; the method further includes:
确定对应于第二被控对象关节数的第二被控对象运动算法库,将第二被控对象配置参数输入到第二被控对象运动算法库中;基于第二被控对象关节数激活预定报文格式中的第二被控对象控制字段;建立已激活的第二被控对象控制字段与第二被控对象驱动物理信道之间的第二映射关系。Determine the 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; activate the preset based on the second controlled object joint number The second controlled object control field in the message format; establishing a second mapping relationship between the activated second controlled object control field and the second controlled object drive physical channel.
在一个实施方式中,该方法还包括:接收第一被控对象执行命令,基于第一被控对象执行命令和第一被控对象运动算法库确定第一被控对象控制参数;将第一被控对象控制参数封装到已激活的第一被控对象控制字段中;基于第一映射关系,将已激活的第一被控对象控制字段中的第一被控对象控制参数发送到对应的第一被控对象驱动物理信道。In one embodiment, the method further includes: receiving a first controlled object execution command, determining the first controlled object control parameter based on the first controlled object execution command and the first controlled object motion algorithm library; The controlled object control parameter is encapsulated in the activated first controlled object control field; based on the first mapping relationship, the first controlled object control parameter in the activated first controlled object control field is sent to the corresponding first controlled object The controlled object drives the physical channel.
在一个实施方式中,该方法还包括:接收第二被控对象执行命令,基于第二被控对象执行命令和第二被控对象运动算法库确定第二被控对象控制参数;将第二被控对象控制参数封装到已激活的第二被控对象控制字段中;基于第二映射关系,将已激活的第二被控对象控制字段中的第二被控对象控制参数发送到对应的第二被控对象驱动物理信道。In one embodiment, the method further includes: receiving a second controlled object execution command, and determining the second controlled object control parameter based on the second controlled object execution command and the second controlled object motion algorithm library; The controlled object control parameter is encapsulated in the activated second controlled object control field; based on the second mapping relationship, the second controlled object control parameter in the activated second controlled object control field is sent to the corresponding second controlled object The controlled object drives the physical channel.
在一个实施方式中,该方法还包括:接收第一被控对象执行命令和第二被控对象执行命令,基于第二被控对象执行命令和第二被控对象运动算法库确定第二被控对象控制参数,基于第二被控对象控制参数、第一被控对象执行命令和第一被控对象运动算法库确定第一被控对象控制参数;将第一被控对象控制参数封装到已激活的第一被控对象控制字段中,将第二被控对象控制参数封装到已激活的第二被控对象控制字段中;基于第一映射关系,将已激活的第一被控对象控制字段中的第一被控对象控制参数发送到对应的第一被控对象驱动物理信道,基于第二映射关系,将已激活的第二被控对象控制字段中的第二被控对象控制参数发送到对应的第二被控对象驱动物理信道。In one embodiment, the method further includes: receiving the first controlled object execution command and the second controlled object execution command, and determining the second controlled object based on the second controlled object execution command and the second controlled object motion algorithm library Object control parameters, determine the 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; encapsulate the first controlled object control parameter to activated Encapsulate the second controlled object control parameter into the activated second controlled object control field in the first controlled object control field; based on the first mapping relationship, place the activated first controlled object control field in the The first controlled object control parameter of the second controlled object is sent to the corresponding first controlled object drive physical channel, and based on the second mapping relationship, the second controlled object control parameter in the activated second controlled object control field is sent to the corresponding The second controlled object drives the physical channel.
本发明实施方式还提出了一种具有处理器-存储器架构的多轴运动控制器。The embodiment of the present invention also proposes a multi-axis motion controller with a processor-memory architecture.
图8为具有处理器-存储器架构的多轴运动控制器的结构图。Fig. 8 is a structural diagram of a multi-axis motion controller with a processor-memory architecture.
如图8所示,多轴运动控制器800包括处理器801和存储器802;As shown in FIG. 8, the multi-axis motion controller 800 includes a processor 801 and a memory 802;
存储器802中存储有可被处理器801执行的应用程序,用于使得处理器801执行如上所述的多轴运动控制方法。The memory 802 stores an application program that can be executed by the processor 801, and is used to make the processor 801 execute the above-mentioned multi-axis motion control method.
其中,存储器802具体可以实施为电可擦可编程只读存储器(EEPROM)、快闪存储器(Flash memory)、可编程程序只读存储器(PROM)等多种存储介质。处理器801可以实施为包括一或多个中央处理器或一或多个现场可编程门阵列,其中现场可编程门阵列集成一或多个中央处理器核。具体地,中央处理器或中央处理器核可以实施为CPU或MCU。Among them, the memory 802 can be specifically implemented as a variety of storage media such as electrically erasable programmable read-only memory (EEPROM), flash memory (Flash memory), and programmable program read-only memory (PROM). The processor 801 may be implemented to include one or more central processing units or one or more field programmable gate arrays, where the field programmable gate array integrates one or more central processing unit cores. Specifically, the central processing unit or central processing unit core may be implemented as a CPU or MCU.
需要说明的是,上述各流程和各结构图中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。各模块的划分仅仅是为了便于描述采用的功能上的划分,实际实现时,一个模块可以分由多个模块实现,多个模块的功能也可以由同一个模块实现,这些模块可以位于同一个设备中,也可以位于不同的设备中。It should be noted that not all steps and modules in the above-mentioned processes and structural diagrams are necessary, and some steps or modules can be ignored according to actual needs. The order of execution of each step is not fixed and can be adjusted as needed. The division of each module is just to facilitate the description of the functional division. In actual implementation, a module can be implemented by multiple modules, and the functions of multiple modules can also be implemented by the same module, and these modules can be located in the same device It can also be located in a different device.
各实施方式中的硬件模块可以以机械方式或电子方式实现。例如,一个硬件模块可以包括专门设计的永久性电路或逻辑器件(如专用处理器,如FPGA或ASIC)用于完成特定的操作。硬件模块也可以包括由软件临时配置的可编程逻辑器件或电路(如包括通用处理器或其它可编程处理器)用于执行特定操作。至于具体采用机械方式,或是采用专用的永久性电路,或是采用临时配置的电路(如由软件进行配置)来实现硬件模块,可以根据成本和时间上的考虑来决定。The hardware modules in each embodiment can be implemented in a mechanical or electronic manner. For example, a hardware module may include specially designed permanent circuits or logic devices (such as dedicated processors, such as FPGAs or ASICs) to complete specific operations. The hardware module may also include a programmable logic device or circuit (for example, including a general-purpose processor or other programmable processors) temporarily configured by software to perform specific operations. As for the specific use of a mechanical method, or a dedicated permanent circuit, or a temporarily configured circuit (such as software configuration) to implement the hardware module, it can be determined according to cost and time considerations.
本发明还提供了一种机器可读的存储介质,存储用于使一机器执行如本文所述方法的指令。具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施方式的功能的软件程序代码,且使该系统或者装置的计算机(或CPU或MPU)读出并执行存储在存储介质中的程序代码。此外,还可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作。还可以将从存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展单元中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展单元上的CPU等来执行部分和全部实际操作,从而实现上述实施方式中任一实施方式的功能。The present invention also provides a machine-readable storage medium that stores instructions for making a machine execute the method described herein. Specifically, a system or device equipped with a storage medium may be provided, and the software program code for realizing the function of any one of the above embodiments is stored on the storage medium, and the computer (or CPU or MPU of the system or device) ) Read and execute the program code stored in the storage medium. In addition, an operating system operating on the computer can also be used to complete part or all of the actual operations through instructions based on the program code. It is also possible to write the program code read from the storage medium to the memory set in the expansion board inserted into the computer or to the memory set in the expansion unit connected to the computer, and then the program code-based instructions make the installation in The CPU on the expansion board or the expansion unit performs part or all of the actual operations, thereby realizing the function of any one of the above-mentioned embodiments.
用于提供程序代码的存储介质实施方式包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD+RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上下载程序代码。Implementations of storage media used to provide program codes include floppy disks, hard disks, magneto-optical disks, optical disks (such as CD-ROM, CD-R, CD-RW, DVD-ROM, DVD-RAM, DVD-RW, DVD+RW), Magnetic tape, non-volatile memory card and ROM. Alternatively, the program code can be downloaded from the server computer via a communication network.
以上所述,仅为本发明的较佳实施方式而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above are only the preferred embodiments of the present invention and are not used to limit the protection scope of the present invention. Any modification, equivalent replacement, improvement, etc., made within the spirit and principle of the present invention should be included in the protection scope of the present invention.

Claims (15)

  1. 多轴运动控制器(10),其特征在于,包括:The multi-axis motion controller (10) is characterized in that it comprises:
    运动控制模块(11),其适配于接收包含第一被控对象关节数和第一被控对象配置参数的配置命令,确定对应于所述第一被控对象关节数的第一被控对象运动算法库,将所述第一被控对象配置参数输入到所述第一被控对象运动算法库中;A motion control module (11), which is adapted to receive a configuration command containing a first controlled object joint number and a first controlled object configuration parameter, and determine the first controlled object corresponding to the first controlled object joint number A motion algorithm library, inputting the first controlled object configuration parameter into the first controlled object motion algorithm library;
    数据交互接口(12),其适配于基于所述第一被控对象关节数激活预定报文格式中的第一被控对象控制字段;A data interaction interface (12) adapted to activate the first controlled object control field in a predetermined message format based on the number of joints of the first controlled object;
    映射模块(13),其适配于建立已激活的第一被控对象控制字段与第一被控对象驱动物理信道之间的第一映射关系。The mapping module (13) is adapted to establish a first mapping relationship between the activated first controlled object control field and the first controlled object drive physical channel.
  2. 根据权利要求1所述的多轴运动控制器(10),其特征在于,所述配置命令还包括第二被控对象关节数和第二被控对象配置参数;The multi-axis motion controller (10) according to claim 1, wherein the configuration command further includes the number of joints of the second controlled object and the configuration parameters of the second controlled object;
    所述运动控制模块(11),其还适配于确定对应于所述第二被控对象关节数的第二被控对象运动算法库,将所述第二被控对象配置参数输入到所述第二被控对象运动算法库中;The motion control module (11) is further adapted to determine a second controlled object motion algorithm library corresponding to the number of joints of the second controlled object, and input the second controlled object configuration parameters to the In the second controlled object motion algorithm library;
    所述数据交互接口(12),其还适配于基于所述第二被控对象关节数激活所述预定报文格式中的第二被控对象控制字段;The data interaction interface (12) is further adapted to activate the second controlled object control field in the predetermined message format based on the number of joints of the second controlled object;
    所述映射模块(13),其还适配于建立已激活的第二被控对象控制字段与第二被控对象驱动物理信道之间的第二映射关系。The mapping module (13) 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.
  3. 根据权利要求1所述的多轴运动控制器(10),其特征在于,The multi-axis motion controller (10) according to claim 1, characterized in that,
    所述运动控制模块(11),其还适配于接收第一被控对象执行命令,基于所述第一被控对象执行命令和所述第一被控对象运动算法库确定第一被控对象控制参数;The motion control module (11) is further adapted to receive a first controlled object execution command, and determine the first controlled object based on the first controlled object execution command and the first controlled object motion algorithm library control parameter;
    所述数据交互接口(12),其还适配于将所述第一被控对象控制参数封装到已激活的第一被控对象控制字段中;The data interaction interface (12) is further adapted to encapsulate the first controlled object control parameter into the activated first controlled object control field;
    所述映射模块(13),其还适配于基于所述第一映射关系,将所述已激活的第一被控对象控制字段中的第一被控对象控制参数发送到对应的第一被控对象驱动物理信道。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 based on the first mapping relationship The control object drives the physical channel.
  4. 根据权利要求2所述的多轴运动控制器(10),其特征在于,The multi-axis motion controller (10) according to claim 2, characterized in that,
    所述运动控制模块(11),其还适配于接收第二被控对象执行命令,基于所述第二被控对象执行命令和所述第二被控对象运动算法库确定第二被控对象控制参数;The motion control module (11) is further adapted to receive a second controlled object execution command, and determine the second controlled object based on the second controlled object execution command and the second controlled object motion algorithm library control parameter;
    所述数据交互接口(12),其还适配于将所述第二被控对象控制参数封装到已激活的第二被控对象控制字段中;The data interaction interface (12) is further adapted to encapsulate the second controlled object control parameter into the activated second controlled object control field;
    所述映射模块(13),其还适配于基于所述第二映射关系,将所述已激活的第二被控对象控制字段中的第二被控对象控制参数发送到对应的第二被控对象驱动物理信道。The mapping module (13) is further adapted to send the second controlled object control parameter in the activated second controlled object control field to the corresponding second controlled object based on the second mapping relationship The control object drives the physical channel.
  5. 根据权利要求2所述的多轴运动控制器(10),其特征在于,The multi-axis motion controller (10) according to claim 2, characterized in that,
    所述运动控制模块(11),其还适配于接收第一被控对象执行命令和第二被控对象执行命令,基于所述第二被控对象执行命令和所述第二被控对象运动算法库确定第二被控对象控制参数,基于所述第二被控对象控制参数、所述第一被控对象执行命令和所述第一被控对象运动算法库确定第一被控对象控制参数;The motion control module (11) is also adapted to receive a first controlled object execution command and a second controlled object execution command, based on the second controlled object execution command and the second controlled object movement The algorithm library determines the second controlled object control parameter, and determines the 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 ;
    所述数据交互接口(12),其还适配于将所述第一被控对象控制参数封装到已激活的第一被控对象控制字段中,将所述第二被控对象控制参数封装到已激活的第二被控对象控制字段中;The data interaction interface (12) is further adapted to encapsulate the first controlled object control parameter into the activated first controlled object control field, and encapsulate the second controlled object control parameter into In the activated second controlled object control field;
    所述映射模块(13),其还适配于基于所述第一映射关系,将所述已激活的第一被控对象控制字段中的第一被控对象控制参数发送到对应的第一被控对象驱动物理信道,基于所述第二映射关系,将所述已激活的第二被控对象控制字段中的第二被控对象控制参数发送到对应的第二被控对象驱动物理信道。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 based on the first mapping relationship The controlled object drives the physical channel, and based on the second mapping relationship, sends the second controlled object control parameter in the activated second controlled object control field to the corresponding second controlled object drive physical channel.
  6. 根据权利要求3、4或5所述的多轴运动控制器(10),其特征在于,还包括:The multi-axis motion controller (10) according to claim 3, 4 or 5, characterized in that it further comprises:
    命令解析器(61),其适配于基于预定的命令格式解析语法,将人机接口接收到的用户命令解析为所述配置命令、所述第一被控对象执行命令或所述第二被控对象执行命令。The command parser (61) is adapted to parse the grammar based on a predetermined command format, and parse the user command received by the man-machine interface into the configuration command, the execution command of the first controlled object, or the second command The control object executes the command.
  7. 根据权利要求1所述的多轴运动控制器(10),其特征在于,所述第一被控对象为机器人,所述第二被控对象为辅助轴系统。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. 多轴运动控制方法,其特征在于,包括:The multi-axis motion control method is characterized in that it includes:
    接收包含第一被控对象关节数和第一被控对象配置参数的配置命令,确定对应于所述第一被控对象关节数的第一被控对象运动算法库,将所述第一被控对象配置参数输入到所述第一被控对象运动算法库中(701);Receive a configuration command containing the number of joints of the first controlled object and configuration parameters of the first controlled object, determine the first controlled object motion algorithm library corresponding to the number of joints of the first controlled object, and set the first controlled object The object configuration parameters are input into the first controlled object motion algorithm library (701);
    基于所述第一被控对象关节数激活预定报文格式中的第一被控对象控制字段(702);Activate the first controlled object control field in the predetermined message format based on the number of joints of the first controlled object (702);
    建立已激活的第一被控对象控制字段与第一被控对象驱动物理信道之间的第一映射关系(703)。A first mapping relationship between the activated first controlled object control field and the first controlled object drive physical channel is established (703).
  9. 根据权利要求8所述的多轴运动控制方法,其特征在于,所述配置命令还包括第二被控对象关节数和第二被控对象配置参数;该方法还包括:The multi-axis motion control method according to claim 8, wherein the configuration command further includes the number of joints of the second controlled object and the configuration parameters of the second controlled object; the method further comprises:
    确定对应于所述第二被控对象关节数的第二被控对象运动算法库,将所述第二被控对象配置参数输入到所述第二被控对象运动算法库中;Determining a second controlled object motion algorithm library corresponding to the number of joints of the second controlled object, and inputting the second controlled object configuration parameter into the second controlled object motion algorithm library;
    基于所述第二被控对象关节数激活所述预定报文格式中的第二被控对象控制字段;Activating the second controlled object control field in the predetermined message format based on the number of joints of the second controlled object;
    建立已激活的第二被控对象控制字段与第二被控对象驱动物理信道之间的第二映射关系。A second mapping relationship between the activated second controlled object control field and the second controlled object drive physical channel is established.
  10. 根据权利要求8所述的多轴运动控制方法,其特征在于,该方法还包括:The multi-axis motion control method of claim 8, wherein 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;
    将所述第一被控对象控制参数封装到已激活的第一被控对象控制字段中;Encapsulating the first controlled object control parameter into the activated first controlled object control field;
    基于所述第一映射关系,将所述已激活的第一被控对象控制字段中的第一被控对象控制参数发送到对应的第一被控对象驱动物理信道。Based on the first mapping relationship, the first controlled object control parameter in the activated first controlled object control field is sent to the corresponding first controlled object drive physical channel.
  11. 根据权利要求9所述的多轴运动控制方法,其特征在于,该方法还包括:The multi-axis motion control method according to claim 9, wherein 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;
    将所述第二被控对象控制参数封装到已激活的第二被控对象控制字段中;Encapsulating the second controlled object control parameter into the activated second controlled object control field;
    基于所述第二映射关系,将所述已激活的第二被控对象控制字段中的第二被控对象控制参数发送到对应的第二被控对象驱动物理信道。Based on the second mapping relationship, the second controlled object control parameter in the activated second controlled object control field is sent to the corresponding second controlled object drive physical channel.
  12. 根据权利要求9所述的多轴运动控制方法,其特征在于,该方法还包括:The multi-axis motion control method according to claim 9, wherein the method further comprises:
    接收第一被控对象执行命令和第二被控对象执行命令,基于所述第二被控对象执行命令和所述第二被控对象运动算法库确定第二被控对象控制参数,基于所述第二被控对象控制参数、所述第一被控对象执行命令和所述第一被控对象运动算法库确定第一被控对象控制参数;Receive the first controlled object execution command and the second controlled object execution command, determine the second controlled object control parameter based on the second controlled object execution command and the second controlled object motion algorithm library, based on the The second controlled object control parameter, the first controlled object execution command, and the first controlled object motion algorithm library determine the first controlled object control parameter;
    将所述第一被控对象控制参数封装到已激活的第一被控对象控制字段中,将所述第二被控对象控制参数封装到已激活的第二被控对象控制字段中;Encapsulating the first controlled object control parameter in the activated first controlled object control field, and encapsulating the second controlled object control parameter in the activated second controlled object control field;
    基于所述第一映射关系,将所述已激活的第一被控对象控制字段中的第一被控对象控制参数发送到对应的第一被控对象驱动物理信道,基于所述第二映射关系,将所述已激活的第二被控对象控制字段中的第二被控对象控制参数发送到对应的第二被控对象驱动物理信道。Based on the first mapping relationship, the first controlled object control parameter in the activated first controlled object control field is sent to the corresponding first controlled object drive physical channel, based on the second mapping relationship , Sending the second controlled object control parameter in the activated second controlled object control field to the corresponding second controlled object drive physical channel.
  13. 多轴运动控制系统,其特征在于,包括如权利要求1-7中任一项所述的多轴运动控制器(10)。The multi-axis motion control system is characterized by comprising the multi-axis motion controller (10) according to any one of claims 1-7.
  14. 多轴运动控制器(800),其特征在于,包括处理器(801)和存储器(802);The multi-axis motion controller (800) is characterized by comprising a processor (801) and a memory (802);
    所述存储器(802)中存储有可被所述处理器(801)执行的应用程序,用于使得所述处理器(801)执行如权利要求8-12中任一项所述的多轴运动控制方法。The memory (802) stores an application program executable by the processor (801) for causing the processor (801) to perform the multi-axis motion according to any one of claims 8-12 Control Method.
  15. 计算机可读存储介质,其特征在于,其中存储有计算机可读指令,该计算机可读指令用于执行如权利要求8-12中任一项所述的多轴运动控制方法。A computer-readable storage medium, wherein computer-readable instructions are stored therein, and the computer-readable instructions are used to execute the multi-axis motion control method according to any one of claims 8-12.
PCT/CN2019/083914 2019-04-23 2019-04-23 Multi-axis motion controller, multi-axis motion control method and system WO2020215213A1 (en)

Priority Applications (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

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
WO2020215213A1 true WO2020215213A1 (en) 2020-10-29

Family

ID=72941278

Family Applications (1)

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

Country Status (1)

Country Link
WO (1) WO2020215213A1 (en)

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

Similar Documents

Publication Publication Date Title
Xu Machine Tool 4.0 for the new era of manufacturing
JP6755874B2 (en) Robot system and its operation method
Minhat et al. A novel open CNC architecture based on STEP-NC data model and IEC 61499 function blocks
JP3834307B2 (en) Robot system
Blomdell et al. Extending an industrial robot controller: implementation and applications of a fast open sensor interface
KR890005032B1 (en) Operation teaching method and apparatus for industrial robot
JP4174517B2 (en) Teaching position correcting device and teaching position correcting method
CN100361793C (en) Offline programming device
KR102126729B1 (en) Method and system for programming a robot
EP1644782B1 (en) Multiple robot arm tracking and mirror jog
US10525594B2 (en) Teaching system, robot system, and teaching method
DE60127908T2 (en) Robot control
CN104722926B (en) A kind of robot three-dimensional laser automatic cutting system method
US7734358B2 (en) Data processing apparatus for arc welding
US6445964B1 (en) Virtual reality simulation-based training of telekinegenesis system for training sequential kinematic behavior of automated kinematic machine
US8504188B2 (en) Device and method for the computer-assisted generation of a manipulator path
CN102216037B (en) A method and a device for optimizing a programmed movement path for an industrial robot
Hong et al. A PC-based open robot control system: PC-ORC
US6330493B1 (en) Control system for synchronously cooperative operation of plurality of robots
JP3537362B2 (en) Graphic display device for robot system
JP6311421B2 (en) Teaching system, robot system, and teaching method
US7620478B2 (en) Control system, method and computer program for synchronizing several robots
US6658316B1 (en) Parametric programming of robots and automated machines for manufacturing electrical enclosures
JP3269003B2 (en) Robot controller
JP2006236031A (en) Robot trajectory controlling method, system, and program for robot trajectory controlling method

Legal Events

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

Ref document number: 19925834

Country of ref document: EP

Kind code of ref document: A1