1.本技术实施例涉及人工智能技术的机器人控制技术领域,特别涉及一种机器人运动控制方法、机器人及系统。
背景技术:
2.双边遥操作系统可以包括主端机器人、通信环节和从端机器人。操作者通过对主端机器人进行操作,以实现对从端机器人的控制。
3.在相关技术中,主端机器人根据从端机器人所反馈的末端执行器与环境物体的交互力,来模拟从端机器人在任务环境中的真实情况。操作者再根据从端机器人所发送的视觉信息对主端机器人进行操作,进而实现对从端机器人的控制。
4.然而,从端机器人跟随主端机器人的运动过程中,相关技术下的从端机器人的关节易受到环境物体的阻碍,从端机器人避障能力不强。
技术实现要素:
5.本技术实施例提供了一种机器人运动控制方法、机器人及系统,能够使得到主端机器人和从端机器人躲避障碍物,从而提高机器人的避障能力。所述技术方案如下:
6.根据本技术实施例的一个方面,提供了一种机器人运动控制方法,所述方法包括:
7.获取主端机器人的第一关节信息、关节交互力和操作者的输入力,以及来自从端机器人的末端反馈力、关节反馈力和第二关节信息,所述第一关节信息用于描述所述主端机器人的关节状态,所述第二关节信息用于描述所述从端机器人的关节状态,所述关节交互力是指环境物体对所述主端机器人的关节的作用力,所述末端反馈力是指环境物体对所述从端机器人的末端执行器的作用力,所述关节反馈力是指环境物体对所述从端机器人的关节的作用力;
8.基于所述第一关节信息、所述关节交互力、所述操作者的输入力、所述末端反馈力、所述关节反馈力和所述第二关节信息,计算得到用于控制所述主端机器人运动的等效关节驱动力矩;
9.基于所述用于控制所述主端机器人运动的等效关节驱动力矩,控制所述主端机器人运动。
10.根据本技术实施例的一个方面,提供了一种机器人运动控制方法,所述方法包括:
11.获取从端机器人的第二关节信息和末端反馈力,以及来自主端机器人的第一关节信息和操作者的输入力;所述第一关节信息用于描述所述主端机器人的关节状态,所述第二关节信息用于描述所述从端机器人的关节状态,所述末端反馈力是指环境物体对所述从端机器人的末端执行器的作用力;
12.基于所述第二关节信息、所述末端反馈力、所述第一关节信息和所述操作者的输入力,计算得到用于控制所述从端机器人运动的等效关节驱动力矩;
13.基于所述用于控制所述从端机器人运动的等效关节驱动力矩,控制所述从端机器
人运动。
14.根据本技术实施例的一个方面,提供了一种机器人运动控制装置,所述装置包括:
15.主端信息获取模块,用于获取主端机器人的第一关节信息、关节交互力和操作者的输入力,以及来自从端机器人的末端反馈力、关节反馈力和第二关节信息,所述第一关节信息用于描述所述主端机器人的关节状态,所述第二关节信息用于描述所述从端机器人的关节状态,所述关节交互力是指环境物体对所述主端机器人的关节的作用力,所述末端反馈力是指环境物体对所述从端机器人的末端执行器的作用力,所述关节反馈力是指环境物体对所述从端机器人的关节的作用力;
16.主端力矩获取模块,用于基于所述第一关节信息、所述关节交互力、所述操作者的输入力、所述末端反馈力、所述关节反馈力和所述第二关节信息,计算得到用于控制所述主端机器人运动的等效关节驱动力矩;
17.主端运动控制模块,用于基于所述用于控制所述主端机器人运动的等效关节驱动力矩,控制所述主端机器人运动。
18.根据本技术实施例的一个方面,提供了一种机器人运动控制装置,所述装置包括:
19.从端信息获取模块,用于获取从端机器人的第二关节信息和末端反馈力,以及来自主端机器人的第一关节信息和操作者的输入力;所述第一关节信息用于描述所述主端机器人的关节状态,所述第二关节信息用于描述所述从端机器人的关节状态,所述末端反馈力是指环境物体对所述从端机器人的末端执行器的作用力;
20.从端力矩获取模块,用于基于所述第二关节信息、所述末端反馈力、所述第一关节信息和所述操作者的输入力,计算得到用于控制所述从端机器人运动的等效关节驱动力矩;
21.从端运动控制模块,用于基于所述用于控制所述从端机器人运动的等效关节驱动力矩,控制所述从端机器人运动。
22.根据本技术实施例的一个方面,提供了一种机器人,所述机器人包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述机器人运动控制方法。
23.根据本技术实施例的一个方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现上述机器人运动控制方法。
24.根据本技术实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。机器人的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该机器人执行上述机器人运动控制方法。
25.据本技术实施例的一个方面,提供了一种双边遥操作系统,所述双边遥操作系统包括主端机器人和从端机器人,所述主端机器人用于执行所述主端机器人侧的机器人运动控制方法,所述从端机器人用于执行所述从端机器人侧的机器人运动控制方法。
26.本技术实施例提供的技术方案至少包括如下有益效果:
27.通过基于主端机器人的关节与环境物体的交互力和从端机器人的关节与环境物
体的交互力,确定主端机器人的等效关节驱动力矩,基于主端机器人的等效关节驱动力矩控制主端机器人的关节进行避障运动,实现了主端机器人的关节能够躲避障碍物,进而也实现了在确保从端机器人的末端执行器能够执行操作任务的同时,确保从端机器人的关节也能够躲避障碍物,提高了机器人的避障能力。
28.另外,通过在获取从端机器人的末端执行器与环境物体的交互力和从端机器人的关节信息的基础上,确定主端机器人的等效关节驱动力矩,使得主端机器人可感知从端机器人的末端执行器与环境物体的力交互情况和从端机器人的位置跟随情况,提高了主端机器人的感知能力,从而使得操作者可以从端机器人的进行更加准确地控制,提高了机器人控制的准确性。
附图说明
29.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
30.图1是本技术一个实施例提供的同构型双边遥操作机器人的结构示意图;
31.图2是本技术一个实施例提供的机器人运动控制方法的流程图;
32.图3是本技术另一个实施例提供的机器人运动控制方法的流程图;
33.图4是本技术一个实施例提供的主端机器人和从端机器人之间的信息交互的流程图;
34.图5是本技术一个实施例提供的主端机器人系统的输入输出的示意图;
35.图6是本技术一个实施例提供的从端机器人系统的输入输出的示意图;
36.图7是本技术一个实施例提供的力反馈的流程图;
37.图8是本技术一个实施例提供的主端机器人控制系统和从端机器人控制系统的示意图;
38.图9是本技术一个实施例提供的机器人运动控制装置的框图;
39.图10是本技术另一个实施例提供的机器人运动控制装置的框图;
40.图11是本技术另一个实施例提供的机器人运动控制装置的框图;
41.图12是本技术另一个实施例提供的机器人运动控制装置的框图;
42.图13是本技术一个实施例提供的机器人的简化结构框图。
具体实施方式
43.为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施方式作进一步地详细描述。
44.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
45.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
46.本技术技术方案主要涉及人工智能技术中的机器人技术,主要涉及机器人智能控制。机器人是利用机械传动、现代微电子技术组合而成的一种能模仿人某种技能的机械电子设备,机器人是在电子、机械及信息技术的基础上发展而来的。机器人的样子不一定必须像人,只要能自主完成人类所赋予他的任务与命令,就属于机器人大家族的成员。机器人是一种自动化的机器,这种机器具备一些与人或生物相似的智能能力,如感知能力、规划能力、动作能力和协同能力,是一种具有高度灵活性的自动化机器。随着计算机技术和人工智能技术的发展,使机器人在功能和技术层次上有了很大的提高,移动机器人和机器人的视觉和触觉等技术就是典型的代表。
47.本技术实施例提供的机器人运动控制方法,能够使得主端机器人和从端机器人躲避障碍物,提高了机器人的避障能力。例如,当从端机器人的关节运动轨迹上存在障碍物时,主端机器人可以根据从端机器人的关节与环境物体之间的交互力,控制从端机器人的关节躲避该障碍物。
48.双边遥操作系统可以包括主端机器人、通信环节和从端机器人。主端机器人用于模拟从端机器人在任务环境中的真实情况,并响应于操作者针对主端机器人的操作,向从端机器人发送控制信息(如关节信息、操作者的输入力等)。从端机器人基于来自主端机器人的控制信息进行动作跟随(如关节、末端位置跟随),以完成相应的任务。可选地,从端机器人向主端机器人发送任务环境中的环境物体信息(如从端机器人的末端执行器与环境物体的交互力、从端机器人的关节与环境物体的交互力等)。主端机器人和从端机器人通过通信环节连接。
49.可选地,双边遥操作系统可以包括同构型和异构型。同构型双边遥操作系统是指所包含的主端机器人和从端机器人具有相同(即对称)的机械结构。异构型双边遥操作系统是指所包含的主端机器人和从端机器人为非对称的机械结构。
50.在一个示例中,以同构型双边遥操作系统为例。参考图1,主端机器人102和从端机器人103的机械结构相同。操作者101基于从端机器人的视觉设备104所捕捉到的视觉信息,对主端机器人102的手柄(或触觉装置等)进行操作,响应于该操作,主端机器人102通过通信环节(未示出)向从端机器人103发送关节信息,从端机器人103基于该关节信息进行运动跟随,进而对环境物体105进行相关处理(如切割、拾取、旋转等)。
51.在从端机器人103的关节运动轨迹上存在障碍物的情况下,从端机器人103的关节无法避开该障碍物,从而影响从端机器人103的末端执行器的运动,导致从端机器人103的末端执行器无法正常对环境物体105进行相关处理。
52.本技术实施例通过基于从端机器人103的关节与障碍物之间的交互力,确定主端机器人102的等效关节驱动力矩,使得从端机器人103的关节可以避开该障碍物。
53.请参考图2,其示出了本技术一个实施例提供的机器人运动控制方法的流程图。该方法各步骤的执行主体可以是上述的主端机器人102,如主端机器人102中设置的处理器。该方法可以包括如下几个步骤(201~203):
54.步骤201,获取主端机器人的第一关节信息、关节交互力和操作者的输入力,以及来自从端机器人的末端反馈力、关节反馈力和第二关节信息。
55.其中,第一关节信息用于描述主端机器人的关节状态,第二关节信息用于描述从端机器人的关节状态,关节交互力是指环境物体对主端机器人的关节的作用力,末端反馈力是指环境物体对从端机器人的末端执行器的作用力,关节反馈力是指环境物体对从端机器人的关节的作用力。
56.主端机器人是指操作者侧对应的机器人,可用于对从端机器人进行控制。从端机器人是指在任务环境中的机器人,其跟随主端机器人运动。任务环境可以是指水下作业、空间探测、核设施维护、远程医疗及手术等对应的环境。例如,操作者通过对主端机器人进行操作,控制主端机器人运动,从端机器人对主端机器人的运动结果进行跟随运动。
57.第一关节信息是指主端机器人当前时刻的关节信息,该第一关节信息可以包括主端机器人关节对应的关节角度、关节角速度等信息。主端机器人可以包括多个关节。例如,一个具有6自由度的主端机器人,可以包括6个独立驱动的关节。可选地,该第一关节信息可以由主端机器人自身的传感器检测得到。
58.关节交互力可以是指操作空间中的环境物体对主端机器人的关节的作用力。该关节作用力可以是操作者主动对主端机器人的关节施加作用力,也可以是主端机器人的关节与操作空间中的环境物体之间的交互力。可选地,关节交互力可由主端机器人的关节对应的力传感器器检测得到。
59.操作者的输入力是指操作者对主端机器人输入的力,可用于驱动主端机器人。该操作者的输入力可由主端机器人自身的力传感器检测得到。例如,参考图1,操作者101对主端机器人的手柄进行操作(即施加作用力),主端机器人的手柄对应的力传感器(例如六维力传感器)可以检测得到该操作对应的作用力。可选地,还可以通过力传感器获取操作者的输入力矩,并基于操作者的输入力矩,获取操作者的输入力。
60.末端反馈力是指从端机器人向主端机器人所反馈的从端机器人的末端执行器与任务空间中环境物体(即任务环境物体)之间的交互力。该末端反馈力可由从端机器人的末端执行器对应的力传感器检测得到。理论上,末端反馈力与操作者的输入力呈正相关关系。
61.关节反馈力是指从端机器人向主端机器人所反馈的从端机器人的关节与任务空间中环境物体(即关节运动轨迹上的障碍物)之间的交互力。基于关节反馈力,主端机器人可以感知从端机器人的关节和障碍物的交互情况,进而进行躲避规划。该关节反馈力可由从端机器人的关节对应的力传感器检测得到。
62.第二关节信息是指主端机器人当前时刻所接收到的从端机器人的关节信息。该第二关节信息可以包括从端机器人关节对应的关节角度、关节角速度等信息。理论上,该第二关节信息对应的关节角度和关节角速度可以和第一关节信息对应的关节角度和关节角速度相同,但在通讯环节存在时延或从端受环境物理影响的情况下,在同一时刻,该第二关节信息对应的关节角度和关节角速度可以和第一关节信息对应的关节角度和关节角速度不相同。总体上来看,第二关节信息会趋于与第一关节信息同步。
63.步骤202,基于第一关节信息、关节交互力、操作者的输入力、末端反馈力、关节反馈力和第二关节信息,计算得到用于控制主端机器人运动的等效关节驱动力矩。
64.在本技术实施例中,等效关节驱动力矩是指主端机器人的关节的笛卡尔等效驱动
力矩,即主端机器人的关节驱动力矩在笛卡尔空间中的等效表示。等效关节驱动力矩可用于控制主端机器人的各个关节运动以实现主端机器人的运动。
65.在一个示例中,该等效关节驱动力矩的具体确定方法可以如下:基于第一关节信息和第二关节信息,得到主端机器人的第一关节驱动力矩,第一关节驱动力矩是指将主端机器人的关节从第二关节信息对应的关节位置移动到第一关节信息对应的关节位置所需的关节驱动力矩;基于关节交互力和关节反馈力,得到主端机器人的第二关节驱动力矩,第二关节驱动力矩是指主端机器人和从端机器人避开环境物体所需的关节驱动力矩;根据机器人逆向动力学方程对操作者的输入力进行转换处理,得到主端机器人的第三关节驱动力矩;根据机器人逆向动力学方程对末端反馈力进行转换处理,得到主端机器人的第四关节驱动力矩;基于第一关节驱动力矩、第二关节驱动力矩、第三关节驱动力矩和第四关节驱动力矩,计算得到用于控制主端机器人运动的等效关节驱动力矩。
66.可选地,将主端机器人的力雅克比矩阵的转置和操作者的输入力进行相乘处理,即可得到第三关节驱动力矩,将主端机器人的力雅克比矩阵的转置和末端反馈力进行相乘处理,即可得到第四关节驱动力矩。
67.在一个示例中,第一关节驱动力矩的具体确定方法可以如下:基于第一关节信息和第二关节信息,得到主端机器人的位置误差信息,主端机器人的位置误差信息用于表示第二关节信息对应的关节位置与第一关节信息对应的关节位置的差异信息;基于主端机器人的位置误差信息,确定主端机器人的第一关节驱动力矩。其中,位置误差信息可用于表示从端机器人的各个关节的跟随情况,即当前时刻下从端机器人的关节角度与主端机器人对应的关节角度之间的差异,或从端机器人的关节角速度与主端机器人对应的关节速度之间的差异。
68.可选地,基于位置误差信息计算第一关节驱动力矩的方法可以如下:若位置误差信息大于等于第一阈值,则将第一关节驱动力矩的上限值作为主端机器人的第一关节驱动力矩,第一阈值是指位置误差信息对应的额定最大值;若位置误差信息大于第二阈值且小于第一阈值,则基于位置误差信息和第一关节驱动力矩之间的转换比例系数对位置误差信息进行转换处理,得到主端机器人的第一关节驱动力矩,第二阈值是指误差信息对应的额定最小值;若位置误差信息小于等于第二阈值,则将第一关节驱动力矩的下限值作为主端机器人的第一关节驱动力矩。
69.其中,第一阈值、第二阈值、第一关节驱动力矩的上限和第一关节驱动力矩的下限值可由设计者根据实际需求进行适应性设置。示例性地,在位置误差信息大于等于额定最大值的情况下,以固定的相对较大的关节驱动力矩,控制关节角速度,以实现主端机器人的关节位置快速调整。在位置误差信息小于额定最大值大于额定最小值的情况下,线性动态调整关节驱动力矩,控制关节角速度平稳降速,以实现主端机器热人的关节位置平稳调整。在位置误差信息小于额定最小值的情况下,以固定的相对较小的关节驱动力矩,控制关节角速度,以实现主端机器人的关节位置精准调整。
70.可选地,第一关节驱动力矩的获取方式可以用如下公式表示:
[0071][0072]
其中,是指主端机器人的第一关节驱动力矩,是指第一关节驱动力矩的上限值,指第一关节驱动力矩的下限值,δp是指主端机器人对应的位置误差信息,pm是指第一关节信息对应的关节位置,ps是指第二关节信息对应的关节位置,p
max
是指位置误差信息对应的额定最大值,p
min
是指位置误差信息对应的额定最小值,k
p
是指位置误差信息与第一关节驱动力矩对应的转换比例系数。
[0073]
在一个示例中,第二关节驱动力矩的具体确定方法如下:分别对关节交互力和关节反馈力进行转换处理,得到关节交互力对应的第一中间关节驱动力矩和关节反馈力对应的第二中间关节驱动力矩;基于第一中间关节驱动力矩和第二关中间节驱动力矩,得到主端机器人的第二关节驱动力矩。
[0074]
示例性地,获取用于表示环境物体对关节的作用力和关节驱动力矩之间的映射关系的雅克比矩阵,该雅克比矩阵可基于环境物体对关节的作用力和关节力矩作用点计算得到。将该雅克比矩阵的转置和关节交互力进行相乘计算,得到第一中间关节驱动力矩,将该雅克比矩阵的转置和关节反馈力进行相乘计算,得到第二中间关节驱动力矩。对第一中间关节力矩和第二中间关节力矩进行叠加处理,得到第二关节驱动力矩。
[0075]
可选地,等效关节驱动力矩还需要基于关节之间的摩擦力和关节自身的重力进行补偿,其具体内容可以如下:获取主端机器人的摩擦补偿关节驱动力矩和重力补偿关节驱动力矩,摩擦补偿关节驱动力矩用于补偿主端机器人的关节摩擦力,重力补偿关节驱动力矩用于补偿主端机器人的关节重力;基于第一关节驱动力矩、第二关节驱动力矩、第三关节驱动力矩、第四关节驱动力矩、摩擦补偿关节驱动力矩和重力补偿关节驱动力矩,计算得到用于控制主端机器人运动的等效关节驱动力矩。
[0076]
其中,重力补偿关节驱动力矩用于补偿主端机器人的关节因重力而产生的关节驱动力矩对主端机器人运动控制的影响,重力补偿关节驱动力矩可根据牛顿-欧拉方法计算得到。摩擦补偿关节驱动力矩用于补偿主端机器人的关节之间的摩擦力而产生的关节驱动力矩对主端机器人运动控制的影响,摩擦补偿关节驱动力矩可基于根据主端机器人的标定数据拟合出的摩擦模型得到。
[0077]
在一个示例性实施例中,用于控制主端机器人运动的等效关节驱动力矩的计算公式如下:
[0078][0079]
其中,τm是指主端机器人的等效关节驱动力矩,是指主端机器人的力雅克比矩阵的转置,是指操作者的输入力,i是指单位矩阵,是指主端机器人的关节交互力对应的第一中间关节驱动力矩,
是指从端机器人的关节反馈力对应的第二中间关节驱动力矩,是指主端机器人的摩擦补偿关节驱动力矩,是指主端机器人的重力补偿关节驱动力矩,是指主端机器人的第一关节驱动力矩,是指从端机器人的末端反馈力,是指第一关节驱动力矩的上限值,指第一关节驱动力矩的下限值,δp是指主端机器人对应的位置误差信息,pm是指第一关节信息对应的关节位置,ps是指第二关节信息对应的关节位置,p
max
是指位置误差信息对应的额定最大值,p
min
是指位置误差信息对应的额定最小值,k
p
是指位置误差信息与第一关节驱动力矩对应的转换比例系数。
[0080]
示例性地,该等效关节驱动力矩的计算公式获取过程可以如下:
[0081]
在主端机器人系统处于零力控制状态下,主端机器人系统的输入可以用如下公式表示:
[0082]
τm=(τm)
master
+(τm)
slave
;
[0083]
其中,τm是指主端机器人的等效关节驱动力矩,(τm)
master
是指主端机器人自身零力控制所需的关节驱动力矩,其包括第三关节驱动力矩(即操作者的输入力映射得到的关节驱动力矩)、第二关节驱动力矩(即主端机器人零空间下的关节驱动力矩)、摩擦补偿关节驱动力矩和重力补偿关节驱动力矩,可用如下公式表示:(τm)
slave
是指主端机器人用于对从端机器人进行遥操作控制相关的关节驱动力矩,其包括第一关节驱动力矩(即位置误差信息对应的关节驱动力矩)和第四关节驱动力矩(即末端反馈力映射得到的关节驱动力矩),可用如下公式表示:则有
[0084][0085]
其中,是指第三关节驱动力矩,是指主端机器人的力雅克比矩阵的转置,是指操作者的输入力。是指第二关节驱动力矩,是指单位矩阵,是指主端机器人的关节交互力对应的第一中间关节驱动力矩,是指从端机器人的关节反馈力对应的第二中间关节驱动力矩,是指主端机器人的摩擦补偿关节驱动力矩,是指主端机器人的重力补偿关节驱动力矩,是指主端机器人的第一关节驱动力矩,是指第四关节驱动力矩,是指从端机器人的末端反馈力。
[0086]
进而可得到等效关节驱动力矩的计算公式:
[0087][0088]
步骤203,基于用于控制主端机器人运动的等效关节驱动力矩,控制主端机器人运动。
[0089]
可选地,在主端机器人运动过程中,向从端机器人发送实时的第一关节信息和操作者的输入力。该第一关节信息可以包括关节角度信息、关节角度增量信息和关节角速度
信息等。可选地,该第一关节信息可以是指对应的笛卡尔空间下的关节信息。
[0090]
综上所述,本技术实施例提供的技术方案,通过基于主端机器人的关节与环境物体的交互力和从端机器人的关节与环境物体的交互力,确定主端机器人的等效关节驱动力矩,基于主端机器人的等效关节驱动力矩控制主端机器人的关节进行避障运动,实现了主端机器人的关节能够躲避障碍物,进而也实现了在确保从端机器人的末端执行器能够执行操作任务的同时,确保从端机器人的关节也能够躲避障碍物,提高了机器人的避障能力。
[0091]
另外,通过在获取从端机器人的末端执行器与环境物体的交互力和从端机器人的关节信息的基础上,确定主端机器人的等效关节驱动力矩,使得主端机器人可感知从端机器人的末端执行器与环境物体的力交互情况和从端机器人的位置跟随情况,提高了主端机器人的感知能力,从而使得操作者可以从端机器人的进行更加准确地控制,提高了机器人控制的准确性。
[0092]
请参考图3,其示出了本技术另一个实施例提供的机器人运动控制方法的流程图。该方法各步骤的执行主体可以是上述的从端机器人103,如从端机器人103中设置的处理器。该方法可以包括如下几个步骤(301~303):
[0093]
步骤301,获取从端机器人的第二关节信息和末端反馈力,以及来自主端机器人的第一关节信息和操作者的输入力。
[0094]
其中,第一关节信息用于描述主端机器人的关节状态,其可以是从端机器人当前时刻下接收到的关节信息。第二关节信息用于描述从端机器人的关节状态,其可以是从端机器人当前时刻下的关节信息。末端反馈力是指环境物体对从端机器人的末端执行器的作用力,其可以是从端机器人的末端执行器当前时刻下与任务环境物体之间的交互力。操作者的输入力是指操作者对主端机器人输入的力,其可以是从端机器人当前时刻下接收到操作者的输入力。该操作者的输入力可由主端机器人自身的力传感器检测得到。
[0095]
步骤302,基于第二关节信息、末端反馈力、第一关节信息和操作者的输入力,计算得到用于控制从端机器人运动的等效关节驱动力矩。
[0096]
在本技术实施例中,等效关节驱动力矩是指从端机器人的关节的笛卡尔等效驱动力矩,即主端机器人的关节驱动力矩在笛卡尔空间中的等效表示。等效关节驱动力矩可用于控制从端机器人的各个关节运动以实现从端机器人的运动。
[0097]
在一个示例中,该等效关节驱动力矩的具体确定方法可以如下:基于第一关节信息和第二关节信息,得到从端机器人的第一关节驱动力矩,第一关节驱动力矩是指将从端机器人的关节从第二关节信息对应的关节位置移动到第一关节信息对应的关节位置所需的关节驱动力矩;基于末端反馈力和操作者的输入力,得到从端机器人的第二关节驱动力矩;基于第一关节驱动力矩和第二关节驱动力矩,计算得到用于控制从端机器人运动的等效关节驱动力矩。
[0098]
在一个示例中,第一关节驱动力矩的具体确定方法可以如下:基于第一关节信息和第二关节信息,得到从端机器人的位置误差信息,从端机器人的位置误差信息用于表示第二关节信息对应的关节位置与第一关节信息对应的关节位置的差异信息;基于从端机器人的位置误差信息,确定从端机器人的第一关节驱动力矩。
[0099]
可选地,第一关节驱动力矩的获取方式可以用如下公式表示:
[0100]
[0101]
其中,是指从端机器人的第一关节驱动力矩,δp是指从端机器人对应的位置误差信息,pm是指第一关节信息对应的关节位置,ps是指第二关节信息对应的关节位置,f
pid
是指位置误差信息对应的pid(proportion integral differential,比例积分微分)控制。
[0102]
在一个示例中,第二关节驱动力矩的具体确定方法可以如下:获取末端反馈力和操作者的输入力的差值;对末端反馈力和操作者的输入力的差值进行转换处理,得到从端机器人的第二关节驱动力矩。
[0103]
可选地,将从端机器人的力雅克比矩阵的转置与末端反馈力和操作者的输入力的差值进行相乘处理,即可得到第二关节驱动力矩。
[0104]
可选地,等效关节驱动力矩还需要基于关节之间的摩擦力和关节自身的重力进行补偿,其具体内容可以如下:获取从端机器人的摩擦补偿关节驱动力矩和重力补偿关节驱动力矩,摩擦补偿关节驱动力矩用于补偿从端机器人的关节摩擦力,重力补偿关节驱动力矩用于补偿从端机器人的关节重力;基于第一关节驱动力矩、第二关节驱动力矩、摩擦补偿关节驱动力矩和重力补偿关节驱动力矩,计算得到用于控制从端机器人运动的等效关节驱动力矩。
[0105]
其中,重力补偿关节驱动力矩用于补偿从端机器人的关节因重力而产生的关节驱动力矩对从端机器人运动控制的影响,重力补偿关节驱动力矩可根据牛顿-欧拉方法计算得到。摩擦补偿关节驱动力矩用于补偿从端机器人的关节之间的摩擦力而产生的关节驱动力矩对从端机器人运动控制的影响,摩擦补偿关节驱动力矩可基于根据从端机器人的标定数据拟合出的摩擦模型得到。
[0106]
在一个示例性实施例中,用于控制从端机器人运动的等效关节驱动力矩的计算公式如下:
[0107][0108]
其中,τs是指从端机器人的等效关节驱动力矩,是指从端机器人的力雅克比矩阵的转置,是指从端机器人的摩擦补偿关节驱动力矩,是指从端机器人的重力补偿关节驱动力矩,是指从端机器人的第一关节驱动力矩,fh是指主端机器人的操作者的输入力,fm是指从端机器人的末端反馈力,δp是指从端机器人对应的位置误差信息,pm是指第一关节信息对应的关节位置,ps是指第二关节信息对应的关节位置,f
pid
是指位置误差信息对应的比例积分微分pid控制。
[0109]
示例性地,该等效关节驱动力矩的计算公式获取过程可以如下:
[0110]
在从端机器人系统处于零力控制状态下,从端机器人系统的输入可以用如下公式表示:
[0111]
τs=(τs)
slave
+(τs)
master
;
[0112]
其中,τs是指从端机器人的等效关节驱动力矩,(τs)
slave
是指从端机器人自身零力控制所需的关节驱动力矩,其包括摩擦补偿关节驱动力矩和重力补偿关节驱动力矩,可用如下公式表示:(τs)
master
是指从端机器人用于跟随主端机器人运动的关节驱动力矩,其包括第一关节驱动力矩(即位置误差信息对应的关节驱动力矩)和第
二关节驱动力矩(即操者的输入力和末端反馈力的差值映射得到的关节驱动力矩),可用如下公式表示:则有
[0113][0114]
其中,是指从端机器人的摩擦补偿关节驱动力矩,是指从端机器人的重力补偿关节驱动力矩,是指从端机器人的第一关节驱动力矩,是指第二关节驱动力矩,是指操者的输入力和末端反馈力的差值,fh是指主端机器人的操作者的输入力,fm是指从端机器人的末端反馈力。
[0115]
进而可得到等效关节驱动力矩的计算公式:
[0116][0117]
步骤303,基于用于控制从端机器人运动的等效关节驱动力矩,控制从端机器人运动。
[0118]
可选地,在从端机器人运动过程中,向主端机器人发送实时的第二关节信息、末端反馈力和关节反馈力。该第二关节信息可以包括关节角度信息、关节角度增量信息和关节角速度信息等。可选地,该第二关节信息可以是指对应的笛卡尔空间下的关节信息。
[0119]
在一个示例中,对从端机器人的力反馈(如末端反馈力、关节反馈力等)进行策略性管控,其具体方法可以如下:获取第一目标时刻下的力反馈修正系数,力反馈修正系数用于修正从端机器人发送给主端机器人的反馈力;基于力反馈修正系数对第二关节信息进行计算处理,得到力修正参数;基于力修正参数对第一目标时刻下的反馈力进行调整处理,确定第二目标时刻下的反馈力;将第二目标时刻下的反馈力发送给主端机器人。
[0120]
示例性地,该过程可以用如下公式表示:
[0121]fm
(k)=fm(k-1)+α(k)vm,vm≠0;
[0122]
则有
[0123]
其中,vm≠0,fm(k)是k时刻的反馈力,fm(k-1)是k-1时刻的反馈力,α(k)和β(k)是k时刻的力反馈修正系数,vm是指从端机器人的第二关节信息(如关节角速度),β
max
是指力反馈修正系数的额定最大值,β
min
是指力反馈修正系数的额定最小值,β
max
和β
min
可由设计者根基实际需求进行适应性设置。
[0124]
综上所述,本技术实施例提供的技术方案,通过基于主端机器人的关节与环境物体的交互力和从端机器人的关节与环境物体的交互力,确定主端机器人的等效关节驱动力矩,基于主端机器人的等效关节驱动力矩控制主端机器人的关节进行避障运动,实现了主端机器人的关节能够躲避障碍物,进而也实现了在确保从端机器人的末端执行器能够执行操作任务的同时,确保从端机器人的关节也能够躲避障碍物,提高了机器人的避障能力。
[0125]
另外,通过在获取从端机器人的末端执行器与环境物体的交互力和从端机器人的关节信息的基础上,确定主端机器人的等效关节驱动力矩,使得主端机器人可感知从端机器人的末端执行器与环境物体的力交互情况和从端机器人的位置跟随情况,提高了主端机器人的感知能力,从而使得操作者可以从端机器人的进行更加准确地控制,提高了机器人控制的准确性。
[0126]
另外,从端机器人在获取主端机器人的操作者的输入力和关节信息的基础上,确定从端机器人的等效驱动力,使得从端机器人可以根据主端机器人的意图感知环境物体,提高了从端机器人的灵活性和自主性。
[0127]
另外,通过对从端机器人反馈给主端机器人的力进行策略性管控,避免了突变的反馈力对主端机器人造成较大的冲击。
[0128]
请参考图4,其示出了本技术一个实施例提供的主端机器人和从端机器人之间的信息交互的流程图。该交互过程可以如下:
[0129]
1、主端机器人402通过力传感器测量得到与操作者401之间的交互力(图4中的fh),并基于该交互力确定操作者的输入力。主端机器人402通过传感器获取与操作者401之间的相对速度(图4中的vh)。
[0130]
2、主端机器人402通过通信环节403向从端机器人404发送操作者的输入力(图4中的fm)和主端机器人402的关节信息(图4中的vm)。其中,主端机器人402的关节信息可以是关节角度、关节角速度、关节角度增量、等等,本技术实施例在此不作限定。可选地,主端机器人402的关节信息可以是以笛卡尔空间的形式发送给从端机器人404。理想状态下,fm的值完全等于fh的值,但在受到主端机器人零力状态的影响下,fm与fh之间存在一定的误差。
[0131]
3、从端机器人404通过通信环节403接收来自主端机器人402的操作者的输入力(图4中的fs)和关节信息(图4中的vs)。其中,理论上,vs的值等于vm的值,fs的值等于fm的值,但考虑到通信环节403存在时延的问题,同一时刻,vs的值和vm的值之间存在差异,fs的值和fm的值之间存在差异。
[0132]
4、从端机器人404通过力传感器测量得到环境物体405对从端机器人404的末端执行器的作用力(图4中的fe),即上述的末端反馈力。从端机器人404通过力传感器测量得到任务空间中障碍物对从端机器人404的关节的作用力,即上述的关节反馈力。从端机器人404通过传感器获取与环境物体405之间的相对速度(图4中的ve)。
[0133]
5、从端机器人404通过通信环节403向主端机器人402发送末端反馈力(图4中的fs)、从端机器人404的关节信息(图4中的vs)和关节反馈力对应的关节驱动力矩(图4中的τs)。其中,从端机器人404的关节信息可以是关节角度、关节角速度、关节角度增量、等等,本技术实施例在此不作限定。可选地,从端机器人404的关节信息可以是以笛卡尔空间的形式发送给主端机器人402。
[0134]
6、主端机器人402通过通信环节403获取来自从端机器人404的末端反馈力(图4中的fm)、从端机器人404的关节信息(图4中的vm)和关节反馈力对应的关节驱动力矩(图4中的τm)。
[0135]
其中,在不考虑通信环节403存在时延的情况下,则有vs=vm、fs=fm、fm=fs、vm=vs。
[0136]
7、在操作者401对主端机器人402进行控制操作的情况下,继续执行上述1中的步
骤。
[0137]
在一个示例性实施例中,参考图5,其示出了本技术一个实施例提供的主端机器人系统的输入输出的示意图。主端机器人系统501的输入包括主端机器人检测得到的操作者输入力或力矩(图5中的x1)、主端机器人的末端六维力真实值或估计值(图5中的x2,即主端机器人对操作者施加的作用力)、主端机器人的关节驱动力矩(图5中的x3,可用于进行关节驱动力矩的跟踪控制)和主端机器人的关节位置或速度信息(图5中的x4,即当前时刻主端机器人的实际关节位置或速度信息),以及来自从端机器人的从端机器人的末端六维真实值或估计值(图5中的x5,即环境物体对从端机器人的末端执行器的作用力,对应上述的末端反馈力)、从端机器人的关节驱动力矩(图5中的x6,即上述的关节反馈力对应的关节驱动力矩)和从端机器人的关节位置或速度信息(图5中的x7,即当前时刻主端机器人接收到的从端机器人的实际关节位置或速度信息)。
[0138]
主端机器人系统501的输出包括主端机器人的实际关节位置或速度信息(图5中y1)和操作者的输入力或力矩映射得到的关节驱动力矩(图5中的y2,在同构型双边遥操作系统中,主端机器人可直接运用)。
[0139]
在一个示例性实施例中,参考图6,其示出了本技术一个实施例提供的从端机器人系统的输入输出的示意图。从端机器人系统601的输入包括从端机器人检测得到的从端机器人的关节驱动力矩(图6中的x3,即上述的关节反馈力对应的关节驱动力矩)、从端机器人的末端六维真实值或估计值(图6中的x4,即环境物体对从端机器人的末端执行器的作用力,对应上述的末端反馈力)和从端机器人的关节位置或速度信息(图6中的x5,即当前时刻从端机器人的实际关节位置或速度信息),以及来自主端机器人的主端机器人的实际关节位置或速度信息(图6中的x1,即当前时刻从端机器人接收到的主端机器人的实际关节位置或速度信息)和操作者的输入力或力矩映射得到的关节驱动力矩(图6中的x2,在同构型双边遥操作系统中,从端机器人可直接运用)。
[0140]
从端机器人系统601的输出包括从端机器人的实际关节位置或速度信息(图6中y1)、从端机器人的末端六维力真实值或估计值(图6中y2)和从端机器人的关节空间外力估计(图6中的y3,对应上述的关节反馈力)。
[0141]
综上所述,本技术实施例提供的技术方案,通过基于主端机器人的关节与环境物体的交互力和从端机器人的关节与环境物体的交互力,确定主端机器人的等效关节驱动力矩,基于主端机器人的等效关节驱动力矩控制主端机器人的关节进行避障运动,实现了主端机器人的关节能够躲避障碍物,进而也实现了在确保从端机器人的末端执行器能够执行操作任务的同时,确保从端机器人的关节也能够躲避障碍物,提高了机器人的避障能力。
[0142]
另外,通过在获取从端机器人的末端执行器与环境物体的交互力和从端机器人的关节信息的基础上,确定主端机器人的等效关节驱动力矩,使得主端机器人可感知从端机器人的末端执行器与环境物体的力交互情况和从端机器人的位置跟随情况,提高了主端机器人的感知能力,从而使得操作者可以从端机器人的进行更加准确地控制,提高了机器人控制的准确性。
[0143]
请参考图7,其示出了本技术一个实施例提供的力反馈的流程图,该过程可以包括笛卡尔空间的力反馈和关节空间的力反馈。其中,笛卡尔空间的力反馈和关节空间的力反馈是同时进行的。
[0144]
参考图7中流程图701,笛卡尔空间的力反馈的过程可以如下:
[0145]
1、响应于检测到操作者对主端机器人的操作,主端机器人获取操作者的输入力,并通过通信环节将操作者的输入力发送给从端机器人;响应于未检测到操作者对主端机器人的操作,主端机器人则保持状态不变。
[0146]
2、从端机器人基于来自主端机器人的操作者的输入力,进行位置跟随运动,并在运动过程中进行交互力检测,即检测末端执行器与环境物体之间的交互力(对应上述的末端反馈力)。
[0147]
3、从端机器人通过通信环节将末端反馈力发送给主端机器人。
[0148]
4、主端机器人基于该末端反馈力,对操作者施加力。
[0149]
5、继续从步骤1开始执行。
[0150]
参考图7中流程图702,关节空间的力反馈的过程可以如下:
[0151]
1、响应于检测到操作者对主端机器人的操作,主端机器人获取操作者的输入力,并通过通信环节将操作者的输入力发送给从端机器人;响应于未检测到操作者对主端机器人的操作,主端机器人则保持状态不变。
[0152]
2、从端机器人基于来自主端机器人的操作者的输入力,进行位置跟随运动,并在运动过程中检测关节与障碍物之间的交互力(对应上述的关节反馈力)。
[0153]
3、从端机器人通过通信环节将关节反馈力发送给主端机器人。
[0154]
4、主端机器人基于该关节反馈力和主端机器人的对应的零空间,确定出零空间下的关节驱动力矩,并基于该零空间下的关节驱动力矩对主端机器人的等效关节驱动力矩进行调整。
[0155]
5、从端机器人基于来自主端机器人调整后的等效关节驱动力矩进行跟随运动,即可实现躲避障碍物。且继续执行步骤3,直到完成障碍物的躲避。
[0156]
同时,本技术将从端机器人和主端机器人之间的关节位置跟随差异控制转换成了等效的关节驱动力矩控制,以实现主端机器人系统和从端机器人系统的力控制,即整个双边遥操作系统的底层控制为关节驱动力矩跟踪控制。
[0157]
示例性地,参考图8,其示出了本技术一个实施例提供的主端机器人控制系统和从端机器人控制系统的示意图。
[0158]
可选地,主端机器人的运动控制过程如下:
[0159]
1、主端机器人控制系统801对操作者的输入力(图8中的)和末端反馈力(图8中的)的差值进行转换处理,得到第一关节驱动力矩。
[0160]
2、主端机器人控制系统801获取主端机器人的摩擦补偿关节驱动力矩(图8中的)和重力补偿关节驱动力矩(图8中的)。
[0161]
3、主端机器人控制系统801对主端机器人的关节交互力和从端机器人的关节反馈力的和进行转换处理,得到第二关节驱动力矩(图8中的)。
[0162]
4、主端机器人控制系统801基于主端机器人的关节位置(图8中的pm)和从端机器人的关节位置(图8中的ps),得到第三关节驱动力矩。
[0163]
5、主端机器人控制系统801对第一关节驱动力矩、第二关节驱动力矩、第三关节驱动力矩、摩擦补偿关节驱动力矩和重力补偿关节驱动力矩进行叠加计算,得到主端机器人
的等效关节驱动力矩。
[0164]
6、主端机器人控制系统801基于主端机器人的等效关节驱动力矩控制主端机器人运动。
[0165]
可选地,可以将主端机器人的等效关节驱动力矩转换成等效的驱动电流,进而通过伺服系统电流控制等效的驱动电流控制主端机器人运动。其中,可进行电流环闭环跟踪控制,以保证关节驱动力矩的精准控制。
[0166]
可选地,从端机器人的运动控制过程如下:
[0167]
1、从端机器人控制系统802对操作者的输入力和末端反馈力的差值(图8中的)进行转换处理,得到第一关节驱动力矩。
[0168]
2、从端机器人控制系统802获取从端机器人的摩擦补偿关节驱动力矩(图8中的)和重力补偿关节驱动力矩(图8中的)。
[0169]
3、从端机器人控制系统802基于主端机器人的关节位置(图8中的pm)和从端机器人的关节位置(图8中的ps),得到第二关节驱动力矩。
[0170]
4、从端机器人控制系统802对第一关节驱动力矩、第二关节驱动力矩、摩擦补偿关节驱动力矩和重力补偿关节驱动力矩进行叠加计算,得到从端机器人的等效关节驱动力矩。
[0171]
5、从端机器人控制系统802基于从端机器人的等效关节驱动力矩控制从端机器人运动。
[0172]
可选地,可以将从端机器人的等效关节驱动力矩转换成等效的驱动电流,进而通过伺服系统电流控制等效的驱动电流控制从端机器人运动。其中,可进行电流环闭环跟踪控制,以保证关节驱动力矩的精准控制。
[0173]
综上所述,本技术实施例提供的技术方案,通过基于主端机器人的关节与环境物体的交互力和从端机器人的关节与环境物体的交互力,确定主端机器人的等效关节驱动力矩,基于主端机器人的等效关节驱动力矩控制主端机器人的关节进行避障运动,实现了主端机器人的关节能够躲避障碍物,进而也实现了在确保从端机器人的末端执行器能够执行操作任务的同时,确保从端机器人的关节也能够躲避障碍物,提高了机器人的避障能力。
[0174]
另外,通过在获取从端机器人的末端执行器与环境物体的交互力和从端机器人的关节信息的基础上,确定主端机器人的等效关节驱动力矩,使得主端机器人可感知从端机器人的末端执行器与环境物体的力交互情况和从端机器人的位置跟随情况,提高了主端机器人的感知能力,从而使得操作者可以从端机器人的进行更加准确地控制,提高了机器人控制的准确性。
[0175]
下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本技术装置实施例中未披露的细节,请参照本技术方法实施例。
[0176]
请参考图9,其示出了本技术一个实施例提供的机器人运动控制装置的框图。该装置具有实现上述机器人运动控制方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上述主端机器人102,也可以设置在主端机器人102中。该装置900可以包括:主端信息获取模块901、主端力矩获取模块902和主端运动控制模块903。
[0177]
主端信息获取模块901,用于获取主端机器人的第一关节信息、关节交互力和操作
者的输入力,以及来自从端机器人的末端反馈力、关节反馈力和第二关节信息,所述第一关节信息用于描述所述主端机器人的关节状态,所述第二关节信息用于描述所述从端机器人的关节状态,所述关节交互力是指环境物体对所述主端机器人的关节的作用力,所述末端反馈力是指环境物体对所述从端机器人的末端执行器的作用力,所述关节反馈力是指环境物体对所述从端机器人的关节的作用力。
[0178]
主端力矩获取模块902,用于基于所述第一关节信息、所述关节交互力、所述操作者的输入力、所述末端反馈力、所述关节反馈力和所述第二关节信息,计算得到用于控制所述主端机器人运动的等效关节驱动力矩。
[0179]
主端运动控制模块903,用于基于所述用于控制所述主端机器人运动的等效关节驱动力矩,控制所述主端机器人运动。
[0180]
在一个示例性实施例中,如图10所示,所述主端力矩获取模块902包括:第一力矩获取子模块902a、第二力矩获取子模块902b、第三力矩获取子模块902c、第四力矩获取子模块902d和主端力矩获取子模块902e。
[0181]
第一力矩获取子模块902a,用于基于所述第一关节信息和所述第二关节信息,得到所述主端机器人的第一关节驱动力矩,所述第一关节驱动力矩是指将所述主端机器人的关节从所述第二关节信息对应的关节位置移动到所述第一关节信息对应的关节位置所需的关节驱动力矩。
[0182]
第二力矩获取子模块902b,用于基于所述关节交互力和所述关节反馈力,得到所述主端机器人的第二关节驱动力矩,所述第二关节驱动力矩是指所述主端机器人和所述从端机器人避开环境物体所需的关节驱动力矩。
[0183]
第三力矩获取子模块902c,用于根据机器人逆向动力学方程对所述操作者的输入力进行转换处理,得到所述主端机器人的第三关节驱动力矩。
[0184]
第四力矩获取子模块902d,用于根据机器人逆向动力学方程对所述末端反馈力进行转换处理,得到所述主端机器人的第四关节驱动力矩。
[0185]
主端力矩获取子模块902e,用于基于所述第一关节驱动力矩、所述第二关节驱动力矩、所述第三关节驱动力矩和所述第四关节驱动力矩,计算得到用于控制所述主端机器人运动的等效关节驱动力矩。
[0186]
在一个示例性实施例中,所述主端力矩获取模块902,还用于:
[0187]
获取所述主端机器人的摩擦补偿关节驱动力矩和重力补偿关节驱动力矩,所述摩擦补偿关节驱动力矩用于补偿所述主端机器人的关节摩擦力,所述重力补偿关节驱动力矩用于补偿所述主端机器人的关节重力;
[0188]
基于所述第一关节驱动力矩、所述第二关节驱动力矩、所述第三关节驱动力矩、所述第四关节驱动力矩、所述摩擦补偿关节驱动力矩和所述重力补偿关节驱动力矩,计算得到用于控制所述主端机器人运动的等效关节驱动力矩。
[0189]
在一个示例性实施例中,所述第一力矩获取子模块902a,用于:
[0190]
基于所述第一关节信息和所述第二关节信息,得到所述主端机器人的位置误差信息,所述主端机器人的位置误差信息用于表示所述第二关节信息对应的关节位置与所述第一关节信息对应的关节位置的差异信息;
[0191]
基于所述主端机器人的位置误差信息,确定所述主端机器人的第一关节驱动力
矩。
[0192]
在一个示例性实施例中,所述第一力矩获取子模块902a,还用于:
[0193]
若所述位置误差信息大于等于第一阈值,则将所述第一关节驱动力矩的上限值作为所述主端机器人的第一关节驱动力矩,所述第一阈值是指所述位置误差信息对应的额定最大值;
[0194]
若所述位置误差信息大于第二阈值且小于所述第一阈值,则基于所述位置误差信息和所述第一关节驱动力矩之间的转换比例系数对所述位置误差信息进行转换处理,得到所述主端机器人的第一关节驱动力矩,所述第二阈值是指所述误差信息对应的额定最小值;
[0195]
若所述位置误差信息小于等于所述第二阈值,则将所述第一关节驱动力矩的下限值作为所述主端机器人的第一关节驱动力矩。
[0196]
在一个示例性实施例中,第二力矩获取子模块902b,用于:
[0197]
分别对所述关节交互力和所述关节反馈力进行转换处理,得到所述关节交互力对应的第一中间关节驱动力矩和所述关节反馈力对应的第二中间关节驱动力矩;
[0198]
基于所述第一中间关节驱动力矩和所述第二关中间节驱动力矩,得到所述主端机器人的第二关节驱动力矩。
[0199]
在一个示例性实施例中,所述用于控制所述主端机器人运动的等效关节驱动力矩的计算公式如下:
[0200][0201]
其中,τm是指所述主端机器人的等效关节驱动力矩,是指所述主端机器人的力雅克比矩阵的转置,是指所述操作者的输入力,i是指单位矩阵,是指所述主端机器人的关节交互力对应的第一中间关节驱动力矩,是指所述从端机器人的关节反馈力对应的第二中间关节驱动力矩,是指所述主端机器人的摩擦补偿关节驱动力矩,是指所述主端机器人的重力补偿关节驱动力矩,是指所述主端机器人的第一关节驱动力矩,是指所述从端机器人的末端反馈力,是指所述第一关节驱动力矩的上限值,指所述第一关节驱动力矩的下限值,δp是指所述主端机器人对应的位置误差信息,pm是指所述第一关节信息对应的关节位置,ps是指所述第二关节信息对应的关节位置,p
max
是指所述位置误差信息对应的额定最大值,p
min
是指所述位置误差信息对应的额定最小值,k
p
是指所述位置误差信息与所述第一关节驱动力矩对应的转换比例系数。
[0202]
综上所述,本技术实施例提供的技术方案,通过基于主端机器人的关节与环境物体的交互力和从端机器人的关节与环境物体的交互力,确定主端机器人的等效关节驱动力矩,基于主端机器人的等效关节驱动力矩控制主端机器人的关节进行避障运动,实现了主端机器人的关节能够躲避障碍物,进而也实现了在确保从端机器人的末端执行器能够执行
操作任务的同时,确保从端机器人的关节也能够躲避障碍物,提高了机器人的避障能力。
[0203]
另外,通过在获取从端机器人的末端执行器与环境物体的交互力和从端机器人的关节信息的基础上,确定主端机器人的等效关节驱动力矩,使得主端机器人可感知从端机器人的末端执行器与环境物体的力交互情况和从端机器人的位置跟随情况,提高了主端机器人的感知能力,从而使得操作者可以从端机器人的进行更加准确地控制,提高了机器人控制的准确性。
[0204]
请参考图11,其示出了本技术另一个实施例提供的机器人运动控制装置的框图。该装置具有实现上述机器人运动控制方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置可以是上述从端机器人103,也可以设置在从端机器人103中。该装置1100可以包括:从端信息获取模块1101、从端力矩获取模块1102和从端运动控制模块1103。
[0205]
从端信息获取模块1101,用于获取从端机器人的第二关节信息和末端反馈力,以及来自主端机器人的第一关节信息和操作者的输入力;所述第一关节信息用于描述所述主端机器人的关节状态,所述第二关节信息用于描述所述从端机器人的关节状态,所述末端反馈力是指环境物体对所述从端机器人的末端执行器的作用力。
[0206]
从端力矩获取模块1102,用于基于所述第二关节信息、所述末端反馈力、所述第一关节信息和所述操作者的输入力,计算得到用于控制所述从端机器人运动的等效关节驱动力矩。
[0207]
从端运动控制模块1103,用于基于所述用于控制所述从端机器人运动的等效关节驱动力矩,控制所述从端机器人运动。
[0208]
在一个示例性实施例中,如图12所示,所述从端力矩获取模块1102包括:第一力矩获取子模块1102a、第二力矩获取子模块1102b和从端力矩获取子模块1102c。
[0209]
第一力矩获取子模块1102a,用于从端基于所述第一关节信息和所述第二关节信息,得到所述从端机器人的第一关节驱动力矩,所述第一关节驱动力矩是指将所述从端机器人的关节从所述第二关节信息对应的关节位置移动到所述第一关节信息对应的关节位置所需的关节驱动力矩。
[0210]
第二力矩获取子模块1102b,用于基于所述末端反馈力和所述操作者的输入力,得到所述从端机器人的第二关节驱动力矩。
[0211]
从端力矩获取子模块1102c,用于基于所述第一关节驱动力矩和所述第二关节驱动力矩,计算得到用于控制所述从端机器人运动的等效关节驱动力矩。
[0212]
在一个示例性实施例中,所述从端力矩获取模块1102,用于:
[0213]
获取所述从端机器人的摩擦补偿关节驱动力矩和重力补偿关节驱动力矩,所述摩擦补偿关节驱动力矩用于补偿所述从端机器人的关节摩擦力,所述重力补偿关节驱动力矩用于补偿所述从端机器人的关节重力;
[0214]
基于所述第一关节驱动力矩、所述第二关节驱动力矩、所述摩擦补偿关节驱动力矩和所述重力补偿关节驱动力矩,计算得到用于控制所述从端机器人运动的等效关节驱动力矩。
[0215]
在一个示例性实施例中,所述第一力矩获取子模块1102a,用于:
[0216]
基于所述第一关节信息和所述第二关节信息,得到所述从端机器人的位置误差信
息,所述从端机器人的位置误差信息用于表示所述第二关节信息对应的关节位置与所述第一关节信息对应的关节位置的差异信息;
[0217]
基于所述从端机器人的位置误差信息,确定所述从端机器人的第一关节驱动力矩。
[0218]
在一个示例性实施例中,所述第二力矩获取子模块1102b,用于:
[0219]
获取所述末端反馈力和所述操作者的输入力的差值;
[0220]
对所述末端反馈力和所述操作者的输入力的差值进行转换处理,得到所述从端机器人的第二关节驱动力矩。
[0221]
在一个示例性实施例中,所述用于控制所述从端机器人运动的等效关节驱动力矩的计算公式如下:
[0222][0223]
其中,τs是指所述从端机器人的等效关节驱动力矩,是指所述从端机器人的力雅克比矩阵的转置,是指所述从端机器人的摩擦补偿关节驱动力矩,是指所述从端机器人的重力补偿关节驱动力矩,是指所述从端机器人的第一关节驱动力矩,fh是指所述主端机器人的操作者的输入力,fm是指所述从端机器人的末端反馈力,δp是指所述从端机器人对应的位置误差信息,pm是指所述第一关节信息对应的关节位置,ps是指所述第二关节信息对应的关节位置,f
pid
是指所述位置误差信息对应的比例积分微分pid控制。
[0224]
在一个示例性实施例中,如图12所示,所述装置1100还包括:修正系数获取模块1104、修正参数获取模块1105、反馈力调整模块1106和反馈力发送模块1107。
[0225]
修正系数获取模块1104,用于获取第一目标时刻下的力反馈修正系数,所述力反馈修正系数用于修正所述从端机器人发送给所述主端机器人的反馈力。
[0226]
修正参数获取模块1105,用于基于所述力反馈修正系数对所述第二关节信息进行计算处理,得到力修正参数。
[0227]
反馈力调整模块1106,用于基于所述力修正参数对所述第一目标时刻下的反馈力进行调整处理,确定第二目标时刻下的反馈力。
[0228]
反馈力发送模块1107,用于将所述第二目标时刻下的反馈力发送给所述主端机器人。
[0229]
综上所述,本技术实施例提供的技术方案,通过基于主端机器人的关节与环境物体的交互力和从端机器人的关节与环境物体的交互力,确定主端机器人的等效关节驱动力矩,基于主端机器人的等效关节驱动力矩控制主端机器人的关节进行避障运动,实现了主端机器人的关节能够躲避障碍物,进而也实现了在确保从端机器人的末端执行器能够执行操作任务的同时,确保从端机器人的关节也能够躲避障碍物,提高了机器人的避障能力。
[0230]
另外,通过在获取从端机器人的末端执行器与环境物体的交互力和从端机器人的关节信息的基础上,确定主端机器人的等效关节驱动力矩,使得主端机器人可感知从端机器人的末端执行器与环境物体的力交互情况和从端机器人的位置跟随情况,提高了主端机器人的感知能力,从而使得操作者可以从端机器人的进行更加准确地控制,提高了机器人
控制的准确性。
[0231]
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0232]
请参考图13,其示出了本技术一个实施例提供的机器人的简化结构框图。该机器人可以是上述主端机器人102、从端机器人103等,本技术实施例对此不作限定。
[0233]
可选地,如图13所示,该机器人包括处理器131和存储器132。处理器131包括但不限于以下任意一种:cpu(central processing unit,中央处理器)、gpu(graphics processing unit,图形处理器)和fpga(field programmable gate array,现场可编程逻辑门阵列)等。存储器132可以包括ram(random-access memory,随机存储器)和rom(read-only memory,只读存储器)等存储设备。处理器131和存储器132之间可以通过系统总线连接。
[0234]
在示例性实施例中,所述存储器132中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器131加载并执行以实现上述机器人运动控制方法。
[0235]
在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或所述指令集在被计算机设备的处理器执行时实现上述机器人运动控制方法。
[0236]
可选地,该计算机可读存储介质可以包括:rom(read-only memory,只读存储器)、ram(random-access memory,随机存储器)、ssd(solid state drives,固态硬盘)或光盘等。其中,随机存取记忆体可以包括reram(resistance random access memory,电阻式随机存取记忆体)和dram(dynamic random access memory,动态随机存取存储器)。
[0237]
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。机器人的处理器从所述计算机可读存储介质中读取所述计算机指令,所述处理器执行所述计算机指令,使得所述机器人执行上述机器人运动控制方法。
[0238]
在示例性实施例中,还提供了一种双边遥操作系统,所述双边遥操作系统包括主端机器人和从端机器人,所述主端机器人用于执行所述主端机器人侧的机器人运动控制方法,所述从端机器人用于执行所述从端机器人侧的机器人运动控制方法。
[0239]
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。另外,本文中描述的步骤编号,仅示例性示出了步骤间的一种可能的执行先后顺序,在一些其它实施例中,上述步骤也可以不按照编号顺序来执行,如两个不同编号的步骤同时执行,或者两个不同编号的步骤按照与图示相反的顺序执行,本技术实施例对此不作限定。
[0240]
以上所述仅为本技术的示例性实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。