JP2022114472A - Direct teaching device and direct teaching method for robot - Google Patents

Direct teaching device and direct teaching method for robot Download PDF

Info

Publication number
JP2022114472A
JP2022114472A JP2021010722A JP2021010722A JP2022114472A JP 2022114472 A JP2022114472 A JP 2022114472A JP 2021010722 A JP2021010722 A JP 2021010722A JP 2021010722 A JP2021010722 A JP 2021010722A JP 2022114472 A JP2022114472 A JP 2022114472A
Authority
JP
Japan
Prior art keywords
calculation unit
unit
arm
constraint
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.)
Withdrawn
Application number
JP2021010722A
Other languages
Japanese (ja)
Inventor
鉄也 田原
Tetsuya Tawara
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.)
Azbil Corp
Original Assignee
Azbil 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 Azbil Corp filed Critical Azbil Corp
Priority to JP2021010722A priority Critical patent/JP2022114472A/en
Priority to CN202210025748.1A priority patent/CN114800437A/en
Publication of JP2022114472A publication Critical patent/JP2022114472A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/0081Programme-controlled manipulators with master teach-in means
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed

Landscapes

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

Abstract

To achieve both teaching accuracy and operational feeling of arms.SOLUTION: A direct teaching device for a robot includes: a slave control operation section 103 for calculating a slave control command value; a restraint control operation section 108 for calculating a restraint control command value; a restraint control adjustment section 107 capable of adjusting the speed of the motions of arms 2 calculated by the restraint control operation section 108 continuously or gradually in at least three or more steps; a synthesis section 109 for synthesizing a calculation result by the slave control operation section 103 and a calculation result by the restraint control operation section 108; and a drive control section 110 for driving the arms 2 based on a synthetic result by the synthesis section 109.SELECTED DRAWING: Figure 1

Description

この発明は、ロボットの直接教示を行う直接教示装置及び直接教示方法に関する。 The present invention relates to a direct teaching device and a direct teaching method for directly teaching a robot.

産業用のロボットでは、ロボットに作業をさせるために、前もって教示(ティーチング)と呼ばれる作業が実施される。このロボットの教示を行う方法の1つとして、直接教示(ダイレクト教示)と呼ばれる方法がある。 In industrial robots, work called teaching is carried out in advance in order to cause the robot to perform work. One method of teaching the robot is a method called direct teaching.

例えば特許文献1では、力センサ又はトルクセンサを用いたロボットの直接教示装置が開示されている。この直接教示装置は、拘束付きの直接教示と拘束無しの直接教示とを切換え可能な点に特徴を有する。 For example, Patent Document 1 discloses a direct teaching device for a robot using a force sensor or a torque sensor. This direct teaching device is characterized in that direct teaching with a constraint and direct teaching without a constraint can be switched.

拘束付きの直接教示の目的は、教示精度の向上である。通常の直接教示装置は、ロボットを直感的に操作及び教示できる一方で、ロボットの位置姿勢が外力で簡単に変わってしまうため、教示精度を高くすることが難しい。これに対し、拘束付きの直接教示では、手先が鉛直下向きを向く姿勢となるように拘束して操作及び教示するとか、手先がある平面又は曲面上に位置するように拘束するとか、手先がある軸上に位置するように拘束するとか、所定の制約の範囲内でしかロボットを操作及び教示できなくなる。こうすることで、姿勢が正確に鉛直下向きとなるように、位置が正確に所定の平面、曲面又は軸上となるように教示することができ、教示精度を高くすることが難しいという課題を解決している。 The purpose of direct teaching with constraints is to improve teaching accuracy. While a normal direct teaching device can intuitively operate and teach a robot, it is difficult to improve the teaching accuracy because the position and orientation of the robot are easily changed by an external force. On the other hand, in direct teaching with restraints, the hand is constrained to face vertically downwards, and the hand is operated and taught; Constraining the robot so that it is positioned on the axis, or allowing the robot to be manipulated and taught only within a predetermined constraint range. By doing this, it is possible to teach the robot so that the posture is precisely vertically downward, and the position is precisely on a predetermined plane, curved surface, or on an axis. is doing.

一方で、拘束付きの直接教示は常に必要なわけではない。そのため、不要な場合は拘束無しの直接教示にして、拘束と関係無く自由に操作及び教示できる方が望ましい。そこで、特許文献1の直接教示装置では、拘束したい姿勢又は位置に近づくと拘束付きの直接教示にし、そうでない場合は拘束無しの直接教示にするように、自動的に切換わるようになっている。 On the other hand, direct teaching with constraints is not always necessary. For this reason, it is desirable that direct teaching without restraints is used when unnecessary, and that it is possible to operate and teach freely without restraints. Therefore, in the direct teaching device of Patent Document 1, when the posture or position to be restrained is approached, direct teaching with restraint is performed, and otherwise, direct teaching without restraint is automatically switched. .

図13に、特許文献1の直接教示装置1bの概略構成図を示す。
この直接教示装置1bでは、まず、位置姿勢計測部101bが、ロボットが有するアーム2の位置姿勢に関するパラメータを計測する。なお、アーム2の位置姿勢に関するパラメータとしては、アーム2の位置、アーム2の姿勢、又は、アーム2の関節角等が挙げられる。
また、外力検知部102bが、操作者によりアーム2に加えられた外力を検知する。
次に、従動制御演算部103bが、位置姿勢計測部101bによる計測結果に基づいて、外力検知部102bにより検知された外力に従うアーム2の動き(従動制御指令値)を算出する。
FIG. 13 shows a schematic configuration diagram of the direct teaching device 1b of Patent Document 1. As shown in FIG.
In the direct teaching device 1b, first, the position/orientation measurement unit 101b measures parameters relating to the position and orientation of the arm 2 of the robot. Note that parameters relating to the position and orientation of the arm 2 include the position of the arm 2, the orientation of the arm 2, the joint angle of the arm 2, and the like.
Also, the external force detection unit 102b detects an external force applied to the arm 2 by the operator.
Next, the driven control calculation unit 103b calculates the movement (driven control command value) of the arm 2 according to the external force detected by the external force detection unit 102b based on the measurement result of the position/orientation measurement unit 101b.

次に、位置姿勢演算部104bは、従動制御演算部103bによる算出結果に基づいて、アーム2の位置姿勢を算出する。アーム2の位置姿勢とは、アーム2の位置又は姿勢のうちの少なくとも一方を意味する。
次に、近接判定部105bは、位置姿勢演算部104bによる算出結果に基づいて、アーム2の位置姿勢が拘束目標に近づいているかを判定する。
次に、切換部106bは、近接判定部105bによる判定結果に従い、拘束制御演算部108bの動作を切換える。すなわち、切換部106bは、近接判定部105bによりアーム2の位置姿勢が拘束目標に近づいていると判定された場合、拘束制御演算部108bによる処理を有効とする。一方、切換部106bは、近接判定部105bによりアーム2の位置姿勢が拘束目標に近づいていないと判定された場合、拘束制御演算部108bによる処理を無効とする。
Next, the position/orientation calculation unit 104b calculates the position/orientation of the arm 2 based on the calculation result by the driven control calculation unit 103b. The position and orientation of the arm 2 means at least one of the position and orientation of the arm 2 .
Next, the proximity determination unit 105b determines whether the position/orientation of the arm 2 is approaching the constraint target based on the calculation result by the position/orientation calculation unit 104b.
Next, switching section 106b switches the operation of restraint control calculation section 108b according to the determination result of proximity determination section 105b. That is, when the proximity determination unit 105b determines that the position and orientation of the arm 2 are approaching the constraint target, the switching unit 106b enables the processing by the constraint control calculation unit 108b. On the other hand, when the proximity determination unit 105b determines that the position/orientation of the arm 2 is not close to the constraint target, the switching unit 106b disables the processing by the constraint control calculation unit 108b.

次に、目標値算出部107bは、拘束目標及び位置姿勢演算部104bによる算出結果に基づいて、拘束制御の目標値を算出する。例えば、目標値算出部107bは、所定の姿勢(拘束姿勢)、所定の曲面又は平面(拘束面)、或いは、所定の軸又は曲線(拘束軸)に沿ったアーム2の位置姿勢を目標値として算出する。
次に、拘束制御演算部108bは、位置姿勢演算部104bによる算出結果に基づいて、目標値算出部107bにより算出された目標値に移動するアーム2の動き(拘束制御指令値)を算出する。
次に、拘束制御制限部109bは、拘束制御演算部108bによる算出結果を制限する。すなわち、拘束制御制限部109bは、従動制御演算部103bによる算出結果が拘束制御演算部108bによる算出結果より優先されるよう拘束制御演算部108bによる算出結果に制限を課す。
Next, the target value calculation unit 107b calculates a target value for constraint control based on the result of calculation by the constraint target and position/orientation calculation unit 104b. For example, the target value calculation unit 107b uses a predetermined posture (restraint posture), a predetermined curved surface or plane (restraint surface), or the position and posture of the arm 2 along a predetermined axis or curve (restraint axis) as the target value. calculate.
Next, the constraint control calculation unit 108b calculates the movement (constraint control command value) of the arm 2 moving to the target value calculated by the target value calculation unit 107b, based on the calculation result of the position/orientation calculation unit 104b.
Next, the constraint control limiter 109b limits the calculation result by the constraint control calculator 108b. That is, the constraint control limiter 109b imposes a limit on the calculation result by the constraint control calculator 108b so that the calculation result by the driven control calculator 103b has priority over the calculation result by the constraint control calculator 108b.

次に、合成部110bは、従動制御演算部103bによる算出結果(従動制御指令値)と拘束制御制限部109bによる制限結果(拘束制御指令値)とを一つの指令値に合成する。
次に、駆動制御部111bは、合成部110bによる合成結果に基づいて、アーム2を駆動する。
Next, the synthesizer 110b synthesizes the calculation result (driven control command value) by the driven control calculation unit 103b and the limit result (constraint control command value) by the constraint control limiter 109b into one command value.
Next, the drive control section 111b drives the arm 2 based on the result of synthesis by the synthesis section 110b.

図13に示す直接教示装置1bでは、上記のような一連の動作により、人が力によって与えた指示に従ってアーム2が動くような制御が行われる。その後、直接教示装置1bは、アーム2の位置及び姿勢が操作者の意図する状態になったら、その際の関節角或いは位置及び姿勢を教示点として記録する。記録された教示点は、ロボットが作業する際に使われる。また、直接教示装置1bでは、切換部106bが拘束制御演算部108bの動作を切換えることで、拘束付きの直接教示と拘束無しの直接教示とを切換えながら直接教示をすることができる。 In the direct teaching device 1b shown in FIG. 13, the series of operations described above controls the movement of the arm 2 in accordance with an instruction given by a person's force. After that, the direct teaching device 1b records the joint angle or the position and posture at that time as a teaching point when the position and posture of the arm 2 become the states intended by the operator. The recorded teaching points are used when the robot works. In the direct teaching device 1b, the switching unit 106b switches the operation of the constraint control calculation unit 108b, so that direct teaching can be performed while switching between direct teaching with constraint and direct teaching without constraint.

特開2019-202383号公報JP 2019-202383 A

しかしながら、特許文献1の直接教示装置は、拘束制御演算をするかしないかの二択であるため、拘束制御演算のオンオフが切換わる際にアームが急に動いたり、振動を発生することがあった。このため、操作者の操作感を損なうことがあった。
アームを拘束姿勢、拘束面又は拘束軸に追従させる力を弱くすれば、この問題を軽減することは可能だが、そうすると今度は拘束姿勢、拘束面又は拘束軸に追従させることで教示精度を向上させるという性能の方が劣化する。そのため、教示精度と操作感を両立させることが難しかった。
However, since the direct teaching device of Patent Document 1 has a choice of whether or not to perform the constraint control calculation, the arm may suddenly move or vibrate when the constraint control calculation is switched on and off. rice field. For this reason, the operational feeling of the operator may be impaired.
This problem can be alleviated by weakening the force that causes the arm to follow the constraint posture, constraint surface, or constraint axis. performance deteriorates. Therefore, it has been difficult to achieve both teaching accuracy and operational feeling.

この発明は、上記のような課題を解決するためになされたもので、アームの教示精度と操作感を両立可能な直接教示装置を提供することを目的としている。 SUMMARY OF THE INVENTION It is an object of the present invention to provide a direct teaching device capable of achieving both an arm teaching accuracy and an operational feeling.

この発明に係る直接教示装置は、ロボットが有するアームに加えられた外力を検知する外力検知部と、外力検知部により検知された外力に従うアームの動きを算出する従動制御演算部と、アームの位置又は姿勢のうちの少なくとも一方である位置姿勢の現在値又は予測値を算出する位置姿勢演算部と、拘束目標及び位置姿勢演算部による算出結果に基づいて、拘束制御の目標値を算出する目標値算出部と、位置姿勢演算部による算出結果に基づいて、目標値算出部により算出された目標値へと移動するアームの動きを算出する拘束制御演算部と、拘束制御演算部により算出されたアームの動きの速さを連続的又は少なくとも3段階以上に段階的に調整可能とする拘束制御調整部と、従動制御演算部による算出結果と拘束制御演算部による算出結果とを合成する合成部と、合成部による合成結果に基づいてアームを駆動する駆動制御部とを備えたことを特徴とする。 A direct teaching device according to the present invention includes an external force detection unit that detects an external force applied to an arm of a robot, a driven control calculation unit that calculates the movement of the arm according to the external force detected by the external force detection unit, and an arm position detection unit. Alternatively, a position/orientation calculation unit that calculates a current value or a predicted value of the position/orientation that is at least one of the orientations, and a target value that calculates the target value of the constraint control based on the constraint target and the calculation result by the position/orientation calculation unit. a calculation unit, a constraint control calculation unit that calculates the movement of the arm moving to the target value calculated by the target value calculation unit based on the calculation result of the position/orientation calculation unit, and the arm calculated by the constraint control calculation unit A constraint control adjustment unit that can adjust the speed of movement of the body continuously or in steps of at least three steps, a synthesis unit that synthesizes the calculation result of the driven control calculation unit and the calculation result of the constraint control calculation unit, and a drive control unit that drives the arm based on the result of synthesis by the synthesis unit.

この発明によれば、上記のように構成したので、アームの教示精度と操作感を両立可能となる。 According to this invention, since it is configured as described above, it is possible to achieve both the teaching accuracy of the arm and the operational feeling.

実施の形態1に係る直接教示装置の構成例を示す図である。1 is a diagram showing a configuration example of a direct teaching device according to Embodiment 1; FIG. 実施の形態1における従動制御演算部の構成例を示す図である。4 is a diagram showing a configuration example of a driven control calculation unit according to Embodiment 1; FIG. 実施の形態1における拘束制御演算部の構成例を示す図である。4 is a diagram showing a configuration example of a constraint control calculation unit according to Embodiment 1; FIG. 実施の形態1に係る直接教示装置の動作例を示すフローチャートである。4 is a flowchart showing an operation example of the direct teaching device according to Embodiment 1; 実施の形態1における目標値算出部の動作例を示す図である(姿勢拘束の場合)。FIG. 10 is a diagram showing an operation example of a target value calculation unit according to Embodiment 1 (in the case of posture constraint); 実施の形態1における目標値算出部の動作例を示す図である(姿勢拘束の場合)。FIG. 10 is a diagram showing an operation example of a target value calculation unit according to Embodiment 1 (in the case of posture constraint); 実施の形態1に係る直接教示装置で用いられる拘束制御領域の一例を示す図である。FIG. 4 is a diagram showing an example of a restraint control area used in the direct teaching device according to Embodiment 1; FIG. 実施の形態1における拘束制御調整部の動作例を示す図である。4 is a diagram showing an operation example of a constraint control adjustment unit according to Embodiment 1; FIG. 実施の形態2における拘束制御演算部の構成例を示す図である。FIG. 10 is a diagram showing a configuration example of a constraint control calculation unit according to Embodiment 2; 実施の形態2における拘束制御調整部の動作例を示す図である。FIG. 10 is a diagram showing an operation example of a constraint control adjustment unit according to Embodiment 2; 実施の形態3に係る直接教示装置の構成例を示す図である。FIG. 11 is a diagram showing a configuration example of a direct teaching device according to Embodiment 3; 実施の形態4に係る直接教示装置の構成例を示す図である。FIG. 12 is a diagram showing a configuration example of a direct teaching device according to Embodiment 4; 従来の直接教示装置の構成例を示す図である。It is a figure which shows the structural example of the conventional direct teaching apparatus.

以下、この発明の実施の形態について図面を参照しながら詳細に説明する。
実施の形態1.
図1は実施の形態1に係る直接教示装置1の構成例を示す図である。
直接教示装置1は、ロボットの直接教示を行う。直接教示装置1は、図1に示すように、位置姿勢計測部101、外力検知部102、従動制御演算部103、位置姿勢演算部104、目標値算出部105、距離演算部106、拘束制御調整部107、拘束制御演算部108、合成部109及び駆動制御部110を備えている。なお、直接教示装置1は、システムLSI(Large-Scale Integration)等の処理回路、又はメモリ等に記憶されたプログラムを実行するCPU(Central Processing Unit)等により実現される。
BEST MODE FOR CARRYING OUT THE INVENTION Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
Embodiment 1.
FIG. 1 is a diagram showing a configuration example of a direct teaching device 1 according to Embodiment 1. As shown in FIG.
A direct teaching device 1 performs direct teaching of a robot. As shown in FIG. 1, the direct teaching device 1 includes a position/orientation measurement unit 101, an external force detection unit 102, a driven control calculation unit 103, a position/orientation calculation unit 104, a target value calculation unit 105, a distance calculation unit 106, and a constraint control adjustment unit. It has a unit 107 , a constraint control calculation unit 108 , a synthesizing unit 109 and a drive control unit 110 . The direct teaching device 1 is implemented by a processing circuit such as a system LSI (Large-Scale Integration) or a CPU (Central Processing Unit) that executes a program stored in a memory or the like.

位置姿勢計測部101は、ロボットが有するアーム2の位置姿勢に関するパラメータを計測する。なお、アーム2の位置姿勢とは、アーム2の位置及びアーム2の姿勢のうちの少なくとも一方を意味する。また、アーム2の位置とは、アーム2の先端に設けられたエンドエフェクタ3(図5等参照)の位置を意味し、アーム2の姿勢とはエンドエフェクタ3の向きを意味する。また、アーム2の位置姿勢に関するパラメータとしては、アーム2の関節角(各関節の角度)が挙げられる。この関節角は、モータの回転軸に取付けられたエンコーダ等を用いて計測する。また、位置姿勢計測部101は、アーム2の位置姿勢に関するパラメータとして、アーム2の位置又はアーム2の姿勢を計測してもよい。 A position and orientation measurement unit 101 measures parameters relating to the position and orientation of the arm 2 of the robot. The position and orientation of the arm 2 means at least one of the position and orientation of the arm 2 . The position of the arm 2 means the position of the end effector 3 (see FIG. 5 etc.) provided at the tip of the arm 2 , and the orientation of the arm 2 means the orientation of the end effector 3 . In addition, the joint angle (angle of each joint) of the arm 2 is given as a parameter related to the position and orientation of the arm 2 . This joint angle is measured using an encoder or the like attached to the rotating shaft of the motor. The position and orientation measurement unit 101 may measure the position of the arm 2 or the orientation of the arm 2 as a parameter related to the position and orientation of the arm 2 .

外力検知部102は、操作者によりアーム2に加えられた外力を検知する。外力検知部102により検知される外力としては、力の大きさ及び向き、或いは、トルクの大きさ等が挙げられる。 The external force detection unit 102 detects an external force applied to the arm 2 by the operator. The external force detected by the external force detection unit 102 includes the magnitude and direction of force, the magnitude of torque, and the like.

例えば、外力検知部102は、アーム2の先端に取付けられた力センサを用いて、この力センサにより計測された力の大きさ及び向きを外力として検知してもよい。また、例えば、外力検知部102は、アーム2の関節毎のモータ駆動軸に取付けられたトルクセンサを用い、このトルクセンサにより計測されたトルクの大きさを外力として検知してもよい。また、外力検知部102は、上記のようにセンサを用いて外力を直接測定するのではなく、アーム2が有するモータの電流又はアーム2の関節角の計測値等から間接的に外力を検知する外力オブザーバを用いて上記外力を検知してもよい。 For example, the external force detection unit 102 may use a force sensor attached to the tip of the arm 2 and detect the magnitude and direction of the force measured by this force sensor as the external force. Further, for example, the external force detection unit 102 may use a torque sensor attached to the motor drive shaft of each joint of the arm 2 and detect the magnitude of the torque measured by this torque sensor as the external force. In addition, the external force detection unit 102 does not directly measure the external force using the sensor as described above, but indirectly detects the external force from the current of the motor of the arm 2 or the measured value of the joint angle of the arm 2. An external force observer may be used to detect the external force.

なお、外力検知部102は、外力の検知にセンサを用いる場合、センサの構造等によっては人が加えた外力だけではなく重力に起因する力又はトルクが重畳された状態で検知してしまう場合がある。そのため、そのような場合は、外力検知部102は、重力に起因する成分を推定して差引くことで、外力成分のみを得るとよい。これば重力補償と呼ばれる公知技術であり、特許文献2等複数の文献で開示されている。
特開平01-066715号公報
When a sensor is used to detect an external force, the external force detection unit 102 may detect not only the external force applied by a person but also the force or torque caused by gravity, depending on the structure of the sensor. be. Therefore, in such a case, the external force detection unit 102 should obtain only the external force component by estimating and subtracting the component caused by gravity. This is a well-known technique called gravity compensation, and is disclosed in a plurality of documents such as Patent Document 2.
JP-A-01-066715

従動制御演算部103は、外力検知部102により検知された外力に従うアーム2の動き(従動制御指令値)を算出する。この際、まず、従動制御演算部103は、外力検知部102により検知された外力から、操作者がどのようにアーム2を動かそうとしているのかを判定する。そして、従動制御演算部103は、上記の判定結果に基づいて、アーム2を駆動するための指令値(従動制御指令値)を算出する。従動制御指令値としては、例えば、アーム2の関節毎の角速度、又は移動量(関節毎の角度の差分)が挙げられる。 The driven control calculation unit 103 calculates the movement (driven control command value) of the arm 2 according to the external force detected by the external force detection unit 102 . At this time, first, the driven control calculation unit 103 determines how the operator intends to move the arm 2 from the external force detected by the external force detection unit 102 . Then, the driven control calculation unit 103 calculates a command value (driven control command value) for driving the arm 2 based on the above determination result. Examples of the driven control command value include the angular velocity of each joint of the arm 2 or the amount of movement (difference between angles of each joint).

位置姿勢演算部104は、位置姿勢計測部101による計測結果に基づいて、アーム2の位置姿勢の現在値又は予測値を算出する。 The position/orientation calculation unit 104 calculates current values or predicted values of the position/orientation of the arm 2 based on the measurement result of the position/orientation measurement unit 101 .

なお、図1では、位置姿勢演算部104が、位置姿勢計測部101による計測結果を用い、従動制御演算部103による算出結果を用いていない。しかしながら、これに限らず、位置姿勢演算部104は、従動制御演算部103による算出結果を用いることで、外力検知部102により検知された外力に従うアーム2の動きを反映した位置姿勢を算出してもよい。 Note that in FIG. 1 , the position/orientation calculation unit 104 uses the measurement result of the position/orientation measurement unit 101 and does not use the calculation result of the driven control calculation unit 103 . However, not limited to this, the position/orientation calculation unit 104 uses the calculation result by the driven control calculation unit 103 to calculate the position/orientation reflecting the movement of the arm 2 according to the external force detected by the external force detection unit 102 . good too.

目標値算出部105は、拘束目標及び位置姿勢演算部104による算出結果に基づいて、拘束制御の目標値を算出する。なお、拘束目標とは、アーム2の位置姿勢の拘束先である。
アーム2の位置に対する拘束目標としては、拘束点、拘束軸及び拘束面がある。拘束点は、アーム2の先端又はその先端を基準として定めた位置を、ある特定の点に拘束する場合の位置である。拘束軸の種別としては、直線及び曲線がある。拘束面の種別としては、平面及び曲面がある。
アーム2の姿勢に対する拘束目標、すなわち拘束姿勢としては、拘束方向及び拘束回転軸がある。拘束方向は、アーム2の姿勢をある方向へと完全に拘束する場合の姿勢である。拘束回転軸は、指定された1つ又は2つの回転軸に沿って姿勢を回転させることを許容する拘束を行う場合の回転軸である。この場合、アーム2の姿勢は指定された回転軸に沿って変更することはできるが、あらゆる姿勢を取ることはできず制限された状態となるので、これもまた姿勢拘束の一種である。
また、直接教示装置1で用いる拘束目標は1つに限らず複数でもよい。また、拘束制御の目標値とは、アーム2の目標位置及びアーム2の目標姿勢のうちの少なくとも一方を意味する。
The target value calculation unit 105 calculates a target value for constraint control based on the result of calculation by the constraint target and position/orientation calculation unit 104 . Note that the constraint target is a constraint destination of the position and orientation of the arm 2 .
Constraint targets for the position of the arm 2 include constraint points, constraint axes, and constraint surfaces. A constraint point is a position where the tip of the arm 2 or a position determined with reference to the tip is constrained to a specific point. Types of constraint axes include straight lines and curved lines. Types of constraint surfaces include flat surfaces and curved surfaces.
A constraint target for the posture of the arm 2, that is, a constraint posture, includes a constraint direction and a constraint rotation axis. A constraint direction is a posture when the posture of the arm 2 is completely constrained in a certain direction. A constrained rotation axis is a rotation axis when a constraint is applied to allow rotation of the posture along one or two designated rotation axes. In this case, although the posture of the arm 2 can be changed along the designated rotation axis, it cannot take any posture and is in a restricted state, so this is also a kind of posture constraint.
Further, the number of restraint targets used in the direct teaching device 1 is not limited to one, and may be plural. Also, the target value of constraint control means at least one of the target position of the arm 2 and the target orientation of the arm 2 .

距離演算部106は、位置姿勢演算部104による算出結果に基づいて、拘束制御領域までの距離を算出する。拘束制御領域とは、拘束制御を行う領域である。 The distance calculation unit 106 calculates the distance to the constraint control area based on the calculation result by the position/orientation calculation unit 104 . A constraint control area is an area in which constraint control is performed.

拘束制御調整部107は、距離演算部106により算出結果に基づいて、拘束制御演算部108により算出されたアーム2の動きの速さ(強さ)を連続的又は段階的に調整する。なお、拘束制御調整部107は、アーム2の動きの速さを段階的に調整する場合、少なくとも3段階以上で調整を行う。 The constraint control adjustment unit 107 continuously or stepwise adjusts the movement speed (strength) of the arm 2 calculated by the constraint control calculation unit 108 based on the calculation result of the distance calculation unit 106 . When adjusting the movement speed of the arm 2 stepwise, the restraint control adjustment unit 107 performs adjustment in at least three steps.

拘束制御演算部108は、位置姿勢演算部104による算出結果に基づいて、目標値算出部105により算出された目標値に移動するアーム2の動き(拘束制御指令値)を算出する。 The constraint control calculation unit 108 calculates the movement (constraint control command value) of the arm 2 moving to the target value calculated by the target value calculation unit 105 based on the calculation result of the position/orientation calculation unit 104 .

合成部109は、従動制御演算部103による算出結果(従動制御指令値)と拘束制御演算部108による算出結果(拘束制御指令値)とを一つの指令値に合成する。 The synthesis unit 109 synthesizes the calculation result (driven control command value) by the driven control calculation unit 103 and the calculation result (constraint control command value) by the constraint control calculation unit 108 into one command value.

駆動制御部110は、合成部109による合成結果に基づいて、アーム2を駆動する。 The drive control section 110 drives the arm 2 based on the result of synthesis by the synthesis section 109 .

次に、従動制御演算部103の構成例について、図2を参照しながら説明する。
従動制御演算部103は、例えば図2に示すように、乗算部1031を有する。
Next, a configuration example of the driven control calculation unit 103 will be described with reference to FIG.
The driven control calculation unit 103 has a multiplication unit 1031 as shown in FIG. 2, for example.

乗算部1031は、外力検知部102により検知された外力(関節毎のトルクの大きさ)に対し、ゲインを乗算することで、関節毎の角速度の指令値(従動制御指令値)を得る。なお、外力は、重力成分等の外乱が外力検知部102により取除かれているものとする。また、ゲインは、通常は対角行列である。また、ゲインは、関節毎に異なっていてもよい。
なお、図2において、τ(ハット)extは外力検知部102により検知されたトルクの大きさを示し、Kはゲインを示し、θ(ドット)は従動制御演算部103により算出された角速度の指令値(従動制御指令値)を示している。
Multiplying section 1031 multiplies the external force (magnitude of torque for each joint) detected by external force detection section 102 by a gain to obtain an angular velocity command value (following control command value) for each joint. It is assumed that the external force detection unit 102 has removed disturbances such as gravity components from the external force. Also, the gain is typically a diagonal matrix. Also, the gain may be different for each joint.
2, τ (hat) ext indicates the magnitude of the torque detected by the external force detection unit 102, KT indicates the gain, and θ (dot) D indicates the angular velocity calculated by the driven control calculation unit 103. command value (driven control command value).

なお、従動制御演算部103は、得た関節毎の角速度の指令値に対してリミッタを適用し、従動制御の速さを制限することも可能である。 Note that the driven control calculation unit 103 can apply a limiter to the obtained angular velocity command value for each joint to limit the speed of the driven control.

また、上記では、外力検知部102がトルクの大きさを外力として検知し、従動制御演算部103が関節毎の角速度の指令値を従動制御指令値として算出する場合を示したが、これに限らない。
例えば、外力検知部102がアーム2の手先にかかる力(又はエンドエフェクタ3の先端にかかる力)の大きさ及び向きを外力として検知する場合についても、類似の制御演算が可能である(例えば特許文献1参照)。また、従動制御演算部103は、アーム2の手先の移動量又は関節毎の駆動トルク等を従動制御指令値として算出してもよい。この制御演算は複数の文献で公開されていて公知であり様々な方式が開発されているため、これ以上の詳細は省略する。
In the above description, the external force detection unit 102 detects the magnitude of the torque as the external force, and the driven control calculation unit 103 calculates the angular velocity command value for each joint as the driven control command value. do not have.
For example, when the external force detection unit 102 detects the magnitude and direction of the force applied to the tip of the arm 2 (or the force applied to the tip of the end effector 3) as the external force, similar control calculations are possible (for example, Reference 1). Further, the driven control calculation unit 103 may calculate the amount of movement of the hand of the arm 2 or the driving torque of each joint as the driven control command value. Since this control operation has been published in a number of documents and is well known, and various methods have been developed, further details will be omitted.

次に、拘束制御演算部108の構成例について、図3を参照しながら説明する。
拘束制御演算部108は、例えば図3に示すように、偏差演算部1081、指令値演算部1082、変数変換部1083及び制限部1084を有する。この場合、拘束制御調整部107は、制限部1084の挙動を調整する。
Next, an example configuration of the constraint control calculation unit 108 will be described with reference to FIG.
The constraint control calculation unit 108 has, for example, a deviation calculation unit 1081, a command value calculation unit 1082, a variable conversion unit 1083, and a limit unit 1084, as shown in FIG. In this case, the constraint control adjuster 107 adjusts the behavior of the limiter 1084 .

偏差演算部1081は、目標値算出部105により算出された目標値と位置姿勢演算部104により算出された位置姿勢の現在値又は予測値との偏差を算出する。 The deviation calculation unit 1081 calculates the deviation between the target value calculated by the target value calculation unit 105 and the position/orientation current value or predicted value calculated by the position/orientation calculation unit 104 .

指令値演算部1082は、偏差演算部1081による算出結果に基づいて、制限前の拘束制御指令値を算出する。すなわち、指令値演算部1082は、偏差演算部1081により算出された偏差に基づいて、アーム2の位置姿勢が目標値算出部105により算出された目標値に漸近するような指令値を算出する。この指令値演算部1082により算出された指令値を、制限前の拘束制御指令値と呼ぶ。なお、指令値演算部1082により算出された指令値が制限部1084で制限されたものが、拘束制御演算部108により得られる拘束制御指令値となる。 Command value calculation section 1082 calculates a constraint control command value before limitation based on the calculation result of deviation calculation section 1081 . That is, command value calculation section 1082 calculates a command value such that the position/orientation of arm 2 asymptotically approaches the target value calculated by target value calculation section 105 based on the deviation calculated by deviation calculation section 1081 . The command value calculated by the command value calculation unit 1082 is called a restraint control command value before limitation. The command value calculated by the command value calculator 1082 is limited by the limiter 1084 to be the constraint control command value obtained by the constraint control calculator 108 .

変数変換部1083は、指令値演算部1082により算出された指令値を、合成部109での合成に適した変数に変換する。 The variable conversion unit 1083 converts the command value calculated by the command value calculation unit 1082 into a variable suitable for synthesis by the synthesis unit 109 .

なお、図3では、変数変換部1083が拘束制御演算部108に設けられた場合を示した。しかしながら、変数変換部1083は拘束制御演算部108に必須の構成ではなく、変数変換部1083が拘束制御演算部108に設けられていなくてもよい。 Note that FIG. 3 shows the case where the variable conversion unit 1083 is provided in the constraint control calculation unit 108 . However, the variable conversion unit 1083 is not an essential component of the constraint control calculation unit 108, and the variable conversion unit 1083 may not be provided in the constraint control calculation unit 108.

制限部1084は、指令値演算部1082により算出された制限前の拘束制御指令値を、所定範囲内となるように制限する。なお、変数変換部1083により変数の変換が行われている場合には、制限部1084は、当該変換後の制限前の拘束制御指令値を、所定範囲内となるように制限する。
そして、実施の形態1では、拘束制御調整部107は、制限部1084による制限範囲を調整することでアーム2の動きの速さを調整する。
Limiting section 1084 limits the pre-limiting constraint control command value calculated by command value calculating section 1082 to be within a predetermined range. When the variable is converted by the variable conversion unit 1083, the limiting unit 1084 limits the pre-limiting constraint control command value after the conversion so as to be within a predetermined range.
In Embodiment 1, the restraint control adjustment unit 107 adjusts the movement speed of the arm 2 by adjusting the limit range of the limit unit 1084 .

次に、図1に示す実施の形態1に係る直接教示装置1の動作例について、図4を参照しながら説明する。また以下では、拘束制御演算部108は図3に示す構成を有するものとする。
図1に示す実施の形態1に係る直接教示装置1の動作例では、図4に示すように、まず、位置姿勢計測部101は、ロボットが有するアーム2の位置姿勢に関するパラメータを計測する(ステップST401)。
Next, an operation example of the direct teaching device 1 according to Embodiment 1 shown in FIG. 1 will be described with reference to FIG. Further, in the following, it is assumed that the constraint control calculation unit 108 has the configuration shown in FIG.
In the operation example of the direct teaching device 1 according to the first embodiment shown in FIG. 1, first, as shown in FIG. ST401).

次いで、外力検知部102は、操作者によりアーム2に加えられた外力を検知する(ステップST402)。 Next, external force detection section 102 detects an external force applied to arm 2 by the operator (step ST402).

次いで、従動制御演算部103は、外力検知部102により検知された外力に従うアーム2の動き(従動制御指令値)を算出する(ステップST403)。 Next, driven control calculation section 103 calculates the movement (driven control command value) of arm 2 according to the external force detected by external force detection section 102 (step ST403).

次いで、位置姿勢演算部104は、位置姿勢計測部101による計測結果に基づいて、アーム2の位置姿勢の現在値又は予測値を算出する(ステップST404)。 Next, the position/orientation calculation section 104 calculates the current values or predicted values of the position/orientation of the arm 2 based on the measurement result by the position/orientation measurement section 101 (step ST404).

ここで、直接教示装置1が位置拘束を行う場合、すなわち直接教示装置1がアーム2の位置を所定の拘束点、拘束軸又は拘束面に拘束する場合、位置姿勢演算部104は少なくともアーム2の位置を算出する必要がある。
また、直接教示装置1が姿勢拘束を行う場合、すなわち直接教示装置1がアーム2の姿勢を所定の拘束方向に拘束する場合又は所定の拘束回転軸に沿った姿勢の回転のみ許容する拘束を行う場合、位置姿勢演算部104は少なくともアーム2の姿勢を算出する必要がある。
また、直接教示装置1が位置拘束及び姿勢拘束を行う場合、位置姿勢演算部104はアーム2の位置及び姿勢の両方を算出する必要がある。
Here, when the direct teaching device 1 constrains the position of the arm 2, that is, when the direct teaching device 1 constrains the position of the arm 2 to a predetermined constraint point, constraint axis, or constraint surface, the position/orientation calculation unit 104 at least I need to calculate the position.
Further, when the direct teaching device 1 constrains the posture, that is, when the direct teaching device 1 constrains the posture of the arm 2 in a predetermined constraint direction, or when the direct teaching device 1 constrains only the rotation of the posture along a predetermined constraint rotation axis. In this case, the position/orientation calculator 104 needs to calculate at least the orientation of the arm 2 .
Further, when the direct teaching device 1 performs position constraint and posture constraint, the position/posture calculation unit 104 needs to calculate both the position and posture of the arm 2 .

位置姿勢演算部104が求めるものは、計測値のみに基づいた現在値でもよいし、従動制御演算部103による算出結果も取込んだ将来の予測値でもよい。
ここで、位置姿勢演算部104は、位置姿勢計測部101により計測された関節毎の角度から、順運動学演算を用いることで、位置姿勢の現在値を算出することができる。また、位置姿勢演算部104は、上記に加え、従動制御演算部103により得られた従動制御指令値を用いることで、拘束制御が無かったと仮定した場合での位置姿勢の将来の予測値を算出することができる。
What the position/orientation calculation unit 104 obtains may be a current value based only on the measured values, or may be a future predicted value that also incorporates the calculation result by the driven control calculation unit 103 .
Here, the position/orientation calculation unit 104 can calculate the current values of the position/orientation by using the forward kinematics calculation from the angle of each joint measured by the position/orientation measurement unit 101 . In addition to the above, the position/orientation calculation unit 104 uses the driven control command values obtained by the driven control calculation unit 103 to calculate future predicted values of the position/orientation assuming that there is no constraint control. can do.

次いで、目標値算出部105は、拘束目標及び位置姿勢演算部104による算出結果に基づいて、拘束制御の目標値を算出する(ステップST405)。 Next, target value calculation section 105 calculates a target value for constraint control based on the result of calculation by constraint target and position/orientation calculation section 104 (step ST405).

例えば、拘束制御の目的がエンドエフェクタ3の先端のZ軸座標を0.1[m]の位置に固定することであり、位置姿勢演算部104により算出されたエンドエフェクタ3の先端の現在値が[Xp,Yp,Zp]であるとする。この場合、目標値算出部105は、拘束制御の目標値を[Xp,Yp,0.1]とする(なお、この場合、姿勢は変更しないので記述を省略する)。 For example, the purpose of constraint control is to fix the Z-axis coordinate of the tip of the end effector 3 at a position of 0.1 [m], and the current value of the tip of the end effector 3 calculated by the position/posture calculation unit 104 is Let it be [Xp, Yp, Zp]. In this case, the target value calculation unit 105 sets the target value of constraint control to [Xp, Yp, 0.1] (in this case, the posture is not changed, so the description is omitted).

また例えば、拘束制御の目的が、図5に示すように、エンドエフェクタ3の向きのうちのZ軸を真下方向(符号502に示す方向)とした上でX軸をロボット座標系のX軸に合わせることであるとする。なお、図5において、符号501は、真上方向(基準方向)を示している。この場合、拘束制御の目標値である目標姿勢を回転行列表現で表したものは下式(1)のようになる(なお、この場合、位置は変更しないので記述を省略する)。なお、回転行列による姿勢の表現は、例えば非特許文献1等に開示されており、その詳細については省略する。

Figure 2022114472000002
John J. Craig (三浦・下山訳):ロボティクス,共立出版(1991) Further, for example, as shown in FIG. 5, the purpose of restraint control is to set the Z-axis of the direction of the end effector 3 in the downward direction (the direction indicated by reference numeral 502) and set the X-axis to the X-axis of the robot coordinate system. Suppose that it is to match. In FIG. 5, reference numeral 501 indicates the upward direction (reference direction). In this case, the desired orientation, which is the desired value of the constraint control, is represented by the rotation matrix expression as shown in the following equation (1) (in this case, since the position is not changed, the description is omitted). Note that the representation of the orientation by the rotation matrix is disclosed, for example, in Non-Patent Document 1, etc., and the details thereof will be omitted.

Figure 2022114472000002
JohnJ. Craig (translated by Miura and Shimoyama): Robotics, Kyoritsu Shuppan (1991)

なお、目標値算出部105は、拘束制御の目標値として、1つの目標値のみを算出してもよいし、複数の目標値を算出してその中から1つの目標値を選択してもよい。
例えば、拘束制御の目的がエンドエフェクタ3の先端のZ軸座標を0.1[m]刻みで最も近い位置に固定することである場合、目標値算出部105は、拘束制御の目標値として[Xp,Yp,0.1n](nは整数)の中で最も現在の位置に近いものを選択する。
Note that the target value calculation unit 105 may calculate only one target value as the target value of the constraint control, or may calculate a plurality of target values and select one target value from among them. .
For example, if the purpose of constraint control is to fix the Z-axis coordinate of the tip of the end effector 3 to the closest position in increments of 0.1 [m], the target value calculation unit 105 sets the target value of constraint control to [ Xp, Yp, 0.1n] (where n is an integer), the one closest to the current position is selected.

また、拘束制御の目的が図6に示すようにエンドエフェクタ3の向きのうちのZ軸を真下方向とし且つこのZ軸を回転軸としてπ/2刻み(90度刻み)に回転させた姿勢で固定することである場合、目標値算出部105は、拘束制御の目標値として最も現在の姿勢に近いものを選択する。この場合、拘束制御の目標値である目標姿勢を回転行列表現で表したものは下式(2)のようになる。

Figure 2022114472000003
In addition, as shown in FIG. 6, the purpose of restraint control is to set the Z-axis of the orientation of the end effector 3 directly downward, and to rotate the end effector 3 in increments of π/2 (in increments of 90 degrees) about the Z-axis as the rotation axis. In the case of fixing, the target value calculation unit 105 selects the target value closest to the current posture as the target value for constraint control. In this case, the desired orientation, which is the desired value of the constraint control, is represented by the rotation matrix representation as shown in the following equation (2).

Figure 2022114472000003

この式(2)は、図6に示すように、nによって目標姿勢が4通りに変わるが、目標値算出部105はその中から現在の姿勢に最も近いものを1つ選択する。目標値算出部105は、現在の姿勢に近いかどうかは、現在の姿勢から各目標姿勢へと回転させた場合の回転角の大小等から判定できる。 As shown in FIG. 6, this formula (2) has four target postures depending on n, and the target value calculation unit 105 selects one of them that is closest to the current posture. The target value calculation unit 105 can determine whether or not the current posture is close to the current posture based on the size of the rotation angle when rotated from the current posture to each target posture.

次いで、距離演算部106は、位置姿勢演算部104による算出結果に基づいて、アーム2の位置姿勢の現在値又は予測値から拘束制御領域までの距離を算出する(ステップST406)。 Next, distance calculation section 106 calculates the distance from the current value or the predicted value of the position and orientation of arm 2 to the constraint control area based on the calculation result by position and orientation calculation section 104 (step ST406).

例えば、直接教示装置1がZ軸方向の軸拘束及び鉛直下向きの姿勢拘束の両方を行う場合、まず、距離演算部106は、軸拘束の軸を拘束制御領域と定義する。そして、距離演算部106は、下式(3)に示すように、アーム2の位置姿勢の現在値又は予測値から上記軸までの距離を算出する。なお、式(3)において、lは軸拘束の軸までの距離を示し、x,yはアーム2の位置の現在値又は予測値のX座標及びY座標を示し、x,yは軸拘束の軸のX座標及びY座標を示している。
l=√{(x-x+(y-y} (3)
For example, when the direct teaching device 1 performs both the axis constraint in the Z-axis direction and the vertically downward posture constraint, the distance calculation unit 106 first defines the axis of the axis constraint as the constraint control area. Then, the distance calculation unit 106 calculates the distance from the current values or predicted values of the position and orientation of the arm 2 to the above axis, as shown in the following equation (3). In equation (3), l represents the distance to the axis of the axis constraint, x and y represent the X and Y coordinates of the current or predicted position of the arm 2, and x a and y a represent the axis The X and Y coordinates of the axis of constraint are shown.
l=√{(x−x a ) 2 +(y−y a ) 2 } (3)

また、例えば、直接教示装置1が鉛直下向きの姿勢拘束を行う場合、距離演算部106は、まず、図7に示すように、x,yが下式(4)を満たす範囲を拘束制御領域として予め定義する。図7において、符号701は拘束制御領域を示している。この拘束制御領域は、ワークに対して作業を行う場所、ワークを取る場所又はワークを置く場所、並びにその周辺をカバーするように決められる。そして、距離演算部106は、位置姿勢演算部104により算出されたアーム2の位置の現在値又は予測値から、この拘束制御領域までの最短距離を算出する。
min≦x≦Xmax
min≦y≦Ymax (4)
Further, for example, when the direct teaching device 1 constrains the posture to face vertically downward, the distance calculation unit 106 first sets the range where x and y satisfy the following expression (4) as the constraint control region, as shown in FIG. predefined. In FIG. 7, reference numeral 701 indicates a constraint control area. This restraint control area is determined to cover the place where work is performed on the work, the place where the work is picked up or the place where the work is placed, and their surroundings. Then, the distance calculation unit 106 calculates the shortest distance to this constraint control area from the current value or predicted value of the position of the arm 2 calculated by the position/orientation calculation unit 104 .
X min ≤ x ≤ X max
Y min ≤ y ≤ Y max (4)

また、例えば、直接教示装置1が所定の曲面に沿って曲面拘束を行う場合、まず、距離演算部106は、当該曲面そのものを拘束制御領域と定義する。そして、距離演算部106は、位置姿勢演算部104により算出されたアーム2の位置の現在値又は予測値からこの曲面までの最短距離を算出する。 Further, for example, when the direct teaching device 1 performs curved surface constraint along a predetermined curved surface, the distance calculation unit 106 first defines the curved surface itself as a constraint control area. Then, the distance calculation unit 106 calculates the shortest distance from the current value or predicted value of the position of the arm 2 calculated by the position/orientation calculation unit 104 to this curved surface.

また、例えば、直接教示装置1が所定の平面に沿った平面拘束及び鉛直下向きの姿勢拘束の両方を行う場合、まず、距離演算部106は、鉛直下向きに一致する姿勢を拘束制御領域と定義する。そして、距離演算部106は、位置姿勢演算部104により算出されたアーム2の姿勢の現在値又は予測値が、鉛直下向き方向となす角度を、距離として算出する。こうすると、現在又は予測された手先の方向が鉛直下向きの場合には距離が0となり、鉛直下向き方向からの傾きが大きくなると距離も大きくなる。 Further, for example, when the direct teaching device 1 performs both a plane constraint along a predetermined plane and a vertically downward posture constraint, first, the distance calculation unit 106 defines the posture corresponding to the vertically downward direction as a constraint control region. . Then, the distance calculation unit 106 calculates, as a distance, the angle formed by the current value or predicted value of the posture of the arm 2 calculated by the position/posture calculation unit 104 and the vertically downward direction. In this way, the distance becomes 0 when the current or predicted direction of the hand is vertically downward, and the distance increases as the inclination from the vertically downward direction increases.

なお、距離演算部106は、拘束制御領域を複数定義してもよい。この場合、距離演算部106は、それぞれの拘束制御領域に対する距離を求め、その中で一番小さいものを選択するとよい。 Note that the distance calculation unit 106 may define a plurality of constraint control regions. In this case, the distance calculation unit 106 should obtain the distance to each constraint control area and select the smallest distance among them.

以上のように、距離演算部106は、拘束付き直接教示を行う目的に沿った適切な拘束制御領域を予め定義し、この拘束制御領域から位置姿勢演算部104により算出されたアーム2の位置姿勢の現在値又は予測値までの最短距離を求める。 As described above, the distance calculation unit 106 predefines an appropriate constraint control region for the purpose of performing direct teaching with constraints, and the position/orientation of the arm 2 calculated by the position/orientation calculation unit 104 from this constraint control region. Find the shortest distance to the current or predicted value of

次いで、拘束制御調整部107は、距離演算部106により算出された距離に基づいて、拘束制御演算部108により算出されたアーム2の動きの速さ(強さ)を連続的又は段階的に調整する(ステップST407)。すなわち、拘束制御調整部107は、距離演算部106により算出された距離に基づいて、拘束制御の強さを調整するパラメータを決定する。 Next, the constraint control adjustment unit 107 continuously or stepwise adjusts the movement speed (strength) of the arm 2 calculated by the constraint control calculation unit 108 based on the distance calculated by the distance calculation unit 106. (step ST407). That is, the constraint control adjustment unit 107 determines parameters for adjusting the strength of constraint control based on the distance calculated by the distance calculation unit 106 .

例えば、拘束制御調整部107は、距離が0である場合を100%とし、その相対値として拘束制御の強さを決めるパラメータを決める。この場合、パラメータが0%に近付くにつれ拘束制御の強さは弱くなり、0%は拘束制御が無効となることを意味する。 For example, the constraint control adjustment unit 107 determines a parameter that determines the strength of constraint control as a relative value, with the case where the distance is 0 as 100%. In this case, the strength of the constraint control becomes weaker as the parameter approaches 0%, and 0% means that the constraint control is disabled.

このパラメータは、距離に応じて連続的に変化するか、3段階以上で段階的に変化させる。すなわち、2段階では、拘束制御の強さが最大と無効の2通りだけとなり、従来技術(拘束制御のオンオフを切換える)と同じになってしまう。そのため、パラメータを段階的に変化させるのであれば3段階以上にする必要がある。 This parameter is changed continuously according to the distance, or is changed stepwise in three or more steps. That is, in two stages, there are only two strengths of constraint control, maximum and ineffective, which is the same as the conventional technology (on/off switching of constraint control). Therefore, if the parameters are to be changed stepwise, it is necessary to change the parameters in three steps or more.

なお、拘束制御調整部107が決定するパラメータの値は、距離に対して単調減少とすることが好ましい。そうすることで、拘束制御領域から離れるにつれて徐々に拘束制御が弱くなるようにできる。単調減少にしなかった場合、拘束制御領域から離れるにつれて拘束制御が強くなったり弱くなったりするため、操作感を損なう恐れがある。 It is preferable that the parameter values determined by the constraint control adjustment unit 107 monotonously decrease with respect to the distance. By doing so, it is possible to gradually weaken the constraint control as the distance from the constraint control region increases. If it is not monotonically decreasing, the constraint control becomes stronger and weaker as it moves away from the constraint control area, which may impair the feeling of operation.

次いで、拘束制御演算部108は、位置姿勢演算部104による算出結果に基づいて、目標値算出部105により算出された目標値に移動するアーム2の動き(拘束制御指令値)を算出する(ステップST408)。すなわち、拘束制御演算部108は、アーム2の位置姿勢が、目標値算出部105により算出された位置姿勢の目標値へと漸近するような、拘束制御指令値を演算によって求める。 Next, the constraint control calculation unit 108 calculates the movement (constraint control command value) of the arm 2 moving to the target value calculated by the target value calculation unit 105 based on the calculation result of the position/orientation calculation unit 104 (step ST408). That is, the constraint control calculation unit 108 calculates a constraint control command value that causes the position and orientation of the arm 2 to asymptotically approach the target values of the position and orientation calculated by the target value calculation unit 105 .

この拘束制御演算部108が図3に示す構成を有する場合、以下のような動作を行う。
拘束制御演算部108の動作例では、まず、偏差演算部1081は、目標値算出部105により算出された目標値と位置姿勢演算部104により算出された位置姿勢の現在値又は予測値との偏差を算出する。
When this constraint control calculation unit 108 has the configuration shown in FIG. 3, it performs the following operations.
In the operation example of the constraint control calculation unit 108 , first, the deviation calculation unit 1081 calculates the deviation between the target value calculated by the target value calculation unit 105 and the position/orientation current value or predicted value calculated by the position/orientation calculation unit 104 . Calculate

ここで、位置の偏差は、目標値の座標値から現在値の座標値を減算することで得られる。姿勢の偏差は、現在値の姿勢から目標値の姿勢へ回転変換を求めることで得られる。偏差演算部1081により得られる偏差を下式(5)のように表す。式(5)において、eは偏差演算部1081により得られる偏差を示し、Δx,Δy,Δzは位置の偏差のX成分、Y成分、Z成分を示し、Δrx,Δry,Δrzは姿勢の偏差のそれぞれX軸、Y軸、Z軸に対する回転量を示している。

Figure 2022114472000004
Here, the deviation of the position is obtained by subtracting the coordinate value of the current value from the coordinate value of the target value. The attitude deviation is obtained by calculating the rotational transformation from the current attitude to the target attitude. The deviation obtained by the deviation calculator 1081 is represented by the following equation (5). In equation (5), e indicates the deviation obtained by the deviation calculator 1081; The amounts of rotation about the X-axis, Y-axis, and Z-axis are shown, respectively.

Figure 2022114472000004

次に、指令値演算部1082は、偏差演算部1081による算出結果に基づいて、制限前の拘束制御指令値を算出する。すなわち、指令値演算部1082は、偏差演算部1081により算出された偏差に基づいて、アーム2の位置姿勢が目標値算出部105により算出された目標値に漸近するような指令値を算出する。 Next, command value calculation section 1082 calculates a constraint control command value before limitation based on the calculation result of deviation calculation section 1081 . That is, command value calculation section 1082 calculates a command value such that the position/orientation of arm 2 asymptotically approaches the target value calculated by target value calculation section 105 based on the deviation calculated by deviation calculation section 1081 .

指令値演算部1082が行う制御は、言い換えれば、偏差演算部1081により算出された偏差が0に近づくような制御である。このような制御は、例えば下式(6)のように、偏差に対して適切なゲイン(6×6の対角行列)を乗算した結果を速度指令値とすることで可能である。このゲインは、通常、対角行列にする。式(6)において、Kはゲインを示し、v,v,vは速度指令値のX軸方向、Y軸方向、Z軸方向の並進成分を示し、ω,ω,ωはそれぞれX軸、Y軸、Z軸に対する回転成分を示している。

Figure 2022114472000005
The control performed by the command value calculation unit 1082 is, in other words, such control that the deviation calculated by the deviation calculation unit 1081 approaches zero. Such control is possible by, for example, using the result of multiplying the deviation by an appropriate gain (6×6 diagonal matrix) as the speed command value, as in the following equation (6). This gain is usually a diagonal matrix. In equation (6), K C represents a gain, v x , v y , v z represent translational components in the X-axis direction, Y-axis direction, and Z-axis direction of the velocity command value, and ω x , ω y , ω z indicates rotational components about the X-axis, Y-axis, and Z-axis, respectively.

Figure 2022114472000005

又は、下式(7)のように、偏差をそのノルム、又は重み付きノルムで正規化した値に対してゲインを乗算した結果を速度指令値とすることもできる。この方法の場合、偏差の大きさによらず一定の速さで目標値へと漸近する制御となる。式(6)は目標値に漸近するに従い制御の速さが遅くなる。式(7)において、|e|は偏差のノルムを示している。

Figure 2022114472000006
Alternatively, as in the following equation (7), the speed command value can be obtained by multiplying the value normalized by the norm or weighted norm of the deviation by the gain. In the case of this method, the control is such that the target value is asymptotically approached at a constant speed regardless of the magnitude of the deviation. In equation (6), the speed of control decreases as the target value is asymptotically approached. In Equation (7), |e| indicates the norm of the deviation.

Figure 2022114472000006

いずれにせよ、指令値演算部1082で行う制御演算は、アーム2の位置姿勢が、目標値算出部105によって算出された目標値に漸近するようなものであればなんでもよい。 In any case, the control calculation performed by the command value calculation unit 1082 may be any control calculation that causes the position and orientation of the arm 2 to asymptotically approach the target value calculated by the target value calculation unit 105 .

次に、変数変換部1083は、指令値演算部1082により算出された指令値を、関節毎の角度指令値に変換する。
すなわち、上記で指令値演算部1082により得られた速度指令値はデカルト座標系における速度指令値であるため、変数変換部1083により関節毎の角速度指令値に変換する。変数変換部1083は、下式(8)のように、デカルト座標系における速度指令値に、位置姿勢の現在値又は予測値におけるヤコビ行列の逆行列を左から乗算することで、関節毎の角速度指令値に変換する。式(8)において、J-1はヤコビ行列の逆行列を示している。

Figure 2022114472000007
Next, the variable conversion section 1083 converts the command value calculated by the command value calculation section 1082 into an angle command value for each joint.
That is, since the speed command value obtained by the command value calculation unit 1082 is a speed command value in the Cartesian coordinate system, the variable conversion unit 1083 converts it into an angular speed command value for each joint. The variable conversion unit 1083 multiplies the velocity command value in the Cartesian coordinate system from the left by the inverse matrix of the Jacobian matrix in the current value or the predicted value of the position and orientation, as in the following equation (8), to obtain the angular velocity of each joint. Convert to command value. In equation (8), J −1 indicates the inverse matrix of the Jacobian matrix.

Figure 2022114472000007

なお、指令値演算部1082が各関節の角速度指令値を直接算出する場合、又は、拘束制御演算部108により算出された拘束制御指令値がデカルト座標系である場合等、変数変換部1083が不要な場合もある。よって、変数変換部1083は必須の構成要素ではない。 If the command value calculation unit 1082 directly calculates the angular velocity command value of each joint, or if the constraint control command value calculated by the constraint control calculation unit 108 is in the Cartesian coordinate system, the variable conversion unit 1083 is unnecessary. sometimes. Therefore, the variable conversion unit 1083 is not an essential component.

次に、制限部1084は、指令値演算部1082により算出された制限前の拘束制御指令値を、所定範囲内となるように制限する。なお、変数変換部1083により変数の変換が行われている場合には、制限部1084は、当該変換後の制限前の拘束制御指令値を、所定範囲内となるように制限する。
そして、実施の形態1では、拘束制御調整部107は、制限部1084の制御範囲を調整することでアーム2の動きの速さを調整する。以下、拘束制御調整部107が関節毎の角速度指令値を制限する場合を例にとって説明する。
Next, the limiting unit 1084 limits the pre-limiting constraint control command value calculated by the command value calculating unit 1082 to be within a predetermined range. When the variable is converted by the variable conversion unit 1083, the limiting unit 1084 limits the pre-limiting constraint control command value after the conversion so as to be within a predetermined range.
In Embodiment 1, the restraint control adjustment section 107 adjusts the speed of movement of the arm 2 by adjusting the control range of the restriction section 1084 . A case where the constraint control adjustment unit 107 limits the angular velocity command value for each joint will be described below as an example.

まず、制限部1084は、関節毎の角速度指令値の最大上限(上限値の最大値)を予め決めておく。この最大上限は、拘束制御演算部108により算出される拘束制御指令値が取り得る最大の値である。ここで、最大上限は関節毎に異なっていてもよいし、同一でもよい。以下、i番目の関節の角速度指令値の最大上限をθ(ドット)i,MAXで表す(最大上限は正の値とする)。 First, the limiting unit 1084 determines in advance the maximum upper limit (maximum value of the upper limit) of the angular velocity command value for each joint. This maximum upper limit is the maximum value that the constraint control command value calculated by the constraint control calculation unit 108 can take. Here, the maximum upper limit may be different for each joint, or may be the same. Hereinafter, the maximum upper limit of the angular velocity command value of the i-th joint is represented by θ (dot) i,MAX (the maximum upper limit is assumed to be a positive value).

次に、制限部1084は、実際に適用する角速度指令値の上限値を算出する。この上限値は、最大上限及び調整パラメータに基づいて決める。この調整パラメータを、拘束制御調整部107の出力に応じて変えることで、拘束制御演算部108により算出される拘束制御指令値の上限を調整し、結果として、拘束制御がアーム2を動かす速さを調整する。すなわち、i番目の関節に対して実際に適用する角速度指令値の上限をθ(ドット)i,limitで表すと、下式(9)のようになる。式(9)において、αは調整パラメータを示している。

Figure 2022114472000008
Next, the limiting unit 1084 calculates the upper limit of the actually applied angular velocity command value. This upper limit is determined based on the maximum upper limit and adjustment parameters. By changing this adjustment parameter according to the output of the constraint control adjustment unit 107, the upper limit of the constraint control command value calculated by the constraint control calculation unit 108 is adjusted. to adjust. That is, when the upper limit of the angular velocity command value actually applied to the i-th joint is expressed by θ (dot) i,limit , the following formula (9) is obtained. In Equation (9), α indicates an adjustment parameter.

Figure 2022114472000008

この調整パラメータは、拘束制御調整部107が出力するパラメータの値に基づき、0以上1以下の範囲で値を決める。拘束制御調整部107が100%を出力したら1に、0%を出力したら0にする。 The value of this adjustment parameter is determined within a range of 0 to 1 based on the parameter value output from the constraint control adjustment unit 107 . When the constraint control adjustment unit 107 outputs 100%, the value is set to 1, and when 0% is output, the value is set to 0.

図8に、距離演算部106により算出された距離と、調整パラメータとの関係を示す。距離が0である場合、調整パラメータは1で、そこから距離が大きくなるにつれ、連続的又は段階的に調整パラメータは小さくなり、距離が予め決めた所定の値より大きくなると調整パラメータは0になる。こうすることで、拘束制御調整部107が拘束制御演算部108の制御動作を調整する。結果として、距離演算部106により算出された距離が0である場合、実際に適用する角速度指令値の上限は最大となり、拘束制御がアーム2を動かす速さは最大となる。これは、位置姿勢演算部104により算出されたアーム2の位置姿勢の現在値又は予測値が拘束制御領域内にある場合である。そして、距離演算部106により算出された距離が大きくなると、すなわち、アーム2の位置姿勢の現在値又は予測値が拘束制御領域から離れると、実際に適用する角速度指令値の上限が小さくなり、拘束制御がアーム2を動かす速さも制限され、遅くなる。距離演算部106により算出された距離が所定の値以上になると、すなわち、アーム2の位置姿勢の現在値又は予測値が拘束制御領域から十分に離れると、実際に適用する角速度指令値の上限が0となり、拘束制御は無効となる。こうなると、操作者はアーム2を拘束と関係なく自由に動かせるようになる。 FIG. 8 shows the relationship between the distance calculated by the distance calculator 106 and the adjustment parameters. When the distance is 0, the adjustment parameter is 1, and as the distance increases from there, the adjustment parameter decreases continuously or stepwise, and when the distance exceeds a predetermined value, the adjustment parameter becomes 0. . By doing so, the constraint control adjustment unit 107 adjusts the control operation of the constraint control calculation unit 108 . As a result, when the distance calculated by the distance calculation unit 106 is 0, the upper limit of the actually applied angular velocity command value becomes maximum, and the speed at which the restraint control moves the arm 2 becomes maximum. This is the case where the current value or predicted value of the position and orientation of the arm 2 calculated by the position and orientation calculation unit 104 is within the constraint control region. Then, when the distance calculated by the distance calculation unit 106 increases, that is, when the current value or predicted value of the position and orientation of the arm 2 moves away from the constraint control region, the upper limit of the actually applied angular velocity command value decreases, and the constraint The speed at which the control moves arm 2 is also limited and slowed down. When the distance calculated by the distance calculation unit 106 becomes a predetermined value or more, that is, when the current value or predicted value of the position and orientation of the arm 2 is sufficiently separated from the restraint control area, the upper limit of the actually applied angular velocity command value becomes 0, and constraint control is disabled. In this way, the operator can freely move the arm 2 regardless of restraint.

制限部1084は、実際に適用する角速度指令値の上限が決まったら、全ての関節の角速度指令値がこの上限を超えないように、その値を制限する。すなわち、i番目の関節の角速度指令値が下式(10)を満たすよう、関節毎の角速度指令値を制限する。式(10)において、θ(ドット)はi番目の関節の角速度指令値を示している。

Figure 2022114472000009
Once the upper limit of the actually applied angular velocity command value is determined, the limiting unit 1084 limits the value so that the angular velocity command values of all joints do not exceed this upper limit. That is, the angular velocity command value for each joint is limited so that the angular velocity command value for the i-th joint satisfies the following equation (10). In Equation (10), θ (dot) i indicates the angular velocity command value of the i-th joint.

Figure 2022114472000009

制限部1084が関節毎の角速度指令値を制限する際、拘束制御によってアーム2が動く方向が変わらないように制限することが好ましい。そのような演算を行う手順の一例を以下に示す。 When the limiter 1084 limits the angular velocity command value for each joint, it is preferable to limit the movement direction of the arm 2 by restraint control. An example of a procedure for performing such calculations is shown below.

まず、制限部1084は、下式(11)に示すように、関節毎に、角速度指令値の大きさと、実際に適用する角速度指令値の上限との比を求める。式(11)において、cは比を示している。

Figure 2022114472000010
First, the limiting unit 1084 obtains the ratio between the magnitude of the angular velocity command value and the upper limit of the actually applied angular velocity command value for each joint, as shown in the following equation (11). In equation (11), c i indicates the ratio.

Figure 2022114472000010

次に、制限部1084は、上記比の最大値を求める。
次に、制限部1084は、各関節角の角度指令値を上記比の最大値で割って、制限後の角速度指令値を算出する。式(12)において、θ(ドット) は制限後の角速度指令値を示し、cは比の最大値を示している。

Figure 2022114472000011
Next, limiting section 1084 obtains the maximum value of the above ratio.
Next, the limiter 1084 divides the angle command value of each joint angle by the maximum value of the ratio to calculate the angular velocity command value after the limit. In equation (12), θ (dot) * i indicates the angular velocity command value after limitation, and c indicates the maximum value of the ratio.

Figure 2022114472000011

そして、制限部1084は、以上のようにして求めた角加速度指令値を、拘束制御指令値として出力する。 Then, the limiting unit 1084 outputs the angular acceleration command value obtained as described above as the restraint control command value.

再び図4に示すフローの説明に戻り、次いで、合成部109は、従動制御演算部103による算出結果(従動制御指令値)と拘束制御演算部108による算出結果(拘束制御指令値)とを一つの指令値に合成する(ステップST409)。 Returning again to the description of the flow shown in FIG. are combined into one command value (step ST409).

例えば、従動制御演算部103が従動制御指令値として関節の角速度指令値(θ(ドット))を算出し、拘束制御演算部108が拘束制御指令値として関節の角速度指令値(θ(ドット))を算出したとする。この場合、合成部109は、その和であるθ(ドット)+θ(ドット)を指令値として得る。 For example, the driven control calculation unit 103 calculates the joint angular velocity command value (θ (dot) D ) as the driven control command value, and the constraint control calculation unit 108 calculates the joint angular velocity command value (θ (dot) D ) as the constraint control command value. C ) is calculated. In this case, the synthesizing unit 109 obtains the sum θ (dot) D + θ (dot) C as the command value.

当然ながらこれに限るものではなく、従動制御演算部103が従動制御指令値としてトルク指令値(τ)を算出し、拘束制御演算部108が拘束制御指令値としてトルク指令値(τ)を算出したとする。この場合、合成部109は、その和であるτ+τを指令値として得る。また、従動制御演算部103が従動制御指令値として位置指令値(θ)を算出し、拘束制御演算部108が拘束制御指令値として関節の角度変化量(Δθ)を算出したとする。この場合、合成部109は、その和であるθ+Δθを指令値として得る。この他、従動制御演算部103と拘束制御演算部108とで算出する物理量が異なる場合でも、合成部109は、制御演算によって指令値を合成することが可能である。 Of course, it is not limited to this. The driven control calculation unit 103 calculates the torque command value (τ D ) as the driven control command value, and the constraint control calculation unit 108 calculates the torque command value (τ C ) as the constraint control command value. Suppose we calculated In this case, synthesizing section 109 obtains the sum, τ DC , as the command value. It is also assumed that the driven control calculation unit 103 calculates the position command value (θ D ) as the driven control command value, and the constraint control calculation unit 108 calculates the joint angle change amount (Δθ C ) as the constraint control command value. In this case, the synthesizing unit 109 obtains the sum, θ D +Δθ C , as the command value. In addition, even when the physical quantities calculated by the driven control calculation unit 103 and the constraint control calculation unit 108 are different, the synthesizing unit 109 can synthesize command values through control calculation.

次いで、駆動制御部110は、合成部109による合成結果に基づいて、アーム2を駆動する(ステップST410)。すなわち、駆動制御部110は、指令値に従ってアーム2を制御する。この部分の制御は通常のアーム2の制御なので、詳細は省略する。 Next, drive control section 110 drives arm 2 based on the result of synthesis by synthesis section 109 (step ST410). That is, the drive control section 110 controls the arm 2 according to the command value. Since the control of this part is the normal control of the arm 2, the details will be omitted.

ここで、拘束付きの直接教示は、拘束制御の演算により、アーム2が拘束姿勢、拘束面又は拘束軸に追従するように制御するが、この強さは調整することが可能である。よって、実施の形態1に係る直接教示装置1では、拘束制御をするかしないかの二択ではなく、例えば拘束姿勢、拘束面又は拘束軸に近づくほど拘束制御を強く、遠ざかるほど弱くといった調整を連続的又は段階的に行うことで、従来技術のような急な動き及び振動を軽減することが可能となる。一方で、実施の形態1に係る直接教示装置1では、拘束制御領域に近いときは拘束制御を強くすることで、単に拘束制御を弱くしたときのように直接教示の精度が劣化するという問題は起きにくくなる。このようにして、実施の形態1に係る直接教示装置1では、アーム2の教示精度と操作感を両立することができる。 Here, in the direct teaching with constraint, the arm 2 is controlled to follow the constraint posture, the constraint surface, or the constraint axis by calculation of constraint control, but this strength can be adjusted. Therefore, in the direct teaching device 1 according to the first embodiment, instead of choosing whether or not to perform constraint control, for example, adjustment is made such that the closer the constraint posture, the constraint surface, or the constraint axis, the stronger the constraint control, and the further away, the weaker the constraint control. Continuous or step-by-step, it is possible to reduce sudden movements and vibrations as in the prior art. On the other hand, in the direct teaching device 1 according to the first embodiment, by increasing the constraint control when the region is close to the constraint control region, there is no problem that the accuracy of the direct teaching deteriorates like when the constraint control is simply weakened. It becomes difficult to get up. Thus, in the direct teaching device 1 according to Embodiment 1, it is possible to achieve both teaching accuracy and operational feeling of the arm 2 .

以上のように、この実施の形態1によれば、直接教示装置1は、ロボットが有するアーム2に加えられた外力を検知する外力検知部102と、外力検知部102により検知された外力に従うアーム2の動きを算出する従動制御演算部103と、アーム2の位置又は姿勢のうちの少なくとも一方である位置姿勢の現在値又は予測値を算出する位置姿勢演算部104と、拘束目標及び位置姿勢演算部104による算出結果に基づいて、拘束制御の目標値を算出する目標値算出部105と、位置姿勢演算部104による算出結果に基づいて、目標値算出部105により算出された目標値へと移動するアーム2の動きを算出する拘束制御演算部108と、拘束制御演算部108により算出されたアーム2の動きの速さを連続的又は少なくとも3段階以上に段階的に調整可能とする拘束制御調整部107と、従動制御演算部103による算出結果と拘束制御演算部108による算出結果とを合成する合成部109と、合成部109による合成結果に基づいてアーム2を駆動する駆動制御部110とを備えた。これにより、実施の形態1に係る直接教示装置1は、アーム2の教示精度と操作感を両立可能となる。 As described above, according to the first embodiment, the direct teaching device 1 includes the external force detection unit 102 that detects an external force applied to the arm 2 of the robot, and the arm that follows the external force detected by the external force detection unit 102. 2, a position/posture calculation unit 104 that calculates the current value or predicted value of the position/posture, which is at least one of the position and/or posture of the arm 2, and the constraint target and position/posture calculation. A target value calculation unit 105 that calculates a target value for constraint control based on the calculation result of the unit 104, and a movement to the target value calculated by the target value calculation unit 105 based on the calculation result of the position/orientation calculation unit 104. a constraint control calculation unit 108 that calculates the movement of the arm 2, and a constraint control adjustment that enables the speed of the movement of the arm 2 calculated by the constraint control calculation unit 108 to be adjusted continuously or in at least three steps or more. 107, a synthesizing unit 109 that synthesizes the calculation result by the driven control arithmetic unit 103 and the calculation result by the restraint control arithmetic unit 108, and the drive control unit 110 that drives the arm 2 based on the synthesis result by the synthesizing unit 109. prepared. As a result, the direct teaching device 1 according to the first embodiment can achieve both teaching accuracy and operational feeling of the arm 2 .

実施の形態2.
実施の形態1では、拘束制御調整部107が、拘束制御演算部108が有する制限部1084を調整することで、拘束制御がアーム2を動かす速さを調整する場合を示したが、速さを調整する方法はこれに限らない。実施の形態2では、拘束制御調整部107が、拘束制御演算部108が有する乗算部1085を調整することで、拘束制御がアーム2を動かす速さを調整する場合を示す。
Embodiment 2.
In the first embodiment, the constraint control adjustment unit 107 adjusts the limit unit 1084 of the constraint control calculation unit 108 to adjust the speed at which the constraint control moves the arm 2. The adjustment method is not limited to this. Embodiment 2 shows a case where the constraint control adjuster 107 adjusts the speed at which the constraint control moves the arm 2 by adjusting the multiplier 1085 of the constraint control calculator 108 .

図9は実施の形態2における拘束制御演算部108の構成例を示す図である。図9に示す実施の形態2における拘束制御演算部108は、図3に示す実施の形態1における拘束制御演算部108に対し、指令値演算部1082を乗算部1085に変更し、制限部1084を取除いている。また、拘束制御調整部107は乗算部1085を調整する。実施の形態2に係る直接教示装置1のその他の構成は、図1,3に示す実施の形態1に係る直接教示装置1と同様であり、同一の符号を付し、異なる部分についてのみ説明を行う。 FIG. 9 is a diagram showing a configuration example of the constraint control calculation unit 108 according to the second embodiment. Constraint control calculation section 108 in Embodiment 2 shown in FIG. 9 is different from constraint control calculation section 108 in Embodiment 1 shown in FIG. are removing. Also, the constraint control adjusting section 107 adjusts the multiplying section 1085 . Other configurations of the direct teaching device 1 according to the second embodiment are the same as those of the direct teaching device 1 according to the first embodiment shown in FIGS. conduct.

乗算部1085は、偏差演算部1081により算出された偏差に対して調整ゲインを乗算する。
そして、拘束制御調整部107は、乗算部1085により乗算される調整ゲインを調整することでアーム2の動きの速さを調整する。
The multiplier 1085 multiplies the deviation calculated by the deviation calculator 1081 by the adjustment gain.
Then, the constraint control adjusting section 107 adjusts the speed of movement of the arm 2 by adjusting the adjustment gain multiplied by the multiplying section 1085 .

乗算部1085は、下式(13)に示すように、偏差演算部1081により算出された偏差に、調整ゲイン(ゲイン及び調整パラメータ)を乗算する。ここで、ゲインは6×6の行列(好ましくは対角行列)、調整パラメータはスカラである。

Figure 2022114472000012
The multiplier 1085 multiplies the deviation calculated by the deviation calculator 1081 by the adjustment gain (gain and adjustment parameter) as shown in the following equation (13). where the gain is a 6×6 matrix (preferably a diagonal matrix) and the adjustment parameter is a scalar.

Figure 2022114472000012

乗算部1085は、調整パラメータを、拘束制御調整部107の出力に応じて0から1までの範囲で値を変える。乗算部1085は、調整パラメータを、拘束制御調整部107が100%を出力したら1にし、0%を出力したら0にする。 Multiplication section 1085 changes the value of the adjustment parameter within a range from 0 to 1 according to the output of constraint control adjustment section 107 . The multiplication unit 1085 sets the adjustment parameter to 1 when the constraint control adjustment unit 107 outputs 100%, and to 0 when the constraint control adjustment unit 107 outputs 0%.

図10に、距離演算部106により算出された距離と、調整パラメータとの関係を示す。
距離が0である場合、調整パラメータは1で、そこから距離が大きくなるにつれ、連続的又は段階的に調整パラメータは小さくなり、距離が予め決めた所定の値より大きくなると調整パラメータは0になる。こうすることで、拘束制御調整部107が拘束制御演算部108の制御動作を調整する。結果として、距離演算部106により算出された距離が0の場合、拘束制御演算部108により算出される拘束制御指令値は最大となり、拘束制御がアーム2を動かす速さは最大となる。そして、距離演算部106により算出された距離が大きくなると、拘束制御指令値が小さくなり、拘束制御がアーム2を動かす速さも遅くなる。距離演算部106により算出された距離が所定の値以上になると、拘束制御は無効となり、操作者はアーム2を拘束と関係なく自由に動かせるようになる。
FIG. 10 shows the relationship between the distance calculated by the distance calculator 106 and the adjustment parameters.
When the distance is 0, the adjustment parameter is 1, and as the distance increases from there, the adjustment parameter decreases continuously or stepwise, and when the distance exceeds a predetermined value, the adjustment parameter becomes 0. . By doing so, the constraint control adjustment unit 107 adjusts the control operation of the constraint control calculation unit 108 . As a result, when the distance calculated by the distance calculator 106 is 0, the constraint control command value calculated by the constraint control calculator 108 is maximized, and the speed at which the constraint control moves the arm 2 is maximized. As the distance calculated by the distance calculator 106 increases, the constraint control command value decreases, and the speed at which the constraint control moves the arm 2 also decreases. When the distance calculated by the distance calculator 106 becomes equal to or greater than a predetermined value, the restraint control becomes invalid and the operator can freely move the arm 2 regardless of restraint.

実施の形態2に係る直接教示装置1では、以上のようにして、拘束制御領域からの距離に基づいて、拘束制御がアーム2を動かす速さを調整する。 In the direct teaching device 1 according to the second embodiment, as described above, the speed at which the constraint control moves the arm 2 is adjusted based on the distance from the constraint control area.

実施の形態3.
実施の形態1,2では、拘束制御調整部107が、距離演算部106により算出された距離に基づいて、拘束制御の速さを調整する場合を示したが、拘束制御の速さを調整する元になる値はこれに限らない。実施の形態3では、人がアーム2を手で操作する量(操作量)に基づいて、拘束制御演算部108により算出されるアーム2の動きの速さを調整する場合を示す。
Embodiment 3.
In the first and second embodiments, the constraint control adjustment unit 107 adjusts the speed of constraint control based on the distance calculated by the distance calculation unit 106. However, the speed of constraint control is adjusted. The original value is not limited to this. Embodiment 3 shows a case where the movement speed of the arm 2 calculated by the constraint control calculation unit 108 is adjusted based on the amount of manual manipulation of the arm 2 by a person (manipulation amount).

図11は実施の形態3に係る直接教示装置1の構成例を示す図である。図11に示す実施の形態3に係る直接教示装置1は、図1に示す実施の形態1に係る直接教示装置1に対し、距離演算部106を手動操作量演算部111に変更している。実施の形態3に係る直接教示装置1のその他の構成は実施の形態1に係る直接教示装置1と同様であり、同一の符号を付して異なる部分についてのみ説明を行う。 FIG. 11 is a diagram showing a configuration example of the direct teaching device 1 according to the third embodiment. A direct teaching device 1 according to Embodiment 3 shown in FIG. 11 is different from the direct teaching device 1 according to Embodiment 1 shown in FIG. The rest of the configuration of the direct teaching device 1 according to Embodiment 3 is the same as that of the direct teaching device 1 according to Embodiment 1, and the same reference numerals are given and only different parts will be described.

手動操作量演算部111は、従動制御演算部103による算出結果に基づいて、アーム2に対する操作者による操作量を算出する。
そして、拘束制御調整部107は、手動操作量演算部111による算出結果に基づいて、アーム2の動きの速さを調整する。
The manual operation amount calculation unit 111 calculates the operation amount of the arm 2 by the operator based on the calculation result by the driven control calculation unit 103 .
Then, the restraint control adjustment section 107 adjusts the speed of movement of the arm 2 based on the calculation result by the manual operation amount calculation section 111 .

好ましい一例としては、従動制御演算部103により算出される従動制御指令値を角加速度指令値として、手動操作量演算部111がこの角加速度指令値の大きさに基づいて操作量を演算によって求め、この操作量によって拘束制御演算部108により算出されるアーム2の動きの速さを調整する。そして、拘束制御調整部107は、操作量が大きいほど拘束制御演算部108により算出されるアーム2の動きの速さが遅くなるように調整し、操作量が小さいほど上記アーム2の動きの速さが速くなるように調整する。こうすることで、操作者がアーム2を速く操作すると拘束制御が弱くなるので、操作者は拘束に関係なく自由にアーム2を動かすことができるようになる。また、アーム2をゆっくりと操作すると拘束制御が強くなるので、拘束に沿って精度よくアーム2を操作でき、教示制御を高くすることが可能となる。 As a preferred example, the driven control command value calculated by the driven control calculation unit 103 is used as the angular acceleration command value, and the manual operation amount calculation unit 111 calculates the operation amount based on the magnitude of the angular acceleration command value, The movement speed of the arm 2 calculated by the restraint control calculation unit 108 is adjusted by this operation amount. Then, the constraint control adjustment unit 107 adjusts the movement speed of the arm 2 calculated by the constraint control calculation unit 108 so that the larger the operation amount is, the slower the movement speed of the arm 2 is. Adjust so that it is faster. By doing so, if the operator operates the arm 2 quickly, the restraint control becomes weak, so the operator can freely move the arm 2 regardless of the restraint. In addition, since the constraint control becomes stronger when the arm 2 is operated slowly, the arm 2 can be operated accurately along with the constraint, and the teaching control can be enhanced.

また上記の例に限らず、直接教示装置1は、位置姿勢計測部101により計測される関節毎の角度、或いは、位置姿勢演算部104により算出された位置姿勢の現在値又は予測値から、アーム2の関節毎の角速度を求め、その値に基づいて調整することもできる。ただし、従動制御演算部103により算出される従動制御指令値は操作者の操作で決まるのに対し、これらの値から計算した角速度は拘束制御の算出結果の影響もうけるので、操作者の操作が拘束制御調整部107の調整動作にうまく反映されない場合がある。 Further, the direct teaching device 1 is not limited to the above example, and the direct teaching device 1 calculates the arm angle based on the angle of each joint measured by the position/orientation measurement unit 101 or the current value or predicted value of the position/orientation calculated by the position/orientation calculation unit 104. It is also possible to obtain angular velocities for each of the two joints and make adjustments based on these values. However, while the driven control command values calculated by the driven control calculation unit 103 are determined by the operator's operation, the angular velocities calculated from these values are affected by the calculation result of the restraint control, so that the operator's operation is restrained. The adjustment operation of the control adjustment unit 107 may not be well reflected.

なお、手動操作量演算部111は、操作量を、角速度から求めるだけでなく、アーム2の手先の速度又は角加速度等、他の物理量から求めてもよい。 Note that the manual operation amount calculation unit 111 may obtain the operation amount not only from the angular velocity, but also from other physical quantities such as the velocity or angular acceleration of the hand of the arm 2 .

実施の形態4.
拘束制御調整部107は、実施の形態1,2では距離演算部106により算出された距離に基づいて、実施の形態3では手動操作量演算部111により算出された操作量に基づいて、拘束制御の速さを調整する場合を示した。これらは、従動制御演算部103、位置姿勢演算部104及び目標値算出部105のうちの一つ以上の計算結果に基づいて、拘束制御調整部107により、拘束制御演算部108が算出するアーム2の動きの速さを調整しているものと考えられる。ある意味、拘束制御の速さを人が直接調整するのではなく、算出結果を介して間接的に調整している。一方、これに限らず、拘束制御演算部108により算出されるアーム2の動きの速さを人が直接調整する方法も考えられる。
Embodiment 4.
The constraint control adjustment unit 107 adjusts the constraint control based on the distance calculated by the distance calculation unit 106 in the first and second embodiments, and based on the operation amount calculated by the manual operation amount calculation unit 111 in the third embodiment. The case of adjusting the speed of Based on the calculation result of one or more of the driven control calculation unit 103 , the position/orientation calculation unit 104 and the target value calculation unit 105 , the constraint control adjustment unit 107 calculates the arm 2 position calculated by the constraint control calculation unit 108 . It is thought that it adjusts the speed of movement of the In a sense, the speed of restraint control is not adjusted directly by humans, but indirectly through the calculation results. On the other hand, without being limited to this, a method in which a person directly adjusts the movement speed of the arm 2 calculated by the restraint control calculation unit 108 is also conceivable.

図12は実施の形態4に係る直接教示装置1の構成例を示す図である。この図12に示す実施の形態4に係る直接教示装置1は、図1に示す実施の形態1に係る直接教示装置1に対し、距離演算部106を入力部112に変更している。実施の形態4に係る直接教示装置1におけるその他の構成は実施の形態1に係る直接教示装置1と同様であり、同一の符号を付してその説明を省略する。 FIG. 12 is a diagram showing a configuration example of the direct teaching device 1 according to the fourth embodiment. The direct teaching device 1 according to the fourth embodiment shown in FIG. 12 is different from the direct teaching device 1 according to the first embodiment shown in FIG. The rest of the configuration of the direct teaching device 1 according to Embodiment 4 is the same as that of the direct teaching device 1 according to Embodiment 1, so the same reference numerals are given and the description thereof is omitted.

入力部112は、操作者からの入力を受付ける。
そして、拘束制御調整部107は、入力部112による受付け結果に基づいて、アーム2の動きの速さを調整する。
The input unit 112 receives input from the operator.
Then, the restraint control adjustment unit 107 adjusts the movement speed of the arm 2 based on the result received by the input unit 112 .

入力部112の一例としては、アーム2の本体又はロボット操作用のティーチングペンダントに設けられた2つのボタンが挙げられる。この場合、拘束制御調整部107は、上記2つのボタンのうちの一方が押されると拘束制御演算部108により算出されるアーム2の動きの速さを一段階速くし、他方が押されると一段階遅くするように、少なくとも3段階以上に調整する。 An example of the input unit 112 is two buttons provided on the main body of the arm 2 or a teaching pendant for operating the robot. In this case, the constraint control adjustment unit 107 increases the movement speed of the arm 2 calculated by the constraint control calculation unit 108 by one step when one of the two buttons is pressed, and increases the speed by one step when the other button is pressed. Adjust to at least 3 steps or more to slow down the steps.

また、入力部112の別の例としては、アーム2の本体又はロボット操作用のティーチングペンダントに設けられた調整用のスライダ(音量調整用のボリュームスライダのようなもの)が挙げられる。この場合、拘束制御調整部107は、スライダが一方に動かされると拘束制御演算部108により算出されるアーム2の動きの速さをより速くし、他方に動かされるとより遅くするように、連続的に調整する。なお、調整用のスライダは物理的なものではなく、ティーチングペンダント等の画面上に表示されたものを操作するような仕組みでもよい。 Another example of the input unit 112 is an adjustment slider (such as a volume slider for volume adjustment) provided on the main body of the arm 2 or a teaching pendant for operating the robot. In this case, the constraint control adjustment unit 107 increases the movement speed of the arm 2 calculated by the constraint control calculation unit 108 when the slider is moved in one direction, and slows it when the slider is moved in the other direction. adjust accordingly. It should be noted that the slider for adjustment may not be a physical one, but may be a mechanism for operating something displayed on the screen, such as a teaching pendant.

また、入力部112の別の例としては、アーム2に設けられ、操作者がアーム2を掴む力を検知するセンサが挙げられる。この場合、拘束制御調整部107は、このセンサの出力に応じて調整を行う。例えば、拘束制御調整部107は、アーム2を掴む力が弱くなると拘束制御演算部108により算出されるアーム2の動きの速さをより速くし、アーム2を掴む力が強くなるとより遅くするように、連続的に調整する。 Another example of the input unit 112 is a sensor that is provided on the arm 2 and detects the force with which the operator grips the arm 2 . In this case, the restraint control adjustment unit 107 performs adjustment according to the output of this sensor. For example, the restraint control adjustment unit 107 increases the movement speed of the arm 2 calculated by the restraint control calculation unit 108 when the force with which the arm 2 is grasped becomes weak, and decreases it when the force with which the arm 2 is grasped becomes strong. to continuously adjust.

また、入力部112の別の例としては、フットペダルが挙げられる。この場合、拘束制御調整部107は、フットペダルが踏み込まれる量に応じて調整を行う。例えば、拘束制御調整部107は、フットペダルが全く踏み込まれていない状態で拘束制御演算部108により算出されるアーム2の動きの速さを最大とし、踏み込まれる量が大きくなると速さを徐々に遅くし、一番奥まで踏み込まれると速さを0にして拘束制御演算が実質無効となるように、連続的又は段階的に調整する。 Another example of the input unit 112 is a foot pedal. In this case, the restraint control adjustment unit 107 performs adjustment according to the amount of depression of the foot pedal. For example, the constraint control adjustment unit 107 maximizes the movement speed of the arm 2 calculated by the constraint control calculation unit 108 when the foot pedal is not depressed at all, and gradually increases the speed as the amount of depression increases. It is adjusted continuously or step by step so that the speed is reduced to 0 when the pedal is depressed to the deepest position and the constraint control calculation is substantially invalidated.

実施の形態4に係る直接教示装置1では、以上のようにして、入力部112が人からの入力を検知し、拘束制御調整部107が、その検知された値に応じて、拘束制御演算部108が算出するアーム2の動きの速さを調整する。 In the direct teaching device 1 according to the fourth embodiment, as described above, the input unit 112 detects the input from the person, and the constraint control adjustment unit 107 adjusts the constraint control calculation unit according to the detected value. Adjust the speed of movement of the arm 2 calculated by 108 .

なお、実施の形態1~4では、一部、6軸のアーム2を前提として説明及び例示したが、6軸以外のアーム2であっても同様にして実施することが可能である。
また、実施の形態1~4では、従動制御演算部103により算出された従動制御指令値と、拘束制御演算部108により算出された拘束制御指令値が、角速度の指令値である例を中心に説明したが、角加速度又はトルク等、他の物理量であっても実現は可能である。
In addition, in the first to fourth embodiments, the description and examples were partly based on the assumption that the arm 2 has six axes.
Further, in the first to fourth embodiments, the example in which the driven control command value calculated by the driven control calculation unit 103 and the constraint control command value calculated by the constraint control calculation unit 108 are angular velocity command values are mainly described. Although explained, implementation is possible with other physical quantities such as angular acceleration or torque.

なお、本願発明はその発明の範囲内において、各実施の形態の自由な組合わせ、或いは各実施の形態の任意の構成要素の変形、若しくは各実施の形態において任意の構成要素の省略が可能である。 In addition, within the scope of the present invention, it is possible to freely combine each embodiment, modify any component of each embodiment, or omit any component in each embodiment. be.

1 直接教示装置
2 アーム
3 エンドエフェクタ
101 位置姿勢計測部
102 外力検知部
103 従動制御演算部
104 位置姿勢演算部
105 目標値算出部
106 距離演算部
107 拘束制御調整部
108 拘束制御演算部
109 合成部
110 駆動制御部
111 手動操作量演算部
112 入力部
1031 乗算部
1081 偏差演算部
1082 指令値演算部
1083 変数変換部
1084 制限部
1085 乗算部
1 direct teaching device 2 arm 3 end effector 101 position and orientation measurement unit 102 external force detection unit 103 driven control calculation unit 104 position and orientation calculation unit 105 target value calculation unit 106 distance calculation unit 107 constraint control adjustment unit 108 constraint control calculation unit 109 synthesis unit 110 Drive control unit 111 Manual operation amount calculation unit 112 Input unit 1031 Multiplication unit 1081 Deviation calculation unit 1082 Command value calculation unit 1083 Variable conversion unit 1084 Limitation unit 1085 Multiplication unit

Claims (7)

ロボットが有するアームに加えられた外力を検知する外力検知部と、
前記外力検知部により検知された外力に従う前記アームの動きを算出する従動制御演算部と、
前記アームの位置又は姿勢のうちの少なくとも一方である位置姿勢の現在値又は予測値を算出する位置姿勢演算部と、
拘束目標及び前記位置姿勢演算部による算出結果に基づいて、拘束制御の目標値を算出する目標値算出部と、
前記位置姿勢演算部による算出結果に基づいて、前記目標値算出部により算出された目標値へと移動する前記アームの動きを算出する拘束制御演算部と、
前記拘束制御演算部により算出されたアームの動きの速さを連続的又は少なくとも3段階以上に段階的に調整可能とする拘束制御調整部と、
前記従動制御演算部による算出結果と前記拘束制御演算部による算出結果とを合成する合成部と、
前記合成部による合成結果に基づいて前記アームを駆動する駆動制御部と
を備えた直接教示装置。
an external force detection unit that detects an external force applied to an arm of the robot;
a driven control calculation unit that calculates the movement of the arm according to the external force detected by the external force detection unit;
a position/posture calculation unit that calculates a current value or a predicted value of the position/posture, which is at least one of the position and posture of the arm;
a target value calculation unit that calculates a target value for constraint control based on the constraint target and the result of calculation by the position and orientation calculation unit;
a constraint control calculation unit that calculates the movement of the arm moving to the target value calculated by the target value calculation unit based on the calculation result of the position/orientation calculation unit;
a constraint control adjustment unit that can adjust the speed of the arm movement calculated by the constraint control calculation unit continuously or in steps of at least three steps;
a synthesizing unit that synthesizes the calculation result by the driven control arithmetic unit and the calculation result by the constraint control arithmetic unit;
A direct teaching device comprising: a drive control section that drives the arm based on a result of synthesis by the synthesis section.
前記拘束制御演算部は、
前記目標値算出部により算出された目標値と前記位置姿勢演算部により算出された位置姿勢の現在値又は予測値との偏差を算出する偏差演算部と、
前記偏差演算部による算出結果に基づいて、前記拘束制御演算部による算出結果に相当する制限前の拘束制御指令値を算出する指令値演算部と、
前記指令値演算部により算出された制限前の拘束制御指令値を制限する制限部とを備え、
前記拘束制御調整部は、前記制限部を調整することで前記アームの動きの速さを調整する
ことを特徴とする請求項1記載の直接教示装置。
The constraint control calculation unit is
a deviation calculation unit that calculates a deviation between the target value calculated by the target value calculation unit and the current value or predicted value of the position and orientation calculated by the position and orientation calculation unit;
a command value calculation unit that calculates a constraint control command value before limitation corresponding to the calculation result of the constraint control calculation unit based on the calculation result of the deviation calculation unit;
a limiting unit that limits the pre-limiting constraint control command value calculated by the command value calculating unit;
2. The direct teaching device according to claim 1, wherein the restraint control adjusting section adjusts the movement speed of the arm by adjusting the restricting section.
前記拘束制御演算部は、
前記目標値算出部により算出された目標値と前記位置姿勢演算部により算出された位置姿勢の現在値又は予測値との偏差を算出する偏差演算部と、
前記偏差演算部により算出結果に対して調整ゲインを乗算する乗算部とを備え、
前記拘束制御調整部は、前記乗算部により乗算される調整ゲインを調整することで前記アームの動きの速さを調整する
ことを特徴とする請求項1記載の直接教示装置。
The constraint control calculation unit is
a deviation calculation unit that calculates a deviation between the target value calculated by the target value calculation unit and the current value or predicted value of the position and orientation calculated by the position and orientation calculation unit;
a multiplication unit that multiplies the result calculated by the deviation calculation unit by an adjustment gain,
The direct teaching device according to claim 1, wherein the constraint control adjustment section adjusts the speed of movement of the arm by adjusting an adjustment gain multiplied by the multiplication section.
前記位置姿勢演算部による算出結果に基づいて、前記アームの位置姿勢の現在値又は予測値から拘束制御領域までの距離を算出する距離演算部を備え、
前記拘束制御調整部は、前記距離演算部による算出結果に基づいて、前記アームの動きの速さを調整する
ことを特徴とする請求項1から請求項3のうちの何れか1項記載の直接教示装置。
a distance calculation unit that calculates a distance from a current value or a predicted value of the position and orientation of the arm to a constraint control area based on a calculation result of the position and orientation calculation unit;
4. The direct control device according to any one of claims 1 to 3, wherein the constraint control adjustment unit adjusts the speed of movement of the arm based on the calculation result of the distance calculation unit. Teaching device.
前記アームに対する操作者による操作量を算出する手動操作量演算部を備え、
前記拘束制御調整部は、前記手動操作量演算部による算出結果に基づいて、前記アームの動きの速さを調整する
ことを特徴とする請求項1から請求項3のうちの何れか1項記載の直接教示装置。
A manual operation amount calculation unit that calculates an operation amount by an operator for the arm,
The restraint control adjustment section adjusts the movement speed of the arm based on the calculation result of the manual operation amount calculation section. direct teaching device.
操作者からの入力を受付ける入力部を備え、
前記拘束制御調整部は、前記入力部による受付け結果に基づいて、前記アームの動きの速さを調整する
ことを特徴とする請求項1から請求項3のうちの何れか1項記載の直接教示装置。
An input unit for receiving input from an operator,
4. The direct teaching according to any one of claims 1 to 3, wherein the constraint control adjusting section adjusts the speed of movement of the arm based on a result received by the input section. Device.
外力検知部が、ロボットが有するアームに加えられた外力を検知するステップと、
従動制御演算部が、前記外力検知部により検知された外力に従う前記アームの動きを算出するステップと、
位置姿勢演算部が、前記アームの位置又は姿勢のうちの少なくとも一方である位置姿勢の現在値又は予測値を算出するステップと、
目標値算出部が、拘束目標及び前記位置姿勢演算部による算出結果に基づいて、拘束制御の目標値を算出するステップと、
拘束制御演算部が、前記位置姿勢演算部による算出結果に基づいて、前記目標値算出部により算出された目標値へと移動する前記アームの動きを算出するステップと、
拘束制御調整部が、前記拘束制御演算部により算出されたアームの動きの速さを連続的又は少なくとも3段階以上に段階的に調整可能とするステップと、
合成部が、前記従動制御演算部による算出結果と前記拘束制御演算部による算出結果とを合成するステップと、
駆動制御部が、前記合成部による合成結果に基づいて前記アームを駆動するステップと
を有する直接教示方法。
an external force detection unit detecting an external force applied to an arm of the robot;
a step in which a driven control calculation unit calculates the movement of the arm according to the external force detected by the external force detection unit;
a position and orientation calculation unit calculating a current value or a predicted value of the position and orientation, which is at least one of the position and orientation of the arm;
a target value calculation unit calculating a target value for constraint control based on a constraint target and a calculation result by the position and orientation calculation unit;
a step of calculating, by a constraint control calculation unit, the movement of the arm moving to the target value calculated by the target value calculation unit, based on the calculation result by the position/orientation calculation unit;
a step in which the constraint control adjustment unit is capable of adjusting the speed of the arm movement calculated by the constraint control calculation unit continuously or in steps of at least three steps;
a combining unit combining a calculation result by the driven control calculation unit and a calculation result by the constraint control calculation unit;
A direct teaching method comprising: a drive control unit driving the arm based on the result of synthesis by the synthesis unit.
JP2021010722A 2021-01-27 2021-01-27 Direct teaching device and direct teaching method for robot Withdrawn JP2022114472A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2021010722A JP2022114472A (en) 2021-01-27 2021-01-27 Direct teaching device and direct teaching method for robot
CN202210025748.1A CN114800437A (en) 2021-01-27 2022-01-11 Direct teaching device and direct teaching method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2021010722A JP2022114472A (en) 2021-01-27 2021-01-27 Direct teaching device and direct teaching method for robot

Publications (1)

Publication Number Publication Date
JP2022114472A true JP2022114472A (en) 2022-08-08

Family

ID=82527377

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021010722A Withdrawn JP2022114472A (en) 2021-01-27 2021-01-27 Direct teaching device and direct teaching method for robot

Country Status (2)

Country Link
JP (1) JP2022114472A (en)
CN (1) CN114800437A (en)

Also Published As

Publication number Publication date
CN114800437A (en) 2022-07-29

Similar Documents

Publication Publication Date Title
JP5129415B2 (en) ROBOT, ROBOT CONTROL DEVICE, CONTROL METHOD, AND CONTROL PROGRAM
US8423188B2 (en) Control apparatus and control method for robot arm, robot, control program for robot arm, and integrated electronic circuit
JP5893666B2 (en) Robot control device and robot system for robots that move according to force
WO2013038544A1 (en) Robotic system and robot controller
JP5946859B2 (en) Robot control device and robot system for robots that move according to force
JP2016519813A (en) 3D input device with complementary rotation controller
EP1795315A1 (en) Hand-held control device for an industrial robot
JP2020171989A (en) Robot teaching system
JPH05158514A (en) Controller for robot
JP4842561B2 (en) Force controller device
CN112118940B (en) Direct teaching device and direct teaching method for manipulator
JP2022114472A (en) Direct teaching device and direct teaching method for robot
KR101417485B1 (en) Robot handle unit and method for controlling the same
JP2005154047A (en) Power assist device
JP6322948B2 (en) Robot control apparatus, robot system, robot, robot control method, and program
US20220193906A1 (en) User Interface for Supervised Autonomous Grasping
JPH05303425A (en) Direct teaching type robot
JPH0693209B2 (en) Robot's circular interpolation attitude control device
JP7095944B2 (en) Robot direct teaching device and direct teaching method
JPH1158278A (en) Control device for robot
JP2003062775A (en) Teaching system for human hand type robot
JP4232196B2 (en) Robot direct teaching device and robot system
JP2009012133A (en) Safety apparatus and manipulator equipped with the same
JPH07200018A (en) Controller for robot
JP2022174858A (en) Direct teaching device and direct teaching method

Legal Events

Date Code Title Description
A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20230726