CN115502966A - 用于机器人的可变导纳控制方法 - Google Patents
用于机器人的可变导纳控制方法 Download PDFInfo
- Publication number
- CN115502966A CN115502966A CN202110695978.4A CN202110695978A CN115502966A CN 115502966 A CN115502966 A CN 115502966A CN 202110695978 A CN202110695978 A CN 202110695978A CN 115502966 A CN115502966 A CN 115502966A
- Authority
- CN
- China
- Prior art keywords
- robot
- virtual damping
- force
- motion
- vibration
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 87
- 230000033001 locomotion Effects 0.000 claims abstract description 269
- 230000003993 interaction Effects 0.000 claims abstract description 195
- 230000015654 memory Effects 0.000 claims description 22
- 230000007423 decrease Effects 0.000 claims description 15
- 230000008569 process Effects 0.000 claims description 14
- 230000002452 interceptive effect Effects 0.000 claims description 13
- 230000001133 acceleration Effects 0.000 claims description 9
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 claims description 3
- 238000013016 damping Methods 0.000 abstract description 58
- 238000013473 artificial intelligence Methods 0.000 abstract description 13
- 238000013461 design Methods 0.000 abstract description 13
- 230000001629 suppression Effects 0.000 abstract description 10
- 230000009471 action Effects 0.000 abstract description 8
- 230000002708 enhancing effect Effects 0.000 abstract description 8
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000021715 photosynthesis, light harvesting Effects 0.000 abstract description 6
- 230000001737 promoting effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 21
- 238000012937 correction Methods 0.000 description 13
- 230000001276 controlling effect Effects 0.000 description 12
- 230000001965 increasing effect Effects 0.000 description 12
- 230000008859 change Effects 0.000 description 11
- 230000000694 effects Effects 0.000 description 11
- 230000002829 reductive effect Effects 0.000 description 11
- 230000006870 function Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 230000003044 adaptive effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000000670 limiting effect Effects 0.000 description 4
- 230000002441 reversible effect Effects 0.000 description 4
- 230000001360 synchronised effect Effects 0.000 description 4
- 230000003321 amplification Effects 0.000 description 3
- 238000003199 nucleic acid amplification method Methods 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 238000005265 energy consumption Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 101100294412 Aspergillus sp. (strain MF297-2) notB gene Proteins 0.000 description 1
- 206010049816 Muscle tightness Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 230000008846 dynamic interplay Effects 0.000 description 1
- 238000002567 electromyography Methods 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000005498 polishing Methods 0.000 description 1
- 238000005381 potential energy Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000011426 transformation method Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/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
-
- 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
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-9中任一项所述的方法。
本公开的实施例提供了一种计算机可读存储介质,其上存储有计算机指令,所述计算机指令被处理器执行时实现如上所述的方法。
本公开的实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行根据本公开的实施例的用于机器人的可变导纳控制方法。
本公开的实施例提供了一种用于机器人的可变导纳控制方法、装置、设备和计算机可读存储介质。
本公开的实施例所提供的方法相比于基于固定导纳参数或简单可变导纳参数的导纳控制方法而言,能够根据当前交互环境变化而自适应地调节导纳参数,使得机器人能够快速灵敏地响应操作者的意图,提升了操作者的体验感。
本公开的实施例利用人工智能技术,基于机器人当前运动状态和与环境的交互状态对导纳参数进行实时调节以适应当前交互环境,从而增强了机器人控制的柔顺性,并且从能量耗散的角度将振动抑制引入导纳控制的可变导纳参数设计,利用阻尼作用将机器人振动能量转化为其他能量来抑制振动,从而增强了机器人控制的稳定性,提升了人机交互的体验感。
附图说明
为了更清楚地说明本公开的实施例的技术方案,下面将对实施例的描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本公开的一些示例性实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1A是示出根据本公开的实施例的操作机器人运动的示例示意图;
图1B是概念性地示出根据本公开的实施例的基于导纳控制的机器人控制框图;
图2A是示出根据本公开的实施例的用于机器人的可变导纳控制方法的流程图;
图2B是示出根据本公开的实施例的曲线图;
图3是示出根据本公开的实施例的基于可变导纳控制的机器人控制框图;
图4是示出根据本公开的实施例的用于机器人的可变导纳控制方法的流程图;
图5A是示出根据本公开的实施例的可变阻尼、高阻尼与低阻尼情况下的运动轨迹比较的图;
图5B是示出根据本公开的实施例的可变导纳控制下的虚拟阻尼变化的曲线图;
图6A是示出根据本公开的实施例的可变阻尼、高阻尼与低阻尼情况下的运动轨迹比较的图;
图6B是示出根据本公开的实施例的可变阻尼、高阻尼与低阻尼情况下的参数比较的图;
图6C是示出根据本公开的实施例的可变导纳控制下的虚拟阻尼变化的曲线图;
图7是示出根据本公开的实施例的用于机器人的可变导纳控制装置的示意图;
图8示出了根据本公开的实施例的用于机器人的可变导纳控制设备的示意图;
图9示出了根据本公开的实施例的示例性计算设备的架构的示意图;以及
图10示出了根据本公开的实施例的存储介质的示意图。
具体实施方式
为了使得本公开的目的、技术方案和优点更为明显,下面将参考附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
在本说明书和附图中,具有基本上相同或相似步骤和元素用相同或相似的附图标记来表示,且对这些步骤和元素的重复描述将被省略。同时,在本公开的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性或排序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本公开的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
为便于描述本公开,以下介绍与本公开有关的概念。
本公开的用于机器人的可变导纳控制方法可以是基于人工智能(Artificialintelligence,AI)的。人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以与人类智能相似的方式做出反应的智能机器。例如,对于基于人工智能的可变导纳控制方法而言,其能够以类似于人类调节自身动作的方式来调节机器人各个关节的运动,以使机器人按照操作者意图行动。人工智能通过研究各种智能机器的设计原理与实现方法,使本公开的用于机器人的可变导纳控制方法具有实时调节导纳参数以适应当前交互环境以及抑制机器人的振动的功能。
本公开的用于机器人的可变导纳控制方法还基于机器人控制技术,现有机器人控制技术中对人机交互型机器人的控制方式主要包括阻抗控制(Impedance Control)方式和导纳控制(Admittance Control)方式。机器人在力控下的柔顺性和稳定性是判断力控性能和交互体验的重要指标。机器人的阻抗控制或导纳控制是通过调节机器人末端位置与力之间的动态特性来实现控制的柔顺性。机器人控制的柔顺性分为主动柔顺性和被动柔顺性两类,主动柔顺性对应于机器人利用力的反馈信息采用一定的控制策略去主动控制作用力,而被动柔顺性对应于通过机器人的一些辅助柔顺结构使其在与环境接触时能够对外部作用力产生自然顺从。主动柔顺控制可以包括直接力控和间接力控两种控制方式。导纳控制是间接力控中最常见的一种输入力而输出速度的控制方式。在人机交互中,相较于阻抗控制,导纳控制不依赖于机器人的动力学模型,能够提高人机交互过程中的顺应性,非常适合于位置控制效果较好的伺服系统,其主要难点在于如何感知周围的环境与操作者的意图,并对它们做出充分、直观和安全的反应。机器人与外界环境之间的交互可以由质量-弹簧-阻尼系统来描述。通过调整控制系统参数,可以改变机器人运动特性,例如,低阻尼参数可以提高机器人对操作者交互力的跟随能力,使得操作者可以通过较小的作用力就能使机器人跟随其做柔顺移动。但较低的阻尼参数限制了拖动至目标点时交互的稳定性,机器人的位置会出现过冲(overshoot)现象。通过导纳参数的设计,可以改变环境交互力与机器人运动之间的动态关系,而生成的运动控制量将作为参考运动下发到机器人的运动控制器(例如,机器人关节位置伺服控制器)执行,从而使得机器人能够感知周围交互环境与操作者的意图并做出相应反应。
综上所述,本公开的实施例提供的方案涉及人工智能和机器人控制技术,下面将结合附图对本公开的实施例进行进一步地描述。
图1A是示出根据本公开的实施例的操作机器人运动的示例示意图。图1B是概念性地示出根据本公开的实施例的基于导纳控制的机器人控制框图。
如图1A所示,机器人可以包括可自由活动的多个关节(例如,图1A的(a)和(b)中的两个关节),以及用于与操作者接触并感知外力的接触点。操作机器人运动可以是如图1A中的(b)所示的对机器人的拖动示教,即操作者可以直接通过手动拖动的方式带领机器人沿着其期望轨迹进行运动。通过在机器人末端接触点安装力传感器,可检测出操作者对机器人施加的外力信息,再结合阻抗控制或导纳控制,即可实现机器人的拖动示教。
根据本公开的实施例,操作机器人运动还可以基于机器人遥操作(Teleoperation),其允许操作者通过接受力反馈在遥远环境中进行复杂的操作。机器人遥操作在机器人控制中将人类操作包含在控制回路中,由人类操作者下达命令,而机器人本体仅负责相应的任务实现。遥操作可以应用于各种场景(诸如医疗领域、极端环境探索、防恐防爆等),其一般可以分为基于设备的接触式遥操作和基于无标记的视觉遥操作两大类。其中,接触式遥操作通常通过遥操作者穿戴或操作不同类型的设备来实现。这些设备例如操作杆、诸如Apriltag的标记物、惯性测量单元(IMU)、肌电图(EMG)信号传感器、虚拟现实VR/增强现实AR设备或前景广阔的触觉设备等。本公开所涉及的机器人操作方式包括但不仅限于上述两种方式,上述操作方式仅用作示例而非限制。
目前对人机交互型机器人的控制方式主要包括阻抗控制和导纳控制。其中,在阻抗控制中输入位移而输出力,人机交互型机器人由于存在大惯性和摩擦力,即使在末端装有力传感器的情况下,操作者也很难实现精确的运动。因此,阻抗控制通常只适合于刚性环境(例如打磨抛光、货物取放等)下操作者与机器人的动态交互,却很难满足柔性环境(例如医疗手术、精细雕刻)对精准度的要求。而导纳控制是输入力而输出速度的控制方式,其较多地应用于柔性环境中。
在图1B所示的基于导纳控制的机器人控制框图中,将机器人所感知的人机交互力(或环境交互力)Fh与期望机器人受到的期望力Fd的偏差作为导纳控制的输入,该偏差可以看作用于指导机器人运动的参考力Fr,其中,该交互力是机器人与实时环境交互所反馈的实际受力,而期望力可以是基于操作者舒适度而确定的理想情况下的施加力,例如,在拖动示教中,期望机器人能够在操作者几乎不需用力的情况下跟随操作进行运动,此时期望力Fd可以为零。导纳控制基于输入的参考力Fr,利用质量-弹簧-阻尼模型计算出于该参考力对应的机器人的参考运动量er,该参考运动量是对机器人当前的运动状态的修正量,用于对机器人关节位姿的调整,以顺应操作者的操作意图产生相应运动。获取机器人关节的期望位姿qd,然后基于机器人关节的期望位姿与关节位姿的修正量对机器人关节实际位姿进行修正,并将修正后的关节位姿控制量q输入位于机器人各关节处的机器人运动控制器(例如机器人关节位置伺服控制器),以此控制机器人各关节在基于导纳控制的运动控制下顺应性地动作。
但是,在复杂多变的柔性应用环境中,很难控制机器人快速灵敏地响应操作者的操作意图,导致机器人的动作反应慢。因此,需要对导纳控制过程进行改进,例如对导纳参数进行针对各种影响因素的自适应设置,其中,若导纳参数被设置为高值,通常需要一个更大的操作力以给定的速度或加速度来移动机器人,则机器人更容易执行精细的动作,因为此时机器人的反应性较弱,人机交互稳定。若导纳参数被设置为低值,则机器人更容易以较高的速度或加速度来移动机器人,但难以执行精细的动作。可变导纳控制的目的是根据操作者的意图来实时改变导纳参数。
另外,当操作者出现抖动或机器人由于不稳定而产生振动时,现有的导纳控制方法并不能及时响应并修正操作者的抖动和机器人的振动,甚至会导致失误被连续放大,造成最终的操作结果出现很大误差,严重影响了操作精度以及操作者的使用体验。考虑机器人运动过程中能量的存在形式,机器人运动过程的能量除了以动能、势能等形式存在外,还可以以机器人振动的能量存在,并且这些能量之间可以相互转换,例如由于阻尼作用,振动受到阻滞而导致振动能量随时间而耗散,动能或振动的能量可能向热能或其他形式的能量转换,因此可以从能量耗散这一角度来考虑针对振动抑制的可变导纳参数设计,将机器人振动程度与导纳参数的大小进行关联。
本公开基于此,提供了一种用于机器人的可变导纳控制方法,该方法基于操作者的操作意图、交互环境以及机器人的自身状态(运动状态、振动状态等)来实现导纳控制过程的导纳参数自适应调节。
本公开的实施例所提供的方法相比于基于固定导纳参数或简单可变导纳参数的导纳控制方法而言,能够根据当前交互环境变化而实时地调节导纳参数,使得机器人能够快速灵敏地响应操作者的意图,提升了操作者的体验感。
本公开的实施例利用人工智能技术,基于机器人当前运动状态和与环境的交互状态对导纳参数进行实时调节以适应当前交互环境,从而增强了机器人控制的柔顺性,并且从能量耗散的角度将振动抑制引入导纳控制的可变导纳参数设计,利用阻尼作用将机器人振动能量转化为其他能量来抑制振动,从而增强了机器人控制的稳定性,提升了人机交互的体验感。
图2A是示出根据本公开的实施例的用于机器人的可变导纳控制方法200的流程图。其中,所述机器人可以包括第一数量的关节。例如,该机器人可以是六自由度(6R)机器人,其可以包括六个关节,并且每个关节具有一个旋转自由度,因此该机器人的运动控制可以转化为对于该六个关节的旋转角度控制。
在步骤S201中,可以获取对所述机器人施加的交互力、所述机器人的运动状态参数以及振动状态参数,其中,所述运动状态参数可以包括所述机器人的运动速度,所述振动状态参数与所述机器人运动过程中产生的振动相关。
可选地,机器人的导纳控制通过调节机器人末端力与位置之间的动态特性来实现柔顺性,当机器人通过力/力矩传感器感知到外部作用力时,控制机器人末端位移或速度。因此,需要获取机器人末端的传感器所感知的与环境的交互力、以及机器人当前的运动状态,其中,机器人运动状态可以包括机器人运动位置、速度和加速度等。此外,为了抑制机器人运动过程产生的振动或由于操作者失误等外界因素所导致的机器人振动,还需要获取机器人当前的振动状态,例如振动幅度、振动频率等。
在步骤S202中,可以基于所述交互力、所述运动状态参数和所述振动状态参数确定用于所述机器人的导纳参数,所述导纳参数包括虚拟阻尼。
根据本公开的实施例,所述导纳参数还可以包括虚拟质量和虚拟刚度。其中,虚拟阻尼参数会影响人机交互的粘滞特性,其效果类似于在控制系统中加入阻尼器,虚拟阻尼越大,则速度越快阻力越大。虚拟质量参数会影响人机交互的惯性特性。虚拟质量越大,则静止时越难推动,而运动中越难停下。虚拟刚度参数会影响人机交互的弹性特性,其效果类似于在控制系统中加入弹簧,虚拟刚度越大,则弹性就越差,机械感越强;相反,虚拟刚度越小,则弹性就越好,越容易拖动。因此,导纳实际影响机器人末端控制的柔顺度。例如,低阻尼参数可以提高机器人对操作者交互力的跟随能力,使得操作者可以通过较小的作用力就能使机器人跟随其做柔顺移动。
根据本公开的实施例,基于所述交互力、所述运动状态参数和所述振动状态参数确定导纳参数可以包括:确定参考虚拟阻尼;以及基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼。其中,参考虚拟阻尼可以是虚拟阻尼参数的初始值,同时可以作为机器人当前与环境交互状态的参考值,例如,当某时刻虚拟阻尼大于参考虚拟阻尼时,可能推测出现了交互力与机器人当前运动反向的情况或机器人振动增强的情况等。
可选地,虚拟阻尼的确定可以针对机器人运动过程中的各种影响因素,以实现对于环境的自适应调整以及期望实现的附加功能,例如振动抑制。因此,对虚拟阻尼的设计应考虑这些影响因素与机器人运动的关系,包括但不限于交互力、机器人当前运动状态、机器人当前振动状态等。本公开中所描述的对实现前述功能的虚拟阻尼的设计仅以包括这些影响因素的虚拟阻尼形式作为示例,而不作为其限制。除此之外,虚拟阻尼的选取还可以基于运动稳定性极限下的m/b-b曲线,其中,m表示虚拟质量,b表示虚拟阻尼,m/b表示虚拟质量与虚拟阻尼的比值,即虚拟质量与虚拟阻尼的选取需要满足一定规则,例如需要符合图2B所示的运动稳定性极限的m/b-b曲线,其中,图2B中的(a)和(b)分别是通过实验拟合而得的机器人沿力方向和扭矩方向的m/b-b曲线,并且对于不同的机器人,其对应的稳定性极限下的m/b-b曲线不同,因此需针对具体机器人进行虚拟阻尼选取。
根据本公开的实施例,所述交互力可以包括交互力值和交互力方向,所述机器人的运动速度可以包括速度值和速度方向。可选地,可以基于交互力方向与机器人的速度方向之间的关系来确定操作者的意图。
因此,根据本公开的实施例,基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼可以包括:基于所述交互力方向与速度方向的关系,利用所述交互力值和所述速度值对所述参考虚拟阻尼进行调整,以确定所述虚拟阻尼。可选地,在基于交互力方向和机器人的速度方向确定了操作者的意图之后,可以进一步基于交互力值和机器人的速度值来确定其对虚拟阻尼大小的影响,并用于对上述参考虚拟阻尼进行调整以确定当前虚拟阻尼值。例如,在交互力方向和机器人的速度方向相反的情况下,如果交互力值越大,则虚拟阻尼应大于参考虚拟阻尼并且相应地增大。
根据本公开的实施例,基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼还可以包括:在所述振动状态参数指示所述机器人在运动过程中未产生振动的情况下,基于所述参考虚拟阻尼、所述交互力和所述机器人的运动速度确定所述虚拟阻尼;以及在所述振动状态参数指示所述机器人在运动过程中产生振动的情况下,基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼。
可选地,在振动状态参数为零(例如,振动幅度为零或振动频率为零等)的情况下,可以确定当前机器人在运动过程中未产生振动,因此当前的虚拟阻尼参数的确定仅需考虑交互力和机器人的运动状态对机器人运动的影响,即利用交互力和机器人的速度来确定当前虚拟阻尼。而在振动状态参数不为零(例如,振动幅度不为零且振动频率不为零)的情况下,可以确定当前机器人在运动过程中产生振动,因此除了交互力和机器人的速度外,还需要考虑基于振动状态参数,通过虚拟阻尼设置实现振动抑制。
因此,根据本公开的实施例,基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼可以包括:在所述交互力或所述机器人的运动速度为零的情况下,将所述虚拟阻尼设置为所述参考虚拟阻尼;在所述交互力与所述机器人的运动方向同向的情况下,利用所述交互力、所述速度值和所述振动状态参数对所述参考虚拟阻尼进行调整,以确定比所述参考虚拟阻尼更小的所述虚拟阻尼;以及在所述交互力与所述机器人的运动方向反向的情况下,利用所述交互力、所述速度值和所述振动状态参数对所述参考虚拟阻尼进行调整,以确定比所述参考虚拟阻尼更大的所述虚拟阻尼。
可选地,在交互力与机器人的运动速度在同一方向的情况下,可以减小虚拟阻尼,并且在交互力与机器人的运动速度不在同一方向的情况下,可以增大虚拟阻尼,从而使得机器人根据操作者意图柔顺地运动。此外,虚拟阻尼可以随交互力的增加或机器人的运动速度的增加而减小。
可选地,基于所交互力方向与速度方向的关系,利用所述交互力值和所述速度值对所述预定阻尼值的进行调整,以确定所述虚拟阻尼可以包括在振动状态参数增大的情况下,增大虚拟阻尼,并且在振动状态参数减小的情况下,减小虚拟阻尼。
根据本公开的实施例,所述振动状态参数可以包括振动幅度和振动频率中的至少一项,其中,随着所述振动幅度和振动频率的增加,对所述参考虚拟阻尼进行调整的程度减小。
随着振动幅度和振动频率的增加,机器人运动趋于不稳定,此时对状态参数的较大幅度的调整可能导致这种不稳定性被进一步放大从而造成较大误差,因此应降低对当前参数进行调整的程度,以避免因系统参数剧烈变化的不稳定性而导致的对振动的放大。
根据本公开的实施例,所述交互力、所述机器人的运动速度和所述振动状态参数与所述虚拟阻尼的关系可以表示为:
基于式(1)可以确定交互力、机器人的运动速度和振动状态参数的变化对虚拟阻尼和操作效果的影响,如下表1所示。
表1
因此,如表1所示,在振动为零(例如,A=0或ω=0)的情况下,虚拟阻尼如果同向增大,则b随之减小,此时对机器人的操作更加柔顺;反之,如果异向增大,则b随之增大,此时对机器人的操作更加阻滞。例如,在本公开的实施例中,同向增大可以表示交互力Fh正向增大,指示操作者可能意图使机器人正向加速,因此此时阻尼应当相应减小,使得机器人跟随操作者更柔顺地运动。而异向增大可以表示交互力Fh反向增大,指示操作者可能意图使机器人反向加速,因此此时阻尼应当相应增大,使得机器人快速减速以沿交互力Fh方向加速运动。对于同向或异向减小的情况与上述同向或异向增大的情况类似,此处不再赘述。
在振动增大(例如,A增大或ω增大)的情况下,虚拟阻尼 如果同向不变,则b随之增大,且对参考虚拟阻尼b0进行调整的程度减小,b与虚拟参考阻尼b0之间的差值逐渐减小,此时对机器人的操作更加阻滞,且逐渐接近零振动情况下的操作效果;反之,如果异向不变,则b随之减小,且对参考虚拟阻尼b0进行调整的程度减小,b与虚拟参考阻尼b0之间的差值逐渐减小,此时对机器人的操作更加柔顺,且逐渐接近零振动情况的操作效果。由于振动的增大,机器人运动趋于不稳定,因此应降低状态参数变化的程度,以避免因状态参数剧烈变化的不稳定性而导致的对振动的放大。
除表1所示的状态变化情况外,还存在多种其他状态变化,相应的操作结果均可基于上述说明而获得。
在基于式(1)确定了虚拟阻尼后,接下来,在步骤S203中,可以基于所确定的导纳参数和所述机器人的参考力来生成对所述机器人的所述第一数量的关节的控制信号,其中,所述参考力可以是基于所述交互力与期望所述机器人受到的期望力而确定的。
可选地,所述参考力可以是所述交互力与期望所述机器人受到的期望力之间的偏差力,其可以作为机器人运动的参考,用于基于该偏差力生成对机器人末端的运动状态参数的修正量,继而生成对机器人各关节的运动状态的修正量,该修正量被以控制信号的形式传送至各关节对应的电机。
可选地,机器人与外界环境之间的交互可以由质量-弹簧-阻尼系统来描述。因此,根据本公开的实施例,所述导纳参数与所述机器人的参考力的关系可以表示为:
其中,m为虚拟质量,b为虚拟阻尼,k为虚拟刚度,F为参考力,x、和分别为所述机器人的位置、运动速度和运动加速度。可选地,在获取到机器人所受交互力及其运动状态参数、并确定各导纳参数之后,基于式(2)可以确定对机器人末端的位置、速度以及加速度的修正量。
根据本公开的实施例,基于所确定的导纳参数和所述机器人的参考力来生成对所述机器人的所述第一数量的关节的控制信号可以包括:根据所述导纳参数与所述机器人的参考力的所述关系,基于所述导纳参数和所述参考力确定与所述机器人的所述第一数量的关节对应的第一数量的参考运动参数;以及基于所述第一数量的参考运动参数,生成用于控制所述机器人的所述第一数量的关节的运动的第一数量的控制信号。
可选地,获得与参考力对应的用于指导机器人运动的上述修正量之后,可以利用此修正量来修正预先设定的位置轨迹。例如,在拖动示教场景中期望力为零的情况下,可以通过在机器人反馈的实际位置的基础上加上该修正量,从而得到机器人末端运动的参考运动参数。根据机器人末端运动的参考运动参数,利用逆运动学算法将其从工作空间变换至关节空间,从而确定与机器人的各关节对应的参考运动参数。然后,可以基于机器人的各关节的参考运动参数与反馈自各电机的关于其相应关节的实际运动参数之间的偏差,通过机器人位置控制将其转换为对用于控制机器人各关节动作的相应电机的控制信号(例如,用于控制机器人的关节转角等)。上述基于所确定的导纳参数和所述机器人的参考力来生成对所述机器人的所述第一数量的关节的控制信号的步骤可以参考下文中参照图3进行的描述。
根据本公开的实施例,所述虚拟刚度k可以为零,所述机器人停留在所述交互力对所述机器人的作用结束后的位置。可选地,在虚拟刚度为零的情况下,可以实现机器人的自由运动,使得机器人随时停留在交互后的位置。
图3是示出根据本公开的实施例的基于可变导纳控制的机器人控制框图。
根据本公开的实施例,基于可变导纳控制的机器人控制可以包括采用基于位置控制的内环和力控控制的外环策略。获取机器人与外界的接触力(例如,通过六维力矩传感器),通过导纳模型生成一个附加位置,再利用此附加位置去修正预先设定的位置轨迹,然后送入位置控制内环,完成最终的位置控制。
如图3所示,在机器人根据上一时刻的指示完成动作后,可以获取当前时刻机器人的实际运动速度振动状态参数A和ω、以及与环境的交互力Fh,并基于所获取的运动状态参数、振动状态参数和交互力,按照例如式(1)所示的可变导纳参数设计对导纳参数进行更新。
将机器人当前所感知的交互力Fh与期望机器人受到的期望力Fd之间的偏差力(Fh-Fd)作为已完成导纳参数更新的导纳控制模型的输入,该偏差力代表操作者或环境当前对机器人的操作意图,其中:
若该偏差力等于零,交互力Fh等于期望力Fd,表示环境或操作者并无意图改变机器人当前运动状态,则此时机器人可按原始的期望轨迹或期望运动状态继续运动;
若该偏差力大于零,交互力Fh大于期望力Fd,表示环境或操作者意图使机器人在当前运动状态的基础上进行加速,则此时机器人基于交互力Fh在期望力Fd基础上的力增量进行加速运动;
若该偏差力小于零,交互力Fh小于期望力Fd,表示环境或操作者意图使机器人在当前运动状态的基础上进行减速(或反向加速),则此时机器人基于交互力Fh在期望力Fd基础上的力增量进行减速运动。
导纳控制模型可以是基于质量-弹簧-阻尼系统的模型,在该模型中,通过机器人运动参数与参考力之间的动态特性,可以获得机器人的参考运动量,该参考运动量即机器人应产生的位置移动量,即上述附加位置,其也可以被认为是机器人的参考运动速度,即单位时间内机器人的参考位置移动量er。
获得用于指导机器人运动的参考位置移动量er后,可以利用此参考位置移动量er来修正机器人当前的实际运动状态。根据本公开的实施例,在期望力Fd为零的理想状态下,通过在机器人反馈的实际位置X的基础上加上该参考位置移动量er,可以得到机器人运动的参考位置Xr、参考速度和参考加速度根据机器人的参考位置和姿态,利用逆运动学算法将理想的运动从工作空间变换至关节空间,从而确定机器人关节的参考运动量取值,即参考位置qr和参考速度其中qr和可以是由机器人的所有关节相应的参考位置和参考速度分别构成的向量。例如,机器人逆运动学算法可以包括以下几种:解析法(也称为反变换法)、几何法和数值解法。
接下来,基于机器人关节的参考运动量qr和可以对机器人的各个关节的实际运动状态进行修正。其中,首先获取机器人各关节当前的实际位姿,计算其与参考运动量的偏差et和然后机器人的位置控制模块可以将各关节的偏差运动量et和转换为对用于控制机器人各关节动作的相应电机的扭矩控制量τm,例如根据关节坐标系相对于基坐标系的目标位姿,求解机器人各关节角度,从而将偏差运动量et和转换为机器人关节执行动作的期望位姿。
根据本公开的实施例,以如图1A中的(b)所示的对机器人的拖动示教过程作为示例,此时期望对机器人施加的期望力Fd为零,导纳控制模型的输入即为机器人当前所感知的交互力Fh。基于此场景,图4是示出根据本公开的实施例的用于机器人的可变导纳控制方法400的流程图。
根据本公开的实施例,用于机器人的可变导纳控制方法400可以包括以下步骤。
在步骤S401中,可以获取所述机器人的期望运动轨迹。
控制机器人的目的可以是控制机器人末端的位置和姿态(统一简称为位置),即所谓的位置控制问题。期望机器人末端达到的位置可以称为期望位置或期望轨迹,期望轨迹可以在机器人任务空间中给出,也可以通过逆运动学转化为机器人关节空间中的期望轨迹。期望轨迹通常可以包括两种形式:一种是某个固定位置,另一种是一条随时间连续变化的轨迹。例如,在拖动示教中,该期望运动轨迹可以是将该与环境的交互力转换为机器人末端执行动作的一条随时间连续变化的期望轨迹。
可选地,在拖动示教过程中,操作者牵引机器人末端运动,可以在机器人末端设置有力传感器(例如,该力传感器可以是六维力传感器),用于检测操作者牵引机器人末端运动的交互力,机器人末端位置控制模块可以将经导纳控制处理后的交互力转换为机器人末端执行动作的期望位姿。
在步骤S402中,可以获取所述机器人的实时运动轨迹,并获取对所述机器人施加的交互力、所述机器人的运动状态参数以及振动状态参数。
可选地,机器人的实时运动轨迹可以是机器人末端的实时运动状态参数,该机器人的运动状态参数可以包括机器人运动位置、速度和加速度等,机器人的振动状态参数,例如振动幅度、振动频率等。
在步骤S403中,可以基于所述交互力、所述运动状态参数和所述振动状态参数确定用于所述机器人的导纳参数,所述导纳参数包括虚拟阻尼。
可选地,虚拟阻尼的确定可以针对机器人运动过程中的各种影响因素,以实现对于环境的自适应调整以及期望实现的附加功能,例如振动抑制。因此,对虚拟阻尼的设计应考虑这些影响因素与机器人运动的关系,包括但不限于交互力、机器人当前运动状态、机器人当前振动状态等。
在步骤S404中,可以基于所述机器人的期望运动轨迹、实时运动轨迹、所述导纳参数、以及所述机器人的参考力来生成对所述机器人的所述第一数量的关节的控制信号。其中,所述参考力是基于所述交互力与期望所述机器人受到的期望力而确定的。
可选地,生成对所述机器人的所述第一数量的关节的控制信号可以基于机器人的实时运动轨迹与期望运动轨迹之间的偏差(即修正量)作为指导机器人末端运动的参考运动参数,而后根据机器人末端运动的参考运动参数,利用逆运动学算法将其从工作空间变换至关节空间,从而确定与机器人的各关节对应的参考运动参数。然后,可以基于机器人的各关节的参考运动参数,通过机器人位置控制将其转换为对用于控制机器人各关节动作的相应电机的控制信号(例如,用于控制机器人的关节转角等)。
可选地,在所述第一数量的关节完成根据所述第一数量的控制信号的运动后,可以检测下一时刻对所述机器人的交互力、所述机器人的运动状态参数以及振动状态参数,用于实现机器人运动的迭代更新。
图5A是示出根据本公开的实施例的可变阻尼、高阻尼与低阻尼情况下的运动轨迹比较的图。图5B是示出根据本公开的实施例的可变导纳控制下的虚拟阻尼变化的曲线图。
图5A和5B是基于图2A所述的方法200或图4所述的方法400进行的拖动示教的结果示意图,其中,拖动示教的过程可以参考图1A(b),图5A所示的拖动示教与图1A(b)所述的拖动示教区别仅在与相应的期望轨迹不同,在图5A中,以简单的二维平面圆周运动作为示例来说明可变阻尼、高阻尼与低阻尼三种情况分别对应的机器人运动轨迹的比较。
在图5A中,示出了机器人的期望运动轨迹、以及在可变阻尼、高阻尼与低阻尼三种情况下分别对应的机器人的实际运动轨迹。其中,在可变阻尼控制下的运动轨迹与期望运动轨迹拟合程度最高且几乎与其重合,而对于高阻尼参数控制情况,机器人的实际运动轨迹表现出过阻尼现象,其无法达到期望运动轨迹,高阻尼参数限制了拖动至目标点时交互的柔顺性,机器人无法达到期望运动位置;对于低阻尼参数控制情况,机器人的实际运动轨迹表现出欠阻尼现象,低阻尼参数限制了拖动至目标点时交互的稳定性,机器人的位置会出现过冲现象。因此,在可变导纳控制的情况下,机器人的实际运动轨迹可以很好地跟踪期望运动轨迹,使得操作者可以通过较小的作用力使机器人跟随其做柔顺且准确的移动。
对于虚拟阻尼的控制可以基于不同自由度方向,例如图5B中的x和y方向,其可以通过对交互力和机器人的运动状态参数沿各自由度方向进行分解而实现。如图5B所示,参考虚拟阻尼b0=200,对机器人的拖动示教可以从例如第7s处开始,此后虚拟阻尼基于机器人运动过程中的各种影响因素(例如,交互力、机器人当前运动状态、机器人当前振动状态等)而实时调整。如图5B所示,在图5A所示的拖动示教中,可能存在交互力与机器人当前运动方向夹角大于90°的情况,此情况对应于图5B中虚拟阻尼b增大至大于参考虚拟阻尼b0的过程。
图6A是示出根据本公开的实施例的可变阻尼、高阻尼与低阻尼情况下的运动轨迹比较的图。图6B是示出根据本公开的实施例的可变阻尼、高阻尼与低阻尼情况下的参数比较的图。图6C是示出根据本公开的实施例的可变导纳控制下的虚拟阻尼变化的曲线图。
图6A、6B和6C均是基于图2A所述的方法200或图4所述的方法400进行的拖动示教的结果示意图,其中,拖动示教的过程可以参考图1A(b),图6A、6B和6C所进行的拖动示教与图1A(b)所示的拖动示教相同,并且此拖动示教过程可以包括快速移动阶段(期望轨迹的左半部分的弧线)和精确操作阶段(期望轨迹的中间部分的圆以及右半部分的直线)。
在图6A中,分别示出了可变阻尼、高阻尼与低阻尼三种情况分别对应的机器人的实际运动轨迹以及相应运动过程中的速度变化。其中,在可变阻尼控制下机器人的实际运动速度几乎可以与低阻尼参数控制下的运动速度保持相等,也就是说,可变阻尼下机器人控制的柔顺度几乎可以达到低阻尼下机器人控制的柔顺度,而高阻尼参数控制下机器人移动的速度较小,对应的控制所受阻滞较大。因此,在可变导纳控制的情况下,操作者可以通过较小的作用力使机器人跟随其做柔顺且快速的移动。
如图6B所示,图6B中的(a)和(b)分别对应于快速移动阶段和精确操作阶段中各类性能参数的比较,这些参数包括但不限于任务执行时间(s)、机器人运动平均速度(mm/s)、操作者使用的平均力(N)、执行任务耗能(Nmm)以及操作过程误差(mm)等。其中,执行任务耗能可以表示为
其中M表示采样时间,fx,ivx,i、fy,ivy,i和fz,ivz,i分别表示第i时刻沿x、y和z三个方向的功率,其中,以fx,ivx,i为例,fx,i表示操作者在第i时刻沿x方向对机器人所施加的力,而vx,i表示机器人在第i时刻沿x方向的速度。
在图6B的(a)所表示的快速移动阶段,机器人控制的目标可以是柔顺控制且速度较快,相比于低阻尼和高阻尼参数控制,可变导纳控制能够在达到较高的移动速度的情况下维持较低误差,同时消耗最少的能量,而在图6B的(b)所表示的精细操作阶段,机器人控制的目标可以是柔顺控制且误差较小,相比于低阻尼和高阻尼参数控制,可变导纳控制能够在维持较低误差的情况下达到较高的移动速度,同时仍然消耗最少的能量。由图6B可知,在可变导纳控制的情况下,机器人的实际运动轨迹可以很好地跟踪期望运动轨迹,使得操作者可以通过较小的作用力使机器人跟随其做柔顺且准确的移动。
如图6C所示,对于虚拟阻尼的控制可以基于不同自由度方向,例如图6C中的x、y和z方向,其可以通过对交互力和机器人的运动状态参数沿各自由度方向进行分解而实现。如图6C所示,参考虚拟阻尼b0=200,在跟随图1A(b)所示的期望轨迹进行运动时,虚拟阻尼基于机器人运动过程中的各种影响因素(例如,交互力、机器人当前运动状态、机器人当前振动状态等)而实时调整,并且在此任务执行过程中,交互力与机器人运动方向的夹角可能始终小于90°,也就是交互力始终引导机器人沿正向运动。
图7是示出根据本公开的实施例的用于机器人的可变导纳控制装置700的示意图。
如图7所示,用于机器人的可变导纳控制装置700可以包括状态参数获取模块701、导纳参数更新模块702和控制信号生成模块703。
状态参数获取模块701可以被配置为获取对所述机器人施加的交互力、所述机器人的运动状态参数以及振动状态参数,其中,所述运动状态参数可以包括所述机器人的运动速度,所述振动状态参数与所述机器人运动过程中产生的振动相关。
可选地,可以获取机器人末端的传感器所感知的与环境的交互力、以及机器人当前的运动状态,其中,机器人运动状态可以包括机器人运动位置、速度和加速度等。此外,为了抑制机器人运动过程产生的振动或由于操作者失误等外界因素所导致的机器人振动,还需要获取机器人当前的振动状态,例如振动幅度、振动频率等。
导纳参数更新模块702可以被配置为基于所述交互力、所述运动状态参数和所述振动状态参数确定用于所述机器人的导纳参数,所述导纳参数可以包括虚拟阻尼。
根据本公开的实施例,所述导纳参数还可以包括虚拟质量和虚拟刚度。导纳实际影响机器人末端控制的柔顺度。例如,低阻尼参数可以提高机器人对操作者交互力的跟随能力,使得操作者可以通过较小的作用力就能使机器人跟随其做柔顺移动。
根据本公开的实施例,基于所述交互力、所述运动状态参数和所述振动状态参数确定导纳参数可以包括:确定参考虚拟阻尼;基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼。其中,所述交互力可以包括交互力值和交互力方向,所述机器人的运动速度可以包括速度值和速度方向。可选地,可以基于交互力方向与机器人的速度方向之间的关系来确定操作者的意图。
因此,根据本公开的实施例,基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼可以包括:基于所述交互力方向与速度方向的关系,利用所述交互力值和所述速度值对所述参考虚拟阻尼进行调整,以确定所述虚拟阻尼。可选地,在基于交互力方向和机器人的速度方向确定了操作者的意图之后,可以进一步基于交互力值和机器人的速度值来确定其对虚拟阻尼大小的影响,并用于对上述参考虚拟阻尼进行调整以确定当前虚拟阻尼值。
根据本公开的实施例,基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼可以包括:在所述振动状态参数指示所述机器人在运动过程中未产生振动的情况下,基于所述参考虚拟阻尼、所述交互力和所述机器人的运动速度确定所述虚拟阻尼;以及在所述振动状态参数指示所述机器人在运动过程中产生振动的情况下,基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼。例如,在振动状态参数为零(例如,振动幅度为零或振动频率为零等)的情况下,可以确定当前机器人在运动过程中未产生振动,因此可以利用交互力和机器人的速度来确定当前虚拟阻尼。而在振动状态参数不为零(例如,振动幅度不为零且振动频率不为零)的情况下,可以确定当前机器人在运动过程中产生振动,因此除了交互力和机器人的速度外,还需要考虑基于振动状态参数,通过虚拟阻尼设置实现振动抑制。
根据本公开的实施例,基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼可以包括:在所述交互力或所述机器人的运动速度为零的情况下,将所述虚拟阻尼设置为所述参考虚拟阻尼;在所述交互力与所述机器人的运动方向同向的情况下,利用所述交互力、所述速度值和所述振动状态参数对所述参考虚拟阻尼进行调整,以确定比所述参考虚拟阻尼更小的所述虚拟阻尼;以及在所述交互力与所述机器人的运动方向反向的情况下,利用所述交互力、所述速度值和所述振动状态参数对所述参考虚拟阻尼进行调整,以确定比所述参考虚拟阻尼更大的所述虚拟阻尼。可选地,在交互力与机器人的运动速度在同一方向的情况下,可以减小虚拟阻尼,并且在交互力与机器人的运动速度不在同一方向的情况下,可以增大虚拟阻尼,从而使得机器人根据操作者意图柔顺地运动。此外,虚拟阻尼可以随交互力的增加或机器人的运动速度的增加而减小,以及在振动状态参数增大的情况下,可以增大虚拟阻尼,并且在振动状态参数减小的情况下,可以减小虚拟阻尼。
根据本公开的实施例,所述振动状态参数包括振动幅度和振动频率中的至少一项,并且随着所述振动幅度和振动频率的增加,对所述参考虚拟阻尼进行调整的程度减小。随着振动幅度和振动频率的增加,机器人运动趋于不稳定,因此应降低对当前参数进行调整的程度,以避免因系统参数剧烈变化的不稳定性而导致的对振动的放大。
控制信号生成模块703可以被配置为基于所确定的导纳参数和所述机器人的参考力来生成对所述机器人的所述第一数量的关节的控制信号。其中,所述参考力是基于所述交互力与期望所述机器人受到的期望力而确定的。
可选地,所述参考力可以是所述交互力与期望所述机器人受到的期望力之间的偏差力,其可以作为机器人运动的参考,用于基于该偏差力生成对机器人末端的运动状态参数的修正量,继而生成对机器人各关节的运动状态的修正量,该修正量被以控制信号的形式传送至各关节对应的电机。
根据本公开的又一方面,还提供了一种用于机器人的可变导纳控制设备。图8示出了根据本公开的实施例的用于机器人的可变导纳控制设备2000的示意图。
如图8所示,所述用于机器人的可变导纳控制设备2000可以包括一个或多个处理器2010,和一个或多个存储器2020。其中,所述存储器2020中存储有计算机可读代码,所述计算机可读代码当由所述一个或多个处理器2010运行时,可以执行如上所述的用于机器人的可变导纳控制方法。
本公开的实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。上述处理器可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,可以是X86架构或ARM架构的。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
例如,根据本公开的实施例的方法或装置也可以借助于图9所示的计算设备3000的架构来实现。如图9所示,计算设备3000可以包括总线3010、一个或多个CPU 3020、只读存储器(ROM)3030、随机存取存储器(RAM)3040、连接到网络的通信端口3050、输入/输出组件3060、硬盘3070等。计算设备3000中的存储设备,例如ROM 3030或硬盘3070可以存储本公开提供的用于机器人的可变导纳控制方法的处理和/或通信使用的各种数据或文件以及CPU所执行的程序指令。计算设备3000还可以包括用户界面3080。当然,图8所示的架构只是示例性的,在实现不同的设备时,根据实际需要,可以省略图9示出的计算设备中的一个或多个组件。
根据本公开的又一方面,还提供了一种计算机可读存储介质。图10示出了根据本公开的存储介质的示意图4000。
如图10所示,所述计算机存储介质4020上存储有计算机可读指令4010。当所述计算机可读指令4010由处理器运行时,可以执行参照以上附图描述的根据本公开的实施例的用于机器人的可变导纳控制方法。本公开的实施例中的计算机可读存储介质可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、增强型同步动态随机存取存储器(ESDRAM)、同步连接动态随机存取存储器(SLDRAM)和直接内存总线随机存取存储器(DR RAM)。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。应注意,本文描述的方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本公开的实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行根据本公开的实施例的用于机器人的可变导纳控制方法。
本公开的实施例提供了一种用于机器人的可变导纳控制方法、装置、设备和计算机可读存储介质。
本公开的实施例所提供的方法相比于基于固定导纳参数或简单可变导纳参数的导纳控制方法而言,能够根据当前交互环境变化而自适应地调节导纳参数,使得机器人能够快速灵敏地响应操作者的意图,提升了操作者的体验感。
本公开的实施例利用人工智能技术,基于机器人当前运动状态和与环境的交互状态对导纳参数进行实时调节以适应当前交互环境,从而增强了机器人控制的柔顺性,并且从能量耗散的角度将振动抑制引入导纳控制的可变导纳参数设计,利用阻尼作用将机器人振动能量转化为其他能量来抑制振动,从而增强了机器人控制的稳定性,提升了人机交互的体验感。
需要说明的是,附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
一般而言,本公开的各种示例实施例可以在硬件或专用电路、软件、固件、逻辑,或其任何组合中实施。某些方面可以在硬件中实施,而其他方面可以在可以由控制器、微处理器或其他计算设备执行的固件或软件中实施。当本公开的实施例的各方面被图示或描述为框图、流程图或使用某些其他图形表示时,将理解此处描述的方框、装置、系统、技术或方法可以作为非限制性的示例在硬件、软件、固件、专用电路或逻辑、通用硬件或控制器或其他计算设备,或其某些组合中实施。
在上面详细描述的本公开的示例实施例仅仅是说明性的,而不是限制性的。本领域技术人员应该理解,在不脱离本公开的原理和精神的情况下,可对这些实施例或其特征进行各种修改和组合,这样的修改应落入本公开的范围内。
Claims (15)
1.一种用于机器人的可变导纳控制方法,所述机器人包括第一数量的关节,所述方法包括:
获取对所述机器人施加的交互力、所述机器人的运动状态参数以及振动状态参数,其中,所述运动状态参数包括所述机器人的运动速度,所述振动状态参数与所述机器人运动过程中产生的振动相关;
基于所述交互力、所述运动状态参数和所述振动状态参数确定用于所述机器人的导纳参数,所述导纳参数包括虚拟阻尼;以及
基于所确定的导纳参数和所述机器人的参考力来生成对所述机器人的所述第一数量的关节的控制信号;
其中,所述参考力是基于所述交互力与期望所述机器人受到的期望力而确定的。
2.如权利要求1所述的方法,其中,基于所述交互力、所述运动状态参数和所述振动状态参数确定导纳参数包括:
确定参考虚拟阻尼;
基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼;
其中,所述交互力包括交互力值和交互力方向,所述机器人的运动速度包括速度值和速度方向,
其中,基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼包括:基于所述交互力方向与速度方向的关系,利用所述交互力值和所述速度值对所述参考虚拟阻尼进行调整,以确定所述虚拟阻尼。
3.如权利要求2所述的方法,其中,基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼包括:
在所述振动状态参数指示所述机器人在运动过程中未产生振动的情况下,基于所述参考虚拟阻尼、所述交互力和所述机器人的运动速度确定所述虚拟阻尼;以及
在所述振动状态参数指示所述机器人在运动过程中产生振动的情况下,基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼。
4.如权利要求3所述的方法,其中,基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼包括:
在所述交互力或所述机器人的运动速度为零的情况下,将所述虚拟阻尼设置为所述参考虚拟阻尼;
在所述交互力与所述机器人的运动方向同向的情况下,利用所述交互力、所述速度值和所述振动状态参数对所述参考虚拟阻尼进行调整,以确定比所述参考虚拟阻尼更小的所述虚拟阻尼;以及
在所述交互力与所述机器人的运动方向反向的情况下,利用所述交互力、所述速度值和所述振动状态参数对所述参考虚拟阻尼进行调整,以确定比所述参考虚拟阻尼更大的所述虚拟阻尼。
5.如权利要求4所述的方法,其中,所述振动状态参数包括振动幅度和振动频率中的至少一项,
其中,随着所述振动幅度和振动频率的增加,对所述参考虚拟阻尼进行调整的程度减小。
8.如权利要求5所述的方法,其中,所述虚拟刚度k为零,所述机器人停留在所述交互力对所述机器人的作用结束后的位置。
9.一种用于机器人的可变导纳控制方法,所述机器人包括第一数量的关节,所述方法包括:
获取所述机器人的期望运动轨迹;
获取所述机器人的实时运动轨迹,并获取对所述机器人施加的交互力、所述机器人的运动状态参数以及振动状态参数,其中,所述运动状态参数包括所述机器人的运动速度,所述振动状态参数与所述机器人运动过程中产生的振动相关;
基于所述交互力、所述运动状态参数和所述振动状态参数确定用于所述机器人的导纳参数,所述导纳参数包括虚拟阻尼;以及
基于所述机器人的期望运动轨迹、实时运动轨迹、所述导纳参数、以及所述机器人的参考力来生成对所述机器人的所述第一数量的关节的控制信号;
其中,所述参考力是基于所述交互力与期望所述机器人受到的期望力而确定的。
10.一种用于机器人的可变导纳控制装置,所述机器人包括第一数量的关节,所述装置包括:
状态参数获取模块,被配置为获取对所述机器人施加的交互力、所述机器人的运动状态参数以及振动状态参数,其中,所述运动状态参数包括所述机器人的运动速度,所述振动状态参数与所述机器人运动过程中产生的振动相关;
导纳参数更新模块,被配置为基于所述交互力、所述运动状态参数和所述振动状态参数确定用于所述机器人的导纳参数,所述导纳参数包括虚拟阻尼;以及
控制信号生成模块,被配置为基于所确定的导纳参数和所述机器人的参考力来生成对所述机器人的所述第一数量的关节的控制信号;
其中,所述参考力是基于所述交互力与期望所述机器人受到的期望力而确定的。
11.如权利要求10所述的装置,其中,基于所述交互力、所述运动状态参数和所述振动状态参数确定导纳参数包括:
确定参考虚拟阻尼;
基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼;
其中,所述交互力包括交互力值和交互力方向,所述机器人的运动速度包括速度值和速度方向,
其中,基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼包括:基于所述交互力方向与速度方向的关系,利用所述交互力值和所述速度值对所述参考虚拟阻尼进行调整,以确定所述虚拟阻尼。
12.如权利要求11所述的装置,其中,基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼包括:
在所述振动状态参数指示所述机器人在运动过程中未产生振动的情况下,基于所述参考虚拟阻尼、所述交互力和所述机器人的运动速度确定所述虚拟阻尼;以及
在所述振动状态参数指示所述机器人在运动过程中产生振动的情况下,基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼;
其中,基于所述参考虚拟阻尼、所述交互力、所述机器人的运动速度和所述振动状态参数确定所述虚拟阻尼包括:
在所述交互力或所述机器人的运动速度为零的情况下,将所述虚拟阻尼设置为所述参考虚拟阻尼;
在所述交互力与所述机器人的运动方向同向的情况下,利用所述交互力、所述速度值和所述振动状态参数对所述参考虚拟阻尼进行调整,以确定比所述参考虚拟阻尼更小的所述虚拟阻尼;以及
在所述交互力与所述机器人的运动方向反向的情况下,利用所述交互力、所述速度值和所述振动状态参数对所述参考虚拟阻尼进行调整,以确定比所述参考虚拟阻尼更大的所述虚拟阻尼;
其中,所述振动状态参数包括振动幅度和振动频率中的至少一项,并且随着所述振动幅度和振动频率的增加,对所述参考虚拟阻尼进行调整的程度减小。
14.一种用于机器人的可变导纳控制设备,包括:
处理器;和
存储器,其上存储有计算机可执行指令,所述指令在被处理器执行时用于实现如权利要求1-9中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机可执行指令,所述指令在被处理器执行时用于实现如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110695978.4A CN115502966B (zh) | 2021-06-22 | 2021-06-22 | 用于机器人的可变导纳控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110695978.4A CN115502966B (zh) | 2021-06-22 | 2021-06-22 | 用于机器人的可变导纳控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115502966A true CN115502966A (zh) | 2022-12-23 |
CN115502966B CN115502966B (zh) | 2024-04-26 |
Family
ID=84499841
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110695978.4A Active CN115502966B (zh) | 2021-06-22 | 2021-06-22 | 用于机器人的可变导纳控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115502966B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115946129A (zh) * | 2023-03-10 | 2023-04-11 | 珞石(北京)科技有限公司 | 一种用于操作大惯性物体的机器人变导纳控制方法 |
CN117464691A (zh) * | 2023-12-27 | 2024-01-30 | 中国科学院自动化研究所 | 防反弹控制方法、装置、电子设备和存储介质 |
CN117654000A (zh) * | 2024-01-31 | 2024-03-08 | 中国科学院苏州生物医学工程技术研究所 | 一种机器人主被动康复训练控制方法、系统、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013054629A (ja) * | 2011-09-06 | 2013-03-21 | Honda Motor Co Ltd | 制御装置及び方法 |
US20130253702A1 (en) * | 2012-03-21 | 2013-09-26 | Universite Laval | Method of inferring intentions of an operator to move a robotic system |
CN110597072A (zh) * | 2019-10-22 | 2019-12-20 | 上海电气集团股份有限公司 | 机器人导纳柔顺控制方法及系统 |
CN111037573A (zh) * | 2020-01-08 | 2020-04-21 | 山东理工大学 | 一种仿人柔性关节手臂的振动抑制方法 |
CN111660306A (zh) * | 2020-05-27 | 2020-09-15 | 华中科技大学 | 一种基于操作者舒适度的机器人可变导纳控制方法及系统 |
CN112936291A (zh) * | 2021-03-26 | 2021-06-11 | 中国科学院宁波材料技术与工程研究所 | 一种基于阻抗控制的力控末端执行器振动抑制方法 |
-
2021
- 2021-06-22 CN CN202110695978.4A patent/CN115502966B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2013054629A (ja) * | 2011-09-06 | 2013-03-21 | Honda Motor Co Ltd | 制御装置及び方法 |
US20130253702A1 (en) * | 2012-03-21 | 2013-09-26 | Universite Laval | Method of inferring intentions of an operator to move a robotic system |
CN110597072A (zh) * | 2019-10-22 | 2019-12-20 | 上海电气集团股份有限公司 | 机器人导纳柔顺控制方法及系统 |
CN111037573A (zh) * | 2020-01-08 | 2020-04-21 | 山东理工大学 | 一种仿人柔性关节手臂的振动抑制方法 |
CN111660306A (zh) * | 2020-05-27 | 2020-09-15 | 华中科技大学 | 一种基于操作者舒适度的机器人可变导纳控制方法及系统 |
CN112936291A (zh) * | 2021-03-26 | 2021-06-11 | 中国科学院宁波材料技术与工程研究所 | 一种基于阻抗控制的力控末端执行器振动抑制方法 |
Non-Patent Citations (2)
Title |
---|
周朝政;叶震;谢叻;: "基于力传感器的机器人变导纳控制人机交互策略", 江西师范大学学报(自然科学版), no. 03, 15 May 2020 (2020-05-15), pages 221 - 234 * |
李军强;齐恒佳;张改萍;赵海文;郭士杰;: "基于力信息的人机协调运动控制方法", 计算机集成制造系统, no. 08, 15 August 2018 (2018-08-15), pages 2005 - 2011 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115946129A (zh) * | 2023-03-10 | 2023-04-11 | 珞石(北京)科技有限公司 | 一种用于操作大惯性物体的机器人变导纳控制方法 |
CN115946129B (zh) * | 2023-03-10 | 2023-05-09 | 珞石(北京)科技有限公司 | 一种用于操作大惯性物体的机器人变导纳控制方法 |
CN117464691A (zh) * | 2023-12-27 | 2024-01-30 | 中国科学院自动化研究所 | 防反弹控制方法、装置、电子设备和存储介质 |
CN117464691B (zh) * | 2023-12-27 | 2024-03-22 | 中国科学院自动化研究所 | 防反弹控制方法、装置、电子设备和存储介质 |
CN117654000A (zh) * | 2024-01-31 | 2024-03-08 | 中国科学院苏州生物医学工程技术研究所 | 一种机器人主被动康复训练控制方法、系统、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115502966B (zh) | 2024-04-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115502966B (zh) | 用于机器人的可变导纳控制方法 | |
Li et al. | Physical human–robot interaction of a robotic exoskeleton by admittance control | |
CN108241339B (zh) | 仿人机械臂的运动求解和构型控制方法 | |
Nemec et al. | Human robot cooperation with compliance adaptation along the motion trajectory | |
US9020642B2 (en) | Robot controller, robot system, robot control method | |
KR102003445B1 (ko) | 로봇 매니퓰레이터의 개방 루프 제어 및 폐쇄 루프 제어를 수행하는 장치 및 방법 | |
CN111660306A (zh) | 一种基于操作者舒适度的机器人可变导纳控制方法及系统 | |
CN110612181B (zh) | 机器人引导通过编程期间控制工业机器人的方法和工业机器人 | |
US20160089788A1 (en) | Robot, robot system, control device, and control method | |
CN109968361B (zh) | 一种基于实时力反馈的变阻抗遥操作控制装置及方法 | |
EP4045390B1 (en) | Dynamic planning controller | |
CN110621446B (zh) | 机器人系统以及机器人系统的控制方法 | |
CN103747927A (zh) | 机器人系统、机器人和机器人控制装置 | |
WO2016073367A1 (en) | Position/force control of a flexible manipulator under model-less control | |
KR20220148857A (ko) | 로봇 제어 | |
CN112060078A (zh) | 机器人控制方法、装置、计算机可读存储介质及机器人 | |
Ficuciello et al. | Impedance control of redundant manipulators for safe human-robot collaboration | |
Xu et al. | Trajectory planning with Bezier curve in Cartesian space for industrial gluing robot | |
CN115366115B (zh) | 一种机械臂控制方法及其控制系统和计算机可读存储介质 | |
JP4587052B2 (ja) | 位置制御装置、位置制御方法及び位置制御プログラム | |
Jiang et al. | Obstacle avoidance of a redundant robot using virtual force field and null space projection | |
KR102225348B1 (ko) | 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법 | |
KR102156655B1 (ko) | 로봇을 위한 동역학 시뮬레이션 기반 제어 프레임 워크 | |
Zhang et al. | An adaptive human-robot system using CMAC and over damping | |
Singh et al. | Enhancing the command-following bandwidth for transparent bilateral teleoperation |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |