CN117400257A - 机器人控制方法、装置、设备及计算机可读存储介质 - Google Patents
机器人控制方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN117400257A CN117400257A CN202311554006.9A CN202311554006A CN117400257A CN 117400257 A CN117400257 A CN 117400257A CN 202311554006 A CN202311554006 A CN 202311554006A CN 117400257 A CN117400257 A CN 117400257A
- Authority
- CN
- China
- Prior art keywords
- robot
- joint
- moment
- actual
- pose
- 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 72
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 230000009471 action Effects 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 27
- 238000012546 transfer Methods 0.000 claims description 23
- 230000033001 locomotion Effects 0.000 claims description 14
- 230000001131 transforming effect Effects 0.000 claims description 6
- 230000008569 process Effects 0.000 description 18
- 238000006073 displacement reaction Methods 0.000 description 16
- 238000004364 calculation method Methods 0.000 description 15
- 238000004891 communication Methods 0.000 description 11
- 239000011159 matrix material Substances 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000013507 mapping Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 4
- 238000013016 damping Methods 0.000 description 2
- 238000004512 die casting Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- OIGNJSKKLXVSLS-VWUMJDOOSA-N prednisolone Chemical compound O=C1C=C[C@]2(C)[C@H]3[C@@H](O)C[C@](C)([C@@](CC4)(O)C(=O)CO)[C@@H]4[C@@H]3CCC2=C1 OIGNJSKKLXVSLS-VWUMJDOOSA-N 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000001360 synchronised 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/1628—Programme controls characterised by the control loop
-
- 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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/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/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
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Manipulator (AREA)
Abstract
本申请涉及机器人技术领域,尤其涉及一种机器人控制方法、装置、设备及计算机可读存储介质,机器人控制方法包括:确定机器人在执行目标动作时所述机器人的各个关节的理论关节力矩和所述机器人的各个关节的实际关节力矩;基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据;基于所述外界力数据和所述机器人的阻抗控制器计算得到所述外界干扰力对应的位姿补偿量;基于所述外界干扰力对应的位姿补偿量和预设位姿确定实际位姿,并按照所述实际位姿控制所述机器人运动。本申请实现了对机器人进行柔顺控制,避免机器人本体由于刚性接触而发生损坏。
Description
技术领域
本申请涉及机器人技术领域,尤其涉及一种机器人控制方法、装置、设备及计算机可读存储介质。
背景技术
目前,机器人已被广泛应用汽车、航空航天等各个领域。在工业领域中,当机器人运用在压铸行业取件、高精度打磨抛光、上下料任务等工艺中时,单一的位置控制无法做到机器人的实际运动轨迹和期望运动轨迹完美吻合,导致机器人承受额外的外力作用,使得机器人与环境间的作用力不断增大,容易引起机器人本体损坏和周围环境破坏。例如在压铸取件工艺中,工件偏移量较大并强行取件,相当于与机器人发生碰撞,易导致机器人本体和工件损坏,进而导致作业失败。
发明内容
本申请的主要目的在于提供一种机器人控制方法、装置、设备及计算机可读存储介质,旨在提出一种柔顺控制机器人的方法,避免机器人本体由于刚性接触而发生损坏。
为实现上述目的,本申请提供一种机器人控制方法,所述机器人控制方法包括以下步骤:
确定机器人在执行目标动作时所述机器人的各个关节的理论关节力矩和所述机器人的各个关节的实际关节力矩;
基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据;
基于所述外界力数据和所述机器人的阻抗控制器计算得到所述外界干扰力对应的位姿补偿量;
基于所述外界干扰力对应的位姿补偿量和预设位姿确定实际位姿,并按照所述实际位姿控制所述机器人运动。
可选地,所述确定机器人在执行目标动作时所述机器人的各个关节的理论关节力矩和所述机器人的各个关节的实际关节力矩的步骤,包括:
基于预设的动力学模型确定机器人的各个关节的理论关节力矩;
基于所述机器人的各个关节的关节电机电流计算得到所述机器人的各个关节的实际关节力矩。
可选地,所述基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据的步骤,包括:
对于所述机器人的各个关节中的任一目标关节,对所述目标关节的理论关节力矩和实际关节力矩进行算数运算,得到运算结果;
将所述算数结果为外界干扰力作用在机器人时所述目标关节的外界力数据。
可选地,所述机器人包括机器人本体和机器人末端;所述基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据的步骤,包括:
基于各个所述理论关节力矩和各个所述实际关节力矩,计算得到外界干扰力作用在机器人本体时所述机器人的各个关节对应的干扰力矩;
基于各个所述干扰力矩确定所述外界干扰力作用在所述机器人本体时机器人末端的实际末端力矩;
获取所述机器人的期望力数据,并基于所述期望力数据和所述实际末端力矩,确定所述外界干扰力作用在所述机器人本体时所述机器人末端的外界力数据。
可选地,所述基于所述外界力数据和所述机器人的阻抗控制器计算得到所述外界干扰力对应的位姿补偿量的步骤,包括:
获取所述机器人的阻抗控制器的控制关系式和所述机器人的外界力数据;
对所述控制关系式进行变换得到所述机器人的外界力数据与所述机器人的位姿补偿量之间的传递函数;
基于所述传递函数计算得到所述外界干扰力对应的位姿补偿量。
可选地,所述基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据的步骤之后,还包括:
检测所述外界力数据是否在预设死区内;
若所述外界力数据不在所述预设死区内,则执行所述基于所述外界力数据和所述机器人的阻抗控制器计算得到位姿补偿量的步骤。
可选地,所述按照所述实际位姿控制所述机器人运动的步骤,包括:
基于运动学模型和所述实际位姿计算得到关节角度,并将所述关节角度转化为脉冲信息发送至所述机器人的控制器;
通过所述控制器按照接收到的脉冲信息驱动所述机器人运动。
为实现上述目的,本申请还提供一种机器人控制装置,所述机器人控制装置包括:
第一确定模块,用于确定机器人在执行目标动作时所述机器人的各个关节的理论关节力矩和所述机器人的各个关节的实际关节力矩;
第二确定模块,用于基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据;
计算模块,用于基于所述外界力数据和所述机器人的阻抗控制器计算得到所述外界干扰力对应的位姿补偿量;
控制模块,用于基于所述外界干扰力对应的位姿补偿量和预设位姿确定实际位姿,并按照所述实际位姿控制所述机器人运动。
此外,为实现上述目的,本申请还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有机器人控制程序,所述机器人控制程序被处理器执行时实现如上所述的机器人控制方法的步骤。
本申请中,通过确定机器人在执行目标动作时所述机器人的各个关节的理论关节力矩和所述机器人的各个关节的实际关节力矩;基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据;基于所述外界力数据和所述机器人的阻抗控制器计算得到所述外界干扰力对应的位姿补偿量;基于所述外界干扰力对应的位姿补偿量和预设位姿确定实际位姿,并按照所述实际位姿控制所述机器人运动。
本申请中基于外界环境对机器人施加的外界力数据对机器人的期望位姿进行补偿,实现了在机器人接受到外界作用力的时候调整机器人的实际位姿,使得机器人位姿可以适应外界环境的作用力,避免了机器人与外界的刚性接触,从而避免机器人本体由于刚性接触而发生损坏。
附图说明
图1为本申请实施例方案涉及的硬件运行环境的结构示意图;
图2为本申请机器人控制方法第一实施例的流程示意图;
图3为本申请机器人控制方法一实施方式涉及的阻抗控制器的模型示意图;
图4为本申请机器人控制方法第二实施例的流程示意图;
图5为本申请机器人控制方法第三实施例的流程示意图;
图6为本申请机器人控制方法一实施方式涉及的流程框图;
图7为本申请机器人控制方法一实施方式涉及的控制系统示意图;
图8为本申请机器人控制方法一实施方式涉及的应用流程图;
图9为本申请机器人控制装置较佳实施例的功能模块示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
如图1所示,图1是本申请实施例方案涉及的硬件运行环境的设备结构示意图。
需要说明的是,本申请实施例机器人控制设备,所述机器人控制设备可以是机器人的控制器,也可以是与机器人控制器建立通信连接的设备,例如智能手机、个人计算机、服务器等设备,在此不做具体限制。
如图1所示,该机器人控制设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对机器人控制设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及机器人控制程序。操作系统是管理和控制设备硬件和软件资源的程序,支持机器人控制程序以及其它软件或程序的运行。在图1所示的设备中,用户接口1003主要用于与客户端进行数据通信;网络接口1004主要用于与服务器建立通信连接;而处理器1001可以用于调用存储器1005中存储的机器人控制程序,并执行以下操作:
确定机器人在执行目标动作时所述机器人的各个关节的理论关节力矩和所述机器人的各个关节的实际关节力矩;
基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据;
基于所述外界力数据和所述机器人的阻抗控制器计算得到所述外界干扰力对应的位姿补偿量;
基于所述外界干扰力对应的位姿补偿量和预设位姿确定实际位姿,并按照所述实际位姿控制所述机器人运动。
进一步地,所述确定机器人在执行目标动作时所述机器人的各个关节的理论关节力矩和所述机器人的各个关节的实际关节力矩的步骤,包括:
基于预设的动力学模型确定机器人的各个关节的理论关节力矩;
基于所述机器人的各个关节的关节电机电流计算得到所述机器人的各个关节的实际关节力矩。
进一步地,所述基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据的步骤,包括:
对于所述机器人的各个关节中的任一目标关节,对所述目标关节的理论关节力矩和实际关节力矩进行算数运算,得到运算结果;
将所述算数结果为外界干扰力作用在机器人时所述目标关节的外界力数据。
进一步地,所述机器人包括机器人本体和机器人末端;所述基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据的步骤,包括:
基于各个所述理论关节力矩和各个所述实际关节力矩,计算得到外界干扰力作用在机器人本体时所述机器人的各个关节对应的干扰力矩;
基于各个所述干扰力矩确定所述外界干扰力作用在所述机器人本体时机器人末端的实际末端力矩;
获取所述机器人的期望力数据,并基于所述期望力数据和所述实际末端力矩,确定所述外界干扰力作用在所述机器人本体时所述机器人末端的外界力数据。
进一步地,所述基于所述外界力数据和所述机器人的阻抗控制器计算得到所述外界干扰力对应的位姿补偿量的步骤,包括:
获取所述机器人的阻抗控制器的控制关系式和所述机器人的外界力数据;
对所述控制关系式进行变换得到所述机器人的外界力数据与所述机器人的位姿补偿量之间的传递函数;
基于所述传递函数计算得到所述外界干扰力对应的位姿补偿量。
进一步地,所述基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据的步骤之后,还包括:
检测所述外界力数据是否在预设死区内;
若所述外界力数据不在所述预设死区内,则执行所述基于所述外界力数据和所述机器人的阻抗控制器计算得到位姿补偿量的步骤。
进一步地,所述按照所述实际位姿控制所述机器人运动的步骤,包括:
基于运动学模型和所述实际位姿计算得到关节角度,并将所述关节角度转化为脉冲信息发送至所述机器人的控制器;
通过所述控制器按照接收到的脉冲信息驱动所述机器人运动。
基于上述的结构,提出机器人控制方法的各个实施例。
参照图2,图2为本申请机器人控制方法第一实施例的流程示意图。
本申请实施例提供了机器人控制方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。在本实施例中,机器人控制方法的执行主体可以是机器人的控制器,也可以是与机器人控制器建立通信连接的设备,例如智能手机、个人计算机、服务器等设备,在本实施例中并不做限制,以下为便于描述,省略执行主体进行各实施例的阐述。在本实施例中,所述机器人控制方法包括步骤S10-S40。
步骤S10,确定机器人在执行目标动作时所述机器人的各个关节的理论关节力矩和所述机器人的各个关节的实际关节力矩。
本实施例中,将表征外界干扰力作用在机器人本体时机器人关节和/或者机器人末端产生的力数据称为外界力数据,外界力数据可以是机器人关节和/或者机器人末端产生的作用力,也可以是机器人关节和/或者机器人末端产生的作用力对应的力矩,在此不做限制。通过建立机器人的软浮动阻抗控制器模型,基于外界力数据和阻抗控制器计算出外界作用力对应的位姿补偿量,再基于位姿补偿量和预设位姿得到实际位姿,并按照实际位姿控制机器人运动,实现对机器人的柔顺控制。
具体地,本实施例中,确定机器人执行目标动作时机器人关节理论上需要的力矩,以下称为理论关节力矩以示区分,确定理论关节力矩的方式在此不做限制,例如,在一实施方式中,可以是通过逆动力学方法,从机器人的末端的位姿和所需的加速度出发,反向计算出理论关节力矩;例如,在另一实施方式中,也可以是通过动力学模型计算理论关节力矩。
确定机器人执行目标动作时的各个关节的实际力矩,以下称为实际关节力矩以示区分。实际力矩是机器人执行动作时机器人关节实际上受力对应的力矩,确定实际力矩的方式在此不做限制,例如可以是通过控制关节的关节电机的电流计算得到;还可以是使用机器人的动力学模型,结合外部力和机器人末端的位姿计算得到;还可以是根据机器人的几何结构和动力学模型,逆解出实际关节力矩。可以理解的是,本实施例中理论关节力矩和实际关节力矩,是机器人在执行同一动作(本实施例中为目标动作)时的机器人关节的理论关节力矩和实际关节力矩。
步骤S20,基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据。
本实施例中,基于理论关节力矩和实际关节力矩确定外界干扰力作用在机器人时机器人的外界力数据。
确定外界力数据的方式在此不做限制,例如,在一可行实施方式中,若针对机器人关节进行柔顺控制,外界力数据可以是机器人关节的外界力数据,此时可以将理论关节力矩和实际关节力矩的差值作为外界力数据,也可以是将理论关节力矩和实际关节力矩的差值对应的作用力作为外界力数据;又如,在另一可行实施方式中,若针对机器人末端进行柔顺控制,外界力数据可以是机器人在笛卡尔空间的六位力数据,也即机器人末端沿着X、Y、Z轴的作用力和机器人末端绕X、Y、Z轴的力矩,此时,可以是基于理论关节力矩和实际关节力矩之间的差值得到求解得到机器人末端的实际受力数据,将机器人末端的实际受力数据和机器人末端的期望受力数据之间差值作为外界力数据。
步骤S30,基于所述外界力数据和所述机器人的阻抗控制器计算得到所述外界干扰力对应的位姿补偿量。
机器人的阻抗控制器是使机器人能够根据外界的力或力矩变化做出适应性响应的系统,阻抗控制器建立了机器人需要调整的位姿(也即位姿补偿量)与外界作用力之间的映射关系。因此,本实施例中,基于阻抗控制器可以确定外界干扰力对应的位姿补偿量,通过位姿补偿量值来修正或调整机器人的位姿。具体地,位姿补偿量包括位置补偿量和/或者机器人关节角度的补偿量,例如,在笛卡尔空间中,位姿补偿量可以是机器人末端的位置补偿量,又如,在关节空间中,位姿补偿量可以是关节位置补偿量和关节角度的补偿量。
机器人的阻抗控制器通常可以有多种形式的模型,例如阻抗控制器可以是只考虑期望位置与实际位置的偏差的模型,此时阻抗控制器相当于一个弹簧系统;例如阻抗控制器可以是考虑了位置、速度偏差的阻抗模型,此时阻抗控制器相当于阻尼-弹簧系统;例如阻抗控制器还可以是考虑了位置、速度、加速度偏差的阻抗模型,此时阻抗控制器相当于质量块-阻尼-弹簧系统。不同形式的阻抗控制器可以对应不同的模型表达公式,也即,不同形式的阻抗控制器建立的位姿补偿量与外界作用力之间的映射关系不同,因此,不同形式的阻抗控制器对应的计算位移补偿量的过程不同,在此不做限制。
示例性地,在一可行实施方式中,阻抗控制器等效为弹簧-阻尼系统来描述,参照图3,机器人的阻抗控制模型可以等效为一个包含机器人本体、阻尼和弹簧组成的2阶系统,该系统接触力与位置之间的动态关系可以通过阻抗模型建立,通过阻抗关系将力与位置纳入到一个控制系统中,实现对外界力数据和机器人位置的同步控制。阻抗控制模型的具体表达公式可以是:
式中:表示阻抗控制器输出的期望位移,/>表示位移速度、Xd表示位移加速度矢量;/>表示机器人输出的实际位移、/>表示位移速度、X表示位移加速度矢量;Md表示机器人的理想惯性矩阵;Md表示机器人的理想阻尼矩阵;Kd表示机器人的理想刚度矩阵;Fext表示外界力矩,也即外界力数据。
步骤S40,基于所述外界干扰力对应的位姿补偿量和预设位姿确定实际位姿,并按照所述实际位姿控制所述机器人运动。
本实施例中,在得到外界干扰力对应的位姿补偿量后,基于外界干扰力对应的位姿补偿量和预设位姿确定实际位姿,并按照实际位姿控制机器人运动,以使得机器人可以柔顺应对外界环境中力的变化。
具体地,在一可行实施方式中,可以是将位姿补偿量叠加到预设位姿得到实际位姿;在另一可行实施方式中,也可以是对位姿补偿量进行预处理后,将预处理后的位姿补偿量叠加到预设位姿得到实际位姿;在另一可行实施方式中,还可以在对机器人进行柔顺控制的同时,对机器人采用其它可行的控制,例如机器人的避障控制、机器人的速度控制等,可以确定其它控制对应的位姿控制量后,基于位移控制量、位姿补偿量和预设位姿确定实际位姿。
进一步地,在具体实施方式中,可以是接收到柔顺控制的指令后执行步骤S10-S30的过程,也可以是按照一定的周期执行步骤S10-S30的过程,在此不做限制。例如,在一可行实施方式中,可以是在机器人的每个控制周期内执行步骤S10-S30的过程,其中,机器人的控制周期是指机器人控制系统执行一次完整控制循环所需的时间,例如工业机械臂的控制周期是1ms左右,本实施方式可以实现在每个控制周期内实时计算外界对机器人本体的外界力数据,实现在每个控制周期内对机器人进行柔顺控制,使得机器人控制的控制精度高、鲁棒性强、实时性高,实现了机器人轻推即动。
本实施例中,通过确定机器人在执行目标动作时机器人的各个关节的理论关节力矩和机器人的各个关节的实际关节力矩,并基于理论关节力矩和实际关节力矩确定外界干扰力作用在机器人本体时机器人的外界力数据;基于外界力数据和机器人的阻抗控制器计算得到位姿补偿量;基于位姿补偿量和预设位姿确定实际位姿,并按照实际位姿控制机器人运动。使得机器人的实际位置可以适应外界环境的外界力数据,避免了机器人与外界的刚性接触,从而避免机器人本体由于刚性接触而发生损坏。
进一步地,基于上述第一实施例,提出本发明机器人控制方法的第二实施例,本实施例中,参照图4,步骤S10中:确定机器人在执行目标动作时所述机器人的各个关节的理论关节力矩和所述机器人的各个关节的实际关节力矩,包括步骤S101-S102。
步骤S101,基于预设的动力学模型确定机器人的各个关节的理论关节力矩。
本实施例中,通过机器人动力学模型计算机器人各个关节对应的力矩。相比于采用力矩传感器,本实施例不需要在机器人本体增设装置,降低了机器人本体的生产成本。具体地,建立机器人本体的动力学模型,动力学模型通常需要考虑惯性、重力、摩擦、关节刚度等因素,具体模型公式可以根据机器人的特定应用场景和实际需求进行设置,在此不做限制。进一步地,在一可行实施方式中,建立动力学模型时可以考虑:惯性力项向心力项G(θ)、重力项/>和摩擦力项/>其中,摩擦力项包括了静摩擦力项和动摩擦力项,具体动力学模型的表达公式在此不做限制。
本实施例中,利用预先建立的动力学模型确定机器人的各个关节的理论关节力矩,理论关节力矩的具体计算确定过程可以参照常规的动力学模型求解过程,在此不做赘述。
进一步地,在一可行实施方式中,在动力学模型考虑了摩擦力项时,可以建立机器人的摩擦误差模型对静摩擦力进行补偿,提高摩擦力项的准确度,从而提高建立动力学模型的准确度,实现机器人控制算法的控制精准度。具体摩擦误差模型的描述公式在此不做限制。
步骤S102,基于所述机器人的各个关节的关节电机电流计算得到所述机器人的各个关节的实际关节力矩。
机器人的控制过程中,通过伺服电机控制机器人的各个关节运动,电流的大小对应关节运动的幅度不同,因此,本实施方式中,可以通过控制机器人的关节运动的电流(以下称为关节电机电流)以示区分确定各个关节的实际关节力矩。
基于关节电机电流计算实际关节力矩的具体计算过程在此不做限制,可以采用常规的计算过程。示例性地,在一可行实施方式中,可以是将电机转矩常数和关节电机电流的乘积作为实际关节力矩。
进一步地,在一可行实施方式中,步骤S20:基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据,包括步骤S201-S202。
步骤S201,对于所述机器人的各个关节中的任一目标关节,对所述目标关节的理论关节力矩和实际关节力矩进行算数运算,得到运算结果。
本实施方式中,机器人控制方法应用于关节空间,在计算外界力数据时,计算机器人各个关节的外界力数据,以基于各个关节的外界力数据得到各个关节的位姿补偿量,从而实现在机器人关节空间的软浮动控制(也即柔顺控制)。
具体地,本实施方式中,对于机器人的各个关节中的任一目标关节,对目标关节的理论关节力矩和实际关节力矩进行算数运算,得到运算结果。具体计算公式可以是:
Δτ=τc-τa
其中,τc表示理论关节力矩;τa表示实际关节力矩;Δτ表示外界力数据。
步骤S202,将所述算数结果为外界干扰力作用在机器人时所述目标关节的外界力数据。
本实施方式中,对目标关节的理论关节力矩和实际关节力矩进行算数运算,得到运算结果后,将算数结果为外界干扰力作用在机器人时目标关节的外界力数据。
进一步地,在一可行实施方式中,所述机器人包括机器人本体和机器人末端;步骤S20:基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人本体时所述机器人的外界力数据,包括步骤S203-205。
步骤S203,基于各个所述理论关节力矩和各个所述实际关节力矩,计算得到外界干扰力作用在机器人本体时所述机器人的各个关节对应的干扰力矩。
本实施方式中,机器人方法应用于笛卡尔空间,也即,应用于机器人末端。在计算外界力数据时,计算机器人末端的外界力数据,以基于机器人末端的外界力数据得到机器人末端的位姿补偿量,从而实现在机器人笛卡尔空间的软浮动控制。
基于各个理论关节力矩和各个实际关节力矩,计算得到外界干扰力作用在机器人本体时各个关节的力矩,以下将这个力矩称为干扰力矩以示区分。在具体实施方式中,可以是将关节的理论关节力矩和实际关节力矩之间的差值作为关节的干扰力矩。
步骤S204,基于各个所述干扰力矩确定所述外界干扰力作用在所述机器人本体时机器人末端的实际末端力矩。
基于各个干扰力矩确定外界干扰力作用在机器人本体时机器人末端的实际力矩,以下称为实际末端力矩以示区分。在一可行实施方式中,可以将干扰力矩中任一目标干扰力矩映射为机器人末端的实际末端力矩;在另一可行实施方式中,可以是对各个干扰力矩进行数据预处理得到处理后的干扰力矩,例如可以是均值处理、加权处理等预处理,将处理后的干扰力矩映射为实际末端力矩。
将干扰力矩映射为实际末端力矩的方式在此不做限制,例如,在一可行实施方式中,可以是通过逆动力学求解的方式将干扰力矩映射为实际末端力矩;例如,在另一可行实施方式中,也可以利用神经网络模型将干扰力矩映射为实际末端力矩;又如,在另一可行实施方式中,可以基于机器人的各个关节的实际关节角度和雅克比转置矩阵的逆矩阵,将干扰力矩映射为实际末端力矩。示例性地,在一可行实施方式中,当基于机器人的各个关节的实际关节角度和雅克比转置矩阵的逆矩阵,将干扰力矩映射为实际末端力矩,具体公式可以是:
Fe=J-T(θ)Δτ
其中,Δτ表示干扰力矩;J-T(θ)表示雅克比转置矩阵的逆矩阵;θ表示实际关节角度。
步骤S205,获取所述机器人的期望力数据,并基于所述期望力数据和所述实际末端力矩,确定所述外界干扰力作用在所述机器人本体时所述机器人末端的外界力数据。
期望力数据是在控制器设计的过程中设定的机器人末端的受力数据,通过期望力数据可以使机器人实现特定的位姿。期望力数据可以是作用力也可以是力矩,本实施方式中,获取机器人的期望力数据,具体获取方式在此不做限制,例如可以是获取工程师设置的受力数据,也可以是获取机器人位姿规划得到的力数据。
基于期望力数据和实际末端力矩,确定外界干扰力作用在机器人本体时机器人末端。具体地,在一可行实施方式中,当期望力数据是作用力时,可以先将期望力数据转换为目标力矩,再计算目标力矩和实际末端力矩之间的差值,基于目标力矩和实际末端力矩之间的差值得到外界力数据,基于目标力矩和实际末端力矩之间的差值得到外界力数据的过程可以参照第一实施例中步骤S20,在此不做赘述;在另一可行实施方式中,当期望力数据是力矩时,可以直接计算期望力数据和实际末端力矩之间的差值,基于期望力数据和实际末端力矩之间的差值外界力数据,基于期望力数据和实际末端力矩之间的差值外界力数据可以参照第一实施例中步骤S20,在此不做赘述。
示例性地,在一可行实施方式中,可以是期望力数据和实际末端力矩之间的差值作为机器人末端的外界力数据,具体计算公式可以是:
ΔF=Fd-Fe
其中,Fe为实际末端力矩;Fd为期望力数据。
本实施例中,通过基于预设的动力学模型确定机器人的各个关节的理论关节力矩,可以考虑机器人的动态行为,提供准确的力矩估计,从而提高理论关节力矩的准确度。并且基于机器人的各个关节的关节电机电流计算得到机器人的各个关节的实际关节力矩,可以避免传统位置或速度控制中的误差传递问题,提供较高的控制精度,从而提高实际关节力矩的准确度。
进一步地,基于上述第一和/或者第二实施例,提出本发明机器人控制方法的第三实施例,本实施例中,参照图5,步骤S30:基于所述外界力数据和所述机器人的阻抗控制器计算得到所述外界干扰力对应的位姿补偿量,包括步骤S301-S303。
步骤S301,获取所述机器人的阻抗控制器的控制关系式和所述机器人的外界力数据。
本实施方式中,获取机器人的阻抗控制器的控制关系式和机器人的外界力数据,以基于控制关系式和机器人的位姿补偿量计算得到外界干扰力对应的位姿补偿量。
步骤S302,对所述控制关系式进行变换得到所述机器人的外界力数据与所述机器人的位姿补偿量之间的传递函数。
对控制关系式进行变换得到机器人的外界力数据与机器人的位姿补偿量之间的传递函数。本实施例对控制关系式进行变换的方式不做限制,例如,在一可行实施方式中,可以使用频域分析技术,例如傅里叶变换等,将控制关系式转换为频域的传递函数;例如,在一可行实施方式中,还可通过微积分的方式将控制函数变换为传递函数,例如整数阶微积分和分数阶微积分;又如,在另一可行实施方式中,还可以通过拉普拉斯变换得到传递函数。
示例性地,在一可行实施方式中,可以是对控制关系式进行拉普拉斯变换传递函数,具体地,对控制关系式进行拉普拉斯变换得到阻抗控制在频域上的表达公式,拉普拉斯变换后得到的公式为外界力数据与机器人的位姿补偿之间的传递函数。可以理解的是,不同的控制关系式可以对应不同的传递函数,在此不做限制,例如,在一可行实施方式中,描述阻抗控制器的控制关系式可以是:
式中:表示阻抗控制器输出的期望位移、/>表示位移速度、Xd表示位移加速度矢量;/>表示机器人输出的实际位移;/>表示位移速度、X表示位移加速度矢量;Md表示机器人的理想惯性矩阵;Bd表示机器人的理想阻尼矩阵;Kd表示机器人的理想刚度矩阵;ΔF表示外界力数据。
对上述阻抗控制器的控制关系式进行拉普拉斯变换得到:
式中,ΔX=(X-Xd),表示位姿补偿量。基于上述的传递函数可知,当机器人未与环境接触时,受到的外界力数据ΔF=0,对应的位姿补偿量ΔX=0,也即此时机器人的位姿不需要调整。
步骤S303,基于所述传递函数计算得到所述外界干扰力对应的位姿补偿量。
本实施例中基于传递函数计算得到外界干扰力对应的位姿补偿量,以通过位姿补偿量修正机器人的位姿,实现机器人的柔顺控制。
进一步地,在一可行实施方式中,步骤S20:基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据之后,还包括步骤S50-S60。
步骤S50,检测所述外界力数据是否在预设死区内。
机器人的控制中,死区也称为中性区或不作用区,是指控制系统的传递函数中,对应输出为零的输入信号范围。本实施方式中,针对以外界力数据为输入信号的外界力数据与位姿补偿之间的传递函数预先设置死区,以下称为预设死区以示区分。
在得到外界力数据之后,检测外界力数据是否在预设死区内,以确定外界力数据对应的位移补偿量是否为0。具体地,如果外界力数据在预设死区内,则该外界力数据对应的位姿补偿等于0,此时不需要进行位姿补偿;如果外界力数据不在预设死区内,则该外界力数据对应的位姿补偿不等于0,此时需要进行位姿补偿。
步骤S60,若所述外界力数据不在所述预设死区内,则执行所述基于所述外界力数据和所述机器人的阻抗控制器计算得到位姿补偿量的步骤。
本实施方式中,若外界力数据不在预设死区内,则基于外界力数据和机器人的阻抗控制器计算得到位姿补偿量,也即,若外界力数据不在预设死区内,则执行基于外界力数据和机器人的阻抗控制器计算得到位姿补偿量的步骤。
进一步地,在一可行实施方式中,若外界力数据在预设死区内,则不进行位移补偿量的计算。
本实施方式通过在外界力数据不在预设死区内的情况下计算位姿补偿量,减少了机器人控制过程中的不必要计算,降低了机器人的算力资源的消耗。
进一步地,在一可行实施方式中,步骤S40:按照所述实际位姿控制所述机器人运动,包括步骤S401-S402。
步骤S401,基于运动学模型和所述实际位姿计算得到关节角度,并将所述关节角度转化为脉冲信息发送至所述机器人的控制器。
基于运动学模型和实际位姿计算得到关节角度,并将关节角度转化为脉冲信息发送至机器人的控制器,例如,在一可行实施方式中,将关节角度转化为脉冲值发送至机器人的控制器。
步骤S402,通过所述控制器按照接收到的脉冲信息驱动所述机器人运动。
通过机器人的控制器按照接收到的脉冲信息驱动机器人运动。
本实施例中,通过获取机器人的阻抗控制器的控制关系式和机器人的外界力数据;对控制关系式进行变换得到机器人的外界力数据与机器人的位姿补偿量之间的传递函数;基于传递函数计算得到外界干扰力对应的位姿补偿量。本实施例中,基于外界力数据计算得到外界干扰力对应的位姿补偿量,以通过位姿补偿量修正机器人的位姿,实现了使得机器人的实际位姿可以适应外界干扰力,避免了机器人与外界的刚性接触,从而避免机器人本体由于刚性接触而发生损坏。
示例性地,在一可行实施方式中,参照图6,机器人控制的流程可以是:
S1:基于预设的动力学模型确定机器人的各个关节的理论关节力矩τc,其中,建立动力学模型时考虑了:惯性力项向心力项G(θ)、重力项/>和摩擦力项/>
基于机器人的各个关节的关节电机电流计算得到机器人的各个关节的实际关节力矩τa。
S2:对于机器人的各个关节中的任一目标关节,将目标关节的理论关节力矩和实际关节力矩之间的差值作为目标关节的关节力矩Δτ。
S3:基于机器人的各个关节的实际关节角度和雅克比转置矩阵的逆矩阵,将各个关节力矩映射为机器人在笛卡尔空间的实际末端力矩Fe。获取期望力数据Fd。
S4:将期望力数据和实际末端力矩的差值作为机器人的外界力数据ΔF。
S5:基于外界力数据和机器人的阻抗控制器计算得到位姿补偿量ΔX。
S6:将位姿补偿量叠加到期望位姿Xd得到实际位姿X,并按照实际位姿控制机器人运动。
示例性地,在一可行实施方式中,参照图7,机器人控制系统包括示教器PC(personalcomputer,个人计算机)平台、柔顺控制器和机器人的控制器。
柔顺控制器包括运动学模块、动力学模块和阻抗控制模块,本实施方式中,通过动力学模块计算出外界环境对机器人的干扰力/力矩(也即外界力数据),然后通过软浮动控制模块计算出干扰力/力矩对应的位姿补偿量,将位姿补偿量叠加到期望位姿得到实际位姿,通过运动学模块将实际位姿求解为关节角度(也即基于所述外界力数据和所述机器人的阻抗控制器计算得到所述外界干扰力对应的位姿补偿量)。
本实施方式中,将关节角度转化为脉冲信息后,通过EtherCAT总线发送给机器人控制器,通过控制器控制伺服电机驱动机器人运动(也即基于所述外界干扰力对应的位姿补偿量和预设位姿确定实际位姿,并按照所述实际位姿控制所述机器人运动)。
本实施方式中,还将关节角度发送给示教器,用于手动演示或记录机器人在执行任务时的运动、动作和轨迹。
示例性地,在一可行实施方式中,参照图8,机器人控制的具体过程可以是:
S1:首先进行系统初始化。
S2:检测机器人系统是否正常,具体检测机器人各个模块之间通讯状态是否正常,机器人本体和控制器的状态是否正常。
S3:开启机器人软浮动功能,也即,开启机器人的柔顺控制,在本控制周期内计算外界对机器人的干扰力/力矩(也即确定机器人在执行目标动作时所述机器人的各个关节的理论关节力矩和所述机器人的各个关节的实际关节力矩;基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据)。
S4:预先设定机器人软浮动阻抗控制的死区,也即,预设死区。判断所计算的干扰力/力矩是否在预设死区内。若在预设死区内则继续进行S5(也即若所述外界力数据不在所述预设死区内,则执行所述基于所述外界力数据和所述机器人的阻抗控制器计算得到位姿补偿量的步骤);若未在预设死区内则当前控制周期不计算位姿补偿量,直至下一周期再次计算干扰力/力矩。
S5:根据计算的干扰力/力矩和阻抗控制器计算位姿补偿量(也即基于所述外界力数据和所述机器人的阻抗控制器计算得到位姿补偿量)。
S6:将位姿补偿量叠加到期望位姿,得到修正后的机器人要运动到的实际位姿(也即基于所述外界干扰力对应的位姿补偿量和预设位姿确定实际位姿)。
S7:按照实际位姿驱动机器人运动,具体地,将实际位姿通过运动学模型求关节角度,并转化为脉冲信息发送给机器人控制器,进而通过控制器控制伺服电机驱动机械臂本体运动到指定位置(也即按照所述实际位姿控制所述机器人运动)。
本实施方式中,可以实现在机器人笛卡尔空间的柔顺控制,具体步骤如下所示:
步骤1、首先进行系统的初始化,检测六关节机器人各个模块之间通讯状态是否正常,机器人本体和控制器的状态是否正常。并根据给定的任务要求计算出机器人末端运动的目标期望轨迹。
步骤2、开启机器人软浮动功能,在本周期内根据关节电机电流和动力学模型对机器人各关节的实际关节力矩和理论关节力矩,再计算得到关节力矩。其中,关节力矩计算公式可以是:
Δτ=τc-τa
其中,τc表示理论关节力矩;τa表示实际关节力矩;Δτ表示外界力数据。
将各个所述关节力矩映射为所述机器人在笛卡尔空间的实际末端力矩,以及获取所述机器人在笛卡尔空间的期望力数据。其中,计算实际末端力矩的具体公式可以是:
Fe=J-T(θ)Δτ
其中,Δτ表示干扰力矩;J-T(θ)表示雅克比转置矩阵的逆矩阵;θ表示实际关节角度。
将所述期望力数据和所述实际末端力矩的差值作为外部力数据,外部力数据的具体计算公式可以是:
ΔF=Fd-Fe
其中,Fe为实际末端力矩;Fd为期望力数据。
步骤3、预先设定机器人笛卡尔空间阻抗控制的预设死区,判断所计算的干扰力/力矩是否超过预设死区。若不在预设死区内则继续进行步骤4;若在预设死区内则当前控制周期不计算位姿补偿量,直至下一周期再次计算干扰力/力矩。
步骤4、根据计算的干扰力/力矩和阻抗控制器,计算出笛卡尔位姿补偿量并叠加到期望笛卡尔位姿中,得到修正后的机器人要运动到的实际笛卡尔位姿。
步骤5、将修正后的实际笛卡尔位姿通过运动学逆解的模型求关节角度,并转化为脉冲信息发送给机器人控制器,进而控制伺服电机驱动机械臂本体运动到指定位置。
本实施方式中,还可以实现在机器人关节空间的柔顺控制,具体步骤如下所示:
步骤1、首先进行系统的初始化,检测六关节机器人各个模块之间通讯状态是否正常,机器人本体和控制器的状态是否正常。根据给定的任务要求计算出机器人末端运动的目标期望轨迹;
步骤2、开启机器人软浮动功能,在本周期内根据关节电机电流和动力学模型对机器人各关节的实际关节力矩和理论关节力矩,再计算出外界作用于机器人关节空间各个关节的干扰力/力矩(也即外界力数据),计算公式可以是:
Δτ=τc-τa
其中,τc表示理论关节力矩;τa表示实际关节力矩;Δτ表示外界力数据。
步骤3、预先设定机器人笛卡尔空间阻抗控制的预设死区,判断所计算的干扰力/力矩是否超过预设死区。若不在预设死区内则继续进行步骤4;若在预设死区内则当前控制周期不计算位姿补偿量,直至下一周期再次计算干扰力/力矩。
步骤4、根据计算的环境干扰力/力矩和阻抗控制器,计算出关节角补偿量并叠加到期望关节角中,得到修正后的机器人要运动到的实际关节角;
步骤5、将修正后的实际关节角转化为脉冲信息发送给机器人控制器,进而控制伺服电机驱动机械臂本体运动到指定位置。
此外,本申请实施例还提出一种机器人控制装置,参照图6,所述机器人控制装置包括:
第一确定模块10,用于确定机器人在执行目标动作时所述机器人的各个关节的理论关节力矩和所述机器人的各个关节的实际关节力矩;
第二确定模块20,用于基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据;
计算模块30,用于基于所述外界力数据和所述机器人的阻抗控制器计算得到所述外界干扰力对应的位姿补偿量;
控制模块40,用于基于所述外界干扰力对应的位姿补偿量和预设位姿确定实际位姿,并按照所述实际位姿控制所述机器人运动。
进一步地,所述第一确定模块10还用于:
基于预设的动力学模型确定机器人的各个关节的理论关节力矩;
基于所述机器人的各个关节的关节电机电流计算得到所述机器人的各个关节的实际关节力矩。
进一步地,所述第二确定模块20还用于:
对于所述机器人的各个关节中的任一目标关节,对所述目标关节的理论关节力矩和实际关节力矩进行算数运算,得到运算结果;
将所述算数结果为外界干扰力作用在机器人时所述目标关节的外界力数据。
进一步地,所述机器人包括机器人本体和机器人末端;所述第二确定模块20还用于:
基于各个所述理论关节力矩和各个所述实际关节力矩,计算得到外界干扰力作用在机器人本体时所述机器人的各个关节对应的干扰力矩;
基于各个所述干扰力矩确定所述外界干扰力作用在所述机器人本体时机器人末端的实际末端力矩;
获取所述机器人的期望力数据,并基于所述期望力数据和所述实际末端力矩,确定所述外界干扰力作用在所述机器人本体时所述机器人末端的外界力数据。
进一步地,所述计算模块30还用于:
获取所述机器人的阻抗控制器的控制关系式和所述机器人的外界力数据;
对所述控制关系式进行变换得到所述机器人的外界力数据与所述机器人的位姿补偿量之间的传递函数;
基于所述传递函数计算得到所述外界干扰力对应的位姿补偿量。
进一步地,所述机器人控制装置还包括检测模块,用于:
检测所述外界力数据是否在预设死区内;
若所述外界力数据不在所述预设死区内,则执行所述基于所述外界力数据和所述机器人的阻抗控制器计算得到位姿补偿量的步骤。
进一步地,所控制模块40还用于:
基于运动学模型和所述实际位姿计算得到关节角度,并将所述关节角度转化为脉冲信息发送至所述机器人的控制器;
通过所述控制器按照接收到的脉冲信息驱动所述机器人运动。
本申请机器人控制装置各实施例,均可参照本申请机器人控制方法各个实施例,此处不再赘述。
此外,本申请实施例还提出一种计算机可读存储介质,所述存储介质上存储有机器人控制程序,所述机器人控制程序被处理器执行时实现如下所述的机器人控制方法的步骤。
本申请机器人控制设备和计算机可读存储介质各实施例,均可参照本申请机器人控制方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的行驶体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
以上仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (10)
1.一种机器人控制方法,其特征在于,所述机器人控制方法包括以下步骤:
确定机器人在执行目标动作时所述机器人的各个关节的理论关节力矩和所述机器人的各个关节的实际关节力矩;
基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据;
基于所述外界力数据和所述机器人的阻抗控制器计算得到所述外界干扰力对应的位姿补偿量;
基于所述外界干扰力对应的位姿补偿量和预设位姿确定实际位姿,并按照所述实际位姿控制所述机器人运动。
2.如权利要求1所述的机器人控制方法,其特征在于,所述确定机器人在执行目标动作时所述机器人的各个关节的理论关节力矩和所述机器人的各个关节的实际关节力矩的步骤,包括:
基于预设的动力学模型确定机器人的各个关节的理论关节力矩;
基于所述机器人的各个关节的关节电机电流计算得到所述机器人的各个关节的实际关节力矩。
3.如权利要求1所述的机器人控制方法,其特征在于,所述基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据的步骤,包括:
对于所述机器人的各个关节中的任一目标关节,对所述目标关节的理论关节力矩和实际关节力矩进行算数运算,得到运算结果;
将所述算数结果为外界干扰力作用在机器人时所述目标关节的外界力数据。
4.如权利要求1所述的机器人控制方法,其特征在于,所述机器人包括机器人本体和机器人末端;所述基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据的步骤,包括:
基于各个所述理论关节力矩和各个所述实际关节力矩,计算得到外界干扰力作用在机器人本体时所述机器人的各个关节对应的干扰力矩;
基于各个所述干扰力矩确定所述外界干扰力作用在所述机器人本体时机器人末端的实际末端力矩;
获取所述机器人的期望力数据,并基于所述期望力数据和所述实际末端力矩,确定所述外界干扰力作用在所述机器人本体时所述机器人末端的外界力数据。
5.如权利要求1所述的机器人控制方法,其特征在于,所述基于所述外界力数据和所述机器人的阻抗控制器计算得到所述外界干扰力对应的位姿补偿量的步骤,包括:
获取所述机器人的阻抗控制器的控制关系式和所述机器人的外界力数据;
对所述控制关系式进行变换得到所述机器人的外界力数据与所述机器人的位姿补偿量之间的传递函数;
基于所述传递函数计算得到所述外界干扰力对应的位姿补偿量。
6.如权利要求1所述的机器人控制方法,其特征在于,所述基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据的步骤之后,还包括:
检测所述外界力数据是否在预设死区内;
若所述外界力数据不在所述预设死区内,则执行所述基于所述外界力数据和所述机器人的阻抗控制器计算得到位姿补偿量的步骤。
7.如权利要求1至6中任一项所述的机器人控制方法,其特征在于,所述按照所述实际位姿控制所述机器人运动的步骤,包括:
基于运动学模型和所述实际位姿计算得到关节角度,并将所述关节角度转化为脉冲信息发送至所述机器人的控制器;
通过所述控制器按照接收到的脉冲信息驱动所述机器人运动。
8.一种机器人控制装置,其特征在于,所述机器人控制装置包括:
第一确定模块,用于确定机器人在执行目标动作时所述机器人的各个关节的理论关节力矩和所述机器人的各个关节的实际关节力矩;
第二确定模块,用于基于所述理论关节力矩和所述实际关节力矩确定外界干扰力作用在机器人时所述机器人的外界力数据;
计算模块,用于基于所述外界力数据和所述机器人的阻抗控制器计算得到所述外界干扰力对应的位姿补偿量;
控制模块,用于基于所述外界干扰力对应的位姿补偿量和预设位姿确定实际位姿,并按照所述实际位姿控制所述机器人运动。
9.一种机器人控制设备,其特征在于,所述机器人控制设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的机器人控制程序,所述机器人控制程序被所述处理器执行时实现如权利要求1至7中任一项所述的机器人控制方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有机器人控制程序,所述机器人控制程序被处理器执行时实现如权利要求1至7中任一项所述的机器人控制方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311554006.9A CN117400257A (zh) | 2023-11-20 | 2023-11-20 | 机器人控制方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311554006.9A CN117400257A (zh) | 2023-11-20 | 2023-11-20 | 机器人控制方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117400257A true CN117400257A (zh) | 2024-01-16 |
Family
ID=89489018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311554006.9A Pending CN117400257A (zh) | 2023-11-20 | 2023-11-20 | 机器人控制方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117400257A (zh) |
-
2023
- 2023-11-20 CN CN202311554006.9A patent/CN117400257A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10751874B2 (en) | Method of teaching robot and robotic arm control device | |
US10864632B2 (en) | Direct teaching method of robot | |
CN112743541B (zh) | 一种无力/力矩传感器机械臂软浮动控制方法 | |
CN110394801B (zh) | 一种机器人的关节控制系统 | |
CN106945043A (zh) | 一种主从式遥操作手术机器人多臂协同控制系统 | |
CN112384341A (zh) | 控制装置、控制方法以及控制系统 | |
CN109746913B (zh) | 一种机器人姿势保持拖动示教的方法及系统 | |
CN106826839A (zh) | 对机器人的控制 | |
CN111515928B (zh) | 机械臂运动控制系统 | |
CN113927603B (zh) | 机械臂拖动控制方法、装置、计算机设备以及存储介质 | |
JP2024517361A (ja) | 相補性制約を使用して衝突を回避する物体操作 | |
US20210138652A1 (en) | Robot Control Using Model-Predictive Interaction | |
JP5569953B2 (ja) | 高速高精度な接触作業に適用するロボット制御システム、ロボット制御方法、ロボット制御装置、およびプログラム | |
Hanai et al. | Investigation of autonomous cooperation between industrial cooperative humanoid robot and passive balancer | |
CN117400257A (zh) | 机器人控制方法、装置、设备及计算机可读存储介质 | |
JP4134369B2 (ja) | ロボットの制御装置 | |
Ma et al. | Unknown constrained mechanisms operation based on dynamic hybrid compliance control | |
WO2020184203A1 (ja) | ロボット制御装置及びロボット制御方法 | |
JP6565622B2 (ja) | ロボットシステム及びロボット制御方法 | |
US11613004B2 (en) | Deflection amount estimating device, robot control device and method of estimating amount of deflection | |
CN113474130A (zh) | 利用机器人执行预先设定的任务的方法和系统 | |
KR102645792B1 (ko) | 로봇 매니퓰레이터의 충격량을 산출하는 검출장치 및 방법 | |
CN112135718A (zh) | 机器人的控制 | |
Chávez-Olivares et al. | A force/position controller free of velocity measurement for robot manipulators with bounded torque input | |
WO2024050729A1 (en) | Robot teleoperation system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |