CN114083519B - 机器人零空间拖动示教方法及示教装置 - Google Patents
机器人零空间拖动示教方法及示教装置 Download PDFInfo
- Publication number
- CN114083519B CN114083519B CN202111671435.5A CN202111671435A CN114083519B CN 114083519 B CN114083519 B CN 114083519B CN 202111671435 A CN202111671435 A CN 202111671435A CN 114083519 B CN114083519 B CN 114083519B
- Authority
- CN
- China
- Prior art keywords
- zero
- space
- robot
- current
- movement direction
- 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
Links
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/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/1605—Simulation of manipulator lay-out, design, modelling of manipulator
-
- 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/0081—Programme-controlled manipulators with master teach-in means
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本公开提供一种机器人零空间拖动示教方法,其包括:根据所述机器人的末端执行器的位姿获得机器人关于末端执行器的位姿的零空间;获取各连杆当前位置和当前速度,并根据连杆当前位置获取机器人当前的雅克比矩阵,并根据机器人当前的雅克比矩阵获得零空间运动方向;根据机器人所受外力以及所述零空间运动方向获得零空间运动规律;以及根据所述零空间运动规律控制机器人。本公开还提供一种机器人零空间拖动示教装置、电子设备及可读存储介质。
Description
技术领域
本公开涉及一种机器人零空间拖动示教方法及示教装置,属于机器人控制技术领域。
背景技术
当机器人运动自由度数据大于任务维度数据时,该机器人为冗余自由度机器人。针对于冗余自由度机器人,表征机器人运动自由度的广义坐标q(以串联型机器人而言,即各关节角度)与表征机器人任务空间位置(一般为机器人末端工具在笛卡尔空间的位置和姿态)的坐标x之间是多对一(一般为无穷多对一)映射。所有对应于同一x的q构成一个子空间,称为机器人的零空间。
现有技术中,针对七自由度机器人,一般均是在笛卡尔阻抗控制模式下实现机器人示教,需要将工具坐标系各维度的笛卡尔刚度设置到上限,用户接触机器人本体(除末端工具外)的任一部位并施加力,实现机器人的拖动示教。
但是,该技术方案中,机器人工作在力矩闭环模式(机器人控制结构为位置-力矩-电流三环级联,力矩闭环作为位置环的内环)。为满足笛卡尔阻抗的定义,位置闭环无积分项;力矩环带宽受力矩传感器反馈数据质量(主要是信噪比)影响,上限有限(一般在100Hz左右)。因此,在阻抗模式下,机器人末端的位置刚度有限,在此模式下,用户施加外力在机器人本体上进行零空间拖动示教时,较易引起末端工具的位姿偏移。
而且,在该模式下,机器人无法主动控制机器人各轴的加速度/速度,若用户施加外力较大,机器人在零空间中顺应外力运动时,某些关节的运动速度及加速度容易超过该关节的速度限制,造成机器人报警性停止,影响该功能的使用安全及流畅性。
发明内容
为了解决上述技术问题之一,本公开提供了一种机器人零空间拖动示教方法及示教装置。
根据本公开的一个方面,提供了一种机器人零空间拖动示教方法,所述机器人具有零空间,其包括:
根据所述机器人的末端执行器的位姿获得机器人关于末端执行器的位姿的零空间;
获取各连杆当前位置和当前速度,并根据连杆当前位置获取机器人当前的雅克比矩阵,并根据机器人当前的雅克比矩阵获得零空间运动方向;
根据机器人所受外力以及所述零空间运动方向获得零空间运动规律;以及
根据所述零空间运动规律控制机器人。
根据本公开的至少一个实施方式所述的机器人零空间拖动示教方法,针对于选定的零空间运动方向,获得该零空间运动方向与机器人所受外力的内积,当所述内积为预设值时,将零空间运动方向置零;当所述内积小于预设值时,将零空间运动方向取反并更新零空间运动方向;当所述内积大于预设值时,保持当前的零空间运动方向;
或者,当所述内积位于预设范围内时,将零空间运动方向置零;当所述内积位于预设范围外,并大于预设范围的最大值时,保持当前的零空间运动方向;当所述内积位于预设范围外,并小于预设范围的最小值时,将零空间运动方向取反并更新零空间运动方向。
根据本公开的至少一个实施方式所述的机器人零空间拖动示教方法,当所述机器人的关节被控制,以便所述机器人的连杆到达期望位置时,获得关节空间速度从当前速度转移到下一时刻零空间运动方向上所需的最小加速度矢量;当最小加速度矢量在预设范围内时,获得加速度裕量,并根据加速度裕量获得下一时刻零空间速率区间。
根据本公开的至少一个实施方式所述的机器人零空间拖动示教方法,所述零空间运动规律包括零空间速率,当零空间速率位于下一时刻零空间速率区间时,以零空间速率作为下一时刻零空间速率;当零空间速率位于下一时刻零空间速率区间外部时,以接近零空间速率的下一时刻零空间速率区间的端点值作为下一时刻的零空间速率。
根据本公开的至少一个实施方式所述的机器人零空间拖动示教方法,根据机器人下一时刻零空间速率以及零空间运动方向,获得机器人预期到达的连杆的位置以及该连杆的速度,并将该预期到达的连杆的位置以及该连杆的速度作为当前的连杆的位置和当前的连杆的速度来控制机器人动作。
根据本公开的至少一个实施方式所述的机器人零空间拖动示教方法,所述零空间速率通过机器人所受外力在零空间运动方向的投影的绝对值与阻尼系数的比值确定。
根据本公开的至少一个实施方式所述的机器人零空间拖动示教方法,当外力消失或者小于等于预设值时,控制机器人处于静止状态。
根据本公开的另一方面,提供一种机器人零空间拖动示教装置,所述机器人具有零空间,所述机器人零空间拖动示教装置包括:
零空间获取模块,所述零空间获取模块用于根据所述机器人的末端执行器的位姿获得机器人关于末端执行器的位姿的零空间;
运动方向获取模块,所述运动方向获取模块用于获取各连杆当前位置和当前速度,并根据连杆当前位置获取机器人当前的雅克比矩阵,并根据机器人当前的雅克比矩阵获得零空间运动方向;
运动规律获取模块,所述运动规律获取模块用于根据机器人所受外力以及所述零空间运动方向获得零空间运动规律;以及
控制模块,所述控制模块根据所述零空间运动规律控制机器人。
根据本公开的至少一个实施方式所述的机器人零空间拖动示教装置,针对于选定的零空间运动方向,获得该零空间运动方向与机器人所受外力的内积,当所述内积为预设值时,将零空间运动方向置零;当所述内积小于预设值时,将零空间运动方向取反并更新零空间运动方向;当所述内积大于预设值时,保持当前的零空间运动方向;
或者,当所述内积位于预设范围内时,将零空间运动方向置零;当所述内积位于预设范围外,并大于预设范围的最大值时,保持当前的零空间运动方向;当所述内积位于预设范围外,并小于预设范围的最小值时,将零空间运动方向取反并更新零空间运动方向。
根据本公开的至少一个实施方式所述的机器人零空间拖动示教装置,当所述机器人的关节被控制,以便所述机器人的连杆到达期望位置时,获得关节空间速度从当前速度转移到下一时刻零空间运动方向上所需的最小加速度矢量;当最小加速度矢量在预设范围内时,获得加速度裕量,并根据加速度裕量获得下一时刻零空间速率区间。
根据本公开的至少一个实施方式所述的机器人零空间拖动示教装置,所述零空间运动规律包括零空间速率,当零空间速率位于下一时刻零空间速率区间时,以零空间速率作为下一时刻零空间速率;当零空间速率位于下一时刻零空间速率区间外部时,以接近零空间速率的下一时刻零空间速率区间的端点值作为下一时刻的零空间速率。
根据本公开的至少一个实施方式所述的机器人零空间拖动示教装置,根据机器人下一时刻零空间速率以及零空间运动方向,获得机器人预期到达的连杆的位置以及该连杆的速度,并将该预期到达的连杆的位置以及该连杆的速度作为当前的连杆的位置和当前的连杆的速度来控制机器人动作。
根据本公开的至少一个实施方式所述的机器人零空间拖动示教装置,所述零空间速率通过机器人所受外力在零空间运动方向的投影的绝对值与阻尼系数的比值确定。
根据本公开的至少一个实施方式所述的机器人零空间拖动示教装置,当外力消失或者小于等于预设值时,控制机器人处于静止状态。
根据本公开的另一方面,提供一种电子设备,其包括:
存储器,所述存储器存储执行指令;以及
处理器,所述处理器执行所述存储器存储的执行指令,使得所述处理器执行上述的方法。
根据本公开的另一方面,提供一种可读存储介质,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现上述的方法。
附图说明
附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。
图1是根据本公开的一个实施方式的机器人零空间拖动示教方法的流程。
图2是根据本公开的一个实施方式的机器人零空间拖动示教装置的结构示意图。
具体实施方式
下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开的技术方案。
除非另有说明,否则示出的示例性实施方式/实施例将被理解为提供可以在实践中实施本公开的技术构思的一些方式的各种细节的示例性特征。因此,除非另有说明,否则在不脱离本公开的技术构思的情况下,各种实施方式/实施例的特征可以另外地组合、分离、互换和/或重新布置。
在附图中使用交叉影线和/或阴影通常用于使相邻部件之间的边界变得清晰。如此,除非说明,否则交叉影线或阴影的存在与否均不传达或表示对部件的具体材料、材料性质、尺寸、比例、示出的部件之间的共性和/或部件的任何其它特性、属性、性质等的任何偏好或者要求。此外,在附图中,为了清楚和/或描述性的目的,可以夸大部件的尺寸和相对尺寸。当可以不同地实施示例性实施例时,可以以不同于所描述的顺序来执行具体的工艺顺序。例如,可以基本同时执行或者以与所描述的顺序相反的顺序执行两个连续描述的工艺。此外,同样的附图标记表示同样的部件。
当一个部件被称作“在”另一部件“上”或“之上”、“连接到”或“结合到”另一部件时,该部件可以直接在所述另一部件上、直接连接到或直接结合到所述另一部件,或者可以存在中间部件。然而,当部件被称作“直接在”另一部件“上”、“直接连接到”或“直接结合到”另一部件时,不存在中间部件。为此,术语“连接”可以指物理连接、电气连接等,并且具有或不具有中间部件。
为了描述性目的,本公开可使用诸如“在……之下”、“在……下方”、“在……下”、“下”、“在……上方”、“上”、“在……之上”、“较高的”和“侧(例如,如在“侧壁”中)”等的空间相对术语,从而来描述如附图中示出的一个部件与另一(其它)部件的关系。除了附图中描绘的方位之外,空间相对术语还意图包含设备在使用、操作和/或制造中的不同方位。例如,如果附图中的设备被翻转,则被描述为“在”其它部件或特征“下方”或“之下”的部件将随后被定位为“在”所述其它部件或特征“上方”。因此,示例性术语“在……下方”可以包含“上方”和“下方”两种方位。此外,设备可被另外定位(例如,旋转90度或者在其它方位处),如此,相应地解释这里使用的空间相对描述语。
这里使用的术语是为了描述具体实施例的目的,而不意图是限制性的。如这里所使用的,除非上下文另外清楚地指出,否则单数形式“一个(种、者)”和“所述(该)”也意图包括复数形式。此外,当在本说明书中使用术语“包含”和/或“包括”以及它们的变型时,说明存在所陈述的特征、整体、步骤、操作、部件、组件和/或它们的组,但不排除存在或附加一个或更多个其它特征、整体、步骤、操作、部件、组件和/或它们的组。还要注意的是,如这里使用的,术语“基本上”、“大约”和其它类似的术语被用作近似术语而不用作程度术语,如此,它们被用来解释本领域普通技术人员将认识到的测量值、计算值和/或提供的值的固有偏差。
图1是根据本公开的一个实施方式的机器人零空间拖动示教方法的流程图。
如图1所示,本公开的机器人零空间拖动示教方法是一种应用于七轴及以上的工业机器人或者协作机器人的方法,并且该七轴及以上的工业机器人具有零空间。
具体地说,该机器人可以包括工业机械臂或者协作机械臂,所述机械臂包括多个关节和多个连杆,其中,所述关节可以使得连接于该关节的两个连杆之间发生相对转动;当然,所述机械臂也可以包括移动自由度,而且,所述连杆也包括末端执行器。
基于此,本公开的机器人零空间拖动示教方法包括:102、根据所述机器人的末端执行器的位姿获得机器人关于末端执行器的位姿的零空间;104、获取各连杆当前位置和当前速度,并根据连杆当前位置获取机器人当前的雅克比矩阵,并根据机器人当前的雅克比矩阵获得零空间运动方向;106、根据机器人所受外力以及所述零空间运动方向获得零空间运动规律;以及108、根据所述零空间运动规律控制机器人。
以下对本公开的机器人零空间拖动示教方法的各步骤进行详细说明。
在对机器人进行示教时,需要保持机器人处于示教工作状态,否则,无法对机器人进行示教,以下过程仅针对于机器人处于示教状态进行说明。
在102中,针对于七轴及以上的机器人而言,对于末端执行器的某一位姿,机器人的连杆可以处于不同的位置,并由此获得针对于该位姿的零空间。
当然,对于七轴及以上的机器人而言,也存在末端执行器在某一位姿时,机器人的连杆仅能够处于一个位置,此时,可以认为,针对于该末端执行器的特定位姿,机器人不具备零空间,因此,该末端执行器的位姿并不适用于本公开的机器人零空间拖动示教方法。
在104中,需要获取连杆的当前位置和当前速度;其中,所述连杆的当前位置和当前速度可以根据驱动该连杆动作的关节的当前位置和当前速度来获得。
例如,当机器人处于静止状态,并向机器人施加一外力时,可以认为连杆的当前速度为0;当机器人在外力作用下持续动作时,所述连杆的当前速度即上一时刻结束时的连杆的速度。
相应地,还需要设置各连杆允许的速度上限,加速度上限和阻尼系数等参数。
本公开中,可以根据机器人的雅克比矩阵获得零空间的投影矩阵。即,该零空间的投影矩阵ProjCore=I-J#*J
其中,I为单位矩阵;J#为J的广义逆矩阵。
本公开中,提取零空间的投影矩阵的列空间基向量并归一化,作为对应于机器人当前位姿的零空间运动方向;当然,机器人也可能沿零空间运动方向的反方向来动作,具体地方向,通过下述的方式来确定。
其中,机器人处于非奇异位置,J行满秩,ProjCore列空间维度为1,基向量只有1个;奇异位置,J不满秩,ProjCore列空间维度大于1,基向量数量大于1,需全部提取。
在106中,可以通过外力获取模块获取当前机器人所受的外力,或者说获取各关节所受外力矩。
一方面,根据该外力和零空间运动方向的内积,即该外力在零空间运动方向上的投影来确定连杆的运动方向。
例如,当所述内积为预设值时,将零空间运动方向置零;当所述内积小于预设值时,将零空间运动方向取反,并更新零空间运动方向;当所述内积大于预设值时,保持当前的零空间运动方向;其中,所述预设值可以为0。
当然,所述预设值也可以被预设范围所替换,例如,当所述内积位于预设范围内(包括端点值)时,将零空间运动方向置零,即该连杆并不动作;当所述内积位于预设范围外,并大于预设范围的最大值时,保持当前的零空间运动方向;当所述内积位于预设范围外,并小于预设范围的最小值时,将零空间运动方向取反并更新零空间运动方向。优选地,所述预设范围为[-τ_thres_proj,τ_thres_proj],其中,τ_thres_proj可以为机器人运动的最小受力在零空间运动方向上的投影大小。
由此,能够使得零空间的运动方向根据外力的方向而定,根据内积的方向确定零空间运动方向,即零空间速度矢量的方向。
本公开中,可以根据外力大小以及机器人的参数获得零空间速率,零空间速率qd_norm_ref=abs(τproj)/B,其中,τproj即上述内积;abs为绝对值运算算子,B为阻尼系数。
也就是说,本公开中,机器人在示教模式下,可以使用阻尼控制的形式确定零空间速率,即零空间速度矢量的大小,例如,选择维度为1的阻尼控制确定零空间速度矢量的大小。
在获得各连杆的速度大小和方向后,即可以通过该速度大小和方向对机器人进行控制。
但是,为防止机器人在示教过程中,速度和加速度超过限制,造成机器人的报警或者停机等情况,接下来需要对速度和加速度进行限制;具体地,在108中还可以包括下述内容。
当所述机器人的关节被控制,以便所述机器人的连杆到达期望位置时,将连杆的当前速度向下一时刻零空间运动方向上投影,根据连杆的当前速度在下一时刻零空间运动方向上的投影大小以及零空间速率获得关节空间速度从当前速度转移到下一时刻零空间运动方向上所需的最小加速度矢量,即获得连杆的最小加速度矢量qdd_mov_min;若最小加速度矢量在预设范围内时,即未超过各关节允许的最大加速度上限qdd_limit,根据该最小加速度矢量获得加速度裕量,并根据加速度裕量获得下一时刻零空间速率区间。
其中,加速度裕量qdd_mov_left=qdd_limit-qdd_mov_min;相应地,下一时刻零空间速率区间[qd_buffer+qdd_mov_min*T-qd_mov_left_proj,qd_buffer+qdd_mov_min*T+qd_mov_left_proj],其中,qd_buffer为机器人各关节当前速度;T为插补周期;qd_mov_left_proj即可用速度增量裕量qd_mov_left向下一时刻零空间运动方向上的投影;可用速度增量裕量qd_mov_left=qdd_mov_left*T。
相应地,当零空间速率位于零空间速率区间时,以当前的零空间速率作为下一时刻零空间速率;当零空间速率位于零空间速率区间外部时,以接近零空间速率的零空间速率区间的端点值作为下一时刻的零空间速率。
由此,可以控制机器人各连杆以下一时刻零空间速度为目标,在预设时间内,将连杆的速度从当前速度变化为下一时刻零空间速度;并相应地,将连杆的位置从当前位置变化为下一时刻连杆的位置。
本公开中,根据机器人下一时刻零空间速率以及零空间运动方向,获得机器人预期到达的连杆的位置以及该连杆的速度,并将该预期到达的连杆的位置以及该连杆的速度作为当前的连杆的位置和当前的连杆的速度来控制机器人动作,从而更新当前的连杆位置和当前的连杆速度。
例如,下一时刻连杆的位置q_next=q_buffer+qd_next*T;其中,q_buffer为连杆的当前位置;qd_next为下一时刻零空间速率;T为插补周期。
并且在更新当前的连杆位置和当前的连杆速度时,可以令q_buffer=q_next,qd_buffer=qd_next,以用于下一插补周期的计算。
本公开中,在机器人示教过程中,可以重复执行上述过程,直至用户撤去外力并退出零空间拖动示教模式。
本公开中的机器人零空间拖动示教方法在使用时,能使得机器人末端工具的位置刚度得到极大地提高;而且,也能保证零空间拖动示教时的速度/加速度合法性,且零空间拖动示教过程最大的关节速度/加速度可自由调节;保证各关节加速度不会在零空间拖动示教过程中超限。
图2是根据本公开的一个实施方式的机器人零空间拖动示教装置的结构示意图。
根据本公开的另一方面,如图2所示,本公开提供一种机器人零空间拖动示教装置,所述机器人具有零空间,其包括:零空间获取模块210、运动方向获取模块220、运动规律获取模块230和控制模块240。
其中,所述零空间获取模块210用于根据所述机器人的末端执行器的位姿获得机器人关于末端执行器的位姿的零空间;所述运动方向获取模块220用于获取各连杆当前位置和当前速度,并根据连杆当前位置获取机器人当前的雅克比矩阵,并根据机器人当前的雅克比矩阵获得零空间运动方向;所述运动规律获取模块230用于根据机器人所受外力以及所述零空间运动方向获得零空间运动规律;以及所述控制模块240根据所述零空间运动规律控制机器人。
在对机器人进行示教时,需要保持机器人处于示教工作状态,否则,无法对机器人进行示教,以下过程仅针对于机器人处于示教状态进行说明。
针对于七轴及以上的机器人而言,对于末端执行器的某一位姿,机器人的连杆可以处于不同的位置,并由此获得针对于该位姿的零空间。
当然,对于七轴及以上的机器人而言,也存在末端执行器在某一位姿时,机器人的连杆仅能够处于一个位置,此时,可以认为,针对于该末端执行器的特定位姿,机器人不具备零空间,因此,该末端执行器的位姿并不适用于本公开的机器人零空间拖动示教方法。
本公开中,需要获取连杆的当前位置和当前速度;其中,所述连杆的当前位置和当前速度可以根据驱动该连杆动作的关节的当前位置和当前速度来获得。
例如,当机器人处于静止状态,并向机器人施加一外力时,可以认为连杆的当前速度为0;当机器人在外力作用下持续动作时,所述连杆的当前速度即上一时刻结束时的连杆的速度。
相应地,还需要设置各连杆允许的速度上限,加速度上限和阻尼系数等参数。
本公开中,可以根据机器人的雅克比矩阵获得零空间的投影矩阵。即,该零空间的投影矩阵ProjCore=I-J#*J
其中,I为单位矩阵;J#为J的广义逆矩阵。
本公开中,提取零空间的投影矩阵的列空间基向量并归一化,作为对应于机器人当前位姿的零空间运动方向;当然,机器人也可能沿零空间运动方向的反方向来动作,具体地方向,通过下述的方式来确定。
其中,机器人处于非奇异位置,J行满秩,ProjCore列空间维度为1,基向量只有1个;奇异位置,J不满秩,ProjCore列空间维度大于1,基向量数量大于1,需全部提取。
本公开中,可以通过外力获取模块获取当前机器人所受的外力,或者说获取各关节所受外力矩。
一方面,根据该外力和零空间运动方向的内积,即该外力在零空间运动方向上的投影来确定连杆的运动方向。
例如,当所述内积为预设值时,将零空间运动方向置零;当所述内积小于预设值时,将零空间运动方向取反,并更新零空间运动方向;当所述内积大于预设值时,保持当前的零空间运动方向;其中,所述预设值可以为0。
当然,所述预设值也可以被预设范围所替换,例如,当所述内积位于预设范围内(包括端点值)时,将零空间运动方向置零,即该连杆并不动作;当所述内积位于预设范围外,并大于预设范围的最大值时,保持当前的零空间运动方向;当所述内积位于预设范围外,并小于预设范围的最小值时,将零空间运动方向取反并更新零空间运动方向。优选地,所述预设范围为[-τ_thres_proj,τ_thres_proj],其中,τ_thres_proj可以为机器人运动的最小受力在零空间运动方向上的投影大小。
由此,能够使得零空间的运动方向根据外力的方向而定,根据内积的方向确定零空间运动方向,即零空间速度矢量的方向。
本公开中,可以根据外力大小以及机器人的参数获得零空间速率,零空间速率qd_norm_ref=abs(τproj)/B,其中,τproj即上述内积;abs为绝对值运算算子,B为阻尼系数。
也就是说,本公开中,机器人在示教模式下,可以使用阻尼控制的形式确定零空间速率,即零空间速度矢量的大小,例如,选择维度为1的阻尼控制确定零空间速度矢量的大小。
在获得各连杆的速度大小和方向后,即可以通过该速度大小和方向对机器人进行控制。
但是,为防止机器人在示教过程中,速度和加速度超过限制,造成机器人的报警或者停机等情况,接下来需要对速度和加速度进行限制;具体地,本公开还可以包括下述内容。
当所述机器人的关节被控制,以便所述机器人的连杆到达期望位置时,将连杆的当前速度向下一时刻零空间运动方向上投影,根据连杆的当前速度在下一时刻零空间运动方向上的投影大小以及零空间速率获得关节空间速度从当前速度转移到下一时刻零空间运动方向上所需的最小加速度矢量,即获得连杆的最小加速度矢量qdd_mov_min;若最小加速度矢量在预设范围内时,即未超过各关节允许的最大加速度上限qdd_limit,根据该最小加速度矢量获得加速度裕量,并根据加速度裕量获得下一时刻零空间速率区间。
其中,加速度裕量qdd_mov_left=qdd_limit-qdd_mov_min;相应地,下一时刻零空间速率区间[qd_buffer+qdd_mov_min*T-qd_mov_left_proj,qd_buffer+qdd_mov_min*T+qd_mov_left_proj],其中,qd_buffer为机器人各关节当前速度;T为插补周期;qd_mov_left_proj即可用速度增量裕量qd_mov_left向下一时刻零空间运动方向上的投影;可用速度增量裕量qd_mov_left=qdd_mov_left*T。
相应地,当零空间速率位于零空间速率区间时,以当前的零空间速率作为下一时刻零空间速率;当零空间速率位于零空间速率区间外部时,以接近零空间速率的零空间速率区间的端点值作为下一时刻的零空间速率。
由此,可以控制机器人各连杆以下一时刻零空间速度为目标,在预设时间内,将连杆的速度从当前速度变化为下一时刻零空间速度;并相应地,将连杆的位置从当前位置变化为下一时刻连杆的位置。
本公开中,根据机器人下一时刻零空间速率以及零空间运动方向,获得机器人预期到达的连杆的位置以及该连杆的速度,并将该预期到达的连杆的位置以及该连杆的速度作为当前的连杆的位置和当前的连杆的速度来控制机器人动作,从而更新当前的连杆位置和当前的连杆速度。
例如,下一时刻连杆的位置q_next=q_buffer+qd_next*T;其中,q_buffer为连杆的当前位置;qd_next为下一时刻零空间速率;T为插补周期。
并且在更新当前的连杆位置和当前的连杆速度时,可以令q_buffer=q_next,qd_buffer=qd_next,以用于下一插补周期的计算。
本公开中,在机器人示教过程中,可以重复执行上述过程,直至用户撤去外力并退出零空间拖动示教模式。
本公开中的机器人零空间拖动示教方法在使用时,能使得机器人末端工具的位置刚度得到极大地提高;而且,也能保证零空间拖动示教时的速度/加速度合法性,且零空间拖动示教过程最大的关节速度/加速度可自由调节;保证各关节加速度不会在零空间拖动示教过程中超限。
根据本公开的另一方面,提供一种电子设备,其包括:存储器,所述存储器存储执行指令;以及处理器,所述处理器执行所述存储器存储的执行指令,使得所述处理器执行上述的方法。
根据本公开的另一方面,提供一种可读存储介质,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现上述的方法。
在本说明书的描述中,参考术语“一个实施例/方式”、“一些实施例/方式”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例/方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例/方式或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例/方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例/方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例/方式或示例以及不同实施例/方式或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
本领域的技术人员应当理解,上述实施方式仅仅是为了清楚地说明本公开,而并非是对本公开的范围进行限定。对于所属领域的技术人员而言,在上述公开的基础上还可以做出其它变化或变型,并且这些变化或变型仍处于本公开的范围内。
Claims (12)
1.一种机器人零空间拖动示教方法,所述机器人具有零空间,其特征在于,包括:
根据所述机器人的末端执行器的位姿获得机器人关于末端执行器的位姿的零空间;
获取各连杆当前位置和当前速度,并根据连杆当前位置获取机器人当前的雅克比矩阵,根据所述雅克比矩阵获得零空间的投影矩阵,提取所述零空间的投影矩阵的列空间基向量并归一化从而获得零空间运动方向;
根据机器人所受外力以及所述零空间运动方向获得零空间运动规律;所述零空间运动规律包括零空间速率,当零空间速率位于下一时刻零空间速率区间时,以零空间速率作为下一时刻零空间速率;当零空间速率位于下一时刻零空间速率区间外部时,以接近零空间速率的下一时刻零空间速率区间的端点值作为下一时刻的零空间速率;其中,所述零空间速率通过机器人所受外力在零空间运动方向的投影的绝对值与阻尼系数的比值确定;以及
根据所述零空间运动规律以及零空间运动方向控制机器人。
2.如权利要求1所述的机器人零空间拖动示教方法,其特征在于,针对于选定的零空间运动方向,获得该零空间运动方向与机器人所受外力的内积,当所述内积为预设值时,将零空间运动方向置零;当所述内积小于预设值时,将零空间运动方向取反并更新零空间运动方向;当所述内积大于预设值时,保持当前的零空间运动方向;
或者,当所述内积位于预设范围内时,将零空间运动方向置零;当所述内积位于预设范围外,并大于预设范围的最大值时,保持当前的零空间运动方向;当所述内积位于预设范围外,并小于预设范围的最小值时,将零空间运动方向取反并更新零空间运动方向。
3.如权利要求1所述的机器人零空间拖动示教方法,其特征在于,当所述机器人的关节被控制,以便所述机器人的连杆到达期望位置时,获得关节空间速度从当前速度转移到下一时刻零空间运动方向上所需的最小加速度矢量;当最小加速度矢量在预设范围内时,获得加速度裕量,并根据加速度裕量获得下一时刻零空间速率区间。
4.如权利要求1所述的机器人零空间拖动示教方法,其特征在于,根据机器人下一时刻零空间速率以及零空间运动方向,获得机器人预期到达的连杆的位置以及该连杆的速度,并将该预期到达的连杆的位置以及该连杆的速度作为当前的连杆的位置和当前的连杆的速度来控制机器人动作。
5.如权利要求1所述的机器人零空间拖动示教方法,其特征在于,当外力消失或者小于等于预设值时,控制机器人处于静止状态。
6.一种机器人零空间拖动示教装置,所述机器人具有零空间,其特征在于,包括:
零空间获取模块,所述零空间获取模块用于根据所述机器人的末端执行器的位姿获得机器人关于末端执行器的位姿的零空间;
运动方向获取模块,所述运动方向获取模块用于获取各连杆当前位置和当前速度,并根据连杆当前位置获取机器人当前的雅克比矩阵,根据所述雅克比矩阵获得零空间的投影矩阵,提取所述零空间的投影矩阵的列空间基向量并归一化从而获得零空间运动方向;
运动规律获取模块,所述运动规律获取模块用于根据机器人所受外力以及所述零空间运动方向获得零空间运动规律;所述零空间运动规律包括零空间速率,当零空间速率位于下一时刻零空间速率区间时,以零空间速率作为下一时刻零空间速率;当零空间速率位于下一时刻零空间速率区间外部时,以接近零空间速率的下一时刻零空间速率区间的端点值作为下一时刻的零空间速率;其中,所述零空间速率通过机器人所受外力在零空间运动方向的投影的绝对值与阻尼系数的比值确定;以及
控制模块,所述控制模块根据所述零空间运动规律以及零空间运动方向控制机器人。
7.如权利要求6所述的机器人零空间拖动示教装置,其特征在于,针对于选定的零空间运动方向,获得该零空间运动方向与机器人所受外力的内积,当所述内积为预设值时,将零空间运动方向置零;当所述内积小于预设值时,将零空间运动方向取反并更新零空间运动方向;当所述内积大于预设值时,保持当前的零空间运动方向;
或者,当所述内积位于预设范围内时,将零空间运动方向置零;当所述内积位于预设范围外,并大于预设范围的最大值时,保持当前的零空间运动方向;当所述内积位于预设范围外,并小于预设范围的最小值时,将零空间运动方向取反并更新零空间运动方向。
8.如权利要求6所述的机器人零空间拖动示教装置,其特征在于,当所述机器人的关节被控制,以便所述机器人的连杆到达期望位置时,获得关节空间速度从当前速度转移到下一时刻零空间运动方向上所需的最小加速度矢量;当最小加速度矢量在预设范围内时,获得加速度裕量,并根据加速度裕量获得下一时刻零空间速率区间。
9.如权利要求6所述的机器人零空间拖动示教装置,其特征在于,根据机器人下一时刻零空间速率以及零空间运动方向,获得机器人预期到达的连杆的位置以及该连杆的速度,并将该预期到达的连杆的位置以及该连杆的速度作为当前的连杆的位置和当前的连杆的速度来控制机器人动作。
10.如权利要求6所述的机器人零空间拖动示教装置,其特征在于,当外力消失或者小于等于预设值时,控制机器人处于静止状态。
11.一种电子设备,其特征在于,包括:
存储器,所述存储器存储执行指令;以及
处理器,所述处理器执行所述存储器存储的执行指令,使得所述处理器执行如权利要求1至5中任一项所述的方法。
12.一种可读存储介质,其特征在于,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现如权利要求1至5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111671435.5A CN114083519B (zh) | 2021-12-31 | 2021-12-31 | 机器人零空间拖动示教方法及示教装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111671435.5A CN114083519B (zh) | 2021-12-31 | 2021-12-31 | 机器人零空间拖动示教方法及示教装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114083519A CN114083519A (zh) | 2022-02-25 |
CN114083519B true CN114083519B (zh) | 2023-05-09 |
Family
ID=80308367
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111671435.5A Active CN114083519B (zh) | 2021-12-31 | 2021-12-31 | 机器人零空间拖动示教方法及示教装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114083519B (zh) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8004229B2 (en) * | 2005-05-19 | 2011-08-23 | Intuitive Surgical Operations, Inc. | Software center and highly configurable robotic systems for surgery and other uses |
WO2014146095A1 (en) * | 2013-03-15 | 2014-09-18 | Intuitive Surgical Operations, Inc. | System and methods for managing multiple null-space objectives and sli behaviors |
DE102019101072B3 (de) * | 2019-01-16 | 2020-03-12 | Franka Emika Gmbh | Unterstützen eines manuellen Führens eines Robotermanipulators |
CN110919661B (zh) * | 2019-12-26 | 2022-11-22 | 中国科学院沈阳自动化研究所 | 一种手套箱封闭空间内机械臂的运动规划方法 |
CN113119100B (zh) * | 2019-12-30 | 2022-05-13 | 深圳市优必选科技股份有限公司 | 冗余机械臂控制方法、装置、可读存储介质及设备 |
CN111687832B (zh) * | 2020-04-30 | 2023-06-02 | 广西科技大学 | 空间机械手冗余机械臂逆优先级阻抗控制系统及控制方法 |
CN113146610B (zh) * | 2020-12-08 | 2022-04-19 | 安徽工业大学 | 基于零空间避障的机械臂末端轨迹跟踪算法 |
-
2021
- 2021-12-31 CN CN202111671435.5A patent/CN114083519B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN114083519A (zh) | 2022-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5114019B2 (ja) | エフェクタの軌道を制御するための方法 | |
US20200282558A1 (en) | System and method for controlling a robot with torque-controllable actuators | |
Brock et al. | Task-consistent obstacle avoidance and motion behavior for mobile manipulation | |
CN108883533B (zh) | 机器人控制 | |
CN107891424B (zh) | 求解冗余机械臂逆运动学的有限时间神经网络优化方法 | |
CN109968361B (zh) | 一种基于实时力反馈的变阻抗遥操作控制装置及方法 | |
US9908237B2 (en) | Compliant motion control for robot | |
CN108406765B (zh) | 一种开链式多臂机器人阻抗控制方法 | |
TW202021752A (zh) | 機械臂奇異點控制方法及系統 | |
EP3845346A1 (en) | Method, system and computer program product for controlling the teleoperation of a robotic arm | |
Sandoval et al. | Improved dynamic formulation for decoupled cartesian admittance control and RCM constraint | |
JP2015089584A (ja) | ロボットの制御方法及びロボットシステム | |
CN112809666A (zh) | 一种基于神经网络的5-dof机械臂力位跟踪算法 | |
Nemec et al. | Bimanual human robot cooperation with adaptive stiffness control | |
CN114083519B (zh) | 机器人零空间拖动示教方法及示教装置 | |
Sadeghian et al. | Visual servoing with safe interaction using image moments | |
Selvaggio et al. | Towards a self-collision aware teleoperation framework for compound robots | |
CN107414826B (zh) | 一种腱驱动机械手张力约束末端操作控制方法 | |
Jiao et al. | Vision based cable assembly in constrained environment | |
CN115657511A (zh) | 机器人遥控操作系统和方法 | |
CN114274145A (zh) | 一种腹腔镜手术中多机械臂的实时避障方法 | |
CN115533920A (zh) | 一种求解绳驱机械臂逆运动学的协同规划方法及系统、计算机存储介质 | |
KR102225348B1 (ko) | 로봇 자세 정의를 위한 기준점 기반의 좌표계 특정 시스템 및 방법 | |
CN114800527A (zh) | 一种移动作业机械臂末端施力控制方法及系统 | |
CN114641376A (zh) | 冗余机器人机械手中的力测量和力生成 |
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 |