JPWO2019215980A1 - Robot control device - Google Patents

Robot control device Download PDF

Info

Publication number
JPWO2019215980A1
JPWO2019215980A1 JP2020518145A JP2020518145A JPWO2019215980A1 JP WO2019215980 A1 JPWO2019215980 A1 JP WO2019215980A1 JP 2020518145 A JP2020518145 A JP 2020518145A JP 2020518145 A JP2020518145 A JP 2020518145A JP WO2019215980 A1 JPWO2019215980 A1 JP WO2019215980A1
Authority
JP
Japan
Prior art keywords
acceleration
torque
time
joint
axis
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
JP2020518145A
Other languages
Japanese (ja)
Other versions
JP7126222B2 (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.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co 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 Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Publication of JPWO2019215980A1 publication Critical patent/JPWO2019215980A1/en
Application granted granted Critical
Publication of JP7126222B2 publication Critical patent/JP7126222B2/en
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
    • B25J13/00Controls for manipulators
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/18Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form
    • G05B19/416Numerical control [NC], i.e. automatically operating machines, in particular machine tools, e.g. in a manufacturing environment, so as to execute positioning, movement or co-ordinated operations by means of programme data in numerical form characterised by control of velocity, acceleration or deceleration

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Manufacturing & Machinery (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Numerical Control (AREA)
  • Manipulator (AREA)

Abstract

多関節型のロボットアーム6の動作を制御するロボット制御装置10は、各関節軸の動力学トルクを算出する動力学トルク算出部21と、各関節軸の回転加速度が極大となる時点taでの角度移動量Δθapと回転速度ωapと回転加速度αapとが加速時間Taに関連付けられて保存されたテーブル24を有する記憶部20と、を備えている。動力学トルク算出部21は、回転加速度αapに対応する慣性項トルクτapと残余トルクτcapを算出するとともに、j軸において、慣性項トルクτapjが許容最大トルクτjmaxと残余トルクτcapとの差である利用可能トルクよりも大きい場合は加速時間Taを補正する。 The robot control device 10 that controls the operation of the articulated robot arm 6 includes a dynamic torque calculation unit 21 that calculates the dynamic torque of each joint axis, and a time point ta when the rotational acceleration of each joint axis becomes maximum. A storage unit 20 having a table 24 in which an angular movement amount Δθap, a rotation speed ωap, and a rotation acceleration αap are stored in association with an acceleration time Ta is provided. The dynamic torque calculation unit 21 calculates the inertial term torque τap and the residual torque τcap corresponding to the rotational acceleration αap, and uses the inertial term torque τappj as the difference between the allowable maximum torque τjmax and the residual torque τcap on the j-axis. If it is larger than the possible torque, the acceleration time Ta is corrected.

Description

本発明は、ロボットの動作制御に係るロボット制御装置に関する。 The present invention relates to a robot control device related to robot motion control.

モータによって回転駆動される関節軸を複数組備えた多関節型ロボットにおいて、ロボットアームを教示点間で高速移動させる場合、急激な加減速によって関節軸を駆動するモータに過大な負荷がかかることがある。 In an articulated robot equipped with a plurality of sets of joint shafts rotationally driven by a motor, when the robot arm is moved at high speed between teaching points, an excessive load may be applied to the motor that drives the joint shafts due to sudden acceleration / deceleration. is there.

特許文献1には、各関節軸の最大または最小加速度到達時間を一定に保持したまま、動力学モデルを用いて求めたトルクが目標トルクになるように、基準関節軸の最大または最小加速度を修正する技術が開示されている。このようにすることで、加減速時のロボットアームの振動を抑えて、スムーズな加減速動作を行うことができる。 In Patent Document 1, the maximum or minimum acceleration of the reference joint axis is modified so that the torque obtained by using the dynamic model becomes the target torque while keeping the maximum or minimum acceleration arrival time of each joint axis constant. The technology to be used is disclosed. By doing so, it is possible to suppress the vibration of the robot arm during acceleration / deceleration and perform smooth acceleration / deceleration operation.

特開2010−269385号公報Japanese Unexamined Patent Publication No. 2010-269385

ところで、関節軸に発生するトルクは、当該関節軸に連結されたモータの出力トルクに依存し、当該モータの許容最大トルクによって制限される。すなわち、複数の関節軸が同時に動作する場合に、関節軸を動作させるのに必要なトルクが不足する場合がある。 By the way, the torque generated in the joint shaft depends on the output torque of the motor connected to the joint shaft, and is limited by the maximum allowable torque of the motor. That is, when a plurality of joint axes operate at the same time, the torque required to operate the joint axes may be insufficient.

例えば、加速時にトルクが不足したまま関節軸を回転させると、当該関節軸だけが遅れた動作となりアーム先端の軌道が予想外の軌道をたどる場合がある。すなわち、ロボットが周辺物と接触する恐れがある。また、減速時に必要なトルクが不足すると、目標教示点でオーバシュートする場合がある。その場合も、周辺物との接触の恐れがある。 For example, if the joint shaft is rotated while the torque is insufficient during acceleration, only the joint shaft may be delayed and the trajectory of the arm tip may follow an unexpected trajectory. That is, there is a risk that the robot will come into contact with surrounding objects. Further, if the torque required for deceleration is insufficient, overshoot may occur at the target teaching point. Even in that case, there is a risk of contact with surrounding objects.

通常、これらのような場合は、ロボットアームの動作プログラムの修正を行う。具体的には、加減速時間を調整する命令を加えたり、目標動作速度を変更したりして対応する。 Usually, in such a case, the operation program of the robot arm is modified. Specifically, it responds by adding a command to adjust the acceleration / deceleration time or changing the target operating speed.

しかし、この修正作業は、実際に動作プログラムを運転してカットアンドトライで行う必要があり、工数を要していた。 However, this correction work had to be performed by actually driving the operation program and performing cut and try, which required man-hours.

また、特許文献1に示す構成では、各関節軸の最大または最小加速度到達時間を一定に保持したまま、動力学モデルを用いて求めたトルクが目標トルクになるように、基準関節軸の最大または最小加速度を修正している。 Further, in the configuration shown in Patent Document 1, the maximum or minimum acceleration of the reference joint axis is maintained so that the torque obtained by using the dynamic model becomes the target torque while keeping the maximum or minimum acceleration arrival time of each joint axis constant. The minimum acceleration is corrected.

しかし、この場合は、ロボットアームの動作は安定するものの、ロボットアームの動作時間であるタクトは増加してしまう。 However, in this case, although the operation of the robot arm is stable, the tact, which is the operation time of the robot arm, increases.

本発明は、かかる点に鑑みてなされたもので、ロボットのタクトが増加するのを抑えつつ、関節軸を動作させるのに必要なトルクがモータの許容最大トルクを超えないように、加減速時間を自動調整する仕組みを備えたロボット制御装置を提供することにある。 The present invention has been made in view of this point, and the acceleration / deceleration time is set so that the torque required to operate the joint axis does not exceed the maximum allowable torque of the motor while suppressing the increase in the tact of the robot. The purpose is to provide a robot control device equipped with a mechanism for automatically adjusting the torque.

上記目的を達成するため、本発明に係るロボット制御装置は、モータと該モータによって回転駆動される関節軸とを複数組有するロボットアームの動作を制御するロボット制御装置であって、各関節軸の回転速度と回転加速度と関節角度に基づいて、各関節軸における動力学トルクをそれぞれ算出して出力する動力学トルク算出部と、各関節軸の回転加速度が極大及び極小となる時点での各関節軸における関節角度の移動量と回転速度と前記回転加速度の極大値及び極小値とが各関節軸を加減速動作させるための加減速時間に関連付けられたテーブルを有する記憶部と、を少なくとも備え、前記動力学トルク算出部は、前記テーブル内の値に基づいて、前記回転加速度の極大値及び極小値に対応する動力学トルクを算出するとともに、前記回転加速度の極大値及び極小値に対応する慣性項トルクと、前記動力学トルクから前記慣性項トルクを差し引いた残余トルクとを算出し、各関節軸のうち少なくとも1つの関節軸において、前記慣性項トルクが各関節軸を所定の加速度で加減速動作させるに利用可能な利用可能トルクよりも大きい場合は、各関節軸の回転動作における共通の加減速時間を補正することを特徴とする。 In order to achieve the above object, the robot control device according to the present invention is a robot control device that controls the operation of a robot arm having a plurality of sets of a motor and joint shafts rotationally driven by the motor, and is a robot control device of each joint shaft. A dynamic torque calculation unit that calculates and outputs the dynamic torque in each joint axis based on the rotational speed, rotational acceleration, and joint angle, and each joint at the time when the rotational acceleration of each joint axis becomes maximum and minimum. At least a storage unit having a table in which the movement amount and rotation speed of the joint angle on the shaft and the maximum value and the minimum value of the rotation acceleration are associated with the acceleration / deceleration time for accelerating / decelerating each joint axis is provided. The kinematic torque calculation unit calculates the kinetic torque corresponding to the maximum value and the minimum value of the rotational acceleration based on the values in the table, and the inertia corresponding to the maximum value and the minimum value of the rotational acceleration. The term torque and the residual torque obtained by subtracting the inertia term torque from the kinematic torque are calculated, and the inertia term torque accelerates / decelerates each joint axis at a predetermined acceleration in at least one of the joint axes. When it is larger than the available torque available for operation, it is characterized by correcting a common acceleration / deceleration time in the rotational operation of each joint axis.

この構成によれば、各関節軸の動作に必要なトルクの不足を予め検知でき、トルクの不足分に応じた値で加減速時間または移動時間を補正して、これらの値のいずれかを当初の値よりも大きくすることで、出力可能な範囲内のトルクで関節軸を回転駆動させて、ロボットアームの動作を制御することができる。このことにより、ロボットの動作プログラムの教示修正の手間を省くことができる。また、実際の加速度が極大または極小となる時刻、つまり、関節軸での加減速動作が最も急激に行われる時刻での動力学トルクに基づいて、加減速時間を補正するため、ロボットアームを安定して動作させつつ、ロボットアームの動作時間であるタクトが増加するのを抑えることができる。 According to this configuration, the shortage of torque required for the operation of each joint axis can be detected in advance, the acceleration / deceleration time or the movement time is corrected by the value corresponding to the shortage of torque, and one of these values is initially set. By making it larger than the value of, the joint shaft can be rotationally driven with a torque within the output range, and the operation of the robot arm can be controlled. As a result, it is possible to save the trouble of teaching and modifying the operation program of the robot. In addition, the robot arm is stabilized because the acceleration / deceleration time is corrected based on the dynamic torque at the time when the actual acceleration becomes maximum or minimum, that is, the time when the acceleration / deceleration operation on the joint axis is performed most rapidly. It is possible to suppress an increase in tact, which is the operating time of the robot arm, while operating the robot arm.

以上説明したように、本発明に係るロボット制御装置によれば、ロボットアームを動作させるときの各関節軸で必要なトルクがその出力可能トルクを超えないように、加減速時間を自動調整することができ、ロボットの動作プログラムの教示修正の手間を省くことができる。また、ロボットのタクトが増加するのを抑制することができる。 As described above, according to the robot control device according to the present invention, the acceleration / deceleration time is automatically adjusted so that the torque required for each joint axis when operating the robot arm does not exceed the outputable torque. This makes it possible to save the trouble of teaching and modifying the robot operation program. In addition, it is possible to suppress an increase in the tact of the robot.

図1は、本発明の一実施形態に係るロボット制御装置の機能ブロック図である。FIG. 1 is a functional block diagram of a robot control device according to an embodiment of the present invention. 図2は、異なる関節軸での関節角度、速度及び加速度の時間変化を示す図である。FIG. 2 is a diagram showing changes in joint angles, velocities, and accelerations over time on different joint axes. 図3は、2軸ロボットの構成を示す模式図である。FIG. 3 is a schematic view showing the configuration of a two-axis robot. 図4は、j軸における加速時の速度、加速度及び動力学トルクの時間変化を示す図である。FIG. 4 is a diagram showing time changes in speed, acceleration, and kinetic torque during acceleration on the j-axis. 図5は、本発明の一実施形態に係る加減速時間の補正手順を示すフローチャートである。FIG. 5 is a flowchart showing a procedure for correcting the acceleration / deceleration time according to the embodiment of the present invention. 図6Aは、加減速時間が100msec場合の加速度、速度、角度移動量の時間変化を示す図である。FIG. 6A is a diagram showing time changes in acceleration, speed, and angular movement amount when the acceleration / deceleration time is 100 msec. 図6Bは、加減速時間が150msec場合の加速度、速度、角度移動量の時間変化を示す図である。FIG. 6B is a diagram showing time changes in acceleration, speed, and angular movement amount when the acceleration / deceleration time is 150 msec. 図6Cは、加減速時間が200msec場合の加速度、速度、角度移動量の時間変化を示す図である。FIG. 6C is a diagram showing time changes in acceleration, speed, and angular movement amount when the acceleration / deceleration time is 200 msec. 図7は、テーブルの構成を示す図である。FIG. 7 is a diagram showing the structure of the table. 図8は、角度移動量、速度及び加速度を導出するためのブロック線図である。FIG. 8 is a block diagram for deriving the amount of angular movement, velocity, and acceleration. 図9は、j軸における加減速時の関節角度、速度、加速度及び動力学トルクの時間変化を示す図である。FIG. 9 is a diagram showing changes over time in joint angles, velocities, accelerations, and kinetic torques during acceleration / deceleration on the j-axis.

以下、本発明の実施形態を図面に基づいて詳細に説明する。以下の好ましい実施形態の説明は、本質的に例示に過ぎず、本発明、その適用物或いはその用途を制限することを意図するものでは全くない。 Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The following description of preferred embodiments is merely exemplary and is not intended to limit the present invention, its applications or its uses.

(実施形態)
[ロボット制御装置の機能ブロック構成]
図1は、本実施形態に係るロボット制御装置の機能ブロック構成を示し、図2は、異なる関節軸であるi軸及びj軸における速度及び加速度の時間変化を示し、図3は、2軸ロボットの模式図を示す。なお、以降の説明において示す添字i,jは整数で1≦i,j≦nかつi≠jであり、nはロボットアーム6に含まれる関節軸の個数である。なお、以降の説明において、回転軸であるi軸やj軸の回転速度や回転加速度を単にi軸やj軸の速度や加速度と呼ぶことがある。
(Embodiment)
[Functional block configuration of robot control device]
FIG. 1 shows a functional block configuration of a robot control device according to the present embodiment, FIG. 2 shows time changes in speed and acceleration on i-axis and j-axis, which are different joint axes, and FIG. 3 shows a two-axis robot. The schematic diagram of is shown. The subscripts i and j shown in the following description are integers 1 ≦ i, j ≦ n and i ≠ j, and n is the number of joint axes included in the robot arm 6. In the following description, the rotation speed and acceleration of the i-axis and j-axis, which are the rotation axes, may be simply referred to as the speed and acceleration of the i-axis and j-axis.

ロボット制御装置10は、動作プログラム1と、処理部2と、移動指令生成部3と、加減速処理部4と、サーボ5と、移動時間算出部7と、各軸速度算出部8と、加減速時間算出部9と、記録部20と、動力学トルク算出部21と、補正処理部22と、演算部23とを機能ブロックとして備えている。なお、図1に示す機能ブロックは、記録部20に保存された、または外部から読み込まれたソフトウェアをロボット制御装置10に設けられた図示しないCPU(Central Processing Unit)等の演算装置上で実行することで実現される。このソフトウェアに動作プログラム1が含まれていてもよい。また、説明の便宜上、ロボットアーム6に組み込まれた関節軸と、当該関節軸に連結されて関節軸を回転駆動するモータとで構成される複数の組については図示を省略している。 The robot control device 10 includes an operation program 1, a processing unit 2, a movement command generation unit 3, an acceleration / deceleration processing unit 4, a servo 5, a movement time calculation unit 7, and each axis speed calculation unit 8. A deceleration time calculation unit 9, a recording unit 20, a dynamic torque calculation unit 21, a correction processing unit 22, and a calculation unit 23 are provided as functional blocks. The functional block shown in FIG. 1 executes software stored in the recording unit 20 or read from the outside on an arithmetic unit such as a CPU (Central Processing Unit) (not shown) provided in the robot control device 10. It will be realized by. The operation program 1 may be included in this software. Further, for convenience of explanation, illustration of a plurality of sets including a joint shaft incorporated in the robot arm 6 and a motor connected to the joint shaft and rotationally driving the joint shaft is omitted.

動作プログラム1には、ロボットアーム6の教示点位置と、教示点間を結ぶ軌跡の形状にあたる補間形態と、目標移動速度とが記録されている。教示点位置は、直交空間上の作業点位置またはロボットアーム6の関節角度である。目標移動速度は、教示点間を指示された補間形態で移動するときの目標速度である。 In the operation program 1, the position of the teaching point of the robot arm 6, the interpolation form corresponding to the shape of the locus connecting the teaching points, and the target moving speed are recorded. The teaching point position is the working point position in the orthogonal space or the joint angle of the robot arm 6. The target moving speed is the target speed when moving between the teaching points in the instructed interpolation form.

補間形態としては、直交空間上の作業点を、直線や円弧等の特定の形状を描くように補間するCP(continuas path)補間と、各関節軸を一定の速度で動かし、作業点の軌跡の形状は問わないPTP(point to point)補間とがあるが、以降は、PTP補間を行う場合について説明する。PTP補間は教示点間を最短時間で移動する場合に適用する補間形態であり、ロボットアーム6の関節軸のいずれかもしくは複数が、その最大速度で回転するように動作させることが多い。 Interpolation forms include CP (continuus pass) interpolation, which interpolates work points in orthogonal space so as to draw a specific shape such as a straight line or arc, and movement of each joint axis at a constant speed to create a locus of work points. There is PTP (point to point) interpolation regardless of the shape, but the case where PTP interpolation is performed will be described below. PTP interpolation is an interpolation form applied when moving between teaching points in the shortest time, and is often operated so that any or a plurality of joint axes of the robot arm 6 rotate at the maximum speed thereof.

処理部2は、動作プログラム1に記録されている教示点位置が直交空間上の値である場合に、それをロボットアーム6の各関節軸の関節角度に変換し、また、教示点位置がロボットアーム6の関節角度の場合は直交空間上の値に変換する。なお、以降の説明において、動作プログラム1上に記録された任意の教示点をPaとし、その次の教示点をPbとする。 When the teaching point position recorded in the operation program 1 is a value in the orthogonal space, the processing unit 2 converts it into the joint angle of each joint axis of the robot arm 6, and the teaching point position is the robot. In the case of the joint angle of the arm 6, it is converted into a value on the orthogonal space. In the following description, any teaching point recorded on the operation program 1 will be referred to as Pa, and the next teaching point will be referred to as Pb.

移動指令生成部3は、隣り合う教示点間の移動量と目標移動速度とに基づいて移動指令を生成して出力する。この移動指令は単位時間当たりの関節角移動量(以下、単に角度移動量と呼ぶことがある。)である。各関節の角度移動量をまとめて1組とし、これを1つの移動指令とする。よって、移動指令はベクトル量である。移動指令生成部3は、後述する移動時間に対応する複数組の移動指令を時系列的に出力する。この時系列的に出力される複数組の移動指令を移動指令列と言う。なお、移動指令生成部3が出力する移動指令列には後述する加減速処理はなされていない。 The movement command generation unit 3 generates and outputs a movement command based on the movement amount between adjacent teaching points and the target movement speed. This movement command is the amount of joint angle movement per unit time (hereinafter, may be simply referred to as the amount of angular movement). The amount of angular movement of each joint is collectively made into one set, and this is used as one movement command. Therefore, the movement command is a vector quantity. The movement command generation unit 3 outputs a plurality of sets of movement commands corresponding to the movement time described later in chronological order. A plurality of sets of movement commands output in chronological order are called a movement command sequence. The movement command sequence output by the movement command generation unit 3 is not subjected to the acceleration / deceleration process described later.

加減速処理部4は、移動指令生成部3からの移動指令列に対して加減速処理を行って、加減速した移動指令を出力する。加減速処理部4は、後述する加減速時間算出部9が出力する加速時間で目標移動速度に達するように、移動指令生成部3からの移動指令列を加減速処理する。具体的には、図2に示すように、各関節軸における加速度を時間変化させて所定の目標移動速度に到達するようにする。また、教示点Pb手前で目標移動速度から減速を始めて、加減速時間算出部9が出力する減速時間が経過した後に教示点Pbに到達するように、移動指令生成部3からの移動指令列を減速処理する。なお、以降の説明において、加速度の時間変化波形を加速プロファイルまたは減速プロファイルあるいは加減速プロファイルと呼ぶことがある。なお、図2に示すように、加減速プロファイルは、ロボットアーム6の振動を誘発しないように時間に対して速度がS字状に変化する形状とする。なお、加減速処理は後述する演算部23が出力する補正後の加速時間または減速時間に基づいて行い、具体的な加減速処理の手順については後述する。 The acceleration / deceleration processing unit 4 performs acceleration / deceleration processing on the movement command sequence from the movement command generation unit 3 and outputs the accelerated / decelerated movement command. The acceleration / deceleration processing unit 4 accelerates / decelerates the movement command sequence from the movement command generation unit 3 so that the target movement speed is reached in the acceleration time output by the acceleration / deceleration time calculation unit 9 described later. Specifically, as shown in FIG. 2, the acceleration at each joint axis is changed with time so as to reach a predetermined target moving speed. Further, the movement command sequence from the movement command generation unit 3 is arranged so that the deceleration starts from the target movement speed before the teaching point Pb and reaches the teaching point Pb after the deceleration time output by the acceleration / deceleration time calculation unit 9 elapses. Decelerate. In the following description, the time-varying waveform of acceleration may be referred to as an acceleration profile, a deceleration profile, or an acceleration / deceleration profile. As shown in FIG. 2, the acceleration / deceleration profile has a shape in which the speed changes in an S shape with time so as not to induce vibration of the robot arm 6. The acceleration / deceleration process is performed based on the corrected acceleration time or deceleration time output by the calculation unit 23, which will be described later, and the specific procedure of the acceleration / deceleration process will be described later.

サーボ5は、加減速処理部4で処理された移動指令列に基づいて、各関節軸に連結されたモータを回転駆動させてロボットアーム6の動作を制御する。 The servo 5 controls the operation of the robot arm 6 by rotationally driving a motor connected to each joint axis based on the movement command sequence processed by the acceleration / deceleration processing unit 4.

移動時間算出部7は、ロボットアーム6の先端が教示点Paから教示点Pbへ加減速せずに目標移動速度で移動するのに要する所要時間を算出して出力する。当該所要時間が移動時間に相当する。 The movement time calculation unit 7 calculates and outputs the time required for the tip of the robot arm 6 to move from the teaching point Pa to the teaching point Pb at the target moving speed without accelerating or decelerating. The required time corresponds to the travel time.

各軸速度算出部8は、PTP補間時の各関節軸の目標速度を算出し出力する。 Each axis speed calculation unit 8 calculates and outputs the target speed of each joint axis at the time of PTP interpolation.

加減速時間算出部9は、教示点Paから目標速度に加速するときの加速時間、教示点Pb手前で目標速度から減速して教示点Pbに到達するときの減速時間を求め出力する。 The acceleration / deceleration time calculation unit 9 obtains and outputs the acceleration time when accelerating from the teaching point Pa to the target speed and the deceleration time when decelerating from the target speed before the teaching point Pb and reaching the teaching point Pb.

記憶部20は、後述するテーブル24(図7参照)や動作プログラム1を保存しており、ロボット制御装置10の各部からの要求に従って保存されたデータを対応するブロックに送信する。 The storage unit 20 stores a table 24 (see FIG. 7) and an operation program 1 to be described later, and transmits the stored data to the corresponding block in accordance with a request from each unit of the robot control device 10.

動力学トルク算出部21は、テーブル24内のデータに基づいて、所定の時刻における各関節軸の動力学トルクをそれぞれ算出し出力する。 The dynamic torque calculation unit 21 calculates and outputs the dynamic torque of each joint shaft at a predetermined time based on the data in the table 24.

補正処理部22は、動力学トルク算出部21で算出された、所定の時刻における動力学トルク、慣性項トルク及び慣性項トルク以外のトルクに基づいて、後述する第1及び第2補正係数γa,γbを算出し出力する。 The correction processing unit 22 has the first and second correction coefficients γa, which will be described later, based on the torques other than the dynamic torque, the inertial term torque, and the inertial term torque calculated by the dynamic torque calculation unit 21 at a predetermined time. Calculate and output γb.

演算部23は、加減速時間算出部9で算出された加速時間Taまたは減速時間Tbに対して、補正処理部22で算出された第1または第2補正係数γa,γbを乗じて、補正後の加速時間Ta’または減速時間Tb’を求め、加減速処理部4に出力する。 The calculation unit 23 multiplies the acceleration time Ta or deceleration time Tb calculated by the acceleration / deceleration time calculation unit 9 by the first or second correction coefficients γa and γb calculated by the correction processing unit 22, and after correction. Acceleration time Ta'or deceleration time Tb'is obtained and output to the acceleration / deceleration processing unit 4.

テーブル24は、ロボットアーム6の各関節軸が駆動するときに、極大または極小となる実加速度及びそのときの速度と角度移動量が加減速時間に関連付けて配列されたテーブルである。 The table 24 is a table in which the actual acceleration that becomes the maximum or the minimum when each joint axis of the robot arm 6 is driven, and the speed and the amount of angular movement at that time are arranged in relation to the acceleration / deceleration time.

なお、加速時間は、例えば、教示点Paから加速を始めて目標移動速度に達するまでの時間をいい、減速時間とは、例えば、教示点Pbの手前で減速を始めて移動速度が零になるまでの時間をいい、加減速時間とは、これら両者を合わせた時間をいう。また、各関節軸について、各関節軸の許容最大加速度で目標速度まで加速したときの加速時間(各軸の最短加速時間と呼ぶことがある)を求め、これら各関節軸における最短加速時間の中で値が最大のものを選び、これを全軸共通の加速時間とする。図2に示すように、全ての関節軸はこの全軸共通の加速時間で加速する。また、減速時には、各関節軸における最短減速時間の中で値が最大のものを選び、これを全軸共通の減速時間とする。加速時と同様に、全ての関節軸はこの全軸共通の減速時間で減速する(図2参照)。 The acceleration time is, for example, the time from the teaching point Pa to the start of acceleration to reach the target moving speed, and the deceleration time is, for example, the time from the start of deceleration before the teaching point Pb until the moving speed becomes zero. The time is used, and the acceleration / deceleration time is the total time of both. In addition, for each joint axis, the acceleration time when accelerating to the target speed with the allowable maximum acceleration of each joint axis (sometimes called the shortest acceleration time of each axis) is obtained, and among the shortest acceleration times in each of these joint axes. Select the one with the largest value in, and use this as the acceleration time common to all axes. As shown in FIG. 2, all joint axes accelerate with an acceleration time common to all axes. At the time of deceleration, the one having the maximum value among the shortest deceleration times in each joint axis is selected, and this is set as the deceleration time common to all axes. As in the case of acceleration, all joint axes decelerate in the deceleration time common to all axes (see FIG. 2).

従って、テーブル24における加減速時間は全軸共通の加減速時間である。なお、テーブル24の構成及び作成手順については後述する。 Therefore, the acceleration / deceleration time in the table 24 is the acceleration / deceleration time common to all axes. The configuration and creation procedure of the table 24 will be described later.

[加減速時間の補正手順]
図4は、j軸における加速時の速度、加速度及び動力学トルクの時間変化を示す。なお、図4では、j軸の速度に相当する移動指令生成部3から出力された移動指令に基づいて算出された加速度やトルクを示している。また、図4において、実線は、移動指令に基づいて算出された動力学トルクを示し、破線は、実際にj軸に加わる動力学トルクを示す。
[Procedure for correcting acceleration / deceleration time]
FIG. 4 shows the time variation of velocity, acceleration and kinetic torque during acceleration on the j-axis. Note that FIG. 4 shows the acceleration and torque calculated based on the movement command output from the movement command generation unit 3 corresponding to the speed of the j-axis. Further, in FIG. 4, the solid line shows the dynamic torque calculated based on the movement command, and the broken line shows the dynamic torque actually applied to the j-axis.

図4に示すように、動力学トルクは、加速度の上昇に伴い増加し、時刻t2で最大値になった後、加速度の低下に伴い減少する。ここで、j軸が出力可能な最大トルクをj軸に関する許容最大トルクτjmaxとすると、時刻t1からt3までの期間で、移動指令に基づいて算出された動力学トルクが許容最大トルクτjmaxを上回っている。これは、関節軸を駆動させるトルクが足らないことを意味する。このような場合には、例えば、加速時間を増加させる補正を行って、動力学トルクが許容最大トルクτjmax以下になるように調整する必要がある。 As shown in FIG. 4, the kinetic torque increases as the acceleration increases, reaches a maximum value at time t2, and then decreases as the acceleration decreases. Here, assuming that the maximum torque that can be output by the j-axis is the allowable maximum torque τjmax with respect to the j-axis, the kinetic torque calculated based on the movement command exceeds the allowable maximum torque τjmax in the period from time t1 to t3. There is. This means that there is not enough torque to drive the joint shaft. In such a case, for example, it is necessary to make a correction to increase the acceleration time so that the dynamic torque becomes equal to or less than the allowable maximum torque τjmax.

しかし、ロボットアーム6が接続された実際のロボット制御装置10では、サーボ制御系の遅れ等により、加減速時の移動指令よりも実際の速度の時間変化(以下、速度プロファイルと呼ぶことがある。)が小さくなることが多く(図4中の破線参照)、これに伴い、破線で示す実際の動力学トルクが指令速度に基づいて算出された動力学トルクよりも小さくなる。 However, in the actual robot control device 10 to which the robot arm 6 is connected, the actual speed changes with time (hereinafter, referred to as a speed profile) rather than the movement command at the time of acceleration / deceleration due to the delay of the servo control system or the like. ) Is often smaller (see the broken line in FIG. 4), and accordingly, the actual dynamic torque shown by the broken line becomes smaller than the dynamic torque calculated based on the command speed.

よって、図4に示すように、実際には動力学トルクが許容最大トルクτjmaxを超えていないにも関わらず、加速時間を増加させる補正が必要と判断されてしまうことがある。この場合、タクトが増加するため、ロボットアーム6を用いた作業の生産性が低下するという問題があった。 Therefore, as shown in FIG. 4, it may be determined that the correction for increasing the acceleration time is necessary even though the dynamic torque does not actually exceed the allowable maximum torque τjmax. In this case, since the tact increases, there is a problem that the productivity of the work using the robot arm 6 decreases.

そこで、本実施形態では、加速度が極大となるときの角度移動量や実速度を用いて動力学トルクを算出し、この動力学トルクに基づいて加減速時間の補正を行うことで、上記の不具合を解消している。 Therefore, in the present embodiment, the dynamic torque is calculated using the amount of angular movement and the actual speed when the acceleration is maximized, and the acceleration / deceleration time is corrected based on the dynamic torque. Has been resolved.

<STEP1:加減速時間の算出>
図5は、本実施形態に係る加減速時間の補正手順を示し、以降で説明する5つのステップを順次実行して加減速時間の補正を行う。
<STEP1: Calculation of acceleration / deceleration time>
FIG. 5 shows a procedure for correcting the acceleration / deceleration time according to the present embodiment, and corrects the acceleration / deceleration time by sequentially executing the five steps described below.

まず、対象となる系において、加速時間Ta及び減速時間Tbを算出する(STEP1)。 First, in the target system, the acceleration time Ta and the deceleration time Tb are calculated (STEP 1).

PTP補間の場合、教示点Pa、Pbでの関節角度をそれぞれθa、θbとし、教示点間に対応する作業点間の移動時間をTm、補間の単位時間をThとするとき、移動指令Δθは、式(1)で表わされる。なお、移動時間Tmは移動時間算出部7で算出される。 In the case of PTP interpolation, when the joint angles at the teaching points Pa and Pb are θa and θb, the movement time between the working points corresponding to the teaching points is Tm, and the unit time of interpolation is Th, the movement command Δθ is , Expressed by equation (1). The travel time Tm is calculated by the travel time calculation unit 7.

Δθ=(θb−θa)・Th/Tm ・・・(1) Δθ = (θb−θa) ・ Th / Tm ・ ・ ・ (1)

ここで、θa、θb各関節軸の関節角度を要素とするベクトル量である。また、Δθは各関節軸の角度移動量を要素とするベクトル量である。 Here, it is a vector quantity having the joint angle of each of the joint axes of θa and θb as an element. Further, Δθ is a vector quantity having the amount of angular movement of each joint axis as an element.

教示点Pa,Pbに対応する作業点間の移動距離をL、目標移動速度をVとするとき、移動時間Tmは、式(2a)で表わされる。 When the moving distance between the working points corresponding to the teaching points Pa and Pb is L and the target moving speed is V, the moving time Tm is expressed by the equation (2a).

Tm=L/V ・・・(2a) Tm = L / V ... (2a)

なお、PTP補間の場合、移動距離Lは、作業点間の直線距離に相当する。また、関節軸を加速または減速回転させてロボットアーム6を動作させる際に、自身の許容最大速度を超える関節軸がある場合は、当該関節軸の速度が許容最大速度に収まるように式(2a)から算出された移動時間Tmは修正される。 In the case of PTP interpolation, the moving distance L corresponds to a straight line distance between working points. Further, when the robot arm 6 is operated by accelerating or decelerating the joint axis, if there is a joint axis exceeding its own allowable maximum speed, the equation (2a) is set so that the speed of the joint axis falls within the allowable maximum speed. The travel time Tm calculated from) is corrected.

また、PTP補間において、教示点Pa,Pbに対応する作業点間を最短時間で移動する場合は、各関節軸の移動角度をその最大速度で除して得る値(当該軸の最短移動時間と呼ぶことがある)の中の最大値を移動時間Tmとする。 Further, in PTP interpolation, when moving between working points corresponding to teaching points Pa and Pb in the shortest time, a value obtained by dividing the moving angle of each joint axis by its maximum speed (the shortest moving time of the axis). The maximum value in (sometimes called) is the travel time Tm.

すなわち、複数の関節軸のうちj軸の移動角度をΔθj、最大速度をωjmaxとするとき、移動時間Tmは式(2b)で表わされる。 That is, when the movement angle of the j-axis among the plurality of joint axes is Δθj and the maximum speed is ωjmax, the movement time Tm is expressed by the equation (2b).

Tm=max{Δθj/ωjmax} ・・・(2b) Tm = max {Δθj / ωjmax} ・ ・ ・ (2b)

ここで、max{}は括弧内の要素(1個もしくは複数個)のうちの最大のものを選択することを意味する。 Here, max {} means to select the maximum of the elements (one or more) in parentheses.

また、各軸速度算出部8で算出されたj軸に関する目標速度ωjcは、式(3)で表わされる。 Further, the target velocity ωjc for the j-axis calculated by each axis velocity calculation unit 8 is represented by the equation (3).

ωjc=(θbj−θaj)/Tm ・・・(3) ωjc = (θbj−θaj) / Tm ・ ・ ・ (3)

ここで、θaj、θbjはそれぞれ、隣り合う教示点Pa、Pbでのj軸の関節角度であり、Tmは上述した移動時間である。よって、目標速度ωcは各関節軸の目標速度を要素とするベクトル量である。なお、ωjcはPTP補間前に予め値を求めることができる。 Here, θaj and θbj are joint angles of the j-axis at adjacent teaching points Pa and Pb, respectively, and Tm is the above-mentioned movement time. Therefore, the target velocity ωc is a vector quantity having the target velocity of each joint axis as an element. The value of ωjc can be obtained in advance before PTP interpolation.

PTP補間の場合は、各軸速度算出部8からの各関節軸の目標速度に基づいて、最短の加減速時間を算出し出力する。 In the case of PTP interpolation, the shortest acceleration / deceleration time is calculated and output based on the target speed of each joint axis from each axis speed calculation unit 8.

まず、j軸についての最短加速時間Tajを次のように求める。 First, the shortest acceleration time Taj for the j-axis is obtained as follows.

Taj=|ωjc|/αajmax ・・・(4) Taj = | ωjc | / αajmax ・ ・ ・ (4)

ここで、ωjcは各軸速度算出部8で算出されたj軸の目標速度、αajmaxは、教示点Paにおいてj軸だけを単独で加速する場合のj軸の許容最大加速度である。 Here, ωjc is the target speed of the j-axis calculated by each axis speed calculation unit 8, and αajmax is the allowable maximum acceleration of the j-axis when only the j-axis is accelerated independently at the teaching point Pa.

教示点Paからロボットアーム6を移動させるときの加速時間Taは、式(5)で表わされる。 The acceleration time Ta when moving the robot arm 6 from the teaching point Pa is expressed by the equation (5).

Ta=max{Taj} ・・・(5) Ta = max {Taj} ・ ・ ・ (5)

ここで、max{}は括弧内の複数の要素から値が最大のものを選択することを意味する。 Here, max {} means to select the one having the maximum value from a plurality of elements in parentheses.

j軸についての最短減速時間Tbjについても同様に式(6)で表わされる。 Similarly, the shortest deceleration time Tbj for the j-axis is also expressed by the equation (6).

Tbj=|ωjc|/αbjmax ・・・(6) Tbj = | ωjc | / αbjmax ・ ・ ・ (6)

ここで、αbjmaxは、教示点Pbにおいてj軸だけを単独で減速する場合のj軸の許容最大加速度である。 Here, αbjmax is the maximum permissible acceleration of the j-axis when only the j-axis is decelerated independently at the teaching point Pb.

従って、教示点Pbへロボットアーム6を移動させるときの減速時間Tbは、式(7)で表わされる。 Therefore, the deceleration time Tb when the robot arm 6 is moved to the teaching point Pb is expressed by the equation (7).

Tb=max{Tbj} ・・・(7) Tb = max {Tbj} ... (7)

<STEP2:テーブル作成>
次に、実際の加速度が極大となるときの角度移動量や速度を求め、これらに基づいてテーブル24を作成する(STEP2)。
<STEP2: Create table>
Next, the amount of angular movement and the speed at which the actual acceleration becomes maximum are obtained, and the table 24 is created based on these (STEP 2).

図6Aは、加減速時間が100msecの場合の、図6Bは、加減速時間が150msecの場合の、図6Cは、加減速時間が200msecの場合の加速度、速度、角度移動量の時間変化をそれぞれ示す。図6A〜6Cにおいて、移動指令及びそれに基づいた加速度を破線で示し、実際の値を実線で示している。なお、図6Aでは、100msecの間に移動指令を0から1まで増加させたときの加速度、速度、角度移動量を示している。また、100msecの間に移動指令を1から0まで減少させたときの角度移動量もあわせて図示している。同様に、図6Bでは、150msecの間に移動指令を0から1まで増加させたときの加速度、速度、角度移動量を、図6Cでは、200msecの間に移動指令を0から1まで増加させたときの加速度、速度、角度移動量をそれぞれ示している。 6A shows the time change of acceleration, speed, and angular movement amount when the acceleration / deceleration time is 100 msec, FIG. 6B shows the acceleration / deceleration time of 150 msec, and FIG. 6C shows the acceleration / deceleration time of 200 msec. Shown. In FIGS. 6A to 6C, the movement command and the acceleration based on the movement command are shown by broken lines, and the actual values are shown by solid lines. Note that FIG. 6A shows the acceleration, velocity, and angular movement amount when the movement command is increased from 0 to 1 during 100 msec. In addition, the amount of angular movement when the movement command is reduced from 1 to 0 during 100 msec is also shown in the figure. Similarly, in FIG. 6B, the acceleration, velocity, and angular movement amount when the movement command was increased from 0 to 1 during 150 msec, and in FIG. 6C, the movement command was increased from 0 to 1 during 200 msec. The acceleration, velocity, and angular movement amount at that time are shown respectively.

図6Aに示すように、加速中の回転軸の速度及び加速度は、移動指令及びそれに基づく加速度よりも小さくなっている。これは、前述したように、サーボ制御系の応答遅れ等に基づく。従って、実際の加減速プロファイルは台形形状とならずに、時刻taで極大値を有する形状となる。時刻taにおける実際の加速度α100,速度ω100、角度移動量Δθa100を加減速時間100msecに関連付けて配列する。また、図示しないが、100msecの間に移動指令を1から0まで減少させたときに、実際の加速度が極大となる時刻を時刻tb(図示せず)とし、時刻tbにおける関節角度θbまでの角度移動量Δθb100も加減速時間100msecに関連付けて加速度α100等と同様に配列する。 As shown in FIG. 6A, the velocity and acceleration of the rotating shaft during acceleration are smaller than the movement command and the acceleration based on it. This is based on the response delay of the servo control system and the like as described above. Therefore, the actual acceleration / deceleration profile does not have a trapezoidal shape, but has a shape having a maximum value at time ta. The actual acceleration α100, velocity ω100, and angular movement amount Δθa100 at time ta are arranged in association with the acceleration / deceleration time of 100 msec. Although not shown, the time at which the actual acceleration becomes maximum when the movement command is reduced from 1 to 0 during 100 msec is set as the time tb (not shown), and the angle to the joint angle θb at the time tb. The movement amount Δθb100 is also arranged in the same manner as the acceleration α100 and the like in association with the acceleration / deceleration time of 100 msec.

図6B,6Cに示すように、加減速時間を変化させて、それぞれ、加速度α100に対応する値α150,α200等を求めて、上記と同様に加減速時間に関連付けて配列する。このようにして図7に示すテーブル24を作成し、テーブル24は記憶部20に保存される。 As shown in FIGS. 6B and 6C, the acceleration / deceleration times are changed to obtain the values α150, α200, etc. corresponding to the acceleration α100, respectively, and arranged in association with the acceleration / deceleration time in the same manner as described above. In this way, the table 24 shown in FIG. 7 is created, and the table 24 is stored in the storage unit 20.

なお、加速度α100,速度ω100、角度移動量Δθa100等は、実際のロボットアーム6の回転軸に各種センサを取付けて実測して求めてもよいし、他の方法で求めてもよい。例えば、ロボットアーム6とロボット制御装置10とで構成されるサーボ制御系のモデル及び各パラメータを用いて、図8に示すブロック線図に基づいて、シミュレーションによりこれらの値を導出するようにしてもよい。つまり、加減速時間を設定した後に、シミュレーションにより速度、加速度の時間変化を導出し、導出された加速度が極大となる値及びその時刻での速度、角度移動量を求めてテーブル24に組み込むようにする。なお、各関節軸の駆動に用いられる制御定数は、全軸共通であるため、テーブル24は1種類だけ準備される。ただし、6軸ロボット等では基本軸と手首軸とで異なる制御定数を用いる場合もある。このような場合は、図7には図示していないが、ロボットアーム6の関節軸のそれぞれについて加減速時間を共通とした上で、各データが取得されてテーブル24が作成される。また、テーブル24に含まれるデータの個数は、加減速時間の間隔により適宜決められる。 The acceleration α100, the velocity ω100, the angular movement amount Δθa100, and the like may be obtained by actually mounting various sensors on the rotation axis of the robot arm 6 and actually measuring them, or by other methods. For example, using a model of a servo control system composed of a robot arm 6 and a robot control device 10 and each parameter, these values may be derived by simulation based on the block diagram shown in FIG. Good. That is, after setting the acceleration / deceleration time, the time change of the velocity and the acceleration is derived by the simulation, and the value at which the derived acceleration is maximized and the velocity and the angular movement amount at that time are obtained and incorporated into the table 24. To do. Since the control constants used to drive each joint axis are common to all axes, only one type of table 24 is prepared. However, in a 6-axis robot or the like, different control constants may be used for the basic axis and the wrist axis. In such a case, although not shown in FIG. 7, each data is acquired and the table 24 is created after sharing the acceleration / deceleration time for each of the joint axes of the robot arm 6. Further, the number of data included in the table 24 is appropriately determined depending on the interval of acceleration / deceleration time.

<STEP3:動力学トルク及び慣性項トルクの算出>
STEP2で作成したテーブル24に基づいて、動力学トルク算出部21で各関節軸の動力学トルク及び慣性項トルクをそれぞれ算出する(STEP3)。
<STEP3: Calculation of kinetic torque and inertial term torque>
Based on the table 24 created in STEP 2, the dynamic torque calculation unit 21 calculates the dynamic torque and the inertial term torque of each joint shaft, respectively (STEP 3).

具体的には、テーブル24内の以下のパラメータ、加速度が極大となる時刻taにおける加速度αap、速度ωap、関節角度θap、加速度が極小となる時刻tbにおける加速度αbp、速度ωbp、関節角度θbp、また、ロボットアーム6のリンク長、重心位置、重心質量、リンクの慣性モーメント、モータのイナーシャ等の定数(図3参照)から、時刻ta及び時刻tbでの動力学トルクを算出する。 Specifically, the following parameters in the table 24, acceleration αap, velocity ωap, joint angle θap at time ta when acceleration is maximum, acceleration αbp, velocity ωbp, joint angle θbp at time tb when acceleration is minimum, and , The dynamic torque at time ta and time tb is calculated from constants (see FIG. 3) such as the link length, the position of the center of gravity, the mass of the center of gravity, the moment of inertia of the link, and the inertia of the motor of the robot arm 6.

この動力学トルクは、関節角度θの場合に、速度ω及び加速度αで動作するのに必要な各関節軸のトルクであり、関節角度θ、速度ω、加速度αは、各関節軸の成分からなるベクトル量である。 This kinetic torque is the torque of each joint axis required to operate at the velocity ω and the acceleration α in the case of the joint angle θ, and the joint angle θ, the velocity ω, and the acceleration α are derived from the components of each joint axis. Is a vector quantity.

また、時刻tにおける動力学トルクは式(15)で表わされる。 The kinetic torque at time t is expressed by the equation (15).

τ(t)=H(θ(t))・α(t)+D・ω(t)+b(ω(t))+c(θ(t)) ・・・(15) τ (t) = H (θ (t)) · α (t) + D · ω (t) + b (ω (t)) + c (θ (t)) ... (15)

ここで、H(θ(t))は関節角度θ(t)における慣性行列であり、Dは粘性係数からなる粘性行列である。さらに、b(ω(t))は、時刻tでの関節角度θ(t)における速度ω(t)による遠心力、コリオリ力の和、c(ω(t))は、関節角度θ(t)における重力トルクである。また、なお、式(15)は、ラグランジュ法またはニュートンオイラー法によりロボットアーム6の運動方程式を立てて解くことで導出できる。 Here, H (θ (t)) is an inertial matrix at the joint angle θ (t), and D is a viscosity matrix composed of viscosity coefficients. Further, b (ω (t)) is the sum of the centrifugal force and the Coriolis force due to the velocity ω (t) at the joint angle θ (t) at time t, and c (ω (t)) is the joint angle θ (t). ) Is the gravitational torque. Further, the equation (15) can be derived by formulating and solving the equation of motion of the robot arm 6 by the Lagrange method or the Newton Euler method.

ここで、式(15)の右辺を、第1項とそれ以外の部分とに分けて、式(16)で表わされる形式とする。なお、式(15)、(16)の右辺の第1項は加速度のみに依存する成分(以下、慣性項トルクという。)である。また、式(16)の第2項は速度ω(t)に依存する成分(以下、速度依存項トルクという。)、第2項は重力に依存する成分(以下、重力項トルクという。)である。なお、以降の説明において、τc(t)を残余トルクと呼ぶことがある。 Here, the right-hand side of the equation (15) is divided into a first term and other parts, and the form represented by the equation (16) is used. The first term on the right side of the equations (15) and (16) is a component that depends only on acceleration (hereinafter, referred to as inertial term torque). The second term of the equation (16) is a component that depends on the velocity ω (t) (hereinafter, referred to as a velocity-dependent term torque), and the second term is a component that depends on gravity (hereinafter, referred to as a gravity term torque). is there. In the following description, τc (t) may be referred to as residual torque.

τ(t)=τa(t)+τd(t)+τe(t)=τa(t)+τc(t) ・・・(16) τ (t) = τa (t) + τd (t) + τe (t) = τa (t) + τc (t) ... (16)

ただし、
τa(t)=H(θ(t))・α(t) ・・・(17)
τd(t)=D・ω(t)+b(ω(t)) ・・・(18)
τe(t)=c((ω(t)) ・・・(19)
τc(t)=τd(t)+τe(t) ・・・(20)
However,
τa (t) = H (θ (t)) ・ α (t) ・ ・ ・ (17)
τd (t) = D · ω (t) + b (ω (t)) ・ ・ ・ (18)
τe (t) = c ((ω (t)) ... (19)
τc (t) = τd (t) + τe (t) ... (20)

動力学トルク算出部21では、上述した時刻taにおける加速度αap、速度ωap、関節角度θap、時刻tbにおける加速度αbp、速度ωbp、関節角度θbpを式(16)〜(19)に代入して、時刻taでの慣性項トルクτap、速度依存項トルクτdap、重力項トルクτeap及び時刻tbでの慣性項トルクτbp、速度依存項トルクτdbp、重力項トルクτebpをそれぞれ算出する。 In the dynamic torque calculation unit 21, the acceleration αap, the velocity ωap, the joint angle θap at the time ta, the acceleration αbp at the time tb, the velocity ωbp, and the joint angle θbp are substituted into the equations (16) to (19), and the time is changed. The inertial term torque τap at ta, the speed-dependent term torque τdap, the gravity term torque τeap, and the inertial term torque τbp at time tb, the speed-dependent term torque τdbp, and the gravity term torque τebp are calculated, respectively.

例えば、図3に示す2軸ロボットにおいて、第1軸の動力学トルクτ1(t)及び第2軸の動力学トルクτ2(t)は、それぞれ式(21)、(22)で表わされる。 For example, in the two-axis robot shown in FIG. 3, the first-axis dynamic torque τ1 (t) and the second-axis dynamic torque τ2 (t) are represented by the equations (21) and (22), respectively.

τ1(t)=(H11・α1+H12・α2)+(D11・ω1+b1)+c1 ・・・(21)
τ2(t)=(H21・α1+H22・α2)+(D22・ω2+b2)+c2 ・・・(22)
τ1 (t) = (H11 ・ α1 + H12 ・ α2) + (D11 ・ ω1 + b1) + c1 ・ ・ ・ (21)
τ2 (t) = (H21 ・ α1 + H22 ・ α2) + (D22 ・ ω2 + b2) + c2 ・ ・ ・ (22)

なお、慣性行列H11〜H22は以下の式(23)〜(26)で表わされる。 The inertial matrices H11 to H22 are represented by the following equations (23) to (26).

H11=m1・lg1+m2・L1+m2・lg2+I1+I2+2・m2・L1・lg2・cosθ2+Jm1 ・・・(23)
H12=m2・lg2+I2+m2・L1・lg2・cosθ2 ・・・(24)
H21=m2・lg2+I2+m2・L1・lg2・cosθ2 ・・・(25)
H22=m2・lg2+I2+Jm2 ・・・(26)
H11 = m1 ・ lg1 2 + m2 ・ L1 2 + m2 ・ lg2 2 + I1 + I2 + 2 ・ m2 ・ L1 ・ lg2 ・ cosθ2 + Jm1 ・ ・ ・ (23)
H12 = m2 ・ lg2 2 + I2 + m2 ・ L1 ・ lg2 ・ cosθ2 ・ ・ ・ (24)
H21 = m2 ・ lg2 2 + I2 + m2 ・ L1 ・ lg2 ・ cosθ2 ・ ・ ・ (25)
H22 = m2 ・ lg2 2 + I2 + Jm2 ・ ・ ・ (26)

また、粘性行列D11,D22は式(27)、(28)で表わされる。 The viscosity matrices D11 and D22 are represented by the equations (27) and (28).

D11=d1 ・・・(27)
D22=d2 ・・・(28)
D11 = d1 ... (27)
D22 = d2 ... (28)

また、速度依存項トルクであるb1,b2はそれぞれ式(29)、(30)で表わされる。 The speed-dependent term torques b1 and b2 are represented by the equations (29) and (30), respectively.

b1=−m2・L1・lg2・(2・ω1+ω2)・ω2・sinθ2 ・・・(29)
b2=m2・L1・lg2・ω1・sinθ2 ・・・(30)
b1 = -m2, L1, lg2, (2, ω1 + ω2), ω2, sinθ2 ... (29)
b2 = m2, L1, lg2, ω1 2 , sinθ2 ... (30)

また、重力項トルクに対応するc1,c2はそれぞれ式(31)、(32)で表わされる。 Further, c1 and c2 corresponding to the gravitational term torque are represented by the equations (31) and (32), respectively.

c1=(m1・g・lg1+m2・g・L1)cosθ1+m2・g・lg2・cos(θ1+θ2) ・・・(31)
c2=m2・g・lg2・cos(θ1+θ2) ・・・(32)
c1 = (m1 ・ g ・ lg1 + m2 ・ g ・ L1) cos θ1 + m2 ・ g ・ lg2 ・ cos (θ1 + θ2) ・ ・ ・ (31)
c2 = m2 ・ g ・ lg2 ・ cos (θ1 + θ2) ・ ・ ・ (32)

ここで、式(21)〜(32)における各符号の内容は以下の通りである。 Here, the contents of each reference numeral in the equations (21) to (32) are as follows.

θ1:時刻tにおける第1軸の回転角(紙面における左回りを正方向とする。)
θ2:時刻tにおける第2軸の回転角(紙面における左回りを正方向とする。)
ω1:時刻tにおける第1軸の回転速度
ω2:時刻tにおける第2軸の回転速度
α1:時刻tにおける第1軸の回転加速度
α2:時刻tにおける第2軸の回転加速度
m1:第1軸のリンクの重心質量
m2:第2軸のリンクの重心質量、なお、m2にはリンク先端の負荷の質量が含まれる。
θ1: Rotation angle of the first axis at time t (counterclockwise on the paper is the positive direction)
θ2: Rotation angle of the second axis at time t (counterclockwise on the paper is the positive direction)
ω1: Rotational speed of the first axis at time t ω2: Rotational speed of the second axis at time t α1: Rotational acceleration of the first axis at time t α2: Rotational acceleration of the second axis at time t m1: Rotational acceleration of the first axis Link center of gravity mass m2: The center of gravity mass of the link on the second axis, and m2 includes the mass of the load at the tip of the link.

lg1:第1軸の回転中心から重心位置までの距離
lg2:第2軸の回転中心から重心位置までの距離
L1:第1軸の回転中心から第2軸の回転中心までの距離
I1:第1軸の、重心位置での回転軸回りの主慣性モーメント
I2:第2軸の、重心位置での回転軸回りの主慣性モーメント
Jm1:第1軸のモータイナーシャのアーム回転軸換算値
Jm2:第2軸のモータイナーシャのアーム回転軸換算値
d1:第1軸の粘性摩擦係数
d2:第2軸の粘性摩擦係数
g:重力加速度
である。
lg1: Distance from the center of rotation of the first axis to the position of the center of gravity lg2: Distance from the center of rotation of the second axis to the position of the center of gravity L1: Distance from the center of rotation of the first axis to the center of rotation of the second axis I1: First Main inertia moment around the rotation axis of the axis at the center of gravity I2: Main inertia moment around the rotation axis of the second axis at the center of gravity Jm1: Converted value of the arm rotation axis of the motor inertia of the first axis Jm2: Second Shaft motor inertia arm rotation axis conversion value d1: First axis viscous friction coefficient d2: Second axis viscous friction coefficient g: Gravity acceleration.

<STEP4:補正係数の算出>
図9は、j軸における加減速時の関節角度、速度、加速度及び動力学トルクの時間変化を示す。また、図9は、補正係数γを導出するための考え方を示す模式図でもある。
<STEP4: Calculation of correction coefficient>
FIG. 9 shows the temporal changes in joint angle, velocity, acceleration, and kinetic torque during acceleration / deceleration on the j-axis. Further, FIG. 9 is also a schematic diagram showing a concept for deriving the correction coefficient γ.

前述したように、補正処理部22は、動力学トルク算出部21で算出された、所定の時刻における動力学トルク、慣性項トルク及び慣性項トルク以外のトルク(速度依存項トルク、重力項トルク)に基づいて第1及び第2補正係数γa,γbを算出し出力する。 As described above, the correction processing unit 22 has a torque other than the dynamic torque, the inertial term torque, and the inertial term torque calculated by the dynamic torque calculation unit 21 (speed-dependent term torque, gravity term torque). The first and second correction coefficients γa and γb are calculated and output based on the above.

具体的な第1及び第2補正係数γa,γbの算出手順について以下に説明する。なお、j軸の出力可能な最大トルクを許容最大トルクτjmaxとする。また、本実施形態では、時刻ta,tbの前後における重力項トルクと速度依存項トルクの変化量は、慣性項トルクの変化量に比べて十分に小さいものとする。 The specific procedure for calculating the first and second correction coefficients γa and γb will be described below. The maximum torque that can be output on the j-axis is defined as the allowable maximum torque τjmax. Further, in the present embodiment, the amount of change in the gravity term torque and the speed-dependent term torque before and after the time ta and tb is assumed to be sufficiently smaller than the amount of change in the inertial term torque.

まず、j軸に関する許容最大トルクτjmaxと、時刻taにおけるj軸の残余トルクτcapjとを用いて、式(33)に示すトルクτarjを算出する。 First, the torque τarj represented by the equation (33) is calculated by using the allowable maximum torque τjmax with respect to the j-axis and the residual torque τcapj of the j-axis at time ta.

τarj=τjmax−τcapj ・・・(33) τarj = τjmax-τcapj ・ ・ ・ (33)

なお、許容最大トルτjmaxの符号は時刻taにおける動力学トルクτj(ta)と同符号に合わせる。 The sign of the allowable maximum torque τjmax is matched with the sign of the dynamic torque τj (ta) at time ta.

次に、動力学トルク算出部21で算出された時刻taにおけるj軸の慣性項トルクτapjとトルクτarjを用いて、j軸に関する補正係数γajを算出する。 Next, the correction coefficient γaj with respect to the j-axis is calculated using the inertial term torque τapj and torque τarj of the j-axis at the time ta calculated by the dynamics torque calculation unit 21.

γaj=τapj/τarj ・・・(34) γaj = τapj / τarj ・ ・ ・ (34)

同様に、j軸に関する許容最大トルクτjmaxと、時刻tbにおけるj軸の残余トルクτcbpjとを用いて、式(35)に示すトルクτbrjを算出する。 Similarly, the torque τbrj represented by the equation (35) is calculated by using the maximum allowable torque τjmax with respect to the j-axis and the residual torque τcbpj of the j-axis at time tb.

τbrj=τjmax−τcbpj ・・・(35) τbrj = τjmax-τcbpj ... (35)

なお、許容最大トルτjmaxの符号は時刻tbにおける動力学トルクτj(tb)と同符号に合わせる。 The sign of the allowable maximum torque τjmax is matched with the sign of the dynamic torque τj (tb) at time tb.

次に、動力学トルク算出部21で算出された時刻tbにおけるj軸の慣性項トルクτbpjとトルクτbrjを用いて、j軸に関する補正係数γbjを計算する。 Next, the correction coefficient γbj for the j-axis is calculated using the inertial term torque τbpj and the torque τbrj of the j-axis at the time tb calculated by the dynamics torque calculation unit 21.

γbj=τbpj/τbrj ・・・(36) γbj = τbpj / τbrj ・ ・ ・ (36)

ここで、式(33)に示すトルクτarj及び式(35)中のトルクτbrjは、j軸における最大加速度での加減速回転動作を行う場合に、j軸の許容最大トルクτjmaxのうち利用可能なトルク(以下、利用可能トルクと呼ぶことがある。)に相当する。また、慣性項トルクτapj及びτbjは、j軸における最大加速度での加減速回転動作を実現するのに必要なトルクである。 Here, the torque τarj shown in the equation (33) and the torque τbrj in the equation (35) can be used among the maximum allowable torque τjmax of the j-axis when the acceleration / deceleration rotation operation at the maximum acceleration in the j-axis is performed. It corresponds to torque (hereinafter, may be referred to as available torque). Further, the inertial term torques τapj and τbj are torques required to realize the acceleration / deceleration rotation operation at the maximum acceleration on the j-axis.

従って、式(34),(36)に示すγaj,γbjが1以下であれば、j軸は所定の最大加速度で加減速回転動作が可能となる。一方、γaj,γbjが1よりも大きければ、j軸は所望の動作を実現するのに必要なトルクが足らないことを意味する。 Therefore, if γaj and γbj shown in the equations (34) and (36) are 1 or less, the j-axis can perform acceleration / deceleration rotation operation at a predetermined maximum acceleration. On the other hand, if γaj and γbj are larger than 1, it means that the j-axis does not have enough torque to realize the desired operation.

次に、ロボットアーム6の全関節軸について、式(33)〜(36)により補正係数をそれぞれ算出し、加速動作中に得られた補正係数の中の最大のものを選んで、第1補正係数γaとする。また、減速動作中に得られた補正係数の中の最大のものを選んで、第2補正係数γbとする。なお、以降の説明において、γa,γbを総称して補正係数γと呼ぶことがある。 Next, for all the joint axes of the robot arm 6, the correction coefficients are calculated by the equations (33) to (36), and the largest correction coefficient obtained during the acceleration operation is selected to make the first correction. Let the coefficient be γa. Further, the maximum correction coefficient obtained during the deceleration operation is selected and used as the second correction coefficient γb. In the following description, γa and γb may be collectively referred to as a correction coefficient γ.

γa=max{γaj} ・・・(37)
γb=max{γbj} ・・・(38)
γa = max {γaj} ・ ・ ・ (37)
γb = max {γbj} ・ ・ ・ (38)

<STEP5:加減速時間の補正>
演算部23は、加減速時間算出部9で算出された加速時間Taに対して、補正処理部22で算出された第1補正係数γaを乗じて、補正後の加速時間Ta’を求め、加減速処理部4に出力する。また、演算部23は、加減速時間算出部9で算出された減速時間Tbに対して、補正処理部22で算出された第2補正係数γbを乗じて、補正後の減速時間Tb’を求め、加減速処理部4に出力する。なお、Ta’、Tb’はそれぞれ式(39)、(40)で表わされる。
<STEP5: Correction of acceleration / deceleration time>
The calculation unit 23 multiplies the acceleration time Ta calculated by the acceleration / deceleration time calculation unit 9 by the first correction coefficient γa calculated by the correction processing unit 22 to obtain the corrected acceleration time Ta'and adds it. Output to the deceleration processing unit 4. Further, the calculation unit 23 multiplies the deceleration time Tb calculated by the acceleration / deceleration time calculation unit 9 by the second correction coefficient γb calculated by the correction processing unit 22 to obtain the corrected deceleration time Tb'. , Output to the acceleration / deceleration processing unit 4. In addition, Ta'and Tb'are represented by equations (39) and (40), respectively.

Ta’=Ta・γa ・・・(39)
Tb’=Tb・γb ・・・(40)
Ta'= Ta ・ γa ・ ・ ・ (39)
Tb'= Tb ・ γb ・ ・ ・ (40)

式(33)〜(40)より明らかなように、γa,γb≦1の場合は、いずれの関節軸においてもトルク不足は生じていないことを意味する。この場合は、第1及び第2補正係数γa,γbを乗じて得る補正後の加速時間Ta’及び減速時間Tb’は当初の加速時間Ta及び減速時間Tbと同じである。 As is clear from the formulas (33) to (40), when γa and γb ≦ 1, it means that the torque shortage does not occur in any of the joint axes. In this case, the corrected acceleration time Ta'and deceleration time Tb' obtained by multiplying the first and second correction coefficients γa and γb are the same as the initial acceleration time Ta and deceleration time Tb.

一方、γa,γb>1の場合は、の場合は、いずれかの関節軸においてトルク不足が生じていることを意味する。そこで、当初の加速時間Taをγa(>1)倍した新たな加速時間Ta’(>Ta)で関節軸を回転させる。これは、関節軸の当初の加速度を1/γa倍に下げる、すなわち、慣性項トルクを1/γa倍に下げるということである。従って、第1補正係数γaにより補正されたj軸の動力学トルクτjは、その許容最大トルクτjmaxを超えることはない。同様に、第2補正係数γbにより補正されたj軸の動力学トルクτjは、その許容最大トルクτjmaxを超えることはない。 On the other hand, when γa and γb> 1, it means that torque is insufficient in any of the joint axes. Therefore, the joint axis is rotated at a new acceleration time Ta'(> Ta) obtained by multiplying the initial acceleration time Ta by γa (> 1). This means that the initial acceleration of the joint axis is reduced by 1 / γa times, that is, the inertial term torque is reduced by 1 / γa times. Therefore, the j-axis dynamic torque τj corrected by the first correction coefficient γa does not exceed the allowable maximum torque τjmax. Similarly, the j-axis dynamic torque τj corrected by the second correction coefficient γb does not exceed the allowable maximum torque τjmax.

加減速処理部4は、この補正後の加速時間Ta’または減速時間Tb’を用いて、移動指令生成部3から出力された移動指令列に対して上述した加減速処理を行う。 The acceleration / deceleration processing unit 4 performs the above-mentioned acceleration / deceleration processing on the movement command sequence output from the movement command generation unit 3 by using the corrected acceleration time Ta'or deceleration time Tb'.

[効果等]
以上説明したように、本実施形態におけるロボット制御装置10は、モータと該モータによって回転駆動される関節軸とを複数組有するロボットアーム6の動作を制御する。
[Effects, etc.]
As described above, the robot control device 10 in the present embodiment controls the operation of the robot arm 6 having a plurality of sets of a motor and a plurality of joint shafts rotationally driven by the motor.

また、ロボット制御装置10は、各関節軸の回転速度と回転加速度と関節角度に基づいて、各関節軸における動力学トルクをそれぞれ算出して出力する動力学トルク算出部21と、各関節軸の回転加速度が極大及び極小となる時点ta,tbでの各関節軸における関節角度の移動量Δθap,Δθbpと回転速度ωap,ωbpと回転加速度の極大値αap及び極小値αbpとが各関節軸を加減速動作させるための加減速時間Ta,Tbに関連付けられて保存されたテーブル24と、これが格納された記憶部20と、を少なくとも備えている。 Further, the robot control device 10 has a dynamic torque calculation unit 21 that calculates and outputs dynamic torque in each joint axis based on the rotational speed, rotational acceleration, and joint angle of each joint axis, and a dynamic torque calculation unit 21 of each joint axis. The amount of movement of the joint angle at each joint axis at the time points ta and tb when the rotational acceleration becomes maximum and minimum Δθap, Δθbp, the rotational speed ωap, ωbp, and the maximum value αap and minimum value αbp of the rotational acceleration add each joint axis. It includes at least a table 24 stored in association with acceleration / deceleration times Ta and Tb for deceleration operation, and a storage unit 20 in which the tables 24 are stored.

動力学トルク算出部21は、テーブル24内の値に基づいて、回転加速度の極大値αap及び極小値αbpに対応する動力学トルクを算出するとともに、回転加速度の極大値αap及び極小値αbpに対応する慣性項トルクτap,τbpと、動力学トルクから慣性項トルクを差し引いた残余トルクτcap,τcbpとを算出し、各関節軸のうち少なくとも1つの関節軸において、慣性項トルクτapが各関節軸を所定の加速度で加減速動作させるに利用可能な利用可能トルク(τmax−τcap)よりも大きいか、慣性項トルクτbpが各関節軸を所定の加速度で加減速動作させるに利用可能な利用可能トルク(τmax−τcbp)よりも大きい場合は、各関節軸の回転動作における共通の加減速時間TaまたはTbを補正する。 The dynamic torque calculation unit 21 calculates the dynamic torque corresponding to the maximum value αap and the minimum value αbp of the rotational acceleration based on the values in the table 24, and also corresponds to the maximum value αap and the minimum value αbp of the rotational acceleration. The inertial term torques τap and τbp to be applied and the residual torques τcap and τcbp obtained by subtracting the inertial term torque from the dynamic torque are calculated, and the inertial term torque τap determines each joint axis at at least one of the joint axes. Available torque that is greater than the available torque (τmax-τcap) available for accelerating or decelerating at a given acceleration, or the inertial term torque τbp is available for accelerating or decelerating each joint axis at a given acceleration (τmax-τcap). If it is larger than τmax−τcbp), the common acceleration / deceleration time Ta or Tb in the rotational movement of each joint axis is corrected.

本実施形態によれば、多関節ロボットにおいて、各関節軸での加減速に必要なトルクが不足しているかどうかを予め検知でき、トルクが不足している場合は、加速時間Taまたは減速時間Tbを補正して、出力可能な範囲内のトルクで関節軸の回転動作を加速して、ロボットアーム6の動作を制御することができる。このことにより、ロボットの動作プログラム1の教示修正の手間を省くことができる。 According to the present embodiment, in the articulated robot, it is possible to detect in advance whether or not the torque required for acceleration / deceleration at each joint axis is insufficient, and if the torque is insufficient, the acceleration time Ta or the deceleration time Tb Can be corrected to accelerate the rotational movement of the joint shaft with a torque within the output range, and the movement of the robot arm 6 can be controlled. As a result, it is possible to save the trouble of teaching and modifying the robot operation program 1.

また、ロボット制御装置10は、ロボットアーム6における隣り合う作業点間距離Lと目標移動速度Vとに基づいて、各関節軸に対する移動指令Δθをそれぞれ生成して出力する移動指令生成部3と、一の関節軸であるj軸が出力可能な許容最大トルクτjmaxから残余トルクτcapまたはτcbpを差し引いた成分である利用可能トルクと、慣性項トルクτap,τbpとのトルク比を算出し、さらに各関節軸における当該トルク比をそれぞれ算出して、各関節軸におけるトルク比の中の最大値を補正係数γとして出力する補正処理部22と、を備えている。また、ロボット制御装置10は、補正係数γが1以下の場合は、予め設定された加速時間Taまたは減速時間Tbに基づいて移動指令Δθを加減速処理し、補正係数γが1を超える場合は、加速時間Taまたは減速時間Tbに補正係数γを乗じて補正された加速時間Ta’または減速時間Tb’に基づいて移動指令Δθを加減速処理する加減速処理部4と、を備えている。 Further, the robot control device 10 includes a movement command generation unit 3 that generates and outputs a movement command Δθ for each joint axis based on the distance L between adjacent work points in the robot arm 6 and the target movement speed V. The torque ratio between the available torque, which is the component obtained by subtracting the residual torque τcap or τcbp from the maximum allowable torque τjmax that can be output by the j-axis, which is one joint axis, and the inertial term torques τap and τbp, is calculated, and further, each joint is calculated. It is provided with a correction processing unit 22 that calculates the torque ratio on each shaft and outputs the maximum value in the torque ratio on each joint shaft as a correction coefficient γ. Further, the robot control device 10 accelerates / decelerates the movement command Δθ based on the preset acceleration time Ta or deceleration time Tb when the correction coefficient γ is 1 or less, and when the correction coefficient γ exceeds 1. The acceleration / deceleration processing unit 4 that accelerates / decelerates the movement command Δθ based on the acceleration time Ta'or the deceleration time Tb' corrected by multiplying the acceleration time Ta or the deceleration time Tb by the correction coefficient γ is provided.

加減速処理部4で加減速処理された移動指令Δθに基づいて各関節軸を回転駆動させてロボットアーム6の動作を制御する。 The operation of the robot arm 6 is controlled by rotationally driving each joint axis based on the movement command Δθ processed by the acceleration / deceleration processing unit 4.

本実施形態によれば、多関節ロボットにおいて、各関節軸での加速に必要なトルクが不足しているかどうかを予め検知でき、トルクが不足している場合は、不足分に応じた値である第1補正係数γa(>1)で加速時間Taを補正して、加速時間Taを当初の値よりも大きな時間Ta’とすることで、出力可能な範囲内のトルクで関節軸の回転動作を加速して、ロボットアーム6の動作を制御することができる。このことにより、ロボットの動作プログラム1の教示修正の手間を省くことができる。同様に、トルクの不足分に応じた値である第2補正係数γb(>1)で減速時間Tbを補正して、減速時間Tbを当初の値よりも大きな時間Tb’とすることで、出力可能な範囲内のトルクで関節軸の回転動作を減速して、ロボットアーム6の動作を制御することができる。このことにより、ロボットの動作プログラム1の教示修正の手間を省くことができる。 According to the present embodiment, in the articulated robot, it is possible to detect in advance whether or not the torque required for acceleration at each joint axis is insufficient, and if the torque is insufficient, it is a value according to the shortage. By correcting the acceleration time Ta with the first correction coefficient γa (> 1) and setting the acceleration time Ta to a time Ta'larger than the initial value, the rotational movement of the joint shaft can be performed with a torque within the output range. The operation of the robot arm 6 can be controlled by accelerating. As a result, it is possible to save the trouble of teaching and modifying the robot operation program 1. Similarly, the deceleration time Tb is corrected by the second correction coefficient γb (> 1), which is a value corresponding to the insufficient torque, and the deceleration time Tb is set to a time Tb'larger than the initial value to output. The operation of the robot arm 6 can be controlled by decelerating the rotational operation of the joint shaft with a torque within a possible range. As a result, it is possible to save the trouble of teaching and modifying the robot operation program 1.

また、実際の加速度が極大または極小となる時刻、つまり、関節軸での加減速動作が最も急激に行われる時刻での動力学トルクに基づいて、加速時間Ta及び/または減速時間Tbを補正するため、ロボットアーム6を安定して動作させつつ、ロボットアーム6の動作時間であるタクトが増加するのを抑えることができる。 Further, the acceleration time Ta and / or the deceleration time Tb is corrected based on the dynamic torque at the time when the actual acceleration becomes the maximum or the minimum, that is, the time when the acceleration / deceleration operation on the joint axis is performed most rapidly. Therefore, while the robot arm 6 is operated stably, it is possible to suppress an increase in tact, which is the operating time of the robot arm 6.

テーブル24に保存された値は、移動指令に基づいて算出されるようにしてもよい。 The values stored in the table 24 may be calculated based on the movement command.

このようにすることで、テーブル24の作成作業が簡素化されるとともに、作成時間を短縮することができる。 By doing so, the work of creating the table 24 can be simplified and the creation time can be shortened.

なお、本実施形態では、加減速プロファイルを台形形状としたが、これ以外のプロファイルに対しても適用できることは言うまでもない。 In this embodiment, the acceleration / deceleration profile has a trapezoidal shape, but it goes without saying that it can be applied to other profiles.

本発明のロボット制御装置は、タクトの増加を抑制しつつ、ロボットアームを移動させる際に各関節軸で必要なトルクがその出力可能トルクを超えないように、加減速時間を自動調整することができて、ロボットの動作プログラムの教示修正を少なくし、教示作業を効率的に行うことができて、複数軸からなるロボットに適用する上できわめて有用である。 The robot control device of the present invention can automatically adjust the acceleration / deceleration time so that the torque required for each joint axis does not exceed the outputable torque when moving the robot arm while suppressing the increase in tact. It is possible to reduce the number of teaching corrections of the robot operation program, and the teaching work can be performed efficiently, which is extremely useful for application to a robot composed of a plurality of axes.

1 動作プログラム
2 処理部
3 移動指令生成部
4 加減速処理部
5 サーボ
6 ロボットアーム
7 移動時間算出部
8 各軸速度算出部
9 加減速時間算出部
10 ロボット制御装置
20 記憶部
21 動力学トルク算出部
22 補正処理部
23 演算部
24 テーブル
1 Operation program 2 Processing unit 3 Movement command generation unit 4 Acceleration / deceleration processing unit 5 Servo 6 Robot arm 7 Movement time calculation unit 8 Each axis speed calculation unit 9 Acceleration / deceleration time calculation unit 10 Robot control device 20 Storage unit 21 Dynamics torque calculation Part 22 Correction processing part 23 Calculation part 24 Table

Claims (3)

モータと該モータによって回転駆動される関節軸とを複数組有するロボットアームの動作を制御するロボット制御装置であって、
各関節軸の回転速度と回転加速度と関節角度に基づいて、各関節軸における動力学トルクをそれぞれ算出して出力する動力学トルク算出部と、
各関節軸の回転加速度が極大及び極小となる時点での各関節軸における関節角度の移動量と回転速度と前記回転加速度の極大値及び極小値とが各関節軸を加減速動作させるための加減速時間に関連付けられたテーブルを有する記憶部と、を少なくとも備え、
前記動力学トルク算出部は、前記テーブル内の値に基づいて、前記回転加速度の極大値及び極小値に対応する動力学トルクを算出するとともに、前記回転加速度の極大値及び極小値に対応する慣性項トルクと、前記動力学トルクから前記慣性項トルクを差し引いた残余トルクとを算出し、
各関節軸のうち少なくとも1つの関節軸において、前記慣性項トルクが各関節軸を所定の加速度で加減速動作させるに利用可能な利用可能トルクよりも大きい場合は、各関節軸の回転動作における共通の加減速時間を補正することを特徴とするロボット制御装置。
A robot control device that controls the operation of a robot arm having a plurality of sets of a motor and joint shafts rotationally driven by the motor.
A dynamic torque calculation unit that calculates and outputs the dynamic torque of each joint axis based on the rotational speed, rotational acceleration, and joint angle of each joint axis.
The amount of movement and rotational speed of the joint angle at each joint axis at the time when the rotational acceleration of each joint axis becomes maximum and minimum, and the maximum and minimum values of the rotational acceleration are added to accelerate and decelerate each joint axis. With at least a storage unit having a table associated with the deceleration time,
The kinetic torque calculation unit calculates the kinetic torque corresponding to the maximum value and the minimum value of the rotational acceleration based on the values in the table, and the inertia corresponding to the maximum value and the minimum value of the rotational acceleration. The term torque and the residual torque obtained by subtracting the inertial term torque from the kinetic torque are calculated.
In at least one joint axis of each joint axis, if the inertial term torque is greater than the available torque available for accelerating or decelerating each joint axis at a predetermined acceleration, it is common in the rotational movement of each joint axis. A robot control device characterized by correcting the acceleration / deceleration time of.
請求項1に記載のロボット制御装置において、
前記ロボットアームにおける隣り合う作業点間距離と目標移動速度とに基づいて、各関節軸に対する移動指令をそれぞれ生成して出力する移動指令生成部と、
一の前記関節軸が出力可能な許容最大トルクから前記残余トルクを差し引いた成分である前記利用可能トルクと、前記慣性項トルクとのトルク比を算出し、さらに各関節軸における当該トルク比をそれぞれ算出して、各関節軸における前記トルク比の中の最大値を補正係数として出力する補正処理部と、
前記補正係数が1以下の場合は、予め設定された前記加減速時間に基づいて前記移動指令を加減速処理し、前記補正係数が1を超える場合は、前記加減速時間に前記補正係数を乗じて補正された加減速時間に基づいて前記移動指令を加減速処理する加減速処理部と、をさらに備え、
前記加減速処理部で加減速処理された前記移動指令に基づいて各関節軸を回転駆動させて前記ロボットアームの動作を制御することを特徴とするロボット制御装置。
In the robot control device according to claim 1,
A movement command generator that generates and outputs a movement command for each joint axis based on the distance between adjacent work points and the target movement speed in the robot arm.
The torque ratio between the available torque, which is a component obtained by subtracting the residual torque from the maximum allowable torque that can be output by one joint shaft, and the inertial term torque is calculated, and the torque ratio at each joint shaft is calculated. A correction processing unit that calculates and outputs the maximum value in the torque ratio of each joint axis as a correction coefficient.
When the correction coefficient is 1 or less, the movement command is accelerated / decelerated based on the preset acceleration / deceleration time, and when the correction coefficient exceeds 1, the acceleration / deceleration time is multiplied by the correction coefficient. Further, an acceleration / deceleration processing unit that performs acceleration / deceleration processing of the movement command based on the corrected acceleration / deceleration time is further provided.
A robot control device characterized by controlling the operation of the robot arm by rotationally driving each joint axis based on the movement command processed by the acceleration / deceleration processing unit.
請求項1または2に記載のロボット制御装置において、
前記テーブルに保存された値は、移動指令に基づいて算出されることを特徴とするロボット制御装置。
In the robot control device according to claim 1 or 2.
A robot control device characterized in that the values stored in the table are calculated based on a movement command.
JP2020518145A 2018-05-10 2019-02-14 robot controller Active JP7126222B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2018091668 2018-05-10
JP2018091668 2018-05-10
PCT/JP2019/005302 WO2019215980A1 (en) 2018-05-10 2019-02-14 Robot control device

Publications (2)

Publication Number Publication Date
JPWO2019215980A1 true JPWO2019215980A1 (en) 2021-05-20
JP7126222B2 JP7126222B2 (en) 2022-08-26

Family

ID=68467986

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020518145A Active JP7126222B2 (en) 2018-05-10 2019-02-14 robot controller

Country Status (2)

Country Link
JP (1) JP7126222B2 (en)
WO (1) WO2019215980A1 (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0580833A (en) * 1991-09-18 1993-04-02 Mitsubishi Electric Corp Controller for industrial robot
JPH07200033A (en) * 1993-12-28 1995-08-04 Mitsubishi Electric Corp Robot controller
JPH11259108A (en) * 1998-03-13 1999-09-24 Mitsubishi Electric Corp Robot controller
JP2007279899A (en) * 2006-04-04 2007-10-25 Mitsubishi Electric Corp Numerical control apparatus
JP2009028851A (en) * 2007-07-27 2009-02-12 Nachi Fujikoshi Corp Robot control device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0580833A (en) * 1991-09-18 1993-04-02 Mitsubishi Electric Corp Controller for industrial robot
JPH07200033A (en) * 1993-12-28 1995-08-04 Mitsubishi Electric Corp Robot controller
JPH11259108A (en) * 1998-03-13 1999-09-24 Mitsubishi Electric Corp Robot controller
JP2007279899A (en) * 2006-04-04 2007-10-25 Mitsubishi Electric Corp Numerical control apparatus
JP2009028851A (en) * 2007-07-27 2009-02-12 Nachi Fujikoshi Corp Robot control device

Also Published As

Publication number Publication date
JP7126222B2 (en) 2022-08-26
WO2019215980A1 (en) 2019-11-14

Similar Documents

Publication Publication Date Title
JP3900789B2 (en) Motor speed / acceleration determination method, acceleration / deceleration generation method, acceleration / deceleration control method, acceleration / deceleration control device, and motor control device
US9764471B2 (en) Trajectory generation apparatus for robot to generate trajectory including curved portion
JP5916583B2 (en) Weaving control device for articulated robot
WO2013140679A1 (en) Track control device
US9676100B2 (en) Control apparatus of robot, robot, and program thereof
JP7170181B2 (en) robot controller
JP4192780B2 (en) Robot control device
JP4498061B2 (en) Welding robot controller
EP3912767A1 (en) Robot control device, robot control method, and robot control program
JPWO2019215980A1 (en) Robot control device
JP2013223895A (en) Robot control method and robot control device
JP5436930B2 (en) S-curve acceleration / deceleration trajectory generation method and articulated robot system
JP2016005296A (en) Control method of motor drive device, motor drive device and robot device
WO2019012942A1 (en) Robot control device
JP2016177513A (en) Tandem position control device
JP2023159641A (en) Path generation method of generating path of robot using command from external apparatus and robot control system
JP5633268B2 (en) Robot control device
JPH0276692A (en) Robot adaptation control method
JP6915470B2 (en) Robot control device
JP6926882B2 (en) Robot control device
JPH0760667A (en) Weaving control device for robot
JPWO2020008751A1 (en) Robot control method and robot control device
JPS63314607A (en) Controller for articulated robot
JP3194829B2 (en) Robot motion program generation device
JP2023015848A (en) Robot controller and robot emergency stop method

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210805

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220802

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220805

R151 Written notification of patent or utility model registration

Ref document number: 7126222

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151