(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024119341
(43)【公開日】2024-09-03
(54)【発明の名称】把持制御装置、把持制御システム、把持制御方法、およびプログラム
(51)【国際特許分類】
B25J 13/08 20060101AFI20240827BHJP
【FI】
B25J13/08 A
【審査請求】未請求
【請求項の数】9
【出願形態】OL
(21)【出願番号】P 2023026162
(22)【出願日】2023-02-22
(71)【出願人】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100126664
【弁理士】
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100154852
【弁理士】
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100194087
【弁理士】
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】義平 真規
(72)【発明者】
【氏名】長谷川 忠明
【テーマコード(参考)】
3C707
【Fターム(参考)】
3C707ES06
3C707ES07
3C707JU12
3C707JU14
3C707KS03
3C707KS36
3C707KT01
3C707KT06
3C707LV15
(57)【要約】
【課題】物体を把持したまま特定の指先を利用者の意図に応じて移動させることができる把持制御装置、把持制御システム、把持制御方法、およびプログラムを提供することを目的とする。
【解決手段】把持制御装置は、操作対象物体を把持可能な把持部の基準座標が存在可能な軌道面であり、かつ操作対象物体に対する前記把持部の最近傍点がつくる曲面である把持支持面と、把持部の基準座標が存在可能な軌道面であり、かつ操作対象物体表面の凸部から指先が接触しない距離を結んでできる曲面である指先移動面と、を設定する設定部と、把持部が、把持支持面を移動する第1モードと指先移動面を移動する第2モードと、を切り替える切替部と、を備える。
【選択図】
図8
【特許請求の範囲】
【請求項1】
操作対象物体を把持可能な把持部の基準座標が存在可能な軌道面であり、かつ前記操作対象物体に対する前記把持部の最近傍点がつくる曲面である把持支持面と、
前記把持部の基準座標が存在可能な軌道面であり、かつ前記操作対象物体表面の凸部から指先が接触しない距離を結んでできる曲面である指先移動面と、を設定する設定部と、
前記把持部が、前記把持支持面を移動する第1モードと前記指先移動面を移動する第2モードと、を切り替える切替部と、
を備える把持制御装置。
【請求項2】
前記把持部が、前記把持支持面上または前記指先移動面上の移動が可能な二自由度の操作入力部、
を備える請求項1に記載の把持制御装置。
【請求項3】
前記操作対象物体を接触点が滑走するときに、予め計算された把持可能領域において前記把持部を移動させる制御部、
を備える請求項1または請求項2に記載の把持制御装置。
【請求項4】
前記制御部は、
前記把持可能領域において、前記把持部の把持箇所は動摩擦を利用し、他の箇所は静止摩擦を利用し、前記把持部が前記指先移動面を動くことができるとき、前記把持部の指が記操作対象物体の凸面から所定量離れたところに貼られる空間面上を移動するように制御する、
請求項3に記載の把持制御装置。
【請求項5】
前記設定部は、前記操作対象物体に関するモデルを用いて前記把持支持面と前記指先移動面を設定する、
請求項1または請求項2に記載の把持制御装置。
【請求項6】
前記軌道面における質点は、
前記操作対象物体から最近傍の前記把持部の指の腹の面上の頂点、または前記操作対象物体から最近傍の前記把持部の指の腹の面上の頂点である、
請求項1または請求項2に記載の把持制御装置。
【請求項7】
操作対象物体を把持可能な把持部の基準座標が存在可能な軌道面であり、かつ前記操作対象物体に対する前記把持部の最近傍点がつくる曲面である把持支持面と、
前記把持部の基準座標が存在可能な軌道面であり、かつ前記操作対象物体表面の凸部から指先が接触しない距離を結んでできる曲面である指先移動面と、を設定する設定部と、
前記把持部が、前記把持支持面を移動する第1モードと前記指先移動面を移動する第2モードと、を切り替える切替部と、
を備える把持制御装置と、
前記第1モードと前記第2モードを遷移可能かつ2自由度で動作する操作指示装置と、
少なくとも2つの指を備え、前記指それぞれは関節を備える把持部と、
把持制御方法。
【請求項8】
設定部が、操作対象物体を把持可能な把持部の基準座標が存在可能な軌道面であり、かつ前記操作対象物体に対する前記把持部の最近傍点がつくる曲面である把持支持面と、前記把持部の基準座標が存在可能な軌道面であり、かつ前記操作対象物体表面の凸部から指先が接触しない距離を結んでできる曲面である指先移動面と、を設定し、
切替部が、前記把持支持面において前記把持部を移動させる第1モードと、前記指先移動面において前記把持部を移動する第2モードと、を切り替える、
把持制御システム。
【請求項9】
把持制御装置のコンピュータに、
操作対象物体を把持可能な把持部の基準座標が存在可能な軌道面であり、かつ前記操作対象物体に対する前記把持部の最近傍点がつくる曲面である把持支持面と、前記把持部の基準座標が存在可能な軌道面であり、かつ前記操作対象物体表面の凸部から指先が接触しない距離を結んでできる曲面である指先移動面と、を設定させ、
前記把持支持面において前記把持部を移動させる第1モードと、前記指先移動面において前記把持部を移動する第2モードと、を切り替えさせる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、把持制御装置、把持制御システム、把持制御方法、およびプログラムに関する。
【背景技術】
【0002】
ゲームなどのコントローラとして、手首や指の動きを検出してコマンドを生成してゲーム等を制御する入力装置がある(例えば、特許文献1参照)。このようなグローブタイプのコントローラは、利用者の手に装着されて利用される。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の入力装置でロボット等を遠隔操作する場合は、人の手の幾何形状と、ロボットハンドの幾何形状とが異なるため、操作にズレが生じ、微細な指先の位置の制御が困難であった。特に、グローブでは、実際に物体を持っているわけではないので、物体のサイズ感を利用者が知覚しにくいという欠点があった。例えば、利用者がロボットの指を物体表面にそって指をすべらせたいときやロボットハンドの一部の指だけ物体から離して移動させたい場合は、これらの操作を実現できないという問題があった。
【0005】
本発明は、上記の問題点に鑑みてなされたものであって、物体を把持したまま特定の指先を利用者の意図に応じて移動させることができる把持制御装置、把持制御システム、把持制御方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
(1)上記目的を達成するため、本発明の一態様に係る把持制御装置は、操作対象物体を把持可能な把持部の基準座標が存在可能な軌道面であり、かつ前記操作対象物体に対する前記把持部の最近傍点がつくる曲面である把持支持面と、前記把持部の基準座標が存在可能な軌道面であり、かつ前記操作対象物体表面の凸部から指先が接触しない距離を結んでできる曲面である指先移動面と、を設定する設定部と、前記把持部が、前記把持支持面を移動する第1モードと前記指先移動面を移動する第2モードと、を切り替える切替部と、を備える把持制御装置である。
【0007】
(2)(1)の把持制御装置において、前記把持部が、前記把持支持面上または前記指先移動面上の移動が可能な二自由度の操作入力部、を備えるようにしてもよい。
【0008】
(3)(1)または(2)の把持制御装置において、前記操作対象物体を接触点が滑走するときに、予め計算された把持可能領域において前記把持部を移動させる制御部、を備えるようにしてもよい。
【0009】
(4)(3)の把持制御装置において、前記制御部は、前記把持可能領域において、前記把持部の把持箇所は動摩擦を利用し、他の箇所は静止摩擦を利用し、前記把持部が前記指先移動面を動くことができるとき、前記把持部の指が記操作対象物体の凸面から所定量離れたところに貼られる空間面上を移動するように制御するようにしてもよい。
【0010】
(5)(1)から(4)のうちのいずれか1つの把持制御装置において、前記設定部は、前記操作対象物体に関するモデルを用いて前記把持支持面と前記指先移動面を設定するようにしてもよい。
【0011】
(6)(1)から(5)のうちのいずれか1つの把持制御装置において、前記軌道面における質点は、前記操作対象物体から最近傍の前記把持部の指の腹の面上の頂点、または前記操作対象物体から最近傍の前記把持部の指の腹の面上の頂点であるようにしてもよい。
【0012】
(7)上記目的を達成するため、本発明の一態様に係る把持制御システムは、操作対象物体を把持可能な把持部の基準座標が存在可能な軌道面であり、かつ前記操作対象物体に対する前記把持部の最近傍点がつくる曲面である把持支持面と、前記把持部の基準座標が存在可能な軌道面であり、かつ前記操作対象物体表面の凸部から指先が接触しない距離を結んでできる曲面である指先移動面と、を設定する設定部と、前記把持部が、前記把持支持面を移動する第1モードと前記指先移動面を移動する第2モードと、を切り替える切替部と、を備える把持制御装置と、前記第1モードと前記第2モードを遷移可能かつ2自由度で動作する操作指示装置と、少なくとも2つの指を備え、前記指それぞれは関節を備える把持部と、把持制御システムである。
【0013】
(8)上記目的を達成するため、本発明の一態様に係る把持制御方法は、設定部が、操作対象物体を把持可能な把持部の基準座標が存在可能な軌道面であり、かつ前記操作対象物体に対する前記把持部の最近傍点がつくる曲面である把持支持面と、前記把持部の基準座標が存在可能な軌道面であり、かつ前記操作対象物体表面の凸部から指先が接触しない距離を結んでできる曲面である指先移動面と、を設定し、切替部が、前記把持支持面において前記把持部を移動させる第1モードと、前記指先移動面において前記把持部を移動する第2モードと、を切り替える、把持制御方法である。
【0014】
(9)上記目的を達成するため、本発明の一態様に係るプログラムは、把持制御装置のコンピュータに、操作対象物体を把持可能な把持部の基準座標が存在可能な軌道面であり、かつ前記操作対象物体に対する前記把持部の最近傍点がつくる曲面である把持支持面と、前記把持部の基準座標が存在可能な軌道面であり、かつ前記操作対象物体表面の凸部から指先が接触しない距離を結んでできる曲面である指先移動面と、を設定させ、前記把持支持面において前記把持部を移動させる第1モードと、前記指先移動面において前記把持部を移動する第2モードと、を切り替えさせる、プログラムである。
【発明の効果】
【0015】
(1)~(9)によれば、物体を把持したまま特定の指先を利用者の意図に応じて移動させることができる。
【図面の簡単な説明】
【0016】
【
図1】実施形態に係る把持制御システムの概要を示す図である。
【
図2】実施形態に係る軌道面の第1設定例を説明するための図である。
【
図3】実施形態に係る軌道面の第2設定例を説明するための図である。
【
図4】エッジに曲面があるスマートフォンのような物体を把持する場合の把持可能領域の例を示す図である。
【
図5】把持可能領域における初期把持位置から補正位置までの探索のイメージ図である。
【
図6】把持位置決定処理を説明するための図である。
【
図7】軌道面を移動させる質点を説明するための図である。
【
図8】実施形態に係る把持制御システムの構成例を示すブロック図である。
【
図9】実施形態に係る把持制御システムによる制御手順例を示すフローチャートである。
【発明を実施するための形態】
【0017】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の説明に用いる図面では、各部材を認識可能な大きさとするため、各部材の縮尺を適宜変更している。
なお、実施形態を説明するための全図において、同一の機能を有するものは同一符号を用い、繰り返しの説明は省略する。
また、本願でいう「XXに基づいて」とは、「少なくともXXに基づく」ことを意味し、XXに加えて別の要素に基づく場合も含む。また、「XXに基づいて」とは、XXを直接に用いる場合に限定されず、XXに対して演算や加工が行われたものに基づく場合も含む。「XX」は、任意の要素(例えば、任意の情報)である。
【0018】
[把持制御システムの概要]
図1は、実施形態に係る把持制御システムの概要を示す図である。なお、
図1では、ハンド3のみを示しているが、ロボットの構成や形状等はこれに限らない。ロボットは、例えば、双椀と頭部とボディを備えていてもよい。
【0019】
図1のように、利用者は、ハンド3の操作のため操作指示装置4を操作する。操作指示装置4は、例えばジョイスティック41等である。なお、操作指示装置4は、例えばジョイスティックを41指毎に備えている。また、
図1のように、操作指示装置4は、人の手の形状に合わせて、一方の面に親指用のジョイスティック、他方の面に他の指用のジョイスティック41を備える。なお、ジョイスティック41は操作指示装置4の一例であり、これに限らず他の操作指示入力装置であってもよい。また、操作指示装置4の形状や構成は一例であり、これに限らない。操作指示装置4は、例えば、データグローブ等の指先等に2つの状態を検出するセンサを持たせるようにしてもよい。
【0020】
また、ハンド3の周囲または作業環境には、環境センサ5が設置されている。なお、環境センサ5は、ロボットに取り付けられていてもよい。
【0021】
また、ハンド3の把持部33は、少なくとも2本以上の指部331(331a,331b,331c,331d,331e)を備える。利用者は、例えば、表示部に表示された画像を見ながら、またはハンド3の動作状態を見ながら、操作指示装置4を動かすことで、ハンド3を遠隔操作する。
なお、ハンド3の各指先は、少なくとも1つの関節を備える。また、各指先には、例えば6軸センサが取り付けられている。
【0022】
また、符号g1は第1の関節であり、符号g2は第2の関節であり、符号g3は第3の関節である。本実施形態では、このような3つの関節を「3Y」と言う。また、3Yに接続される剛体を「3Yリンク」という。
【0023】
[軌道面]
本実施形態では、ハンド3の指先リンクの基準座標が存在可能な軌道面(把持支持面と指先移動面)を物体周辺に定義する。
指先が移動可能な軌道面を定義することで、ハンド3は、指先一本ずつの移動用の軌道生成を常に計算する手間が省ける。ハンド3は、指先を操作対象物体(実施形態では、単に「物体」ともいう)に沿わせて動かすときの軌道の集合=操作対象物体に対する指先の最近傍点がつくる第1曲面(concavehull)、または指先を操作対象物体から最低限だけ離して動かすときの軌道の集合=操作対象物体面の凸包から指先が接触しない距離を結んでできる第2曲面(convexhull)、に沿って指を把持可能領域で移動させることができる。
なお、軌道面の数は、2つ以上であってもよく、例えばconcavehull軌道を2つ、convexhull軌道を3つ等であってもよい。なお、concavehull軌道、convexhull軌道については後述する。
【0024】
図2は、本実施形態に係る軌道面の第1設定例を説明するための図である。第1設定例では、符号g10のように、操作対象物体Objの表面g11に対する指部331の指先(例えば親指331aの指先)の最近傍点g13がつくる曲面g12を軌道面(把持支持面)に設定する。なお、符号g10の図は、操作対象物体Objを横から見た図であり、二次元で示している。符号g13は、操作対象物体Objの長手方向の中心である。
【0025】
この場合は、符号g20の図の長円で囲んだg21、g22内の矢印ように、操作対象物体Objの表面から指を離さずに、指先を滑らすように移動させる。すなわち、第1設定例では、物体ポリゴンに沿って、指先を移動させる。なお、符号g20の図ように、操作対象物体Objに対して、指を滑らす反対側は、例えば指部331b,331c,331d,331eで支える。なお、この場合は、後述する把持可能領域内の操作対象物体表面で、軌道面(concavehull)を算出する。
【0026】
図3は、本実施形態に係る軌道面の第2設定例を説明するための図である。第2設定例では、符号g20のように、操作対象物体Objの表面g31の凹部を覆った凸包g32から指部331の指先(例えば親指331aの指先)が接触しない距離を結んでできる曲面g33を軌道面(指先移動面)に設定する。なお、符号g20の図は、操作対象物体Objを横から見た図であり、二次元で示している。
【0027】
この場合は、符号g40の図の長円で囲んだg41、g42内の矢印ように、操作対象物体Objの表面から指を話して移動させ、持ち替える状態である。すなわち、第2設定例では、物体ポリゴンから一定距離上で指先を移動させる。なお、符号g40の図ように、操作対象物体Objに対して、指を滑らす反対側は、例えば指部331b,331c,331d,331eで支える。なお、この場合は、後述する把持可能領域内で凸包を計算して、計算した凸包に基づいて軌道面(convexhull)を算出する。
【0028】
なお、作業において、予め記憶されている操作対象物体のモデルを持っている。または、未知の物体に対しては、ロボットが備えるセンサやカメラ、環境センサを用いて、センシングして操作対象物体のモデル作る。把持制御装置2は、例えば、ハンド3の掌、手首、指先等にカメラが取り付けられている場合、このカメラが撮影した画像を用いてモデルを作成する。カメラは、例えば、深度情報Dも得られるRGB(赤緑青)Dカメラである。把持制御装置2は、このようにして得たポイントクラウド情報を繰り返し撮影して重ねていくことで、ポリゴンモデルを生成する。このようなポリゴンモデルには、物体の形状、物体の重量、物体の重心位置等の情報が含まれている。なお、ポリゴンにおいて、例えば所定単位あたりのポリゴンの重さをかけることで、把持制御装置2は物体の重量を推定する。また、把持制御装置2は、密度が一定であると仮定して、物体の中心または重心を求める。なお、上述した未知の物体のモデル生成方法は一例であり、これに限らない。
【0029】
把持制御装置2は、予め記憶されているモデル、またはセンシングして生成したポリゴンモデルを用いて、物体ポリゴン表面の法線方向に所定距離離れた位置を結ぶ面を軌道面とする。なお、把持制御装置2は、所定距離を、例えば、(1)物体の全周囲を均等に一定距離とする、(2)物体上の滑りやすい位置では近距離、物体可動部近くでは物体表面から遠距離とする。
【0030】
ロボットは、このモデルと、利用者の作業指示に応じて操作対象物体を触りに行く。このとき、例えば3つの指(中指、人差し指、親指)で、操作対象物体を把持しようとすると、ハンド3が備える6軸センサの検出値を用いて、初期状態で操作対象物体を把持した際の安定性を求めることができる。そして、接触点を得た後に利用者がハンド3の指を移動させたい場合、把持制御装置2は、利用者が入力した指示値通りに指を動かすのではなく、現在の接触点が軌道にあれば、指示に応じて指を移動させる。この場合は、操作対象物体の表面上の点が接触点であり、接触点における把持した指と他の把持している指との力の釣り合い方程式が解け続け、かつ横摩擦力の総和が大きすぎないように、横摩擦力の総和が小さい領域をプロットした領域が把持可能領域である。
【0031】
なお、
図2、
図3に示した把持位置や、操作対象物体の形状や表面形状等は一例であり、これに限らない。例えば、
図2において、操作対象物体の表面は、窪んでいる箇所や、出っ張っている箇所が存在していてもよい。
【0032】
なお、操作対象物体を把持したり、支えている状態でハンド3の指を移動させる場合、従来は摩擦力に基づいていた。しかしながら、従来技術では、指と操作対象物体との摩擦力を実測しながら操作することが難しかった。
これに対して、本実施形態では、指を移動させる、動かすことが重要であるため、移動可能な点等の集合を積分すると面(軌道面)となるため、この軌道面を用いるようにした。これにより、本実施形態によれば、操作対象物体を支持したまま、軌道面かつ把持可能領域で指を移動させることで、持ち替えや安定した把持状態にすることができる。
【0033】
[軌道面の移動条件]
次に、軌道面の移動条件を、
図4~
図6を用いて説明する。
図4は、エッジに曲面があるスマートフォンのような物体を把持する場合の把持可能領域の例を示す図である。
図4の例では、スマートフォンをハンド3が親指331a、人差し指331b、中指331cで把持した状態で、さらに安定的に把持できるように親指331aの把持位置を補正する例である。矢印g101は、人差し指331bによる操作対象物体Objの表面に働く力である。矢印g102は、中指331cによる操作対象物体Objの表面に働く力である。すなわち、矢印g101の操作対象物体側に人差し指331bが接触し、矢印g102の操作対象物体側に中指331cが接触している。符号g103は、親指331aによる初期把持位置である。
把持位置決定装置は、仮に初期把持位置で安定して把持できない場合であっても、把持可能領域g111の領域内の軌道面を、親指331aを移動させることで安定して把持できる把持位置に指を移動させることができる。なお、把持可能領域の算出方法については、本願の発明者による特開2022-156794号公報参照。
【0034】
図5は、把持可能領域における初期把持位置から補正位置までの探索のイメージ図である。実施形態では、従来技術のように実際に操作対象物体を把持させて、把持させた操作対象物体の表面で指を移動させるのではなく、計算によって初期位置g151からコストがよりよくなる(L2ノルムが小さくなる)方向に探索していく(探索方向g153)。また、点群g161は、探索による指を移動させた場合の軌跡である。なお、軌跡は、初期位置(開始点g151)から、終了点g152までにおいて、例えば指の先端が通るべき経路である。把持位置算出部205は、このような探索経路(経由位置)のウェイポイントにおいて、指先接触点の運動方程式(釣り合い方程式)を解いて、最適な把持位置を算出する。
【0035】
なお、ウェイポイントが設定される探索経路は、操作対象物体Obj上で指が避けなければいけない位置(例えば突起部がある位置等)を迂回した経路となる。また、ウェイポイントと経路は、例えば把持候補位置を所定量ずつ移動させながら順次設定するようにしてもよい。この場合は、探索する初期位置が決まっているが終了点は決まっていない。また、ウェイポイントの間隔は等間隔であることが好ましいが、等間隔でなくてもよい。
【0036】
図6は、把持位置決定処理を説明するための図である。
図6では、3つの指(親指331a、人差し指331b、中指331c)で操作対象物体Objを把持させる例である。また、
図6の例は、人差し指331bと中指331cそれぞれの把持位置は変更せず、親指331aを移動させた場合により摩擦力が減る、すなわち把持状態が安定する把持位置を推定して決定する例である。
【0037】
矢印g211は、人差し指331bによる操作対象物体Objの表面に働く力である。矢印g212は、中指331cによる操作対象物体Objの表面に働く力である。矢印g13は、初期位置の親指331aによる操作対象物体Objの表面に働く力である。
矢印g21は、初期位置の親指331aによるz軸方向の成分である。矢印g22は、初期位置の親指331aによるx軸方向の成分である。矢印g23は、初期位置の親指331aによるy軸方向の成分である。なお、zyzは、接触座標系における座標である。
【0038】
図6において、点g232の1つずつがL2ノルムであり、濃度が濃い領域は値が低く、白の領域は値が大きいことを表している。このようなL2ノルムの分布が、摩擦力分布g231である。また、鎖線g251で囲まれた領域は、把持可能領域を表している。
また、
図6において、操作対象物体Objを把持する場合に、把持状態が安定する親指331aの把持位置は、初期位置ではなくL2ノルムが最も大きな補正位置g241である。矢印g242は、補正位置の親指331aによる操作対象物体Objの表面に働く力である。
【0039】
本実施形態では、
図5~
図7を用いて説明したような把持可能領域を軌道面の移動可能領域、すなわち、軌道面の移動可能条件とする。
【0040】
このように、本実施形態では、利用者の操作意図入力時または指誘導制御時に、指先が軌道面を選択的に移動することによって、課題を解決する。本実施形態によれば、利用者が把持のために握っている指のうちの一本以上を動かしたいとき、把持支持面でハンド3の指を動かすことができる。ただし、操作対象物体表面上を接触点が滑走するときには、操作対象物体を落とさないように、予め計算された把持可能領域内を選択的に移動させる。なお、把持可能領域は、把持させているハンド3の指だけ動摩擦を利用し、ハンド3の他の指は静止摩擦を利用する。換言すると、ハンド3の他の指で操作対象物体を支えながら、ハンド3の所定の指を移動させる。ハンド3の指が指先移動面を動くことができるとき(特定の指が操作対象物体から離れても他の接触点で物体を支えられるとき=力分配が可能な時)、ハンド3の指は、物体の凸包面から所定量離れたところに設定さられる空間面(指先移動面)上を移動することができる。
【0041】
上記のとおりに指先を制御できる把持制御装置は、以下の条件を備える。
a)ハンド3の指が把持支持面と指先移動面を往来できるようにするために、少なくとも2つの状態(接触と非接触)を切り替えられること(1自由度の操作)。
b)ハンド3の指が両軌道面上を、操作対象物体面を基準に貼られた面(2次元)上を動かせる様にするために2自由度(例えばxy面上の移動)の操作入力ができること。
c)両軌道面上で3Yリンクの基準座標を動かすためには、基準座標の位置の絶対値ではなく、基準座標の位置の相対量をベクトル入力(例えば速度や力入力)できること。または、両軌道面上で3Yリンクの基準座標を動かすためには、関節の位置の絶対値ではなく、関節の位置の相対量を入力できること。
【0042】
なお、基準座標とは、3Yリンクの中心(剛体の中心または重心)、または操作対象物体に一番近い点である。
これにより、本実施形態によれば、次元を削減して、少ない自由で指先の移動を制御することができる。
【0043】
ここで、上記の条件cについて、さらに説明する。
図7は、軌道面を移動させる質点(基準点)を説明するための図である。
符号g310は、3Yリンクの剛体の中心または重心、この場合は指の腹の中心または重心の例を質点とする例である。
符号g320は、3Yリンクの剛体上で操作対象物体から最近傍の指の腹の面上の頂点を質点とする例である。両矢印g321は、操作対象物体の表面と、指との距離である。
また、符号g310、g320において、質点に対して示している矢印は、指を動かしたいベクトル成分のイメージである。この成分を操作対象物体の中心の軸に対して積分することで三次元成分が得られる。ただし、指が移動するのは、軌道面内である。
【0044】
例えば、符号g320において、指から垂線を操作対象物体に投影した最短距離の線上の点が、把持可能領域内にあれば、指を操作対象物体の方向へ移動させることで、指をすぐに操作対象物体に触れさせることができる。
【0045】
[把持制御装置の構成例]
図8は、本実施形態に係る把持制御システムの構成例を示すブロック図である。
図8のように、把持制御システム1は、把持制御装置2と、ハンド3と、操作指示装置4と、環境センサ5を備える。
【0046】
把持制御装置2は、例えば、取得部201と、物体推定部202と、摩擦力分布算出部203と、把持可能領域選択部204と、把持位置算出部205と、切替部206と、制御部207と、記憶部208と、設定部209を備える。
【0047】
ハンド3は、センサ31、駆動部32、および把持部33を備える。
把持部33は、指部331を備える。なお、指部331は、少なくとも2つ以上の指を備える。本実施形態のハンド3は、多関節の多指を備える。
【0048】
把持制御装置2は、電源(不図示)を備えている。電源は、把持制御装置2の各部に電力を供給する。電源は、例えば充電式のバッテリや充電回路を備えていてもよい。
【0049】
環境センサ5は、撮影装置51、センサ52、物体位置検出部53、および通信部54を備える。
【0050】
なお、把持制御装置2とハンド3は、例えば、無線または有線のネットワークを介して接続されている。把持制御装置2とハンド3は、ネットワークを介さずに直接接続されてもよい。把持制御装置2と操作指示装置4は、例えば、無線または有線のネットワークを介して接続されている。把持制御装置2と操作指示装置4は、ネットワークを介さずに直接接続されてもよい。把持制御装置2と環境センサ5は、例えば、無線または有線のネットワークを介して接続されている。把持制御装置2と環境センサ5は、ネットワークを介さずに直接接続されてもよい。
【0051】
[把持制御システムの機能]
(環境センサ)
環境センサ5は、例えば操作対象の物体を撮影、検出できる位置に設置されている。なお、環境センサ5は、ロボットが備えていてもよく、ロボットに取り付けられていてもよい。または、環境センサ5は、複数であってもよく、作業環境に設置され、かつロボットにも取り付けられていてもよい。環境センサ5は、撮影された画像とセンサによって検出された検出結果に基づいて物体の位置情報を検出し、検出した物体位置情報(環境センサ値)を把持制御装置2に送信する。
【0052】
撮影装置51は、例えばRGBカメラである。撮影装置51は、撮影した画像を物体位置検出部53に出力する。なお、環境センサ5において、撮影装置51とセンサ52の位置関係が既知である。
【0053】
センサ52は、例えば深度センサである。センサ52は、検出結果を物体位置検出部53に出力する。
【0054】
物体位置検出部53は、撮影された画像とセンサによって検出された検出結果に基づいて、撮影された画像における対象物体の三次元位置等を周知の手法で検出する。物体位置検出部53は、例えば、物体位置検出部53が記憶するパターンマッチングのモデル等を参照して、撮影装置51が撮影した画像に対して画像処理(エッジ検出、二値化処理、特徴量抽出、画像強調処理、画像抽出、パターンマッチング処理等)を行って物体の位置を推定する。なお、物体位置検出部53は、撮影された画像から複数の物体が検出された場合、物体毎に位置を検出する。物体位置検出部53は、検出した物体位置情報(環境センサ値)を、通信部54を介して把持制御装置2に送信する。
【0055】
通信部54は、物体位置情報を把持制御装置2に送信する。
【0056】
(操作指示装置)
【0057】
操作指示装置4は、
図1を用いて説明したように、2自由度のデバイスであり、2つの状態を遷移可能なデバイスである。操作指示装置4は、例えば、指先の動きと、指先の移動速度を指示として出力する。
【0058】
(把持制御装置)
把持制御装置2は、操作指示装置4から取得した利用者の操作指示に基づいて、ハンド3の動作を制御する。
取得部201は、環境センサ5から環境センサ値(含む物体位置、画像情報)を取得する。取得部201は、操作指示装置4から指示情報を取得する。
【0059】
物体推定部202は、環境センサ5から取得された環境センサ値を用いて、操作対象物体を推定する。物体推定部202は、推定した結果、記憶部208に推定した物体のモデルが記憶されている場合、対応するモデルを読み出す。物体推定部202は、推定した物体のモデルが記憶部208に記憶されていない場合、前述したようにモデルを生成する。
【0060】
摩擦力分布算出部203は、物体にかかる外力(含む重力)、物体座標系での操作対象物体Obj上における指の代表的な部分(例えば、指の先端、指の腹)との接触点の位置と、物体座標系での操作対象物体Obj上における接触点の位置毎の向き(含む個数)に基づいて、少なくとも1つの指の摩擦力分布を算出する。換言すると、摩擦力分布算出部203は、外力に対して、ハンド3が物体Objを把持するために必要な制御目標値の範囲内において、各接触点において出すべき力を算出する。摩擦力分布算出部203は、初期の把持位置から所定の範囲で横力(摩擦力)を推定して、推定した横力(摩擦力)を用いて摩擦力に関する値を算出することで摩擦力分布を操作対象物体表面上で算出する。換言すると、摩擦力分布算出部203は、把持力の予測制御から操作対象物体と指との間の摩擦力を推定する。
【0061】
なお、摩擦力に関する値は、例えば、推定した摩擦力の二乗和の平方根であるL2ノルム(=√(Fx2+Fy2))である。
または、摩擦力に関する値は、例えば、推定した摩擦力の二乗和(Fx2+Fy2)である。推定摩擦力が小さいときは、平方根をとならない方が、変化が大きくて評価しやすい場合もある。
あるいは、摩擦力に関する値は、例えば、推定した摩擦力の二乗和を法線力でわったもの([Fx2+Fy2]/Fz2)である。摩擦力は、Fzに応じてかわる。例えば、Fzが大きいと摩擦力の二乗和も大きくなりやすい。このように計算した摩擦力に関する値であっても、変化が大きくて評価しやすい場合もある。
なお、以下の実施形態等では、摩擦力に関する値の例としてL2ノルムを用いる場合を説明するが、これに限らない。
【0062】
把持可能領域選択部204は、L2ノルムに基づいて、摩擦力分布の領域内で少なくとも1つの把持可能領域を選択する。把持可能領域選択部204は、例えば、摩擦力分布の領域内でL2ノルムが所定値以上の領域を把持可能領域に選択する。
【0063】
把持位置算出部205は、把持可能領域を探索して、外力に最も抵抗できる把持位置(指の接触点)を算出する。なお、把持位置算出部205が算出する把持位置は、物体と指との摩擦力が最小となる位置である。
【0064】
切替部206は、把持部33が把持支持面を移動するモードと、把持部(指先)移動面を移動するモードとを、操作指示装置4から取得した操作指示に応じて、把持範囲内で切り替える。
【0065】
設定部209は、記憶部208が記憶するモデルを用いて、軌道面を設定する。なお、操作対象物体のモデルが記憶部208に記憶されていない未知の場合、設定部209は、環境センサ5が検出した検出値に基づいてモデルを生成し、生成したモデルを記憶部208に記憶させるようにしてもよい。設定部209は、未知の物体の場合、生成したモデルを用いて、軌道面を設定する。
【0066】
制御部207は、把持位置算出部205が出力する把持位置情報に基づいて駆動部32を制御する。また、制御部207は、切替部206が出力する切替情報に基づいて駆動部32を制御する。
【0067】
記憶部208は、物体のモデルを記憶する。記憶部208は、例えば、制御部207が制御に用いるプログラム、閾値等を記憶する。
【0068】
(ハンド)
センサ31は、例えば各関節エンコーダ等である。なお、センサ31は、例えば把持制御装置2の各関節に取り付けられている。センサ31は、検出した検出結果を制御部207に出力する。
【0069】
駆動部32は、制御部207の制御に応じて把持部33を駆動する。駆動部32は、例えば、アクチュエータ、ギア、人工筋等を備える。
【0070】
[把持制御システムの制御手順例]
次に、把持制御システム1による制御手順例を説明する。
図9は、本実施形態に係る把持制御システムによる制御手順例を示すフローチャートである。
【0071】
(ステップS1)取得部201は、環境センサ5から環境センサ値を取得する。取得部201は、操作指示装置4から操作指令を取得する。
【0072】
(ステップS2)物体推定部202は、取得した環境センサ値(含む画像)を用いて、操作対象物体を推定する。
【0073】
(ステップS3)設定部209は、物体推定部202が推定した物体に対応するモデルを、記憶部208から読み出す。なお、設定部209は、記憶部208に推定された物体に対応するモデルが記憶されていない場合、上述したように環境センサ値に基づいてモデルを生成する。
【0074】
(ステップS4)制御部207は、取得された操作指令に基づいて、操作対象物体を把持する。なお、この把持状態の各指位置と操作対象物体の状態を初期状態とする。
【0075】
(ステップS5)制御部207は、ハンド3のセンサ31の検出値と、読み出したモデルに基づいて、把持した指の位置を検出する。
【0076】
(ステップS6)制御部207は、ハンド3のセンサ31の検出値と、読み出したモデルに基づいて、操作対象物体の状態を検出する。操作対象物体の状態とは、例えば、把持位置が適切であるか否か、把持した状態のバランスが取れているか等である。
【0077】
(ステップS7)取得部201は、操作指示装置4から操作指令を取得する。この操作し例には、例えば、操作対象物体上で指を滑らす(
図2)指示、または操作対象物体の持ち替え(
図3)指示である。
【0078】
(ステップS8)把持可能領域選択部204は、把持可能領域を算出する。
【0079】
(ステップS9)切替部206は、操作指示が、軌道面が把持支持面である第1モードであるか、軌道面が指先移動面である第2モードであるかを判別する。切替部206は、第1モードの場合(ステップS9;第1モード)、ステップS10の処理に進める。切替部206は、第2モードの場合(ステップS9;第2モード)、ステップS11の処理に進める。
【0080】
(ステップS10)切替部206は、軌道面として把持支持面を設定し、モデルを用いて把持支持面を算出する。切替部206は、処理後、ステップS12に進める。
【0081】
(ステップS11)切替部206は、軌道面として指先移動面を設定し、モデルを用いて指先移動面を算出する。切替部206は、処理後、ステップS12に進める。
【0082】
(ステップS12)切替部206は、ステップS10またはステップS11で設定した軌道面での動作モードに切り替える。
【0083】
(ステップS13)制御部207は、操作指示に基づきつつ、切り替えたモードの軌道面で指を移動させることで、利用者の操作をサポートする。
【0084】
(ステップS14)制御部207は、例えば操作指令に基づいて、持ち替えるか。把持終了するかを判別する。制御部207は、持ち替える場合(ステップS14;持ち替え)、ステップS9に処理を戻す。制御部207は、把持を終了する場合(ステップS14;把持終了)、処理を終了する。
【0085】
なお、上述した処理手順は一例であり、これに限らない。例えば、把持可能領域を計算する順番や、モデルを読み出す処理順は入れ替わっていてもよく、平行して行うようにしてもよい。
【0086】
以上のように、本実施形態では、ハンド3の指先リンクの基準座標が存在可能な軌道面(把持支持面と指先移動面)を物体周辺に定義した。また、本実施形態では、操作物体表面上を接触点が滑走するときに、物体を落とさない様に予め計算された把持可能領域を選択的に移動させるようにした。また、本実施形態では、把持可能領域は把持している指だけ動摩擦を利用し、他の指は静止摩擦を利用するようにした。
【0087】
また、本実施形態では、利用者が操作入力を行う操作指示装置4を、2自由度デバイス、かつ2つの状態を遷移可能なデバイスとした。
【0088】
これにより、本実施形態によれば、利用者の操作意図入力時または指誘導制御時に、指先を、軌道面を選択的に移動させることによって、従来技術の課題を解決することができる。本実施形態では、利用者が把持のために握っている指のうちの一本以上を動かしたいとき、指を、把持支持面を移動させることができる。本実施形態によれば、指が指先移動面を動くことができるとき(特定の指が物体から離れても他の接触点で物体を支えられるとき=力分配が可能な時)、指を、物体の凸包面から所定量離れたところに貼られる空間面上を移動させることができる。これにより、本実施形態によれば、ハンド3は、操作対象物体を把持したまま、特定の指先を利用者の意図に応じて確実に移動させられる。
【0089】
なお、本実施形態において、軌道面を用いた指の移動は、上述したように、利用者の操作指示に応じて行うのみではなく、利用者の操作指示をサポートするように行う。
【0090】
なお、本発明における把持制御装置2の機能の一部または全てを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより把持制御装置2が行う処理の全てまたは一部を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0091】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0092】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
【符号の説明】
【0093】
1…把持制御システム、2…把持制御装置、3…ハンド、4…操作指示装置、5…環境センサ、201…取得部、203…摩擦力分布算出部、204…把持可能領域選択部、205…把持位置算出部、206…切替部、207…制御部、208…記憶部、209…設定部、31…センサ、32…駆動部、33…把持部、331…指部、51…撮影装置、52…センサ、53…物体位置検出部、54…通信部