CN112847345B - 一种机器人拖动示教的方式确定方法和装置 - Google Patents

一种机器人拖动示教的方式确定方法和装置 Download PDF

Info

Publication number
CN112847345B
CN112847345B CN202011610843.5A CN202011610843A CN112847345B CN 112847345 B CN112847345 B CN 112847345B CN 202011610843 A CN202011610843 A CN 202011610843A CN 112847345 B CN112847345 B CN 112847345B
Authority
CN
China
Prior art keywords
robot
joint
current
information
force
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.)
Active
Application number
CN202011610843.5A
Other languages
English (en)
Other versions
CN112847345A (zh
Inventor
李明洋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jieka Robot Co ltd
Original Assignee
Shanghai Jaka Robotics Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jaka Robotics Ltd filed Critical Shanghai Jaka Robotics Ltd
Priority to CN202011610843.5A priority Critical patent/CN112847345B/zh
Publication of CN112847345A publication Critical patent/CN112847345A/zh
Application granted granted Critical
Publication of CN112847345B publication Critical patent/CN112847345B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1633Programme controls characterised by the control loop compliant, force, torque control, e.g. combined with position control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

本申请提供一种机器人拖动示教的方式确定方法和装置,该方法包括:获取机器人每一关节的当前力矩信息,以及,获取力传感器采集的机器人底座的当前受力信息;根据当前受力信息、机器人每一关节的力矩信息以及辨识完成的机器人的动力学模型确定机器人受到外力的施力位置;根据外力的施力位置确定施力位置对应的拖动示教方式以实现机器人的拖动示教。

Description

一种机器人拖动示教的方式确定方法和装置
技术领域
本申请涉及机器人技术领域,具体而言,涉及一种机器人拖动示教的方式确定方法和装置。
背景技术
现在市场上大多数拖动示教采用的方案是在机器人的机械臂末端安装一个六维力传感器,操作人员通过拖动机器人的机械臂末端到达示教点,但这样的拖动示教方式使得操作人员必须施加力在机器人的机械臂末端,机器人才可做出响应,并且目前机器人的机械臂末端一般会安装操作工具,对机器人的机械臂末端进行拖动容易影响末端工具精度,因此,现有的这种拖动示教方式存在着只能拖动末端带来的局限性以及拖动末端来带的不便性问题。
发明内容
本申请实施例的目的在于提供一种机器人拖动示教的方式确定方法和装置,用以解决现有的拖动示教只能拖动机器人的机械臂末端存在的局限性以及不便性问题。
第一方面,本发明提供一种机器人拖动示教的方式确定方法,包括:获取机器人每一关节的当前力矩信息,以及,获取力传感器采集的机器人底座的当前受力信息;根据所述当前受力信息、机器人每一关节的力矩信息以及辨识完成的机器人的动力学模型确定机器人受到外力的施力位置;根据所述外力的施力位置确定所述施力位置对应的拖动示教方式以实现所述机器人的拖动示教。
在上述设计的机器人拖动示教的方式确定方法中,通过获取机器人每一关节的当前力矩信息和采集的机器人底座的当前受力信息再结合辨识完成的机器人的动力学模型来确定机器人受到外力的施力位置,进而根据机器人受到外力的施力位置来确定施力位置对应的拖动示教方式实现机器人的拖动示教,实现了机器人的拖动示教的外力不仅仅只能作用在机器人的机械臂末端,可作用在机器人的任意部位,并且本申请方案可根据作用力的不同位置确定不同的拖动示教方式,实现机器人的全臂稳定拖拽示教,解决了现有的拖动示教只能拖动机器人的机械臂末端存在的局限性以及不便性问题,提高了机器人拖动示教的适用性以及便利性。
在第一方面的可选实施方式中,所述根据所述当前受力信息、机器人每一关节的力矩信息以及辨识完成的机器人的动力学模型确定机器人受到外力的施力位置,包括:获取所述机器人的每一关节的当前关节角度、当前角速度以及当前角加速度;根据所述机器人的每一关节的当前关节角度、当前角速度以及当前角加速度和所述动力学模型计算机器人底座当前受力的第一期望数据以及每一关节当前力矩的第二期望数据;根据所述当前受力信息、第一期望数据、每一关节的力矩信息以及每一关节对应的第二期望数据确定机器人受到外力的施力位置。
在第一方面的可选实施方式中,所述根据所述当前受力信息、第一期望数据、每一关节的力矩信息以及每一关节对应的第二期望数据确定机器人受到外力的施力位置,包括:判断所述当前受力信息和第一期望数据之间的受力差值是否在第一预设范围内;若不在第一预设范围内,则确定所述机器人受到外力的施力位置为所述机器人的底座;若在第一预设范围内,则根据受力关节的数量确定所述机器人受到外力的施力位置,所述受力关节表示力矩信息和对应的第二期望数据之间的力矩差值不在对应的第二预设范围内的关节。
在第一方面的可选实施方式中,所述根据受力关节的数量确定所述机器人受到外力的施力位置,包括:
判断每一关节的力矩信息和对应的第二期望数据之间的力矩差值是否在对应的第二预设范围内,以确定属于受力关节的数量;若受力关节的数量等于关节数量,则确定所述机器人受到的外力的施力位置为所述机器人的关节臂顶端;若受力关节的数量大于0并小于关节数量,则确定所述机器人受到外力的施力位置在第一关节和第二关节之间,其中,所述第一关节和第二关节为相邻关节,所述第一关节为受力关节,所述第二关节为力矩信息和对应的第二期望数据之间的力矩差值在对应的第二预设范围内的;若受力关节的数量等于0,则确定所述机器人受到外力的施力位置在底座和所述底座相邻的关节点之间。
在第一方面的可选实施方式中,在所述确定所述机器人受到外力的施力位置在第一关节和第二关节之间之后,所述方法还包括:根据所述当前受力信息和所述动力学模型估算所述外力的施力信息以及对应的外力观测矩阵;根据所述外力的施力信息以及对应的外力观测矩阵计算所述机器人受到的外力的施力点与所述第一关节的距离,以确定所述机器人受到外力的施力位置。
在第一方面的可选实施方式中,所述根据所述外力的施力位置确定所述施力位置对应的拖动示教方式以实现所述机器人的拖动示教,包括:若所述机器人受到外力的施力位置为所述机器人的底座或所述机器人受到的外力的施力位置为所述机器人的关节臂顶端,则采用工作空间拖动示教的方式实现机器人的拖动示教;若所述机器人受到外力的施力位置在第一关节和第二关节之间或所述机器人受到外力的施力位置在底座和所述底座相邻的关节点之间,则采用关节空间拖动示教的方式实现机器人的拖动示教。
在第一方面的可选实施方式中,所述获取机器人每一关节的当前力矩信息,包括:获取机器人的每一关节的位置信息;采集每一位置信息对应的电机的伺服电流信息;根据每一位置信息对应的电机的伺服电流信息和对应电机的转矩常数确定每一关节的当前力矩信息。
第二方面,本发明提供一种机器人拖动示教的方式确定装置,包括:获取模块,用于获取机器人每一关节的当前力矩信息,以及,获取力传感器采集的机器人底座的当前受力信息;确定模块,用于根据所述当前受力信息、机器人每一关节的力矩信息以及辨识完成的机器人的动力学模型确定机器人受到外力的施力位置;所述确定模块,还用于根据所述外力的施力位置确定所述施力位置对应的拖动示教方式以实现所述机器人的拖动示教。
在上述设计的机器人拖动示教的方式确定装置中,通过获取机器人每一关节的当前力矩信息和采集的机器人底座的当前受力信息再结合辨识完成的机器人的动力学模型来确定机器人受到外力的施力位置,进而根据机器人受到外力的施力位置来确定施力位置对应的拖动示教方式实现机器人的拖动示教,实现了机器人的拖动示教的外力不仅仅只能作用在机器人的机械臂末端,可作用在机器人的任意部位,并且本申请方案可根据作用力的不同位置确定不同的拖动示教方式,实现机器人的全臂稳定拖拽示教,解决了现有的拖动示教只能拖动机器人的机械臂末端存在的局限性以及不便性问题,提高了机器人拖动示教的适用性以及便利性。
在第二方面的可选实施方式中,所述确定模块,具体用于获取所述机器人的每一关节的当前关节角度、当前角速度以及当前角加速度;根据所述机器人的每一关节的当前关节角度、当前角速度以及当前角加速度和所述动力学模型计算机器人底座当前受力的第一期望数据以及每一关节当前力矩的第二期望数据;根据所述当前受力信息、第一期望数据、每一关节的力矩信息以及每一关节对应的第二期望数据确定机器人受到外力的施力位置。
在第二方面的可选实施方式中,所述获取模块,具体用于获取机器人的每一关节的位置信息;采集每一位置信息对应电机的当前伺服电流信息;根据每一位置信息对应电机的当前伺服电流信息和对应电机的转矩常数确定每一关节的当前力矩信息。
第三方面,本申请提供一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时执行第一方面、第一方面的任一可选的实现方式中的所述方法。
第四方面,本申请提供一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时执行第一方面、第一方面的任一可选的实现方式中的所述方法。
第五方面,本申请提供一种计算机程序产品,所述计算机程序产品在计算机上运行时,使得计算机执行第一方面、第一方面的任一可选的实现方式中的所述方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的机器人拖动示教的方式确定方法第一流程图;
图2为本申请实施例提供的机器人拖动示教的方式确定方法第二流程图;
图3为本申请实施例提供的机器人拖动示教的方式确定方法第三流程图;
图4为本申请实施例提供的机器人拖动示教的方式确定方法第四流程图;
图5为本申请实施例提供的机器人拖动示教的方式确定方法第五流程图;
图6为本申请实施例提供的机器人拖动示教的方式确定方法第六流程图;
图7为本申请实施例提供的机器人拖动示教的方式确定装置结构图;
图8为本申请实施例提供的电子设备结构示意图。
图标:200-获取模块;201-确定模块;3-电子设备;301-处理器;302-存储器;303-通信总线。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
本申请实施例提供一种机器人拖动示教的方式确定方法,该机器人的底座安装了多维力传感器以用于测量机器人底座的受力信息,其中,该多维力传感器具体可为六维力传感器、三维力传感器等等,在上述基础上,本申请提供的拖动示教方法,该方法可应用于机器人内部的控制器或机器人外部的计算设备等,具体的,如图1所示,可包括如下步骤:
步骤S100:获取机器人每一关节的当前力矩信息。
步骤S101:获取力传感器采集的机器人底座的当前受力信息。
步骤S102:根据当前受力信息、机器人每一关节的力矩信息以及辨识完成的机器人的动力学模型确定机器人受到外力的施力位置。
步骤S103:根据外力的施力位置确定施力位置对应的拖动示教方式以实现机器人的拖动示教。
在步骤S100中,本方案可获取机器人每一关节的当前力矩信息,其中,获取关节的当前力矩信息可通过采集该关节对应的电机的伺服电流来获得。具体的,通过每一关节的伺服电流来得到每一关节当前力矩信息如图2所示,可包括如下步骤:
步骤S200:获取机器人的每一关节的位置信息。
步骤S201:采集每一位置信息对应的电机的伺服电流信息。
步骤S202:根据每一位置信息对应的电机的伺服电流信息和对应电机的转矩常数确定每一关节的当前力矩信息。
在上述步骤中,首先可获取机器人每一关节的位置信息,然后采集每一位置信息对应的电机的当前伺服电流信息,进而每一位置信息对应电机的当前伺服电流信息和该电机的转矩常数来计算得到每一关节的当前力矩信息。
通过如上步骤确定出每一关节的当前力矩信息之后,即可执行步骤S101获取力传感器采集的机器人底座的当前受力信息。
在步骤S101中,前述已经描述到机器人的底座上安装有多维力传感器,多维力传感器可以采集底座的当前受力信息,该当前受力信息包含了当前受力值和当前受力的方向,本方案可通过接收多维力传感器采集的数据进而获取到底座的当前受力信息,进而执行步骤S102;这里需要说明的是,本方案没有限定步骤S100和步骤S101的执行顺序,也就是说在具体实施时可以先执行步骤S100后执行步骤5101或先执行步骤S101后执行步骤S100或步骤S100和步骤S101同时执行。
在步骤S102中,本方案通过步骤S100和步骤S101得到的当前受力信息、机器人每一关节的力矩信息再结合辨识完成的机器人的动力学模型进而确定出机器人受到外力的施力位置,该辨识完成的机器人的动力学模型可提前辨识完成并存储,在执行步骤S102时直接调用即可。
具体的,机器人的动力学模型可通过如下方式进行辨识获得:
本方案对机器人的动力学模型进行辨识的方法可采用现有的辨识方法如整体辨识法,即通过给机器人一个预先设计好的运动轨迹,在机器人运动过程中,采集关节转角、关节转矩等信息,带入到辨识模型中,通过辨识算法估计机器人动力学参数,本申请方案中底座和关节的动力学模型都是相同的,其具体可通过如下公式表示:
Figure BDA0002871837290000091
其中,τ为关节转矩向量或底座力矩;q、
Figure BDA0002871837290000092
以及
Figure BDA0002871837290000093
分别为关节角度、角速度和角加速度向量;
Figure BDA0002871837290000094
为惯性力;
Figure BDA0002871837290000095
为科氏力以及离心力;g(q)为重力;f为摩擦力(当τ为底座力矩时f=0)。
上述公式可以写成关于机器人动力学参数的线性形式,具体为如下公式:
Figure BDA0002871837290000096
其中,θ为动力学参数向量,包含机器人连杆惯性参数、摩擦力等参数,
Figure BDA0002871837290000097
为回归矩阵。
对于上述机器人动力学参数的线性形式的公式,一部分机器人动力学参数对τ并没有影响,还有一部分动力学参数对应Y矩阵的列线性相关,这两部分参数统称为冗余参数,在进行接下来的步骤前需要先进行剔除,获得机器人的最小动力学参数集。
在上述的基础上通过激励轨迹,然后采集激励轨迹的关节角度、关节力矩以及底座力矩数据,进而采用最小二乘法进行参数辨识,进而得到辨识完成的动力学模型。
在上述得到辨识完成的动力学模型的基础上,步骤S102可借助辨识完成的动力学模型来确定机器人所受外力的施力位置,如图3所示,其具体包括如下步骤:
步骤S300:获取机器人的每一关节的当前关节角度、当前角速度以及当前角加速度。
步骤S301:根据机器人的每一关节的当前关节角度、当前角速度以及当前角加速度和动力学模型计算机器人底座当前受力的第一期望数据以及每一关节当前力矩的第二期望数据。
步骤S302:根据当前受力信息、第一期望数据、每一关节的力矩信息以及每一关节对应的第二期望数据确定机器人受到外力的施力位置。
在步骤S300中,本方案可以获取到机器人每一关节的当前关节角度、当前角速度以及当前角加速度,然后执行步骤S301,这里需要说明的是每一关节的当前关节角度、当前角速度以及当前角加速度均为向量。
在步骤S301中,利用前述辨识得到的动力学模型和采集得到的机器人的每一关节的当前关节角度、当前角速度以及当前角加速度进而可以计算出机器人底座当前受力的第一期望数据以及每一关节当前力矩的第二期望数据,其中,第一期望数据表示的是机器人假设在当前没有受到外力时其底座受力的理论值,其包含了底座当前受力的期望受力值和期望受力方向,第二期望数据表示的是机器人在当前没有受到外力时每一关节的力矩的理论值,其包含有对应关节的期望力矩,进而执行步骤S302。
在步骤S302中,本方案会根据底座的当前受力信息、第一期望数据、每一关节的当前力矩信息以及每一关节对应的第二期望数据来确定出机器人受到外力的施力位置,其中,确定机器人受到外力的施力位置如图4所示,可通过如下步骤来具体实现:
步骤S400:判断当前受力信息和第一期望数据之间的受力差值是否在第一预设范围内,若否,则转到步骤S401;若是,则转到步骤S402。
步骤S401:确定机器人受到外力的施力位置为机器人的底座。
步骤S402:根据受力关节的数量确定机器人受到外力的施力位置。
在步骤S400中,利用前述计算出的机器人底座受力的第一期望数据和采集的底座的当前受力信息计算出第一期望数据中的底座当前的期望受力值和当前受力值的差值,进而判断差值是否在第一预设范围内,若不在第一预设范围内,则说明底座受力的理论值和实际采集值相差过大,那么则说明底座受到了外力,进而执行步骤S401确定机器人受到外力的施力位置为机器人的底座;若在第一预设范围内,则说明底座受力的理论值与实际值的差值在误差范围内,进而判断底座没有受到外力,然后执行步骤S402根据受力关节的数量确定机器人受到外力的施力位置;具体的,可基于动力学模型构建底座受力力学模型的观测器,进而进行观测得到。
在步骤S402中,当判断底座没有受到外力时,那么外力应该施力在机器人的关节上,受力关节表示的是当前力矩信息和对应的第二期望数据之间的力矩差值不在对应的第二预设范围内的关节,具体的,基于受力关节的数量确定机器人受到外力的施力位置,如图5所示,具体可通过如下步骤实现:
步骤S500:判断每一关节的当前力矩信息和对应的第二期望数据之间的力矩差值是否在对应的第二预设范围内,以确定属于受力关节的数量;
步骤S501:若受力关节的数量等于关节数量,则确定机器人受到的外力的施力位置为机器人的关节臂顶端。
步骤S502:若受力关节的数量大于0并小于关节数量,则确定机器人受到外力的施力位置在第一关节和第二关节之间。
步骤S503:若受力关节的数量等于0,则确定机器人受到外力的施力位置在底座和底座相邻的关节点之间。
在步骤S500中,本方案会对每一关节执行如下步骤:根据该关节的当前力矩信息和该关节对应的第二期望数据计算出该关节的当前力矩和期望力矩之间的力矩差值,然后判断力矩差值是否在第二预设范围内,若没有在预设范围内,则说明该关节是受力关节,由此可以得出每个关节是属于受力节点还是不属于受力节点,进而可以得出属于受力节点的数量,然后基于不同受力节点的数量执行不同的步骤如步骤S501、步骤S502以及步骤S503。
本方案发现当外力作用在机器人的机械臂上时,作用力施力位置以下的关节的实际力矩会产生较大变化进而与理论力矩会相差较大,作用力施力位置以上的关节的实际力矩基本不变化进而与理论力矩会相差不大,因此,本申请方案在得到受力节点的数量后执行如下步骤:当受力关节的数量等于关节数量时,则说明机器人的所有关节的当前力矩与理论力矩都相差过大即机器人的所有关节的力矩都因为外力发生了变化,那么则确定机器人受到的外力的施力位置为机器人的关节臂顶端;若受力关节的数量等于0,那么则说明所有的关节都没有因为外力使得其力矩发生变化并且外力也没有施力在底座,那么极有可能是施力在底座和与底座相邻的关节之间。
除了上述两种情况以外,还包含如下情况:若受力关节的数量大于0并小于关节数量,那么则说明外力的施力位置在两个相邻关节之间,这两个关节点可分别命名为第一关节和第二关节,第一关节和第二关节具有如下性质,假设第一关节位于第二关节的下方,外力施加在第一关节和第二关节之间时,第一关节的力矩会发生变化进而通过前述步骤判定其是属于受力关节,第二关节的力矩不会发生变化进而通过上述步骤判定其不属于受力关节,也就是说在受力关节的数量大于0并小于关节数量时,外力的施力位置在第一关节和第二关节之间,其中,第一关节和第二关节为相邻关节,第一关节为受力关节,第二关节不为受力关节。
具体的,上述步骤可通过动力学模型构建广义动量干扰观测器实现,该广义动量定义为:
Figure BDA0002871837290000131
对上述求导可得:
Figure BDA0002871837290000132
Figure BDA0002871837290000133
其中,τm是机器人关节驱动力矩,q是关节位置,τext是由机器人所受到的外力引起的关节力矩值变化。
在本实施例的可选实施方式中,在前述确定外力的施力位置在第一关节和第二关节之间后,如图6所示,可通过如下步骤来得到更加精确的外力的施力位置信息,包括:
步骤S600:根据当前受力信息和动力学模型估算外力的施力信息以及对应的外力观测矩阵。
步骤S601:根据外力的施力信息以及对应的外力观测矩阵计算机器人受到的外力的施力点与第一关节的距离,以确定机器人受到外力的施力位置。
在上述步骤中,在前述构建的广义动量干扰观测器基础上,可通过当前受力信息和动力学模型来估算出外力的施力信息以及对应得到外力观测矩阵,具体的,可通过如下公式来计算得到:
Figure BDA0002871837290000141
Figure BDA0002871837290000142
Figure BDA0002871837290000143
Figure BDA0002871837290000144
其中,上述公式中的
Figure BDA0002871837290000145
表示从第一节点o到其连接杆i的I点的距离和方向;Fext,l和Text,l为估算的作用在连杆i上的作用力大小和方向;fm为底座力;tm为底座力矩;Y1∶3表示回归矩阵的第一行到第三行;Y4∶6表示回归矩阵的第四行到第六行;θ为前述所说的动力学参数向量,包含机器人连杆惯性参数、摩擦力等参数;
Figure BDA0002871837290000146
表示外力观测矩阵;(·)H表示求伪逆操作;S(·)定义如下:
Figure BDA0002871837290000147
a=[a1 a2 a3]T
通过如下步骤确定出外力的施加位置之后,即可执行步骤S103根据外力的施力位置确定施力位置对应的拖动示教方式以实现机器人的拖动示教,其中,本方案所说的拖动示教方式可包括有工作空间拖动示教以及关节空间拖动示教。
在前述确定出外力的施力位置后确定其拖动示教的方案具体可为:若机器人受到外力的施力位置为机器人的底座或者机器人受到外力的施力位置在机器人的机械臂顶端,那么则采用工作空间拖动示教的方式实现机器人的拖动示教;若机器人受到外力的施力位置在机器人的第一关节和第二关节之间或所述机器人受到外力的施力位置在底座和所述底座相邻的关节点之间,那么则采用关节空间拖动示教的方式实现机器人的拖动示教。
上述方式只是本申请中一种可选的实施方式,除了上述这种方式以外,本申请可以只在机器人的机械臂顶端受到外力时采用工作空间拖动示教的方式实现机器人的拖动示教;除机械臂顶端以外的位置都采用关节空间拖动示教的方式实现机器人的拖动示教;当然本申请方案还可以在机械臂的每一个位置点都先确定其对应的拖动示教方式,进而在确定外力位置之后直接查找到其对应的拖动示教方式即可。
作为本申请另一种可能的实现方式,除了上述自动确定拖动示教方式以外,在用户自动选择拖动示教方式的情况下,本申请方案还可以在检测出外力的施力位置之后将检测到的施力位置呈现给用户,使其作为用户选择拖动示教的一个依据,用户可以依据检测的施力位置来选择实施的拖动示教方式。
具体的,工作空间拖动示教响应形式采用导纳控制,控制器接收观测器输出(作用外力)作为输入,根据期望的导纳参数,输出机器人位置,此时控制器表现为导纳性质,而机器人表现为阻抗性质,控制率如下所示:
Wext=M(Xa-Xd)″+B(Xa-Xd)′+K(Xa-Xd);
其中,Wext为前述估算的外力/外力矩,M、B以及K为期望的导纳参数,Xd为期望运动轨迹,Xa为实际运动轨迹。
关节空间拖动示教响应有两种形式,一种是零力模式,另一种是导纳模式,导纳模式与前述的工作空间拖动示教基本一致,只是将工作空间力输入改为关节外力矩输入,将工作空间位置输出改为关节空间角度输出,在这里不再赘述。
零力模式下,机器人关节转矩控制率如下所示:
Figure BDA0002871837290000161
其中,
Figure BDA0002871837290000162
Figure BDA0002871837290000163
为辨识得的动力学模型计算的重力矩和摩擦力矩,
Figure BDA0002871837290000164
为估计的关节外力矩,μ为外力放大系数,此时机器人动力学模型变为:
Figure BDA0002871837290000165
即机器人表现为“自由”状态,关节可随外力矩运动。
在上述设计的机器人拖动示教的方式确定方法中,通过获取机器人每一关节的当前力矩信息和采集的机器人底座的当前受力信息再结合辨识完成的机器人的动力学模型来确定机器人受到外力的施力位置,进而根据机器人受到外力的施力位置来确定施力位置对应的拖动示教方式实现机器人的拖动示教,实现了机器人的拖动示教的外力不仅仅只能作用在机器人的机械臂末端,可作用在机器人的任意部位,并且本申请方案可根据作用力的不同位置确定不同的拖动示教方式,实现机器人的全臂稳定拖拽示教,解决了现有的拖动示教只能拖动机器人的机械臂末端存在的局限性以及不便性问题,提高了机器人拖动示教的适用性以及便利性。
图7出示了本申请提供的一种机器人拖动示教的方式确定装置的示意性结构框图,应理解,该装置与上述图1至图6中执行的方法实施例对应,能够执行前述实施方式中执行的方法涉及的步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作***(operating system,OS)中的软件功能模块。具体地,该装置包括:获取模块200,用于获取机器人每一关节的当前力矩信息,以及,获取力传感器采集的机器人底座的当前受力信息;确定模块201,用于根据当前受力信息、机器人每一关节的力矩信息以及辨识完成的机器人的动力学模型确定机器人受到外力的施力位置;确定模块201,还用于根据所述外力的施力位置确定所述施力位置对应的拖动示教方式以实现所述机器人的拖动示教。
在上述设计的机器人拖动示教的方式确定装置中,通过获取机器人每一关节的当前力矩信息和采集的机器人底座的当前受力信息再结合辨识完成的机器人的动力学模型来确定机器人受到外力的施力位置,进而根据机器人受到外力的施力位置来确定施力位置对应的拖动示教方式实现机器人的拖动示教,实现了机器人的拖动示教的外力不仅仅只能作用在机器人的机械臂末端,可作用在机器人的任意部位,并且本申请方案可根据作用力的不同位置确定不同的拖动示教方式,实现机器人的全臂稳定拖拽示教,解决了现有的拖动示教只能拖动机器人的机械臂末端存在的局限性以及不便性问题,提高了机器人拖动示教的适用性以及便利性。
在本实施例的可选实施方式中,确定模块201,具体用于根据当前受力信息和动力学模型计算机器人底座当前受力的期望受力情况;根据机器人每一关节的力矩信息以及动力学模型计算每一关节当前力矩的期望受力情况;根据当前受力信息、当前受力的期望受力情况、每一关节的力矩信息以及每一关节当前力矩的期望受力情况确定机器人受到外力的施力位置。
在本实施例的可选实施方式中,获取模块200,具体用于采集机器人的每一关节中电机的伺服电流信息;根据每一关节中电机的伺服电流信息和对应电机的转矩常数确定每一关节的当前力矩信息。
如图8所示,本申请提供一种电子设备3,包括:处理器301和存储器302,处理器301和存储器302通过通信总线303和/或其他形式的连接机构(未标出)互连并相互通讯,存储器302存储有处理器301可执行的计算机程序,当计算设备运行时,处理器301执行该计算机程序,以执行时执行前述任一实现方式中的方法过程,例如步骤S100至步骤S103:获取机器人每一关节的当前力矩信息;获取力传感器采集的机器人底座的当前受力信息;根据当前受力信息、机器人每一关节的力矩信息以及辨识完成的机器人的动力学模型确定机器人受到外力的施力位置;根据外力的施力位置确定施力位置对应的拖动示教方式以实现机器人的拖动示教。
本申请提供一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行前述任一实现方式中的方法过程。
其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请提供一种计算机程序产品,该计算机程序产品在计算机上运行时,使得计算机执行前述任一实现方式中的方法过程。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (9)

1.一种机器人拖动示教的方式确定方法,其特征在于,包括:
获取机器人每一关节的当前力矩信息,以及,获取力传感器采集的机器人底座的当前受力信息;
根据所述当前受力信息、机器人每一关节的力矩信息以及辨识完成的机器人的动力学模型确定机器人受到外力的施力位置;
根据所述外力的施力位置确定所述施力位置对应的拖动示教方式以实现所述机器人的拖动示教;
其中,所述根据所述当前受力信息、机器人每一关节的力矩信息以及辨识完成的机器人的动力学模型确定机器人受到外力的施力位置,包括:
获取所述机器人的每一关节的当前关节角度、当前角速度以及当前角加速度;
根据所述机器人的每一关节的当前关节角度、当前角速度以及当前角加速度和所述动力学模型计算机器人底座当前受力的第一期望数据以及每一关节当前力矩的第二期望数据;
根据所述当前受力信息、第一期望数据、每一关节的当前力矩信息以及每一关节对应的第二期望数据确定机器人受到外力的施力位置。
2.根据权利要求1所述的方法,其特征在于,所述根据所述当前受力信息、第一期望数据、每一关节的当前力矩信息以及每一关节对应的第二期望数据确定机器人受到外力的施力位置,包括:
判断所述当前受力信息和第一期望数据之间的受力差值是否在第一预设范围内;
若不在第一预设范围内,则确定所述机器人受到外力的施力位置为所述机器人的底座;
若在第一预设范围内,则根据受力关节的数量确定所述机器人受到外力的施力位置,所述受力关节表示当前力矩信息和对应的第二期望数据之间的力矩差值不在对应的第二预设范围内的关节。
3.根据权利要求2所述的方法,其特征在于,所述根据受力关节的数量确定所述机器人受到外力的施力位置,包括:
判断每一关节的当前力矩信息和对应的第二期望数据之间的力矩差值是否在对应的第二预设范围内,以确定属于受力关节的数量;
若受力关节的数量等于关节数量,则确定所述机器人受到的外力的施力位置为所述机器人的关节臂顶端;
若受力关节的数量大于0并小于关节数量,则确定所述机器人受到外力的施力位置在第一关节和第二关节之间,其中,所述第一关节和第二关节为相邻关节,所述第一关节为受力关节,所述第二关节为当前力矩信息和对应的第二期望数据之间的力矩差值在对应的第二预设范围内的;
若受力关节的数量等于0,则确定所述机器人受到外力的施力位置在底座和所述底座相邻的关节点之间。
4.根据权利要求3所述的方法,其特征在于,在所述确定所述机器人受到外力的施力位置在第一关节和第二关节之间之后,所述方法还包括:
根据所述当前受力信息和所述动力学模型估算所述外力的施力信息以及对应的外力观测矩阵;
根据所述外力的施力信息以及对应的外力观测矩阵计算所述机器人受到的外力的施力点与所述第一关节的距离,以确定所述机器人受到外力的施力位置。
5.根据权利要求3所述的方法,其特征在于,所述根据所述外力的施力位置确定所述施力位置对应的拖动示教方式以实现所述机器人的拖动示教,包括:
若所述机器人受到外力的施力位置为所述机器人的底座或所述机器人受到的外力的施力位置为所述机器人的关节臂顶端,则采用工作空间拖动示教的方式实现机器人的拖动示教;
若所述机器人受到外力的施力位置在第一关节和第二关节之间或所述机器人受到外力的施力位置在底座和所述底座相邻的关节点之间,则采用关节空间拖动示教的方式实现机器人的拖动示教。
6.根据权利要求1所述的方法,其特征在于,所述获取机器人每一关节的当前力矩信息,包括:
获取机器人的每一关节的位置信息;
采集每一位置信息对应电机的当前伺服电流信息;
根据每一位置信息对应电机的当前伺服电流信息和对应电机的转矩常数确定每一关节的当前力矩信息。
7.一种机器人拖动示教的方式确定装置,其特征在于,包括:
获取模块,用于获取机器人每一关节的当前力矩信息,以及,获取力传感器采集的机器人底座的当前受力信息;
确定模块,用于根据所述当前受力信息、机器人每一关节的力矩信息以及辨识完成的机器人的动力学模型确定机器人受到外力的施力位置;
所述确定模块,还用于根据所述外力的施力位置确定所述施力位置对应的拖动示教方式以实现所述机器人的拖动示教;
所述确定模块,具体用于获取所述机器人的每一关节的当前关节角度、当前角速度以及当前角加速度;根据所述机器人的每一关节的当前关节角度、当前角速度以及当前角加速度和所述动力学模型计算机器人底座当前受力的第一期望数据以及每一关节当前力矩的第二期望数据;根据所述当前受力信息、第一期望数据、每一关节的当前力矩信息以及每一关节对应的第二期望数据确定机器人受到外力的施力位置。
8.一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法。
9.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法。
CN202011610843.5A 2020-12-30 2020-12-30 一种机器人拖动示教的方式确定方法和装置 Active CN112847345B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011610843.5A CN112847345B (zh) 2020-12-30 2020-12-30 一种机器人拖动示教的方式确定方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011610843.5A CN112847345B (zh) 2020-12-30 2020-12-30 一种机器人拖动示教的方式确定方法和装置

Publications (2)

Publication Number Publication Date
CN112847345A CN112847345A (zh) 2021-05-28
CN112847345B true CN112847345B (zh) 2022-04-15

Family

ID=75998573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011610843.5A Active CN112847345B (zh) 2020-12-30 2020-12-30 一种机器人拖动示教的方式确定方法和装置

Country Status (1)

Country Link
CN (1) CN112847345B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114310851B (zh) * 2022-01-27 2023-06-16 华南理工大学 一种机器人免力矩传感器的拖动示教方法
CN116442240B (zh) * 2023-05-26 2023-11-14 中山大学 一种基于高通滤波解耦的机器人零力控制方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001341092A (ja) * 2000-06-02 2001-12-11 Sharp Corp 多関節ロボットおよび多関節ロボットの位置教示方法
CN103878791A (zh) * 2014-04-12 2014-06-25 福州大学 工业机器人无外部传感器的外力检测方法
CN108582069A (zh) * 2018-04-17 2018-09-28 上海达野智能科技有限公司 机器人拖动示教***和方法、存储介质、操作***
CN109129417A (zh) * 2018-08-13 2019-01-04 深圳市智能机器人研究院 基于压力传感器阵列的协作机器人***及其实现方法
CN109249376A (zh) * 2017-07-12 2019-01-22 发那科株式会社 机器人***以及机器人的示教方法
CN109397265A (zh) * 2018-11-13 2019-03-01 华中科技大学 一种基于动力学模型的关节型工业机器人拖拽示教方法
CN209579586U (zh) * 2018-08-13 2019-11-05 深圳市智能机器人研究院 协作机器人装置
CN110815190A (zh) * 2019-11-20 2020-02-21 福州大学 一种工业机器人拖动示教方法及***
CN111515951A (zh) * 2020-04-29 2020-08-11 江苏集萃华科智能装备科技有限公司 机器人的遥操作***及遥操作控制方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001341092A (ja) * 2000-06-02 2001-12-11 Sharp Corp 多関節ロボットおよび多関節ロボットの位置教示方法
CN103878791A (zh) * 2014-04-12 2014-06-25 福州大学 工业机器人无外部传感器的外力检测方法
CN109249376A (zh) * 2017-07-12 2019-01-22 发那科株式会社 机器人***以及机器人的示教方法
JP2019018257A (ja) * 2017-07-12 2019-02-07 ファナック株式会社 ロボットシステムおよびロボットの教示方法
CN108582069A (zh) * 2018-04-17 2018-09-28 上海达野智能科技有限公司 机器人拖动示教***和方法、存储介质、操作***
CN109129417A (zh) * 2018-08-13 2019-01-04 深圳市智能机器人研究院 基于压力传感器阵列的协作机器人***及其实现方法
CN209579586U (zh) * 2018-08-13 2019-11-05 深圳市智能机器人研究院 协作机器人装置
CN109397265A (zh) * 2018-11-13 2019-03-01 华中科技大学 一种基于动力学模型的关节型工业机器人拖拽示教方法
CN110815190A (zh) * 2019-11-20 2020-02-21 福州大学 一种工业机器人拖动示教方法及***
CN111515951A (zh) * 2020-04-29 2020-08-11 江苏集萃华科智能装备科技有限公司 机器人的遥操作***及遥操作控制方法

Also Published As

Publication number Publication date
CN112847345A (zh) 2021-05-28

Similar Documents

Publication Publication Date Title
CN112847345B (zh) 一种机器人拖动示教的方式确定方法和装置
CN110977985B (zh) 一种定位的方法及装置
JP5063023B2 (ja) 位置姿勢補正装置、位置姿勢補正方法
CN113119100B (zh) 冗余机械臂控制方法、装置、可读存储介质及设备
CN110355751A (zh) 控制装置和机器学习装置
EP3162516A2 (en) Driving mechanism, robot apparatus measurement method, robot apparatus control method and component manufacturing method
CN109141411B (zh) 定位方法、定位装置、移动机器人及存储介质
CN110068326B (zh) 姿态计算方法、装置、电子设备以及存储介质
CN113188505B (zh) 姿态角度的测量方法、装置、车辆及智能臂架
CN113510698B (zh) 一种机械臂控制方法、装置、机械臂和可读存储介质
CN112847312B (zh) 工业机器人及其连杆变形补偿方法、装置
CN111127584A (zh) 建立视觉地图的方法和装置、电子设备和存储介质
WO2018150798A1 (ja) モデル推定システム、方法およびプログラム
CN113126638B (zh) 姿态控制方法、装置、双足机器人及可读存储介质
CN106546261A (zh) 一种基于虚拟现实设备的角度数据补偿方法及装置
CN110609539A (zh) 路径跟踪控制方法、装置和***及存储介质
CN110774269B (zh) 机器人拖动示教方法、装置、电子设备及存储介质
CN114474076A (zh) 机器人碰撞检测方法、装置、检测设备及可读存储介质
CN109866217B (zh) 机器人里程定位方法、装置、终端设备及计算机存储介质
EP3020582B1 (en) Identifying forces in a interface between a body and a suspension of a vehicle
CN115712962A (zh) 一种基于数字孪生的工业机器人状态监测方法及***
CN114147717A (zh) 机器人运动轨迹估计方法、装置、控制器及存储介质
CN115218927A (zh) 基于二次卡尔曼滤波的无人机imu传感器故障检测方法
US20170004237A1 (en) Simulation method and simulation apparatus
WO2017026045A1 (ja) ハンド力覚計測装置、ハンド力覚計測方法、及びハンド力覚計測プログラム

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
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Building 6, 646 Jianchuan Road, Minhang District, Shanghai 201100

Patentee after: Jieka Robot Co.,Ltd.

Address before: Building 6, 646 Jianchuan Road, Minhang District, Shanghai 201100

Patentee before: SHANGHAI JAKA ROBOTICS Ltd.