JP4287242B2 - Robot hand control device - Google Patents
Robot hand control device Download PDFInfo
- Publication number
- JP4287242B2 JP4287242B2 JP2003365581A JP2003365581A JP4287242B2 JP 4287242 B2 JP4287242 B2 JP 4287242B2 JP 2003365581 A JP2003365581 A JP 2003365581A JP 2003365581 A JP2003365581 A JP 2003365581A JP 4287242 B2 JP4287242 B2 JP 4287242B2
- Authority
- JP
- Japan
- Prior art keywords
- rotation angle
- target rotation
- final target
- difference
- finger
- 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.)
- Expired - Fee Related
Links
- 210000001145 finger joint Anatomy 0.000 claims description 48
- 230000009467 reduction Effects 0.000 claims description 21
- 230000008859 change Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 4
- 210000003811 finger Anatomy 0.000 description 90
- 238000000034 method Methods 0.000 description 27
- 230000008569 process Effects 0.000 description 27
- 238000001514 detection method Methods 0.000 description 15
- 210000001503 joint Anatomy 0.000 description 13
- 230000007246 mechanism Effects 0.000 description 12
- 239000003638 chemical reducing agent Substances 0.000 description 6
- 230000008878 coupling Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 4
- 238000005859 coupling reaction Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 210000004247 hand Anatomy 0.000 description 2
- 210000003813 thumb Anatomy 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 210000004932 little finger Anatomy 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
Images
Description
この発明は、ロボットハンドの制御装置に関する。 The present invention relates to a control device for a robot hand.
従来のロボットハンドの制御装置にあっては、一般に、ハンドに設けられた指部の手の平側あるいは指先に接触センサや力センサを配置し、その検出値に基づいて対象物を把持したか否か判定して指関節の回転角度(関節角度)を制御するようにしている(例えば特許文献1から3参照)。
しかしながら、従来技術のように指部の手の平側あるいは指先に接触センサや力センサを配置すると、構成が複雑になり、ハンドの大型化や重量の増加を伴うという不具合があった。 However, when a contact sensor or a force sensor is arranged on the palm side or fingertip of the finger as in the prior art, there is a problem that the configuration becomes complicated and the hand is increased in size and weight.
また、使用環境が限られている設置型の産業用ロボットなどに搭載されるロボットハンドにあっては、通常、作業領域内における対象物の予期しない位置変化がほとんど生じないため、ハンドの開き動作を行っているときに指部が対象物に接触する可能性は低い。一方、自律歩行が可能なヒューマノイド型ロボットなどに搭載されるロボットハンドにあっては、使用環境が多岐にわたり、例えば人の生活環境内で共存する場合には、作業領域内における対象物の位置が不規則に変化する可能性がある。このため、ヒューマノイド型ロボットなどに搭載されるロボットハンドにあっては、把持動作を行っているときの指部と対象物の接触の有無のみならず、開き動作を行っているときの指部と対象物の接触の有無も判定できることが望ましい。 In addition, in robot hands mounted on installation type industrial robots, etc., where the usage environment is limited, the position of the object in the work area usually hardly changes. There is a low possibility that the finger part will come into contact with the object when performing the operation. On the other hand, a robot hand mounted on a humanoid robot capable of autonomous walking has a wide range of usage environments. For example, if the robot hand coexists in a human living environment, the position of the object in the work area is It may change irregularly. For this reason, in a robot hand mounted on a humanoid robot or the like, not only the presence of contact between a finger and a target when performing a gripping operation, but also a finger when performing an opening operation It is desirable that the presence or absence of contact with the object can also be determined.
しかしながら、上記した従来技術にあっては、指部の手の平側あるいは指先に接触センサや力センサを配置していたため、開き動作を行っているときの指部と対象物の接触の有無を判定することができなかった。尚、開き動作を行っているときの指部と対象物の接触の有無を判定するために、指部の手の甲側に接触センサなどを配置すると、構成がより複雑となって上記した不具合がより顕著になるのは言うまでもない。 However, in the above-described prior art, since the contact sensor and the force sensor are arranged on the palm side of the finger part or the fingertip, it is determined whether or not the finger part is in contact with the object during the opening operation. I couldn't. In addition, if a contact sensor or the like is arranged on the back side of the hand of the finger part in order to determine whether or not the finger part is in contact with the object when the opening operation is performed, the configuration becomes more complicated and the above-described problems are more likely to occur. Needless to say, it becomes prominent.
従って、この発明の目的は上記した課題を解決することにあり、把持動作を行ったときの指部と対象物の接触の有無、および開き動作を行ったときの指部と対象物の接触の有無を簡素な構成で判定し、よってハンドの大型化や重量の増加を防止するようにしたロボットハンドの制御装置を提供することにある。 Accordingly, an object of the present invention is to solve the above-described problem, and whether or not the finger part and the object are in contact with each other when the gripping operation is performed, and the contact between the finger part and the object when the opening operation is performed. An object of the present invention is to provide a control device for a robot hand that determines presence / absence with a simple configuration and thus prevents an increase in the size and weight of the hand.
上記の第1の目的を達成するために、請求項1にあっては、複数個の指リンクと、それらを連接する指関節とからなる指部を備えると共に、前記指関節をその関節軸回りに回転させて前記連接された指リンクの相対角度を変化させるアクチュエータと、前記指関節の回転角度(関節角度)を検出する回転角度検出手段と、外部指令に応じて前記指関節の最終目標回転角度を決定する最終目標回転角度決定手段と、前記最終目標回転角度と前記検出された回転角度とに基づいて、前記回転角度が前記最終目標回転角度に向けて誘導されるように、前記指関節の中間目標回転角度を算出する中間目標回転角度算出手段と、および前記中間目標回転角度に基づいて前記アクチュエータの駆動を制御する制御手段と、を備えたロボットハンドの制御装置であって、前記中間目標回転角度と前記検出された回転角度の差分たる第1の差分を算出する第1の差分算出手段と、前記最終目標回転角度と前記検出された回転角度の差分たる第2の差分を算出する第2の差分算出手段と、前記第1の差分および前記第2の差分のそれぞれが所定範囲内にあるか否か判断する判断手段と、および前記第1の差分および前記第2の差分が共に前記所定範囲内にないと判断されたとき、前記回転角度が前記最終目標回転角度に到達する前に前記指部が対象物に接触したと判定する判定手段と、を備えると共に、前記最終目標回転角度決定手段は、前記回転角度が前記最終目標回転角度に到達する前に前記指部が対象物に接触したと判定されたとき、前記最終目標回転角度を前記回転角度に修正すると共に、前記最終目標回転角度が前記回転角度に修正されてから所定時間経過したとき、前記修正された最終目標回転角度を前記外部指令に応じて設定される最終目標回転角度に復帰させるように構成した。
In order to achieve the first object described above, according to
また、請求項2にあっては、前記判定手段は、前記第1の差分および前記第2の差分が共に前記所定範囲内にあると判断されたとき、前記指関節の回転角度が前記最終目標回転角度まで到達したと判定すると共に、前記最終目標回転角度決定手段は、前記指関節が前記最終目標回転角度まで到達したと判定されたとき、前記最終目標回転角度を保持するように構成した。 According to a second aspect of the present invention, when the determination unit determines that both the first difference and the second difference are within the predetermined range, the rotation angle of the finger joint is set to the final target. The final target rotation angle determination means is configured to hold the final target rotation angle when it is determined that the finger joint has reached the final target rotation angle.
また、請求項3にあっては、前記判定手段は、前記第1の差分が前記所定範囲内にあり、かつ前記第2の差分が前記所定範囲外にあると判断されたとき、前記指関節が前記最終目標回転角度に向けて回転させられていると判定すると共に、前記最終目標回転角度決定手段は、前記指関節が前記最終目標回転角度に向けて回転させられていると判定されたとき、前記最終目標回転角度を保持するように構成した。 According to a third aspect of the present invention, when the determination unit determines that the first difference is within the predetermined range and the second difference is outside the predetermined range, the finger joints Is determined to be rotated toward the final target rotation angle, and the final target rotation angle determination means determines that the finger joint is rotated toward the final target rotation angle. The final target rotation angle is maintained.
また、請求項4にあっては、前記アクチュエータが電動モータであると共に、前記制御手段は、前記判定手段によって前記最終目標回転角度が前記外部指令に応じて設定される最終目標回転角度に復帰させられたとき、消費電力の低減が可能な所定のデューティ比で前記電動モータに電流を供給するように構成した。 According to a fourth aspect of the present invention, the actuator is an electric motor, and the control means causes the determination means to return the final target rotation angle to a final target rotation angle set according to the external command. when I et been, and configured to supply current to the electric motor in the low power consumption is a predetermined duty ratio possible.
請求項1に係るロボットハンドの制御装置にあっては、複数個の指リンクと、それらを連接する指関節とからなる指部を備えると共に、前記指関節をその関節軸回りに回転させて前記連接された指リンクの相対角度を変化させるアクチュエータと、前記指関節の回転角度を検出する回転角度検出手段と、外部指令に応じて前記指関節の最終目標回転角度を決定する最終目標回転角度決定手段と、前記最終目標回転角度と前記検出された回転角度とに基づいて、前記回転角度が前記最終目標回転角度に向けて誘導されるように、前記指関節の中間目標回転角度を算出する中間目標回転角度算出手段と、および前記中間目標回転角度に基づいて前記アクチュエータの駆動を制御する制御手段と、を備えたロボットハンドの制御装置であって、前記中間目標回転角度と前記検出された回転角度の差分たる第1の差分を算出する第1の差分算出手段と、前記最終目標回転角度と前記検出された回転角度の差分たる第2の差分を算出する第2の差分算出手段と、前記第1の差分および前記第2の差分のそれぞれが所定範囲内にあるか否か判断する判断手段と、および前記第1の差分および前記第2の差分が共に前記所定範囲内にないと判断されたとき、前記回転角度が前記最終目標回転角度に到達する前に前記指部が対象物に接触したと判定する判定手段と、を備えると共に、前記最終目標回転角度決定手段は、前記回転角度が前記最終目標回転角度に到達する前に前記指部が対象物に接触したと判定されたとき、前記最終目標回転角度を前記回転角度に修正すると共に、前記最終目標回転角度が前記回転角度に修正されてから所定時間経過したとき、前記修正された最終目標回転角度を前記外部指令に応じて設定される最終目標回転角度に復帰させるように構成したので、把持動作を行ったときの指部と対象物の接触の有無、および開き動作を行ったときの指部と対象物の接触の有無を簡素な構成で(専用のセンサを設けることなく)判定することができ、よってハンドの大型化や重量の増加を防止することができる。また、その判定結果に基づいて最終目標回転角度を修正することで、対象物の破損やハンドの駆動系の損傷を防止することができる。
In the robot hand control apparatus according to
また、請求項2に係るロボットハンドの制御装置にあっては、前記判定手段は、前記第1の差分および前記第2の差分が共に前記所定範囲内にあると判断されたとき、前記指関節の回転角度が前記最終目標回転角度まで到達したと判定すると共に、前記最終目標回転角度決定手段は、前記指関節が前記最終目標回転角度まで到達したと判定されたとき、前記最終目標回転角度を保持するように構成したので、上記した効果に加え、操作者は指部と対象物の接触の有無に応じてハンドの動作指示を変更する必要がなく、よって操作者の負担を軽減させることができる。 Further, in the robot hand control device according to claim 2, when the determination unit determines that the first difference and the second difference are both within the predetermined range, the finger joint And the final target rotation angle determination means determines the final target rotation angle when it is determined that the finger joint has reached the final target rotation angle. In addition to the above-described effects, the operator does not need to change the operation instruction of the hand according to the presence or absence of contact between the finger part and the object, thus reducing the burden on the operator. it can.
また、請求項3に係るロボットハンドの制御装置にあっては、前記判定手段は、前記第1の差分が前記所定範囲内にあり、かつ前記第2の差分が前記所定範囲外にあると判断されたとき、前記指関節が前記最終目標回転角度に向けて回転させられていると判定すると共に、前記最終目標回転角度決定手段は、前記指関節が前記最終目標回転角度に向けて回転させられていると判定されたとき、前記最終目標回転角度を保持するように構成したので、上記した効果に加え、操作者は指部と対象物の接触の有無に応じてハンドの動作指示を変更する必要がなく、よって操作者の負担を軽減させることができる。 In the robot hand control device according to claim 3, the determination unit determines that the first difference is within the predetermined range and the second difference is outside the predetermined range. When determined, the finger joint is determined to be rotated toward the final target rotation angle, and the final target rotation angle determination means is configured to rotate the finger joint toward the final target rotation angle. Since it is configured to hold the final target rotation angle when it is determined that the user is moving, in addition to the above-described effects, the operator changes the operation instruction of the hand according to the presence or absence of contact between the finger part and the object. This is unnecessary, and thus the burden on the operator can be reduced.
また、請求項1の効果について付言すると、前記第1の差分および前記第2の差分が共に前記所定範囲内にないと判断されたとき、前記回転角度が前記最終目標回転角度に到達する前に前記指部が対象物に接触したと判定すると共に、前記最終目標回転角度決定手段は、前記検出された回転角度が前記最終目標回転角度に到達する前に前記指部が対象物に接触したと判定されたとき、前記最終目標回転角度を前記検出された回転角度に修正すると共に、前記最終目標回転角度が前記回転角度に修正されてから所定時間経過したとき、前記修正された最終目標回転角度を前記外部指令に応じて設定される最終目標回転角度に復帰させるように構成したので、操作者は指部と対象物の接触の有無に応じてハンドの動作指示を変更する必要がなく、よって操作者の負担を軽減させることができる。
Also, when an additional note the effect of
また、請求項4に係るロボットハンドの制御装置にあっては、前記アクチュエータが電動モータであると共に、前記制御手段は、前記判定手段によって前記最終目標回転角度が前記外部指令に応じて設定される最終目標回転角度に復帰させられたとき、消費電力の低減が可能な所定のデューティ比で前記電動モータに電流を供給するように構成したので、上記した効果に加え、対象物の把持を継続するときの消費電力を低減することができると共に、電動モータへの負担を軽減することができる。 In the robot hand control device according to claim 4 , the actuator is an electric motor, and the control means sets the final target rotation angle according to the external command by the determination means. when were found to return to the final target rotation angle, the so constructed as to supply current to the electric motor at a predetermined duty ratio that can reduce power consumption, in addition to the effects mentioned above, continue to grip the object It is possible to reduce the power consumption when doing and to reduce the burden on the electric motor.
以下、添付図面に即してこの発明に係るロボットハンドの制御装置を実施するための最良の形態について説明する。 The best mode for carrying out the robot hand control apparatus according to the present invention will be described below with reference to the accompanying drawings.
図1は、この発明に係るロボットハンドの制御装置が搭載されるロボットの正面図であり、図2はその右側面図である。 FIG. 1 is a front view of a robot on which a control device for a robot hand according to the present invention is mounted, and FIG. 2 is a right side view thereof.
図1に示すように、ロボット10は、2本の脚部12を備えると共に、その上方には上体(基体)14が設けられる。上体14のさらに上方には頭部16が形成されると共に、上体14の両側には2本の腕部18が連結される。左右の腕部18の先端にはハンド(ロボットハンド)20が連結される。また、図2に示すように、上体14の背部には格納部22が設けられ、その内部にはECU(電子制御ユニット)24やバッテリ26などが収容される。
As shown in FIG. 1, the
尚、ロボット10は、左右の脚部12のそれぞれについて6つの自由度を与えられ、これら6×2=12個の関節を駆動する電動モータをECU24で算出された制御値に基づいて動作させることにより、足全体に所望の動きを与えることができ、ロボット10を任意に3次元空間を移動させることができる。また、左右の腕部18のそれぞれについても5つの自由度を与えられ、これら5×2=10個の関節を駆動する電動モータをECU24で算出された制御値に基づいて動作させることにより、腕部全体に所望の動きを与えることができる。さらに、左右のハンド20のそれぞれについても、後述の如く14つの自由度を与えられ、これら14×2=28個の関節を駆動する電動モータをECU24で算出された制御値に基づいて動作させることにより、ハンド20に把持などの所望の動きを与えることができる。このように、ロボット10は、人の形状を模した自律歩行が可能なヒューマノイド型ロボットである。
The
図3は、ハンド20を手の平側から見た平面図である。
FIG. 3 is a plan view of the
図3に示す如く、ハンド20は、手掌部30と、手掌部30に接続された第1から第5の指部32〜40とから構成される。第1から第5の指部32〜40は、それぞれ人の手の親指、人差し指、中指、薬指および小指に相当する。
As shown in FIG. 3, the
手掌部30は、手の平側の面を形成する手の平形成部材42と、手の甲側の面を形成する手の甲形成部44とからなり、その基端部は、前記した腕部18に接続される
The
第1から第5の各指部は、複数個の指リンクと、それらを連接する指関節とからなる。具体的に説明すると、第1の指部32(親指)は、末節リンク32aと、基節リンク32bと、それらを接続する第1関節32Aと、基節リンク32bを手掌部30に固定された
中手リンク32cに接続する第2関節32Bとからなる。また、第2の指部34(人差し指)は、末節リンク34aと、中節リンク34bと、基節リンク34cと、末節リンク34aと中節リンク34bを接続する第1関節34Aと、中節リンク34bと基節リンク34cを接続する第2関節34Bと、基節リンク34cを手掌部30に固定された中手リンク34dに接続する第3関節34Cとからなる。尚、第3の指部36、第4の指部38および第5の指部40は、第2の指部34と同様に構成される。
Each of the first to fifth finger parts includes a plurality of finger links and a finger joint connecting them. Specifically, the first finger part 32 (thumb) is fixed to the
図4は、第2の指部34の分解斜視図である。
FIG. 4 is an exploded perspective view of the
図4に示す如く、中手リンク34dには、第1の電動モータ(アクチュエータ。具体的には、ステッピングモータ)34d1と、その出力を減速する遊星歯車減速機などからなる第1の減速機構34d2と、第3関節34Cの回転角度(関節角度)を検出する第1のエンコーダ34d3とが配置される。第1の電動モータ34d1の出力軸と、第1の減速機構34d2の入力軸と、第1のエンコーダ34d3の回転軸は、第1のベルト34d4を介して接続される。
As shown in FIG. 4, the
第1の減速機構34d2の回転出力部34d5には、結合部34d6が設けられる。結合部34d6は、図示しないボルトによって基節リンク34cに固定される。このように、中手リンク34dと基節リンク34cは、第3関節34Cの関節軸34CS(第1の減速機構34d2の出力軸)を介して相対角度変化自在に連結される。
The rotation output portion 34d5 of the first reduction mechanism 34d2 is provided with a coupling portion 34d6. The coupling portion 34d6 is fixed to the
また、基節リンク34cには、第2の電動モータ(アクチュエータ。具体的には、ステッピングモータ)34c1と、その出力を減速する遊星歯車減速機などからなる第2の減速機構34c2と、第2関節34Bの回転角度(関節角度)を検出する第2のエンコーダ34c3とが配置される。第2の電動モータ34c1の出力軸と、第2の減速機構34c2の入力軸と、第2のエンコーダ34c3の回転軸は、第2のベルト34c4を介して接続される。
Further, the
第2の減速機構34c2の回転出力部34c5には、結合部34c6が設けられる。結合部34c6は、図示しないボルトによって中節リンク34bに固定される。このように、基節リンク34cと中節リンク34bは、第2関節34Bの関節軸34BS(第2の減速機構34c2の出力軸)を介して相対角度変化自在に連結される。
The rotation output portion 34c5 of the second reduction mechanism 34c2 is provided with a coupling portion 34c6. The coupling portion 34c6 is fixed to the
また、中節リンク34bには、第3の電動モータ(アクチュエータ。具体的には、ステッピングモータ)34b1と、その出力を減速する遊星歯車減速機などからなる第3の減速機構34b2と、第1関節34Aの回転角度(関節角度)を検出する第3のエンコーダ34b3とが配置される。第3の電動モータ34b1の出力軸と、第3の減速機構34b2の入力軸と、第3のエンコーダ34b3の回転軸は、第3のベルト34b4を介して接続される。
Further, the
第3の減速機構34b2の回転出力部34b5には、ピン孔34b6が穿設される。末節リンク34aには、前記ピン孔34b6に対応するピン孔34a1が穿設され、それらに図示しないピンを挿通することにより、中節リンク34bと末節リンク34aが連結される。
A pin hole 34b6 is formed in the rotation output portion 34b5 of the third reduction mechanism 34b2. A pin hole 34a1 corresponding to the pin hole 34b6 is formed in the
また、中節リンク34bと末節リンク34aは、さらにアーム34a2を介して接続される。アーム34a2は、その一端が末節リンク34aの適宜位置に回転自在に取り付けられる一方、他端が中節リンク34bの適宜位置に回転自在に取り付けられ、第2の指部34の長手方向に対して傾斜した姿勢で配置される。
The
このように、中節リンク34bと末節リンク34aは、第1関節34Aを構成する二つの関節軸34AS1(第3の減速機構34b2の出力軸)と34AS2(ピン孔34b6,34a1の中心軸)を介して相対角度変化自在に接続される。尚、末節リンク34aの先端には、高い柔軟性と摩擦係数を備えた指先部34a3が取り付けられる。
As described above, the middle
第1の電動モータ34d1の回転出力は、第1のベルト34d4を介して第1の減速装置34d2に伝達され、よって第3関節34Cがその関節軸34CS回りに回転されて基節リンク34cと中手リンク34dの相対角度が変化される。また、第2の電動モータ34c1の回転出力は、第2のベルト34c4を介して第2の減速装置34c2に伝達され、よって第2関節34Bがその関節軸34BS回りに回転されて中節リンク34bと基節リンク34cの相対角度が変化される。
The rotation output of the first electric motor 34d1 is transmitted to the first speed reduction device 34d2 via the first belt 34d4, so that the third joint 34C is rotated around its joint axis 34CS, and the
また、第3の電動モータ34b1の回転出力は、第3のベルト34b4を介して第3の減速装置34b2に伝達され、よって第1関節34Aが一方の関節軸34AS1回りに回転されて末節リンク34aと中節リンク34bの相対角度が変化される。このとき、前記したアーム34a2の作用により、末節リンク34aと中節リンク34bは他方の関節軸34AS2回りにさらに相対角度が変化される。即ち、第1関節34Aの回転角度は、二つの関節軸34AS1と34AS2の回転角度の合算値となる。
Further, the rotational output of the third electric motor 34b1 is transmitted to the third reduction gear 34b2 via the third belt 34b4, so that the first joint 34A is rotated around the one joint shaft 34AS1 and the
第3の指部36、第4の指部38および第5の指部40も、第2の指部34と同様に構成され、それぞれの指部に3個ずつ配置された電動モータ(図示せず)を駆動することにより、第1から第3関節をそれらの関節軸回りに回転させて各リンクの相対角度を変化させる。また、第1の指部32は、第3関節と中節リンク(そこに配置される電動モータ、減速装置、エンコーダを含む)を備えないことを除いて第2の指部34と同様に構成され、中手リンク32aと基節リンク32bに配置された2個の電動モータ(図示せず)を駆動することにより、第1および第2関節を回転させて各リンクの相対角度を変化させる。
The
以上のように、この実施例に係るハンド20にあっては、各指部に3個あるいは2個ずつ配置された電動モータを駆動することにより、各指部を屈曲・伸展させ、対象物の把持動作などを行うことができる。
As described above, in the
次いで、図5以降を参照してこの発明に係るロボットハンドの制御装置の動作について説明する。 Next, the operation of the robot hand control apparatus according to the present invention will be described with reference to FIG.
図5は、その動作を機能的に示すブロック図である。図5に示す如く、コントローラ50を介して操作者から入力されたハンド20の動作指示(外部入力)に応じた指関節の指示回転角度θouter_input[rad]は、最終目標回転角度決定部52に入力される。尚、コントローラ50は、ロボット10と離間した位置に配置されると共に、有線あるいは無線を介してECU24と通信自在に構成される。
FIG. 5 is a block diagram functionally showing the operation. As shown in FIG. 5, the finger joint instruction rotation angle θouter_input [rad] corresponding to the operation instruction (external input) of the
最終目標回転角度決定部52は、入力された指示回転角度θouter_inputと後述する各値に基づいて最終目標回転角度θaim[rad](最終的に目標とすべき指部の回転角度(関節角度))を決定し、ランプ波軌道生成部54に出力する。ランプ波軌道生成部54は、入力された最終目標回転角度θaimなどに基づいて微小間隔毎の目標回転角度θcmd_ramp[rad]を生成する。ここで、「微小間隔」とは、制御周期を意味し、この実施例にあっては5msecとする。尚、最終目標回転角度決定部52およびランプ波軌道生成部54の処理は、後に詳説する。
The final target rotation
ランプ波軌道生成部54から出力された目標回転角度θcmd_rampは、第1のフィルタ56および第2のフィルタ58(一次遅れ要素)を介してフィルタ通過後目標回転角度θcmd[rad](前記した中間目標回転角度。具体的には、最終目標回転角度θaimに向けて指部の回転角度を誘導する、中間的な目標回転角度(関節角度))に変換される。そして、減算器60において、フィルタ通過後目標回転角度θcmdから前記したエンコーダによって検出された指関節の検出回転角度θact[rad]を減算した後、乗算器62で位置ゲインKp[1/sec]を乗算し、さらに加算器64で速度FF(フィードフォワード)回転角速度ωff[rad/sec](後述)を加算することにより、目標回転角速度ωcmd[rad/sec]が算出される。目標回転角速度ωcmdは、図示しないモータドライバに入力され、モータドライバは、入力された目標回転角速度ωcmdに応じた電流を前記した電動モータに供給する。
The target rotation angle θcmd_ramp output from the ramp wave
また、フィルタ通過後目標回転角度θcmdは、前回値保存部66に入力され、前回目標回転角度θcmd_p[rad]として保存される。保存された前回目標回転角度θcmd_pは、外部入力に応じた回転角速度リミットωlim[rad/sec]と前記した最終目標回転角度θaimと共にランプ波軌道生成部54に入力される。
Further, the post-filter target rotation angle θcmd is input to the previous
ランプ波軌道生成部54は、上記した各入力値に基づいて前記した目標回転角度θcmd_rampを算出する。具体的には、先ず、目標回転角度θcmd_rampに最終目標回転角度θaimを代入する。そして、下記の式1に従って回転角速度ωを算出する。尚、式1でDELTA_Tは制御周期(微小期間)を意味し、この実施例においては、5[msec]に設定される。
ω=(θcmd_ramp−θcmd_p)/DELTA_T 式1
The ramp
ω = (θcmd_ramp−θcmd_p) /
次いで、回転角速度ωのリミットチェックを行う。具体的には、回転角速度ωが回転角速度リミットωlimの範囲内にあるか否か判断し、範囲内にあるときは回転角速度ωの算出値を保持し、範囲外にあるときは回転角速度ωに回転角速度リミットωlimを代入する。そして、回転角速度ωと前回目標回転角度θcmd_pとに基づき、下記の式2に従って目標回転角度θcmd_rampを算出する。
θcmd_ramp=θcmd_p+ω×DELTA_T 式2
Next, a limit check of the rotational angular velocity ω is performed. Specifically, it is determined whether or not the rotational angular velocity ω is within the range of the rotational angular velocity limit ωlim. When the rotational angular velocity ω is within the range, the calculated value of the rotational angular velocity ω is retained, and when it is out of the range, Substitute the rotation angular velocity limit ωlim. Then, based on the rotation angular velocity ω and the previous target rotation angle θcmd_p, the target rotation angle θcmd_ramp is calculated according to the following equation 2.
θcmd_ramp = θcmd_p + ω × DELTA_T Equation 2
また、前回目標回転角度θcmd_pは、前記したフィルタ通過後目標回転角度θcmdと共に速度FF(フィードフォワード)回転角速度計算部68にも入力される。速度FF回転角速度計算部68は、下記の式3に従って前記した速度FF回転角速度ωffを算出する。
ωff=(θcmd−θcmd_p)/DELTA_T 式3
The previous target rotation angle θcmd_p is also input to the speed FF (feed forward) rotation
ωff = (θcmd−θcmd_p) / DELTA_T Equation 3
尚、図5において、コントローラ50、電動モータおよびエンコーダ以外は、全てECU24の内部構成を示す。
In FIG. 5, the internal configuration of the
また、前回目標回転角度θcmd_pは、最終目標回転角度決定部52にも入力される。最終目標回転角度決定部52は、さらに検出回転角度θactが入力され、各入力値に基づいて前記した最終目標回転角度θaimを決定する。
The previous target rotation angle θcmd_p is also input to the final target rotation
図6および図7は、最終目標回転角度決定部52における最終目標回転角度θaimの修正処理を示すフローチャートである。図示のプログラムは、ECU24において前記した制御周期(5msec)ごとに実行される。
FIGS. 6 and 7 are flowcharts showing the final target rotation angle θaim correction process in the final target rotation
以下、図6および図7を参照してかかる処理について説明すると、先ず、S10において、第1のタイマservo_timeの値が0を超えているか否か判断する。尚、第1のタイマservo_timeは、このフローチャートの最後のステップでカウントアップされる。即ち、S10での判断は、図示のプログラム(最終目標回転角度θaimの修正処理)の実行が初めてでないか否か判断することに相当する。 Hereinafter, the processing will be described with reference to FIGS. 6 and 7. First, in S10, it is determined whether or not the value of the first timer servo_time exceeds zero. Note that the first timer servo_time is counted up at the last step of this flowchart. That is, the determination in S10 corresponds to determining whether or not the illustrated program (the process of correcting the final target rotation angle θaim) is not the first time.
S10で否定されるときは、次いでS12に進み、ハンド20の動作状態を示すステータスstatusをREACH(後述)に設定し、S14に進んでステータスstatusを前回値(以下「前回ステータスstatus_p」という)として保存する。尚、S10で肯定されたときは、前回のプログラム実行時において後述するステップで設定されたステータスstatusを、前回ステータスstatus_pとして保存する。
When the result in S10 is negative, the process proceeds to S12, where the status status indicating the operating state of the
次いでS16に進み、前回目標回転角度θcmd_pから検出回転角度θactを減算し、第1の差分Δθ1[rad]を算出する。そして、さらにS18に進み、最終目標回転角度θaimから検出回転角度θactを減算し、第2の差分Δθ2[rad]を算出する。尚、最終目標回転角度θaimの初期値は、指示回転角度θouter_inputとされる。 Next, in S16, the detected rotation angle θact is subtracted from the previous target rotation angle θcmd_p to calculate the first difference Δθ1 [rad]. Then, the process further proceeds to S18, where the detected rotation angle θact is subtracted from the final target rotation angle θaim to calculate the second difference Δθ2 [rad]. Note that the initial value of the final target rotation angle θaim is the instruction rotation angle θouter_input.
次いでS20に進み、第1の差分Δθ1の絶対値がロック検出角度detect_th[rad](例えば0.01[rad](約0.6[deg]))以下か否か、換言すれば、第1の差分Δθ1が、所定範囲内(プラス・マイナスdetect_th内)にあるか否か判断する。ここで、ロック検出角度detect_thは、図8に示すように、回転各速度リミットωlimが大きくなるに従って大きな値となるように設定される。 Next, in S20, whether or not the absolute value of the first difference Δθ1 is equal to or smaller than the lock detection angle detect_th [rad] (for example, 0.01 [rad] (about 0.6 [deg])), in other words, the first difference. It is determined whether or not the difference Δθ1 is within a predetermined range (within plus / minus detect_th). Here, as shown in FIG. 8, the lock detection angle detect_th is set so as to increase as the rotational speed limit ωlim increases.
S20で肯定されて前回目標回転角度θcmd_pと検出回転角度θactの差分たる第1の差分Δθ1が所定範囲内にある、換言すれば、前回目標回転角度θcmd_pに検出回転角度θactが追従していると判断されるときは、次いでS22に進み、第2の差分Δθ2の絶対値が前記したロック検出角度detect_th以下か否か、換言すれば、第2の差分Δθ2が、所定範囲内(プラス・マイナスdetect_th内)にあるか否か判断する。 Affirmative in S20, the first difference Δθ1 that is the difference between the previous target rotation angle θcmd_p and the detected rotation angle θact is within the predetermined range, in other words, the detected rotation angle θact follows the previous target rotation angle θcmd_p. When the determination is made, the process proceeds to S22, and whether or not the absolute value of the second difference Δθ2 is equal to or smaller than the lock detection angle detect_th, in other words, the second difference Δθ2 is within a predetermined range (plus / minus detect_th). In).
S22で肯定されて最終目標回転角度θaimと検出回転角度θactの差分たる第2の差分Δθ2が所定範囲内にあると判断されるときは、次いでS24に進み、第1のカウンタreach_cntの値を1つインクリメントし、さらにS26に進んで第1のカウンタreach_cntの値が所定値detect_cnt(例えば3)を超えたか否か判断する。 When the result in S22 is affirmative and it is determined that the second difference Δθ2 that is the difference between the final target rotation angle θaim and the detected rotation angle θact is within the predetermined range, the process proceeds to S24, and the value of the first counter reach_cnt is set to 1. In step S26, it is determined whether or not the value of the first counter reach_cnt exceeds a predetermined value detect_cnt (for example, 3).
S26で否定されるときはS28に進んで前回ステータスstatus_pを今回値とする(前回ステータスstatus_pを保持する)一方、S26で肯定されるときは次いでS30に進み、検出回転角度θactが最終目標回転角度θaimに到達したと判定してステータスstatusをREACHに設定する。即ち、ステータスstatusが「REACH」であるということは、検出回転角度θactが最終目標回転角度θaimに到達したことを意味する。そして、さらにS32に進んで第1のカウンタreach_cntと、第2のカウンタmove_cnt(後述)と、第3のカウンタlock_cnt(後述)の値を全て0にリセットする。 When the result in S26 is negative, the process proceeds to S28, where the previous status status_p is set to the current value (the previous status status_p is held). When the result is S26, the process proceeds to S30, where the detected rotation angle θact is the final target rotation angle. It is determined that θaim has been reached and the status status is set to REACH. That is, the status “REACH” means that the detected rotation angle θact has reached the final target rotation angle θaim. Then, the process proceeds to S32, and the values of the first counter reach_cnt, the second counter move_cnt (described later), and the third counter lock_cnt (described later) are all reset to zero.
このように、この実施例にあっては、検出回転角度θactが前回目標回転角度θcmd_pおよび最終目標回転角度θaimに近似した(即ち、第1の差分Δθ1と第2の差分Δθ2が共に所定範囲内(プラス・マイナスdetect_th内)にある)状態が所定時間継続したとき(第1のカウンタreach_cntの値が所定値detect_cntに達したとき)に、検出回転角度θactが最終目標回転角度θaimに到達したと判定するようにした。 Thus, in this embodiment, the detected rotation angle θact approximates the previous target rotation angle θcmd_p and the final target rotation angle θaim (that is, the first difference Δθ1 and the second difference Δθ2 are both within a predetermined range. When the state (within plus / minus detect_th) continues for a predetermined time (when the value of the first counter reach_cnt reaches the predetermined value detect_cnt), the detected rotation angle θact reaches the final target rotation angle θaim. Judgment was made.
一方、S22で否定されて最終目標回転角度θaimと検出回転角度θactの差分たる第2の差分Δθ2が所定範囲外にあると判断されるときは、次いでS34に進み、第2のカウンタmove_cntの値を1つインクリメントし、さらにS36に進んで第2のカウンタmove_cntの値が前記した所定値detect_cntを超えたか否か判断する。 On the other hand, when it is determined in S22 that the second difference Δθ2 that is the difference between the final target rotation angle θaim and the detected rotation angle θact is outside the predetermined range, the process proceeds to S34 and the value of the second counter move_cnt is determined. Is incremented by 1, and the process further proceeds to S36 to determine whether or not the value of the second counter move_cnt has exceeded the predetermined value detect_cnt.
S36で否定されるときは次いでS38に進んで前回ステータスstatus_pを保持する一方、S36で肯定されるときは次いでS40に進み、指関節が最終目標回転角度θaimに向けて回転中と判定してステータスstatusをMOVEに設定する。即ち、ステータスstatusが「MOVE」であるということは、指関節が最終目標回転角度θaimに向けて回転中であることを意味する。そして、S42に進んで第1のカウンタreach_cntと、第2のカウンタmove_cntと、第3のカウンタlock_cntの値を全て0にリセットする。 When the result in S36 is negative, the process proceeds to S38 and the previous status status_p is held. When the result in S36 is positive, the process proceeds to S40, where it is determined that the finger joint is rotating toward the final target rotation angle θaim. Set status to MOVE. That is, the status “MOVE” means that the finger joint is rotating toward the final target rotation angle θaim. In S42, the values of the first counter reach_cnt, the second counter move_cnt, and the third counter lock_cnt are all reset to zero.
このように、検出回転角度θactが前回目標回転角度θcmd_pに近似し(第1の差分Δθ1が所定範囲内(プラス・マイナスdetect_th内)にあり)、かつ最終目標回転角度θaimには至っていない(第2の差分Δθ2が所定範囲外(プラス・マイナスdetect_th外)にある)状態が所定時間継続したとき(第2のカウンタmove_cntの値が所定値detect_cntに達したとき)に、指関節が最終目標回転角度θaimに向けて回転中と判定するようにした。 Thus, the detected rotation angle θact approximates to the previous target rotation angle θcmd_p (the first difference Δθ1 is within a predetermined range (within plus / minus detect_th)) and has not reached the final target rotation angle θaim (first When the difference Δθ2 of 2 is outside the predetermined range (outside of plus / minus detect_th) and continues for a predetermined time (when the value of the second counter move_cnt reaches the predetermined value detect_cnt), the finger joint is rotated at the final target rotation. It was determined that the motor was rotating toward the angle θaim.
また、S20で否定されて前回目標回転角度θcmd_pと検出回転角度θactの差分たる第1の差分Δθ1が所定範囲外にある、換言すれば、前回目標回転角度θcmd_pに検出回転角度θactが追従していないと判断されるときは、次いでS44に進み、第2の差分Δθ2の絶対値が前記したロック検出角度detect_th以下か否か判断する。 Further, the first difference Δθ1 which is negative in S20 and is the difference between the previous target rotation angle θcmd_p and the detected rotation angle θact is outside the predetermined range, in other words, the detected rotation angle θact follows the previous target rotation angle θcmd_p. If it is determined that there is not, then the process proceeds to S44, where it is determined whether or not the absolute value of the second difference Δθ2 is equal to or smaller than the lock detection angle detect_th.
S44で肯定されるとき(通常はあり得ない)はS38に進んで前回ステータスstatus_pを保持する一方、S44で否定されて最終目標回転角度θaimと検出回転角度θactの差分たる第2の差分Δθ2が所定範囲外にあると判断されるときは、次いでS46に進み、第3のカウンタlock_cntの値を1つインクリメントし、さらにS48に進んで第3のカウンタlock_cntの値が前記した所定値detect_cntを超えたか否か判断する。 When the result in S44 is affirmative (usually impossible), the process proceeds to S38 to hold the previous status status_p, while the result is negative in S44 and the second difference Δθ2 that is the difference between the final target rotation angle θaim and the detected rotation angle θact is obtained. If it is determined that the value is outside the predetermined range, the process proceeds to S46, the value of the third counter lock_cnt is incremented by one, and the process proceeds to S48, where the value of the third counter lock_cnt exceeds the predetermined value detect_cnt described above. Judge whether or not.
S48で否定されるときはS38で前回ステータスstatus_pを保持する一方、S48で肯定されるときは、次いでS50に進み、指部が最終目標回転角度θaimに到達する以前に対象物に接触して停止(ロック)したと判定してステータスstatusをLOCKに設定する。即ち、ステータスstatusが「LOCK」であるということは、指部が最終目標回転角度θaimに到達する以前に対象物に接触して停止したことを意味する。そして、S52に進んで第1のカウンタreach_cntと、第2のカウンタmove_cntと、第3のカウンタlock_cntの値を全て0にリセットする。 When the result is negative in S48, the previous status status_p is held in S38, while when the result is positive in S48, the process proceeds to S50, where the finger touches the object and stops before reaching the final target rotation angle θaim. It is determined that (locked) and the status status is set to LOCK. That is, the status status “LOCK” means that the finger has stopped in contact with the object before reaching the final target rotation angle θaim. In S52, the values of the first counter reach_cnt, the second counter move_cnt, and the third counter lock_cnt are all reset to zero.
このように、検出回転角度θactが前回目標回転角度θcmd_pおよび最終目標回転角度θaimに近似しない(第1の差分Δθ1と第2の差分Δθ2が共に所定範囲外(プラス・マイナスdetect_th外)にある)状態が所定時間継続したとき(第3のカウンタlock_cntの値が所定値detect_cntに達したとき)に、指部が対象物に接触して停止したと判定するようにした。 Thus, the detected rotation angle θact does not approximate the previous target rotation angle θcmd_p and the final target rotation angle θaim (the first difference Δθ1 and the second difference Δθ2 are both outside the predetermined range (outside plus / minus detect_th)). When the state continues for a predetermined time (when the value of the third counter lock_cnt reaches the predetermined value detect_cnt), it is determined that the finger portion has come into contact with the object and stopped.
尚、前述の如く、ロック検出角度detect_thを回転各速度リミットωlimが大きくなるに従って大きな値となるように設定したので、ハンド20の駆動速度が大きい場合であっても、その動作状態が上記3種(「REACH」、「MOVE」、「LOCK」)のいずれにあるか精度良く判定することができる。
As described above, since the lock detection angle detect_th is set to a larger value as the rotation speed limit ωlim increases, even when the driving speed of the
プログラムは次いで、図7に示すS54に進み、ステータスstatusがLOCKに設定されているか否か判断する。S54で否定されるときは、次いでS56に進み、書き換えフラグrewrite_flg(後述)のビットを0にリセットする。 The program then proceeds to S54 shown in FIG. 7 and determines whether the status status is set to LOCK. When the result in S54 is negative, the program proceeds to S56, in which a bit of a rewrite flag rewrite_flg (described later) is reset to 0.
一方、S54で肯定されるときは、次いでS58に進み、第2のタイマrewrite_timeの値が所定時間detect_time、具体的には、500[msec]に達したか否か判断する。S58で肯定されるときは、S56に進んで書き換えフラグrewrite_flgのビットを0にリセットする一方、S58で否定されるときは、次いでS60に進み、書き換えフラグrewrite_flgのビットを1にセットする。 On the other hand, when the result in S54 is affirmative, the process proceeds to S58, and it is determined whether or not the value of the second timer rewrite_time has reached a predetermined time detect_time, specifically 500 [msec]. When the result in S58 is affirmative, the process proceeds to S56, and the bit of the rewrite flag rewrite_flg is reset to 0. On the other hand, when the result in S58 is negative, the process proceeds to S60, and the bit of the rewrite flag rewrite_flg is set to 1.
次いでS62に進み、書き換えフラグrewrite_flgのビットが1にセットされているか否か判断する。S62で否定されるときは、次いでS64に進み、最終目標回転角度θaimに指示回転角度θouter_inputをセットする。即ち、最終目標回転角度θaimを指示回転角度θouter_inputに決定する。尚、最終目標回転角度θaimの初期値は、前記したように指示回転角度θouter_inputであることから、ここでの処理は、最終目標回転角度θaimの値を保持することに相当する。そして、S66に進んで第2のタイマrewrite_timeの値を0にリセットした後、S68に進んで第1のタイマservo_timeの値を5[msec]だけカウントアップして終了する。 Next, in S62, it is determined whether or not the bit of the rewrite flag rewrite_flg is set to 1. When the result in S62 is negative, the program proceeds to S64, where the command rotation angle θouter_input is set as the final target rotation angle θaim. That is, the final target rotation angle θaim is determined to be the designated rotation angle θouter_input. Since the initial value of the final target rotation angle θaim is the designated rotation angle θouter_input as described above, the processing here corresponds to holding the value of the final target rotation angle θaim. Then, the process proceeds to S66, the value of the second timer rewrite_time is reset to 0, and then the process proceeds to S68, where the value of the first timer servo_time is counted up by 5 [msec] and the process ends.
他方、S62で肯定されるときは、次いでS70に進み、最終目標回転角度θaimに検出回転角度θactをセットする。即ち、最終目標回転角度θaimを、指示回転角度θouter_inputから検出回転角度θactに修正(決定)する。そして、S72に進んで第2のタイマrewrite_timeの値を5[msec]だけカウントアップすると共に、S68で第1のタイマservo_timeを5[msec]だけカウントアップして終了する。 On the other hand, when the result in S62 is affirmative, the program proceeds to S70 where the detected rotation angle θact is set to the final target rotation angle θaim. That is, the final target rotation angle θaim is corrected (determined) from the instruction rotation angle θouter_input to the detected rotation angle θact. In step S72, the value of the second timer rewrite_time is incremented by 5 [msec], and in step S68, the first timer servo_time is incremented by 5 [msec] and the process ends.
以上のように、この発明の第1実施例にあっては、前回目標回転角度θcmd_p(フィルタ通過後目標回転角度θcmdの前回値)と検出回転角度θactの差分たる第1の差分Δθ1と、最終目標回転角度θaimと検出回転角度θactの差分たる第2の差分Δθ2とを算出すると共に、それらが所定範囲内にあるか否か判断し、その判断結果に基づいて指部と対象物の接触の有無を判定する、具体的には、第1の差分Δθ1および第2の差分Δθ2が共に所定範囲外にあると判断されたとき、指部が対象物に接触したと判定し(S50)、しからざるとき、指部と対象物は接触していないと判定する(S30,S40)ように構成したので、把持動作を行ったときの指部と対象物の接触の有無、および開き動作を行ったときの指部と対象物の接触の有無を簡素な構成で(専用のセンサを設けることなく)判定することができ、よってハンド20の大型化や重量の増加を防止することができる。
As described above, in the first embodiment of the present invention, the first difference Δθ1 that is the difference between the previous target rotation angle θcmd_p (the previous value of the post-filter target rotation angle θcmd) and the detected rotation angle θact, and the final A second difference Δθ2 that is a difference between the target rotation angle θaim and the detected rotation angle θact is calculated, and it is determined whether or not they are within a predetermined range. Based on the determination result, the contact between the finger and the object is determined. More specifically, when it is determined that the first difference Δθ1 and the second difference Δθ2 are both outside the predetermined range, it is determined that the finger has contacted the object (S50), and Since it is determined that the finger part and the object are not in contact with each other (S30, S40), the presence or absence of contact between the finger part and the object when the gripping operation is performed, and the opening operation are performed. With a simple configuration, the presence or absence of contact between the finger and the object It is possible to make a determination (without providing a dedicated sensor), and thus it is possible to prevent the
さらに、前記判定結果に基づいて最終目標回転角度θaimを修正する、具体的には、指部が最終目標回転角度θaimに到達する以前に対象物に接触したと判定されてステータスstatusがLOCKに設定され(S50)、書き換えフラグrewrite_flgのビットが1にセットされたとき(S60)、指示回転角度θouter_inputに応じて決定された最終目標回転角度θaimを検出回転角度θactに修正する(即ち、指部の動作を停止させる。S70))ように構成したので、対象物の破損やハンド20の駆動系(遊星歯車減速機や電動モータなど)の損傷を防止することができる。 Further, the final target rotation angle θaim is corrected based on the determination result. Specifically, it is determined that the finger has touched the object before reaching the final target rotation angle θaim, and the status status is set to LOCK. When the bit of the rewrite flag rewrite_flg is set to 1 (S60), the final target rotation angle θaim determined according to the instruction rotation angle θouter_input is corrected to the detected rotation angle θact (that is, the finger portion Since the operation is stopped (S70)), it is possible to prevent damage to the object and damage to the drive system of the hand 20 (such as a planetary gear reducer or an electric motor).
また、最終目標回転角度θaimが検出回転角度θactに修正されてからの経過時間(第2のタイマrewrite_timeの値)が所定時間detect_time(例えば500[msec])に達したとき(S58で肯定されたとき)、書き換えフラグrewrite_flgのビットを0にリセット(S56)して最終目標回転角度θaimを指示回転角度θouter_inputに復帰させることで、図9に示すように、指部と対象物の接触が解除されたときに、検出回転角度θactを操作者から入力された指示回転角度θouter_input(最終目標回転角度θaim)に速やかに到達させるようにした。尚、指部と対象物の接触が継続されているときは、図6および図7に示すフローチャートの処理に従って再び最終目標回転角度θaimが検出回転角度θactに修正される。 Further, when the elapsed time (the value of the second timer rewrite_time) after the final target rotation angle θaim is corrected to the detected rotation angle θact has reached a predetermined time detect_time (for example, 500 [msec]) (Yes in S58) ), The bit of the rewrite flag rewrite_flg is reset to 0 (S56), and the final target rotation angle θaim is returned to the designated rotation angle θouter_input, thereby releasing the contact between the finger and the object as shown in FIG. The detected rotation angle θact is quickly made to reach the instruction rotation angle θouter_input (final target rotation angle θaim) input by the operator. When the contact between the finger and the object is continued, the final target rotation angle θaim is corrected again to the detected rotation angle θact according to the processing of the flowcharts shown in FIGS.
このように、検出回転角度θactが最終目標回転角度θaimに到達する前に指部が対象物に接触したと判定されたとき、最終目標回転角度θaimを検出回転角度θactに修正して指部の動作を停止させると共に、指部と対象物の接触が解除されたときは最終目標回転角度θaimを指示回転角度θouter_input復帰させるようにしたので、操作者は指部と対象物の接触の有無に応じてハンド20の動作指示(指示回転角度θouter_input)を変更する必要がなく、よって操作者の負担を軽減させることができる。
Thus, when it is determined that the finger has contacted the object before the detected rotation angle θact reaches the final target rotation angle θaim, the final target rotation angle θaim is corrected to the detected rotation angle θact to The operation is stopped, and when the contact between the finger and the object is released, the final target rotation angle θaim is returned to the designated rotation angle θouter_input. Thus, there is no need to change the operation instruction (instructed rotation angle θouter_input) of the
図10は、指部と対象物が接触しているときに電動モータに供給される電流波形を示すタイムチャートである。 FIG. 10 is a time chart showing a current waveform supplied to the electric motor when the finger part and the object are in contact with each other.
図10において、電流波形(パルス波形)の立ち上がっている期間は、最終目標回転角度θaimが指示回転角度θouter_inputに復帰されてから、検出回転角度θactに再度修正されるまでの期間である。 In FIG. 10, the period in which the current waveform (pulse waveform) rises is a period from when the final target rotation angle θaim is restored to the command rotation angle θouter_input until it is corrected again to the detected rotation angle θact.
以下、図11を参照してこの電流波形の立ち上がっている期間について具体的に説明する。最終目標回転角度θaimが指示回転角度θouter_inputに復帰されると、各電動モータへの通電が再開される。このとき、指部と対象物が接触していると、検出回転角度θactが前回目標回転角度θcmd_pに追従しないことから、図示の如く第1の差分Δθ1が徐々に増加する。尚、第1の差分Δθ1の増加の度合いは、電動モータの回転数、減速装置の減速比、第1のフィルタ56および第2のフィルタ58の時定数に応じて決定される。
Hereinafter, the period during which the current waveform rises will be described in detail with reference to FIG. When the final target rotation angle θaim is returned to the command rotation angle θouter_input, energization of each electric motor is resumed. At this time, if the finger part and the object are in contact, the detected rotation angle θact does not follow the previous target rotation angle θcmd_p, so that the first difference Δθ1 gradually increases as shown in the figure. The degree of increase in the first difference Δθ1 is determined according to the rotational speed of the electric motor, the reduction ratio of the reduction gear, and the time constants of the
第1の差分Δθ1がロック検出角度detect_thに到達すると、カウンタlock_cntのカウントアップが開始される(尚、第1の差分Δθ1がロック検出角度detect_thに到達する状況下では、第2の差分Δθ2は既にロック検出角度detect_thに到達している)。そして、カウンタlock_cntの値が所定値detect_cntに達すると、指部が対象物に接触したと判定し、最終目標回転角度θaimが検出回転角度θactにセットされる。 When the first difference Δθ1 reaches the lock detection angle detect_th, the counter lock_cnt starts counting up (note that, under the situation where the first difference Δθ1 reaches the lock detection angle detect_th, the second difference Δθ2 is already The lock detection angle detect_th has been reached). Then, when the value of the counter lock_cnt reaches the predetermined value detect_cnt, it is determined that the finger has contacted the object, and the final target rotation angle θaim is set to the detected rotation angle θact.
最終目標回転角度θaimが検出回転角度θactにセットされると、第1の差分Δθ1および第2の差分Δθ2が共にロック検出角度detect_thの範囲内となる(検出回転角度θactが最終目標回転角度θaimに到達したと判定される)ことから、各電動モータへの通電が停止される(非通電とされる)。電動モータへの通電の停止は、タイマrewrite_timeの値が所定時間detect_timeに達するまで継続される。 When the final target rotation angle θaim is set to the detection rotation angle θact, the first difference Δθ1 and the second difference Δθ2 are both within the lock detection angle detect_th (the detection rotation angle θact becomes the final target rotation angle θaim). Therefore, energization to each electric motor is stopped (deenergized). Stopping energization of the electric motor is continued until the value of the timer rewrite_time reaches the predetermined time detect_time.
ここで、上記した構成から理解できるように、ロック検出角度detect_th、所定値detect_cnt、所定時間detect_time、さらには電動モータの回転数、減速装置の減速比、第1のフィルタ56および第2のフィルタ58の時定数を適宜な値に設定することにより、電流波形の立ち上がっている期間、即ち、供給電流のデューティ比を適宜な値に調整することができる。この実施例にあっては、供給電流のデューティ比が約20%になるように、上記の各値を設定した。これにより、指部と対象物が接触を継続するとき(より詳しくは、対象物の把持を継続するとき)の消費電力を低減することができると共に、電動モータへの負担を軽減することができる。特に、この実施例に係るロボット10のような自律型の2足歩行ロボットにあっては、搭載するバッテリ容量に制限が生じると共に、環境内を移動するのに大きな消費電力が必要とされることから、対象物の把持という継続的に行われる可能性のある動作の消費電力を低減することは、非常に有効である。
Here, as can be understood from the above configuration, the lock detection angle detect_th, the predetermined value detect_cnt, the predetermined time detect_time, the rotation speed of the electric motor, the reduction ratio of the reduction gear, the
尚、電動モータに電力が供給されていないときは、前記した遊星歯車減速機などからなる各減速装置の自縛現象(self locking。入力軸側から出力軸側を駆動することはできるが、出力軸側から入力軸側を駆動することはできない特性)を意図的に用いることにより、指部の姿勢(回転角度)を維持するようにした。 In addition, when electric power is not supplied to the electric motor, the self-locking phenomenon (self locking of the reduction gears including the planetary gear reducer described above can be driven from the input shaft side to the output shaft side. By intentionally using the characteristic that the input shaft side cannot be driven from the side, the posture (rotation angle) of the finger portion is maintained.
以上の如く、この発明の第1実施例にあっては、複数個の指リンク(末節リンク32a〜40a、中節リンク34b〜40b、基節リンク32b,34c〜40c、中手リンク32c,34d〜40d)と、それらを連接する指関節(第1関節32A〜40A、第2関節32B〜40B、第3関節34C〜40C)とからなる指部(第1から第5の指部32〜40)を備えると共に、前記指関節をその関節軸(34AS1,34AS2,34BS,34CSなど)回りに回転させて前記連接された指リンクの相対角度を変化させるアクチュエータ(電動モータ34b1,34c1,34d1など)と、前記指関節の回転角度(θact)を検出する回転角度検出手段(エンコーダ34b3,34c3,34d3など)と、外部指令(指示回転角度θouter_input)に応じて前記指関節の最終目標回転角度(θaim)を決定する最終目標回転角度決定手段(ECU24、最終目標回転角度決定部52)と、前記最終目標回転角度と前記検出された回転角度とに基づいて、前記回転角度が前記最終目標回転角度に向けて誘導されるように、前記指関節の中間目標回転角度(フィルタ通過後目標回転角度θcmd)を算出する中間目標回転角度算出手段(ECU24、ランプ波起動生成部54、第1のフィルタ56、第2のフィルタ58)と、および前記中間目標回転角度に基づいて前記アクチュエータの駆動を制御する制御手段(ECU24)と、を備えたロボットハンド20の制御装置であって、前記中間目標回転角度(具体的には、フィルタ通過後目標回転角度θcmdの前回値である前回目標回転角度θcmd_p)と前記検出された回転角度の差分たる第1の差分(Δθ1)を算出する第1の差分算出手段(ECU24、最終目標回転角度決定部52、S16)と、前記最終目標回転角度と前記検出された回転角度の差分たる第2の差分(Δθ2)を算出する第2の差分算出手段(ECU24、最終目標回転角度決定部52、S18)と、前記第1の差分および前記第2の差分のそれぞれが所定範囲内にあるか否か判断する判断手段(ECU24、最終目標回転角度決定部52、S20,S22,S44)と、および前記第1の差分および前記第2の差分が共に前記所定範囲内にないと判断されたとき、前記回転角度が前記最終目標回転角度に到達する前に前記指部が対象物に接触したと判定する判定手段(ECU24、最終目標回転角度決定部52、S50)と、を備えると共に、前記最終目標回転角度決定手段は、前記回転角度が前記最終目標回転角度に到達する前に前記指部が対象物に接触したと判定されたとき、前記最終目標回転角度を前記回転角度に修正すると共に(S70)、前記最終目標回転角度が前記回転角度に修正されてから所定時間経過したとき、前記修正された最終目標回転角度を前記外部指令に応じて設定される最終目標回転角度に復帰させる(S58,S56,S62,S64)ように構成した。
As described above, in the first embodiment of the present invention, a plurality of finger links (terminal link 32a-40a,
また、前記判定手段は、前記第1の差分および前記第2の差分が共に前記所定範囲内にあると判断されたとき、前記指関節の回転角度が前記最終目標回転角度まで到達したと判定する(S30)と共に、前記最終目標回転角度決定手段は、前記指関節が前記最終目標回転角度まで到達したと判定されたとき、前記最終目標回転角度を保持する(S64)ように構成した。 The determination means determines that the rotation angle of the finger joint has reached the final target rotation angle when it is determined that the first difference and the second difference are both within the predetermined range. Along with (S30), the final target rotation angle determination means is configured to hold the final target rotation angle when it is determined that the finger joint has reached the final target rotation angle (S64).
また、前記判定手段は、前記第1の差分が前記所定範囲内にあり、かつ前記第2の差分が前記所定範囲外にあると判断されたとき、前記指関節が前記最終目標回転角度に向けて回転させられていると判定する(S40)と共に、前記最終目標回転角度決定手段は、前記指関節が前記最終目標回転角度に向けて回転させられていると判定されたとき、前記最終目標回転角度を保持する(S64)ように構成した。 In addition, when the determination unit determines that the first difference is within the predetermined range and the second difference is outside the predetermined range, the finger joint is directed toward the final target rotation angle. The final target rotation angle determining means determines that the finger joint is rotated toward the final target rotation angle when the final target rotation angle is determined to be rotated (S40). The angle was held (S64).
また、前記アクチュエータが電動モータであると共に、前記制御手段は、前記判定手段によって前記最終目標回転角度が前記外部指令に応じて設定される最終目標回転角度に復帰させられたとき、消費電力の低減が可能な所定のデューティ比で前記電動モータに電流を供給するように構成した。 Also, together with the actuator is an electric motor, said control means, when the final target rotation angle was found to return to the final target rotation angle which is set in response to the external command by the determining means, the power consumption A current is supplied to the electric motor at a predetermined duty ratio that can be reduced .
尚、上記において、指部に力センサや接触センサを配置し、それらの検出値も勘案して指部と対象物の接触の有無を判定するようにしても良い。 In the above description, a force sensor or a contact sensor may be disposed on the finger portion, and the presence / absence of contact between the finger portion and the object may be determined in consideration of the detected values.
また、指関節を回転させて連接された指リンクの相対角度を変化させるアクチュエータとしてステッピングモータを使用したが、指関節を回転させることのできるアクチュエータであれば、DCモータやロータリソレノイドなど、他のアクチュエータを使用しても良い。 In addition, the stepping motor is used as an actuator that changes the relative angle of the finger links that are connected by rotating the finger joints. However, if the actuator can rotate the finger joints, other motors such as DC motors and rotary solenoids may be used. An actuator may be used.
20 ロボットハンド
24 ECU(制御手段、最終目標回転角度決定手段、中間目標回転角度算出手段、第1の差分算出手段、第2の差分算出手段、判断手段、判定手段)
32〜40 第1から第5の指部
32a〜40a 末節リンク(指リンク)
34b〜40b 中節リンク(指リンク)
32b,34c〜40c 基節リンク(指リンク)
32c,34d〜40d 中手リンク(指リンク)
34b1,34c1,34d1 電動モータ(アクチュエータ)
34b3,34c3,34d3 エンコーダ(回転角度検出手段)
32A〜40A 第1関節(指関節)
32B〜40B 第2関節(指関節)
34C〜40C 第3関節(指関節)
34AS1,34AS2,34BS,34CS 関節軸
52 最終目標回転角度決定部(最終目標回転角度決定手段、第1の差分算出手段、第2の差分算出手段、判断手段、判定手段)
54 ランプ波起動生成部(中間目標回転角度算出手段)
56 第1のフィルタ(中間目標回転角度算出手段)
58 第2のフィルタ(中間目標回転角度算出手段)
20
32 to 40 First to fifth fingers 32a to 40a End link (finger link)
34b-40b Middle link (finger link)
32b, 34c-40c Prosthetic link (finger link)
32c, 34d to 40d Middle hand link (finger link)
34b1, 34c1, 34d1 Electric motor (actuator)
34b3, 34c3, 34d3 encoder (rotation angle detection means)
32A-40A 1st joint (finger joint)
32B-40B second joint (finger joint)
34C-40C 3rd joint (finger joint)
34AS1, 34AS2, 34BS,
54 Ramp wave activation generator (intermediate target rotation angle calculation means)
56 1st filter (intermediate target rotation angle calculation means)
58 second filter (intermediate target rotation angle calculation means)
Claims (4)
a.前記指関節をその関節軸回りに回転させて前記連接された指リンクの相対角度を変化させるアクチュエータと、
b.前記指関節の回転角度を検出する回転角度検出手段と、
c.外部指令に応じて前記指関節の最終目標回転角度を決定する最終目標回転角度決定手段と、
d.前記最終目標回転角度と前記検出された回転角度とに基づいて、前記回転角度が前記最終目標回転角度に向けて誘導されるように、前記指関節の中間目標回転角度を算出する中間目標回転角度算出手段と、
および
e.前記中間目標回転角度に基づいて前記アクチュエータの駆動を制御する制御手段と、
を備えたロボットハンドの制御装置であって、
f.前記中間目標回転角度と前記検出された回転角度の差分たる第1の差分を算出する第1の差分算出手段と、
g.前記最終目標回転角度と前記検出された回転角度の差分たる第2の差分を算出する第2の差分算出手段と、
h.前記第1の差分および前記第2の差分のそれぞれが所定範囲内にあるか否か判断する判断手段と、
および
i.前記第1の差分および前記第2の差分が共に前記所定範囲内にないと判断されたとき、前記回転角度が前記最終目標回転角度に到達する前に前記指部が対象物に接触したと判定する判定手段と、
を備えると共に、前記最終目標回転角度決定手段は、前記回転角度が前記最終目標回転角度に到達する前に前記指部が対象物に接触したと判定されたとき、前記最終目標回転角度を前記回転角度に修正すると共に、前記最終目標回転角度が前記回転角度に修正されてから所定時間経過したとき、前記修正された最終目標回転角度を前記外部指令に応じて設定される最終目標回転角度に復帰させるように構成したことを特徴とするロボットハンドの制御装置。 While having a finger part composed of a plurality of finger links and a finger joint connecting them,
a. An actuator for rotating the finger joint around its joint axis to change the relative angle of the connected finger links;
b. Rotation angle detecting means for detecting the rotation angle of the finger joint;
c. Final target rotation angle determination means for determining a final target rotation angle of the finger joint in response to an external command;
d. An intermediate target rotation angle for calculating an intermediate target rotation angle of the finger joint so that the rotation angle is guided toward the final target rotation angle based on the final target rotation angle and the detected rotation angle. A calculation means;
And e. Control means for controlling the drive of the actuator based on the intermediate target rotation angle;
A control device for a robot hand comprising:
f. First difference calculation means for calculating a first difference which is a difference between the intermediate target rotation angle and the detected rotation angle;
g. Second difference calculating means for calculating a second difference which is a difference between the final target rotation angle and the detected rotation angle;
h. A judgment means each of said first difference and said second difference you determined whether within a predetermined range,
And i. When it is determined that both the first difference and the second difference are not within the predetermined range, it is determined that the finger has contacted the object before the rotation angle reaches the final target rotation angle. Determination means to perform,
And the final target rotation angle determining means determines that the final target rotation angle is rotated when it is determined that the finger has contacted an object before the rotation angle reaches the final target rotation angle. In addition to correcting the final target rotation angle to a final target rotation angle set according to the external command when a predetermined time has elapsed since the final target rotation angle was corrected to the rotation angle. A control device for a robot hand, characterized by being configured to allow
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003365581A JP4287242B2 (en) | 2003-10-27 | 2003-10-27 | Robot hand control device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003365581A JP4287242B2 (en) | 2003-10-27 | 2003-10-27 | Robot hand control device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2005125462A JP2005125462A (en) | 2005-05-19 |
JP4287242B2 true JP4287242B2 (en) | 2009-07-01 |
Family
ID=34644205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003365581A Expired - Fee Related JP4287242B2 (en) | 2003-10-27 | 2003-10-27 | Robot hand control device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4287242B2 (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4908020B2 (en) | 2006-03-02 | 2012-04-04 | 本田技研工業株式会社 | Hand control system |
JP4316630B2 (en) | 2007-03-29 | 2009-08-19 | 本田技研工業株式会社 | Robot, robot control method, and robot control program |
JP5528916B2 (en) * | 2010-06-22 | 2014-06-25 | 本田技研工業株式会社 | Robot and external force detection mechanism of robot |
-
2003
- 2003-10-27 JP JP2003365581A patent/JP4287242B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2005125462A (en) | 2005-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7061200B2 (en) | Legged mobile robot and actuator device applicable to join shaft of the robot | |
US5151859A (en) | Legged walking robot and system for controlling the same | |
KR20110026935A (en) | Structure of robot joint and robot having the same | |
CN108430375A (en) | The method of robot system and the reverse drive system | |
KR101537039B1 (en) | Robot and control method thereof | |
US8483877B2 (en) | Workspace safe operation of a force- or impedance-controlled robot | |
Malley et al. | Flippy: A soft, autonomous climber with simple sensing and control | |
US8618762B2 (en) | System and method for tensioning a robotically actuated tendon | |
WO2003068454A1 (en) | Two-leg walking humanoid robot | |
JP2004167666A (en) | Robot device and action control method used for the same | |
WO2018235812A1 (en) | Robot system and method for controlling robot system | |
WO2018212307A1 (en) | Speed reducer angular transmission error identification system and speed reducer angular transmission error identification method | |
JP4287242B2 (en) | Robot hand control device | |
JP3837174B2 (en) | Motion control device for artificial hand | |
JP2003266357A (en) | Leg type robot and palm structure of its hand | |
JP2020015124A (en) | Robot control method, article manufacturing method, robot control device, robot, program and recording medium | |
JP3558220B2 (en) | Hand device and robot device used for robot device | |
JP6700679B2 (en) | Control method, article manufacturing method, robot device, control program, and recording medium | |
KR102245158B1 (en) | Thumb joint structure for robot hand | |
JP2008264899A (en) | Measuring method for robot output and restriction device | |
JP3615539B2 (en) | Robot apparatus operation control apparatus and operation control method, and robot apparatus remote operation apparatus and remote operation method | |
JP2019030931A (en) | Robot control device, control method, and robot apparatus | |
JP2004025355A (en) | Control device of robot | |
JP7341505B2 (en) | robot hand | |
Kumar et al. | Design and Development of an Anthropomorphic Gripper for Service Robotics and Prosthetic Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20051130 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081016 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20081111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090108 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20090310 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20090326 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120403 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4287242 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130403 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130403 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140403 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |