CN116803632A - 工业机器人的系统和混合位置力控制方法 - Google Patents
工业机器人的系统和混合位置力控制方法 Download PDFInfo
- Publication number
- CN116803632A CN116803632A CN202310303389.6A CN202310303389A CN116803632A CN 116803632 A CN116803632 A CN 116803632A CN 202310303389 A CN202310303389 A CN 202310303389A CN 116803632 A CN116803632 A CN 116803632A
- Authority
- CN
- China
- Prior art keywords
- joint
- force
- controller module
- actuator
- setpoint
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 239000011159 matrix material Substances 0.000 claims abstract description 90
- 238000004364 calculation method Methods 0.000 claims abstract description 50
- 239000013598 vector Substances 0.000 claims abstract description 24
- 239000002131 composite material Substances 0.000 claims description 38
- 238000004891 communication Methods 0.000 claims description 25
- 230000009466 transformation Effects 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 13
- 230000005484 gravity Effects 0.000 claims description 12
- 230000036962 time dependent Effects 0.000 claims description 6
- 150000001875 compounds Chemical class 0.000 claims description 4
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 230000010354 integration Effects 0.000 claims description 2
- 230000007704 transition Effects 0.000 abstract 2
- 230000006870 function Effects 0.000 description 15
- 238000005259 measurement Methods 0.000 description 9
- 238000012937 correction Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000001934 delay Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1633—Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J13/00—Controls for manipulators
- B25J13/08—Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
- B25J13/085—Force or torque sensors
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/06—Programme-controlled manipulators characterised by multi-articulated arms
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/10—Programme-controlled manipulators characterised by positioning means for manipulator elements
- B25J9/12—Programme-controlled manipulators characterised by positioning means for manipulator elements electric
- B25J9/126—Rotary actuators
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1628—Programme controls characterised by the control loop
- B25J9/1638—Programme controls characterised by the control loop compensation for arm bending/inertia, pay load weight/inertia
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/42—Recording and playback systems, i.e. in which the programme is recorded from a cycle of operations, e.g. the cycle of operations being manually controlled, after which this record is played back on the same machine
- G05B19/423—Teaching successive positions by walk-through, i.e. the tool head or end effector being grasped and guided directly, with or without servo-assistance, to follow a path
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39001—Robot, manipulator control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39194—Compensation gravity
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39322—Force and position control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39332—Adaptive force control
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/39—Robotics, robotics to robotics hand
- G05B2219/39338—Impedance control, also mechanical
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/42—Servomotor, servo controller kind till VSS
- G05B2219/42123—Position loop then force, current loop
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Human Computer Interaction (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
Abstract
本控制工业机器人的方法包括以下步骤:在计算模块中计算(S204)轴控制器模块的控制关节力设定点,在关节转换器中根据关节位置计算(S206)关节转换矩阵,向轴控制器模块提供(S210)施加在执行器上的多维外力,在轴控制器模块中计算(S212)关节力矢量,在轴控制器模块中考虑到关节力矢量和关节力设定点而计算(S214)电流环路控制设定点,在轴控制器模块中根据电流环路控制设定点计算(S216)电力单元的控制设定点。
Description
技术领域
本发明涉及工业机器人,更具体地涉及用于控制可手动引导的工业机器人的系统和方法。
背景技术
工业机器人,诸如机器人手臂,越来越多地用于直接的操作员协作应用中,其中操作员可以直接对机器人进行操作。例如,手术应用或某些工业制造方法等就是这种情况。
例如,操作员可以通过操纵和移动机器人手臂的一部分来直接作用于机器人。这种运动由机器人上的传感器检测到。取决于这种反馈,机器人控制系统相应地修改发送到机器人电机的设定点,以例如将机器人手臂带到或保持在操作员选择的位置,或者跟随由操作员对机器人进行的手动移动。
通常,机器人“手动”引导的性能可以通过不同的标准来衡量,诸如机器人可以被移动的难易程度(透明度),在操作员的作用下没有弹性(刚性)和稳定性,这在机器人到达由编程或用户施加的极限位置时进行评估。
目前可用和已知的机器人控制解决方案都不能达到满足这三个标准的结果,这三个标准通常难以协调。
实际上,在实际应用中,刚性和透明度都令人满意的机器人的稳定性会不够,因为在操作员的作用下,机器人在接触到其所处环境的刚性元素时会发生弹跳。
因此,需要用于控制工业机器人的系统和方法在必须至少部分地手动引导机器人时使用具有改进性能的引导。
发明内容
为此,本发明涉及一种用于控制工业机器人的方法,机器人包括:多轴机器人手臂,包括至少两个电动致动器,每个电动致动器适于使机器人手臂的一个部件相对于机器人手臂的另一个部件围绕或沿着移动轴而移动,每个电动致动器都与配置用于测量相应致动器的关节位置的传感器相关联;执行器,置于机器人手臂的端部,
机器人控制系统,包括:
中央单元和单个辅助单元,通过数据总线进行通信,
轴控制器模块,被配置用于根据关节力设定点计算电力单元的控制设定点并且由单个辅助单元实现,电力单元将合适的电流传送至致动器;以及计算模块,被配置用于为轴控制器模块确定关节力设定点,计算模块连接到轴控制器模块,
数据采集接口,被配置用于接收由与致动器相关联的传感器测量的致动器的位置并且将位置发送至计算模块和轴控制器模块,
多轴力传感器,适于测量施加在机器人手臂上的多维外力并且置于机器人手臂的端部和执行器之间,以将多维外力发送到轴控制器模块,
其中,该控制方法包括以下步骤:
在计算模块中计算用于控制轴控制器模块的关节力设定点,以及
在由中央单元实现的关节转换器中根据关节位置计算关节转换矩阵,关节转换矩阵被发送到辅助单元,
向轴控制器模块提供施加在执行器上的多维外力,
在轴控制器模块中通过使用关节转换矩阵根据施加在执行器上的外力计算关节力矢量,
在轴控制器模块中考虑到关节力矢量和关节力设定点而计算电流环路控制设定点,
在轴控制器模块中根据电流环路的控制设定点计算电力单元控制设定点。
在一些实施例中,在轴控制器模块中使用关节转换矩阵和根据施加在执行器上的外力计算关节力矢量之前的步骤包括:在重力补偿器中根据关节位置计算执行器的重量,其中关节力矢量是在轴控制器模块中通过从多维外力中减去执行器的重量从而忽略执行器的重量并且通过将转换矩阵应用到结果以将该结果在关节域中转换而计算的。
在一些实施例中,中央单元实现重力补偿器,重力补偿器计算执行器的重量并将执行器的重量发送到辅助单元以考虑施加在执行器上的多维外力。
在一些实施例中,数据采集接口、多轴力传感器和辅助单元经由数据总线进行通信,该数据总线被以如下方式配置:
数据帧沿着连接数据采集接口、多轴力传感器和辅助单元的通信环路而在数据总线上单向行进,数据采集接口和多轴力传感器以任意顺序置于辅助单元之前,
数据采集接口在帧通过期间能将致动器的关节位置添加到数据帧,
多轴力传感器在帧通过期间将施加在机器人手臂上的外力添加到数据帧,
辅助单元在帧通过期间读取数据帧中的致动器的关节位置和施加在机器人手臂上的多维外力。
在一些实施例中,在计算用于控制轴控制器模块的关节力设定点之前的步骤包括:
根据目标轨迹计算定义了关节力和速度的时间相关的复合设定点,以及
计算描述了机器人手臂的期望行为的行为矩阵,该行为矩阵定义了所计算的复合设定点应当应用的方向,
则计算用于控制轴控制器模块的关节力设定点包括计算在关节位置处的均匀内部状态的时间导数,关节力设定点的计算根据以下项来执行:先前计算的所述复合设定点、先前计算的所述行为矩阵、所测量的关节位置、从所测量的关节位置导出的关节速度、内部状态以及调节关节位置与内部状态之间的差异的控制器函数,内部状态通过对内部状态的所述时间导数进行积分来确定。
在一些实施例中,控制函数是比例积分微分控制器。
在一些实施例中,关节力设定点和内部状态的时间导数是以下微分方程组的解:
其中qmv是对应于所述内部状态的函数,是内部状态的时间导数,τ是关节力设定点,Y是行为矩阵,以及u是所述复合设定点,并且其中Kp、Ki和Kd是增益,Ki和/或Kd可以为零。
在一些实施例中,中央单元实现复合设定点和行为矩阵的计算,并且其中辅助单元实现关节力设定点的计算。
在一些实施例中,中央单元以第一频率计算复合设定点和行为矩阵并且将复合设定点和行为矩阵发送给辅助单元,并且其中辅助单元以高于第一频率的第二频率计算用于控制轴控制器模块的关节力设定点。
在一些实施例中,第二频率比第一频率高两倍到二十倍,优选地比第一频率高五倍到十倍,更优选地比第一频率高八倍。
在一些实施例中,辅助单元以选自500Hz和20kHz之间的频率计算用于控制轴控制器模块的关节力设定点,该频率优选地选自5kHz和12kHz之间,优选地等于8kHz。
在一些实施例中,复合设定点和行为矩阵的计算考虑了内部状态。
在一些实施例中,通信链路配置为使得:
中央单元是主机,
数据帧沿着连接中央单元、数据采集接口、多轴力传感器和辅助单元的环路而在数据总线上单向行进,数据采集接口和多轴力传感器以任意顺序置于辅助单元之前,
辅助单元在帧通过期间将内部状态添加到数据帧,
数据帧在每个通信周期结束时被反馈回到中央单元。
根据另一方面,本发明涉及一种工业机器人控制系统,机器人包括:
多轴机器人手臂,包括至少两个电动致动器以及置于该机器人手臂端部的执行器,每个电动致动器适于使机器人手臂的一个部件相对于机器人手臂的另一个部件围绕或沿着移动轴而移动,每个电动致动器都与被配置用于测量相应致动器的关节位置的传感器相关联,
控制系统,包括:
中央单元和单个辅助单元,适于通过数据总线进行通信,
轴控制器模块,被配置用于根据关节力设定点计算电力单元的控制设定点并且由单个辅助单元实现,该电力单元将合适的电流传送至致动器,该控制器模块包括力和速度环路以及电流控制环路,
以及计算模块,被配置用于为轴控制器模块计算关节力设定点,计算模块连接到轴控制器模块,
数据采集接口,被配置用于接收由与致动器相关联的传感器测量的致动器位置并且将位置发送至计算模块和轴控制器模块,
多轴力传感器,适于测量施加在机器人手臂上的多维外力并且置于机器人手臂的端部和执行器之间,以及适于将多维外力发送到轴控制器模块,
其中:
由中央单元实现关节转换器,关节转换器被配置用于根据关节位置计算关节转换矩阵,关节转换矩阵被发送到辅助单元,
由轴控制器模块实现阻抗控制器模块,阻抗控制器模块被配置用于使用关节转换矩阵根据施加在执行器上的外力计算关节力矢量,
轴控制器模块被配置为考虑到关节力矢量和关节力设定点而计算电流环路控制设定点,
轴控制器模块被配置为根据电流环路的控制设定点计算电力单元控制设定点。
根据特定方面,轴控制器模块包括力和速度环路以及电流控制环路,力和速度环路被配置用于从多轴力传感器接收多维外力并且计算电流环路控制设定点,电流控制环路被配置用于计算电力单元的控制设定点。
根据另一方面,本发明涉及一种工业机器人,其包括这样的控制系统并且适于实施如所描述的控制方法。
附图说明
根据仅作为示例给出并参考附图进行的以下描述,本发明将被更好地理解并且其其他优点将变得更加清楚,其中:
图1示意性地并且以结构框示出了根据一个实施例的根据本发明的工业机器人;
图2是根据图1所示实施例的图1所示的工业机器人的功能框图;
图3是说明根据本发明的控制系统的综合框图;
图4是说明机器人单元之间的数据通信的框图;
图5是示出负载和速度环路的细节的功能图;
图6示意性地示出了根据本发明的用于控制工业机器人的方法,示出了考虑多维外力的细节。
具体实施方式
图1显示了工业机器人2的示例。
机器人2包括多轴机器人手臂4。机器人手臂4包括例如围绕旋转轴成对铰接的多个节段。
机器人手臂4可以包括置于机器人手臂4端部的执行器6,例如可控工具。
机器人手臂4包括多个电动致动器,在图1所示的示例中由M1、M2、M3、M4、M5和M6表示(并且在下文中由M1至M6表示)。每个电致动器适于使机器人手臂4的一部分相对于机器人手臂4的另一部分围绕移动轴(诸如旋转轴之一)旋转或平移。
每个电动致动器M1至M6包括电动机,例如同步无刷电动机,或任何其他合适的电动机。
机器人2还包括多个传感器,在图1所示的示例中由C1、C2、C3、C4、C5和C6表示(并且在下文中由C1至C6表示)。
每个电动致动器M1至M6都与传感器C1至C6相关联。每个传感器C1至C6被配置用于测量电动致动器的关节位置。传感器C1至C6例如是角度传感器,诸如旋转编码器。关节位置例如对应于关节的角度位置。
优选地,机器人2是6轴机器人。因此,机器人手臂4具有六个自由度并且包括六个电动致动器M1至M6和六个传感器C1至C6。
机器人2还包括控制系统8。
在图1、2和3所示的实施例中,控制系统8包括电子机器人控制器,其包括:
-中央单元5,
-辅助单元7以及
-6个电力单元15。
如本说明书中所定义的,术语“关节”指的是机器人手臂4的每个关节的(角度)位置,或者机器人的每个致动器M1至M6的当前(角度)位置。表述“关节力”是指在机器人手臂的每个关节上或在每个致动器M1至M6上受控制的力。
通常,在笛卡尔空间或关节空间中定义空间位置,其中表示了机器人手臂的每个关节的关节位置。
在说明书中,术语“力”是指机械力或扭矩。
中央单元5经由诸如数据总线18(特别是现场总线)的数据链路与辅助单元7通信。
在实践中,辅助单元7连接到电力单元15,电力单元15经由电导体16将适当的电流传送到致动器M1至M6。
电力单元15是包括耦接到电源的可控开关的设备,并且适于根据来自称为电力单元控制设定点的开关的控制信号而产生在电机的各相中的电流。该装置包括用于测量电机相电流的传感器。这样的电流测量值被发送到电流环路62,以便通过反馈来调整对电力单元15的可控开关的控制。
控制系统8还包括数据采集接口14,诸如电子卡。数据采集接口14与传感器C1~C6连接,并被配置用于接收由传感器C1~C6测量的数据。
传感器C1至C6例如通过与诸如EnDat协议或等效协议的工业通信协议兼容的通信链路连接到数据采集接口14。
数据采集接口14通过诸如数据总线18(特别是现场总线)的数据链路连接到中央处理单元5和辅助单元7。
优选地,数据总线18与EtherCAT(用于控制自动化技术的以太网)通信协议兼容。
控制系统8的组成部分可以有利地集中在控制柜中。可替代地,数据采集接口14可以像致动器M1至M6和传感器C1至C6一样置于机器人手臂中。中央单元5、辅助单元7和电力单元15可以置于图1中虚线所示的控制柜35中。
置于机器人手臂4的端部和执行器6之间的多轴力传感器20经由数据总线18连接到中央处理单元5和辅助处理单元7。多轴力传感器20包括至少6个测量设备,例如牢固附接到测试体的压阻式应变计。这些设备的几何布置不一定与规范的笛卡尔参考系统对齐,可以用于通过同样的测量结果的线性组合来重建完整的力螺旋。
多轴力传感器20被配置用于提供多维外力Fs。
数据总线18使诸如中央单元5、辅助单元7、数据采集接口14和多轴力传感器20的不同装备通过同步地或周期地发送的流动数据帧进行通信。
优选地,通信被单向地(或在一个方向上)执行,但使交叉通信成为可能。
中央处理单元5例如充当数据总线上的“主机”,而其他连接的装备充当“从机”。“从机”装备可以读取每个数据帧中包含的数据,并在数据帧通过期间将数据添加到数据帧中,数据帧在每个通信周期结束时反馈给中央单元。
如图4所示,中央处理单元5发送数据帧30,数据帧30首先到达数据采集接口14。数据采集接口14用诸如致动器M1至M6的关节位置qr的数据完成数据帧30。然后数据帧到达多轴力传感器20。多轴力传感器20用所测量的多维外力Fs完成数据帧。然后数据帧30到达辅助单元7,辅助单元7可以读取刚被写入数据帧30的电动致动器M1至M6的关节位置qr和所测量的多维外力Fs。然后数据帧30到达中央单元5,中央单元5可以读取电动致动器M1至M6的关节位置qr和所测量的多维外力Fs。因此,通信环路形成,其具有“主”节点作为起点和终点,这里“主”节点是中央处理单元5。
数据采集接口14和多轴力传感器20例如在通信环路中以任何顺序置于辅助单元7之前。
在变形例中,中央处理单元5可以以不同频率实现周期通信(cycliccommunication)。以高频率发送的某些数据帧30可专用于传达电动致动器M1至M6的关节位置qr,而以较低频率发送的某些数据帧30可专用于传达所测量的多维外力Fs。
EtherCAT(EtherCAT自动化协议)协议可以用于实现单向通信,其中数据帧通过沿着依次连接了中央单元5、数据采集接口14、多轴力传感器20和辅助单元7的环路而行进。此外,EtherCAT协议允许交叉通信,即一个从机发送将在同一通信周期中被通信环路中置于该从机之后的另一从机读取的数据的可行性。
在变形例中,中央单元5、辅助单元7、数据采集接口14和多轴力传感器20可以经由不同的数据总线成对通信。更具体地,多轴力传感器20可以直接与轴控制器模块12通信,下文将更详细地描述。换句话说,连接中央单元5、辅助单元7和数据采集接口14的通信链路可以包括不同性质的多个数据总线。
图3详述了机器人2由控制系统8控制的方式。在图3中,机器人2的控制功能由简化框图40表示,仅详细图示和描述了对于理解本发明必不可少的功能。
控制系统8实现应用程序执行模块(模块42)、轨迹生成器(模块44)和阻抗管理器(模块46)。
应用程序执行模块42将指令寻址到轨迹生成器44,例如以异步控制的形式。
应用程序执行模块42还可以用于为阻抗管理器46选择适当的操作模式。可以选择例如位置控制下的操作模式,或力控制下的操作模式,或混合了力控制和位置控制的混合操作模式,或阻抗控制下的操作模式。
应用程序执行模块42还可以向用户返回状态信息。
轨迹生成器44接收高级指令(例如,以直线移动到空间中的给定目的地的指令)并且例如通过应用与机器人手臂4相关联的运动学模型将指令转换为一系列关节位置或笛卡尔位置,并在适当情况下考虑机械约束,诸如减速齿轮和任何机械联轴器。
轨迹生成器44也可以以类似的方式生成力轨迹(诸如在给定方向上从一个值逐渐变化到另一个值的力)。优选地,位置轨迹和力轨迹是同步的。
阻抗管理器46生成关节控制以便给予机器人定义的行为,例如遵循笛卡尔空间中的轨迹。
这种控制优选地使用由应用程序执行模块42提供的操作模式信息生成,而且最重要的是根据移动设定点(诸如位置和速度)和/或同步力设定点、并且根据用qmv表示的量来生成,这将在下文中更详细地描述。
由阻抗管理器46生成的关节控制包括由“u”表示的复合力和/或速度设定点,以及由Y表示的行为矩阵。Y是例如维度n的方阵,并且u是维度n的矢量,n是机器人的电机数量。行为矩阵Y描述了机器人手臂的期望行为,定义了复合设定点u要应用的方向。行为矩阵Y的系数可以是时间相关函数。类似地,复合设定点u可以取决于时间。
在变形例中,复合设定点“u”可以分成两个不同的变量:一方面是速度设定点,另一方面是力设定点。然而,将它们分组为单个变量限制了物理实施时组件之间的数据交换。
在本说明书中,术语“阻抗”是指机器人手臂4的机械阻抗。实际上,控制方法的目的之一是控制机器人手臂4在受到外力时的行为和响应,例如当遇到障碍物时或当用户在机器人手臂上施加手动力时(例如用于手动引导机器人)。
机器人的机械阻抗表征了机器人手臂4对外部机械力的响应。零(或接近零)阻抗意味着一旦试图对机器人施加力,机器人就会自由移动。无穷大(或非常大)的阻抗意味着无论施加何种外力,机器人手臂都会保持静止。可以针对空间中的不同方向选择不同的机器人阻抗,例如通过在某些方向上选择非常高的阻抗而在其他方向上选择低阻抗。
通常地,机器人的控制系统8被配置用于根据目标轨迹和选择的操作模式计算定义了关节力和速度的时间相关的复合设定点u,并且用于计算描述了机器人手臂的期望行为的行为矩阵Y,行为矩阵Y定义了计算出的复合设定点u要被应用的方向。这样的计算被周期地重复。
控制系统8还包括关节阻抗控制器(模块48),其接收由阻抗管理器46生成的复合设定点u和行为矩阵Y,以及从传感器C1到C6获得的机器人的关节位置和速度(分别表示为qr和)。
基于这样的信息,关节阻抗控制器48被配置用于生成关节力设定点(表示为“τ”)以使得机器人遵循由阻抗管理器46生成的复合设定点u和行为矩阵Y定义的行为。此外,关节阻抗控制器48生成以及/或者更新量qmv,该量qmv对应于与内部和虚拟关节位置设定点相当的内部状态,其将用于计算目的。
最后控制系统8包括轴控制器模块12。
轴控制器模块12实现一个或多个控制环路,其控制致动器以使得施加的力遵循从关节阻抗控制器48接收的关节力设定点τ。轴控制器模块12包括力和速度环路61,其提供力和速度控制并生成可以考虑机器人4和执行器6的重力补偿的电流环路控制设定点τcmd。关节速度例如通过机器人的位置qr的数值微分而获得。在实践中,机器人的位置和关节速度(qr和/>)以及所有关节力都可以具有矢量的形式,其系数对应于不同的关节或致动器。
总之,机器人控制系统因此被配置用于计算用于控制轴控制器模块的关节力设定点τ和在关节位置处的均匀内部状态qmv的时间导数这样的计算是根据先前计算的所述复合设定点u、所述行为矩阵Y、所述测量的关节位置、从所测量的关节位置qr导出的关节速度/>以及内部状态qmv而执行的。
机器人2有利地包括人机界面52(HMI),用于获取来自用户的控制和指令,以及用于向用户显示或发送信息,诸如关于机器人2的内部状态和/或关于操作参数的信息。
机器人的控制系统8实现了计算模块10,其结合了模块42、44、46和48的功能。计算模块10适于生成用于控制轴控制器模块12的关节力设定点τ。轴控制器模块12适于计算电力单元15的控制设定点,电力单元15将合适的电流传送到电机M1至M6。
图2描述了如何实现计算模块10和轴控制器模块12。中央单元5和辅助单元7各包括耦接到计算机存储器的至少一个处理器,诸如可编程微控制器或微处理器,计算机存储器包括可执行指令和/或软件代码,其旨在当处理器执行该指令时实现用于控制机器人的方法。中央处理器5适于操作模块42、44和46的功能。
中央处理单元5经由数据总线18将复合设定点u和行为矩阵Y传达到辅助单元7。
辅助单元7适于操作模块48的功能,即关节阻抗控制器的功能。关节阻抗控制器计算关节力设定点τ并将其发送到轴控制器模块12,轴控制器模块12实现力和速度控制环路61和电流控制环路62。
辅助单元7也适于操作轴控制器模块12的功能,换言之,辅助单元7实现轴控制器模块12,从而实现力和速度控制环路61和电流控制环路62。辅助单元7连接到6个电力单元15并因此向其发送电力单元控制设定点。为了图2的清楚起见,只示出了6个电力单元15中的两个。
关节力伺服控制可以由轴控制器模块12根据众所周知的通用控制策略来实现,不再详细描述,重要的是施加在机器人的每个关节上的力很好地符合所计算的关节力设定点τ。
在实践中,可以有利地使用基于每个致动器M1至M6的电流伺服控制进行对机器人的力伺服控制,电流伺服控制由电流环路62根据来自与致动器M1至M6相关联的传感器C1至C6的角位置信息以及对电力单元15的电流的测量而对每个致动器M1至M6执行。
在许多情况下,由力和速度环路61提供的力伺服控制可以进一步包括旨在补偿机器人手臂的重力和摩擦的修正,摩擦修正是根据为每个关节确定的旋转速度而为该关节计算的,重力是根据机器人手臂4的角位置和动态模型而为每个关节计算的。
修正取决于由多轴力传感器20测量的力和/或转矩对伺服控制策略而进行。取决于多轴力传感器20是否安装在机器人手臂的端部,或者取决于多个力传感器是否与机器人手臂4的相应关节相关联,可以实施不同的修正策略。
当多轴力传感器20置于机器人手臂的端部和执行器6之间时,计算模块10则包括计算执行器重量Fg的重力补偿器43。执行器重量Fg是表示执行器6的重量的力螺旋的矢量,其被表达在多轴力传感器20的参考系中。执行器重量Fg是根据机器人携带的工具的参数(质量,重心位置)、机器人手臂的几何模型和所测量的关节位置qr计算的。从力和速度环路61处的多轴力传感器20的测量值中减去执行器重量Fg,以便在控制中不考虑执行器的重量,而只考虑施加在执行器6上的力。计算模块10还包括计算关节转换矩阵Tf的笛卡尔关节转换器47。关节转换矩阵Tf是将在笛卡尔空间中表达的多维外力Fs转换为表达在关节空间中的数据。其中Jf是机器人的雅可比矩阵,其将多轴力传感器20的中心的笛卡尔速度连接到机器人2的关节速度,并且Tc是用于对初始以力传感器的坐标表示的多轴力传感器20的测量进行转换的矩阵,以便将该测量表达在机器人底座的坐标系中。Jf和Tc是根据关节位置qr计算的。
关节转换矩阵Tf和执行器重量Fg被发送到力和速度环路61。
在所选实施例中且如图4所示,关节转换矩阵Tf和执行器重量Fg经由来自实现重力补偿器43和笛卡尔关节转换器47的中央单元5的数据帧30而被发送到力和速度环路61。力和速度环路61由辅助单元7实现。
在电流环路控制设定点τcmd的计算中,力和速度环路61将执行器重量Fg从多维外力Fs中减去,从而忽略执行器重量,并且对结果应用关节转换矩阵以将其转换到关节域,如下式所示:
[数学式1]
τs=Tf(Fs-Fg)
可替代地,力和速度环路61可以先对执行器重量Fg以及多维外力Fs应用关节转换矩阵Tf,然后执行减法。
根据图5所示的有利实施方式,在存在多轴力传感器20的情况下,关节力设定点τ的修正可以通过将重力补偿与两个力修正器和速度修正器相关联来执行,这两个修正器分别表示为Gf和Gv,其修正提供给机器人手臂4的关节力设定点。力修正器Gf例如是积分控制器,速度修正器Gv是比例控制器。
在本发明的所选实施例中,重力补偿器43和笛卡尔关节转换器47在中央单元5中实施。关节转换矩阵Tf和执行器重量Fg由链路总线18发送到在辅助单元7中实现的力和速度环路61。
这种实施方式是有利的,因为其允许在辅助单元7中实施的所有计算都在关节坐标中进行。这样的计算相对简单(不同于模块43、47和46中的计算)。以此方式,阻抗控制器48以及力和速度环路61可以以更高的频率被计算。此外,许多已知的解决方案需要将多轴力传感器20测量的力返回到中央单元,以便中央单元计算位置、速度或力设定点,其旨在控制致动器,从而导致在力控制环路中有更多的延迟,而该延迟在机器人必须至少部分地手动引导时会导致精度和性能降低。
如图3中可见,关节阻抗控制器48包括解析模块70和显示模块64。解析模块70被配置用于计算关节力设定点τ并将计算出的关节力设定τ发送到轴控制器模块12。这样的计算是根据以下项来执行的:先前计算的复合设定点u、先前计算的行为矩阵Y、所测量的关节位置qr、从所测量的关节位置qr导出的关节速度以及先前计算的内部状态qmv。
特别是,用于控制轴控制器模块12的关节力设定点τ是根据控制关节位置qr和内部状态qmv(先前参考关节阻抗控制器48定义的)之间的差异的控制函数计算的。
解析模块70根据先前计算的复合设定点u、先前计算的行为矩阵Y、关节位置qr、关节速度以及先前计算的内部状态qmv,来计算内部状态的导数/>
积分模块64通过求内部状态的时间导数的积分来确定内部状态qmv。解析模块70例如使用从先前的计算周期中已知的内部状态qmv的值,并存储在存储器中。
优选地,控制函数是比例积分微分控制器(PID控制器)。
有利地,关节力设定点τ和内部状态的时间导数是以下微分方程组的解:
[数学式2]
其中qmv是对应于所述内部状态的函数,是内部状态的时间导数,τ是关节力设定点并且这里表示为矢量的形式,Y是行为矩阵,以及u是所述力或位置设定点。
在该等式中,Kp、Ki和Kd是增益矩阵。在实践中,增益Kp、Ki和Kd是用于设置PID控制器的参数的增益。例如,Kp、Ki和Kd分别对应于比例、积分和微分增益。如果合适,Kp和Ki可以是零矩阵。
在这样的系统中,例如,第二个方程在位置qmv上对机器人的关节位置qr执行比例积分微分(PID)伺服控制。第一个方程定义了由内部状态qmv所代表的虚拟位置的变化。
根据实施方式的第一示例,关节阻抗控制可以通过满足以下方程组的控制器来执行:
[数学式3]
其中γ是用于计算行为矩阵Y的中间变量,中间变量γ根据内部状态qmv、关节位置qr和关节速度来计算。
阻抗控制器的第一实施方式特别有利,因为行为矩阵Y是对称的,因此只有一些系数需要在数据总线18上发送,这进一步减少了通信时间。
根据第二示例实施方式,关节阻抗控制可以由满足以下方程组的控制器进行:
[数学式4]
其中γ上文描述的中间变量,P是类似于行为矩阵Y的行为矩阵,矩阵P根据行为矩阵Y通过下式定义:
[数学式5]
其中“I”代表单位矩阵。
在阻抗控制器的两种实施方式中,可以使用除PID伺服控制之外的其他类型的伺服控制。例如,中间变量γ可以定义如下,其对应于对关节位置qr和内部状态qmv之间的差异应用数字滤波器ef:
[数学式6]
其中滤波器由下式给出:
[数学式7]
ef=F(p)(qmv-qr)
其中F(p)表示拉普拉斯变换,“p”是拉普拉斯变量。
现在将描述在机器人2的不同操作模式下关节阻抗控制的操作示例。
在第一操作模式中,机器人2在位置控制下操作。机器人手臂4的位置是被伺服控制的,并且必须遵循独立于施加在机器人手臂4上的外力而生成的(例如,由模块44生成的)关节轨迹。该轨迹例如由时间相关的关节位置qd及其导数来定义。
在这种情况下,阻抗管理器48定义零行为矩阵Y,即行为矩阵Y的系数全部为零。可替代地,以上内容对应于在上文描述的阻抗控制器的第二实施方式中将P定义为等于单位矩阵。
阻抗管理器48还需要复合设定点u具有以下形式:
[数学式8]
其中参数T是具有严格正值的时间常数。
在这种情况下,控制系统满足的微分方程组可以改写为:
[数学式9]
因此,角位置qr由虚拟位置qmv来伺服控制并将在瞬态状态(其持续时间由时间常数T确定)之后遵循由关节位置qd定义的轨迹,并且精度取决于为增益Kp、Ki和Kd选择的值。
内部状态qmv在所有关节方向上遵循在复合设定点u中定义的速度设定点。
在第二操作模式中,机器人2在手动控制下操作。例如,可需要控制机器人的关节力,以使其遵循由轨迹生成器44提供的预定的关节设定点τd。如果该设定点由应用于机器人上的某个点的力螺旋fd指定,则等效关节设定点由下式给出:
[数学式10]
τd=JTfd
其中J表示对应于力施加点的机器人的雅可比矩阵,指数“T”表示该矩阵的转置。
这样的操作模式例如当希望使机器人手臂自由以允许用户通过简单的手动运动来完全控制机器人手臂时是有用的。
在这种情况下,阻抗管理器46定义行为矩阵(或者,等价地,在阻抗控制器的第二次实施方式中P=0)和复合设定点/> 控制系统满足的微分方程组可改写为:
[数学式11]
在实践中,第一个方程意味着当预先确定的关节设定点τd是常数时内部状态qmv和角度位置qr之间的差异向零收敛。
在实践中,PID控制器的增益具有足够高的值以近似于即使当预先确定的关节设定点τd不是常数时内部状态qmv也等于实际的角位置qr。换句话说,内部状态qmv沿所有关节方向遵循机器人手臂4的所测量的关节位置qr。
第二个等式示出发送到机器人手臂4的关节力设定点对应于预先确定的关节设定点τd,而与机器人手臂4的位置无关。
在第三种操作模式中,机器人2以结合了力控制和位置控制的混合模式操作。机器人手臂4必须在沿特定方向施加受控力的同时遵循预定轨迹。
这种操作模式例如在希望能够在遵循预定轨迹的同时用手引导(手动引导,“handguiding”)机器人手臂时是有用的。特别是,可以用这样的方式锁定机器人手臂4的某些自由度,例如:
-通过仅授权对机器人手臂4平移或旋转的手动引导,
-或者通过在释放机器人手臂的节段的铰接的同时将机器人手臂4的端部锁定在固定位置,
-或者替代地通过使机器人手臂4的端部自由但锁定机器人手臂4的全部或部分关节。
为了执行这种锁定,M1至M6中的所有或一些致动器施加与用户施加的手动力相反的力。
当机器人用在借助机器人手臂4携带的执行器6对机械部件进行成形的工业过程中时,这种操作模式也可以是有用的,在此期间执行器6与机械部件直接接触,例如,在部件的打磨、去毛刺、装配或轮廓跟踪以及许多其他示例的过程中。
最后,当通过力反馈远程控制机器人手臂时,或者当多个工业机器人必须协作以操纵同一物体时,例如在制造机械部件的过程中,这种操作模式可以是有用的。
混合操作模式的第一示例可以涉及具有“球形接头”约束的操作,其中希望机器人的端部保持在给定的点(xd,yd,zd)处,方向是自由的。此外,希望能够自由移动机器人端部的朝向,从而围绕旋转点的力矩(mx,my,mz)必须保持为零。
在这种情况下,阻抗管理器46计算复合设定点u和行为矩阵Y如下:
[数学式12]
/>
(或者对于第二实施方式,
其中Jmv表示根据内部状态qmv计算的机器人的雅可比矩阵,以及是对应于内部状态的笛卡尔位置。
内部状态qmv遵循在行为矩阵Y定义的所有力控制方向上(即沿着对应于机器人端部的朝向的变化的方向)测量的关节位置qr。另一方面,内部状态qmv遵循在行为矩阵Y定义的速度控制方向上(即在对应于机器人端部的平移的方向上)的复合设定点u中定义的速度设定点。
现在将描述混合操作模式的第二示例。在这种操作模式下,机器人以固定朝向遵循平面(x,y)中的轨迹。机器人沿与(x,y)平面正交的z方向应用时间相关的力。这种混合操作模式例如对于在全自动操作中打磨表面可以是有用的。
在第二种混合操作模式中,轨迹生成器44生成定义了平面(x,y)中的所希望的轨迹的设定点xd(t)和yd(t),以及沿z方向所希望的力的值fz,d(t),并将这些发送到阻抗管理器46。
阻抗管理器46计算行为矩阵Y和复合设定点u如下:
[数学式13]
(或者对于第二实施方式,/>
其中Jmv表示根据内部状态计算的机器人的雅可比矩阵,qmv、x(qmv)和y(qmv)是与内部状态qmv对应的终端组件的笛卡尔位置在(x,y)平面内的坐标,并且rx(qmv)、ry(qmv)和rz(qmv)表示与内部qmv对应的终端组件的角坐标。
内部状态qmv遵循在行为矩阵Y定义的所有力控制方向上(即沿着对应于方向z的关节方向)测量的关节位置qr。另一方面,内部状态qmv遵循在行为矩阵Y定义的速度控制方向上(即在所有其他关节方向上)的复合设定点u中定义的速度设定点。
在描述的三种操作模式中,内部状态qmv遵循在行为矩阵Y定义的力控制方向上测量的关节位置qr并遵循在行为矩阵Y定义的速度控制方向上的复合设定点u中定义的速度设定点。
在“阻抗控制”类型的第四种操作模式中,机器人必须表现得好像机器人通过弹簧Kcart和阻尼器Bcart连接到沿轨迹pd(t)的点。矢量pd包含该轨迹的笛卡尔坐标(位置和方向)。相关联的速度表示为vd。
在这种情况下,阻抗管理器46计算复合设定点u和行为矩阵Y如下:
[数学式14]
其中pmv是根据内部状态qmv以及机器人的几何模型计算的笛卡尔坐标(位置和朝向)的矢量。例如弹簧Kcart和阻尼器Bcart等的特性在这里以矩阵的形式给出。
对于描述的所有操作模式,阻抗管理器46根据从应用程序执行模块42和轨迹生成器44接收的控制生成行为矩阵Y和复合设定点u。
返回到图1、2和3,现在将描述由控制系统8进行阻抗控制的实施方式的方面。
如上所述,应用程序执行模块42、轨迹生成器44和阻抗管理器46有利地由中央处理单元5实现。
关节阻抗控制器48和轴控制器模块12优选地由辅助单元7实施。
实现阻抗控制所需的计算随时间周期性地执行。
以特别有利的方式,中央处理单元5被配置用于以由F1表示的第一计算频率周期性地重新计算复合设定点u和行为矩阵Y。
在辅助单元7中以高于第一频率F1的用F2表示的第二计算频率周期性地重新计算关节力设定点τ。
第二频率F2例如比第一频率F1高两倍到二十倍。优选地,第二频率F2比第一频率F1高五到十倍。同样优选地,第二频率F2比第一频率F1高八倍。
当关节阻抗控制器48由辅助单元7实现时,以上是特别有利的。
实际上,关节阻抗控制器只需要使用相对有限数量的简单算术运算。因此,它们可以在高频下运行。以这种方式,可以获得高增益Kp、Ki和Kd,这些增益可用于沿位置控制方向获得良好的刚度和良好的精度。更复杂的几何计算在中央单元5中实现。
此外,在与中央处理单元5分开的辅助控制器7中实现阻抗控制提供了性能增益,因为单个处理器随后驱动不同的致动器M1至M6。通过尽可能靠近传感器和致动器,以这种方式已经可以减少伺服控制中的延迟,从而最终获得更好的性能。在辅助单元7的单个处理器中实现阻抗控制和轴控制器模块12提高了性能,因为没有通信延迟。
根据出于说明目的给出的示例,复合设定点u和行为矩阵Y在每1毫秒由中央单元5计算并且被传送到辅助单元,即以1000Hz的频率进行。然后对这些控制的每个分量进行线性内插,以获得以第二频率F2(例如以8kHz的频率)执行的每个计算周期的值。
更一般地,本发明的实施方式的另一个有利方面在于,阻抗控制器48执行的所有计算(包括对内部状态qmv的积分)是在关节坐标中执行的。这样,就不需要在计算资源方面实现代价高昂的几何变换。减少在每个计算周期期间的执行与阻抗控制相关的计算所需的时间也会导致更高的增益Kp、Ki、Kd,从而获得更好的精度(特别是沿着位置控制方向)。
以特别有利的方式,中央单元5被配置用于以低于第二频率F2并且由F3表示的第三计算频率周期性地重新计算关节转换矩阵Tf和执行器的重量Fg。第二频率F2例如比第三频率F3高两倍到二十倍。优选地,第二频率F2比第三频率F3高五到十倍。更优选地,第二频率F2比第三频率F3高八倍。通过选择等于第一频率F1的第三频率F3,中央处理单元5可以将关节转换矩阵Tf、执行器的重量Fg、行为矩阵Y和复合设定点u放置在同一数据帧30中。然后可以对关节转换矩阵Tf和执行器的重量Fg进行线性插值以获得电流环路控制设定点τcmd的每个计算周期的值。
无论选择何种操作模式,无论机器人是在力控制模式、位置控制模式、混合模式还是阻抗控制模式下操作,阻抗控制过程都可以用于有效地操作。
借助于本发明,当必须至少部分地用手引导机器人时改进了对机器人的引导。
某些实施例可以独立于其他实施例来实现。
图6示出了根据本发明的操作方法的实施的示意性示例。在其他实施例中,所描述的示例并不阻止其他步骤与所描述的步骤一起和/或顺序地实施。
该方法例如以启动机器人控制程序开始于步骤S200,特别是在力或混合引导模式下。
并行地,在步骤S202期间,用户可以在执行器6处操纵机器人手臂4以使其移动。用户应用将影响多轴传感器20的测量的力。
在步骤S204期间,计算模块10计算用于控制轴控制器模块的关节力设定点τ。
以非强制方式,在步骤S204之前和在步骤S2040期间,计算模块10根据目标轨迹和操作模式计算定义了关节力和速度的复合设定点u,并且在步骤S2042期间,计算模块10根据操作模式计算行为矩阵Y。然后计算模块10将计算用于控制轴控制器模块的关节力设定点τ和在关节位置处的均匀的内部状态qmv的时间导数关节力设定点τ的计算根据以下项来进行:所述复合设定点u、先前计算的所述行为矩阵Y、所测量的关节位置qr、从测量的关节位置qr导出的关节速度/>以及内部状态qmv。
在步骤S206中,计算模块10根据关节位置qr计算关节转换矩阵Tf。
在步骤S208中,计算模块10根据关节位置qr计算执行器的重量Fg。这样的步骤不是强制性的,例如当执行器6的重量由于机器人手臂的运动学不会影响对外力的测量时。
在步骤S210中,将施加在执行器6上的多维外力Fs提供给控制器模块12。
在步骤S212期间,轴控制器模块(12)的力和速度环路61通过将执行器的重量Fg从多维外力Fs中减去来计算关节力矢量τs,从而忽略执行器的重量,并通过对结果应用关节转换矩阵Tf来将该结果转换到关节域。当执行器的重量对外力的测量没有影响时,轴控制器模块12根据施加在执行器6上的多维外力Fs来计算关节力矢量τs,通过简单地对结果应用关节转换矩阵Tf,来将该结果转换到关节域。
在步骤S214期间,轴控制器模块12通过考虑关节力矢量τs和关节力设定点τ来计算电流环路控制设定点τcmd。
在步骤S216中,轴控制器模块12的电流环路62根据电流环路的控制设定点τcmd来计算电力单元15的控制设定点。
轴控制器模块12由单个辅助单元7实现。具体地,力和速度环路61在同一单元上实现并直接接收多维外力Fs。电流环路控制设定点τcmd的计算通过限制数据传输的数量来快速执行。此外,电动致动器的电流环路控制设定点τcmd的计算可以考虑其他电动致动器的电流环路控制设定点τcmd,而不会延迟其传输。
本发明已经用被铰接以进行旋转的机器人手臂进行了描述。本发明适用于包括相对于彼此平移的元件的机器人。
前述实施例和变形例可以相互组合以产生新的实施例。
Claims (15)
1.一种用于工业机器人(2)的控制方法,机器人包括:
多轴机器人手臂(4),包括至少两个电动致动器(M1、M2、M3、M4、M5、M6),每个电动致动器适于使机器人手臂的一个部件相对于机器人手臂的另一个部件围绕或沿着移动轴而移动,每个电动致动器都与被配置用于测量相应致动器的关节位置(qr)的传感器(C1、C2、C3、C4、C5、C6)相关联,
执行器(6),置于机器人手臂的端部,
机器人控制系统(8),包括:
中央单元(5)和单个辅助单元(7),中央单元和辅助单元(7)通过数据总线(18)进行通信,
轴控制器模块(12),被配置用于根据关节力设定点(τ)计算电力单元(15)的控制设定点并且由所述单个辅助单元(7)实现,电力单元(15)将合适的电流传送至致动器(M1、M2、M3、M4、M5、M6);以及计算模块(10),被配置用于为轴控制器模块(12)确定关节力设定点(τ),计算模块(10)连接到轴控制器模块(12),
数据采集接口(14),被配置用于接收由与致动器(M1、M2、M3、M4、M5、M6)相关联的传感器(C1、C2、C3、C4、C5、C6)测量的致动器的位置(qr)并且将位置(qr)发送至计算模块(10)和轴控制器模块(12),
多轴力传感器(20),适于测量施加在机器人手臂上的多维外力(Fs)并且置于机器人手臂(4)的端部和执行器(6)之间,以及适于将多维外力(Fs)发送到轴控制器模块(12),
其中,所述控制方法包括以下步骤:
在计算模块(10)中计算(S204)用于控制轴控制器模块的关节力设定点(τ),以及
在由中央单元(5)实现的关节转换器(47)中根据关节位置(qr)计算(S206)关节转换矩阵(Tf),关节转换矩阵(Tf)被发送到辅助单元(7),
向轴控制器模块(12)提供(S210)施加在执行器(6)上的多维外力(Fs),
在轴控制器模块(12)中通过使用关节转换矩阵(Tf)根据施加在执行器(6)上的外力(Fs)计算(S212)关节力矢量(τs),在轴控制器模块(12)中考虑到关节力矢量(τs)和关节力设定点(τ)而计算(S214)电流环路控制设定点(τcmd),
在轴控制器模块(12)中根据电流环路控制设定点(τcmd)计算(S216)电力单元(15)的控制设定点。
2.根据权利要求1所述的控制方法,其中在轴控制器模块(12)中使用关节转换矩阵(Tf)和根据施加在执行器(6)上的外力(Fs)计算(S212)关节力矢量(τs)之前的步骤包括:在重力补偿器(43)中根据关节位置(qr)计算(S208)执行器的重量(Fg),其中关节力矢量(τs)是在轴控制器模块(12)中通过从多维外力(Fs)中减去执行器的重量(Fg)从而忽略执行器的重量并且通过将转换矩阵(Tf)应用到结果以将所述结果在关节域中转换而计算(S212)的。
3.根据权利要求2所述的控制方法,其中,中央单元(5)实现重力补偿器(43),重力补偿器(43)计算执行器的重量(Fg)并将执行器的重量(Fg)发送到辅助单元(7)以考虑施加在执行器(6)上的多维外力(Fs)。
4.根据权利要求1至3中的一项所述的控制方法,其中,数据采集接口(14)、多轴力传感器(20)和辅助单元(7)经由数据总线(18)进行通信,所述数据总线(18)被以如下方式配置:
数据帧(30)沿着连接数据采集接口(14)、多轴力传感器(20)和辅助单元(7)的通信环路而在数据总线(18)上单向行进,数据采集接口(14)和多轴力传感器(20)以任意顺序置于辅助单元(7)之前,
数据采集接口(14)在帧通过期间能将致动器的关节位置(qr)添加到数据帧(30),
多轴力传感器在帧通过期间将施加在机器人手臂(4)上的外力(Fs)添加到数据帧,
辅助单元(7)在帧通过期间读取数据帧(30)中的致动器的关节位置(qr)和施加在机器人手臂(4)上的多维外力(Fs)。
5.根据权利要求1至4中的一项所述的控制方法,其中在计算(S204)用于控制轴控制器模块的关节力设定点(τ)之前的步骤包括:
根据目标轨迹计算(S2040)定义了关节力和速度的时间相关的复合设定点(u),以及
计算(S2042)描述了机器人手臂的期望行为的行为矩阵(Y),行为矩阵(Y)定义了所计算的复合设定点(u)应当应用的方向,则计算(S204)用于控制轴控制器模块的关节力设定点(τ)包括计算在关节位置处的均匀内部状态(qmv)的时间导数关节力设定点(τ)的计算根据以下项来执行:先前计算的所述复合设定点(u)、先前计算的所述行为矩阵(Y)、所测量的关节位置(qr)、从所测量的关节位置(qr)导出的关节速度/>内部状态(qmv)以及调节关节位置(qr)与内部状态(qmv)之间的差异的控制器函数,内部状态通过对内部状态的所述时间导数/>进行积分来确定。
6.根据权利要求5所述的控制方法,其中关节力设定点(τ)和内部状态的时间导数是以下微分方程组的解:
其中qmv是对应于所述内部状态的函数,是内部状态qmv的时间导数,τ是关节力设定点,Y是行为矩阵,以及u是所述复合设定点,
并且其中Kp、Ki和Kd是增益,Ki和/或Kd可以为零。
7.根据权利要求4至6中任一项所述的控制方法,其中,中央单元(5)实现复合设定点(u)和行为矩阵(Y)的计算,并且其中辅助单元(7)实现关节力设定点(τ)的计算。
8.根据权利要求7所述的控制方法,其中,中央单元(5)以第一频率(F1)计算复合设定点(u)和行为矩阵(Y)并且将复合设定点(u)和行为矩阵(Y)发送给辅助单元(7),并且其中辅助单元(7)以高于第一频率的第二频率(F2)计算用于控制轴控制器模块(12)的关节力设定点(τ)。
9.根据权利要求8所述的控制方法,其中第二频率(F2)比第一频率(F1)高两倍到二十倍,优选地比第一频率(F1)高五倍到十倍,更优选地比第一频率(F1)高八倍。
10.根据权利要求5至9中的一项所述的控制方法,其中复合设定点(u)和行为矩阵(Y)的计算考虑了内部状态(qmv)。
11.根据权利要求5和10所述的控制方法,其中通信链路被配置为使得:
中央单元(5)是主机,
数据帧(30)沿着连接中央单元(5)、数据采集接口(14)、多轴力传感器(20)和辅助单元(7)的环路而在数据总线(18)上单向行进,数据采集接口(14)和多轴力传感器(20)以任意顺序置于辅助单元(7)之前,
辅助单元(7)在帧通过期间将内部状态(qmv)添加到数据帧,以及
数据帧在每个通信周期结束时被反馈回到中央处理单元(5)。
12.根据权利要求1至11中任一项所述的控制方法,其中辅助单元(7)以频率(F2)计算用于控制轴控制器模块(12)的关节力设定点(τ),频率(F2)选自500Hz和20kHz之间,优选地选自5kHz和12kHz之间,优选地等于8KHz。
13.一种工业机器人控制系统(2),机器人包括:
多轴机器人手臂(4),包括至少两个电动致动器(M1、M2、M3、M4、M5、M6)以及置于该机器人手臂端部的执行器(6),每个电动致动器适于使机器人手臂的一个部件相对于机器人手臂的另一个部件围绕或沿着移动轴而移动,每个电动致动器都与被配置用于测量相应致动器的关节位置(qr)的传感器(C1、C2、C3、C4、C5、C6)相关联,
控制系统(8),包括:
中央单元(5)和单个辅助单元(7),适于通过数据总线(18)进行通信,
轴控制器模块(12),被配置用于根据关节力设定点(τ)计算电力单元(15)的控制设定点,电力单元(15)将合适的电流传送至致动器(M1、M2、M3、M4、M5、M6),轴控制器模块(12)由所述单个辅助单元(7)实现,控制器模块(12)包括力和速度环路(61)和电流控制环路(62),
以及计算模块(10),被配置用于为轴控制器模块(12)计算关节力设定点(τ),计算模块(10)连接到轴控制器模块(12),
数据采集接口(14),被配置用于接收由与致动器(M1、M2、M3、M4、M5、M6)相关联的传感器(C1、C2、C3、C4、C5、C6)测量的致动器的位置(qr)并且将位置(qr)发送至计算模块(10)和轴控制器模块(12),
多轴力传感器(20),适于测量施加在机器人手臂上的多维外力(Fs)并且置于机器人手臂(4)的端部和执行器(6)之间,以及适于将多维外力(Fs)发送到轴控制器模块(12),
其中:
中央单元(5)实现关节转换器(47),关节转换器(47)被配置用于根据关节位置(qr)计算关节转换矩阵(Tf),关节转换矩阵(Tf)被发送到辅助单元(7),
轴控制器模块(12)实现阻抗控制器模块(48),阻抗控制器模块(48)被配置用于使用关节转换矩阵(Tf)根据施加在执行器(6)上的外力(Fs)计算关节力矢量(τs),
轴控制器模块(12)被配置为考虑到关节力矢量(τs)和关节力设定点(τ)而计算电流环路控制设定点(τcmd),
轴控制器模块(12)被配置为根据电流环路控制设定点(τcmd)计算电力单元(15)的控制设定点。
14.根据权利要求13所述的系统,其中轴控制器模块(12)包括力和速度环路(61)和电流控制环路(62),力和速度环路(61)被配置用于从多轴力传感器(20)接收多维外力并且计算电流环路控制设定点(τcmd),电流控制环路(62)被配置用于计算电力单元(15)的控制设定点。
15.一种工业机器人,包括根据权利要求13至14所述的控制系统并且适于实现根据权利要求1至12中的一项所述的控制方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR2202708A FR3133779A1 (fr) | 2022-03-25 | 2022-03-25 | Systèmes et procédés de commande hybride position force d’un robot industriel |
FR2202708 | 2022-03-25 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116803632A true CN116803632A (zh) | 2023-09-26 |
Family
ID=82385597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310303389.6A Pending CN116803632A (zh) | 2022-03-25 | 2023-03-24 | 工业机器人的系统和混合位置力控制方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20230302637A1 (zh) |
EP (1) | EP4249183A1 (zh) |
KR (1) | KR20230139347A (zh) |
CN (1) | CN116803632A (zh) |
FR (1) | FR3133779A1 (zh) |
-
2022
- 2022-03-25 FR FR2202708A patent/FR3133779A1/fr active Pending
-
2023
- 2023-03-23 KR KR1020230038189A patent/KR20230139347A/ko unknown
- 2023-03-24 EP EP23163948.5A patent/EP4249183A1/fr active Pending
- 2023-03-24 US US18/126,362 patent/US20230302637A1/en active Pending
- 2023-03-24 CN CN202310303389.6A patent/CN116803632A/zh active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230302637A1 (en) | 2023-09-28 |
FR3133779A1 (fr) | 2023-09-29 |
EP4249183A1 (fr) | 2023-09-27 |
KR20230139347A (ko) | 2023-10-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108883533B (zh) | 机器人控制 | |
CN110035871B (zh) | 用于指示机器人的系统和方法 | |
CN111136633A (zh) | 针对时变时延下柔性主-从机器人系统的全状态控制方法 | |
JP2001157975A (ja) | ロボットの制御装置 | |
CN110154024B (zh) | 一种基于长短期记忆神经网络增量模型的装配控制方法 | |
CN112417755A (zh) | 一种主从式手术机器人轨迹预测控制方法 | |
Olsson | Modeling and control of a Delta-3 robot | |
CN114290147B (zh) | 基于双工业机器人协作的汽车轮毂打磨系统及其方法 | |
Ren et al. | Trajectory tracking control for a 3-DOF planar parallel manipulator using the convex synchronized control method | |
Bratchikov et al. | Development of digital twin for robotic arm | |
Ferretti et al. | Impedance control for industrial robots | |
CN116803632A (zh) | 工业机器人的系统和混合位置力控制方法 | |
US20230302643A1 (en) | Systems and Hybrid Position Force Control Processes of an Industrial Robot | |
US20230302642A1 (en) | Systems and Hybrid Position Force Control Processes of an Industrial Robot | |
CN114102636B (zh) | 遥操作机器人的焊缝打磨控制系统及其设计方法和应用 | |
Lin et al. | A computationally efficient and robust kinematic calibration model for industrial robots with kinematic parallelogram | |
Vandernotte et al. | Dynamic sensor-based control | |
JPH08141951A (ja) | ロボットの協調制御方法および協調制御装置 | |
Lee et al. | Simulation and control of a robotic arm using MATLAB, simulink and TwinCAT | |
Li | Visual Calibration, Identification and Control of 6-RSS Parallel Robots | |
Wapenhans et al. | Optimal trajectory planning with application to industrial robots | |
JPH08190433A (ja) | 負荷重量推定方法 | |
Duan et al. | Design of Robot Control System for Knee Joint Replacement Surgery Based on STM32 | |
Winkler et al. | Novel joint space force guidance algorithm with laboratory robot system | |
WO2020184203A1 (ja) | ロボット制御装置及びロボット制御方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |