[go: up one dir, main page]

CN105082135A - Speed control method for inching operation of robot - Google Patents

Speed control method for inching operation of robot Download PDF

Info

Publication number
CN105082135A
CN105082135A CN201510579765.XA CN201510579765A CN105082135A CN 105082135 A CN105082135 A CN 105082135A CN 201510579765 A CN201510579765 A CN 201510579765A CN 105082135 A CN105082135 A CN 105082135A
Authority
CN
China
Prior art keywords
acceleration
timeslice
interpolation
theta
centerdot
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
Application number
CN201510579765.XA
Other languages
Chinese (zh)
Other versions
CN105082135B (en
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.)
Southeast University
Original Assignee
Southeast University
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 Southeast University filed Critical Southeast University
Priority to CN201510579765.XA priority Critical patent/CN105082135B/en
Publication of CN105082135A publication Critical patent/CN105082135A/en
Application granted granted Critical
Publication of CN105082135B publication Critical patent/CN105082135B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1656Programme controls characterised by programming, planning systems for manipulators

Landscapes

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

Abstract

本发明公开了一种机器人点动操作的速度控制方法,该方法将点动操作的速度控制过程划分为两个阶段:加速&匀速段和停止段。其中,加速&匀速段包括周期变加速段、加速-匀速过渡段以及匀速段三个子阶段,加速-匀速过渡段和匀速段是可缺省的;每个子阶段以固定长度的时间片为单位,对轨迹的插补增量进行规划。本发明能够实现微小距离点动,并有效避免手动示教过程中点动操作引起的过大机械冲击,以及高速点动无法及时平滑停止等问题;可应用于机器人各坐标系空间下手动示教点动操作的速度控制。

The invention discloses a speed control method of a robot jog operation. The method divides the speed control process of the jog operation into two stages: an acceleration & constant speed section and a stop section. Among them, the acceleration & constant speed section includes three sub-stages: periodic variable acceleration section, acceleration-constant velocity transition section, and constant velocity section. The interpolation increments for the trajectory are planned. The present invention can realize micro-distance jogging, and effectively avoid excessive mechanical impact caused by jogging operation in the manual teaching process, and problems such as high-speed jogging cannot be stopped smoothly in time; it can be applied to manual teaching in each coordinate system space of the robot Speed control for jog operations.

Description

一种机器人点动操作的速度控制方法A speed control method for robot jog operation

技术领域technical field

本发明涉及机器人示教模式下点动操作的一种速度控制方法,属于工业机器人技术。The invention relates to a speed control method for inching operation in a robot teaching mode, which belongs to the technology of industrial robots.

背景技术Background technique

手动示教模式下点动(JOG)操作是机器人示教人员在各类关节坐标系空间或笛卡尔坐标系、工具坐标系和用户坐标系等空间下驱动机器人运动到达示教点的操作。点动运行时,控制器需要配合示教过程的按键状态,实时和同步地进行插补计算和执行。传统控制器采用一种直观的解决方案:控制器在每个实时控制周期计算下一个插补点位置,并在同一周期内完成执行任务。然而,这种方案存在以下缺点:①点动速度并不平滑,会产生机械冲击;②开始运动加速度一般很大,无法实现微小位移点动;③只考虑到单个周期内的运动范围,若当前运动速度很大时,可能因无法及时停止而超出运动限位。Jog (JOG) operation in manual teaching mode is the operation in which the robot teaching personnel drives the robot to reach the teaching point in the space of various joint coordinate systems or Cartesian coordinate system, tool coordinate system and user coordinate system. During jogging operation, the controller needs to cooperate with the button status of the teaching process to perform interpolation calculation and execution in real time and synchronously. The traditional controller adopts an intuitive solution: the controller calculates the next interpolation point position every real-time control cycle, and completes the execution task in the same cycle. However, this solution has the following disadvantages: ①The jogging speed is not smooth, which will cause mechanical shock; When the movement speed is very high, it may exceed the movement limit because it cannot be stopped in time.

发明内容Contents of the invention

发明目的:为了克服现有技术中存在的不足,本发明针对伺服电机处于位置控制模式的情况,提供一种机器人手动示教模式下点动操作的速度控制方法,为实现机器人关节坐标系空间下的单轴平滑点动操作提供一种轨迹规划步骤和程序实现方法,同时为实现笛卡尔坐标系、工具坐标系和用户坐标系等空间下的移动点动和转动点动操作提供一种轨迹规划步骤和程序实现方法。本发明方法能使点动过程速度平滑,能有效降低对机械结构的冲击、磨损以及减少运动能耗,实现微小距离点动,并解决高速点动无法及时平滑停止的问题。Purpose of the invention: In order to overcome the deficiencies in the prior art, the present invention aims at the situation that the servo motor is in the position control mode, and provides a speed control method for the jog operation in the manual teaching mode of the robot, in order to realize the joint coordinate system space of the robot. The single-axis smooth jog operation provides a trajectory planning step and program implementation method, and at the same time provides a trajectory planning method for moving and rotating jog operations in Cartesian coordinate system, tool coordinate system and user coordinate system. Steps and procedures to realize the method. The method of the invention can smooth the speed of the jogging process, effectively reduce the impact and wear on the mechanical structure and reduce the energy consumption of the movement, realize jogging at a small distance, and solve the problem that the jogging at high speed cannot be stopped smoothly in time.

技术方案:为实现上述目的,本发明采用的技术方案为:Technical scheme: in order to achieve the above object, the technical scheme adopted in the present invention is:

一种机器人点动操作的速度控制方法,将点动操作的速度控制过程划分为加速&匀速段和停止段,其中加速&匀速段包括周期变加速段、加速-匀速过渡段和匀速段三个子阶段,加速-匀速过渡段和匀速段为两个可或缺的子阶段,每个子阶段以固定长度的时间片为单位进行轨迹插补规划,且各个时间片内插补增量变化的加速度连续,且每个时间片的起始增量加速度和终止增量加速度均为零;每个时间片由连续的若干个控制周期组成,每个时间片完成后,根据判断条件确定下一时刻采用加速&匀速段插补序列还是停止段插补序列,其中判断条件包括:①当前控制过程处于哪个子阶段,②点动操作是否结束,③机器人运动是否在可达范围内,④机器人是否产生碰撞。A speed control method for robot jog operation, which divides the speed control process of jog operation into an acceleration & constant speed segment and a stop segment, wherein the acceleration & constant speed segment includes three sub-sections: a periodical variable acceleration segment, an acceleration-constant speed transition segment and a constant speed segment stage, the acceleration-constant-speed transition section and the constant-speed section are two indispensable sub-stages, and each sub-stage uses a fixed-length time slice as a unit for trajectory interpolation planning, and the acceleration of interpolation incremental changes in each time slice is continuous , and the initial incremental acceleration and the final incremental acceleration of each time slice are both zero; each time slice is composed of a number of consecutive control cycles, after each time slice is completed, it is determined to use acceleration at the next moment according to the judgment conditions &The interpolation sequence in the constant speed segment or the interpolation sequence in the stop segment, where the judgment conditions include: ①Which sub-stage is the current control process in?

周期变加速段、加速-匀速过渡段和匀速段的状态跳转关系如图1所示:当点动操作时间较长时,点动操作包含上述三个子阶段和停止段;当点动操作时间较短时,加速-匀速过渡段和匀速段可能或缺。各阶段插补增量的动态指标如图2所示,点动的插补序列点由初始位置域插补增量相加确定。该方法的具体包括如下部分:The state jump relationship of period variable acceleration section, acceleration-constant speed transition section and constant speed section is shown in Figure 1: when the jog operation time is long, the jog operation includes the above three sub-stages and the stop section; when the jog operation time When it is short, the acceleration-constant velocity transition section and the constant velocity section may be missing. The dynamic index of interpolation increment at each stage is shown in Fig. 2, and the interpolation sequence point of jogging is determined by adding the interpolation increment in the initial position domain. The method specifically includes the following parts:

Part1:记录初始位置或位姿信息Part1: Record initial position or pose information

控制器在接收到点动请求命令后,记录初始位置或位姿信息。若是在关节空间下执行单轴点动操作,点动的初始位置为点动轴的初始角度;若是在笛卡尔坐标系、工具坐标系和用户坐标系等空间下执行单轴点动操作,点动的初始位姿为机器人工具末端点(ToolCenterPoint,TCP)在参考坐标系下位姿变换矩阵。After the controller receives the jog request command, it records the initial position or pose information. If the single-axis jog operation is performed in the joint space, the initial position of the jog is the initial angle of the jog axis; if the single-axis jog operation is performed in the Cartesian coordinate system, tool coordinate system and user coordinate system, the point The initial pose of the movement is the pose transformation matrix of the end point of the robot tool (ToolCenterPoint, TCP) in the reference coordinate system.

Part2:参数的定义Part2: Definition of parameters

以i=1,2,…,X表示加速&匀速段的所有时间片,时间片的时间长度为T20:第i个时间片的起始增量为θi0,对应的起始增量速度和加速度分别为和θ;第i个时间片的中点增量为θih,对应的中点增量速度和加速度分别为同时为第i个时间片的加速度峰值;第i个时间片的终止增量为θif,对应的终止增量速度和加速度分别为匀速段的给定速度为;插补时间为t;初始时i=1;Let i=1,2,...,X represent all the time slices of the acceleration & constant speed segment, the time length of the time slice is T 20 : the initial increment of the i-th time slice is θ i0 , and the corresponding initial incremental speed and acceleration are and θ ; The midpoint increment of the i-th time slice is θ ih , and the corresponding midpoint incremental velocity and acceleration are respectively and , At the same time, it is the acceleration peak value of the i-th time slice; the termination increment of the i-th time slice is θ if , and the corresponding termination increment velocity and acceleration are respectively and The given speed in the constant speed section is ;The interpolation time is t; Initially i=1;

停止段的起始增量为θ00,对应的起始增量速度和加速度分别为停止段的终止增量为θ0f,对应的终止增量速度和加速度分别为 The initial increment of the stop segment is θ 00 , and the corresponding initial incremental velocity and acceleration are respectively and The terminal increment of the stop segment is θ 0f , and the corresponding terminal incremental velocity and acceleration are respectively and

Part3:插补规则设计Part3: Design of imputation rules

在执行第i个时间片的插补序列时,同时计算第(i+1)个时间片的插补序列,目的是为了能够在第i个时间片插补完成时能立即执行第(i+1)个时间片的插补序列,保证运动的连贯性;所述第(i+1)个时间片的插补序列分为两类:①加速&匀速段的插补序列Normal和停止段的插补序列Ending;When the interpolation sequence of the i-th time slice is executed, the interpolation sequence of the (i+1)-th time slice is calculated at the same time, the purpose is to be able to execute the (i+ 1) The interpolation sequence of the first time slice ensures the continuity of the motion; the interpolation sequence of the (i+1)th time slice is divided into two categories: ① the interpolation sequence Normal of the acceleration & constant speed segment and the stop segment Interpolation sequence Ending;

所述插补序列Normal分为三种情况:①若第(i+1)个时间片的加速度峰值没有达到最大加速度amax,第(i+1)个时间片的速度也没有达到速度峰值则第(i+1)个时间片为周期变加速段,采用周期变加速段插补方法计算第(i+1)个时间片的插补序列;②若第(i+1)个时间片的加速度峰值达到最大加速度amax,但是第(i+1)个时间片的速度没有达到速度峰值则第(i+1)个时间片为加速-匀速过渡段,采用加速-匀速过渡段插补方法计算第(i+1)个时间片的插补序列;③若第(i+1)个时间片的速度达到速度峰值则第(i+1)个时间片为匀速段,采用匀速段插补方法计算第(i+1)个时间片的插补序列;The interpolation sequence Normal is divided into three situations: ① If the acceleration peak value of the (i+1)th time slice The maximum acceleration a max has not been reached, and the speed of the (i+1)th time slice has not reached the peak speed Then the (i+1)th time slice is the periodic variable acceleration segment, and the interpolation sequence of the (i+1)th time slice is calculated by using the periodic variable acceleration segment interpolation method; ②If the (i+1)th time slice peak acceleration The maximum acceleration a max is reached, but the speed of the (i+1)th time slice does not reach the peak speed Then the (i+1)th time slice is the acceleration-constant speed transition section, and the interpolation sequence of the (i+1)th time slice is calculated by using the acceleration-constant speed transition section interpolation method; ③ if the (i+1)th time slice The speed of the time slice reaches the speed peak Then the (i+1)th time slice is a constant speed segment, and the interpolation sequence of the (i+1)th time slice is calculated using the constant speed segment interpolation method;

由于不知道点动操作何时停止,因此在执行每一个时间片的插补序列的同时都需要计算插补序列Ending,插补序列Ending的起点为第i个插补序列Normal的延续。Since it is not known when the jog operation will stop, it is necessary to calculate the interpolation sequence Ending while executing the interpolation sequence of each time slice. The starting point of the interpolation sequence Ending is the continuation of the i-th interpolation sequence Normal.

Part4:周期变加速段的时间片的插补序列的计算和执行Part4: Calculation and execution of the interpolation sequence of the time slice of the period variable acceleration segment

控制程序开启插补序列的计算过程,首先计算周期变加速段的第i个时间片的插补序列,周期变加速段的插补增量曲线函数确定方法如下:The control program starts the calculation process of the interpolation sequence, and first calculates the interpolation sequence of the i-th time slice of the period variable acceleration segment, and the method for determining the interpolation increment curve function of the cycle variable acceleration segment is as follows:

周期变加速段可以包括若干个时间片;在周期变加速段内,相邻两个时间片的加速度峰值依次递增固定值△a,即要求第(i+1)个时间片规划后所得的加速度峰值不超过最大加速度amaxPeriodic variable acceleration period can include several time slices; in the periodical variable acceleration period, the acceleration peak values of two adjacent time slices are incremented by a fixed value △a, namely The acceleration peak value obtained after planning the (i+1)th time slice is required The maximum acceleration a max is not exceeded.

由于周期变加速段的每个时间片的θi0可以看作是确定量,T20为固定值,因此可以考虑使用四阶多项式对周期变加速段内的第i个时间片的插补量θi(t)进行插值,即:Due to the θ i0 of each time slice of the periodical variable acceleration segment, and It can be regarded as a definite quantity, and T 20 is a fixed value, so it can be considered to use a fourth-order polynomial to interpolate the interpolation quantity θ i (t) of the i-th time slice in the periodic variable acceleration segment, namely:

θi(t)=ωi0i1t+ωi2t2i3t3i4t4 θ i (t) = ω i0 + ω i1 t + ω i2 t 2 + ω i3 t 3 + ω i4 t 4

其中ωi0、ωi1、ωi2、ωi3和ωi4为多项式系数,其约束条件为:Among them, ω i0 , ω i1 , ω i2 , ω i3 and ω i4 are polynomial coefficients, and their constraints are:

θθ ii 00 == ωω ii 00 θθ ·· ii 00 == ωω ii 11 θθ ···· ii 00 == 22 ωω ii 22 θθ ···· ii hh == 22 ωω ii 22 ++ 66 ωω ii 33 (( TT 2020 22 )) ++ 1212 ωω ii 44 (( TT 2020 22 )) 22 θθ ···· ii ff == 22 ωω ii 22 ++ 66 ωω ii 33 TT 2020 ++ 1212 ωω ii 44 TT 2020 22

求解得到对周期变加速段内的第i个时间片的插补量θi(t)进行插值的函数为:The function to interpolate the interpolation amount θ i (t) of the i-th time slice in the periodic variable acceleration segment obtained by solving is:

θθ ii (( tt )) == θθ ii 00 ++ θθ ·· ii 00 tt ++ 22 θθ ···· ii hh 33 TT 2020 tt 33 -- θθ ···· ii hh 33 TT 2020 22 tt 44

Part5:加速-匀速过渡段时间片的插补序列的计算和执行Part5: Calculation and execution of the interpolation sequence of the acceleration-constant transition period time slice

由于加速-匀速过渡段的时间片的θi0可以看作是确定量,因此同样可以考虑使用四阶多项式对加速-匀速过渡段的第i个时间片的插补量θi(t)进行插值,即:Due to the time slice θ i0 of the acceleration-constant velocity transition period, and It can be regarded as a definite quantity, so it can also be considered to use a fourth-order polynomial to interpolate the interpolation quantity θ i (t) of the i-th time slice of the acceleration-constant speed transition section, namely:

θi(t)=ωi0i1t+ωi2t2i3t3i4t4 θ i (t) = ω i0 + ω i1 t + ω i2 t 2 + ω i3 t 3 + ω i4 t 4

其中ωi0、ωi1、ωi2、ωi3和ωi4为多项式系数,其约束条件为:Among them, ω i0 , ω i1 , ω i2 , ω i3 and ω i4 are polynomial coefficients, and their constraints are:

θθ ii 00 == ωω ii 00 θθ ·· ii 00 == ωω ii 11 θθ ···· ii 00 == 22 ωω ii 22 θθ ···· ii ff == ωω ii 00 ++ 22 ωω ii 11 TT 2020 ++ 33 ωω ii 22 TT 2020 22 ++ 44 ωω ii 33 TT 2020 33 θθ ···· ii ff == 22 ωω ii 22 ++ 66 ωω ii 33 TT 2020 ++ 1212 ωω ii 44 TT 2020 22

求解得到对加速-匀速过渡段的第i个时间片的插补量θi(t)进行插值的函数为:The function to interpolate the interpolation amount θ i (t) of the ith time slice of the acceleration-constant speed transition section obtained by solving is:

θθ ii (( tt )) == θθ ii 00 ++ θθ ·· ii 00 tt ++ θθ ·· ii ff -- θθ ·· ii 00 TT 2020 22 tt 33 -- θθ ·· ii ff -- θθ ·· ii 00 22 TT 2020 33 tt 44

Part6:匀速段时间片的插补序列的计算和执行Part6: Calculation and execution of the interpolation sequence of time slices at a constant speed

由于匀速段的时间片的θi0可以看作是确定量,因此同样可以考虑使用一次线性多项式对匀速段内的第i个时间片的插补量θi(t)进行插值,即:Since the θ i0 of the time slice of the constant velocity segment and It can be regarded as a definite quantity, so it can also be considered to use a linear polynomial to interpolate the interpolation quantity θ i (t) of the i-th time slice in the constant speed segment, namely:

θi(t)=ωi0i1tθ i (t) = ω i0 + ω i1 t

其中ωi0和ωi1为多项式系数,其约束条件为:Among them, ω i0 and ω i1 are polynomial coefficients, and their constraints are:

θθ ii 00 == ωω ii 00 θθ ·&Center Dot; ii 00 == ωω ii 11

求解得到对匀速段内的第i个时间片的插补量θi(t)进行插值的函数为:The function of interpolating the interpolation amount θ i (t) of the i-th time slice in the constant velocity segment obtained by solving is:

θθ ii (( tt )) == θθ ii 00 ++ θθ ·· ii 00 tt

Part7:停止段的插补序列的计算和执行Part7: Calculation and execution of the imputation sequence of the stop segment

若点动操作结束,则注销计算进程;若开启了执行线程,等待停止段序列执行完毕后,注销执行线程,等待下一次点动请求。If the jog operation ends, log off the calculation process; if the execution thread is enabled, wait for the execution of the stop sequence to complete, log off the execution thread, and wait for the next jog request.

一旦发现点动操作结束、超出机器人可达范围或发生碰撞,则直接跳转到停止段;在停止段,点动操作以运行时间最短而且平滑的方式将速度降为0,在停止段不再使用时间片进行分割,而使用运行允许的最大减速度-aDecel,max(-aDecel,max为正值)作为减速度峰值进行规划。Once it is found that the jog operation is over, beyond the reach of the robot, or a collision occurs, it will directly jump to the stop section; in the stop section, the jog operation will reduce the speed to 0 in the shortest and smoothest way, and no longer in the stop section. Use time slices for division, and use the maximum deceleration allowed by the operation -a Decel,max (-a Decel,max is a positive value) as the peak deceleration for planning.

由于停止段的θ00 θ · 00 , θ ·· 00 ( = 0 ) , θ ·· 0 h ( = - a D e c e l , m a x ) , θ · 0 f ( = 0 ) 可以看做是确定量,但是运行时间△t是一个未知变量,同样可以考虑使用四阶多项式对停止段的插补量θ0(t)进行插值,即:Due to the θ 00 of the stop section, θ · 00 , θ ·· 00 ( = 0 ) , θ ·· 0 h ( = - a D. e c e l , m a x ) , θ &Center Dot; 0 f ( = 0 ) and It can be regarded as a definite quantity, but the running time △t is an unknown variable. It can also be considered to use a fourth-order polynomial to interpolate the interpolation quantity θ 0 (t) of the stop segment, namely:

θ0(t)=ω0001t+ω02t203t304t4 θ 0 (t)=ω 0001 t+ω 02 t 203 t 304 t 4

其中ω00、ω01、ω02、ω03和ω04为多项式系数,其约束条件为:Among them, ω 00 , ω 01 , ω 02 , ω 03 and ω 04 are polynomial coefficients, and their constraints are:

θθ 0000 == ωω 0000 θθ ·· 0000 == ωω 0101 θθ ···· 0000 == 22 ωω 0202 θθ ···· 00 hh == 22 ωω 0202 ++ 66 ωω 0303 (( ΔΔ tt 22 )) ++ 1212 ωω 0404 (( ΔΔ tt 22 )) 22 θθ ·&Center Dot; 00 ff == ωω 0000 ++ 22 ωω 0101 ΔΔ tt ++ 33 ωω 0202 ΔtΔt 22 ++ 44 ωω 0303 ΔtΔt 33 θθ ···· ff == 22 ωω 22 ++ 66 ωω 33 ΔΔ tt ++ 1212 ωω 44 ΔtΔt 22

求解得到对停止段的插补量θ0(t)进行插值的函数为:The interpolation function obtained by solving the interpolation amount θ 0 (t) of the stop segment is:

θθ 00 (( tt )) == θθ 0000 ++ θθ ·&Center Dot; 0000 tt -- 44 aa DD. ee cc ee ll ,, mm aa xx 22 99 θθ ·· 0000 tt 33 ++ 44 aa DD. ee cc ee ll ,, mm aa xx 33 2727 θθ ·&Center Dot; 0000 22 tt 44 ;;

停止段的运行时间为: The running time of the stop segment is:

有益效果:本发明提供的机器人点动操作的速度控制方法,相对于现有技术,具有如下优势:1、改善点动操作的运动性能。相比于传统控制器的点动解决方案,本发明点动的规划结果加速度曲线连续,速度平滑,能够有效降低点动过程中的机械冲击与磨损,延长设备寿命;点动初始阶段加速度较小并逐渐加大,能够实现微小位移点动,更便于用户对机器人进行示教操作;以时间片为单位,规划过程充分考虑点动能否在可达范围内停止,在算法层面避免了机器人高速点动容易越出运动软限位的问题。2、具有通用性。本发明并没有涉及到机器人的具体类型,对机器人示教的点动操作实现方法具有通用性。Beneficial effects: the speed control method for robot inching operation provided by the present invention has the following advantages compared with the prior art: 1. Improve the motion performance of inching operation. Compared with the jog solution of the traditional controller, the acceleration curve of the jog planning result of the present invention is continuous and the speed is smooth, which can effectively reduce the mechanical impact and wear during the jog process and prolong the life of the equipment; the acceleration in the initial stage of jog is small And gradually increase, it can realize small displacement jogging, which is more convenient for users to teach the robot; taking the time slice as the unit, the planning process fully considers whether the jogging can stop within the reachable range, and avoids the high-speed point of the robot at the algorithm level. The problem that the movement is easy to exceed the soft limit of movement. 2. It is universal. The present invention does not relate to the specific type of the robot, and has universality to the realization method of the inching operation taught by the robot.

附图说明Description of drawings

图1为点动轨迹规划的状态跳转示意图。程序最初处于等待点动请求状态,当检测到按键信号,跳转到周期变加速段状态;若按键时间较长,将通过加速-匀速过渡段进入匀速段状态。过程中,一旦检测到按键松开或有不可达插补点,将进入停止段状态。图中:①检测到点动请求信号;②下一时间片加速度递增(但不得超过最大加速度),规划所得的终止速度仍小于给定匀速段速度;③下一时间片加速度若递增(但不得超过最大加速度),规划所得的终止速度将超过给定匀速段速度;④未收到点动结束请求,且下一时间片运动可达;⑤收到点动结束请求,或下一时间片有不可达点。Figure 1 is a schematic diagram of the state jump of jogging trajectory planning. The program is initially in the state of waiting for the jog request. When the key signal is detected, it will jump to the state of the periodic variable acceleration stage; if the key is pressed for a long time, it will enter the state of the constant speed stage through the acceleration-constant speed transition stage. During the process, once it is detected that the key is released or there is an unreachable interpolation point, it will enter the stop segment state. In the figure: ①The jog request signal is detected; ②The acceleration in the next time slice increases (but must not exceed the maximum acceleration), and the termination speed obtained by planning is still less than the given constant speed segment speed; Exceeds the maximum acceleration), the planned end speed will exceed the speed of the given constant speed segment; ④ The jog end request is not received, and the next time slice movement is reachable; ⑤ The jog end request is received, or the next time slice has unreachable point.

图2为本发明的四阶段插补增量及其变化速度、变化加速度和变化加加速度的规划示意图。Fig. 2 is a schematic diagram of planning of the four-stage interpolation increment and its changing speed, changing acceleration and changing jerk according to the present invention.

图3为本发明的用户主动停止情形下,计算线程与执行线程的同步举例。FIG. 3 is an example of the synchronization between the calculation thread and the execution thread under the situation that the user actively stops in the present invention.

图4为本发明的有不可达点情形下,计算线程与执行线程的同步举例。FIG. 4 is an example of the synchronization between calculation threads and execution threads in the case of unreachable points in the present invention.

图5为本发明点动过程中各个时间片插补序列的计算与执行情况。图中:①初始化:接收到点动请求,开始计算第一个时间片的两段插补点序列;若计算成功,开始执行序列。②时间片间过渡:“继续运行标志位”有效,即检测到下一时间片的两段插补点序列计算完成,说明这些路径点均可达;于是丢弃上一时间片计算得到的停止段序列,并执行新的加速(匀速)段。③停止信号:“继续运动标志位”被清零。④停止:“继续运动标志位”失效,不再计算新的两段序列,下阶段执行停止段序列。Fig. 5 shows the calculation and execution of each time slice interpolation sequence in the jogging process of the present invention. In the figure: ①Initialization: After receiving the jog request, start to calculate the two interpolation point sequences of the first time slice; if the calculation is successful, start to execute the sequence. ② Transition between time slices: "Continue to run flag" is valid, that is, it is detected that the calculation of the two interpolation point sequences of the next time slice is completed, indicating that these path points are reachable; so the stop segment calculated in the previous time slice is discarded sequence, and execute a new acceleration (constant velocity) segment. ③Stop signal: "Continue to move flag" is cleared. ④Stop: The "continuing motion flag" is invalid, no longer calculate the new two-segment sequence, and execute the stop segment sequence in the next stage.

图6为本发明两种不同的点动停止(用户主动停止/有不可达点)条件下插补序列的计算与执行结果。Fig. 6 shows the calculation and execution results of the interpolation sequence under two different conditions of jogging stop (active stop by the user/unreachable point) in the present invention.

图7以垂直六轴关节型工业机器人为例,展示关节坐标系空间下单轴点动操作的示意图。Figure 7 takes a vertical six-axis articulated industrial robot as an example to show a schematic diagram of a single-axis jog operation in the joint coordinate system space.

图8为笛卡尔坐标系空间下,机器人工具末端点TCP沿着笛卡尔坐标系的X、Y或Z轴移动,或绕着笛卡尔坐标系的X、Y或Z轴转动,进行点动操作的示意图。Figure 8 shows that in the space of the Cartesian coordinate system, the end point TCP of the robot tool moves along the X, Y or Z axis of the Cartesian coordinate system, or rotates around the X, Y or Z axis of the Cartesian coordinate system for inching operation schematic diagram.

图9为工具坐标系空间下,机器人工具末端点TCP沿着工具坐标系的X、Y或Z轴移动,或绕着工具坐标系的X、Y或Z轴转动,进行点动操作的示意图。FIG. 9 is a schematic diagram of the robot tool end point TCP moving along the X, Y or Z axis of the tool coordinate system, or rotating around the X, Y or Z axis of the tool coordinate system in the space of the tool coordinate system for jog operation.

具体实施方式Detailed ways

下面结合附图对本发明作更进一步的说明。The present invention will be further described below in conjunction with the accompanying drawings.

本发明实施的关键在于控制程序对机器人点动插补序列的计算线程与执行线程的同步管理。当控制器接收到点动请求信号时,程序相继开启插补序列的计算线程与执行行程;循环计算与执行若干个加速&匀速段时间片的插补序列后,当检测到用户主动停止点动(松开按键)或机器人运动有不可达点(超出机器人可达范围或将发生碰撞),执行停止段序列,依次注销计算进程与执行线程,等待下一次点动请求。时间片的长度对程序而言是固定的,需要程序开发人员根据控制器实际情况决定,举例:某控制器实时周期性控制时钟为8毫秒,可考虑以20个周期为一个时间片,即每个时间片T20为160毫秒。The key to the implementation of the invention lies in the synchronous management of the calculation thread and the execution thread of the robot jogging interpolation sequence by the control program. When the controller receives the jog request signal, the program successively starts the calculation thread and execution stroke of the interpolation sequence; after cyclically calculating and executing several interpolation sequences of acceleration & constant speed time slices, when it is detected that the user actively stops the jog (release the button) or there is an unreachable point in the robot movement (beyond the reachable range of the robot or a collision will occur), execute the stop segment sequence, log off the calculation process and execution thread in turn, and wait for the next jog request. The length of the time slice is fixed for the program, and needs to be determined by the program developer according to the actual situation of the controller. For example, if a controller has a real-time periodic control clock of 8 milliseconds, 20 cycles can be considered as a time slice, that is, every A time slice T 20 is 160 milliseconds.

图3和图4分别是用户主动停止情形下、有不可达点情形下,采用本发明技术方案的实现步骤,计算行程与执行线程同步的典型举例。在运行时间片内,当执行线程接收到按键松开消息或计算失败消息,会将“继续运动标志位”清零,下个时间片决策为执行停止段插补序列。下一时间片到底是执行新的加速(匀速)段序列,还是执行当前时间片紧接的停止段序列,是控制程序在每个时间片插补序列执行结束时通过读取“继续运动标志位”的状态决定的。点动过程中各个时间片插补序列的计算与执行结果如图5和图6所示。Fig. 3 and Fig. 4 are typical examples of synchronizing the calculation stroke and the execution thread by adopting the implementation steps of the technical solution of the present invention under the situation of the user actively stopping and the situation of unreachable points respectively. In the running time slice, when the execution thread receives a button release message or a calculation failure message, it will clear the "continue motion flag", and the next time slice decision is to execute the interpolation sequence of the stop segment. Whether the next time slice is to execute a new acceleration (constant speed) segment sequence, or to execute the stop segment sequence following the current time slice, is the control program reading the "continuing motion flag bit" at the end of each time slice interpolation sequence execution? ” is determined by the state. The calculation and execution results of each time slice interpolation sequence during the jogging process are shown in Figure 5 and Figure 6.

下面以关节坐标系空间下的单轴点动(图7)、笛卡尔坐标系空间下的移动和转动点动(图8)、以及工具坐标系空间下的移动和转动点动(图9)来进一步介绍本发明的实现步骤。The following is single-axis jogging in the joint coordinate system space (Fig. 7), moving and rotating jogging in the Cartesian coordinate system space (Fig. 8), and moving and rotating jogging in the tool coordinate system space (Fig. 9) To further introduce the implementation steps of the present invention.

使用N表示每个时间片包含的周期数,举例:N=20;使用m表示停止段占用的周期数(△t为停止段的运行时间;T为控制周期时间,举例:T=8ms)。Use N to represent the number of cycles contained in each time slice, for example: N=20; use m to represent the number of cycles occupied by the stop segment ( Δt is the running time of the stop section; T is the control cycle time, for example: T=8ms).

(1)关节坐标系空间下的单轴点动(图7)(1) Single-axis jogging in joint coordinate system space (Figure 7)

Step1:记录点动轴的初始位置或关节角度P0Step1: Record the initial position or joint angle P 0 of the jog axis;

Step2:计算插补序列Step2: Calculate the imputation sequence

对周期变加速段内的第i个时间片的插补量θi(t)进行插值的函数为对加速-匀速过渡段的第i个时间片的插补量θi(t)进行插值的函数为对匀速段内的第i个时间片的插补量θi(t)进行插值的函数为对停止段的插补量θ(t)进行插值的函数为The function for interpolating the interpolation amount θ i (t) of the i-th time slice in the period variable acceleration segment is The function to interpolate the interpolation amount θ i (t) of the i-th time slice in the acceleration-constant speed transition section is The function for interpolating the interpolation amount θ i (t) of the i-th time slice in the constant velocity segment is The function for interpolating the interpolation amount θ(t) of the stop segment is

θθ 00 (( tt )) == θθ 0000 ++ θθ ·· 0000 tt -- 44 aa DD. ee cc ee ll ,, mm aa xx 22 99 θθ ·· 0000 tt 33 ++ 44 aa DD. ee cc ee ll ,, mm aa xx 33 2727 θθ ·&Center Dot; 0000 22 tt 44 ..

若在第i个时间片两端插补序列存在不可达点(超出点动轴限位或将导致机器人碰撞),或检测到此时按键已松开,直接跳转至Step4,进入停止段,点动轴不动作;否则,控制程序将开启插补序列的执行程序,并继续进行插补序列的计算。If there is an unreachable point in the interpolation sequence at both ends of the i-th time slice (exceeding the limit of the jog axis may cause the robot to collide), or it is detected that the button has been released at this time, directly jump to Step4 and enter the stop section. The jog axis does not move; otherwise, the control program will start the execution program of the interpolation sequence and continue the calculation of the interpolation sequence.

对加速&匀速段增量函数取N个插补时刻t=0,T,2T,…(N-1)T,得到加速&匀速段的N个插补增量△k(k=1,2,…,N);记录最后插补点的增量大小△N和增量速度对停止段增量函数取m+1个插补点时刻t=0,T,2T,…(m-1)T,△t,得到停止段的m+1个插补增量△k(k=N+1,N+2,…,N+m,N+m+1),第一个时间片的起始增量和起始增量速度均为0,对于周期变加速段:时间片的中点增量加速度不能超过运动允许的最大加速度amax;第一个时间片的中点增量加速度可以取一个较小值,举例:0.03×amax;相邻两个时间片加速度递增量可以取一个合适值,举例:0.05×amaxTake N interpolation moments t=0, T, 2T,...(N-1)T for the incremental function of the acceleration & constant speed section, and obtain N interpolation increments △ k (k=1,2,... ,N); record the incremental size △ N and incremental speed of the last interpolation point Take m+1 interpolation point time t=0, T, 2T,...(m-1)T, △t for the incremental function of the stop segment, and obtain m+1 interpolation increments △ k (k=N +1,N+2,…,N+m,N+m+1), the initial increment and initial increment speed of the first time slice are both 0, for the period variable acceleration section: the middle of the time slice point incremental acceleration It cannot exceed the maximum acceleration a max allowed by the movement; the incremental acceleration at the midpoint of the first time slice can take a small value, for example: 0.03×a max ; the acceleration increments of two adjacent time slices can take an appropriate value, Example: 0.05×a max .

对于关节坐标系空间下的单轴点动,周期变加速段时间片的中点增量加速度不能超过点动轴运动允许的最大角加速度或线加速度,加速-匀速过渡段时间片的终止增量速度对应为指令给定的点动轴期望运动速度,停止段的中点增量减速度对应点动轴运动允许的最大角减速度或线减速度。由P0+△k可以计算得到第一个时间片的N个加速&匀速段插补序列点的轴关节给定值,以及与该时间片紧接的m+1个停止段插补序列点的轴关节给定值。For single-axis jogging in the joint coordinate system space, the midpoint incremental acceleration of the time slice of the period variable acceleration segment It cannot exceed the maximum angular acceleration or linear acceleration allowed by the jog axis movement, and the end incremental velocity of the time slice of the acceleration-constant velocity transition period Corresponding to the expected movement speed of the jog axis given by the command, the incremental deceleration at the midpoint of the stop segment Corresponding to the maximum angular deceleration or linear deceleration allowed by the jog axis. From P 0 +△ k , the given value of axis joints of the N acceleration & constant speed segment interpolation sequence points in the first time slice can be calculated, as well as the m+1 stop segment interpolation sequence points immediately following this time slice The given value of the axis joint.

Step3:执行已经计算好的时间片插补序列,同步返回Step2计算下一个时间片插补序列。Step3: Execute the calculated time slice interpolation sequence, and return to Step2 to calculate the next time slice interpolation sequence synchronously.

执行线程读取并执行已经计算好的当前时间片加速(匀速)段序列;与此同时,计算线程开始计算下一时间片的两段插补序列,记录两段中的加速(匀速)段最后插补点的增量大小和增量速度,并更新点动过程的运动阶段状态。The execution thread reads and executes the current time slice acceleration (constant speed) segment sequence that has been calculated; at the same time, the calculation thread starts to calculate the two interpolation sequences of the next time slice, and records the acceleration (constant speed) segment sequence in the two segments. Interpolate the incremental size and incremental velocity of the points, and update the state of the motion phase of the jog process.

更新点动过程的运动阶段状态需依据图1的状态流程图导向,插补序列计算过程中,下一时间片的起始增量大小和角速度/线速度分别为当前时间片加速(匀速)段最后插补点的增量大小和角速度/线速度。Updating the state of the motion stage in the jog process needs to be guided by the state flow chart in Figure 1. During the calculation of the interpolation sequence, the initial increment size and angular velocity/linear velocity of the next time slice are the current time slice acceleration (constant speed) segment Increment size and angular/linear velocity of the last interpolated point.

Step4:点动结束Step4: End of jog

注销计算进程;若开启了执行线程,等待停止段序列执行完毕后,注销执行线程。等待下一次点动请求。Log off the calculation process; if the execution thread is enabled, wait for the execution of the stop segment sequence to complete, and then log off the execution thread. Waiting for the next jog request.

(2)笛卡尔坐标系空间下的移动和转动点动(图8)(2) Movement and rotation in the Cartesian coordinate system space (Figure 8)

笛卡尔坐标系空间下的点动以笛卡尔坐标系为参考坐标系,机器人工具末端点TCP可以是沿坐标轴X/Y/Z进行+X/-X/+Y/-Y/+Z/-Z方向的移动点动,也可以是绕着坐标轴X/Y/Z进行+Rx/-Rx/+Ry/-Ry/+Rz/-Rz方向的转动点动。具体步骤如下:Jog in the Cartesian coordinate system space takes the Cartesian coordinate system as the reference coordinate system, and the end point TCP of the robot tool can be +X/-X/+Y/-Y/+Z/ along the coordinate axis X/Y/Z The movement jog in the -Z direction can also be the rotation jog in the +Rx/-Rx/+Ry/-Ry/+Rz/-Rz direction around the coordinate axis X/Y/Z. Specific steps are as follows:

Step1:记录机器人TCP的初始位姿Step1: Record the initial pose of the robot TCP

在接收到用户点动请求后,首先记录各关节位置,通过求解机器人的运动学正解,得到机器人当前工具末端点TCP的4×4变换矩阵为T0R0为表示姿态的3×3坐标旋转矩阵,p0为表示位置的3×1位置偏移向量。After receiving the jog request from the user, first record the positions of each joint, and obtain the 4×4 transformation matrix of the robot’s current tool end point TCP as T 0 by solving the kinematics positive solution of the robot. R 0 is a 3×3 coordinate rotation matrix representing attitude, and p 0 is a 3×1 position offset vector representing position.

Step2:计算第一个时间片的插补序列Step2: Calculate the imputation sequence of the first time slice

首先需要根据是移动点动还是转动点动,明确点动的规划对象。First of all, it is necessary to specify the planning object of jogging according to whether it is moving jogging or rotating jogging.

若是移动点动,规划对象为TCP在坐标轴X/Y/Z方向上的位置。以沿着X轴正方向移动为例,若沿+X方向上的位置增量为△j(j=1,2,…,N),则移动维度上产生的路径位置偏移增量为转动维度上没有变化,对应的旋转矩阵增量为单位矩阵:△Rj=I3×3。因此,增量变换矩阵为运动的参考坐标系为笛卡尔坐标系,插补点的对应变换矩阵为原变换矩阵T0左乘增量变换矩阵△Tj,即:If it is jogging, the planning object is the position of the TCP in the X/Y/Z direction of the coordinate axis. Taking moving along the positive direction of the X-axis as an example, if the position increment along the +X direction is △ j (j=1,2,…,N), the path position offset increment generated in the moving dimension is There is no change in the rotation dimension, and the corresponding rotation matrix increment is the identity matrix: △R j =I 3×3 . Therefore, the incremental transformation matrix is The reference coordinate system of the movement is the Cartesian coordinate system, and the corresponding transformation matrix of the interpolation point is the original transformation matrix T 0 multiplied by the incremental transformation matrix △T j , namely:

TT jj == ΔTΔT jj ·&Center Dot; TT 00 == II 33 ×× 33 ΔpΔp jj 00 11 RR 00 pp 00 00 11 == RR 00 pp 00 ++ ΔpΔp jj 00 11

若是转动点动,规划对象为TCP绕着坐标轴X/Y/Z的正或反方向旋转的角度大小。以绕着X轴正方向转动为例,若绕+X方向的旋转角度增量为则转动维度上产生的旋转矩阵增量移动维度上没有变化,对应的位置偏移增量为零向量:因此,增量变换矩阵为运动的参考坐标系为笛卡尔坐标系,对应插补点的对应变换矩阵为原变换矩阵T0左乘增量变换矩阵即:If it is rotating and jogging, the planning object is the angle of the positive or negative rotation of the TCP around the coordinate axis X/Y/Z. Taking the rotation around the positive direction of the X axis as an example, if the rotation angle increment around the +X direction is Then the rotation matrix increment generated in the rotation dimension is There is no change in the movement dimension, and the corresponding position offset increment is a zero vector: Therefore, the incremental transformation matrix is The reference coordinate system of the movement is the Cartesian coordinate system, and the corresponding transformation matrix corresponding to the interpolation point is the original transformation matrix T 0 multiplied by the incremental transformation matrix Right now:

TT ~~ jj == ΔΔ TT ~~ jj ·&Center Dot; TT 00 == ΔΔ RR ~~ jj ΘΘ 33 ×× 11 00 11 RR 00 pp 00 00 11 == ΔΔ RR ~~ jj RR 00 ΔΔ RR ~~ jj pp 00 00 11

明确规划对象后,本步骤的具体内容可以描述为:开启计算线程,计算第一个时间片的两段插补序列,并记录两段序列中加速&匀速段(即周期变加速段)的最后插补点的增量大小以及增量速度。若两段插补序列中存在不可达点(超出机器人可达范围或将发生碰撞),或检测到此时按键已松开,跳转到Step5,机器人不动作。否则控制程序将开启插补序列的执行线程,进入Step3。After the planning object is defined, the specific content of this step can be described as: start the calculation thread, calculate the two interpolation sequences of the first time slice, and record the last of the acceleration & constant speed segment (that is, the period variable acceleration segment) in the two sequences. The increment size and speed of the interpolation points. If there are unreachable points in the two interpolation sequences (beyond the reachable range of the robot or will collide), or it is detected that the button has been released at this time, jump to Step5 and the robot will not move. Otherwise, the control program will start the execution thread of the interpolation sequence and enter Step3.

两段插补序列插补增量的计算方法与第一种情况计算两段插补序列插补增量的方法是相同的。利用移动点动计算式或转动点动计算式可以计算各个插补点的变换矩阵,通过求解机器人的运动学逆解,可以得到机器人的各轴关节给定值,作为某个插补点的一组插补序列;因而,可以计算得到第一个时间片的N组加速(匀速)段插补序列点的轴关节给定值,以及与该时间片紧接的m+1组停止段插补序列点的轴关节给定值。The method of calculating the interpolation increment of two interpolation sequences is the same as the method of calculating the interpolation increment of two interpolation sequences in the first case. The transformation matrix of each interpolation point can be calculated by using the movement jog calculation formula or the rotation jog calculation formula. By solving the kinematic inverse solution of the robot, the given values of the joints of each axis of the robot can be obtained as a part of a certain interpolation point. Group interpolation sequence; therefore, the axis joint given value of N groups of acceleration (constant speed) segment interpolation sequence points of the first time slice can be calculated, as well as m+1 groups of stop segment interpolation immediately following this time slice Axis joint reference for sequence points.

Step3:执行已经计算好的时间片插补序列,同步计算下一个时间片插补序列。Step3: Execute the calculated time slice interpolation sequence, and calculate the next time slice interpolation sequence synchronously.

执行线程读取并执行已经计算好的当前时间片加速&匀速段序列;与此同时,计算线程开始计算下一时间片的两段插补序列,记录两段中的加速&匀速段最后插补点的增量大小和增量速度,并更新点动过程的运动阶段状态。The execution thread reads and executes the current time slice acceleration & constant speed segment sequence that has been calculated; at the same time, the calculation thread starts to calculate the two interpolation sequences of the next time slice, and records the final interpolation of the acceleration & constant speed segment in the two segments The incremental size and incremental speed of the point, and update the state of the motion phase of the jog process.

更新点动过程的运动阶段状态需依据图1的状态流程图导向,插补序列计算过程中,下一时间片的增量大小以及增量速度分别为当前时间片加速&匀速段最后插补点的增量大小以及增量速度。Updating the state of the motion phase of the jog process needs to be guided by the state flow chart in Figure 1. During the calculation of the interpolation sequence, the incremental size and incremental speed of the next time slice are respectively the last interpolation point of the current time slice acceleration & constant speed segment The increment size and increment speed.

Step4:重复Step3,循环执行与计算时间片插补序列,直到满足停止条件。Step4: Repeat Step3, execute and calculate the time slice interpolation sequence cyclically, until the stop condition is satisfied.

下一个时间片两段插补序列计算完毕后,若各组序列点下机器人均处于可达范围内,计算线程等待执行线程将当前时间片的加速&匀速段序列插补点执行完毕;当执行完毕后,若按键仍处于按下状态,返回并重复Step3进行后续时间片插补序列的同步计算与执行。若下一个时间片的两段插补序列存在不可达点,或执行完毕后检测到按键松开,注销计算线程,下一时间片开始执行当前时间片紧接的停止段序列。After the calculation of the two interpolation sequences in the next time slice is completed, if the robot is within the reachable range of each group of sequence points, the calculation thread waits for the execution thread to complete the execution of the acceleration & constant speed sequence interpolation points of the current time slice; when the execution After completion, if the button is still pressed, return and repeat Step3 to perform synchronous calculation and execution of the subsequent time slice interpolation sequence. If there are unreachable points in the two interpolation sequences of the next time slice, or if the key is released after the execution is completed, the calculation thread will be logged off, and the next time slice will start to execute the stop sequence immediately following the current time slice.

Step5:点动结束。Step5: Jog ends.

注销计算进程;若开启了执行线程,等待停止段序列执行完毕后,注销执行线程。等待下一次点动请求。Log off the calculation process; if the execution thread is enabled, wait for the execution of the stop segment sequence to complete, and then log off the execution thread. Waiting for the next jog request.

(3)工具坐标系空间下的移动和转动点动(图9)(3) Movement and rotation in the tool coordinate system space (Figure 9)

工具系空间下的点动以工具坐标系为参考坐标系,机器人工具末端点TCP可以是沿工具坐标系坐标轴X/Y/Z进行+X/-X/+Y/-Y/+Z/-Z方向的移动点动,也可以是绕着工具坐标轴X/Y/Z进行+Rx/-Rx/+Ry/-Ry/+Rz/-Rz方向的转动点动。The jogging in the tool space takes the tool coordinate system as the reference coordinate system, and the robot tool end point TCP can be +X/-X/+Y/-Y/+Z/ along the coordinate axis X/Y/Z of the tool coordinate system The movement jog in the -Z direction can also be the rotation jog in the +Rx/-Rx/+Ry/-Ry/+Rz/-Rz direction around the tool coordinate axis X/Y/Z.

具体步骤与第(2)种情况笛卡尔坐标系空间下移动和转动点动的实现步骤Step1至Step5是非常类似的,唯一区别在于Step2和Step3中对插补点变换矩阵Tj的计算方法。The specific steps are very similar to the implementation steps Step1 to Step5 of moving and rotating jog in the Cartesian coordinate system space in case (2), the only difference is that in Step2 and Step3, the transformation matrix T j or calculation method.

若是移动点动,规划对象为TCP在工具坐标系坐标轴X/Y/Z方向上的位置。以沿着工具坐标系X轴正方向移动为例,若沿工具坐标系+X方向上的位置增量为△j(j=1,2,…,N),则移动维度上产生的路径位置偏移增量为转动维度上没有变化,对应的旋转矩阵增量为单位矩阵:△Rj=I3×3。因此,增量变换矩阵为运动的参考坐标系为工具坐标系,转换到笛卡尔坐标空间下描述,插补点的对应变换矩阵为原变换矩阵T0右乘增量变换矩阵△Tj,即:If it is jogging, the planning object is the position of the TCP in the X/Y/Z direction of the coordinate axis of the tool coordinate system. Take moving along the positive direction of the X-axis of the tool coordinate system as an example, if the position increment along the +X direction of the tool coordinate system is △ j (j=1,2,…,N), then the path position generated in the moving dimension The offset increment is There is no change in the rotation dimension, and the corresponding rotation matrix increment is the identity matrix: △R j =I 3×3 . Therefore, the incremental transformation matrix is The reference coordinate system of the movement is the tool coordinate system, which is described in the Cartesian coordinate space. The corresponding transformation matrix of the interpolation point is the original transformation matrix T 0 multiplied by the incremental transformation matrix △T j , namely:

TT jj == TT 00 ·&Center Dot; ΔTΔT jj == RR 00 pp 00 00 11 II 33 ×× 33 ΔpΔp jj 00 11 == RR 00 RR 00 ΔpΔp jj ++ pp 00 00 11

若是转动点动,规划对象为TCP绕着工具坐标系坐标轴X/Y/Z的正或反方向旋转的角度大小。以绕着关节坐标系X轴正方向转动为例,若绕工具坐标系+X方向的旋转角度增量为则转动维度上产生的旋转矩阵增量移动维度上没有变化,对应的位置偏移增量为零向量:因此,增量变换矩阵为运动的参考坐标系为工具坐标系,转换到笛卡尔坐标空间下描述,插补点的对应变换矩阵为原变换矩阵T0右乘增量变换矩阵即:If it is rotating and jogging, the planning object is the angle of the forward or reverse rotation of the TCP around the coordinate axis X/Y/Z of the tool coordinate system. Taking the rotation around the positive direction of the X-axis of the joint coordinate system as an example, if the rotation angle increment around the +X direction of the tool coordinate system is Then the rotation matrix increment generated in the rotation dimension There is no change in the movement dimension, and the corresponding position offset increment is a zero vector: Therefore, the incremental transformation matrix is The reference coordinate system of the movement is the tool coordinate system, which is described in the Cartesian coordinate space. The corresponding transformation matrix of the interpolation point is the original transformation matrix T 0 multiplied by the incremental transformation matrix Right now:

TT ~~ jj == TT 00 ·· ΔΔ TT ~~ jj == RR 00 pp 00 00 11 ΔΔ RR ~~ jj ΘΘ 33 ×× 11 00 11 == RR 00 ΔΔ RR ~~ jj pp 00 00 11

以上述两式分别代替第(2)种情况笛卡尔坐标系空间下移动和转动点动的实现步骤Step2和Step3中的计算式,即可采用类似实现步骤,对应实现工具坐标系空间下的移动和转动点动。Using the above two formulas to replace the calculation formulas in Step 2 and Step 3 of the implementation steps of movement and rotation in the Cartesian coordinate system space in the case (2), similar implementation steps can be used to realize the corresponding movement in the tool coordinate system space and turn jog.

以上所述仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。The above is only a preferred embodiment of the present invention, it should be pointed out that for those of ordinary skill in the art, without departing from the principle of the present invention, some improvements and modifications can also be made. It should be regarded as the protection scope of the present invention.

Claims (6)

1. the method for control speed of a robot crawl operation, it is characterized in that: the rate control process that crawl operates is divided into and accelerates & at the uniform velocity section and stop segment, wherein accelerate & at the uniform velocity section comprise the cycle become accelerating sections, accelerate-at the uniform velocity changeover portion and at the uniform velocity section three subs, accelerate-at the uniform velocity changeover portion and at the uniform velocity section be two can or scarce subs, each sub carries out locus interpolation planning in units of the timeslice of regular length, and the acceleration of interpolation increment change is continuous in each timeslice, and the initial increment acceleration of each timeslice and termination increment acceleration are zero, each timeslice is made up of several control cycles of continuous print, after each timeslice completes, adopt according to Rule of judgment determination subsequent time and accelerate & at the uniform velocity section interpolation sequence or stop segment interpolation sequence, wherein Rule of judgment comprises: 1. which sub current control process is in, 2. whether crawl operation terminates, 3. whether robot motion is in coverage, and 4. whether robot produces collision,
With i=1,2 ..., X represents all timeslices accelerating & at the uniform velocity section, and the time span of timeslice is T 20: the initial increment of i-th timeslice is θ i0, corresponding initial incremental velocity and acceleration are respectively with the mid point increment of i-th timeslice is θ ih, corresponding mid point incremental velocity and acceleration are respectively with it is the acceleration peak value of i-th timeslice simultaneously; The termination increment of i-th timeslice is θ if, corresponding termination incremental velocity and acceleration are respectively with at the uniform velocity the given speed of section is it is velocity peak values simultaneously; The interpolation time is t, θ (i+1) 0if, the initial increment of stop segment is θ 00, corresponding initial incremental velocity and acceleration are respectively with the termination increment of stop segment is θ 0f, corresponding termination incremental velocity and acceleration are respectively with
2. the method for control speed of robot according to claim 1 crawl operation, it is characterized in that: when the interpolation sequence of execution i-th timeslice, calculate the interpolation sequence of (i+1) individual timeslice simultaneously, object is the interpolation sequence in order to can perform (i+1) individual timeslice immediately when i-th timeslice interpolation completes, and ensures the continuity of motion; The interpolation sequence of described (i+1) individual timeslice is divided into two classes: 1. accelerate the & at the uniform velocity interpolation sequence Normal of section and the interpolation sequence Ending of stop segment;
Described interpolation sequence Normal is divided into three kinds of situations: if the acceleration peak value of 1. (i+1) individual timeslice do not reach peak acceleration a max, the speed of (i+1) individual timeslice does not also reach velocity peak values then (i+1) individual timeslice is the cycle become accelerating sections, adopts the cycle to become the interpolation sequence of accelerating sections interpolating method calculating (i+1) individual timeslice; If the 2. acceleration peak value of (i+1) individual timeslice reach peak acceleration a maxbut the speed of (i+1) individual timeslice does not reach velocity peak values then (i+1) individual timeslice is acceleration-at the uniform velocity changeover portion, adopt to accelerate-at the uniform velocity changeover portion interpolating method calculate the interpolation sequence of (i+1) individual timeslice; If 3. the speed of (i+1) individual timeslice reaches velocity peak values then (i+1) individual timeslice is at the uniform velocity section, adopts at the uniform velocity section interpolating method to calculate the interpolation sequence of (i+1) individual timeslice;
Owing to not knowing when crawl operation stops, therefore needing to calculate interpolation sequence Ending while the interpolation sequence performing each timeslice, the starting point of interpolation sequence Ending is the continuity of i-th interpolation sequence Normal.
3. the method for control speed of robot according to claim 1 crawl operation, is characterized in that: the described cycle becomes accelerating sections and comprises several timeslices; Become in accelerating sections in the cycle, the acceleration peak value of adjacent two timeslices increases progressively fixed value △ a successively, namely require the acceleration peak value of the rear gained of (i+1) individual timeslice planning be no more than peak acceleration a max; If i-th timeslice becomes accelerating sections in the cycle, if acceleration peak value continues to increase △ a, the acceleration peak value of gained after (i+1) individual timeslice planning peak acceleration a will be exceeded max, and after (i+1) individual timeslice planning, the speed of gained does not reach velocity peak values then (i+1) individual timeslice jumps to acceleration-at the uniform velocity changeover portion; Following fourth order polynomial is used to become the interpolation amount θ of i-th timeslice in accelerating sections to the cycle it () carries out interpolation:
θ i ( t ) = θ i 0 + θ · i 0 t + 2 θ ·· i h 3 T 20 t 3 - θ ·· i h 3 T 20 2 t 4 .
4. robot according to claim 1 crawl operation method for control speed, it is characterized in that: if described existences acceleration-at the uniform velocity changeover portion, then acceleration-at the uniform velocity changeover portion only take a timeslice; Use following fourth order polynomial to accelerating-the interpolation amount θ of i-th timeslice at the uniform velocity in changeover portion it () carries out interpolation:
θ i ( t ) = θ i 0 + θ · i 0 t + θ · i f - θ · i 0 T 20 2 t 3 - θ · i f - θ · i 0 2 T 20 3 t 4 .
5. the method for control speed of robot according to claim 1 crawl operation, is characterized in that: described at the uniform velocity section comprises several timeslices; Use following linear polynomial to the interpolation amount θ of i-th timeslice at the uniform velocity section it () carries out interpolation:
θ i ( t ) = θ i 0 + θ · i 0 t .
6. the method for control speed of robot according to claim 1 crawl operation, it is characterized in that: once find that crawl operation terminates, robot motion is unreachable or robot produces collision, then by acceleration & at the uniform velocity section directly jump to stop segment, at stop segment, speed is reduced to 0 in the mode that running time is short and the most level and smooth by crawl operation, at stop segment, no longer service time, sheet was split, and two use the maximum deceleration-a running and allow decel, maxplan as deceleration peak value, use following fourth order polynomial to the interpolation amount θ of stop segment 0t () carries out interpolation:
θ 0 ( t ) = θ 00 + θ · 00 t - 4 a D e c e l , m a x 2 9 θ · 00 t 3 + 4 a D e c e l , m a x 3 27 θ · 00 2 t 4 ;
The running time of stop segment is:
CN201510579765.XA 2015-09-11 2015-09-11 A kind of method for control speed of robot crawl operation Expired - Fee Related CN105082135B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510579765.XA CN105082135B (en) 2015-09-11 2015-09-11 A kind of method for control speed of robot crawl operation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510579765.XA CN105082135B (en) 2015-09-11 2015-09-11 A kind of method for control speed of robot crawl operation

Publications (2)

Publication Number Publication Date
CN105082135A true CN105082135A (en) 2015-11-25
CN105082135B CN105082135B (en) 2016-11-30

Family

ID=54563906

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510579765.XA Expired - Fee Related CN105082135B (en) 2015-09-11 2015-09-11 A kind of method for control speed of robot crawl operation

Country Status (1)

Country Link
CN (1) CN105082135B (en)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105922265A (en) * 2016-06-20 2016-09-07 广州视源电子科技股份有限公司 Motion trail planning method and device for mechanical arm and robot
CN106444762A (en) * 2016-10-18 2017-02-22 北京京东尚科信息技术有限公司 Automatic guide transport vehicle AGV, and motion control method and apparatus thereof
CN106671110A (en) * 2017-02-10 2017-05-17 苏州库浩斯信息科技有限公司 Robot head travel control method and system
CN107172359A (en) * 2017-07-03 2017-09-15 天津智汇时代科技有限公司 camera face tracking system and face tracking method
CN107351087A (en) * 2017-08-29 2017-11-17 成都乐创自动化技术股份有限公司 A kind of crawl response control mehtod and system
CN107598921A (en) * 2017-08-25 2018-01-19 深圳星河智能科技有限公司 A kind of space smoothing method for controlling stopping applied to six axis robot arm
CN108333968A (en) * 2018-02-11 2018-07-27 昆山艾派科技有限公司 The method for planning track of robot single step campaign
CN108415427A (en) * 2018-02-11 2018-08-17 昆山艾派科技有限公司 The path joining method that robot multistep continuously moves
WO2018205490A1 (en) * 2017-05-11 2018-11-15 广州视源电子科技股份有限公司 Method and device for controlling robot to rotate joint to perform movement, and robot
CN110385716A (en) * 2018-04-18 2019-10-29 B和R工业自动化有限公司 For controlling the method and kinematic mechanisms of kinematic mechanisms
CN110954268A (en) * 2019-12-20 2020-04-03 电子科技大学中山学院 Unbalance loading calibration system
CN114227655A (en) * 2021-12-30 2022-03-25 深圳市英威腾电气股份有限公司 Method and device for determining planned path, SCARA robot and medium

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06182682A (en) * 1992-12-18 1994-07-05 Mitsubishi Heavy Ind Ltd Speed control method for robot
CN101791800A (en) * 2010-01-21 2010-08-04 西北工业大学 Motion control method of double-wheel differential type robot
CN101861233A (en) * 2007-11-15 2010-10-13 库卡罗伯特有限公司 The method of industrial robot and control industrial robot motion
EP2345511A2 (en) * 2010-01-13 2011-07-20 KUKA Laboratories GmbH Control for a manipulator
JP2014524359A (en) * 2011-08-24 2014-09-22 デュール システムズ ゲゼルシャフト ミット ベシュレンクテル ハフツング Robot control method
CN104191428A (en) * 2014-08-27 2014-12-10 深圳科瑞技术股份有限公司 Movement path planning method and system based on SCARA
CN104254430A (en) * 2012-03-07 2014-12-31 佳能株式会社 Robot controlling device, robot apparatus, robot control method, program for executing robot control method, and recording medium on which program is recorded
CN104625676A (en) * 2013-11-14 2015-05-20 沈阳新松机器人自动化股份有限公司 Shaft hole assembly industrial robot system and working method thereof

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06182682A (en) * 1992-12-18 1994-07-05 Mitsubishi Heavy Ind Ltd Speed control method for robot
CN101861233A (en) * 2007-11-15 2010-10-13 库卡罗伯特有限公司 The method of industrial robot and control industrial robot motion
EP2345511A2 (en) * 2010-01-13 2011-07-20 KUKA Laboratories GmbH Control for a manipulator
CN101791800A (en) * 2010-01-21 2010-08-04 西北工业大学 Motion control method of double-wheel differential type robot
JP2014524359A (en) * 2011-08-24 2014-09-22 デュール システムズ ゲゼルシャフト ミット ベシュレンクテル ハフツング Robot control method
CN104254430A (en) * 2012-03-07 2014-12-31 佳能株式会社 Robot controlling device, robot apparatus, robot control method, program for executing robot control method, and recording medium on which program is recorded
CN104625676A (en) * 2013-11-14 2015-05-20 沈阳新松机器人自动化股份有限公司 Shaft hole assembly industrial robot system and working method thereof
CN104191428A (en) * 2014-08-27 2014-12-10 深圳科瑞技术股份有限公司 Movement path planning method and system based on SCARA

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105922265A (en) * 2016-06-20 2016-09-07 广州视源电子科技股份有限公司 Motion trail planning method and device for mechanical arm and robot
WO2017219639A1 (en) * 2016-06-20 2017-12-28 广州视源电子科技股份有限公司 Motion trail planning method and device for robotic arm, and robot
CN106444762A (en) * 2016-10-18 2017-02-22 北京京东尚科信息技术有限公司 Automatic guide transport vehicle AGV, and motion control method and apparatus thereof
CN106671110A (en) * 2017-02-10 2017-05-17 苏州库浩斯信息科技有限公司 Robot head travel control method and system
WO2018205490A1 (en) * 2017-05-11 2018-11-15 广州视源电子科技股份有限公司 Method and device for controlling robot to rotate joint to perform movement, and robot
CN107172359A (en) * 2017-07-03 2017-09-15 天津智汇时代科技有限公司 camera face tracking system and face tracking method
CN107598921A (en) * 2017-08-25 2018-01-19 深圳星河智能科技有限公司 A kind of space smoothing method for controlling stopping applied to six axis robot arm
CN107351087A (en) * 2017-08-29 2017-11-17 成都乐创自动化技术股份有限公司 A kind of crawl response control mehtod and system
CN108415427A (en) * 2018-02-11 2018-08-17 昆山艾派科技有限公司 The path joining method that robot multistep continuously moves
CN108333968A (en) * 2018-02-11 2018-07-27 昆山艾派科技有限公司 The method for planning track of robot single step campaign
CN108333968B (en) * 2018-02-11 2021-05-25 昆山艾派科技有限公司 Track planning method for single-step motion of robot
CN110385716A (en) * 2018-04-18 2019-10-29 B和R工业自动化有限公司 For controlling the method and kinematic mechanisms of kinematic mechanisms
CN110385716B (en) * 2018-04-18 2024-03-12 B和R工业自动化有限公司 Method for controlling a kinematic mechanism and kinematic mechanism
CN110954268A (en) * 2019-12-20 2020-04-03 电子科技大学中山学院 Unbalance loading calibration system
CN114227655A (en) * 2021-12-30 2022-03-25 深圳市英威腾电气股份有限公司 Method and device for determining planned path, SCARA robot and medium
CN114227655B (en) * 2021-12-30 2024-06-04 深圳市英威腾电气股份有限公司 Method and device for determining planned path, SCARA robot and medium

Also Published As

Publication number Publication date
CN105082135B (en) 2016-11-30

Similar Documents

Publication Publication Date Title
CN105082135B (en) A kind of method for control speed of robot crawl operation
CN112757306B (en) Inverse solution multi-solution selection and time optimal trajectory planning algorithm for mechanical arm
CN107263484B (en) Robot joint space point-to-point motion trajectory planning method
Dubowsky et al. Optimal dynamic trajectories for robotic manipulators
Behzadipour et al. Time-optimal trajectory planning in cable-based manipulators
CN103970139B (en) Robot continuous point position motion planning method
CN106647282A (en) Six-freedom-degree robot track planning method giving consideration to tail end motion error
CN103941647B (en) Flexible feed speed control interpolating method for Embedded NC equipment
Cao et al. Constrained time-efficient and smooth cubic spline trajectory generation for industrial robots
CN109683615A (en) The speed look-ahead approach and robot controller in the path that robot continuously moves
CN111604905A (en) Method, device and system for joint trajectory planning and storage medium
CN113189938A (en) Speed curve planning method for continuous machining path
CN109304711A (en) Serial manipulator method for planning track
CN111596543A (en) Method for rapidly planning 6-order S-shaped motion curve
JP3204042B2 (en) Robot trajectory generator
CN102467109A (en) Method for realizing efficient precise motion trajectory planning
CN113495565A (en) Robot and trajectory planning and smooth transition method, system and medium thereof
CN111670093B (en) Robot motion control method, control system and storage device
CN112192575B (en) Method and device for transition of space trajectories of adjacent joints
CN103552072B (en) A kind of robot control method based on embedded controller and device
CN107598921B (en) A kind of space smoothing method for controlling stopping applied to six axis robot arm
CN112276949B (en) Adjacent joint space-Cartesian space trajectory transition method and device
JPH07210233A (en) Interpolating method for robot tracking and device therefor
CN114986493A (en) Control method for multi-path section smooth transition of six-axis mechanical arm and mechanical arm
CN113894796A (en) Mechanical arm multi-joint track time synchronization method based on trapezoidal programming

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161130

Termination date: 20210911