JP2019030931A - Robot control device, control method, and robot apparatus - Google Patents

Robot control device, control method, and robot apparatus Download PDF

Info

Publication number
JP2019030931A
JP2019030931A JP2017153065A JP2017153065A JP2019030931A JP 2019030931 A JP2019030931 A JP 2019030931A JP 2017153065 A JP2017153065 A JP 2017153065A JP 2017153065 A JP2017153065 A JP 2017153065A JP 2019030931 A JP2019030931 A JP 2019030931A
Authority
JP
Japan
Prior art keywords
robot arm
robot
control signal
force
range
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
JP2017153065A
Other languages
Japanese (ja)
Inventor
宏昭 加藤
Hiroaki Kato
宏昭 加藤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2017153065A priority Critical patent/JP2019030931A/en
Publication of JP2019030931A publication Critical patent/JP2019030931A/en
Pending legal-status Critical Current

Links

Images

Abstract

To provide an easy-to-operate simple-structure control device which, when a teaching person directly teaches a robot, can restrain a robot arm from moving unintentionally, and also allow the teaching person to operate the position and posture of the robot arm over a wide range.SOLUTION: When the position of the robot arm changes by an externally applied operation force from a preset reference position to another position within a first range, the control device generates a force control signal which acts in a direction of moving the robot arm toward the reference position, and of which value becomes larger as the amount of change from the reference position becomes larger. When the robot arm changes from the reference position to a position beyond the first range, the control device generates a force control signal of which value becomes smaller as the amount of change from the reference position becomes larger unless a second range is exceeded, and does not change to exceed a fixed value when the second range is exceeded.SELECTED DRAWING: Figure 4

Description

本発明は、ロボットの動作を制御する制御装置、制御方法に関し、特に所謂ダイレクトティーチによりロボットアームの動作を教示する装置に関する。   The present invention relates to a control device and a control method for controlling the operation of a robot, and more particularly to a device for teaching the operation of a robot arm by so-called direct teaching.

従来から、ロボットに動作を教示する際には、ティーチングペンダントのようなリモコンを用いてエンドエフェクタの先端部などを所定位置へ移動させる操作を行い、目視等で位置を確認しつつ、教示位置を記憶させることが行われていた。ティーチングペンダントを用いた教示方法では、座標を数値で入力するか、微小移動(JOG動作)の繰り返しでロボットを移動させており、作業が煩雑で操作性が高いとは言えず、教示を効率的に行うことができなかった。   Conventionally, when teaching an operation to a robot, an operation to move the tip of the end effector to a predetermined position using a remote controller such as a teaching pendant, and confirming the position visually, the teaching position is determined. It was made to memorize. In the teaching method using the teaching pendant, the coordinates are input numerically or the robot is moved by repeating a small movement (JOG operation), so it cannot be said that the work is complicated and operability is high, and teaching is efficient. Could not be done.

そこで、教示作業の操作性を改善する方法のひとつとして、直接教示もしくはダイレクトティーチと呼ばれる方法が知られている。教示者が掴むなどしてロボットに外力を直接加えて誘導し、ロボットアームを所望の位置および姿勢になるよう操作する方法である。直接教示の利点は、リモコンを使った煩雑なプログラミングを介さずに教示者が直接的にロボットアームを操作できるため、教示作業が容易になることである。   Therefore, as one method for improving the operability of teaching work, a method called direct teaching or direct teaching is known. This is a method in which an external force is directly applied to the robot and guided by a teacher, and the robot arm is operated to a desired position and posture. The advantage of direct teaching is that teaching work can be easily performed because the teacher can directly operate the robot arm without complicated programming using a remote controller.

直接教示の作業性を向上するには、ロボットアームが重力等により意図しない位置や姿勢になるのを抑制しながら、同時に、教示者による誘導操作を容易にする必要がある。ここでいう位置とは典型的にはロボットアームの先端の位置であり、姿勢とは典型的にはロボットアームの先端の向きである。重力等による意図しない動きを抑制するには、ロボットアームが基準状態(基準位置、基準姿勢)から変化したときに、元に戻らせるための復元トルクを各関節に作用させればよい。復元トルクの大きさは、基準状態からの変化量に応じて増大するよう設定するのが一般的である。   In order to improve the workability of direct teaching, it is necessary to facilitate guidance operation by the teacher while suppressing the robot arm from being moved to an unintended position or posture due to gravity or the like. The position here is typically the position of the tip of the robot arm, and the posture is typically the direction of the tip of the robot arm. In order to suppress unintended movement due to gravity or the like, it is only necessary to apply a restoring torque for returning the robot arm to the original state when the robot arm changes from the reference state (reference position, reference position). Generally, the magnitude of the restoring torque is set so as to increase in accordance with the amount of change from the reference state.

教示者は、基準状態にあるロボットアームに力を加えて位置や姿勢を変化させて教示作業を行うが、教示者の操作によってロボットアームの位置や姿勢が変わると、ロボットアームを基準状態に戻すための復元トルクが各関節に作用する。基準状態から離れるほど大きな復元トルクが作用するようになるため、例えば大きな距離を移動する動作を直接教示しようとすると、教示者は大きな力でロボットアームを誘導しなければならず、操作が困難になってしまう。   The instructor applies a force to the robot arm in the reference state to change the position and posture to perform the teaching work. When the position and posture of the robot arm changes by the teacher's operation, the robot arm is returned to the reference state. Therefore, the restoring torque acts on each joint. Since a large restoring torque is applied as the distance from the reference state increases, for example, if an attempt is made to directly teach a movement of a large distance, the teacher must guide the robot arm with a large force, which makes operation difficult. turn into.

そこで、特許文献1には、ロボットアームの先端近くに直接教示専用のハンドルを装着して、ハンドルに設けられたスイッチを押下げることにより基準状態を切り替えられるようにした直接教示装置が開示されている。教示者にとって復元トルクが大き過ぎると感じられるまでロボットアームを操作した場合には、スイッチを押下げることで、その時点のロボットアームの位置と姿勢を新たな基準状態とすることができ、復元トルクが小さな状態に戻すことができる。   Therefore, Patent Document 1 discloses a direct teaching device in which a reference dedicated state can be switched by attaching a dedicated teaching handle near the tip of a robot arm and depressing a switch provided on the handle. Yes. When the robot arm is operated until the teacher feels that the restoring torque is too large, the position and posture of the robot arm at that time can be set to a new reference state by pushing down the switch. Can be returned to a small state.

また、特許文献2には、教示者がロボットアームに加える力を、ロボットアームに装着した力センサもしくはトルクセンサを用いて検知して、検知した力ベクトルの方向について制御による剛性を下げるような方法が開示されている。なお、ここでいう剛性とは、ロボットアームの位置の変化量に比例して復元力を作用させる際の、位置の変化量と復元力の間の比例係数である。   Further, Patent Document 2 discloses a method in which a force applied by a teacher to a robot arm is detected using a force sensor or a torque sensor attached to the robot arm, and the rigidity of the detected force vector is reduced by control. Is disclosed. Here, the rigidity is a proportional coefficient between the change amount of the position and the restoring force when the restoring force is applied in proportion to the change amount of the position of the robot arm.

特開2009−78308号公報JP 2009-78308 A 米国特許出願公開第2015/0081098号明細書US Patent Application Publication No. 2015/0081098

しかしながら、特許文献1に記載のロボットの直接教示装置においては、基準位置を変更するためのスイッチを備えた専用ハンドルが必要であり、構造が複雑になる。また、教示作業を行うためには、予め専用ハンドルをロボットに装着する作業工程が必要となり、作業が煩雑になってしまう。   However, in the robot direct teaching apparatus described in Patent Document 1, a dedicated handle having a switch for changing the reference position is necessary, and the structure becomes complicated. Further, in order to perform the teaching work, a work process for attaching the dedicated handle to the robot in advance is required, and the work becomes complicated.

また、特許文献2には、教示者の操作力を検知して、検知した方向に制御の剛性を下げる方法が開示されているが、この方法では、操作力を検知するためのセンサを設ける必要があり、ロボットの構造が複雑になる。さらに、センサの検出信号から教示者の操作力に対応する成分を抽出しなくてはならないが、ロボットアームにはアーム先端と作業ワークとの接触力やモータの発生トルクなど、様々な成分の力が作用する。この中から目的とする操作力のみを抽出するためには、複雑で高度なアルゴリズムが必要であると推認されるが、特許文献2にはこのためのアルゴリズムについては具体的な開示はされていない。   Further, Patent Document 2 discloses a method of detecting the operating force of a teacher and lowering the control rigidity in the detected direction. However, in this method, it is necessary to provide a sensor for detecting the operating force. The robot structure becomes complicated. In addition, components corresponding to the operator's operating force must be extracted from the sensor detection signal, but the robot arm has various component forces such as the contact force between the arm tip and the work workpiece and the torque generated by the motor. Works. In order to extract only the target operating force from these, it is presumed that a complex and sophisticated algorithm is necessary, but Patent Document 2 does not disclose any specific algorithm for this purpose. .

以上のように、直接教示を行う際にロボットアームが意図しない動きをするのを抑制でき、ロボットアームの位置と姿勢を広い範囲にわたり教示者が容易に操作でき、しかも構成が簡易な制御装置は、達成されていなかった。   As described above, a control device that can suppress unintended movement of the robot arm during direct teaching, can be easily operated by a teacher over a wide range of positions and postures of the robot arm, and has a simple configuration. Was not achieved.

本発明は、ロボットアームの位置を検出する位置検出部と、前記ロボットアームの速度を検出する速度検出部と、前記ロボットアームの駆動部を制御する駆動制御信号を生成する制御部と、を有し、前記制御部は、前記ロボットアームが初期位置にあるときの前記位置検出部の検出結果を基準位置情報として記憶し、前記基準位置情報を記憶した後に前記位置検出部が検出する位置を前記基準位置情報と比較し、前記基準位置から第一の範囲以内にある位置への位置変化を検出したら、前記基準位置に向けて前記ロボットアームを移動させる方向に作用し、前記基準位置からの位置変化が大きいほど大きくなる力制御信号を生成し、前記力制御信号を用いて前記駆動制御信号を生成し、前記基準位置から前記第一の範囲を超えた位置への位置変化を検出したら、前記基準位置に向けて前記ロボットアームを移動させる方向に作用し、前記基準位置からの位置変化が第二の範囲までは位置変化が大きくなるほど小さくなるが、前記第二の範囲を越えたら位置変化の大きさにかかわらず一定値から所定の大きさ以上は変化しない力制御信号を生成し、前記力制御信号を用いて前記駆動制御信号を生成するとともに、前記基準位置から前記第一の範囲を超えた位置への位置変化を検出し、かつ前記速度検出部がロボットアームの速度の方向の反転を検出したら、反転を検出したときの位置と反転を検出したときの前記力制御信号の値に基づいて新たな基準位置を決定し、前記基準位置情報を更新して記憶する、ことを特徴とするロボットの制御装置である。   The present invention includes a position detection unit that detects the position of the robot arm, a speed detection unit that detects the speed of the robot arm, and a control unit that generates a drive control signal for controlling the drive unit of the robot arm. The control unit stores the detection result of the position detection unit when the robot arm is in the initial position as reference position information, and stores the position detected by the position detection unit after storing the reference position information. When a change in position from the reference position to a position within a first range is detected as compared with the reference position information, the position of the robot arm moves in the direction of moving the robot arm toward the reference position. A force control signal that increases as the change increases is generated, the drive control signal is generated using the force control signal, and a position from the reference position to a position that exceeds the first range. When the shift is detected, it acts in the direction in which the robot arm is moved toward the reference position, and the position change from the reference position decreases to the second range as the position change increases, but the second range A force control signal that does not change beyond a predetermined value from a constant value regardless of the magnitude of the position change, and generates the drive control signal using the force control signal, and generates the drive control signal from the reference position. If a position change to a position exceeding the first range is detected, and the speed detector detects a reversal of the speed direction of the robot arm, the position when the reversal is detected and the force when the reversal is detected. A robot control apparatus that determines a new reference position based on a value of a control signal, and updates and stores the reference position information.

また、本発明は、ロボットアームとコンピュータを備えたロボットの制御方法において、前記コンピュータは、前記ロボットアームの位置が操作力により基準位置から第一の範囲以内にある位置に変化したら、前記基準位置に向けて前記ロボットアームを移動させる方向に作用し、前記基準位置からの位置変化が大きいほど大きくなる力制御信号を生成し、前記力制御信号を用いて前記ロボットアームの駆動制御信号を生成する処理を実行し、前記ロボットアームの位置が操作力により前記基準位置から前記第一の範囲を超えた位置に変化したら、前記基準位置に向けて前記ロボットアームを移動させる方向に作用し、前記基準位置からの位置変化が第二の範囲までは位置変化が大きくなるほど小さくなるが、前記第二の範囲を越えたら位置変化の大きさにかかわらず一定値から所定の大きさ以上は変化しない力制御信号を生成し、前記力制御信号を用いて前記ロボットアームの駆動制御信号を生成する処理を実行し、前記ロボットアームの位置が操作力により前記基準位置から前記第一の範囲を超えた位置に変化し、かつ前記ロボットアームの速度の方向が反転したら、反転したときの位置および反転したときの前記力制御信号の値に基づいて前記基準位置を更新する処理を実行する、ことを特徴とするロボットの制御方法である。   Further, the present invention provides a method for controlling a robot including a robot arm and a computer, wherein the computer moves the reference position when the position of the robot arm is changed to a position within a first range from a reference position by an operation force. A force control signal that acts in the direction in which the robot arm is moved toward the head and increases as the position change from the reference position increases, and a drive control signal for the robot arm is generated using the force control signal. And when the position of the robot arm is changed from the reference position to a position exceeding the first range by an operating force, the robot arm acts in a direction to move the robot arm toward the reference position. The position change from the position becomes smaller as the position change increases until the second range, but if the position change exceeds the second range, the position changes. Generating a force control signal that does not change beyond a predetermined value from a constant value regardless of the magnitude of the control, and generating a drive control signal for the robot arm using the force control signal, When the position of the robot arm is changed from the reference position to the position exceeding the first range by the operation force and the direction of the speed of the robot arm is reversed, the position of the reversed position and the force control signal of the reversed position The robot control method is characterized by executing a process of updating the reference position based on a value.

また、本発明は、ロボットアームと、前記ロボットアームの位置を検出する位置検出部と、前記ロボットアームの速度を検出する速度検出部と、駆動制御信号を生成する制御部と、前記駆動制御信号に基づき前記ロボットアームを駆動する駆動部と、を有し、前記制御部は、前記ロボットアームが初期位置にあるときの前記位置検出部の検出結果を基準位置情報として記憶し、前記基準位置情報を記憶した後に前記位置検出部が検出する位置を前記基準位置情報と比較し、前記基準位置から第一の範囲以内にある位置への位置変化を検出したら、前記基準位置に向けて前記ロボットアームを移動させる方向に作用し、前記基準位置からの位置変化が大きいほど大きくなる力制御信号を生成し、前記力制御信号を用いて前記駆動制御信号を生成し、前記基準位置から前記第一の範囲を超えた位置への位置変化を検出したら、前記基準位置に向けて前記ロボットアームを移動させる方向に作用し、前記基準位置からの位置変化が第二の範囲までは位置変化が大きくなるほど小さくなるが、前記第二の範囲を越えたら位置変化の大きさにかかわらず一定値から所定の大きさ以上は変化しない力制御信号を生成し、前記力制御信号を用いて前記駆動制御信号を生成するとともに、前記基準位置から前記第一の範囲を超えた位置への位置変化を検出し、かつ前記速度検出部がロボットアームの速度の方向の反転を検出したら、反転を検出したときの位置情報と反転を検出したときの前記力制御信号の値に基づいて新たな基準位置を決定し、前記基準位置情報を更新して記憶する、ことを特徴とするロボット装置である。   The present invention also includes a robot arm, a position detection unit that detects the position of the robot arm, a speed detection unit that detects the speed of the robot arm, a control unit that generates a drive control signal, and the drive control signal. A drive unit that drives the robot arm based on the control unit, and the control unit stores a detection result of the position detection unit when the robot arm is in an initial position as reference position information, and the reference position information The position detected by the position detection unit after storing the reference position information is compared with the reference position information, and when a position change from the reference position to a position within a first range is detected, the robot arm is moved toward the reference position. Generates a force control signal that acts in the direction of movement, and increases as the position change from the reference position increases, and generates the drive control signal using the force control signal. When the position change from the reference position to the position exceeding the first range is detected, the robot arm acts in a direction to move the robot arm toward the reference position, and the position change from the reference position is the second position. A force control signal that does not change beyond a predetermined value from a constant value regardless of the position change is generated when the position change exceeds the second range. Is used to generate the drive control signal, detect a change in position from the reference position to a position exceeding the first range, and the speed detector detects a reversal of the speed direction of the robot arm. A new reference position is determined based on the position information when the reversal is detected and the value of the force control signal when the reversal is detected, and the reference position information is updated and stored. That is a robotic device.

本発明は、直接教示を行う際にロボットアームが意図しない動きをするのを抑制でき、ロボットアームの位置と姿勢を広い範囲にわたり教示者が容易に操作でき、しかも構成が簡易な制御装置を提供できる。   The present invention provides a control device that can suppress unintentional movement of a robot arm during direct teaching, can be easily operated by a teacher over a wide range of positions and postures of the robot arm, and has a simple configuration. it can.

実施例のロボットの制御装置の外形を示す斜視図。The perspective view which shows the external shape of the control apparatus of the robot of an Example. 実施例のロボットアームの関節部を示す部分断面図。The fragmentary sectional view which shows the joint part of the robot arm of an Example. 実施例のロボットに設定された座標系を示す斜視図。The perspective view which shows the coordinate system set to the robot of an Example. 実施例の制御装置の機能ブロック図。The functional block diagram of the control apparatus of an Example. 実施例の制御装置の作用を示す模式図。The schematic diagram which shows the effect | action of the control apparatus of an Example. 実施例の直接教示の動作のフローチャート。The flowchart of the operation | movement of the direct teaching of an Example. (a)第1演算部の動作を説明するための図。(b)第2演算部の動作を説明するための図。(A) The figure for demonstrating operation | movement of a 1st calculating part. (B) The figure for demonstrating operation | movement of a 2nd calculating part. 相対位置検出部の動作を説明するための図。The figure for demonstrating operation | movement of a relative position detection part. (a)速度vs時間のグラフ。(b)位置vs時間のグラフ。(c)力制御信号vs時間のグラフ。(A) Speed vs time graph. (B) A graph of position vs time. (C) Graph of force control signal vs time. 第2演算部で演算される関数の傾きを示すグラフ。The graph which shows the inclination of the function calculated in a 2nd calculating part. パラメータ(x、y、z、α、β、γ)と座標系の設定を説明するための図。The figure for demonstrating the setting of a parameter (x, y, z, alpha, beta, gamma) and a coordinate system.

本発明の実施形態であるロボットの制御装置は、ロボットアームの位置情報を検出する位置検出部と、ロボットアームの速度情報を検出する速度検出部と、ロボットアームの駆動部を制御する駆動制御信号を生成する制御部を備える。
制御部は、教示者がロボットアームを掴む等して直接教示を開始した初期におけるロボットアームの位置と姿勢を、初期の基準状態として記憶する。そして、ダイレクトティーチが開始されると、制御部は位置検出部からの位置情報と速度検出部からの速度情報に応じて力制御信号を演算して駆動部に伝達し、ロボットアームを駆動するためのアクチュエータの力もしくはトルクを制御する。アクチュエータが直動系の場合は力を制御し、回転系の場合はトルクを制御する。教示者がロボットアームに力を加えて基準状態から移動させた時には、制御部は位置と姿勢を軌道の教示値として記憶してゆく。
A robot control apparatus according to an embodiment of the present invention includes a position detection unit that detects position information of a robot arm, a speed detection unit that detects speed information of the robot arm, and a drive control signal that controls the drive unit of the robot arm. The control part which produces | generates is provided.
The control unit stores, as an initial reference state, the position and posture of the robot arm at the initial stage when the teacher has started teaching directly by grasping the robot arm or the like. When the direct teaching is started, the control unit calculates a force control signal according to the position information from the position detection unit and the speed information from the speed detection unit, transmits the force control signal to the drive unit, and drives the robot arm. Controls the force or torque of the actuator. When the actuator is a direct acting system, the force is controlled, and when the actuator is a rotating system, the torque is controlled. When the teacher applies a force to the robot arm to move it from the reference state, the control unit stores the position and orientation as the teaching value of the trajectory.

ロボットアームの動き出し、すなわち基準状態から第一の範囲内での動きに対しては、制御部内の第1演算部が位置情報の増減に応じて大きさが増減するような力制御信号を生成し、これを用いて駆動部への駆動制御信号を生成する。力制御信号を生成する演算は、典型的には単調増加関数で実行される。この力制御信号を用いて生成した駆動制御信号を駆動部に伝達することにより、位置情報の若干の変動に対してロボットアームを基準状態に戻す方向の力が出力されるような制御がなされる。この作用によって、ロボットアームが教示者にとって意図しない動きをしてしまうようなことが抑制される。例えば、後述する自重補償演算部の演算精度が十分ではなく、重力の影響を完全に補償できない場合であっても、教示者にとって意図しない動きが発生することを抑制できる。
第1演算部は、ロボットアームを基準状態に留め置くような静止摩擦力と類似の力を駆動部に出力させる作用を奏する。
For the movement of the robot arm, that is, the movement within the first range from the reference state, the first calculation unit in the control unit generates a force control signal that increases or decreases in size according to the increase or decrease of the position information. This is used to generate a drive control signal to the drive unit. The operation to generate the force control signal is typically performed with a monotonically increasing function. By transmitting the drive control signal generated using this force control signal to the drive unit, control is performed so that a force in a direction to return the robot arm to the reference state is output with respect to slight fluctuation of the position information. . This action prevents the robot arm from moving unintentionally for the teacher. For example, even if the calculation accuracy of a self-weight compensation calculation unit, which will be described later, is not sufficient and the influence of gravity cannot be completely compensated, it is possible to suppress the occurrence of unintended movement for the teacher.
The first calculation unit has an effect of causing the drive unit to output a force similar to a static friction force that keeps the robot arm in the reference state.

制御部は、ロボットアームが基準状態から第一の範囲を超えた位置まで移動したことを位置情報に基づいて検知すると、制御部内の切り替え部を作用させて力制御信号の演算を第1演算部から第2演算部に切り替える。すなわち、第一の範囲を越えてロボットアームが移動した場合には、教示者が意図的にロボットアームを操作していると推認して、力の制御を切り替える。したがって、第一の範囲の大きさは、ロボットアームの移動が教示者の意図的な操作か否かを判別するのに適した大きさに設定する。   When the control unit detects that the robot arm has moved from the reference state to a position exceeding the first range based on the position information, the control unit operates the switching unit in the control unit to calculate the force control signal. To the second arithmetic unit. That is, when the robot arm moves beyond the first range, it is assumed that the teacher is intentionally operating the robot arm, and the force control is switched. Therefore, the size of the first range is set to a size suitable for determining whether or not the movement of the robot arm is an intentional operation of the teacher.

第2演算部は、基準位置からの位置変化の量が第二の範囲までは、位置変化の量が大きくなるほど小さくなるが、第二の範囲を越えたら略一定値となるような力制御信号を生成する。ここで、略一定値とは、一定値から所定幅以上変化しないことを意味する。この演算は、典型的には、第1演算部の最大出力(最終出力)と等しい値を始点として、位置情報の大きさが増加するにつれて始点よりも小さな一定値に向けて遷移してゆくような関数を用いて実行される。この力制御信号を用いて生成した駆動制御信号を駆動部に伝達することにより、ロボットアームを基準状態に戻す方向の力が出力される制御がなされる。   The second arithmetic unit is a force control signal that decreases as the position change amount increases until the position change amount from the reference position reaches the second range, but becomes a substantially constant value after exceeding the second range. Is generated. Here, the substantially constant value means that the predetermined value does not change by a predetermined width or more. Typically, this calculation starts from a value equal to the maximum output (final output) of the first calculation unit, and transitions toward a constant value smaller than the start point as the size of the position information increases. It is executed using a simple function. By transmitting a drive control signal generated using this force control signal to the drive unit, control is performed so that a force in a direction to return the robot arm to the reference state is output.

この一定値は、ロボットアームの移動中に教示者が一定の小さな負荷として感じる動摩擦力と類似の力を駆動部に出力させる作用を奏する。この作用によって、教示者は基準状態から大きく変化した状態にロボットアームを操作する時であっても、一定の小さな負荷を感じながらロボットアームを移動させることが出来る。すなわち、ロボットアームを基準状態から大きく移動させたときに、教示者が感じる負荷が増大して操作の継続が困難になるような不都合を回避することができる。   This constant value has the effect of causing the drive unit to output a force similar to the dynamic friction force that the teacher feels as a constant small load during the movement of the robot arm. By this action, the teacher can move the robot arm while feeling a certain small load even when operating the robot arm in a state greatly changed from the reference state. That is, it is possible to avoid the inconvenience that when the robot arm is largely moved from the reference state, the load felt by the teacher increases and it becomes difficult to continue the operation.

切り替え部は、静止摩擦に類似した力から動摩擦に類似した力への切り替えを行う。尚、第1演算部の信号から第2演算部の信号に切り替わった時に力制御信号が不連続になると、第一の範囲の境界付近で教示者が感じる力が不連続になり、スムーズな操作に支障をきたす恐れがある。そこで、第一の範囲の境界を挟んで、第1演算部が出力する信号と第2演算部が出力する信号の大きさが等しくなるようにする。そして、教示者が静止摩擦から動摩擦への切り替えが急激すぎて不自然に感じないように、第二の範囲の大きさを適宜設定する。   The switching unit performs switching from a force similar to static friction to a force similar to dynamic friction. If the force control signal becomes discontinuous when the signal from the first operation unit is switched to the signal from the second operation unit, the force felt by the teacher near the boundary of the first range becomes discontinuous, and smooth operation is performed. May cause trouble. Therefore, the signal output from the first calculation unit and the signal output from the second calculation unit are set to be equal across the boundary of the first range. Then, the size of the second range is appropriately set so that the teacher does not feel unnatural because the switching from static friction to dynamic friction is too rapid.

尚、第1演算部、第2演算部、切り替え部という用語を用いて説明したのは、第一の範囲の内外で異なるアルゴリズムを用いて力制御信号を演算することを説明するための便宜であって、各部を別個の電気回路で構成しなければならないという意味ではない。もちろん、別個の電気回路で各部の機能を実現してもよいが、例えば第一の範囲の内外で異なる演算を処理するような制御プログラムを準備してコンピュータに記憶させ、コンピュータの処理によってこれらの機能を実現してもよい。制御プログラムは、コンピュータ読み取り可能な記録媒体や、ネットワークを介してコンピュータに提供することができる。   Note that the explanation using the terms “first computing unit”, “second computing unit”, and “switching unit” is for the convenience of explaining that the force control signal is computed using different algorithms inside and outside the first range. Therefore, it does not mean that each part must be constituted by a separate electric circuit. Of course, the functions of the respective units may be realized by separate electric circuits, but for example, a control program for processing different operations inside and outside the first range is prepared and stored in a computer, and these processes are performed by computer processing. A function may be realized. The control program can be provided to the computer via a computer-readable recording medium or a network.

教示者が直接教示を遂行する中では、ロボットアームの操作方向を反転させる場合があるが、本実施形態では第一の範囲を越えた領域で操作方向が反転した時には、基準状態をリセットする。
すなわち、制御部は、ロボットアームの位置が基準状態から第一の範囲を超えた位置に変化し、かつ速度検出部がロボットアームの速度方向の反転を検出したら、従前記憶していた基準状態に代えて新たな基準状態を記憶する。尚、基準状態の更新については、後に図8を参照して詳述する。そして、制御部は、リセットされた基準状態(位置、姿勢)に基づき、上述の制御を行う。リセット時には、ロボットアームはリセットされた基準状態から第一の範囲内に存することになるが、基準状態のリセットと同期して力制御信号の演算は第2演算部から第1演算部に戻るよう切り替えられる。したがって、自重補償演算部の演算精度が十分ではなく、重力の影響を完全に補償できない場合であっても、リセット後にロボットアームが教示者にとって意図しない動きをしてしまうようなことは抑制される。速度の方向が反転した際には、移動中の動摩擦に類似した力から静止摩擦に類似した力への切り替えを行う。
While the instructor performs direct teaching, the operation direction of the robot arm may be reversed. In this embodiment, when the operation direction is reversed in a region exceeding the first range, the reference state is reset.
That is, when the position of the robot arm changes from the reference state to a position beyond the first range and the speed detection unit detects the reversal of the speed direction of the robot arm, the control unit returns to the previously stored reference state. Instead, a new reference state is stored. The update of the reference state will be described in detail later with reference to FIG. And a control part performs the above-mentioned control based on the reset reference state (position, attitude | position). At the time of resetting, the robot arm is in the first range from the reset reference state, but the calculation of the force control signal returns from the second calculation unit to the first calculation unit in synchronization with the reset of the reference state. Can be switched. Therefore, even when the calculation accuracy of the self-weight compensation calculation unit is not sufficient and the influence of gravity cannot be completely compensated, it is possible to prevent the robot arm from moving unintentionally after the reset. . When the direction of the speed is reversed, switching is performed from a force similar to dynamic friction during movement to a force similar to static friction.

本実施形態のロボットの制御装置では、上述した力の制御を、ロボットアームに固定された基準座標系に対応して行う。基準座標系は、典型的には、ロボットアームのベースに固定されたXYZ座標系である。XYZ座標系が表現する座標空間は、並進の3成分と回転の3成分を合わせた6次元空間であるが、制御部がこれらの成分ごとに上述の力の制御を行うことで、並進方向も回転方向も、ロボットアームが意図しない方向に動くようなことは抑制される。教示者がロボットアームを移動させる方向には、動摩擦を模擬した一定の低負荷が作用するので、教示者はロボットアームを容易に大きく移動させることが出来る。   In the robot control apparatus of the present embodiment, the above-described force control is performed in accordance with a reference coordinate system fixed to the robot arm. The reference coordinate system is typically an XYZ coordinate system fixed to the base of the robot arm. The coordinate space expressed by the XYZ coordinate system is a six-dimensional space that combines the three translational components and the three rotational components. However, the control unit controls the force for each of these components, so that the translation direction can be changed. The rotation direction of the robot arm is also prevented from moving in an unintended direction. Since a certain low load that simulates dynamic friction acts in the direction in which the teacher moves the robot arm, the teacher can easily move the robot arm greatly.

さらに、第1演算部が出力する信号の最大値については、並進方向に比べて回転方向を大きく設定すれば、ロボットアームの姿勢もしくはロボットアームの先端の向きをほぼ一定に保持したまま、ロボットアームの位置を教示することが容易となる。例えば1つの作業テーブル内でワークを移動させるように、ロボットアームの先端の向きをテーブルに対して垂直で一定に保持させながら教示を行いたい場合、直接教示をより容易に実行することが可能となる。   Further, with respect to the maximum value of the signal output from the first calculation unit, if the rotation direction is set to be larger than the translation direction, the robot arm posture or the robot arm tip direction is maintained substantially constant, It becomes easy to teach the position of. For example, if you want to teach while keeping the orientation of the tip of the robot arm perpendicular to the table so that the workpiece moves within one work table, direct teaching can be performed more easily. Become.

また、本実施形態のロボットの制御装置は、上述した力の制御を、ロボットアームの先端に装着された作業ツールに固定されたツール座標系の座標軸に応じて行うこともできる。作業ツールとは、典型的には、ワークを把持するためのロボットハンドや、ビスを締結するためのビス締め機であるが、これらに限られない。ロボットハンドの把持方向やビス締め機の軸方向などのように、それぞれのツールには作業を規定するために適切な座標系が存在する。制御部の第1演算部と第2演算部の関数を設定する際、各ツールのツール座標系の座標軸に応じた関数設定を行うことで、作業内容に応じた適切な力制御が可能となる。   In addition, the robot control apparatus according to the present embodiment can perform the above-described force control according to the coordinate axis of the tool coordinate system fixed to the work tool attached to the tip of the robot arm. The work tool is typically a robot hand for gripping a workpiece or a screw fastening machine for fastening a screw, but is not limited thereto. Each tool has an appropriate coordinate system for defining work, such as the gripping direction of the robot hand and the axial direction of the screw tightening machine. When setting the functions of the first calculation unit and the second calculation unit of the control unit, it is possible to perform appropriate force control according to the work content by setting the function according to the coordinate axis of the tool coordinate system of each tool. .

また、本実施形態のロボットの制御装置は、第1演算部における入力(位置変化)に対する出力の傾きの絶対値が、第2演算部における入力(位置変化)に対する出力の傾きの絶対値よりも大きいか同等になるよう関数を設定する。上述のように、第2演算部では、ロボットアームの移動中に第1演算部の最終出力から概略一定の出力に遷移するような関数を実行する。第1演算部には静止摩擦に類似した作用があり、第2演算部には動摩擦に類似した作用がある。   In the robot control apparatus according to the present embodiment, the absolute value of the output gradient with respect to the input (position change) in the first calculation unit is greater than the absolute value of the output gradient with respect to the input (position change) in the second calculation unit. Set the function to be greater or equal. As described above, the second calculation unit executes a function that makes a transition from the final output of the first calculation unit to a substantially constant output while the robot arm is moving. The first calculation unit has an action similar to static friction, and the second calculation unit has an action similar to dynamic friction.

静止摩擦力に比べて小さな動摩擦力に遷移する際に遷移カーブの傾きが大きいと、ロボットアームを操作している最中に突然負荷が小さくなったように教示者にとっては感じられる。教示者が、ロボッアームを比較的短い距離で移動させたいときに、操作負荷が急激に低減したのでは、所望の位置でロボットアームを止められずに行き過ぎてしまうおそれがある。教示者が操作する際に感覚として感じるのは、負荷の大きさとその変化率である。動き出しにおける負荷増大率の絶対値と、低負荷に遷移する際の負荷減少率の絶対値を比較して、負荷減少率が同等もしくは小さければ、教示者にとって操作負荷が突然小さくなるように感じることは抑制できる。すなわち、教示者が比較的短い距離でロボットアームを操作する際に、所望の位置でロボットアームを止められずに行き過ぎてしまうようなことを抑制できる。   If the transition curve has a large slope when transitioning to a dynamic friction force that is smaller than the static friction force, the teacher feels that the load has suddenly decreased during operation of the robot arm. When the teacher wants to move the robot arm at a relatively short distance, if the operation load is suddenly reduced, the robot arm may not be stopped at a desired position, and the robot arm may go too far. What the teacher feels when operating is the magnitude of the load and the rate of change. Compare the absolute value of the load increase rate at the start of movement with the absolute value of the load decrease rate when transitioning to a low load, and if the load decrease rate is equal or small, the teacher feels that the operation load suddenly decreases Can be suppressed. That is, when the teacher operates the robot arm at a relatively short distance, it is possible to prevent the robot arm from going too far at the desired position without being stopped.

本実施形態では、教示者がロボットアームに力を加えて直接教示を行いながら、上述した力制御を行い、教示した軌道を制御部が記憶する。本実施形態の装置によれば、教示者は摩擦力に類似した力を感じながら直接教示を行うことができるため、違和感のない自然な感覚で過剰な負荷なくロボットアームを操作することが可能であり、教示する軌道の精度を高めることができる。また、自重補償演算部の演算精度が十分ではなく、重力の影響を完全に補償できないような場合であっても、重力の影響で教示者にとって意図しない動きが発生することを抑制できる。本実施形態の制御装置によれば、教示者の操作力を検知するための高価な力センサや、特殊なスイッチを備えたハンドルを設けなくても、簡易な構成で上述の効果を達成できる。   In the present embodiment, the teacher performs the above-described force control while directly teaching by applying force to the robot arm, and the control unit stores the taught trajectory. According to the apparatus of the present embodiment, since the instructor can directly teach while feeling a force similar to the frictional force, it is possible to operate the robot arm without excessive load with a natural feeling without discomfort. Yes, the accuracy of the trajectory to be taught can be improved. Further, even when the calculation accuracy of the self-weight compensation calculation unit is not sufficient and the influence of gravity cannot be completely compensated, it is possible to suppress the occurrence of unintended movement for the teacher due to the influence of gravity. According to the control device of the present embodiment, the above-described effects can be achieved with a simple configuration without providing an expensive force sensor for detecting the operating force of the teacher or a handle having a special switch.

以下、図面を参照して、本発明の実施例について説明する。
図1は、本発明の実施例に係るロボット200とロボットの制御装置300を示す斜視図である。ロボット200は、多軸の垂直多関節型のロボットアーム201と、ロボットアーム201の先端部に取り付けられたエンドエフェクタとしてのロボットハンド202とを有している。ロボットアーム201は、作業台に固定されるベース部(基端リンク)210と、変位や力を伝達する複数のリンク211〜216とが関節J1〜J6で屈曲(旋回)又は回転可能に連結されている。
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a perspective view showing a robot 200 and a robot controller 300 according to an embodiment of the present invention. The robot 200 has a multi-axis vertical articulated robot arm 201 and a robot hand 202 as an end effector attached to the tip of the robot arm 201. In the robot arm 201, a base portion (base end link) 210 fixed to a work table and a plurality of links 211 to 216 that transmit displacement and force are connected to bend (turn) or rotate at joints J1 to J6. ing.

本実施例では、ロボットアーム201は、屈曲する3軸と回転する3軸の6軸の関節J1〜J6で構成されている。ここで、屈曲とは2つのリンクの結合部のある点で折れ曲がること、回転とは2つのリンクの長手方向の回転軸でリンクが相対的に回ることをいい、それぞれを屈曲部、回転部と呼ぶ。ロボットアーム201は、6つの関節J1〜J6から構成され、関節J1、J4、J6が回転部、関節J2、J3、J5が屈曲部である。   In this embodiment, the robot arm 201 is composed of six joints J1 to J6, which are three axes that bend and three axes that rotate. Here, bending refers to bending at a point where the two links are connected, and rotation refers to relative rotation of the links on the rotational axis in the longitudinal direction of the two links. Call. The robot arm 201 includes six joints J1 to J6. The joints J1, J4, and J6 are rotating parts, and the joints J2, J3, and J5 are bending parts.

ロボットハンド202は、複数のフィンガー220を有し、ロボットアーム201の先端部、即ちリンク(先端リンク)216の先端部に取り付けられている。複数のフィンガー220は、ハンドベースに対して中心軸を中心とする半径方向内側及び外側に移動するようにハンドベースに支持されている。複数のフィンガー220を閉動作(半径方向内側に動作)させることにより、ワークW1を把持することができ、複数のフィンガー220を開動作(半径方向外側に動作)させることにより、ワークW1を把持解放することができる。   The robot hand 202 has a plurality of fingers 220 and is attached to the tip of the robot arm 201, that is, the tip of a link (tip link) 216. The plurality of fingers 220 are supported by the hand base so as to move inward and outward in the radial direction around the central axis with respect to the hand base. The workpiece W1 can be gripped by closing the plurality of fingers 220 (moving radially inward), and the workpiece W1 is gripped and released by opening the plurality of fingers 220 (moving radially outward). can do.

ロボットアーム201は、各関節J1〜J6をそれぞれ駆動するための6つの関節駆動装置230を有している。なお、図1では、関節駆動装置230は、図示の便宜上、関節J2にのみ示している。他の関節J1、J3〜J6については図示を省略しているが、他の関節J1、J3〜J6にも、同様の構成の関節駆動装置230が配置されている。   The robot arm 201 has six joint driving devices 230 for driving the joints J1 to J6, respectively. In FIG. 1, the joint drive device 230 is shown only for the joint J2 for convenience of illustration. Although the illustration of the other joints J1, J3 to J6 is omitted, the joint driving device 230 having the same configuration is also arranged in the other joints J1, J3 to J6.

図2は、ロボットアーム201の関節J2を示す部分断面図である。以下、関節J2を例に挙げて説明するが、他の関節J1、J3〜J6については同様の構成であるため、説明を省略する。
関節駆動装置230は、電動式回転モータであるモータ231と、モータ231の回転軸232の回転を減速する減速機233と、を有している。関節J2は、モータ231の回転軸232(減速機233の入力軸)の回転角度を検出するモータ角度検出部であるエンコーダ235を有する。モータ231は、サーボモータであり、例えばブラシレスDCサーボモータやACサーボモータである。エンコーダ235は、アブソリュート型のロータリーエンコーダが望ましく、1回転の絶対角度エンコーダ、絶対角度エンコーダの回転総数のカウンタ、及びカウンタに電力を供給するバックアップ電池を有して構成される。ロボットアーム201への電源の供給がオフになっても、このバックアップ電池が有効であれば、ロボットアーム201への電源供給のオン/オフに関係なく、カウンタにおいて回転総数が保持される。したがって、ロボットアーム201の姿勢が制御可能となる。なお、エンコーダ235は、回転軸232に取り付けられているが、減速機233の入力軸に取り付けてもよい。
FIG. 2 is a partial cross-sectional view showing the joint J2 of the robot arm 201. As shown in FIG. Hereinafter, the joint J2 will be described as an example, but the other joints J1, J3 to J6 have the same configuration, and thus the description thereof is omitted.
The joint drive device 230 includes a motor 231 that is an electric rotary motor and a speed reducer 233 that decelerates the rotation of the rotation shaft 232 of the motor 231. The joint J2 includes an encoder 235 that is a motor angle detection unit that detects the rotation angle of the rotation shaft 232 of the motor 231 (the input shaft of the speed reducer 233). The motor 231 is a servo motor, for example, a brushless DC servo motor or an AC servo motor. The encoder 235 is preferably an absolute rotary encoder, and includes an absolute angle encoder for one rotation, a counter for the total number of rotations of the absolute angle encoder, and a backup battery for supplying power to the counter. Even if the power supply to the robot arm 201 is turned off, if the backup battery is valid, the total number of rotations is held in the counter regardless of whether the power supply to the robot arm 201 is on or off. Therefore, the posture of the robot arm 201 can be controlled. The encoder 235 is attached to the rotary shaft 232, but may be attached to the input shaft of the speed reducer 233.

また、リンク211とリンク212とは、クロスローラベアリング237を介して回転自在に結合されている。モータ231は、モータカバー238で覆われて保護されている。モータ231とエンコーダ235との間には、不図示のブレーキユニットが設けられている。ブレーキユニットの主な機能は、電源オフ時のロボットアーム201の姿勢の保持である。   Further, the link 211 and the link 212 are rotatably coupled via a cross roller bearing 237. The motor 231 is covered and protected by a motor cover 238. A brake unit (not shown) is provided between the motor 231 and the encoder 235. The main function of the brake unit is to maintain the posture of the robot arm 201 when the power is turned off.

減速機233は、小型軽量で減速比の大きい波動歯車減速機である。減速機233は、モータ231の回転軸232に結合された、入力軸であるウェブジェネレータ241と、リンク212に固定された、出力軸であるサーキュラスプライン242と、を備えている。なお、サーキュラスプライン242は、リンク212に直結されているが、リンク212に一体に形成されていてもよい。また、減速機233は、ウェブジェネレータ241とサーキュラスプライン242との間に配置され、リンク211に固定されたフレクスプライン243を備えている。フレクスプライン243は、ウェブジェネレータ241の回転に対して減速比Nで減速され、サーキュラスプライン242に対して相対的に回転する。従って、モータ231の回転軸232の回転は、減速機233で1/Nの減速比で減速されて、フレクスプライン243が固定されたリンク211に対してサーキュラスプライン242が固定されたリンク212を相対的に回転運動させ、関節J2を屈曲させる。   The reducer 233 is a wave gear reducer that is small and light and has a large reduction ratio. The speed reducer 233 includes a web generator 241 that is an input shaft coupled to a rotating shaft 232 of the motor 231, and a circular spline 242 that is an output shaft and is fixed to the link 212. The circular spline 242 is directly connected to the link 212, but may be formed integrally with the link 212. The speed reducer 233 includes a flex spline 243 that is disposed between the web generator 241 and the circular spline 242 and is fixed to the link 211. The flex spline 243 is decelerated at a reduction ratio N with respect to the rotation of the web generator 241 and rotates relative to the circular spline 242. Accordingly, the rotation of the rotating shaft 232 of the motor 231 is decelerated by the reduction gear 233 with a reduction ratio of 1 / N, and the link 212 with the circular spline 242 fixed relative to the link 211 with the flexspline 243 fixed is relative to the link 212. The joint J2 is bent.

図3は、ロボット200に設定された座標系を示す斜視図である。ベース座標系ΣBは基端リンク210に固定され、互いに直交するXB軸、YB軸、ZB軸を有する。ツール座標系ΣTはロボットハンド202に固定され、互いに直交するXT軸、YT軸、ZT軸を有する。ロボット200の動作はベース座標系ΣBに対するツール座標系ΣTの相対的な位置と姿勢で表される。位置を表すパラメータは(x、y、z)の3つである。姿勢を表すパラメータは(α、β、γ)の3つである。即ちロボットの動作は6つのパラメータ(x、y、z、α、β、γ)で表される。これに対して、既に説明したようにロボットアーム201は6つの関節J1〜J6を有する。関節J1〜J6の角度とパラメータ(x、y、z、α、β、γ)は相互に変換ができる。   FIG. 3 is a perspective view showing a coordinate system set for the robot 200. The base coordinate system ΣB is fixed to the proximal link 210 and has an XB axis, a YB axis, and a ZB axis that are orthogonal to each other. The tool coordinate system ΣT is fixed to the robot hand 202 and has an XT axis, a YT axis, and a ZT axis that are orthogonal to each other. The operation of the robot 200 is represented by the relative position and orientation of the tool coordinate system ΣT with respect to the base coordinate system ΣB. There are three parameters (x, y, z) representing the position. There are three parameters (α, β, γ) representing the posture. That is, the robot motion is represented by six parameters (x, y, z, α, β, γ). On the other hand, as already described, the robot arm 201 has six joints J1 to J6. The angles and parameters (x, y, z, α, β, γ) of the joints J1 to J6 can be mutually converted.

図4は、本発明の実施形態に係る制御装置300の主要な機能ブロックを示した機能ブロック図である。尚、図中の制御装置300が含む各機能ブロックは、各機能を達成可能な電気回路を用いてハードウエアとして構成してもよいし、各機能を達成可能なプログラムを用いてソフトウエアとして構成してもよい。   FIG. 4 is a functional block diagram showing main functional blocks of the control device 300 according to the embodiment of the present invention. Note that each functional block included in the control device 300 in the figure may be configured as hardware using an electric circuit capable of achieving each function, or configured as software using a program capable of achieving each function. May be.

図4においては、ロボット200については、ロボットアーム201の関節J1の駆動部のみをブロック化して図示している。図を簡潔にするため、関節J2〜J6については図示を省略しているが、関節J1と同様に制御装置300によって制御される。関節J1には既に説明したように関節駆動装置230とモータ231およびエンコーダ235が備えられている。関節J2〜J6についても同様である。   4, for the robot 200, only the drive part of the joint J1 of the robot arm 201 is shown as a block. For simplicity, the joints J2 to J6 are not shown, but are controlled by the control device 300 in the same manner as the joint J1. As described above, the joint J1 includes the joint driving device 230, the motor 231 and the encoder 235. The same applies to the joints J2 to J6.

制御装置300は、角度演算部306a、角速度演算部307a、先端位置演算部309、先端速度演算部310、各軸パラメータの力制御部301xとダンパ演算部308x、自重補償演算部311、関節トルク演算部312、トルク制御部313aを含んでいる。このうち、力制御部301xは、相対位置検出部305x、切り替え部302x、第1演算部303x、第2演算部304xを含んでいる。尚、各軸パラメータの力制御部301xとダンパ演算部308x、自重補償演算部311、関節トルク演算部312、トルク制御部313aをまとめて、制御部と呼ぶ場合がある。   The control device 300 includes an angle calculation unit 306a, an angular velocity calculation unit 307a, a tip position calculation unit 309, a tip speed calculation unit 310, a force control unit 301x and a damper calculation unit 308x for each axis parameter, a self-weight compensation calculation unit 311, and a joint torque calculation. Part 312 and torque control part 313a. Among these, the force control unit 301x includes a relative position detection unit 305x, a switching unit 302x, a first calculation unit 303x, and a second calculation unit 304x. In addition, the force control unit 301x and the damper calculation unit 308x, the self-weight compensation calculation unit 311, the joint torque calculation unit 312, and the torque control unit 313a for each axis parameter may be collectively referred to as a control unit.

角度演算部306aは、関節J1に搭載されたエンコーダ235の角度検出結果を示す値に基づき、関節J1の関節角度の値を算出する。角速度演算部307aは、関節J1に搭載されたエンコーダ235の角度検出結果を示す値に基づき、微分演算により関節J1の関節角速度の値を算出する。同様に、制御装置300は、関節J2〜J6の関節角度を算出する角度演算部306b、306c、306d、306e、306fおよび関節角速度を算出する角速度演算部307b、307c、307d、307e、307fを備えるが、図示は省略する。   The angle calculation unit 306a calculates the value of the joint angle of the joint J1 based on the value indicating the angle detection result of the encoder 235 mounted on the joint J1. The angular velocity calculation unit 307a calculates the value of the joint angular velocity of the joint J1 by differential calculation based on the value indicating the angle detection result of the encoder 235 mounted on the joint J1. Similarly, the control device 300 includes angle calculation units 306b, 306c, 306d, 306e, and 306f that calculate joint angles of the joints J2 to J6 and angular velocity calculation units 307b, 307c, 307d, 307e, and 307f that calculate joint angular velocities. However, illustration is omitted.

先端位置演算部309は、角度演算部306a〜306fの出力に基づいてロボットアームの位置と姿勢を表すパラメータ(x、y、z、α、β、γ)を演算する。先端速度演算部310は、角速度演算部307a〜307fの出力と先端位置演算部309の出力に基づいてパラメータ(x、y、z、α、β、γ)の時間微分である速度d(x、y、z、α、β、γ)/dtを演算する。この時間微分を演算するために、先端位置演算部309の出力するパラメータ(x、y、z、α、β、γ)が必要であることは当業者に公知である。先端速度演算部310は、ロボットアームの先端の速度を演算するとともに、速度の方向の反転を検出する。   The tip position calculation unit 309 calculates parameters (x, y, z, α, β, γ) representing the position and posture of the robot arm based on the outputs of the angle calculation units 306a to 306f. The tip speed calculator 310 is a speed d (x, x, y) that is a time derivative of the parameters (x, y, z, α, β, γ) based on the outputs of the angular speed calculators 307a to 307f and the output of the tip position calculator 309. y, z, α, β, γ) / dt is calculated. It is known to those skilled in the art that the parameters (x, y, z, α, β, γ) output from the tip position calculation unit 309 are necessary to calculate this time derivative. The tip speed calculator 310 calculates the speed of the tip of the robot arm and detects the reversal of the speed direction.

力制御部301xは、6つのパラメータの中のxに対応するブロックである。同様に力制御部301y、301z、301α、301β、301γは、各々パラメータ(y、z、α、β、γ)に対応するブロックとして設けられるが、図示は省略する。力制御部301x〜301γは、ロボットハンドの基準位置からの変位に応じて、静止摩擦力に類似した力あるいは動摩擦力に類似した力の力制御信号を生成して、関節トルク演算部312に出力する。力制御部301xは、相対位置検出部305x、切り替え部302x、第1演算部303x、第2演算部304xを含んでいる。   The force control unit 301x is a block corresponding to x among the six parameters. Similarly, force control units 301y, 301z, 301α, 301β, and 301γ are provided as blocks corresponding to parameters (y, z, α, β, and γ), respectively, but are not illustrated. The force control units 301x to 301γ generate a force control signal of a force similar to a static friction force or a force similar to a dynamic friction force according to the displacement from the reference position of the robot hand, and output the force control signal to the joint torque calculation unit 312. To do. The force control unit 301x includes a relative position detection unit 305x, a switching unit 302x, a first calculation unit 303x, and a second calculation unit 304x.

相対位置検出部305xは、基準状態を記憶するとともに、記憶した基準状態に対する現在位置の相対位置を検出し、切り替え部302xを介して相対位置情報を第1演算部または第2演算部に出力する。現在位置は、先端位置演算部309から相対位置検出部305xに入力される。   The relative position detection unit 305x stores the reference state, detects the relative position of the current position with respect to the stored reference state, and outputs the relative position information to the first calculation unit or the second calculation unit via the switching unit 302x. . The current position is input from the tip position calculation unit 309 to the relative position detection unit 305x.

相対位置検出部305xは、直接教示モードの開始時には、その時点における先端位置演算部309の出力値を、基準状態の初期値として記憶する。そして、相対位置検出部305xは、所定のタイミングで、記憶している基準状態をリセットする。リセットをするタイミングは、ロボットハンドが第一の範囲を越えて移動した後に、先端速度演算部310が出力する速度dx/dtの方向が反転した時点である。速度の方向が反転する時点とは、ロボット200の移動が止まり、次の動き出しとして逆方向への移動が開始される時点である。この時、第2演算部から第1演算部に切り替えるが、力制御信号が不連続となることを避けるため、直前に第2演算部から出力されていた力制御信号と同一な値を第1演算部が出力するようにする。その方法については、後に図8を参照して説明する。
尚、不図示の力制御部301y〜301γについても、力制御部301xと同様の動作を行う。
At the start of the direct teaching mode, the relative position detection unit 305x stores the output value of the tip position calculation unit 309 at that time as the initial value of the reference state. Then, the relative position detection unit 305x resets the stored reference state at a predetermined timing. The reset timing is when the direction of the speed dx / dt output by the tip speed calculator 310 is reversed after the robot hand moves beyond the first range. The time when the direction of the speed is reversed is the time when the movement of the robot 200 stops and the movement in the reverse direction is started as the next movement. At this time, the second calculation unit is switched to the first calculation unit, but in order to avoid the discontinuity of the force control signal, the same value as the force control signal output from the second calculation unit immediately before is set to the first value. Let the arithmetic unit output. This method will be described later with reference to FIG.
The force control units 301y to 301γ (not shown) perform the same operation as the force control unit 301x.

第1演算部303xは、静止摩擦力に類似した力で制御できるように、入力された相対位置情報に基づいて力制御信号を演算して出力する。第2演算部304xは、動摩擦力に類似した力で制御できるように、入力された相対位置情報に基づいて力制御信号を演算して出力する。   The first calculation unit 303x calculates and outputs a force control signal based on the input relative position information so that it can be controlled with a force similar to the static friction force. The second calculation unit 304x calculates and outputs a force control signal based on the input relative position information so that it can be controlled with a force similar to the dynamic friction force.

切り替え部302xは、第1演算部303xに演算を実行させるか第2演算部304xに演算を実行させるかを所定のタイミングで切り替える。切り替えるタイミングは、先端位置が第一の範囲以内から範囲外に移ったタイミングか、または基準状態をリセットしたタイミングである。尚、切り替え部302xは、図4では第1演算部303xおよび第2演算部304xの入力側と出力側の両側に設けたスイッチとして示されているが、要は関節トルク演算部に対して出力する演算部を切り替えられればよいので、出力側だけのスイッチでもよい。   The switching unit 302x switches whether the first calculation unit 303x performs the calculation or the second calculation unit 304x executes the calculation at a predetermined timing. The timing for switching is the timing when the tip position moves out of the first range or out of the range, or the timing when the reference state is reset. In FIG. 4, the switching unit 302x is shown as a switch provided on both the input side and the output side of the first calculation unit 303x and the second calculation unit 304x. Since it is only necessary to switch the arithmetic unit to be operated, a switch only on the output side may be used.

自重補償演算部311は、重力の影響をキャンセルするような制御値を演算して出力する。ダンパ演算部308xは、速度dx/dtに比例定数を掛ける演算を実行して出力する。図4では図示を省略したダンパ演算部308y〜308γも、同様に速度dy/dt〜dγ/dtに比例定数を掛ける演算を実行して出力する。   The self-weight compensation calculation unit 311 calculates and outputs a control value that cancels the influence of gravity. The damper operation unit 308x performs an operation of multiplying the speed dx / dt by a proportional constant and outputs the result. Similarly, the damper calculation units 308y to 308γ (not shown in FIG. 4) execute the calculation by multiplying the speed dy / dt to dγ / dt by a proportionality constant and output the result.

自重補償演算部311の出力信号と、力制御部301x〜301γの出力信号と、ダンパ演算部308x〜308γの出力信号は、加算されて関節トルク演算部312へ導かれる。関節トルク演算部312は、パラメータ(x、y、z、α、β、γ)ごとの力制御信号を関節J1〜J6ごとのトルク指令に変換して、各関節のトルク制御部に出力する。   The output signal of the self-weight compensation calculation unit 311, the output signals of the force control units 301 x to 301 γ, and the output signals of the damper calculation units 308 x to 308 γ are added and guided to the joint torque calculation unit 312. The joint torque calculator 312 converts a force control signal for each parameter (x, y, z, α, β, γ) into a torque command for each joint J1 to J6 and outputs the torque command to each joint torque controller.

トルク制御部313aは、関節J1のトルク指令に応じて関節J1に搭載されたモータ231のトルクを制御する。トルク制御のためには、モータ231に流れる電流が制御される。あるいは、関節駆動装置230にトルクセンサを搭載して、トルクセンサの検出する関節トルクがトルク指令に一致するようにモータ231の電流を制御してもよい。
トルク制御部313b〜313fについては図示を省略するが、関節J2〜J6ごとのトルク指令に応じて関節J2〜J6に搭載されたモータ231のトルクを制御する。
The torque control unit 313a controls the torque of the motor 231 mounted on the joint J1 according to the torque command of the joint J1. For torque control, the current flowing through the motor 231 is controlled. Alternatively, a torque sensor may be mounted on the joint drive device 230, and the current of the motor 231 may be controlled so that the joint torque detected by the torque sensor matches the torque command.
Although illustration is abbreviate | omitted about the torque control parts 313b-313f, the torque of the motor 231 mounted in joint J2-J6 is controlled according to the torque command for every joint J2-J6.

図5は、直接教示を行う場合の制御装置300の作用を示す模式図である。教示者がロボット200を操作する際、制御装置300の動作により、ロボットハンド202に図5に模式的に示すような負荷が作用する。
まず、x、y、zで示される3つの並進方向にはダンパ力と摩擦力が作用する。ダンパ力は並進方向の速度に比例した力である。摩擦力としては、静止摩擦力と動摩擦力とが切り替わって作用する。静止摩擦力とは、ロボット200の動き出しにおいて教示者の操作に対抗してロボットハンド202を初期位置に留めるように作用する摩擦力である。動摩擦力とは、教示者が静止摩擦力を超えた力をロボット200に加えた際に、一定な低負荷として作用する摩擦力である。
FIG. 5 is a schematic diagram showing the operation of the control device 300 when direct teaching is performed. When the teacher operates the robot 200, a load as schematically shown in FIG. 5 acts on the robot hand 202 by the operation of the control device 300.
First, a damper force and a friction force act on the three translation directions indicated by x, y, and z. The damper force is a force proportional to the speed in the translation direction. As the friction force, a static friction force and a dynamic friction force are switched to act. The static frictional force is a frictional force that acts to keep the robot hand 202 in the initial position against the teacher's operation when the robot 200 starts to move. The dynamic friction force is a friction force that acts as a constant low load when the teacher applies a force exceeding the static friction force to the robot 200.

また、α、β、γで示される3つの回転方向には、ダンパトルクと摩擦トルクが作用する。ダンパトルクは、回転方向の角速度に比例したトルクである。摩擦トルクとしては、摩擦力と同様に、静止摩擦トルクと動摩擦トルクが切り替わって作用する。静止摩擦トルクとは、ロボット200の動き出しにおいて教示者の操作に対抗してロボットハンド202を初期姿勢に留めるように作用する摩擦トルクである。動摩擦トルクとは、教示者が静止摩擦トルクを超えたトルクをロボット200に加えた際に、一定な低負荷として作用する摩擦トルクである。   In addition, damper torque and friction torque act in the three rotational directions indicated by α, β, and γ. The damper torque is a torque proportional to the angular velocity in the rotation direction. As the friction torque, like the friction force, the static friction torque and the dynamic friction torque are switched and act. The static friction torque is a friction torque that acts to keep the robot hand 202 in the initial posture against the operation of the teacher when the robot 200 starts moving. The dynamic friction torque is a friction torque that acts as a constant low load when the teacher applies a torque exceeding the static friction torque to the robot 200.

図6は、力制御部301xの動作を示すフローチャートである。力制御部301y〜301γについても、これと同様の動作を行うが、説明は省略する。
力制御部301xは、直接教示開始の指示を受けると(S1)、その時点での位置、姿勢を基準状態として記憶する(S2)。以後、ロボットハンドの現在の状態と記憶した基準状態とを逐次比較し、基準状態から第一の範囲以内にあるかを調べる(S3)。
第一の範囲以内にある場合には、力制御部301xは第1演算部303xを用いて演算した力制御信号を関節トルク演算部312に出力する(S4)。第一の範囲以内にある間は、(S3)と(S4)が繰り返され、第1演算部303xによる力制御が継続される。
FIG. 6 is a flowchart showing the operation of the force control unit 301x. The force control units 301y to 301γ perform the same operation, but the description thereof is omitted.
When receiving an instruction to start teaching directly (S1), the force control unit 301x stores the position and orientation at that time as a reference state (S2). Thereafter, the current state of the robot hand and the stored reference state are sequentially compared to check whether they are within the first range from the reference state (S3).
When it is within the first range, the force control unit 301x outputs a force control signal calculated using the first calculation unit 303x to the joint torque calculation unit 312 (S4). While within the first range, (S3) and (S4) are repeated, and the force control by the first computing unit 303x is continued.

一方、教示者の操作によりロボットハンドが第一の範囲を越えて移動した場合には、力制御部301xは第2演算部304xを用いて演算した力制御信号を関節トルク演算部312に出力する(S5)。そして、先端速度演算部310が出力する速度dx/dtが、方向を反転しているかを検知する(S6)。速度方向の反転すなわちリセット条件が検知されない間は、(S5)と(S6)が繰り返され、第2演算部304xによる力制御が継続される。   On the other hand, when the robot hand moves beyond the first range by the teacher's operation, the force control unit 301x outputs a force control signal calculated using the second calculation unit 304x to the joint torque calculation unit 312. (S5). Then, it is detected whether the speed dx / dt output from the tip speed calculator 310 is reversed (S6). While the reversal of the speed direction, that is, the reset condition is not detected, (S5) and (S6) are repeated, and the force control by the second calculation unit 304x is continued.

一方、リセット条件が検知された場合には、記憶していた基準状態がリセットされ、新たな基準状態が記憶される(S7)。そして、力制御部301xは、直接教示終了の指示が入力されているかを調べる(S8)。終了の指示が入力されていない場合には、(S3)に戻り、リセットされた基準状態に基づき、力制御を継続する。直接教示終了の指示が入力された場合には、直接教示動作を終了する(S9)。   On the other hand, when the reset condition is detected, the stored reference state is reset and a new reference state is stored (S7). Then, the force control unit 301x checks whether an instruction to end teaching is directly input (S8). If the end instruction has not been input, the process returns to (S3), and the force control is continued based on the reset reference state. When the direct teaching end instruction is input, the direct teaching operation is ended (S9).

図7(a)と図7(b)は、それぞれ第1演算部303xと第2演算部304xの作用を説明するための図である。グラフの横軸に示される位置xの絶対値が第一の範囲を決める閾値P1xよりも小さいか同値の場合には、第1演算部303xが選択され、図7(a)の特性による演算が行われる。グラフの横軸に示される位置xの絶対値が第一の範囲を決める閾値P1xよりも大きい場合には、第2演算部304xが選択され、図7(b)の特性による演算が行われる。言い換えれば、位置xの絶対値が、閾値P1xよりも小さいか同値な状態から閾値P1xよりも大きい状態に遷移したときに、第1演算部から第2演算部への切り替えが実行される。   FIG. 7A and FIG. 7B are diagrams for explaining the operation of the first calculation unit 303x and the second calculation unit 304x, respectively. When the absolute value of the position x shown on the horizontal axis of the graph is smaller than or equal to the threshold value P1x that determines the first range, the first calculation unit 303x is selected, and the calculation based on the characteristics of FIG. Done. When the absolute value of the position x shown on the horizontal axis of the graph is larger than the threshold value P1x that determines the first range, the second calculation unit 304x is selected, and the calculation based on the characteristics of FIG. 7B is performed. In other words, when the absolute value of the position x transitions from a state that is smaller than or equal to the threshold value P1x to a state that is larger than the threshold value P1x, switching from the first computing unit to the second computing unit is executed.

図7(a)は、第1演算部303xで実行される演算の入出力関数を示すグラフである。入力である位置xの絶対値は、第一の範囲を決める閾値P1xよりも小さいか同値である。出力は、最大絶対値がF1xとなる単調増加関数である。F1xは、静止摩擦における最大静摩擦力を模擬する。また、矢印で示したように、増減を繰り返すような双方向の入力を許容する。第1演算部がかかる力制御信号を関節トルク演算部312に出力することにより、位置情報の若干の変動に対してはロボットアームを基準状態に戻す方向の力が印可される制御がなされる。   FIG. 7A is a graph showing an input / output function of an operation executed by the first operation unit 303x. The absolute value of the input position x is smaller than or equal to the threshold value P1x that determines the first range. The output is a monotonically increasing function with a maximum absolute value of F1x. F1x simulates the maximum static friction force in static friction. Further, as indicated by the arrows, bidirectional input that allows repeated increase and decrease is allowed. The first calculation unit outputs the force control signal to the joint torque calculation unit 312 so that a slight force of the position information is applied with a force in a direction to return the robot arm to the reference state.

図7(b)は、第2演算部304xで実行される演算の入出力関数を示すグラフである。入力である位置xの絶対値は、第一の範囲を決める閾値P1xよりも大きい。第2演算部304xの入出力関数は、F1xからそれよりも小さいF2xに遷移して、以降は一定値をとるような関数である。F2xは動摩擦力を模擬する。第二演算部が、かかる力制御信号を関節トルク演算部312に出力することにより、位置情報の変動に対してロボットアームを基準状態に戻す方向の力が印可される制御がなされる。入力がP2xの値となるときに出力はF2xとなる。図7(b)に参考のため点線で記したのは、第1演算部の入出力関数である。第1演算部と第2演算部の入出力関数は(P1x、F1x)および(−P1x、−F1x)の点で連続的につながっている。このため、切り替えの際に出力は連続である。   FIG. 7B is a graph showing an input / output function of an operation executed by the second operation unit 304x. The absolute value of the input position x is larger than a threshold value P1x that determines the first range. The input / output function of the second calculation unit 304x is a function that transitions from F1x to F2x smaller than that, and thereafter takes a constant value. F2x simulates a dynamic friction force. The second calculation unit outputs such a force control signal to the joint torque calculation unit 312 so that a control is applied to apply a force in a direction to return the robot arm to the reference state with respect to a change in position information. When the input has the value P2x, the output is F2x. What is indicated by a dotted line in FIG. 7B for reference is an input / output function of the first arithmetic unit. The input / output functions of the first calculation unit and the second calculation unit are continuously connected at points (P1x, F1x) and (−P1x, −F1x). For this reason, the output is continuous during switching.

また、矢印で示したように、第2演算部は絶対値が増加する方向の入力のみを許容する。入力である位置xの絶対値が減少するのは速度の方向が反転した場合であるが、速度dx/dtが反転した時点で第2演算から第1演算への切り替えが実行される。第2演算から第1演算に切り替える際に出力が連続となるように、切り替える直前の出力F0xが記憶される。   Further, as indicated by the arrows, the second arithmetic unit only allows input in the direction in which the absolute value increases. The absolute value of the input position x decreases when the speed direction is reversed, but switching from the second calculation to the first calculation is performed when the speed dx / dt is reversed. The output F0x immediately before switching is stored so that the output is continuous when switching from the second calculation to the first calculation.

図8は、リセット時の相対位置検出部305xの動作を説明するための図である。図8で示した関数は、図7(a)に示した第1演算部の関数の逆関数である。
相対位置検出部305xは、第一の範囲を超えた位置において先端速度演算部が速度の反転を検出した時には、その位置情報およびその時に第2演算部が出力していた力制御信号の値に基づいて新たな基準位置を決定し、基準位置情報を更新して記憶する。例えば、後述する図9(c)のように、リセットを実行する際に第2演算部が出力していた力制御信号がF2xである場合には、リセット時の実際の位置から図8の逆関数により求められるP0xに相当する距離だけずれた位置を新たな基準状態として記憶する。この相対位置検出部305xの作用により、第2演算から第1演算に切り替えた際に、関節トルク演算部312に対して出力される力制御信号の連続性が保持される。
尚、直接教示モードの開始時には力制御信号値はゼロであるから、相対位置検出部305xは、直接教示モード開始時の位置を基準状態として記憶する。
FIG. 8 is a diagram for explaining the operation of the relative position detector 305x at the time of reset. The function shown in FIG. 8 is an inverse function of the function of the first calculation unit shown in FIG.
When the tip speed calculation unit detects the reversal of the speed at a position exceeding the first range, the relative position detection unit 305x sets the position information and the value of the force control signal output by the second calculation unit at that time. Based on this, a new reference position is determined, and the reference position information is updated and stored. For example, as shown in FIG. 9C, which will be described later, when the force control signal output by the second calculation unit when executing the reset is F2x, the actual position at the time of reset is reversed from FIG. A position shifted by a distance corresponding to P0x obtained by the function is stored as a new reference state. Due to the action of the relative position detection unit 305x, the continuity of the force control signal output to the joint torque calculation unit 312 is maintained when the second calculation is switched to the first calculation.
Since the force control signal value is zero at the start of the direct teaching mode, the relative position detection unit 305x stores the position at the start of the direct teaching mode as a reference state.

以上、図7(a)、図7(b)および図8を用いて、第1演算部303x、第2演算部304x、相対位置検出部305xの動作を説明した。他の軸に関する第1演算部303y〜303γ、第2演算部304y〜304γ、相対位置検出部305y〜305γについても動作は同様であるので、説明は省略する。   The operations of the first calculation unit 303x, the second calculation unit 304x, and the relative position detection unit 305x have been described above with reference to FIGS. 7A, 7B, and 8. Since the operations of the first calculation units 303y to 303γ, the second calculation units 304y to 304γ, and the relative position detection units 305y to 305γ related to other axes are the same, the description thereof is omitted.

図9(a)、図9(b)、図9(c)は、直接教示における力制御部301xの動作を説明するための図で、順に、速度vs時間のグラフ、位置vs時間のグラフ、力制御信号vs時間のグラフ、である。
直接教示の実行中に速度dx/dtと位置xが力制御部301xに入力されたとき、出力である力制御信号は図9(c)のようになる。矢印A、B、Cは、切り替え部302xが動作する時点を示す。
FIG. 9A, FIG. 9B, and FIG. 9C are diagrams for explaining the operation of the force control unit 301x in the direct teaching, in order of a speed vs time graph, a position vs time graph, It is a graph of force control signal vs time.
When the speed dx / dt and the position x are input to the force control unit 301x during execution of the direct teaching, the force control signal as an output is as shown in FIG. Arrows A, B, and C indicate times when the switching unit 302x operates.

矢印Aは、位置xが第一の範囲を規定する閾値P1xを超えた時であり、第1演算部から第2演算部に切り替わる。この切り替え時には、力制御信号は最大静止摩擦力に相当するF1xである。その後、位置xがP2xまで移動するのに伴い、力制御信号は動摩擦力に類似するF2xに遷移する。矢印Bは、速度dx/dtの方向が反転する時点であり、切り替え部302xにより第2演算部から第1演算部に切り替わり、相対位置検出部305xにより基準状態がリセットされる。矢印Bの時点から位置xがP0xだけ減少した時点で力制御信号はゼロとなり、その後、第一の範囲を規定する閾値P1xを超えた時点である矢印Cで、再び第1演算部から第2演算部に切り替わる。尚、図9(a)、図9(b)、図9(c)では力制御部301xの動作を説明したが、力制御部301y〜301γについても動作は同様である。   An arrow A is when the position x exceeds a threshold value P1x that defines the first range, and switches from the first calculation unit to the second calculation unit. At the time of switching, the force control signal is F1x corresponding to the maximum static friction force. Thereafter, as the position x moves to P2x, the force control signal transitions to F2x similar to the dynamic friction force. An arrow B is a point in time when the direction of the speed dx / dt is reversed, the switching unit 302x switches from the second calculation unit to the first calculation unit, and the relative position detection unit 305x resets the reference state. The force control signal becomes zero when the position x is decreased by P0x from the time point of the arrow B, and then the second operation is again performed from the first calculation unit by the arrow C, which is a time point when the threshold value P1x defining the first range is exceeded. Switch to the calculation unit. In addition, although operation | movement of force control part 301x was demonstrated in Fig.9 (a), FIG.9 (b), FIG.9 (c), operation | movement is the same also about force control part 301y-301γ.

図10は、第2演算部304xで演算される関数のパラメータ設定を示すグラフである。入力がP1xからP2xまで変化する間に、出力は最大静止摩擦力に類似する出力F1xから動摩擦力に類似するF2xまで遷移する。同図では、P2xが2P1xに等しい場合と、P2xが3P1xに等しい場合の2通りの遷移の様子を示す。P2xが大きいほど、入出力の変化率は小さくなる。教示者にとっては、負荷の急峻な変化がないことが、ロボット200を円滑かつ意図通りに操作するために好ましい。P2xを2P1xと同じかそれ以上の大きさに設定することで、教示者は直接教示をより好適に実施できる。すなわち、第一の範囲以内において生成する力制御信号の位置に対する変化の傾きの絶対値は、第一の範囲を超えてから第二の範囲以内において生成する力制御信号の位置に対する変化の傾きの絶対値と比較して、大きいかまたは等しいようにする。なお、図10では第2演算部304xの動作を説明したが、第2演算部304y〜304γについても動作は同様である。   FIG. 10 is a graph showing parameter settings of functions calculated by the second calculation unit 304x. While the input changes from P1x to P2x, the output transitions from an output F1x similar to the maximum static friction force to F2x similar to the dynamic friction force. In the figure, two transition states are shown when P2x is equal to 2P1x and when P2x is equal to 3P1x. The larger the P2x, the smaller the input / output change rate. For the teacher, it is preferable that there is no steep change in load in order to operate the robot 200 smoothly and as intended. By setting P2x to be equal to or larger than 2P1x, the teacher can perform direct teaching more preferably. That is, the absolute value of the slope of the change with respect to the position of the force control signal generated within the first range is the slope of the change with respect to the position of the force control signal generated within the second range after exceeding the first range. Compared to the absolute value, it should be greater or equal. In addition, although operation | movement of the 2nd calculating part 304x was demonstrated in FIG. 10, operation | movement is the same also about 2nd calculating parts 304y-304γ.

図11は、パラメータ(x、y、z、α、β、γ)と座標系の設定を説明する図である。上記の実施例では、基端リンク210に固定されたベース座標系ΣBからロボットハンドをみた場合の相対的な位置と姿勢で、パラメータ(x、y、z、α、β、γ)を導いてきた。本発明の実施形態はこれに限定されるものではなく、ロボットハンドの先端に作業ツールを装着し、作業ツールに固定して設定されたツール座標系の各座標軸ごとに力制御信号を生成するものであってもよい。すなわち、ロボットハンド202に固定されたツール座標系ΣTとパラメータ(x、y、z、α、β、γ)を対応付けてもよい。まず初期状態におけるツール座標系ΣT0を空間に固定する。ツール座標系ΣTはロボット200の動作に応じて空間を移動する。矢印Aは、ΣT0からみたΣTの相対移動を示す。ΣT0からみたΣTの相対的な位置と姿勢に対応させて、パラメータ(x、y、z、α、β、γ)を導出してもよい。   FIG. 11 is a diagram for explaining setting of parameters (x, y, z, α, β, γ) and a coordinate system. In the above embodiment, the parameters (x, y, z, α, β, γ) are derived from the relative position and orientation when the robot hand is viewed from the base coordinate system ΣB fixed to the proximal link 210. It was. The embodiment of the present invention is not limited to this, and a work tool is attached to the tip of the robot hand, and a force control signal is generated for each coordinate axis of the tool coordinate system set by being fixed to the work tool. It may be. That is, the tool coordinate system ΣT fixed to the robot hand 202 may be associated with the parameters (x, y, z, α, β, γ). First, the tool coordinate system ΣT0 in the initial state is fixed in space. The tool coordinate system ΣT moves in space according to the operation of the robot 200. An arrow A indicates relative movement of ΣT as viewed from ΣT0. The parameters (x, y, z, α, β, γ) may be derived in correspondence with the relative position and orientation of ΣT viewed from ΣT0.

本実施例では、上述したロボットアームの力制御を行いながら教示者がロボットアームに力を加えて直接教示を行い、教示した軌道を制御装置300が記憶する。本実施例の装置によれば、直接教示を行う際に、教示者は摩擦力に類似した力を感じることができるため違和感のない自然な感覚で過剰な負荷なくロボットアームを操作することが可能であり、教示する軌道の位置精度を高めることができる。また、例えば自重補償演算部の演算精度が十分ではなく、重力の影響を完全に補償できない場合であっても、重力の影響で教示者にとって意図しない動きが発生することを抑制できる。本実施例の制御装置によれば、教示者の操作力を検知するための高価な力センサや、特殊なスイッチを備えたハンドルを設けなくても、簡易な構成で上述の効果を達成できる。   In the present embodiment, the teacher directly applies the force to the robot arm while performing the above-described robot arm force control, and the controller 300 stores the taught trajectory. According to the apparatus of this embodiment, when teaching directly, the teacher can feel a force similar to the frictional force, so that the robot arm can be operated without excessive load with a natural feeling without discomfort. Thus, the positional accuracy of the trajectory to be taught can be improved. In addition, for example, even when the calculation accuracy of the self-weight compensation calculation unit is not sufficient and the influence of gravity cannot be completely compensated, it is possible to suppress the occurrence of unintended movement for the teacher due to the influence of gravity. According to the control apparatus of the present embodiment, the above-described effects can be achieved with a simple configuration without providing an expensive force sensor for detecting the operating force of the teacher or a handle having a special switch.

本発明の実施は、上述した実施形態や実施例に限られるものではなく、本発明の技術的思想の範囲内で多くの変形が可能である。例えば、制御対象となるロボットの軸数は、実施例の例に限られない。また、ロボットハンドに固定されるツールに制限はなく、ツールの種類に応じたツール座標系を設定することができる。また、力制御部、自重補償演算部、ダンパ演算部に加えて、さらに他の力演算を行う機能ブロックを備えてもよい。   The implementation of the present invention is not limited to the above-described embodiments and examples, and many modifications are possible within the scope of the technical idea of the present invention. For example, the number of axes of the robot to be controlled is not limited to the example of the embodiment. Moreover, there is no restriction | limiting in the tool fixed to a robot hand, The tool coordinate system according to the kind of tool can be set. Further, in addition to the force control unit, the self-weight compensation calculation unit, and the damper calculation unit, a functional block for performing another force calculation may be provided.

200・・・ロボット/201・・・ロボットアーム/202・・・ロボットハンド/210・・・ベース部(基端リンク)/211〜216・・・リンク/235・・・エンコーダ/300・・・制御装置/301x・・・力制御部/302x・・・切り替え部/303x・・・第1演算部/304x・・・第2演算部/305x・・・相対位置検出部/306a・・・角度演算部/307a・・・角速度演算部/308x・・・ダンパ演算部/309・・・先端位置演算部/310・・・先端速度演算部/311・・・自重補償演算部/312・・・関節トルク演算部/313a・・・トルク制御部   200 ... Robot / 201 ... Robot arm / 202 ... Robot hand / 210 ... Base part (base end link) / 211 to 216 ... Link / 235 ... Encoder / 300 ... Control device / 301x ... force control unit / 302x ... switching unit / 303x ... first calculation unit / 304x ... second calculation unit / 305x ... relative position detection unit / 306a ... angle Calculation unit / 307a ... Angular velocity calculation unit / 308x ... Damper calculation unit / 309 ... Tip position calculation unit / 310 ... Tip speed calculation unit / 311 ... Self weight compensation calculation unit / 312 ... Joint torque calculator / 313a ... Torque controller

Claims (18)

ロボットアームの位置を検出する位置検出部と、
前記ロボットアームの速度を検出する速度検出部と、
前記ロボットアームの駆動部を制御する駆動制御信号を生成する制御部と、を有し、
前記制御部は、
前記ロボットアームが初期位置にあるときの前記位置検出部の検出結果を基準位置情報として記憶し、
前記基準位置情報を記憶した後に前記位置検出部が検出する位置を前記基準位置情報と比較し、
前記基準位置から第一の範囲以内にある位置への位置変化を検出したら、前記基準位置に向けて前記ロボットアームを移動させる方向に作用し、前記基準位置からの位置変化が大きいほど大きくなる力制御信号を生成し、前記力制御信号を用いて前記駆動制御信号を生成し、
前記基準位置から前記第一の範囲を超えた位置への位置変化を検出したら、前記基準位置に向けて前記ロボットアームを移動させる方向に作用し、前記基準位置からの位置変化が第二の範囲までは位置変化が大きくなるほど小さくなるが、前記第二の範囲を越えたら位置変化の大きさにかかわらず一定値から所定の大きさ以上は変化しない力制御信号を生成し、前記力制御信号を用いて前記駆動制御信号を生成するとともに、
前記基準位置から前記第一の範囲を超えた位置への位置変化を検出し、かつ前記速度検出部がロボットアームの速度の方向の反転を検出したら、反転を検出したときの位置と反転を検出したときの前記力制御信号の値に基づいて新たな基準位置を決定し、前記基準位置情報を更新して記憶する、
ことを特徴とするロボットの制御装置。
A position detector for detecting the position of the robot arm;
A speed detector for detecting the speed of the robot arm;
A control unit that generates a drive control signal for controlling the drive unit of the robot arm,
The controller is
Storing the detection result of the position detection unit when the robot arm is in the initial position as reference position information;
Comparing the position detected by the position detector after storing the reference position information with the reference position information;
When a position change from the reference position to a position within the first range is detected, a force that acts in a direction to move the robot arm toward the reference position and increases as the position change from the reference position increases. Generating a control signal, generating the drive control signal using the force control signal,
If a position change from the reference position to a position exceeding the first range is detected, it acts in a direction to move the robot arm toward the reference position, and the position change from the reference position is a second range. However, when the position change exceeds the second range, a force control signal that does not change from a constant value to a predetermined magnitude or more is generated regardless of the position change. And generating the drive control signal using,
When a position change from the reference position to a position exceeding the first range is detected and the speed detection unit detects a reversal of the speed direction of the robot arm, the position and reversal when the reversal is detected are detected. A new reference position is determined based on the value of the force control signal when updated, and the reference position information is updated and stored.
A robot control device characterized by that.
前記制御部は、前記ロボットアームに固定して設定された基準座標系の座標軸ごとに、前記力制御信号を生成する、
ことを特徴とする請求項1に記載のロボットの制御装置。
The control unit generates the force control signal for each coordinate axis of a reference coordinate system fixedly set on the robot arm.
The robot control apparatus according to claim 1.
前記ロボットアームは先端に作業ツールを装着しており、前記制御部は前記作業ツールに固定して設定されたツール座標系の座標軸ごとに、前記力制御信号を生成する、
ことを特徴とする請求項1に記載のロボットの制御装置。
The robot arm has a work tool attached to the tip, and the control unit generates the force control signal for each coordinate axis of a tool coordinate system fixed and set to the work tool.
The robot control apparatus according to claim 1.
前記第一の範囲以内において生成する力制御信号の位置に対する変化の傾きの絶対値は、前記第一の範囲を超えてから前記第二の範囲を越えるまでに生成する力制御信号の位置に対する変化の傾きの絶対値と比べて、大きいかまたは等しい、
ことを特徴とする請求項1乃至3のいずれか1項に記載のロボットの制御装置。
The absolute value of the slope of the change with respect to the position of the force control signal generated within the first range is a change with respect to the position of the force control signal generated between exceeding the first range and exceeding the second range. Is greater than or equal to the absolute value of the slope of
The robot control device according to claim 1, wherein the robot control device is a robot.
前記制御部は、自重補償演算部とダンパ演算部を有し、前記自重補償演算部の出力信号と前記ダンパ演算部の出力信号と前記力制御信号とを加算した信号を用いて前記駆動制御信号を生成する、
ことを特徴とする請求項1乃至4のいずれか1項に記載のロボットの制御装置。
The control unit includes a self-weight compensation calculation unit and a damper calculation unit, and uses the signal obtained by adding the output signal of the self-weight compensation calculation unit, the output signal of the damper calculation unit, and the force control signal. Generate
The robot control device according to claim 1, wherein the robot control device is a robot.
ロボットアームとコンピュータを備えたロボットの制御方法において、
前記コンピュータは、
前記ロボットアームの位置が操作力により基準位置から第一の範囲以内にある位置に変化したら、前記基準位置に向けて前記ロボットアームを移動させる方向に作用し、前記基準位置からの位置変化が大きいほど大きくなる力制御信号を生成し、前記力制御信号を用いて前記ロボットアームの駆動制御信号を生成する処理を実行し、
前記ロボットアームの位置が操作力により前記基準位置から前記第一の範囲を超えた位置に変化したら、前記基準位置に向けて前記ロボットアームを移動させる方向に作用し、前記基準位置からの位置変化が第二の範囲までは位置変化が大きくなるほど小さくなるが、前記第二の範囲を越えたら位置変化の大きさにかかわらず一定値から所定の大きさ以上は変化しない力制御信号を生成し、前記力制御信号を用いて前記ロボットアームの駆動制御信号を生成する処理を実行し、
前記ロボットアームの位置が操作力により前記基準位置から前記第一の範囲を超えた位置に変化し、かつ前記ロボットアームの速度の方向が反転したら、反転したときの位置および反転したときの前記力制御信号の値に基づいて前記基準位置を更新する処理を実行する、
ことを特徴とするロボットの制御方法。
In a robot control method comprising a robot arm and a computer,
The computer
When the position of the robot arm is changed to a position within the first range from the reference position by an operation force, the robot arm acts in a direction to move the robot arm toward the reference position, and the position change from the reference position is large. Generating a force control signal that increases as much as possible, and using the force control signal to generate a drive control signal for the robot arm,
When the position of the robot arm is changed from the reference position to the position beyond the first range by an operation force, the robot arm acts in a direction to move the robot arm toward the reference position, and the position change from the reference position. Is smaller as the position change is larger up to the second range, but when the second range is exceeded, a force control signal that does not change beyond a predetermined value from a constant value regardless of the magnitude of the position change is generated, Performing a process of generating a drive control signal for the robot arm using the force control signal;
When the position of the robot arm changes from the reference position to a position exceeding the first range by an operation force, and the direction of the speed of the robot arm is reversed, the position when reversed and the force when reversed Performing a process of updating the reference position based on the value of the control signal;
A robot control method characterized by the above.
前記コンピュータは、前記ロボットアームに固定して設定された基準座標系の座標軸ごとに、前記力制御信号を生成する、
ことを特徴とする請求項6に記載のロボットの制御方法。
The computer generates the force control signal for each coordinate axis of a reference coordinate system fixedly set on the robot arm.
The robot control method according to claim 6.
前記ロボットアームは先端に作業ツールを装着しており、前記コンピュータは前記作業ツールに固定して設定されたツール座標系の座標軸ごとに、前記力制御信号を生成する、
ことを特徴とする請求項6に記載のロボットの制御方法。
The robot arm has a work tool attached to the tip, and the computer generates the force control signal for each coordinate axis of a tool coordinate system fixedly set on the work tool.
The robot control method according to claim 6.
前記第一の範囲以内において生成する力制御信号の位置に対する変化の傾きの絶対値は、前記第一の範囲を超えてから前記第二の範囲を越えるまでに生成する力制御信号の位置に対する変化の傾きの絶対値と比べて、大きいかまたは等しい、
ことを特徴とする請求項6乃至8のいずれか1項に記載のロボットの制御方法。
The absolute value of the slope of the change with respect to the position of the force control signal generated within the first range is a change with respect to the position of the force control signal generated between exceeding the first range and exceeding the second range. Is greater than or equal to the absolute value of the slope of
The robot control method according to any one of claims 6 to 8, wherein:
前記コンピュータは、自重補償演算を行って出力信号を生成する処理と、ダンパ演算を行って出力信号を生成する処理を実行し、前記自重補償演算の出力信号と前記ダンパ演算の出力信号と前記力制御信号とを加算した信号を用いて前記駆動制御信号を生成する、
ことを特徴とする請求項6乃至9のいずれか1項に記載のロボットの制御方法。
The computer performs processing for generating an output signal by performing a self-weight compensation operation, and processing for generating an output signal by performing a damper operation, and outputs the output signal of the self-weight compensation operation, the output signal of the damper operation, and the force Generating the drive control signal using a signal obtained by adding the control signal;
The robot control method according to claim 6, wherein:
請求項6乃至10のいずれか1項に記載のロボットの制御方法の処理を前記コンピュータに実行させるロボットの制御プログラム。   11. A robot control program that causes the computer to execute processing of the robot control method according to claim 6. 請求項11に記載のロボットの制御プログラムを記録したコンピュータ読み取り可能な記録媒体。   The computer-readable recording medium which recorded the control program of the robot of Claim 11. 請求項6乃至10のいずれか1項に記載のロボットの制御方法で制御したロボットアームの位置および姿勢を、教示値として記憶する、
ことを特徴とするロボットの教示方法。
The position and posture of the robot arm controlled by the robot control method according to any one of claims 6 to 10 is stored as a teaching value.
A robot teaching method characterized by the above.
ロボットアームと、
前記ロボットアームの位置を検出する位置検出部と、
前記ロボットアームの速度を検出する速度検出部と、
駆動制御信号を生成する制御部と、
前記駆動制御信号に基づき前記ロボットアームを駆動する駆動部と、を有し、
前記制御部は、
前記ロボットアームが初期位置にあるときの前記位置検出部の検出結果を基準位置情報として記憶し、
前記基準位置情報を記憶した後に前記位置検出部が検出する位置を前記基準位置情報と比較し、
前記基準位置から第一の範囲以内にある位置への位置変化を検出したら、前記基準位置に向けて前記ロボットアームを移動させる方向に作用し、前記基準位置からの位置変化が大きいほど大きくなる力制御信号を生成し、前記力制御信号を用いて前記駆動制御信号を生成し、
前記基準位置から前記第一の範囲を超えた位置への位置変化を検出したら、前記基準位置に向けて前記ロボットアームを移動させる方向に作用し、前記基準位置からの位置変化が第二の範囲までは位置変化が大きくなるほど小さくなるが、前記第二の範囲を越えたら位置変化の大きさにかかわらず一定値から所定の大きさ以上は変化しない力制御信号を生成し、前記力制御信号を用いて前記駆動制御信号を生成するとともに、
前記基準位置から前記第一の範囲を超えた位置への位置変化を検出し、かつ前記速度検出部がロボットアームの速度の方向の反転を検出したら、反転を検出したときの位置情報と反転を検出したときの前記力制御信号の値に基づいて新たな基準位置を決定し、前記基準位置情報を更新して記憶する、
ことを特徴とするロボット装置。
A robot arm,
A position detector for detecting the position of the robot arm;
A speed detector for detecting the speed of the robot arm;
A control unit for generating a drive control signal;
A drive unit that drives the robot arm based on the drive control signal,
The controller is
Storing the detection result of the position detection unit when the robot arm is in the initial position as reference position information;
Comparing the position detected by the position detector after storing the reference position information with the reference position information;
When a position change from the reference position to a position within the first range is detected, a force that acts in a direction to move the robot arm toward the reference position and increases as the position change from the reference position increases. Generating a control signal, generating the drive control signal using the force control signal,
If a position change from the reference position to a position exceeding the first range is detected, it acts in a direction to move the robot arm toward the reference position, and the position change from the reference position is a second range. However, when the position change exceeds the second range, a force control signal that does not change from a constant value to a predetermined magnitude or more is generated regardless of the position change. And generating the drive control signal using,
When a position change from the reference position to a position exceeding the first range is detected and the speed detector detects a reversal of the speed direction of the robot arm, the position information and reversal when the reversal is detected are displayed. A new reference position is determined based on the value of the force control signal when detected, and the reference position information is updated and stored.
A robot apparatus characterized by that.
前記制御部は、前記ロボットアームに固定して設定された基準座標系の座標軸ごとに、前記力制御信号を生成する、
ことを特徴とする請求項14に記載のロボット装置。
The control unit generates the force control signal for each coordinate axis of a reference coordinate system fixedly set on the robot arm.
The robot apparatus according to claim 14.
前記ロボットアームは先端に作業ツールを装着しており、前記制御部は前記作業ツールに固定して設定されたツール座標系の座標軸ごとに、前記力制御信号を生成する、
ことを特徴とする請求項14に記載のロボット装置。
The robot arm has a work tool attached to the tip, and the control unit generates the force control signal for each coordinate axis of a tool coordinate system fixed and set to the work tool.
The robot apparatus according to claim 14.
前記第一の範囲以内において生成する力制御信号の位置に対する変化の傾きの絶対値は、前記第一の範囲を超えてから前記第二の範囲を越えるまでに生成する力制御信号の位置に対する変化の傾きの絶対値と比べて、大きいかまたは等しい、
ことを特徴とする請求項14乃至16のいずれか1項に記載のロボット装置。
The absolute value of the slope of the change with respect to the position of the force control signal generated within the first range is a change with respect to the position of the force control signal generated between exceeding the first range and exceeding the second range. Is greater than or equal to the absolute value of the slope of
The robot apparatus according to claim 14, wherein the robot apparatus is characterized in that
前記制御部は、自重補償演算部とダンパ演算部を有し、前記自重補償演算部の出力信号と前記ダンパ演算部の出力信号と前記力制御信号とを加算した信号を用いて前記駆動制御信号を生成する、
ことを特徴とする請求項14乃至17のいずれか1項に記載のロボット装置。


The control unit includes a self-weight compensation calculation unit and a damper calculation unit, and uses the signal obtained by adding the output signal of the self-weight compensation calculation unit, the output signal of the damper calculation unit, and the force control signal. Generate
The robot apparatus according to claim 14, wherein the robot apparatus is characterized.


JP2017153065A 2017-08-08 2017-08-08 Robot control device, control method, and robot apparatus Pending JP2019030931A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017153065A JP2019030931A (en) 2017-08-08 2017-08-08 Robot control device, control method, and robot apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017153065A JP2019030931A (en) 2017-08-08 2017-08-08 Robot control device, control method, and robot apparatus

Publications (1)

Publication Number Publication Date
JP2019030931A true JP2019030931A (en) 2019-02-28

Family

ID=65522802

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017153065A Pending JP2019030931A (en) 2017-08-08 2017-08-08 Robot control device, control method, and robot apparatus

Country Status (1)

Country Link
JP (1) JP2019030931A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021199931A1 (en) * 2020-04-01 2021-10-07 アズビル株式会社 Teaching device
CN113768626A (en) * 2020-09-25 2021-12-10 武汉联影智融医疗科技有限公司 Surgical robot control method, computer equipment and surgical robot system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021199931A1 (en) * 2020-04-01 2021-10-07 アズビル株式会社 Teaching device
CN113768626A (en) * 2020-09-25 2021-12-10 武汉联影智融医疗科技有限公司 Surgical robot control method, computer equipment and surgical robot system
CN113768626B (en) * 2020-09-25 2024-03-22 武汉联影智融医疗科技有限公司 Surgical robot control method, computer device and surgical robot system

Similar Documents

Publication Publication Date Title
KR102584754B1 (en) Robotic system and method of reversing it
US9199374B2 (en) Control unit, control method, and control program of articulated robot
JP6238628B2 (en) Robot device, robot control method, robot control program, and part manufacturing method using robot device
JP6128767B2 (en) Robot control apparatus and robot control method
JP5547626B2 (en) 7-axis articulated robot control apparatus and teaching method
JP5910491B2 (en) Robot arm teaching system and robot arm teaching method
JP2011206886A (en) Device and method for controlling robot
US11478919B2 (en) Robot system and method of controlling the robot system
JP2015202534A (en) Robot control device and robot system for robot moved according to input power
US11839979B2 (en) Dual mode free-drive of robot arm
JP2016028842A (en) Actuator system
JP6904759B2 (en) Robot movement speed control device and method
JP2019030931A (en) Robot control device, control method, and robot apparatus
JP4442464B2 (en) Articulated arm mechanism
JP6348141B2 (en) Robot control device displaying operation program including additional axis status
JP6021478B2 (en) Robot control apparatus and robot control method
JP4134812B2 (en) Robot controller
JP2012051043A (en) Robot system or robot control device
JP2010110878A (en) Articulated robot device and method for controlling the same
JP2008264899A (en) Measuring method for robot output and restriction device
JP6429977B2 (en) Robot apparatus and robot control method
JP2005329521A (en) Articulated robot
JP5633268B2 (en) Robot control device
JP2020099967A (en) Robot system and method for controlling robot system
JPH05313746A (en) Controller for manipulator

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200206

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200207