(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024130022
(43)【公開日】2024-09-30
(54)【発明の名称】ロボットハンド制御装置、ロボットハンド制御方法及びプログラム
(51)【国際特許分類】
B25J 15/08 20060101AFI20240920BHJP
B25J 3/00 20060101ALI20240920BHJP
【FI】
B25J15/08 W
B25J3/00 Z
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2023039498
(22)【出願日】2023-03-14
(71)【出願人】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100149548
【弁理士】
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100181135
【弁理士】
【氏名又は名称】橋本 隆史
(72)【発明者】
【氏名】三井 理紗子
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707AS01
3C707DS01
3C707ES06
3C707ET01
3C707EU18
3C707HS27
3C707JS03
3C707JT10
3C707KS21
3C707KS30
3C707KS34
3C707KX08
(57)【要約】
【課題】ロボットハンドが把持する物体が硬いか柔らかいかにかかわらず、その物体を把持する際に、ロボットハンドの指を駆動する駆動機構に過電流が流れることを防ぐロボットハンド制御装置、ロボットハンド制御方法及びプログラムを提供する。
【解決手段】ロボットハンド制御装置は、ロボットハンドが物体を把持する際に、ロボットハンドの第1の指に加わる反力を取得する反力取得手段と、反力取得手段が取得した反力が、第1の時間の間に、第1の所定量以上増加し、その後、反力が、第2の時間の間に、第2の所定量以上、変動しなかった場合に、ロボットハンドの前記第1の指の第1の曲げ角度を変化させる駆動機構の駆動を停止させる駆動機構制御手段と、を備える。
【選択図】
図3
【特許請求の範囲】
【請求項1】
ロボットハンドが物体を把持する際に、前記ロボットハンドの第1の指に加わる反力を取得する反力取得手段と、
前記反力取得手段が取得した前記反力が、第1の時間の間に、第1の所定量以上増加し、その後、前記反力が、第2の時間の間に、第2の所定量以上、変動しなかった場合に、前記ロボットハンドの前記第1の指の第1の曲げ角度を変化させる駆動機構の駆動を停止させる駆動機構制御手段と、
を備えるロボットハンド制御装置。
【請求項2】
前記駆動機構制御手段は、
前記第2の時間の経過後に、前記反力取得手段が取得する前記反力が、所定の反力以下となった場合に、前記駆動機構の駆動を再開させる
請求項1に記載のロボットハンド制御装置。
【請求項3】
前記駆動機構制御手段は、
前記ロボットハンドの前記第1の指が、前記物体を把持する際には、前記駆動機構を、所定の方向に駆動させ、
前記反力取得手段が取得した前記反力が、前記第1の時間の間に、前記第1の所定量以上増加し、その後、前記反力が、前記第2の時間の間に、前記第2の所定量以上、変動しなかった場合には、前記駆動機構を、前記所定の方向とは逆方向に、第3の所定量だけ駆動させた後に、前記駆動機構を停止させる
請求項1に記載のロボットハンド制御装置。
【請求項4】
前記駆動機構制御手段は、
前記駆動機構を、前記所定の方向とは逆方向に、前記第3の所定量だけ駆動させた後に、前記反力取得手段が取得する前記反力が、前記所定の反力以下となった場合に、前記駆動機構の駆動を再開させる
請求項3に記載のロボットハンド制御装置。
【請求項5】
前記ロボットハンドの前記第1の指に対応する指であって、前記ロボットハンドと連動するマスタグローブの第2の指の第2の曲げ角度を取得する曲げ角度取得手段を更に備え、
前記駆動機構制御手段は、
前記曲げ角度取得手段が取得した前記第2の曲げ角度に基づいて、前記駆動機構を駆動させる
請求項1に記載のロボットハンド制御装置。
【請求項6】
ロボットハンドが物体を把持する際に、前記ロボットハンドの第1の指に加わる反力を取得し、
取得した前記反力が、第1の時間の間に、第1の所定量以上増加し、その後、前記反力が、第2の時間の間に、第2の所定量以上、変動しなかった場合に、前記ロボットハンドの前記第1の指の第1の曲げ角度を変化させる駆動機構の駆動を停止させる
ロボットハンド制御方法。
【請求項7】
ロボットハンド制御装置のコンピュータを、
ロボットハンドが物体を把持する際に、前記ロボットハンドの第1の指に加わる反力を取得する反力取得手段、
前記反力取得手段が取得した前記反力が、第1の時間の間に、第1の所定量以上増加し、その後、前記反力が、第2の時間の間に、第2の所定量以上、変動しなかった場合に、前記ロボットハンドの前記第1の指の第1の曲げ角度を変化させる駆動機構の駆動を停止させる駆動機構制御手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ロボットハンド制御装置、ロボットハンド制御方法及びプログラムに関する。
【背景技術】
【0002】
特許文献1は、マスタ側からの指示に基づいて、スレーブ側のアームの動きを制御するロボットアーム制御システムについて開示している。このロボットアーム制御システムでは、スレーブ側のロボットアームに加わる反力が、所定の閾値以上である場合に、ロボットアームを駆動するモータを停止させている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1で開示されているロボットアーム制御システムでは、ロボットアームが、硬い物体を把持する場合であっても、柔らかい物体を把持する場合であっても、同じ閾値を用いた制御が行われる。そのため、ロボットアームが、硬い物体を把持する場合と同じ力で、柔らかい物体を把持した場合に、反力が、その閾値を超えずに、ロボットアームのモータが駆動し続け、モータに過電流が流れることがある。
【0005】
そこで、この発明は、上述の課題を解決するロボットハンド制御装置、ロボットハンド制御方法及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
本発明の第1の態様によるロボットハンド制御装置は、
ロボットハンドが物体を把持する際に、前記ロボットハンドの第1の指に加わる反力を取得する反力取得手段と、
前記反力取得手段が取得した前記反力が、第1の時間の間に、第1の所定量以上増加し、その後、前記反力が、第2の時間の間に、第2の所定量以上、変動しなかった場合に、前記ロボットハンドの前記第1の指の第1の曲げ角度を変化させる駆動機構の駆動を停止させる駆動機構制御手段と、
を備える。
【0007】
また、本発明の第2の態様によるロボットハンド制御方法は、
ロボットハンドが物体を把持する際に、前記ロボットハンドの第1の指に加わる反力を取得し、
取得した前記反力が、第1の時間の間に、第1の所定量以上増加し、その後、前記反力が、第2の時間の間に、第2の所定量以上、変動しなかった場合に、前記ロボットハンドの前記第1の指の第1の曲げ角度を変化させる駆動機構の駆動を停止させる。
【0008】
また、本発明の第3の態様によるプログラムは、
ロボットハンド制御装置のコンピュータを、
ロボットハンドが物体を把持する際に、前記ロボットハンドの第1の指に加わる反力を取得する反力取得手段、
前記反力取得手段が取得した前記反力が、第1の時間の間に、第1の所定量以上増加し、その後、前記反力が、第2の時間の間に、第2の所定量以上、変動しなかった場合に、前記ロボットハンドの前記第1の指の第1の曲げ角度を変化させる駆動機構の駆動を停止させる駆動機構制御手段、
として機能させる。
【発明の効果】
【0009】
本発明によれば、ロボットハンドが把持する物体が硬いか柔らかいかにかかわらず、その物体を把持する際に、ロボットハンドの指を駆動する駆動機構に過電流が流れることを防ぐことができる。
【図面の簡単な説明】
【0010】
【
図1】本実施形態によるロボットハンド制御システムのシステム構成図である。
【
図2】本実施形態による曲げ角度計測装置の構成を示す概略ブロック図である。
【
図3】本実施形態によるロボットハンド制御装置の構成を示す概略ブロック図である。
【
図4】本実施形態によるロボットハンド制御装置の処理を示すフローチャートである。
【
図5】本実施形態による反力センサが検出する反力の一例を示すグラフである。
【
図6】本実施形態によるロボットハンド制御装置を用いた場合の効果を説明する図である。
【
図7】本実施形態の最小構成を有するロボットハンド制御装置の構成を示す概略ブロック図である。
【
図8】本実施形態によるロボットハンド制御方法の処理を示すフローチャートである。
【発明を実施するための形態】
【0011】
以下、本発明の実施形態によるロボットハンド制御システムを、図面を参照して説明する。
【0012】
図1は、本実施形態によるロボットハンド制御システムのシステム構成図である。
図1に示すロボットハンド制御システム100は、マスタ側のグローブ10、曲げ角度計測装置20、ロボットハンド制御装置30A、スレーブ側のロボットハンド40を備える。
【0013】
グローブ10は、ロボットハンド40を遠隔操作するユーザが、手に着用して使用される。
図1では、グローブ10が、右手用の場合を示しているが、左手用についても、本実施形態と同様に構成することができる。グローブ10は、親指部11、人差し指部12、中指部13、薬指部14、小指部15、手の平部16を備えている。
【0014】
親指部11の第1関節、第2関節に相当する部分には、それぞれ、曲げセンサ17A、17Bが取り付けられている。人差し指部12の第1関節、第2関節、第3関節に相当する部分には、それぞれ、曲げセンサ17C、17D、17Eが取り付けられている。中指部13の第1関節、第2関節、第3関節に相当する部分には、それぞれ、曲げセンサ17F、17G、17Hが取り付けられている。薬指部14の第1関節、第2関節、第3関節に相当する部分には、それぞれ、曲げセンサ17I、17J、17Kが取り付けられている。小指部15の第1関節、第2関節、第3関節に相当する部分には、それぞれ、曲げセンサ17L、17M、17Nが取り付けられている。
【0015】
曲げセンサ17A~17Nは、それらの曲げセンサが取り付けられている部分の両側が何度の角度をなしているのかを計測するための機器であり、曲げ角度に応じた抵抗値を、曲げ角度計測装置20に出力する。例えば、曲げセンサ17Aは、親指部11の指先部と根元部がなす角度が、何度であるかを計測するための機器である。
【0016】
曲げ角度計測装置20は、曲げセンサ17A~17Nから、曲げ角度に応じた抵抗値を、有線通信または無線通信により取得する。曲げ角度計測装置20は、取得した抵抗値を、その抵抗値を測定した曲げセンサの識別情報と対応付けて、有線通信または無線通信により、ロボットハンド制御装置30Aに送信する。
【0017】
ロボットハンド制御装置30Aは、曲げセンサの識別情報と、その曲げセンサが測定した抵抗値とを、曲げ角度計測装置20から受信する。ロボットハンド制御装置30Aは、有線通信または無線通信によりロボットハンド40と接続されている。ロボットハンド制御装置30Aは、ロボットハンド40から反力に関するデータを受信する。ロボットハンド制御装置30Aは、曲げ角度計測装置20から受信する抵抗値に関するデータと、ロボットハンド40から受信する反力に関するデータを用いて、ロボットハンド40を制御する。
【0018】
ロボットハンド40は、グローブ10の形状と対応する形状を有している。本実施形態では、グローブ10が、人間の手の形に対応した5本指の形状であるため、ロボットハンド40も5本指の形状としている。
図1では、ロボットハンド40が、右手に対応する形状である場合を示しているが、左手についても、同様に構成することができる。ロボットハンド40は、親指部41、人差し指部42、中指部43、薬指部44、小指部45、手の平部46を備えている。
【0019】
親指部41は、指先部411、根本部412からなる。人差し指部42は、指先部421、中央部422、根本部423からなる。中指部43は、指先部431、中央部432、根本部433からなる。薬指部44は、指先部441、中央部442、根本部443からなる。小指部45は、指先部451、中央部452、根本部453からなる。
【0020】
親指部41の第1関節、第2関節に相当する部分には、それぞれ、モータ(駆動機構とも称する)47A、47Bが取り付けられている。人差し指部42の第1関節、第2関節、第3関節に相当する部分には、それぞれ、モータ47C、47D、47Eが取り付けられている。中指部43の第1関節、第2関節、第3関節に相当する部分には、それぞれ、モータ47F、47G、47Hが取り付けられている。薬指部44の第1関節、第2関節、第3関節に相当する部分には、それぞれ、モータ47I、47J、47Kが取り付けられている。小指部45の第1関節、第2関節、第3関節に相当する部分には、それぞれ、モータ47L、47M、47Nが取り付けられている。
【0021】
モータ47A~47Nは、それらのモータが取り付けられている部分の両側を何度の角度とするのかを制御するための機器である。例えば、モータ47Aは、親指部41(第1の指とも称する)の指先部411と根元部412がなす角度を、0度~90度の任意の角度に制御することにより、手の平部46近傍に存在する物体を把持したり、離したりする。
【0022】
ロボットハンド40の親指部41の指先部411、人差し指部42の指先部421、中指部43の指先部431、薬指部44の指先部441、小指部45の指先部451には、それぞれ、反力センサ48A、48B、48C、48D、48Eが取り付けられている。反力センサは、その反力センサが接触する物体から受ける反力の大きさを計測するセンサである。
【0023】
図2は、本実施形態による曲げ角度計測装置20(
図1)の構成を示す概略ブロック図である。曲げ角度計測装置20は、曲げセンサデータ取得手段21、曲げ角度計測装置制御手段22、曲げセンサデータ送信手段23を備える。
【0024】
曲げセンサデータ取得手段21は、グローブ10に取り付けられている曲げセンサ17A~17Nのそれぞれが計測する曲げ角度に対応する抵抗値に関するデータを、曲げセンサ17A~17Nから受信する。
【0025】
曲げ角度計測装置制御手段22は、CPU(Central Procesing Unit)などの制御装置であり、曲げ角度計測装置20の全体を制御する。本実施形態では、曲げ角度計測装置制御手段22は、曲げセンサ17A~17Nが計測する抵抗値と、その抵抗値に対応する曲げ角度との関係が記録されているテーブルを参照し、曲げセンサデータ取得手段21が受信した抵抗値を、その抵抗値に対応する曲げ角度に変換して、曲げセンサデータ送信手段23に出力する。
【0026】
曲げセンサデータ送信手段23は、曲げ角度計測装置制御手段22から出力される曲げ角度に関するデータを、定期的に、あるいは、ロボットハンド制御装置30Aからの要求に従って、ロボットハンド制御装置30Aに送信する。
【0027】
なお、本実施形態では、曲げ角度計測装置制御手段22が、曲げセンサ17A~17Nが計測した抵抗値を、曲げ角度に変換する場合について説明するが、これに限定されるものではない。例えば、曲げ角度計測装置20から、ロボットハンド制御装置30Aに、曲げセンサ17A~17Nが計測した抵抗値を送信し、ロボットハンド制御装置30A側で、抵抗値を、曲げ角度に変換してもよい。また、
図1に示すロボットアーム制御システムにおいて、曲げ角度計測装置20を設けずに、曲げセンサ17A~17Nから、ロボットハンド制御装置30Aに、曲げセンサ17A~17Nが計測した抵抗値を、直接送信し、ロボットハンド制御装置30A側で、抵抗値を、曲げ角度に変換するようにしてもよい。
【0028】
図3は、本実施形態によるロボットハンド制御装置30A(
図1)の構成を示す概略ブロック図である。ロボットハンド制御装置30Aは、曲げセンサデータ受信手段31(曲げ角度取得手段とも称する)、反力センサデータ取得手段32、記憶手段33、ロボットハンド制御装置制御手段34、モータ制御手段35(駆動機構制御手段とも称する)を備える。
【0029】
曲げセンサデータ受信手段31は、曲げ角度計測装置20の曲げセンサデータ送信手段23(
図2)から送信される曲げ角度に関するデータを受信し、ロボットハンド制御装置制御手段34に出力する。反力センサデータ取得手段32は、ロボットハンド40の反力センサ48A~48Eが計測する反力と、それらの反力を計測した反力センサの識別番号とが対応付けられたデータを、反力センサ48A~48Eから受信し、ロボットハンド制御装置制御手段34に出力する。
【0030】
記憶手段33は、メモリなどの記憶装置である。記憶手段33は、曲げセンサデータ受信手段31が受信した曲げ角度に関するデータや、反力センサデータ取得手段32が取得した反力センサに関するデータなどを、ロボットハンド制御装置制御手段34の制御に基づいて、所定時間、記憶する。
【0031】
ロボットハンド制御装置制御手段34は、CPUなどの制御装置であり、ロボットハンド制御装置30Aの全体を制御する。例えば、ロボットハンド制御装置制御手段34は、ロボットハンド制御装置30Aに、後述する
図4のフローチャートの処理を行わせる。
【0032】
モータ制御手段35は、ロボットハンド制御装置制御手段34からの指示に基づき、ロボットハンド40のモータ47A~47Nの駆動を制御する。例えば、モータ制御手段35は、ロボットハンド制御装置制御手段34から、ロボットハンド40の親指部41に取り付けられているモータ47Aを所定方向に90度回転させるようにとの指示を受けた場合には、モータ47Aを所定方向に90度回転させる。
【0033】
なお、グローブ10の各指の動きと、ロボットハンド40の各指の動きは、連動している。例えば、ユーザがグローブ10を着用し、グローブ10の親指部11を真っすぐに伸ばした状態(つまり、曲げ角度が0度の状態)から、親指部11の第1関節(
図1において、曲げセンサ17Aが取り付けられている部分)を、90度、手の平部16側に曲げた状態(つまり、曲げ角度が90度の状態)にすると、それに連動して、ロボットハンド40では、モータ47Aが回転することにより、親指部41が真っすぐに伸びた状態から、親指部41の第1関節が、90度、手の平部46側に曲がる。このような制御を行うことにより、グローブ10において、手を握ったり、手を開いたりすると、ロボットハンド40側でも、手を握ったり、手を開いたりする処理が行われる。よって、ユーザは、グローブ10を着用して、指の関節を曲げたり伸ばしたりすることにより、離れた場所にあるロボットハンド40にも、同じ手の動きをさせることができる。
【0034】
ただし、ロボットハンド40の手の平部46上に、ある物体が存在するものの、グローブ10の手の平部16上には、何も物体が存在しないような場合、ユーザが、グローブ10を着用して、手の平を握った場合、ロボットハンド40側では、手の平部46に物体が存在するため、手の平を完全に握ることはできない。このような場合、ロボットハンド40の手の平部46に物体が存在するにもかかわらず、ロボットハンド40において、手の平を握ろうとすると、モータ47A~47Nは、回転ができないのに回転を継続しようとすることにより、モータ47A~47Nに過電流が流れ、モータ47A~47Nの温度が急上昇して、モータ47A~47Nが壊れるおそれがある。本実施形態では、このような問題が起こることを回避するために、ロボットハンド制御装置30Aは、
図4で示す処理を行う。
【0035】
図4は、本実施形態によるロボットハンド制御装置30Aの処理を示すフローチャートである。始めに、ロボットハンド制御装置30Aの反力センサデータ取得手段32は、ロボットハンド40に取り付けられている反力センサ48A~48Eから、反力センサ48A~48Eが測定したデータを取得する(ステップS101)。
【0036】
次に、ロボットハンド制御装置制御手段34は、曲げセンサ17A~17Nと、モータ47A~47Nが連動しているか否かについて判定する(ステップS102)。曲げセンサ17A~17Nと、モータ47A~47Nが連動している状態とは、曲げセンサ17A~17Nが検出した抵抗値に基づいて求められる曲げ角度と同じ角度だけ、モータ47A~47Nを回転させることができる状態をいう。例えば、曲げセンサ17A~17Nが検出した抵抗値に基づいて求められる曲げ角度が変化しているのに、モータ47A~47Nが停止していたり、曲げセンサ17A~17Nが検出した抵抗値に基づいて求められる曲げ角度とは異なる角度に、モータ47A~47Nが回転したりする状態は、曲げセンサ17A~17Nと、モータ47A~47Nが連動していない状態(つまり、非連動状態)である。
【0037】
ステップS102で「YES」と判定された場合には、ロボットハンド制御装置制御手段34は、反力センサ48A~48Eが検出する反力が、第1の時間の間に、第1の所定量以上増加したか否かについて判定する(ステップS103)。
【0038】
なお、
図5は、本実施形態による反力センサ48A~48Eが検出する反力の一例を示すグラフである。
図5において、横軸は時間であり、縦軸は、反力センサ(例えば、反力センサ48A)が測定する反力を示している。
図4のフローチャートのステップS103では、例えば、ロボットハンド制御装置制御手段34は、反力センサ48A~48Eが検出する反力が、第1の時間(
図5の時刻t12と時刻t11の差分の時間であり、例えば、0.5秒間)の間に、第1の所定量(
図5の反力P12と反力P11の差分であり、例えば、2.0N(ニュートン))以上増加したか否かについて判定する。なお、ここでは、第1の時間が、0.5秒間である場合について説明するが、これに限定されるものではなく、第1の時間を、0.5秒間よりも短くしたり(例えば、0.1秒間)、0.5秒間よりも長くしたりしてもよい(例えば、1.0秒間)。また、ここでは、第1の所定量が、2.0Nである場合について説明するが、これに限定されるものではなく、第1の所定量を、2.0Nよりも小さくしたり(例えば、1.0N)、2.0Nよりも大きくしたりしてもよい(例えば、4.0N)。
【0039】
図4のフローチャートのステップS103で、「YES」と判定された場合には、つまり、反力センサ48A~48Eが検出する反力が、第1の時間の間に、第1の所定量以上増加したと判定された場合には、ロボットハンド制御装置制御手段34は、反力センサ48A~48Eが検出する反力が、第2の時間の間に、第2の所定量以上、変動しなかったか否かについて判定する(ステップS104)。
図4のフローチャートのステップS104では、例えば、ロボットハンド制御装置制御手段34は、反力センサ48A~48Eが検出する反力が、第2の時間(
図5の時刻t13と時刻t12の差分の時間であり、例えば、1.0秒間)の間に、第2の所定量(
図5の反力P15と反力P13の差分であり、例えば、0.4N(ニュートン))以上、変動しなかったか否かについて判定する。なお、ここでは、第2の時間が、1.0秒間である場合について説明するが、これに限定されるものではなく、第1の時間を、1.0秒間よりも短くしたり(例えば、0.5秒間)、1.0秒間よりも長くしたりしてもよい(例えば、2.0秒間)。また、ここでは、第2の所定量が、0.4Nである場合について説明したが、これに限定されるものではなく、第2の所定量を、0.4Nよりも小さくしたり(例えば、0.2N)、0.4Nよりも大きくしたりしてもよい(例えば、1.0N)。
【0040】
図4のフローチャートのステップS104で、「YES」と判定された場合には、つまり、反力センサ48A~48Eが検出する反力が、第2の時間の間に、第2の所定量以上、変動しなかった場合には、モータ制御手段35は、モータ47A~47Nを停止させる(ステップS105)。これにより、曲げセンサ17A~17Nと、モータ47A~47Nは、非連動の状態になり、曲げセンサ17A~17Nにより、曲げ角度に変化が生じている場合であっても、モータ47A~47Nは駆動しない。これにより、ロボットハンド40が、物体を把持しているのに、更に、モータ47A~47Nを更に回転させ続けることにより、モータ47A~47Nに過電流が流れて、モータ47A~47Nの温度が急上昇することを防ぐことができる。
【0041】
図4のステップS105の処理が行われた後、ロボットハンド制御装置制御手段34は、第2の時間(
図5の時刻t13と時刻t12の差分の時間)の始まりの時刻(
図5の時刻t12)における反力(
図5の反力P14)を、基準反力に設定する(ステップS106)。なお、反力P14の値は、例えば、5.0Nである。
【0042】
図4のステップS106の処理が行われた後、モータ制御手段35は、モータ47A~47Nを、所定方向(ロボットハンド40において、手の平が開いた状態から、手の平を握った状態にするようにモータ47A~47Nを回転させる方向)とは逆方向(ロボットハンド40において、手の平を握った状態から、手の平を開いた状態にするようにモータ47A~47Nを回転させる方向)に、所定量(第3の所定量とも称し、例えば、1度)回転させる(ステップS107)。なお、ステップS107で用いられる所定量は、例えば、1度である場合について説明するが、この所定量は、1度よりも小さくてもよいし(例えば、0.5度)、1度よりも大きくてもよい(例えば、2.0度)。
【0043】
なお、
図4のステップS107の処理により、反力センサ48A~48Eが検出する反力は、
図5において、反力P14から反力P13まで減少する。これにより、ロボットハンド40は、物体を把持する力を、少し弱めることができ、モータ47A~47Nにかかる負荷を軽減することができる。
図4のステップS107の処理が行われた後、再度、ステップS101の処理が行われる。
【0044】
一方、
図4のステップS102の処理で、「NO」と判定された場合、つまり、曲げセンサ17A~17Nと、モータ47A~47Nが連動していないと判定された場合には、ロボットハンド制御装置制御手段34は、曲げセンサ17A~17Nが取得する反力が、基準反力より小さいか否かを判定する(ステップS108)。なお、基準反力は、予め記憶手段33に所定値が記憶されており、ステップS106の処理が行われた後は、ステップS106で設定された基準反力の値に更新される。
【0045】
図4のステップS108で「NO」と判定された場合、つまり、曲げセンサ17A~17Nが取得する反力が、基準反力より小さくないと判定された場合には、再度、ステップS101の処理が行われる。一方、
図4のステップS108で「YES」と判定された場合、つまり、曲げセンサ17A~17Nが取得する反力が、基準反力より小さいと判定された場合には、ロボットハンド制御装置制御手段34は、モータ47A~47Nの現在の回転角から、曲げセンサ所定値を求める(ステップS109)。曲げセンサ所定値は、モータ47A~47Nの現在の回転角におけるロボットハンド40の形状と同じ形状にグローブ10がなっている場合に、曲げセンサ17A~17Nで検出される曲げ角度である。モータ47A~47Nの回転角と、曲げセンサ所定値との関係は、予め、テーブルとして記憶手段33に記憶されるか、あるいは、モータ47A~47Nの回転角と、曲げセンサ所定値との関係を定める数式が、テーブルとして記憶手段33に記憶される。
【0046】
図4のステップS109の処理が行われた後、曲げセンサデータ受信手段31は、曲げセンサ17A~17Nが計測する抵抗値に対応する曲げ角度を、曲げ角度計測装置20の曲げセンサデータ送信手段から取得する(ステップS110)。
【0047】
図4のステップS110の処理が行われた後、ロボットハンド制御装置制御手段34は、ステップS110で取得した曲げ角度が、ステップS109で求めた曲げセンサ所定値より小さいか否かについて判定する(ステップS111)。ステップS111で「NO」の場合、つまり、ステップS110で取得した曲げ角度が、ステップS109で求めた曲げセンサ所定値より小さくない場合には、再度、ステップS110の処理が行われる。
【0048】
一方、ステップS111で「YES」の場合、つまり、ステップS110で取得した曲げ角度が、ステップS109で求めた曲げセンサ所定値より小さい場合には、モータ制御手段35は、曲げセンサ17A~17Nと、モータ47A~47Nの連動を再開させる(ステップS113)。つまり、モータ制御手段35は、曲げセンサ17A~17Nが計測する抵抗値に基づいて求められる曲げ角度と同じ角度になるように、モータ47A~47Nを回転させる。なお、ステップS111で「YES」の場合には、ロボットハンド40が物体から離れるため、
図5のグラフの時刻t14で示すように、反力が急低下する。
【0049】
ステップS113の処理が行われた後、または、ステップS103で「NO」と判定された場合には、曲げセンサデータ受信手段31は、曲げセンサ17A~17Nが計測する抵抗値に対応する曲げ角度を取得する(ステップS112)。ステップS112の処理が行われた後、ロボットハンド制御装置制御手段34は、ステップS112で取得した曲げ角度に対応するモータ47A~47Nの回転角を求める(ステップS114)。
【0050】
ステップS114の処理が行われた後、モータ制御手段35は、ステップS114で求めたモータ47A~47Nの回転角に基づいて、モータ47A~47Nを回転させる(ステップS115)。つまり、モータ制御手段35は、グローブ10の手の形状と、ロボットハンド40の手の形状が同じになるように、モータ47A~47Nを回転させる。ステップS115の処理が行われた後は、再度、ステップS101の処理が行われる。
【0051】
図6は、本実施形態によるロボットハンド制御装置30Aを用いた場合の効果を説明する図である。
図6において、横軸は時間を示しており、縦軸は、ロボットハンド40が備えるモータ47A~47Nの温度を示している。
【0052】
図6において、破線で示す線g1は、関連するロボットハンド制御装置が物体を把持するのを、マスタ側のグローブで制御する場合を示している。線g1は、関連するロボットハンド制御装置を用いた場合におけるロボットハンドが備えるモータの温度変化を示す。関連するロボットハンド制御装置は、時刻t1において、物体の把持を開始する。時刻t1以前においては、関連するロボットハンド制御装置は、物体を把持していないため、温度は、TA度で一定である。なお、時刻t1においては、モータには、例えば、0.3Aの電流が流れる。時刻t1以降は、マスタ側のグローブにおいて、手の平を握ろうとするものの、スレーブ側のロボットハンドは、物体を把持しており、それ以上、指を内側に曲げることはできないため、ロボットハンドを駆動するモータに過電流が流れて、モータの温度が、急上昇してしまう。
【0053】
一方、
図6において、実線で示す線g2は、本実施形態のロボットハンド制御装置30Aが物体を把持するのを、マスタ側のグローブ10で制御する場合を示している。線g2は、本実施形態のロボットハンド制御装置30Aを用いた場合におけるロボットハンド40が備えるモータ47A~47Nの温度変化を示す。本実施形態のロボットハンド制御装置30Aは、時刻t1において、物体の把持を開始する。時刻t1以前においては、本実施形態のロボットハンド制御装置30Aは、物体を把持していないため、温度は、TA度で一定である。また、時刻t1以降は、マスタ側のグローブ10において、手の平を握ろうとするものの、スレーブ側のロボットハンド40は、物体を把持しており、それ以上、指を内側に曲げることはできない。しかし、本実施形態では、
図4のフローチャートのステップS105の処理が、時刻t1で行われ、モータ47A~47Nが停止されるため、ロボットハンド40を駆動するモータ47A~47Nに過電流が流れて、モータ47A~47Nの温度が、急上昇することを防ぐことができる。よって、モータ47A~47Nの寿命が短くなったり、故障したりする可能性を低くすることができる。また、モータ47A~47Nに過電流が流れることを防ぐことにより、グローブ10で、ロボットハンド40を安全に遠隔操作することが可能となる。
【0054】
なお、特許文献1で開示されているロボットアーム制御システムでは、ロボットアームが、硬い物体を把持する場合であっても、柔らかい物体を把持する場合であっても、同じ閾値を用いた制御が行われる。そのため、ロボットアームが、硬い物体を把持する場合と同じ力で、柔らかい物体を把持した場合に、反力が所定の閾値を超えずに、ロボットアームのモータが駆動し続け、モータに過電流が流れることがある。しかし、本実施形態によるロボットアーム制御システム100を用いれば、ロボットハンド40が、硬い物体を把持する場合であっても、柔らかい物体を把持する場合であっても、物体から受ける反力が、第1の時間(例えば、
図5の時刻t12と時刻t11の差分の時間)の間に、第1の所定量(例えば、
図5の反力P12と反力P11の差分)以上増加し、その後、反力が、第2の時間の間(例えば、
図5の時刻t13と時刻t12の差分の時間)に、第2の所定量(例えば、
図5の反力P15と反力P13の差分)以上、変動しなかった場合に、ロボットハンド40が備えるモータ47A~47Nの駆動を停止させるため、ロボットハンド40により物体を把持した後に、モータ47A~47Nに過電流が流れることにより、モータ47A~47Nの温度が上昇することを防ぐことができる。硬い物体を把持する場合と、柔らかい物体を把持する場合とでは、ロボットハンド40が受ける反力(つまり、
図5に示す反力P14)が異なる。しかし、ロボットハンド40により、硬い物体を把持した場合であっても、柔らかい物体を把持した場合であっても、それらの物体から受ける反力には、第1の時間の間に、第1の所定量以上増加し、その後、反力が、第2の時間の間に、第2の所定量以上、変動しないという特徴が表れる。本実施形態では、反力に関するこのような特徴を検出することにより、物体が硬いか柔らかいかにかかわらず、ロボットハンド40により物体を把持することができるとともに、ロボットハンド40が備えるモータ47A~47Nに過電流が流れることにより、モータ47A~47Nの温度が上昇することを防ぐことができる。
【0055】
また、本実施形態によれば、マスタ側のグローブ10と、スレーブ側のロボットハンド40の連動を停止させるが(
図4のステップS105参照)、ユーザは、グローブ10を着用中に、グローブ10とロボットハンド40の連動が停止していることを感じることなく操作することができるため、操作性を向上させることができる。
【0056】
なお、上述した実施形態では、ロボットハンド40の指の本数が、5本である場合について説明したが、これに限定されるものではなく、例えば、ロボットハンド40の指の本数を、3本にしたり、10本にしたりしてもよい。
【0057】
また、上述した実施形態では、グローブ10に取り付けられた曲げセンサ17A~17Nにより、グローブ10の各指の関節の曲げ角度を特定する場合について説明したが、これに限定されるものではない。例えば、グローブ10に曲げセンサ17A~17Nを設けることなく、グローブ10の各指を、カメラで撮影することにより、グローブ10の各指の関節の曲げ角度を特定するようにしてもよい。
【0058】
また、上述した実施形態では、グローブ10の5本の指の動きと、ロボットハンド40の5本の指の動きを連動させる場合について説明したが、これに限定されるものではない。例えば、グローブ10の少なくとも1本の指(例えば、親指部11)の動きと、それに対応するロボットハンド40の少なくとも1本の指(例えば、親指部41)のみを連動させる場合であっても、本実施形態を適用することができる。また、グローブ10の少なくとも1本の指の少なくとも1つの関節(例えば、親指部11の第1関節)の動きと、それに対応するロボットハンド40の少なくとも1本の指の少なくとも1つの関節(例えば、親指部41の第1関節)のみを連動させる場合であっても、本実施形態を適用することができる。
【0059】
図7は、本実施形態の最小構成を有するロボットハンド制御装置30Bの構成を示す概略ブロック図である。ロボットハンド制御装置30Bは、反力取得手段311、駆動機構制御手段312を備える。反力取得手段311は、ロボットハンド40が物体を把持する際に、ロボットハンド40の第1の指(例えば、親指部41)に加わる反力を取得する。駆動機構制御手段312は、反力取得手段311が取得した反力が、第1の時間(例えば、
図5の時刻t12と時刻t11の差分の時間)の間に、第1の所定量(例えば、
図5の反力P12と反力P11の差分)以上増加し、その後、反力が、第2の時間(例えば、
図5の時刻t13と時刻t12の差分の時間)の間に、第2の所定量(例えば、
図5の反力P15と反力P13の差分)以上、変動しなかった場合に、ロボットハンド40の第1の指の第1の曲げ角度を変化させる駆動機構(例えば、モータ47A)の駆動を停止させる。
【0060】
図8は、本実施形態によるロボットハンド制御方法の処理を示すフローチャートである。始めに、ロボットハンド40が物体を把持する際に、ロボットハンド40の第1の指に加わる反力を取得する(ステップS201)。次に、取得した反力が、第1の時間の間に、第1の所定量以上増加し、その後、反力が、第2の時間の間に、第2の所定量以上、変動しなかった場合に、ロボットハンド40の第1の指の第1の曲げ角度を変化させる駆動機構の駆動を停止させる(ステップS202)。
【0061】
なお、
図2、
図3、
図7における各部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の機能を実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWW(World Wide Web)システムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM(Read Only Memory)、CD(Compact Disk)-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM(Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
【0062】
なお、上記の本実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【0063】
(付記1)
ロボットハンドが物体を把持する際に、前記ロボットハンドの第1の指に加わる反力を取得する反力取得手段と、
前記反力取得手段が取得した前記反力が、第1の時間の間に、第1の所定量以上増加し、その後、前記反力が、第2の時間の間に、第2の所定量以上、変動しなかった場合に、前記ロボットハンドの前記第1の指の第1の曲げ角度を変化させる駆動機構の駆動を停止させる駆動機構制御手段と、
を備えるロボットハンド制御装置。
【0064】
(付記2)
前記駆動機構制御手段は、
前記第2の時間の経過後に、前記反力取得手段が取得する前記反力が、所定の反力以下となった場合に、前記駆動機構の駆動を再開させる
付記1に記載のロボットハンド制御装置。
【0065】
(付記3)
前記駆動機構制御手段は、
前記ロボットハンドの前記第1の指が、前記物体を把持する際には、前記駆動機構を、所定の方向に駆動させ、
前記反力取得手段が取得した前記反力が、前記第1の時間の間に、前記第1の所定量以上増加し、その後、前記反力が、前記第2の時間の間に、前記第2の所定量以上、変動しなかった場合には、前記駆動機構を、前記所定の方向とは逆方向に、第3の所定量だけ駆動させた後に、前記駆動機構を停止させる
付記1又は付記2に記載のロボットハンド制御装置。
【0066】
(付記4)
前記駆動機構制御手段は、
前記駆動機構を、前記所定の方向とは逆方向に、前記第3の所定量だけ駆動させた後に、前記反力取得手段が取得する前記反力が、前記所定の反力以下となった場合に、前記駆動機構の駆動を再開させる
付記3に記載のロボットハンド制御装置。
【0067】
(付記5)
前記ロボットハンドの前記第1の指に対応する指であって、前記ロボットハンドと連動するマスタグローブの第2の指の第2の曲げ角度を取得する曲げ角度取得手段を更に備え、
前記駆動機構制御手段は、
前記曲げ角度取得手段が取得した前記第2の曲げ角度に基づいて、前記駆動機構を駆動させる
付記1から付記4までのいずれか一つに記載のロボットハンド制御装置。
【産業上の利用可能性】
【0068】
本発明は、ロボットハンドが把持する物体が硬いか柔らかいかにかかわらず、その物体を把持する際に、ロボットハンドの指を駆動する駆動機構に過電流が流れることを防ぐことが必要なロボットハンド制御装置、ロボットハンド制御方法及びプログラムなどに適用することができる。
【符号の説明】
【0069】
10・・・グローブ、
11・・・親指部、
12・・・人差し指部、
13・・・中指部、
14・・・薬指部、
15・・・小指部、
16・・・手の平部、
17A~17N・・・曲げセンサ、
20・・・曲げ角度計測装置、
21・・・曲げセンサデータ取得手段、
22・・・曲げ角度計測装置制御手段、
23・・・曲げセンサデータ送信手段、
30A、30B・・・ロボットハンド制御装置、
31・・・曲げセンサデータ受信手段、
32・・・反力センサデータ取得手段、
33・・・記憶手段、
34・・・ロボットハンド制御装置制御手段、
35・・・モータ制御手段、
40・・・ロボットハンド、
41・・・親指部、
42・・・人差し指部、
43・・・中指部、
44・・・薬指部、
45・・・小指部、
46・・・手の平部、
47A~47N・・・モータ、
48A~48E・・・反力センサ、
100・・・ロボットハンド制御システム、
411、421、431、441、451・・・指先部、
422、432、442、452・・・中央部、
412、423、433、443、453・・・根本部