[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

JP2013223895A - Robot control method and robot control device - Google Patents

Robot control method and robot control device Download PDF

Info

Publication number
JP2013223895A
JP2013223895A JP2012096591A JP2012096591A JP2013223895A JP 2013223895 A JP2013223895 A JP 2013223895A JP 2012096591 A JP2012096591 A JP 2012096591A JP 2012096591 A JP2012096591 A JP 2012096591A JP 2013223895 A JP2013223895 A JP 2013223895A
Authority
JP
Japan
Prior art keywords
end effector
determination value
acceleration
joint
control
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.)
Pending
Application number
JP2012096591A
Other languages
Japanese (ja)
Inventor
Toshio Takano
寿男 高野
Hiromitsu Ota
浩充 太田
Yasuharu Mukai
康晴 向井
Kazuya Hattori
和也 服部
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.)
JTEKT Corp
Original Assignee
JTEKT Corp
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 JTEKT Corp filed Critical JTEKT Corp
Priority to JP2012096591A priority Critical patent/JP2013223895A/en
Publication of JP2013223895A publication Critical patent/JP2013223895A/en
Pending legal-status Critical Current

Links

Landscapes

  • Manipulator (AREA)

Abstract

PROBLEM TO BE SOLVED: To provide a robot control method that can operate while a trace of an end effector does not generate vibration following a command trace when the command trace accompanying an abrupt change is imparted, and to provide a robot control device.SOLUTION: A trace program is created at the most suitable link position attitude among link position attitudes of a manipulator. When the axial acceleration of an end effector in the most suitable link position attitude is larger than a first determination value in the trace program, it is determined whether or not the angle acceleration of each joint axis is larger than a second determination value, in a speed control loop of a control part, only proportional control based on a speed difference is performed when the angle acceleration of each joint axis is larger than the second determination value, and when the axis acceleration of the end effector in the most suitable position attitude is not larger than the first determination value, and also when the axis acceleration of the end effector is not larger than the first determination value, the proportional control and integration control are performed on the basis of the speed difference.

Description

本発明は、ロボット制御方法及びロボット制御装置に関する。   The present invention relates to a robot control method and a robot control apparatus.

従来、多関節ロボットでは、ロボットが停止状態から動作を開始する加速時や、動作状態から停止する減速時において、教示された動作プログラム通りに動作させた場合、ロボットの各関節の角加速度が過大になり、振動を起こすことが知られている(特許文献1)。特許文献1では、この振動を抑制するために、各関節の角加速度と予め設定された設定最大角加速度とを比較して、各角加速度が設定最大角加速度より大きい場合は、各角加速度を設定最大角加速度に制限するように変更することが提案されている。   Conventionally, in multi-joint robots, when the robot is operated according to the taught operation program when accelerating when the robot starts operation from the stopped state or when decelerating after stopping from the operating state, the angular acceleration of each joint of the robot is excessive. It is known that this causes vibration (Patent Document 1). In Patent Document 1, in order to suppress this vibration, the angular acceleration of each joint is compared with a preset maximum angular acceleration, and if each angular acceleration is greater than the set maximum angular acceleration, each angular acceleration is It has been proposed to change to limit to the set maximum angular acceleration.

また、特許文献2では、急激な動作の場合、他の関節の反力を考慮して各関節軸のトルク余裕率を算出し、全ての関節軸のトルク余裕率のうち最小値と、関節軸のイナーシャ等により各関節軸の許容最大角加速度を算出するようにしている。そして、動作中においては各関節軸の角加速度が前記許容最大角加速度を超えないように制御することが行われている。このことによって、関節軸の発生トルクが関節軸の最大許容トルクを大きいことがないようにしている。   Further, in Patent Document 2, in the case of an abrupt movement, the torque margin rate of each joint axis is calculated in consideration of the reaction force of other joints, and the minimum value among the torque margin rates of all the joint axes is calculated. The maximum allowable angular acceleration of each joint axis is calculated by the inertia or the like. During operation, control is performed so that the angular acceleration of each joint axis does not exceed the maximum allowable angular acceleration. This prevents the generated torque of the joint shaft from increasing the maximum allowable torque of the joint shaft.

特許2762789号 明細書段落0003Patent No. 2762789 Specification Paragraph 0003 特開平09-204216号公報Japanese Patent Laid-Open No. 09-204216

ところで、多関節ロボットでは、例えばエンドエフェクタが直進動作から、直角に曲がるような指令軌跡の変化によって急激にその動作が変化する場合、エンドエフェクタが指令軌跡から大きく外れて該振動軌跡を中心にして振動する現象が現れる。このような現象は、作業自由度に対して冗長自由度を有する多関節ロボットにおいても同様に発生する。   By the way, in an articulated robot, for example, when the movement of the end effector suddenly changes due to a change in the command trajectory such that the end effector bends at right angles, the end effector greatly deviates from the command trajectory and the vibration trajectory is centered. A vibrating phenomenon appears. Such a phenomenon also occurs in an articulated robot having redundant degrees of freedom with respect to work degrees of freedom.

特許文献1は、作業自由度に対して冗長自由度を有していないロボットにおいて、加速時または減速時の動作状態における振動発生の抑制が課題となっている。しかしながら、作業自由度に対して冗長自由度を有するロボットにおける指令軌跡の変化に対しては、特許文献1で提案されている技術は、対応したもとのはいえない。   Patent Document 1 has a problem of suppressing the occurrence of vibration in an operating state during acceleration or deceleration in a robot that does not have redundant degrees of freedom with respect to work degrees of freedom. However, the technique proposed in Patent Document 1 cannot cope with the change in the command trajectory in the robot having the redundancy degree of freedom with respect to the work degree of freedom.

特許文献2で提案されている技術も、作業自由度に対して冗長自由度を有するロボットにおける指令軌跡の変化に対応したもとのはいえない。
本発明の目的は、作業自由度に対して冗長自由度を有するロボットに対して、指令軌跡によるエンドエフェクタの直進動作から、曲がる指令軌跡が付与された場合においても、エンドエフェクタの軌跡が指令軌跡に従って振動を発生させずに描いて動作することができるロボット制御方法及びロボット制御装置を提供することにある。
The technique proposed in Patent Document 2 cannot be said to correspond to the change of the command trajectory in the robot having the redundancy degree of freedom with respect to the work degree of freedom.
It is an object of the present invention to provide a command trajectory for an end effector even when a command trajectory to bend is given to a robot having a redundancy degree of freedom with respect to work freedom from a straight movement of the end effector by the command trajectory. It is an object to provide a robot control method and a robot control apparatus that can draw and operate without generating vibration.

上記問題点を解決するために、請求項1の発明は、速度制御ループを備える制御部により、7軸マニピュレータの各関節軸の回転系アクチュエータを制御するロボット制御方法において、教示点毎に、冗長性が許容する前記マニピュレータのリンク位置姿勢のうち、各関節軸の平均角加速度が最小となるリンク位置姿勢(以下、最適リンク位置姿勢という)での軌道計画を作成し、前記軌道計画上において前記最適リンク位置姿勢におけるエンドエフェクタの軸加速度が第1判定値より大きいか否かを判定し、前記軌道計画上において前記エンドエフェクタの軸加速度が第1判定値より大きい場合に、各関節軸の角加速度が第2判定値より大きいか否かを判定し、前記制御部の前記速度制御ループでは、前記各関節軸の角加速度が第2判定値より大きい場合に速度偏差に基づく比例制御のみ行い、前記最適リンク位置姿勢におけるエンドエフェクタの軸加速度が第1判定値より大きくない場合及び前記エンドエフェクタの軸加速度が第1判定値より大きくない場合には、速度偏差に基づいて少なくとも比例制御及び積分制御を行うことを特徴とするロボット制御方法を要旨としている。   In order to solve the above problems, the invention of claim 1 is directed to a robot control method in which a rotation unit actuator for each joint axis of a seven-axis manipulator is controlled by a control unit having a speed control loop. Among the link positions and postures of the manipulator allowed by the characteristics, a trajectory plan is created at a link position and posture that minimizes the average angular acceleration of each joint axis (hereinafter referred to as the optimal link position and posture). It is determined whether or not the axial acceleration of the end effector at the optimum link position and orientation is larger than a first determination value. When the axial acceleration of the end effector is larger than the first determination value on the trajectory plan, the angle of each joint axis It is determined whether or not the acceleration is greater than a second determination value. In the speed control loop of the control unit, the angular acceleration of each joint axis is based on the second determination value. In the case where it is large, only proportional control based on the speed deviation is performed, and when the axial acceleration of the end effector at the optimum link position and orientation is not larger than the first determination value and when the axial acceleration of the end effector is not larger than the first determination value The gist of the robot control method is to perform at least proportional control and integral control based on the speed deviation.

請求項2の発明は、速度制御ループを備える制御部により、7軸マニピュレータの各関節軸の回転系アクチュエータを制御するロボット制御装置において、教示点毎に、冗長性が許容する前記マニピュレータのリンク位置姿勢のうち、各関節軸の平均角加速度が最小となるリンク位置姿勢(以下、最適リンク位置姿勢という)での軌道計画を作成する軌道計画部と、前記軌道計画上において前記最適リンク位置姿勢におけるエンドエフェクタの軸加速度が第1判定値より大きいか否かを判定する第1判定部と、前記軌道計画上において前記エンドエフェクタの軸加速度が第1判定値より大きい場合に、各関節軸の角加速度が第2判定値より大きいか否かを判定する第2判定部を備え、前記制御部の前記速度制御ループでは、前記各関節軸の角加速度が第2判定値より大きい場合に速度偏差に基づく比例制御のみ行い、前記最適リンク位置姿勢におけるエンドエフェクタの軸加速度が第1判定値より大きくない場合及び前記エンドエフェクタの軸加速度が第1判定値より大きくない場合には、速度偏差に基づいて少なくとも比例制御及び積分制御を行うことを特徴とするロボット制御装置を要旨としている。   According to a second aspect of the present invention, there is provided a robot control apparatus for controlling a rotation system actuator for each joint axis of a seven-axis manipulator by a control unit having a speed control loop. Of the postures, a trajectory planning unit that creates a trajectory plan at a link position and orientation (hereinafter referred to as an optimal link position and orientation) that minimizes the average angular acceleration of each joint axis, and the optimal link position and orientation on the trajectory plan A first determination unit that determines whether or not the axial acceleration of the end effector is greater than a first determination value; and when the axial acceleration of the end effector is greater than a first determination value in the trajectory plan, the angle of each joint axis A second determination unit that determines whether or not the acceleration is greater than a second determination value; and in the speed control loop of the control unit, When the degree is larger than the second determination value, only proportional control based on the speed deviation is performed. When the axial acceleration of the end effector at the optimum link position and orientation is not larger than the first determination value, the axial acceleration of the end effector is the first determination. The gist of the present invention is a robot control device that performs at least proportional control and integral control based on the speed deviation when the value is not larger than the value.

請求項1の発明によれば、作業自由度に対して冗長自由度を有するロボットに対して、指令軌跡によるエンドエフェクタの直進動作から、曲がる指令軌跡が付与された場合においても、エンドエフェクタの軌跡が指令軌跡に従って振動を発生させずに描いて動作することができるロボット制御方法を提供できる。   According to the first aspect of the present invention, even when a command trajectory to bend is given to the robot having a redundancy degree of freedom relative to the degree of freedom of operation from the straight movement of the end effector by the command trajectory, the trajectory of the end effector Can provide a robot control method that can draw and operate according to the command trajectory without generating vibration.

請求項2の発明によれば、作業自由度に対して冗長自由度を有するロボットに対して、指令軌跡によるエンドエフェクタの直進動作から、曲がる指令軌跡が付与された場合においても、エンドエフェクタの軌跡が指令軌跡に従って振動を発生させずに描いて動作することができるロボット制御装置を提供できる。   According to the second aspect of the present invention, even when a command trajectory to bend is given to the robot having a redundancy degree of freedom relative to the degree of freedom of operation from the straight movement of the end effector by the command trajectory, the trajectory of the end effector Can provide a robot control device that can draw and operate according to the command trajectory without generating vibration.

一実施形態の冗長自由度を有するマニピュレータのスケルトン図。The skeleton figure of the manipulator which has the redundancy degree of freedom of one Embodiment. 一実施形態のロボット制御装置の概略構成図。The schematic block diagram of the robot control apparatus of one Embodiment. 一実施形態の姿勢パラメータの説明図。Explanatory drawing of the attitude | position parameter of one Embodiment. 一実施形態のロボット制御装置が実行する作業プログラムを読込みした際のフローチャート。The flowchart at the time of reading the work program which the robot control apparatus of one Embodiment performs. アクチュエータ平均角加速度最小化軌道計算のフローチャート。The flowchart of actuator average angular acceleration minimization orbit calculation. 位置制御ループ及び速度制御ループのブロック線図。The block diagram of a position control loop and a speed control loop.

以下、本発明を具体化した一実施形態の7軸マニピュレータを制御するロボット制御装置及びロボット制御方法を図1〜図6を参照して説明する。
まず、本実施形態の作業自由度に対して冗長自由度を有するマニピュレータについて説明する。
A robot control apparatus and a robot control method for controlling a seven-axis manipulator according to an embodiment of the present invention will be described below with reference to FIGS.
First, a manipulator having a redundancy degree of freedom with respect to the work degree of freedom of the present embodiment will be described.

図1に示すように、マニピュレータ10は、8個のリンク11〜18が7個の関節21〜27により直列に連結されて形成されている。多関節ロボットであるマニピュレータ10は、7個の関節21〜27においてリンク12〜18が旋回することのできる7自由度(自由度n=7)を有するロボットであり、その作業空間の次元数(次元数m)は6であって、1(=n−m)の冗長性を有する。   As shown in FIG. 1, the manipulator 10 is formed by connecting eight links 11 to 18 in series by seven joints 21 to 27. The manipulator 10 which is an articulated robot is a robot having seven degrees of freedom (degrees of freedom n = 7) in which the links 12 to 18 can rotate at the seven joints 21 to 27, and the number of dimensions of the work space ( The number of dimensions m) is 6, which has a redundancy of 1 (= nm).

第1リンク11は一端が床面FLに固定され、他端が第1関節21の一側に接続されている。第1関節21の他側には、第2リンク12の一端が接続され、第2リンク12の他端には第2関節22の一側が接続されている。以下同様に、第3リンク13、第4リンク14、第5リンク15、第6リンク16、第7リンク17及び第8リンク18が、それぞれ第3関節23、第4関節24、第5関節25、第6関節26及び第7関節27を介して順に連結されている。   One end of the first link 11 is fixed to the floor surface FL, and the other end is connected to one side of the first joint 21. One end of the second link 12 is connected to the other side of the first joint 21, and one side of the second joint 22 is connected to the other end of the second link 12. Similarly, the third link 13, the fourth link 14, the fifth link 15, the sixth link 16, the seventh link 17, and the eighth link 18 are respectively connected to the third joint 23, the fourth joint 24, and the fifth joint 25. The sixth joint 26 and the seventh joint 27 are connected in order.

第1関節21の他側は一側に対して、矢印31に示すように、図1において上下方向に延びる軸を中心に回転可能とされており、これにより、第2リンク12は隣接する第1リンク11に対して、第1関節21の回転軸(J1軸)を中心に矢印31方向に旋回可能である。   The other side of the first joint 21 is rotatable with respect to one side about an axis extending in the vertical direction in FIG. 1 as indicated by an arrow 31, whereby the second link 12 is adjacent to the second link 12. With respect to one link 11, it can turn in the direction of arrow 31 around the rotation axis (J1 axis) of the first joint 21.

また、第2関節22の他側は一側に対して、矢印32に示すように、図1において紙面に垂直な方向に延びる軸(J2軸)を中心に回転可能とされている。これにより、第3リンク13は隣接する第2リンク12に対して、第2関節22の回転軸を中心に矢印32方向、すなわち、上下方向に回転可能である。   Further, the other side of the second joint 22 is rotatable with respect to one side about an axis (J2 axis) extending in a direction perpendicular to the paper surface in FIG. Accordingly, the third link 13 can rotate in the direction of the arrow 32 around the rotation axis of the second joint 22, that is, in the vertical direction with respect to the adjacent second link 12.

以下、第3関節23、第4関節24、第5関節25、第6関節26及び第7関節27についてもそれぞれ、回転可能とされており、第4リンク14、第5リンク15、第6リンク16、第7リンク17及び第8リンク18も、それぞれ関節23〜27の回転軸(J3軸〜J7軸)を中心に、矢印33〜37方向に旋回可能である。尚、本願の全体にわたって、第1関節21〜27を介して連結されているリンク11〜18同士を、互いに隣接するリンク11〜18という。また、J1軸〜J7軸は、関節軸に相当する。   Hereinafter, the third joint 23, the fourth joint 24, the fifth joint 25, the sixth joint 26, and the seventh joint 27 are also rotatable, and the fourth link 14, the fifth link 15, and the sixth link. 16, the seventh link 17 and the eighth link 18 can also turn in the directions of arrows 33 to 37 around the rotation axes (J3 axis to J7 axis) of the joints 23 to 27, respectively. Note that, throughout the present application, the links 11 to 18 connected through the first joints 21 to 27 are referred to as adjacent links 11 to 18. Further, the J1 axis to the J7 axis correspond to joint axes.

なお、J2軸、J4軸及びJ6軸の回転方向は、図1に示すように、重力加速度が働く方向と一致している。
図1に示すように、第1関節21には第1サーボモータ41が取り付けられており、電力が供給されることにより、第2リンク12を図示しない減速機を介して第1リンク11に対して旋回させる。
Note that the rotation directions of the J2, J4, and J6 axes coincide with the direction in which the gravitational acceleration acts as shown in FIG.
As shown in FIG. 1, a first servo motor 41 is attached to the first joint 21, and when power is supplied, the second link 12 is connected to the first link 11 via a reduction gear (not shown). And turn.

また、第2関節22には第2サーボモータ42が取り付けられており、電力が供給されることにより、第3リンク13を図示しない減速機を介して第2リンク12に対して旋回させる。以下、同様に、第3関節23、第4関節24、第5関節25、第6関節26及び第7関節27にはそれぞれサーボモータ43〜47が取り付けられており、電力が供給されることにより、各々リンク14〜18を図示しない減速機を介して旋回させる。   Further, a second servo motor 42 is attached to the second joint 22, and when the electric power is supplied, the third link 13 is turned with respect to the second link 12 via a reduction gear (not shown). Similarly, servo motors 43 to 47 are attached to the third joint 23, the fourth joint 24, the fifth joint 25, the sixth joint 26, and the seventh joint 27, respectively, and are supplied with power. Each of the links 14 to 18 is turned through a reduction gear (not shown).

なお、各モータは、各関節内に設けられるが、図1では、説明の便宜上、関節とは分離して図示している。また、本実施形態では回転系アクチュエータ(以下、単にアクチュエータという)としてサーボモータであるACモータが使用されているが、限定されるものではない。   In addition, although each motor is provided in each joint, in FIG. 1, for convenience of explanation, it is illustrated separately from the joint. In this embodiment, an AC motor, which is a servo motor, is used as a rotary actuator (hereinafter simply referred to as an actuator), but is not limited thereto.

第8リンク18の先端には、エンドエフェクタとしてのツール49が取り付けられている。ツール49は第8リンク18とともに、第7関節27の回転軸(J7軸)を中心に図1に示すように矢印37方向に旋回可能とされている。ツール49は、例えば、ワーク等を把持可能なハンドである。なお、ツール49の種類は、本発明とは関係しないため、限定されるものではない。   A tool 49 as an end effector is attached to the tip of the eighth link 18. Along with the eighth link 18, the tool 49 can turn in the direction of the arrow 37 as shown in FIG. 1 around the rotation axis (J7 axis) of the seventh joint 27. The tool 49 is, for example, a hand that can grip a work or the like. The type of tool 49 is not limited because it is not related to the present invention.

上述したようにマニピュレータ10は、第1サーボモータ41〜第7サーボモータ47を駆動して第2リンク12〜第8リンク18を回転させることにより、第2リンク12〜第8リンク18の回転角度が累積して先端部にあるツール49に働くため、ツール49の先端の位置および姿勢を、その作業内容に応じた目標位置および目標姿勢に一致させることが可能である。   As described above, the manipulator 10 rotates the second link 12 to the eighth link 18 by driving the first servo motor 41 to the seventh servo motor 47 to rotate the second link 12 to the eighth link 18. Are accumulated and work on the tool 49 at the tip, so that the position and posture of the tip of the tool 49 can be matched with the target position and posture according to the work content.

次に、図2を参照して、前記マニピュレータ10を制御するロボット制御装置としてのコントローラRCを中心とした多関節ロボットの電気的な構成を説明する。
コントローラRCは、コンピュータ90と、コンピュータ90に電気的に接続されたPWMジェネレータ51〜57と、PWMジェネレータ51〜57に電気的に接続されたサーボアンプ61〜67を有する。各サーボアンプ61〜67はそれぞれ第1サーボモータ41〜第7サーボモータ47に電気的に接続されている。
Next, with reference to FIG. 2, an electrical configuration of an articulated robot centering on a controller RC as a robot control device for controlling the manipulator 10 will be described.
The controller RC includes a computer 90, PWM generators 51 to 57 electrically connected to the computer 90, and servo amplifiers 61 to 67 electrically connected to the PWM generators 51 to 57. The servo amplifiers 61 to 67 are electrically connected to the first servo motor 41 to the seventh servo motor 47, respectively.

コンピュータ90は、制御指令をPWMジェネレータ51〜57に出力し、PWMジェネレータ51〜57は、当該制御指令に基づいてPWM信号をサーボアンプ61〜67に出力する。サーボアンプ61〜67は、その出力に応じてサーボモータ41〜47を作動させることにより、各リンク12〜18を回転させる。   The computer 90 outputs a control command to the PWM generators 51 to 57, and the PWM generators 51 to 57 output a PWM signal to the servo amplifiers 61 to 67 based on the control command. The servo amplifiers 61 to 67 rotate the links 12 to 18 by operating the servo motors 41 to 47 according to the output.

前記サーボモータ41〜47にはロータリエンコーダ71〜77が内蔵されており、インターフェイス80を介してコンピュータ90と接続されている。ロータリエンコーダ71〜77は、各々のサーボモータ41〜47の回動角度を検出することにより、すなわち、リンク12〜18のそれぞれが隣接するリンク11〜17に対する回転角度(なお、関節軸の関節角度ということがある)を検出して、その検出信号をコントローラRCに送信する。ロータリエンコーダ71〜77は、回転角度検出器に相当する。なお、回転角度検出器としては、ロータリエンコーダに限定するものではなく、レゾルバ、或いは、ポテンショメータであってもよい。   The servo motors 41 to 47 incorporate rotary encoders 71 to 77 and are connected to a computer 90 via an interface 80. The rotary encoders 71 to 77 detect the rotation angles of the servo motors 41 to 47, that is, the rotation angles of the links 12 to 18 with respect to the adjacent links 11 to 17 (the joint angles of the joint axes). And the detection signal is transmitted to the controller RC. The rotary encoders 71 to 77 correspond to a rotation angle detector. The rotation angle detector is not limited to a rotary encoder, and may be a resolver or a potentiometer.

なお、第1サーボモータ41〜第7サーボモータ47に対してロータリエンコーダ71〜77を設ける代わりに、リンク11〜18または第1関節21〜第7関節27に、リンク11〜18の回転角度(関節軸の関節角度)を直接に検出可能なセンサを取り付けてもよい。   Instead of providing the rotary encoders 71 to 77 with respect to the first servo motor 41 to the seventh servo motor 47, the rotation angles of the links 11 to 18 are connected to the links 11 to 18 or the first joint 21 to the seventh joint 27 ( A sensor capable of directly detecting the joint angle of the joint axis may be attached.

前記コンピュータ90は、CPU91、ROM92、RAM93、及びハードディスク等の不揮発性の記憶部94、及びインターフェイス95等を備え、バス96を介して電気的に接続されている。   The computer 90 includes a CPU 91, ROM 92, RAM 93, a nonvolatile storage unit 94 such as a hard disk, an interface 95, and the like, and is electrically connected via a bus 96.

記憶部94には、各種データ、ロボットに各種作業を行わせるための作業プログラム、各種パラメータ等が記憶されている。作業プログラムは、教示ステップ(教示により記述されたプログラムの行)毎に、教示点、動作指令或いは各種動作条件等のパラメータが記述されている。   The storage unit 94 stores various data, work programs for causing the robot to perform various operations, various parameters, and the like. In the work program, parameters such as a teaching point, an operation command, or various operation conditions are described for each teaching step (a line of a program described by teaching).

本実施形態のロボットは、ティーチングプレイバック方式で作動するロボットであり、前記作業プログラムが実行されることにより、前記マニピュレータ10が動作する。ROM92は、システム全体のシステムプログラムが記憶されている。RAM93は、CPU91の作業用のメモリであって、各種演算等が実行されるときに一時的にデータが格納される。CPU91は、軌道計画部、第1判定部、第2判定部、及び制御部に相当する。   The robot of the present embodiment is a robot that operates in a teaching playback system, and the manipulator 10 operates by executing the work program. The ROM 92 stores system programs for the entire system. The RAM 93 is a working memory for the CPU 91, and temporarily stores data when various calculations are executed. The CPU 91 corresponds to a trajectory planning unit, a first determination unit, a second determination unit, and a control unit.

コントローラRCには入力装置82が前記インターフェイス95を介して接続されている。入力装置82は、図示しないモニター画面及び各種入力キー等を有する操作盤であり、ユーザーが各種のデータを入力操作可能とされている。入力装置82は、多関節ロボットの電源スイッチが設けられるとともに、コンピュータ90に対して、マニピュレータ10の先端部にあるツール49の先端(以下、手先という)の最終目標位置および最終目標姿勢、ツール49の先端の補間点における位置および姿勢の入力、並びに、冗長性を利用したマニピュレータ10の姿勢変更のためのジョグ操作等による入力が可能となっている。   An input device 82 is connected to the controller RC via the interface 95. The input device 82 is an operation panel having a monitor screen (not shown) and various input keys. The user can input various data. The input device 82 is provided with a power switch for an articulated robot, and with respect to the computer 90, the final target position and final target posture of the tip of the tool 49 (hereinafter referred to as the hand) at the tip of the manipulator 10; It is possible to input the position and orientation at the interpolation point at the tip of the head and the jog operation for changing the posture of the manipulator 10 using redundancy.

(実施形態の作用)
次に、本実施形態による多関節ロボットのコントローラRCの作用を図4〜図6を参照して説明する。
(Operation of the embodiment)
Next, the operation of the controller RC of the articulated robot according to the present embodiment will be described with reference to FIGS.

図4のフローチャートは、作業プログラムの教示点が記述されている教示ステップ毎にCPU91により実行される処理である。
(S10)
S10では、図4に示すように、CPU91は、作業プログラムに記述された教示ステップを読込みする。
The flowchart of FIG. 4 is a process executed by the CPU 91 for each teaching step in which the teaching points of the work program are described.
(S10)
In S10, as shown in FIG. 4, the CPU 91 reads the teaching step described in the work program.

(S20)
S20では,S10で読込みした教示点について、CPU91はアクチュエータ平均角加速度最小化軌道計算を行う。S20は、軌道計画の作成処理である。
(S20)
In S20, the CPU 91 performs the actuator average angular acceleration minimized trajectory calculation for the teaching point read in S10. S20 is a trajectory plan creation process.

(アクチュエータ平均角加速度最小化軌道計算)
図5はCPU91により、実行されるアクチュエータ平均角加速度最小化軌道計算のフローチャートである。
(Actuator average angular acceleration minimized trajectory calculation)
FIG. 5 is a flowchart of the actuator average angular acceleration minimized trajectory calculation executed by the CPU 91.

(S21)
S21では、CPU91は、姿勢パラメータΦを初期化する、本実施形態ではΦ=0にして初期化するが、初期値は0に限定するものではない。
(S21)
In S21, the CPU 91 initializes the attitude parameter Φ. In this embodiment, the CPU 91 initializes Φ = 0, but the initial value is not limited to zero.

姿勢パラメータΦを図3を参照して説明する。
姿勢パラメータΦは、冗長自由度を有する前記マニピュレータ10が、手先位置を固定した場合、すなわち、手先位置姿勢を拘束した場合において、その冗長自由度により許容されるリンク位置姿勢を示すものである。なお、ツールの位置及び姿勢を位置姿勢という。
The attitude parameter Φ will be described with reference to FIG.
The posture parameter Φ indicates a link position / posture permitted by the redundancy degree of freedom when the manipulator 10 having the degree of freedom of freedom fixes the hand position, that is, when the hand position / posture is constrained. Note that the position and orientation of the tool are referred to as position and orientation.

図3に示すようにマニピュレータ10の第4関節24は、第2関節22(以下、第1基準点Wという)を中心とし、第3リンク13〜第4リンク14のリンク長の合計を半径とした球A1と、第6関節26(以下、第2基準点Kという)を中心とし、第5リンク15〜第6リンク16のリンク長の合計を半径とする球A2とが形成する交差円E上の移動が可能である。従って、本実施形態では、この交差円E上に第4関節24が位置するようにして、リンク位置姿勢が変わる。   As shown in FIG. 3, the fourth joint 24 of the manipulator 10 is centered on the second joint 22 (hereinafter referred to as a first reference point W), and the total link length of the third link 13 to the fourth link 14 is defined as a radius. The intersection circle E formed by the sphere A1 and the sphere A2 centered on the sixth joint 26 (hereinafter referred to as the second reference point K) and having the radius of the total link length of the fifth link 15 to the sixth link 16 It is possible to move up. Therefore, in the present embodiment, the link position / posture changes so that the fourth joint 24 is positioned on the intersecting circle E.

図3に示すように、前記交差円Eの中心を通る中心軸Oは、第1基準点W(第2関節22中心)と第2基準点K(第6関節26中心)を通過する軸である。第4関節24はこの交差円E上に位置するため、姿勢パラメータΦは、交差円E上のリンク位置姿勢を示すパラメータとして表すことができる。そこで、交差円E上の適宜の位置Rから、変更された位置までの角度を、ここでは、姿勢パラメータΦとして定義されている。本実施形態では位置Rは、第4関節24の現在位置とする。   As shown in FIG. 3, the central axis O passing through the center of the intersecting circle E is an axis passing through the first reference point W (center of the second joint 22) and the second reference point K (center of the sixth joint 26). is there. Since the fourth joint 24 is located on the cross circle E, the posture parameter Φ can be expressed as a parameter indicating the link position and posture on the cross circle E. Therefore, the angle from the appropriate position R on the intersecting circle E to the changed position is defined here as the posture parameter Φ. In the present embodiment, the position R is the current position of the fourth joint 24.

(S22)
S22では、CPU91は、手先位置姿勢から関節角度を求めるために逆変換演算を行う。ここで、第1関節21〜第7関節27の関節角度θ1,θ2,θ3,…,θ7とし、手先座標(x,y,z)及び手先姿勢(a,b,c)とすると、ベクトルθ及び手先位置姿勢Xは下記のように表される。
(S22)
In S <b> 22, the CPU 91 performs an inverse conversion calculation to obtain the joint angle from the hand position / posture. Here, assuming that the joint angles θ1, θ2, θ3,..., Θ7 of the first joint 21 to the seventh joint 27 are the hand coordinates (x, y, z) and the hand posture (a, b, c), the vector θ The hand position / posture X is expressed as follows.

各関節角度θ1,θ2,θ3,…,θ7は、式(2)に示すように表すことができ、これらの式は、逆変換式である。本ステップでは、式(2)により、手先位置姿勢Xと姿勢パラメータΦにより、各関節角度θ1,θ2,θ3,…,θ7を算出する。 Each joint angle θ1, θ2, θ3,..., Θ7 can be expressed as shown in equation (2), and these equations are inverse transformation equations. In this step, the joint angles θ1, θ2, θ3,..., Θ7 are calculated from the hand position / posture X and the posture parameter Φ using Equation (2).

(S23)
S23では、CPU91は、姿勢パラメータΦにおける各関節軸について、各角加速度を演算し、演算結果である当該姿勢パラメータΦにおける各角加速度を、記憶部94に格納する。
(S23)
In S23, the CPU 91 calculates each angular acceleration for each joint axis in the posture parameter Φ, and stores each angular acceleration in the posture parameter Φ as a calculation result in the storage unit 94.

なお、前記角加速度は、まず、式(2)により得られた関節角度θ1,θ2,θ3,…,θ7を、例えば演算周期の微小時間で微分することにより、角速度を算出し、この角速度をさらに演算周期の微小時間で微分することにより、得られる。   The angular acceleration is calculated by first calculating the angular velocity by differentiating the joint angles θ1, θ2, θ3,..., Θ7 obtained by the equation (2) with, for example, a minute time of the calculation cycle. Further, it is obtained by differentiating with a minute time of the calculation cycle.

(S24)
S24では、CPU91は姿勢パラメータΦとして所定値を加算して更新する。すなわち、仮想的に姿勢パラメータΦを増加させてリンクの位置姿勢を変えたものとするのである。
(S24)
In S24, the CPU 91 adds and updates a predetermined value as the attitude parameter Φ. That is, the position and orientation of the link are changed by virtually increasing the orientation parameter Φ.

(S25)
S25では、CPU91は、姿勢パラメータΦが、予め設定された上限値Φmax以下であれば、S22に戻り、姿勢パラメータΦが予め設定された上限値Φmより大きい場合には、S26に移行する。この上限値Φmは、予め試験等により設定されたものである。
(S25)
In S25, if the posture parameter Φ is equal to or smaller than the preset upper limit value Φmax, the CPU 91 returns to S22. If the posture parameter Φ is larger than the preset upper limit value Φm, the CPU 91 proceeds to S26. This upper limit value Φm is set in advance by a test or the like.

このようにして、S25からS22に戻る場合は、以後、S22〜S24の処理が繰り返されるため、異なる姿勢パラメータΦにおける各関節軸の角加速度が記憶部94に記憶されることになる。   In this way, when returning from S25 to S22, since the processing of S22 to S24 is repeated thereafter, the angular acceleration of each joint axis at different posture parameters Φ is stored in the storage unit 94.

(S26)
S26では、CPU91は、S23で、姿勢パラメータΦが更新される毎に算出した異なる姿勢パラメータΦ毎の全関節軸の角加速度を加算してその平均値を算出し、平均値が最小値となる姿勢パラメータΦを導出する。すなわち、全関節軸の角加速度の平均値が最も小さいリンク位置姿勢を、最適リンク位置姿勢として算出し、この導出したリンク位置姿勢をマニピュレータ10がとるように、CPU91はマニピュレータ10の各関節軸のサーボモータを駆動制御して当該教示点に移動させるのである。
(S26)
In S26, the CPU 91 calculates the average value by adding the angular accelerations of all joint axes for each different posture parameter Φ calculated every time the posture parameter Φ is updated in S23, and the average value becomes the minimum value. The attitude parameter Φ is derived. That is, the CPU 91 calculates the link position / posture having the smallest average angular acceleration of all joint axes as the optimum link position / posture, and the CPU 91 takes the derived link position / posture for each joint axis of the manipulator 10. The servo motor is driven and moved to the teaching point.

(S30)
図4に戻って、CPU91は、S30では、S10で読込みした教示点までを目標値とした補間演算を行う。補間演算での補間時間は、一般的に、10〜50msecである場合が多いため、この補間時間毎の各関節軸の関節角度を算出し、さらに、各関節軸の角速度を前記補間時間で割って各関節軸の角加速度(以下、アクチュエータの加速度という)を算出するとともに、エンドエフェクタのツール座標軸系での、X,Y,Z軸のそれぞれの軸方向の加速度である軸加速度を算出する。なお、軸方向の加速度の算出方法は公知のための説明を省略する。
(S30)
Returning to FIG. 4, in S <b> 30, the CPU 91 performs an interpolation calculation with the teaching point read in S <b> 10 as a target value. Since the interpolation time in the interpolation calculation is generally 10 to 50 msec in general, the joint angle of each joint axis for each interpolation time is calculated, and the angular velocity of each joint axis is divided by the interpolation time. Then, the angular acceleration of each joint axis (hereinafter referred to as the acceleration of the actuator) is calculated, and the axial acceleration that is the acceleration in the axial directions of the X, Y, and Z axes in the tool coordinate axis system of the end effector is calculated. In addition, since the calculation method of the axial acceleration is publicly known, the description thereof is omitted.

(S40)
S40では、CPU91は、S30で算出したX,Y,Z軸のそれぞれの軸方向の加速度が第1判定値としての第1閾値よりも大か否かを判定する。第1閾値(第1判定値)は、エンドエフェクタにおける軸方向の加速度が大きい場合と小さい場合において、後に行う速度制御の仕方を振り分けするためのものである。第1閾値は、予め試験、或いはシミュレーションにより、エンドエフェクタが指令軌跡(複数の教示点により描く軌跡)に沿って移動するように得られた値である。
(S40)
In S40, the CPU 91 determines whether or not the accelerations in the axial directions of the X, Y, and Z axes calculated in S30 are larger than a first threshold value as a first determination value. The first threshold value (first determination value) is used to assign a speed control method to be performed later when the axial acceleration of the end effector is large or small. The first threshold value is a value obtained in advance by a test or simulation so that the end effector moves along a command trajectory (a trajectory drawn by a plurality of teaching points).

S40において、X,Y,Z軸のそれぞれの軸方向の加速度が第1判定値としての第1閾値よりも大の場合は、S50に移行し、X,Y,Z軸のそれぞれの軸方向の加速度が第1判定値としての第1閾値以下の場合は、S70に移行する。   In S40, when the acceleration in the axial direction of each of the X, Y, and Z axes is larger than the first threshold value as the first determination value, the process proceeds to S50, and the axial direction of each of the X, Y, and Z axes is determined. When the acceleration is equal to or less than the first threshold value as the first determination value, the process proceeds to S70.

(S50)
S50では、CPU91は、S30での補間演算により、算出した各アクチュエータの加速度が、第2判定値としての第2閾値よりも大か否かを判定する。第2閾値(第2判定値)は、各アクチュエータの加速度が大きい場合と小さい場合において、後に行う速度制御の仕方を振り分けするためのものである。第2閾値は、予め試験、或いはシミュレーションにより、エンドエフェクタが指令軌跡(教示点により描く軌跡)に沿って移動するように得られた値である。
(S50)
In S50, the CPU 91 determines whether or not the calculated acceleration of each actuator is greater than a second threshold value as a second determination value by the interpolation calculation in S30. The second threshold value (second determination value) is used to assign a speed control method to be performed later when the acceleration of each actuator is large or small. The second threshold value is a value obtained in advance so that the end effector moves along the command locus (trajectory drawn by the teaching point) through a test or simulation.

S50において、算出した各アクチュエータの加速度が、第2判定値としての第2閾値よりも大の場合は、S60に移行し、算出した各アクチュエータの加速度が、第2判定値としての第2閾値以下の場合は、後述する速度制御部120は、デフォルトとしてPID制御に設定されて、S70に移行する。   In S50, if the calculated acceleration of each actuator is larger than the second threshold value as the second determination value, the process proceeds to S60, and the calculated acceleration of each actuator is equal to or less than the second threshold value as the second determination value. In this case, the speed control unit 120 described later is set to PID control as a default, and the process proceeds to S70.

(S60)
S60では、CPU91は、第2閾値よりも大となった関節軸に関するアクチュエータの速度制御部120を比例制御のみに設定されてS70に移行する。
(S60)
In S60, the CPU 91 sets the speed control unit 120 of the actuator related to the joint axis that is larger than the second threshold value to only proportional control, and proceeds to S70.

(S70〜S90)
S70〜S90では、図6に示すように、CPU91は、それぞれ位置制御部110、速度制御部120及び電流制御部130として位置制御、速度制御及び電流制御を実行する。図6を参照して、位置制御、速度制御及び電流制御について説明する。
(S70-S90)
In S70 to S90, as shown in FIG. 6, the CPU 91 performs position control, speed control, and current control as the position control unit 110, the speed control unit 120, and the current control unit 130, respectively. The position control, speed control, and current control will be described with reference to FIG.

なお、図6において、一点鎖線から左側は、コントローラRC側の動作を表わし、右側は、サーボモータ側の動作を表わしている。
図6に示すように、CPU91が、RAM93に格納された作業プログラムに記述されているエンドエフェクタ(ツール49)の目標位置及び目標姿勢に基づいて逆変換演算を行って求めた各サーボモータの回転位置を位置指令θs*とする。
In FIG. 6, the left side from the alternate long and short dash line represents the operation on the controller RC side, and the right side represents the operation on the servo motor side.
As shown in FIG. 6, the rotation of each servo motor obtained by the CPU 91 by performing an inverse transformation calculation based on the target position and target posture of the end effector (tool 49) described in the work program stored in the RAM 93. The position is set as a position command θs *.

この位置指令θs*と、ロータリエンコーダ71〜77にて求めた各サーボモータ41〜47の実位置θkとの偏差を算出する。なお、前記ロータリエンコーダ71〜77は作業プログラムでの制御周期よりも、十分に短い検出周期で回転角度(すなわち、関節角度)を検出している。   A deviation between this position command θs * and the actual position θk of each of the servo motors 41 to 47 obtained by the rotary encoders 71 to 77 is calculated. The rotary encoders 71 to 77 detect the rotation angle (that is, the joint angle) at a detection cycle sufficiently shorter than the control cycle in the work program.

そして、この算出した位置偏差に、位置制御部110では、P制御(比例制御)にて、予め設定されている位置ゲインK0を乗じて、サーボモータの目標速度(速度指令ωs*)を算出する。位置ゲインK0は、位置制御ループのゲインである。   Then, the position control unit 110 calculates the target speed (speed command ωs *) of the servo motor by multiplying the calculated position deviation by a preset position gain K0 in P control (proportional control). . The position gain K0 is a gain of the position control loop.

さらにこの速度指令ωs*と、実位置θkから求められた各サーボモータ41〜47の実速度ωとの速度偏差に、速度制御部120では、S60で比例制御のみに設定されなかった場合は、PID制御にて、予め設定されている所定の速度ゲインK1を乗じて、各サーボモータ41〜47に対する電流指令iq*を算出し、この電流指令iq*を電流制御部130に出力する。ここでの速度ゲインK1は、PID制御における比例制御の比例ゲインKV、積分制御の積分ゲインKI及び微分制御の微分ゲインKDを総合したものであり、各ゲインは予め設定されたものである。ここでは、実速度ωがフィードバックされた速度制御ループが構成されている。   Furthermore, if the speed deviation between the speed command ωs * and the actual speed ω of each of the servomotors 41 to 47 obtained from the actual position θk is not set to only proportional control in S60 by the speed control unit 120, In PID control, a current command iq * for each of the servo motors 41 to 47 is calculated by multiplying a predetermined speed gain K1 set in advance, and this current command iq * is output to the current control unit 130. The speed gain K1 here is a total of the proportional gain KV of proportional control in PID control, the integral gain KI of integral control, and the differential gain KD of differential control, and each gain is set in advance. Here, a speed control loop in which the actual speed ω is fed back is configured.

また、S60で、比例制御のみに設定されている関節軸のアクチュエータの場合は、比例制御のみを、図6に示す比例ゲインKVで、電流指令iq*を算出し、この電流指令iq*を電流制御部130に出力する。   Further, in the case of an actuator of a joint axis that is set to only proportional control in S60, a current command iq * is calculated only with proportional control with the proportional gain KV shown in FIG. Output to the control unit 130.

電流制御部130は、図示しない電流検出回路にて検出された各サーボモータ41〜47の実電流をA/D変換して取り込み、この実電流iqが電流指令となるように、制御指令を出力して図2に示す前記PWMジェネレータ51〜57にてPWM信号を生成する。ここでは、実電流iqがフィードバックされた電流制御ループが構成されている。   The current control unit 130 takes in the actual currents of the servomotors 41 to 47 detected by a current detection circuit (not shown) by A / D conversion, and outputs a control command so that the actual current iq becomes a current command. The PWM generators 51 to 57 shown in FIG. Here, a current control loop in which the actual current iq is fed back is configured.

すなわち、電流指令iq*と実電流iqとの電流偏差に対して、PI制御にて所定の電流ゲインK2を乗じることにより、PWM信号を生成する。そして、この生成したPWM信号を各サーボアンプ61〜67に出力し、各サーボモータ41〜47の通電電流を制御する。なお、図6において、実電流をA/D変換にて取り込む手順を表わすブロックP6に記載のKA/D は、実電流をデジタル値に変換する際の変換定数を表わす。   That is, the PWM signal is generated by multiplying the current deviation between the current command iq * and the actual current iq by a predetermined current gain K2 by PI control. The generated PWM signal is output to each of the servo amplifiers 61 to 67, and the energization current of each of the servo motors 41 to 47 is controlled. In FIG. 6, KA / D described in block P6 representing the procedure for taking in the actual current by A / D conversion represents a conversion constant for converting the actual current into a digital value.

この結果、各サーボモータ41〜47のモータ巻線には、各サーボアンプ61〜67から、PWM信号に応じて駆動電圧が印加され、モータ巻線の端子電圧は、この駆動電圧と、モータの回転角速度に逆起電力定数Keを乗じて得られる逆起電圧とを合成した電圧となる。そして、各モータ巻線には、この端子電圧に、モータインダクタンスL及びモータ抵抗Rをパラメータとする係数{1/(Ls+R)}を乗じた電流(つまり実電流)が流れる。   As a result, a drive voltage is applied to the motor windings of the servo motors 41 to 47 from the servo amplifiers 61 to 67 in accordance with the PWM signal. A voltage obtained by synthesizing the counter electromotive force obtained by multiplying the rotational angular velocity by the counter electromotive force constant Ke is obtained. A current (that is, an actual current) obtained by multiplying the terminal voltage by a coefficient {1 / (Ls + R)} having the motor inductance L and the motor resistance R as parameters flows through each motor winding.

また、モータ巻線に電流が流れると、各サーボモータ41〜47においては、回転子に、実電流とトルク定数Ktとにより決定されるモータトルクTM が発生し、モータ軸のイナーシャJによる遅れ(1/J)を伴って回転角加速度が発生し、その回転角加速度を積分(1/S)した回転速度に制御される。そして、この回転速度を積分(1/S)した回転位置が、各サーボモータ41〜47に設けられたロータリエンコーダ等のセンサにて検出され、その検出信号がコントローラRC内にフィードバックされる。このようにして、コントローラRCは、各サーボモータ41〜47の回転位置,速度をフィードバック制御するサーボ系の制御装置として構成され、各サーボモータ41〜47の回転位置、及びツール49の位置を制御する。   Further, when a current flows through the motor winding, in each servo motor 41 to 47, a motor torque TM determined by the actual current and the torque constant Kt is generated in the rotor, and a delay due to the inertia J of the motor shaft ( Rotational angular acceleration is generated with 1 / J), and is controlled to a rotational speed obtained by integrating (1 / S) the rotational angular acceleration. A rotational position obtained by integrating (1 / S) the rotational speed is detected by a sensor such as a rotary encoder provided in each servo motor 41 to 47, and the detection signal is fed back into the controller RC. In this way, the controller RC is configured as a servo control device that feedback-controls the rotational position and speed of each servo motor 41 to 47, and controls the rotational position of each servo motor 41 to 47 and the position of the tool 49. To do.

(S100)
S100では、CPU91は、S10で読込みした教示点、すなわち目標位置に到達したか否かを判定し、目標位置に到達していなければ、S70に戻り、目標位置に到達していれば、一旦このフローチャートを終了する。
(S100)
In S100, the CPU 91 determines whether or not the teaching point read in S10, that is, the target position has been reached. If the target position has not been reached, the process returns to S70. The flowchart ends.

このようにして、本実施形態では、S40の判定において、エンドエフェクタ(ツール49)のX,Y,Z軸のそれぞれの軸方向の加速度が第1閾値よりも大の場合であって、S50の判定において、アクチュエータの加速度が、第2閾値よりも大の場合は、指令軌跡(教示点により描く軌跡)の変化により、急激にその動作が変化するとして判定されて、当該関節軸のアクチュエータの速度制御部では、比例制御のみ行うことになる。この結果指令軌跡によるエンドエフェクタの直進動作から、曲がる指令軌跡が付与された場合においても、エンドエフェクタの軌跡が指令軌跡に従って振動を発生させることが抑制できる。   Thus, in the present embodiment, in the determination of S40, the acceleration in the axial direction of each of the X, Y, and Z axes of the end effector (tool 49) is larger than the first threshold value. In the determination, if the acceleration of the actuator is larger than the second threshold value, it is determined that the operation suddenly changes due to the change of the command locus (trajectory drawn by the teaching point), and the speed of the actuator of the joint axis is determined. In the control unit, only proportional control is performed. As a result, even when a command trajectory to bend is given from the straight movement of the end effector by the command trajectory, the end effector trajectory can be suppressed from generating vibrations according to the command trajectory.

本実施形態では、下記の特徴を有する。
(1) 本実施形態のロボット制御方法は、教示点毎に、冗長性が許容するマニピュレータ10のリンク位置姿勢のうち、各関節軸の平均角加速度が最小となるリンク位置姿勢(最適リンク位置姿勢)での軌道計画を作成する(S20)。また、前記軌道計画上において最適リンク位置姿勢におけるツール49(エンドエフェクタ)の軸加速度が第1閾値(第1判定値)より大きいか否かを判定し、軌道計画上においてツール49(エンドエフェクタ)の軸加速度が第1閾値(第1判定値)より大きい場合に、各関節軸の角加速度が第2閾値(第2判定値)より大きいか否かを判定するようにした。また、CPU91(制御部)の速度制御ループでは、各関節軸の角加速度が(第2判定値)より大きい場合に速度偏差に基づく比例制御のみ行い、最適リンク位置姿勢におけるツール49(エンドエフェクタ)の軸加速度が第1閾値(第1判定値)より大きくない場合、及びツール49(エンドエフェクタ)の軸加速度が第1判定値より大きくない場合には、速度偏差に基づいて比例制御及び積分制御を行うようにした。この結果、本実施形態によれば、作業自由度に対して冗長自由度を有するロボットに対して、指令軌跡によるエンドエフェクタの直進動作から、曲がる指令軌跡が付与された場合においても、エンドエフェクタの軌跡が指令軌跡に従って振動を発生させずに描いて動作することができる。
This embodiment has the following features.
(1) The robot control method according to the present embodiment is a link position / posture (optimal link position / posture) that minimizes the average angular acceleration of each joint axis among the link positions / postures of the manipulator 10 permitted for redundancy for each teaching point. ) Is created (S20). Further, it is determined whether or not the axial acceleration of the tool 49 (end effector) at the optimum link position and orientation is larger than a first threshold value (first determination value) on the trajectory plan, and the tool 49 (end effector) is determined on the trajectory plan. When the axial acceleration is greater than the first threshold (first determination value), it is determined whether the angular acceleration of each joint axis is greater than the second threshold (second determination value). In the speed control loop of the CPU 91 (control unit), when the angular acceleration of each joint axis is larger than the (second determination value), only proportional control based on the speed deviation is performed, and the tool 49 (end effector) at the optimum link position and orientation When the axial acceleration of the tool 49 (end effector) is not greater than the first threshold value and when the axial acceleration of the tool 49 (end effector) is not greater than the first determination value, proportional control and integral control are performed based on the speed deviation. To do. As a result, according to the present embodiment, even when a command trajectory to bend is given to the robot having a redundancy degree of freedom relative to the degree of freedom of operation from the straight movement of the end effector by the command trajectory, The trajectory can be drawn and operated according to the command trajectory without generating vibration.

また、本実施形態によれば、指令軌跡に対応して姿勢パラメータΦ毎の全関節軸の角加速度を加算してその平均値を算出し、平均値が最小値である最適リンク位置姿勢で、軌道計画されているため、直線軌跡から曲がる軌跡を描く指令軌跡に沿って、最適なリンク位置姿勢で、マニピュレータを作動させることができる。   Further, according to the present embodiment, the angular accelerations of all joint axes for each posture parameter Φ are added corresponding to the command trajectory to calculate the average value, and the optimal link position and posture with the average value being the minimum value, Since the trajectory is planned, the manipulator can be operated with an optimum link position and orientation along a command trajectory that draws a trajectory that curves from a straight trajectory.

(2) 本実施形態のロボット制御装置のCPU91は、軌道計画部として、教示点毎に、冗長性が許容するマニピュレータ10のリンク位置姿勢のうち、各関節軸の平均角加速度が最小となるリンク位置姿勢(最適リンク位置姿勢)での軌道計画を作成する。また、CPU91は、第1判定部として、軌道計画上において最適リンク位置姿勢におけるツール49(エンドエフェクタ)の軸加速度が第1閾値(第1判定値)より大きいか否かを判定する。   (2) The CPU 91 of the robot control apparatus according to the present embodiment serves as a trajectory plan unit, and for each teaching point, among the link positions and orientations of the manipulator 10 permitted for redundancy, a link that minimizes the average angular acceleration of each joint axis. Create a trajectory plan in position and orientation (optimum link position and orientation). In addition, the CPU 91 determines, as a first determination unit, whether or not the axial acceleration of the tool 49 (end effector) at the optimum link position and orientation is larger than a first threshold value (first determination value) in the trajectory plan.

また、CPU91は第2判定部として、軌道計画上においてツール49(エンドエフェクタ)の軸加速度が第1閾値(第1判定値)より大きい場合に、各関節軸の角加速度が第2閾値(第2判定値)より大きいか否かを判定する。そして、CPU91(制御部)の速度制御ループでは、各関節軸の角加速度が(第2判定値)より大きい場合に速度偏差に基づく比例制御のみ行い、最適リンク位置姿勢におけるツール49(エンドエフェクタ)の軸加速度が第1閾値(第1判定値)より大きくない場合、及びツール49(エンドエフェクタ)の軸加速度が第1判定値より大きくない場合には、速度偏差に基づいて比例制御及び積分制御を行うようにした。この結果、本実施形態によれば、作業自由度に対して冗長自由度を有するロボットに対して、指令軌跡によるエンドエフェクタの直進動作から、曲がる指令軌跡が付与された場合においても、エンドエフェクタの軌跡が指令軌跡に従って振動を発生させずに描いて動作することができる。   In addition, the CPU 91 serves as a second determination unit, and when the axial acceleration of the tool 49 (end effector) is larger than the first threshold (first determination value) in the trajectory plan, the angular acceleration of each joint axis is the second threshold (first 2) It is determined whether or not it is larger. In the speed control loop of the CPU 91 (control unit), when the angular acceleration of each joint axis is larger than the (second determination value), only proportional control based on the speed deviation is performed, and the tool 49 (end effector) at the optimum link position and orientation is performed. When the axial acceleration of the tool 49 (end effector) is not greater than the first threshold value and when the axial acceleration of the tool 49 (end effector) is not greater than the first determination value, proportional control and integral control are performed based on the speed deviation. To do. As a result, according to the present embodiment, even when a command trajectory to bend is given to the robot having a redundancy degree of freedom relative to the degree of freedom of operation from the straight movement of the end effector by the command trajectory, The trajectory can be drawn and operated according to the command trajectory without generating vibration.

この結果、本実施形態のロボット制御装置では、作業自由度に対して冗長自由度を有するロボットに対して、指令軌跡によるエンドエフェクタの直進動作から、曲がる指令軌跡が付与された場合においても、エンドエフェクタの軌跡が指令軌跡に従って振動を発生させずに描いて動作することができる。また、本実施形態によれば、指令軌跡に対応して姿勢パラメータΦ毎の全関節軸の角加速度を加算してその平均値を算出し、平均値が最小値である最適リンク位置姿勢で、軌道計画されているため、直線軌跡から曲がる軌跡を描く指令軌跡に沿って、最適なリンク位置姿勢で、マニピュレータを作動させることができる。   As a result, in the robot control device according to the present embodiment, even when a command trajectory to bend is given to the robot having a redundancy degree of freedom relative to the work freedom from the straight movement of the end effector by the command trajectory, the end control The trajectory of the effector can be drawn and operated according to the command trajectory without generating vibration. Further, according to the present embodiment, the angular accelerations of all joint axes for each posture parameter Φ are added corresponding to the command trajectory to calculate the average value, and the optimal link position and posture with the average value being the minimum value, Since the trajectory is planned, the manipulator can be operated with an optimum link position and orientation along a command trajectory that draws a trajectory that curves from a straight trajectory.

なお、本発明の実施形態は前記実施形態に限定されるものではなく、下記のように変更しても良い。
・ 前記実施形態では、アクチュエータをサーボモータとしてのACモータを使用したが、DCモータでもよく、ステッピングモータ等を使用してもよい。
In addition, embodiment of this invention is not limited to the said embodiment, You may change as follows.
In the embodiment, the AC motor as the servo motor is used as the actuator. However, a DC motor or a stepping motor may be used.

・ 前記実施形態では、速度制御部120では、PID制御(比例積分微分制御)またはP制御(比例制御)を行うようにしたが、PI制御(比例積分制御)またはP制御(比例制御)を行うようにしてもよい。   In the embodiment, the speed control unit 120 performs PID control (proportional integral derivative control) or P control (proportional control), but performs PI control (proportional integral control) or P control (proportional control). You may do it.

・前記実施形態では、全ての教示点において、図4のフローチャートを実行するようにしたが、予め作業プログラムにおいて、特定の教示点間において、指令軌跡が急激な変化が予想できる場合には、その特定の教示点においてのみ、図4に示す、S20の処理を行うように、作業プログラムにS20に移行するように作業プログラムの教示ステップに指示を付与しておき、特定の教示点を除いた他の教示点では、S10からS20にジャンプした後、S30の処理を行った後、S70にジャンプするようにしてもよい。   In the above-described embodiment, the flowchart of FIG. 4 is executed at all teaching points. However, if the command trajectory can be predicted to change rapidly between specific teaching points in advance in the work program, In addition to excluding specific teaching points, instructions are given to the teaching steps of the work program so as to shift to S20 so that the processing of S20 shown in FIG. 4 is performed only at specific teaching points. At the teaching point, after jumping from S10 to S20, the process of S30 may be performed, and then jumping to S70.

RC…コントローラ(ロボット制御装置)、
10…マニピュレータ、11〜18…リンク、
41〜47…サーボモータ(回転系アクチュエータ)、
91…CPU(軌道計画部、第1判定部、第2判定部、制御部)。
RC: Controller (robot controller),
10 ... Manipulator, 11-18 ... Link,
41-47 ... Servo motor (rotary actuator),
91 ... CPU (trajectory planning unit, first determination unit, second determination unit, control unit).

Claims (2)

速度制御ループを備える制御部により、7軸マニピュレータの各関節軸の回転系アクチュエータを制御するロボット制御方法において、
教示点毎に、冗長性が許容する前記マニピュレータのリンク位置姿勢のうち、各関節軸の平均角加速度が最小となるリンク位置姿勢(以下、最適リンク位置姿勢という)での軌道計画を作成し、
前記軌道計画上において前記最適リンク位置姿勢におけるエンドエフェクタの軸加速度が第1判定値より大きいか否かを判定し、
前記軌道計画上において前記エンドエフェクタの軸加速度が第1判定値より大きい場合に、各関節軸の角加速度が第2判定値より大きいか否かを判定し、
前記制御部の前記速度制御ループでは、前記各関節軸の角加速度が第2判定値より大きい場合に速度偏差に基づく比例制御のみ行い、前記最適リンク位置姿勢におけるエンドエフェクタの軸加速度が第1判定値より大きくない場合及び前記エンドエフェクタの軸加速度が第1判定値より大きくない場合には、速度偏差に基づいて少なくとも比例制御及び積分制御を行うことを特徴とするロボット制御方法。
In a robot control method for controlling a rotation system actuator of each joint axis of a seven-axis manipulator by a control unit including a speed control loop,
For each teaching point, create a trajectory plan at the link position / posture (hereinafter referred to as the optimal link position / posture) that minimizes the average angular acceleration of each joint axis among the link position / posture of the manipulator allowed by redundancy,
Determining whether or not the axial acceleration of the end effector at the optimum link position and orientation on the trajectory plan is greater than a first determination value;
When the axial acceleration of the end effector is greater than a first determination value on the trajectory plan, determine whether the angular acceleration of each joint axis is greater than a second determination value;
In the speed control loop of the control unit, only proportional control based on speed deviation is performed when the angular acceleration of each joint axis is greater than a second determination value, and the axial acceleration of the end effector at the optimal link position and orientation is determined by the first determination. A robot control method comprising performing at least proportional control and integral control based on a speed deviation when the value is not greater than the value and when the axial acceleration of the end effector is not greater than the first determination value.
速度制御ループを備える制御部により、7軸マニピュレータの各関節軸の回転系アクチュエータを制御するロボット制御装置において、
教示点毎に、冗長性が許容する前記マニピュレータのリンク位置姿勢のうち、各関節軸の平均角加速度が最小となるリンク位置姿勢(以下、最適リンク位置姿勢という)での軌道計画を作成する軌道計画部と、
前記軌道計画上において前記最適リンク位置姿勢におけるエンドエフェクタの軸加速度が第1判定値より大きいか否かを判定する第1判定部と、
前記軌道計画上において前記エンドエフェクタの軸加速度が第1判定値より大きい場合に、各関節軸の角加速度が第2判定値より大きいか否かを判定する第2判定部を備え、
前記制御部の前記速度制御ループでは、前記各関節軸の角加速度が第2判定値より大きい場合に速度偏差に基づく比例制御のみ行い、前記最適リンク位置姿勢におけるエンドエフェクタの軸加速度が第1判定値より大きくない場合及び前記エンドエフェクタの軸加速度が第1判定値より大きくない場合には、速度偏差に基づいて少なくとも比例制御及び積分制御を行うことを特徴とするロボット制御装置。
In a robot control apparatus that controls a rotation system actuator of each joint axis of a seven-axis manipulator by a control unit including a speed control loop,
A trajectory for creating a trajectory plan at the link position and orientation (hereinafter referred to as the optimal link position and orientation) that minimizes the average angular acceleration of each joint axis among the link positions and orientations of the manipulator allowed for redundancy for each teaching point Planning department,
A first determination unit that determines whether or not the axial acceleration of the end effector at the optimum link position and orientation is greater than a first determination value on the trajectory plan;
A second determination unit that determines whether or not the angular acceleration of each joint axis is greater than a second determination value when the axial acceleration of the end effector is greater than a first determination value on the trajectory plan;
In the speed control loop of the control unit, only proportional control based on speed deviation is performed when the angular acceleration of each joint axis is greater than a second determination value, and the axial acceleration of the end effector at the optimal link position and orientation is determined by the first determination. A robot control device that performs at least proportional control and integral control based on a speed deviation when the value is not greater than the value and when the axial acceleration of the end effector is not greater than the first determination value.
JP2012096591A 2012-04-20 2012-04-20 Robot control method and robot control device Pending JP2013223895A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012096591A JP2013223895A (en) 2012-04-20 2012-04-20 Robot control method and robot control device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012096591A JP2013223895A (en) 2012-04-20 2012-04-20 Robot control method and robot control device

Publications (1)

Publication Number Publication Date
JP2013223895A true JP2013223895A (en) 2013-10-31

Family

ID=49594347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012096591A Pending JP2013223895A (en) 2012-04-20 2012-04-20 Robot control method and robot control device

Country Status (1)

Country Link
JP (1) JP2013223895A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110103220A (en) * 2019-05-20 2019-08-09 华南理工大学 Robot high-speed, high precision motion trail planning method, device, equipment and medium
CN113712667A (en) * 2021-08-30 2021-11-30 南京佗道医疗科技有限公司 Execution sleeve selection system and method
CN113905853A (en) * 2019-06-04 2022-01-07 松下知识产权经营株式会社 Robot control method
CN114407010A (en) * 2021-12-31 2022-04-29 航天科工智能机器人有限责任公司 Zero force control method and device, electronic equipment and storage medium

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110103220A (en) * 2019-05-20 2019-08-09 华南理工大学 Robot high-speed, high precision motion trail planning method, device, equipment and medium
CN110103220B (en) * 2019-05-20 2021-11-26 华南理工大学 High-speed and high-precision robot motion trajectory planning method, device, equipment and medium
CN113905853A (en) * 2019-06-04 2022-01-07 松下知识产权经营株式会社 Robot control method
CN113905853B (en) * 2019-06-04 2024-03-08 松下知识产权经营株式会社 Robot control method
CN113712667A (en) * 2021-08-30 2021-11-30 南京佗道医疗科技有限公司 Execution sleeve selection system and method
CN113712667B (en) * 2021-08-30 2023-04-07 佗道医疗科技有限公司 Execution sleeve selection system and method
CN114407010A (en) * 2021-12-31 2022-04-29 航天科工智能机器人有限责任公司 Zero force control method and device, electronic equipment and storage medium
CN114407010B (en) * 2021-12-31 2024-03-19 航天科工智能机器人有限责任公司 Zero force control method and device, electronic equipment and storage medium

Similar Documents

Publication Publication Date Title
JP5895628B2 (en) ROBOT CONTROL METHOD, ROBOT CONTROL DEVICE, AND ROBOT CONTROL SYSTEM
JP6268819B2 (en) Trajectory generation method for multi-axis robot
JP5144035B2 (en) Industrial robot tool position / posture control method and control system
JP5916583B2 (en) Weaving control device for articulated robot
JP2016168650A (en) Robot device, robot control method, program, and storage medium
US9676100B2 (en) Control apparatus of robot, robot, and program thereof
JP2017209762A (en) Robot device, robot control method, program, recording medium and production method of article
JP6652310B2 (en) Robot system, robot arm control method, program, recording medium, and article manufacturing method
JP2013223895A (en) Robot control method and robot control device
JP6021478B2 (en) Robot control apparatus and robot control method
JP2020015124A (en) Robot control method, article manufacturing method, robot control device, robot, program and recording medium
JP6057284B2 (en) Articulated robot and semiconductor wafer transfer device
CN112703090B (en) Robot control device, robot control method, and storage medium
JP2016040067A (en) Robot device, method for controlling robot, program and recording medium
JP2013226619A (en) Robot control method and robot control device
JP2013220501A (en) Robot control method and robot control device
JP4970492B2 (en) Articulated robot
JP4396553B2 (en) Robot controller, computer program
JP2013215818A (en) Method for controlling robot having redundant degree of freedom, device for controlling robot, system for controlling robot
JP2016221661A (en) Robot control method, assembly manufacturing method, robot device, program, and recording medium
JP2013215839A (en) Method for controlling robot having redundant degree of freedom, device for controlling robot, and system for controlling robot
JP5633268B2 (en) Robot control device
JP2014137626A (en) Robot control method and robot control device
JP2014140913A (en) Robot control device, robot control system, and robot control method
JP2013223896A (en) Robot control method and robot control device