(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-10-31
(45)【発行日】2024-11-11
(54)【発明の名称】把持位置決定装置、把持位置決定システム、把持位置決定方法、およびプログラム
(51)【国際特許分類】
B25J 13/00 20060101AFI20241101BHJP
B25J 13/08 20060101ALI20241101BHJP
B25J 15/08 20060101ALI20241101BHJP
【FI】
B25J13/00 Z
B25J13/08 Z
B25J15/08 J
(21)【出願番号】P 2021060662
(22)【出願日】2021-03-31
【審査請求日】2023-11-28
(73)【特許権者】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】100165179
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100126664
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100154852
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100194087
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】義平 真規
(72)【発明者】
【氏名】長谷川 忠明
【審査官】松浦 陽
(56)【参考文献】
【文献】特開2010-179443(JP,A)
【文献】特開2007-319997(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
(57)【特許請求の範囲】
【請求項1】
多関節の多指を有するロボットハンドの把持位置決定装置において、
前記多指のうちの少なくとも2つの指で物体を把持した場合に、予め決められた前記物体にかかる外力と、物体座標系での前記物体上における前記指の代表的な部分との接触点の位置と、前記物体座標系での前記物体上における接触点の位置毎の向きとに基づいて、把持させる指のうちの1つの指が前記物体を把持可能な摩擦力分布を算出する摩擦力分布算出部と、
前記摩擦力分布から少なくとも1つ以上の把持可能領域を選択する把持可能領域選択部と、
選択された前記把持可能領域から安定して前記物体を把持可能な
前記指の接触点を把持位置
として算出する把持位置算出部と、を備え、
前記摩擦力分布算出部は、前記把持させる指のうちの1つの指の前記物体を把持させる初期の把持位置から所定範囲の
摩擦力である横力を推定し、推定した横力を用いて
前記摩擦力に関する値を算出することで摩擦力分布を物体表面上で算出し、
前記摩擦力に関する値は、前記物体表面
に沿った二軸方向で推定した
前記横力の二乗和の平方根であるL2ノルムを含み、
前記把持可能領域選択部は、前記摩擦力分布の領域内で前記L2ノルムが所定値以上の領域を把持可能領域として選択し、
前記把持位置算出部は、前記把持可能領域のうち、前記外力に最も抵抗できる指の接触点を前記把持位置として算出する、
把持位置決定装置。
【請求項2】
前記把持位置算出部は、前記物体の姿勢や動きを特定状態に維持できる前記把持可能領域を選択し、選択した前記物体の姿勢や動きを特定状態に維持できる前記把持可能領域の中で把持位置を算出する、
請求項1に記載の把持位置決定装置。
【請求項3】
前記把持位置算出部は、前記把持位置で前記物体を把持させる際、前記把持させる指それぞれの関節の状態を算出する、
請求項1または請求項2に記載の把持位置決定装置。
【請求項4】
前記把持位置算出部は、前記初期の把持位置を開始点とし、前記開始点から、前記把持可能領域の所定の位置までの終点までの間の離散的な位置で最も安定的に把持可能な位置を探索する、
請求項1に記載の把持位置決定装置。
【請求項5】
前記把持位置算出部は、前記初期の把持位置を開始点とし、前記開始点から所定の間隔離れた位置毎に最も安定的に把持可能な位置を探索する、
請求項1に記載の把持位置決定装置。
【請求項6】
請求項1から請求項5のうちのいずれか1つに記載の前記把持位置決定装置と、
多関節の多指を有するロボットハンドと、
前記ロボットハンドを備えるロボットあるいは前記ロボットの周辺環境に設置され、ロボット環境センサ値を検出する環境センサと、
前記把持位置決定装置が決定した前記把持位置に基づいて、前記ロボットハンドの動きを制御して前記物体を把持させる制御部と、
を備える把持位置決定システム。
【請求項7】
多関節の多指を有するロボットハンドの把持位置決定方法において、
摩擦力分布算出部が、前記多指のうちの少なくとも2つの指で物体を把持した場合に、予め決められた前記物体にかかる外力と、物体座標系での前記物体上における前記指の代表的な部分との接触点の位置と、前記物体座標系での前記物体上における接触点の位置毎の向きとに基づいて、把持させる指のうちの1つの指が前記物体を把持可能な摩擦力分布を算出し、
把持可能領域選択部が、前記摩擦力分布から少なくとも1つ以上の把持可能領域を選択し、
把持位置算出部が、選択された前記把持可能領域から安定して前記物体を把持可能な
前記指の接触点を把持位置
として算出し、
前記把持させる指のうちの1つの指の前記物体を把持させる初期の把持位置から所定範囲の
摩擦力である横力を推定し、推定した横力を用いて
前記摩擦力に関する値を算出することで摩擦力分布を物体表面上で算出し、
前記摩擦力に関する値は、前記物体表面
に沿った二軸方向で推定した
前記横力の二乗和の平方根であるL2ノルムを含み、
前記摩擦力分布の領域内で前記L2ノルムが所定値以上の領域を把持可能領域として選択し、
前記把持可能領域のうち、前記外力に最も抵抗できる指の接触点を前記把持位置として算出する、
把持位置決定方法。
【請求項8】
多関節の多指を有するロボットハンドの把持位置決定装置のコンピュータに、
前記多指のうちの少なくとも2つの指で物体を把持した場合に、予め決められた前記物体にかかる外力と、物体座標系での前記物体上における前記指の代表的な部分との接触点の位置と、前記物体座標系での前記物体上における接触点の位置毎の向きとに基づいて、把持させる指のうちの1つの指が前記物体を把持可能な摩擦力分布を算出させ、
前記摩擦力分布から少なくとも1つ以上の把持可能領域を選択させ、
選択された前記把持可能領域から安定して前記物体を把持可能な
前記指の接触点を把持位置
として算出させ、
前記把持させる指のうちの1つの指の前記物体を把持させる初期の把持位置から所定範囲の
摩擦力である横力を推定し、推定した横力を用いて
前記摩擦力に関する値を算出することで摩擦力分布を物体表面上で算出させ、
前記摩擦力に関する値は、前記物体表面
に沿った二軸方向で推定した
前記横力の二乗和の平方根であるL2ノルムを含み、
前記摩擦力分布の領域内で前記L2ノルムが所定値以上の領域を把持可能領域として選択させ、
前記把持可能領域のうち、前記外力に最も抵抗できる指の接触点を前記把持位置として算出させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、把持位置決定装置、把持位置決定システム、把持位置決定方法、およびプログラムに関する。
【背景技術】
【0002】
ロボットに物体を把持させる制御装置が提案されている。このような制御装置として、物理的に接触可能な把持点を仮決定したうえで、力のつり合いを考慮して把持力を決定し、その把持力の質を把持力の包絡体の体積として評価したうえで、より質の高い把持点を探索する手法が提案されている(例えば特許文献1参照)。
【0003】
また、特許文献2に記載の技術では、実際に物体を把持する前に中指のみを把持対象物表面上を所定の押圧力で滑らせ、その際の押圧力と摩擦力を検出し、押圧力と摩擦力の比から推定摩擦係数を求めておく。そして、特許文献2に記載の技術では、求めた推定摩擦係数を利用して滑りが発生しないよう把持力を維持しつつ、把持力が過剰とならないよう適切に制御することで、適切な把持力で物体を安定して保持する。
【0004】
図13は、従来技術においてロボットが2つの指(上指901と下指902)で物体(コイン状の物体Obj)を把持する例を説明するための図である。第1状態g901では、上指901と下指902とのコインObjの長手方向のズレである指間ギャップが0.0(m)である。第2状態g902では、上指901と下指902との指間ギャップが0.0015(m)である。グラフg903は、第1状態と第2状態含む指間ギャップと横力(二乗和)の関係を示すグラフであり、横軸が指間ギャップ(m)、縦軸が横力ある。なお、横力とは、把持した物体にかかる横向きの力(摩擦力)である。
図13のように、指間ギャップが大きくなると横力が大きくなり、把持状態が不安定になっていく。
【0005】
図14は、従来技術においてロボットが3つの指(第1指911と第2指912と第3指913)で物体(球状の物体Obj)を把持する例を説明するための図である。グラフg911~g914は、第1状態~第4状態を表す。グラフg911~g914において、縦軸と横軸は、指間ギャップ(m)である。グラフg911のように第1状態では、3つの指の角度それぞれが10、170、270度であり、横力が6.21e
-23である。グラフg912のように第2状態では、3つの指の角度それぞれが10、170、230度であり、横力が9.81e
-2である。グラフg911とg912のように、重力に対向する位置に指があるとき、横力が最小になる。また、グラフg913のように第3状態では、3つの指の角度それぞれが30、150、270度であり、横力が6.29e
-23である。グラフg914のように第4状態では、3つの指の角度それぞれが70、150、270度であり、横力が5.72e
-07である。グラフg913とg914のように、左右対称の指の位置のとき、横力が最小となる。
【0006】
図15は、従来技術においてロボットが2つの指(上指901と下指902)で物体(コイン状の物体Obj)を指間ギャップが0.0(m)で把持する場合の指標ε(非特許文献1参照)の例を説明するための図である。グラフg921は、指間ギャップを示すグラフである。グラフg922は、指標εを二次元で示した図であり、横軸が力であり、縦軸がモーメントである。鎖線で囲まれた領域が大きいほど、安定した把持状態であることを表す。このように、指が物体の厚さ方向で向かい合っている(指間ギャップ0.0(m))の場合の指標εは、約5.69e
-06である。グラフg923は上指の摩擦推と力ベクトルを示すグラフであり、グラフg924は下指の摩擦推と力ベクトルを示すグラフである。この状態の場合は、G
cf
c=-F
eが成立し、把持の余裕が十分にある。なお、F
eは外力であり、G
cf
cはロボットが把持の際に出してよい力である。なお、フォースクロージャの成立条件は、任意の外力F
e∈R
6に対してG
cf
c=-F
eが成立することである。
【0007】
図16は、従来技術においてロボットが2つの指(上指901と下指902)で物体(コイン状の物体Obj)を指間ギャップが0.0015(m)で把持する場合の指標ε(非特許文献1参照)の例を説明するための図である。グラフg931は、指間ギャップを示すグラフである。グラフg932は、指標εを二次元で示した図である。このように、指間ギャップ0.0015(m)がずれた場合の指標εは、約1.21e
-05である。グラフg933は上指の摩擦推と力ベクトルを示すグラフであり、グラフg934は下指の摩擦推と力ベクトルを示すグラフである。この状態の場合は、G
cf
c=-F
eが成立するが、把持の余裕が少ない。
【先行技術文献】
【特許文献】
【0008】
【文献】特許第6476358号公報
【文献】特開2005-144573号公報
【非特許文献】
【0009】
【文献】Andrew T. Miller Peter K. Allen, “GraspIt!: A Versatile Simulator for Grasp Analysis”, IEEE Robotics & Automation Magazine ( Volume: 11, Issue: 4, Dec. 2004),2004,p110-122
【発明の概要】
【発明が解決しようとする課題】
【0010】
しかしながら、従来技術では、汎用的な把持特性である指標εとボリュームvは、同じ指本数の接触下で特定の指だけを物体表面に沿って動かすときに、指標の大きさが必ずしも実際に指の滑り難さに直結しているわけではなく指が滑ってしまう場合がある。これにより、指標εの評価では、
図16のように不安定な状態でも安定な状態であると誤認する場合がある。
また、特許文献2に記載の技術では、実際に物体を把持する前に指のみを把持対象物表面上を所定の押圧力で滑らせ摩擦係数を推定しているが、位置修正のために指先先端の接触位置が拘束され自由度がなかった。引用文献2に記載の技術では、例えば対象物体の表面が曲面の場合に摩擦係数を推定することができない。
このように、従来技術では、操作を考慮した把持点決定が困難であった。
【0011】
本発明は、上記の問題点に鑑みてなされたものであって、操作を考慮した把持点を決定することができる把持位置決定装置、把持位置決定システム、把持位置決定方法、およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
(1)上記目的を達成するため、本発明の一態様に係る把持位置決定装置は、多関節の多指を有するロボットハンドの把持位置決定装置において、前記多指のうちの少なくとも2つの指で物体を把持した場合の把持力の予測制御から、把持させる指のうちの1つの指と物体との間の摩擦力を推定し、推定した前記摩擦力を用いて算出した摩擦力に関する値に基づいて物体表面上で前記物体を把持可能な摩擦力分布を算出する摩擦力分布算出部と、前記摩擦力分布から少なくとも1つ以上の把持可能領域を選択する把持可能領域選択部と、選択された前記把持可能領域から安定して前記物体を把持可能な把持位置を算出する把持位置算出部と、を備える。
【0013】
(2)また、本発明の一態様に係る把持位置決定装置において、前記摩擦力分布算出部は、前記把持させる指のうちの1つの指の前記物体を把持させる初期把持位置から所定の範囲内の前記摩擦力分布を算出し、前記把持位置算出部は、前記初期把持位置から前記摩擦力分布内を探索して外力に対して安定して把持可能な把持位置を算出するようにしてもよい。
【0014】
(3)また、本発明の一態様に係る把持位置決定装置において、前記把持位置算出部は、前記物体の姿勢や動きを特定状態に維持できる前記把持可能領域を選択し、選択した前記物体の姿勢や動きを特定状態に維持できる前記把持可能領域の中で把持位置を算出するようにしてもよい。
【0015】
(4)また、本発明の一態様に係る把持位置決定装置において、前記摩擦力分布算出部は、前記ロボットハンドが出して良い力を算出し、算出した前記ロボットハンドが出して良い力と、前記物体を把持したときに予測される外力との釣り合い方程式を解くことで前記摩擦力を推定するようにしてもよい。
【0016】
(5)また、本発明の一態様に係る把持位置決定装置において、前記把持位置算出部は、前記把持位置で前記物体を把持させる際、前記把持させる指それぞれの関節の状態を算出するようにしてもよい。
【0017】
(6)また、本発明の一態様に係る把持位置決定装置において、前記把持位置算出部は、前記初期把持位置を開始点とし、前記開始点から、前記把持可能領域の所定の位置までの終点までの間の離散的な位置で最も安定的に把持可能な位置を探索するようにしてもよい。
【0018】
(7)また、本発明の一態様に係る把持位置決定装置において、前記把持位置算出部は、前記初期把持位置を開始点とし、前記開始点から所定の間隔離れた位置毎に最も安定的に把持可能な位置を探索するようにしてもよい。
【0019】
(8)上記目的を達成するため、本発明の一態様に係る把持位置決定システムは、上記(1)から(7)のうちのいずれか1つに記載の前記把持位置決定装置と、多関節の多指を有するロボットハンドと、前記ロボットハンドを備えるロボットあるいは前記ロボットの周辺環境に設置され、ロボット環境センサ値を検出する環境センサと、前記把持位置決定装置が決定した前記把持位置に基づいて、前記ロボットハンドの動きを制御して前記物体を把持させる制御部と、を備える。
【0020】
(9)上記目的を達成するため、本発明の一態様に係る把持位置決定方法は、多関節の多指を有するロボットハンドの把持位置決定方法において、摩擦力分布算出部が、前記多指のうちの少なくとも2つの指で物体を把持した場合の把持力の予測制御から、把持させる指のうちの1つの指と物体との間の摩擦力を推定し、推定した前記摩擦力を用いて算出した摩擦力に関する値に基づいて物体表面上で前記物体を把持可能な摩擦力分布を算出し、把持可能領域選択部が、前記摩擦力分布から少なくとも1つ以上の把持可能領域を選択し、把持位置算出部が、選択された前記把持可能領域から安定して前記物体を把持可能な把持位置を算出する。
【0021】
(10)上記目的を達成するため、本発明の一態様に係るプログラムは、多関節の多指を有するロボットハンドの把持位置決定装置のコンピュータに、前記多指のうちの少なくとも2つの指で物体を把持した場合の把持力の予測制御から、把持させる指のうちの1つの指と物体との間の摩擦力を推定させ、推定された前記摩擦力を用いて算出された摩擦力に関する値に基づいて物体表面上で前記物体を把持可能な摩擦力分布を算出させ、前記摩擦力分布から少なくとも1つ以上の把持可能領域を選択させ、選択された前記把持可能領域から安定して前記物体を把持可能な把持位置を算出させる。
【発明の効果】
【0022】
(1)~(10)によれば、操作を考慮した把持点を決定することができる。また、(1)~(10)によれば、形状や制御の誤差があってもロバストな把持位置を決定することができる。
また、(3)によれば、滑りにくい位置をより具体的に決めることができる。
また、(5)によれば、操作を考慮した把持点に対して精度よくロボットハンドに把持させることができる。
また、(6)、(7)によれば、操作を考慮した把持点を決定の計算コストを削減することができる。
【図面の簡単な説明】
【0023】
【
図1】実施形態に係るロボットの把持部が指で対象物体を把持する例を示す図である。
【
図2】第1実施形態に係る把持位置決定システムの構成例を示すブロック図である。
【
図3】第1実施形態に係る把持部位置決定処理を説明するための図である。
【
図4】第1実施形態に係る把持位置決定の処理手順のフローチャートである。
【
図5】実施形態におけるL2ノルムの算出方法を説明するための図である。
【
図6】エッジに曲面があるスマートフォンを把持する場合の初期把持位置、摩擦力分布および修正位置の例を示す図である。
【
図7】初期把持位置から補正位置までの探索のイメージ図である。
【
図9】第2実施形態に係る把持位置決定システムの構成例を示すブロック図である。
【
図10】第2実施形態の把持位置決定例を説明するための図である。
【
図11】第2実施形態での摩擦力分布の例を示す図である。
【
図12】第2実施形態に係る把持位置決定の処理手順のフローチャートである。
【
図13】従来技術においてロボットが2つの指で物体を把持する例を説明するための図である。
【
図14】従来技術においてロボットが3つの指で物体を把持する例を説明するための図である。
【
図15】従来技術においてロボットが2つの指で物体を指間ギャップが0.0(m)で把持する場合の指標εの例を説明するための図である。
【
図16】従来技術においてロボットが2つの指で物体を指間ギャップが0.0015(m)で把持する場合の指標εの例を説明するための図である。
【発明を実施するための形態】
【0024】
以下、本発明の実施の形態について図面を参照しながら説明する。なお、以下の説明に用いる図面では、各部材を認識可能な大きさとするため、各部材の縮尺を適宜変更している。
【0025】
[概要]
図1は、実施形態に係るロボットの把持部28が指部281で対象物体Objを把持する例を示す図である。
ロボットは、少なくとも2本以上の指部281を備える把持部28を備える。実施形態は、ロボットの把持部28が対象物Objを把持する際に、把持位置での摩擦力の大きさを直接評価式に組み込み、さらに実際の把持時の把持位置の誤差を考慮した評価を行うことで、形状や制御の誤差があってもロバストな把持位置を決定する。
また、ロボットは、摩擦力と重力に基づいて把持可能領域を選択し、その把持可能領域内で安定して把持可能な位置と、把持部の姿勢(指や手の関節の姿勢)を推定する。
【0026】
図2は、本実施形態に係る把持位置決定システムの構成例を示すブロック図である。図2のように、把持位置決定システム1は、ロボット2、および環境センサ3を備える。
ロボット2は、把持位置決定装置21、制御部23、記憶部24、およびハンド25(ロボットハンド)を備える。なお、ロボット2は、例えば、ハンド25以外にも足、頭、胴、腰等を備えていてもよい。また、ロボット2は、電源(不図示)を備えている。電源は、ロボット2の各部に電力を供給する。電源は、例えば充電式のバッテリや充電回路を備えていてもよい。
【0027】
把持位置決定装置21は、情報取得部211、物体推定部212、摩擦力分布算出部213、把持可能領域選択部214、および把持位置算出部215を備える。
ハンド25は、センサ26、駆動部27、および把持部28を備える。
把持部28は、指部281を備える。なお、指部281は、少なくとも2つ以上の指を備える。
図1の例では、指部281が、5つの指(親指281a、人差し指28
1b、中指28
1c、薬指28
1d、小指28
1e)を備える例である。本実施形態のハンド25は、多関節の多指を備える。
【0028】
環境センサ3は、撮影装置31、センサ32、物体位置検出部33、および通信部34を備える。
【0029】
なお、ロボット2と環境センサ3は、例えば、無線または有線のネットワークを介して接続されている。ロボット2と環境センサ3は、ネットワークを介さずに直接接続されてもよい。
【0030】
[把持部制御システムの機能]
環境センサ3は、例えば操作対象の物体を撮影、検出できる位置に設置されている。なお、環境センサ3は、ロボット2が備えていてもよく、ロボット2に取り付けられていてもよい。または、環境センサ3は、複数であってもよく、作業環境に設置され、かつロボット2にも取り付けられていてもよい。環境センサ3は、撮影された画像とセンサによって検出された検出結果に基づいて物体の位置情報を検出し、検出した物体位置情報(環境センサ値)をロボット2に送信する。
【0031】
撮影装置31は、例えばRGBカメラである。撮影装置31は、撮影した画像を物体位置検出部33に出力する。なお、環境センサ3において、撮影装置31とセンサ32の位置関係が既知である。
【0032】
センサ32は、例えば深度センサである。センサ72は、検出結果を物体位置検出部33に出力する。
【0033】
物体位置検出部33は、撮影された画像とセンサによって検出された検出結果に基づいて、撮影された画像における対象物体の三次元位置と大きさ形状等を周知の手法で検出する。物体位置検出部33は、物体位置検出部33が記憶するパターンマッチングのモデル等を参照して、撮影装置31が撮影した画像に対して画像処理(エッジ検出、二値化処理、特徴量抽出、画像強調処理、画像抽出、パターンマッチング処理等)を行って物体の位置を推定する。なお、物体位置検出部33は、撮影された画像から複数の物体が検出された場合、物体毎に位置を検出する。物体位置検出部33は、検出した物体位置情報(環境センサ値)を、通信部34を介してロボット遠隔操作制御装置30に送信する。
【0034】
通信部34は、物体位置情報をロボット2に送信する。
【0035】
ロボット2は、把持位置決定装置21が決定した把持位置情報に応じて把持が制御される。
【0036】
制御部23は、把持位置決定装置21が出力する把持位置情報に基づいて駆動部27を制御する。
【0037】
記憶部24は、例えば、制御部23が制御に用いるプログラム、閾値等を記憶する。
【0038】
センサ26は、例えば各関節エンコーダ等である。なお、センサ26は、例えばロボット2の各関節に取り付けられている。センサ26は、検出した検出結果を把持位置決定装置21と制御部23に出力する。
【0039】
駆動部27は、制御部23の制御に応じてロボット2の把持部28を駆動する。駆動部27は、例えば、アクチュエータ、ギア、人工筋等を備える。
【0040】
情報取得部211は、環境センサ3から物体位置情報(環境センサ値)を取得する。情報取得部211は、取得した物体位置情報を物体推定部212と制御部23に出力する。
【0041】
物体推定部212は、物体位置情報を用いて周知の手法によって、把持される物体の位置、大きさ、形状、傾き等を推定する。なお、物体推定部212は、パターンマッチングの手法等によって、物体の種類や名称も推定するようにしてもよい。
【0042】
摩擦力分布算出部213は、物体にかかる外力(含む重力)、物体座標系での物体Obj上における指の代表的な部分(例えば、指の先端、指の腹)との接触点の位置と、物体座標系での物体Obj上における接触点の位置毎の向き(含む個数)に基づいて、少なくとも1つの指の摩擦力分布を算出する。換言すると、摩擦力分布算出部213は、外力に対して、ロボット2が物体Objを把持するために必要な制御目標値の範囲内において、各接触点において出すべき力を算出する。摩擦力分布算出部213は、初期の把持位置から所定の範囲で横力(摩擦力)を推定して、推定した横力(摩擦力)を用いて摩擦力に関する値を算出することで摩擦力分布を物体表面上で算出する。換言すると、摩擦力分布算出部213は、把持力の予測制御から物体と指との間の摩擦力を推定する。
【0043】
なお、摩擦力に関する値は、例えば、推定した摩擦力の二乗和の平方根であるL2ノルム(=√(Fx2+Fy2))である。
または、摩擦力に関する値は、例えば、推定した摩擦力の二乗和(Fx2+Fy2)である。推定摩擦力が小さいときは、平方根をとらない方が、変化が大きくて評価しやすい場合もある。
あるいは、摩擦力に関する値は、例えば、推定した摩擦力の二乗和を法線力でわったもの([Fx2+Fy2]/Fz2)である。摩擦力は、Fzに応じてかわる。例えば、Fzが大きいと摩擦力の二乗和も大きくなりやすい。このように計算した摩擦力に関する値であっても、変化が大きくて評価しやすい場合もある。
なお、以下の実施形態等では、摩擦力に関する値の例としてL2ノルムを用いる場合を説明するが、これに限らない。
【0044】
把持可能領域選択部214は、L2ノルムに基づいて、摩擦力分布の領域内で少なくとも1つの把持可能領域を選択する。把持可能領域選択部214は、例えば、摩擦力分布の領域内でL2ノルムが所定値以上の領域を把持可能領域に選択する。
【0045】
把持位置算出部215は、把持可能領域を探索して、外力に最も抵抗できる把持位置(指の接触点)を算出する。
【0046】
次に、本実施形態の把持部位置決定処理について説明する。本実施形態では、把持位置決定装置21が、物体を把持する前に、把持部28の指部281が把持する位置を決定する。
図3は、本実施形態に係る把持位置決定処理を説明するための図である。
図3では、3つの指(親指281a、人差し指28
1b、中指28
1c)で物体Objを把持させる例である。また、
図3の例は、人差し指28
1bと中指28
1cそれぞれの把持位置は変更せず、親指281aを移動させた場合により摩擦力が
増える、すなわち把持状態が安定する把持位置を推定して決定する例である。
【0047】
矢印g11は、人差し指281bによる物体Objの表面に働く力である。矢印g12は、中指281cによる物体Objの表面に働く力である。矢印g42は、親指281aによる物体Objの表面に働く力である。
矢印g13は、初期位置の親指281aによるz軸方向の成分である。矢印g22は、初期位置の親指281aによるx軸方向の成分である。矢印g23は、初期位置の親指281aによるy軸方向の成分である。なお、xyzは、接触座標系における座標である。
【0048】
図3において、
領域g3
2はL2ノルム
に関する領域を示し、濃度が濃い領域は値が低く、白の領域は値が大きいことを表している。このようなL2ノルムの分布が、摩擦力分布g31である。また、鎖線g51で囲まれた領域は、把持可能領域を表している。
【0049】
図3において、物体Objを把持する場合に、把持状態が安定する親指281aの把持位置は、初期位置ではなくL2ノルムが最も大きな補正位置g4
1である。矢印g42は、補正位置
g41の親指281aによる物体Objの表面に働く力である。
【0050】
なお、指を対向させて物体の姿勢を維持したまま把持させる場合、把持位置算出部215が算出する把持位置は、物体と指との摩擦力が最小となる位置
となる。その理由を、従来技術の説明で用いた
図15と
図16を参照しつつ説明する。
2つの指でコイン状の物体を把持する際、
図15のように把持する2つの指が物体を介して対向している場合は、摩擦力をあまり使わずに把持できる。一方、
図16のように把持する2つの指が物体を介して対向していず指間ギャップがある場合は、
図15より多くの摩擦力を使わないと把持できない。
【0051】
図15のグラフg923、g924、
図16のグラフg933、g934において、V字の大きさが持てる限界を表している。また、V字の両側の線の間に示されている線(g925、g926、g935、g936)は、ロボットが出していい力を表している。
図15のグラフg923、g924では、出していい力を表す線g925、g926が、V字の両側線のほぼ中間にある。
【0052】
これに対して、
図16のグラフg933では、出していい力を表す線g935がV字の右側の線とほぼ重なっていて、出せる力がぎりぎりであることを示している。また、グラフg934では、出していい力を表す線g936がV字の右側の線と近く、出せる力がぎりぎりであることを示している。
なお、出していい力を表す線(g925、g926、g935、g936)と、V字の中心との角度差が横力に相当する。
このように、指を対向させて物体の姿勢を維持したまま把持させる場合は、摩擦力が最小となる位置が把持位置となる。
【0053】
[把持位置決定の処理手順例]
次に、把持位置決定の処理手順例を説明する。
図4は、本実施形態に係る把持位置決定の処理手順のフローチャートである。
【0054】
(ステップS1)情報取得部211は、環境センサ3から物体位置情報(環境センサ値)を取得する。
【0055】
(ステップS2)物体推定部212は、物体位置情報を用いて周知の手法によって、把持される物体の位置、大きさ、形状、傾き等を推定する。
【0056】
(ステップS3)摩擦力分布算出部213は、推定された物体に関する情報に基づいて、物体を把持する場合の物体と各指との接触点を予測する。
【0057】
(ステップS4)摩擦力分布算出部213は、ロボット2の仕様と推定された物体に関する情報に基づいて、把持に使用して良い力を算出する。
【0058】
(ステップS5)摩擦力分布算出部213は、1つの指に対して初期把持位置から所定の範囲において、釣り合い方程式Gcfc=-Feを解き、解く過程で求める把持位置候補毎の横力を取得する。
【0059】
(ステップS6)摩擦力分布算出部213は、得られた横力の二乗の平方根であるL2ノルムを算出することで摩擦力分布を物体表面上で算出する。
【0060】
(ステップS7)把持可能領域選択部214は、例えば、摩擦力分布の領域内でL2ノルムが所定値以下の領域を把持可能領域に選択する。
【0061】
(ステップS8)把持位置算出部215は、把持可能領域を探索して、外力に最も抵抗できる把持位置と指の関節の角度等の情報を算出する。
【0062】
(ステップS9)制御部23は、算出された把持位置と指の関節の角度等の情報に基づいて、制御指令を生成する。
【0063】
(ステップS10)制御部23は、生成した制御指令に基づいて、駆動部27を制御してロボット2の把持部28を駆動する。
【0064】
なお、
図4を用いて説明した処理手順は一例であり、これに限らない。
【0065】
[L2ノルムの算出方法]
ここで、さらにL2ノルムの算出方法を説明する。
図5は、実施形態におけるL2ノルムの算出方法を説明するための図である。
図5の例は、球状の物体を3つの指で把持する場合の例である。
摩擦力分布算出部213は、まず把持の際に出しても良い力Gcfcを算出する。
次に、摩擦力分布算出部213は、1つの指に対して接触点から所定の範囲において、釣り合い方程式Gcfc=-Feを解き、解く過程で求める接触点毎の横力を取得する。なお、Feは外力である。また、横力とは、物体Obj表面に平行な力であり、接触点座標系における横方向(x軸、y軸)の力である。このようにして得られた横力
(摩擦力)の二乗和の平方根がL2ノルムである。
【0066】
(変形例)
ここで、物体の形状に関する情報を用いて、補正する把持位置(補正位置)の探索を行う例を、
図6~
図8を用いて説明する。
図6は、エッジに曲面があるスマートフォンを把持する場合の初期把持位置、摩擦力分布および修正位置の例を示す図である。
図6の例では、スマートフォンをロボット2が親指281a、人差し指28
1b、中指28
1cで把持した状態で、さらに安定的に把持できるように親指281aの把持位置を補正する例である。矢印g101は、人差し指28
1bによる物体Objの表面に働く力である。矢印g102は、中指28
1cによる物体Objの表面に働く力である。矢印g103は、初期位置の親指28
1aによる物体Objの表面に働く力である。
【0067】
この場合、把持力分布g111は、例えば初期位置の親指281aを中心としたスマートフォンの側面の左右と上限の所定範囲である。そして、把持位置算出部215は、把持可能領域g112の領域内で、L2ノルムに基づく補正位置g121を探索する。
【0068】
図7は、初期把持位置から補正位置までの探索のイメージ図である。本実施形態では、従来技術のように実際に物体を把持させて、把持させた物体の表面で指を移動させるのではなく、計算によって初期位置g151からコストがよりよくなる(L2ノルムが小さくなる)方向に探索していく(探索方向g153)。また、点g1
61は、探索による指を移動させた場合の軌跡である。また、点g161はウェイポイントである。なお、軌跡は、初期位置(開始点g151)から、終了点g152までにおいて、例えば指の先端が通るべき経路である。把持位置算出部215は、このような探索経路(経由位置)のウェイポイントにおいて、指先接触点の運動方程式(釣り合い方程式)を解いて、最適な把持位置を算出する。
【0069】
なお、ウェイポイントが設定される探索経路は、物体上で指が避けなければいけない位置(例えば突起部がある位置等)を迂回した経路となる。また、ウェイポイントと経路は、例えば把持候補位置を所定量ずつ移動させながら順次設定するようにしてもよい。この場合は、探索する初期位置が決まっているが終了点は決まっていない。
また、ウェイポイントの間隔は等間隔であることが好ましいが、等間隔でなくてもよい。
本実施形態によれば、このように、探索することで、操作を考慮した把持点を決定の計算コストを削減することができる。
【0070】
図8は、軌道とウェイポイントの例を示す図である。なお、
図8は、指の先端で物体の表面を把持する例である。
図8において、モデルg201は、1つの指部を含むハンド25をモデル化したモデルを表す。指部は、基節g203と手のひらを接続する第1の関節g202、末節g205と基節g203とを接続する第2の関節g204でモデル化される。
【0071】
把持位置算出部215は、探索時、初期位置(開始点g211)から、終了点g212までにおいて、例えば指の先端が通るべき軌跡に離散的なウェイポイント(例えば点g213)を定める。なお、
図7のように、指のどこ(先端、腹等)で触るかによって、指の関節の角度(さらにハンド25の関節の角度)が変わってくる。このため、把持位置算出部215は、把持位置の探索とともに、ハンド25の関節と指の関節それぞれの角度等も求め、求めた結果を制御部23に出力する。なお、ウェイポイントの数は例えば100であり、これより少なくても多くてもよい。おのように、初期接触点から把持位置を修正する修正位置まで動かすべき指先先端が通るべき軌道を、把持可能領域内に絞り込むことができる。
【0072】
また、本実施形態では、軌道に離散的なキーポイントを定め、ウェイポイントにて指先把持位置の運動方程式(指先の先端から腹までをかけたある曲面に対して、曲面と物体の表面が持っている曲面同士の接触にかかる運動方程式)を用いて所定の解空間内を探索し、指先接触点(例えば先端か腹)を変えたときに全指の摩擦力の総和が許容範囲内にあるかを評価し、妥当な範囲で制御可能な指先先端の接触点を修正しながら制御できる。
そして、本実施形態では、この運動方程式に、評価指標εを加味して、得られた釣り合い方程式の結果から、摩擦力分布の中から把持可能領域を求め、この把持可能領域の中の最適な位置を求める。
【0073】
以上のように、本実施形態では、把持力の予測制御から推定摩擦力を得て、その得られる全指の摩擦力のL2ノルムから、特定の指の摩擦力分布を物体表面上で算出するようにした。そして本実施形態では、摩擦力分布から少なくとも1つ以上の把持可能領域を決めて、その把持可能領域の中から外力に最も抵抗できる接触点を算出するようにした。また、本実施形態では、摩擦力を触って実測するのではなく、物体を安定して保持できる状態の把持位置を決定するようにした。
【0074】
これにより、本実施形態によれば、物体を操作する際に、指先形状が曲面の場合に把持位置が曲面に沿って転がりながら移動する軌跡全体で評価することで、操作を考慮した把持点決定が可能になる。
【0075】
なお、従来技術の特許文献2に記載の手法では、物体の表面が曲面の場合、物体に接触させた指を移動させても適切に摩擦力を得ることができなかった。これに対して、本実施形態では、実際に物体に指を接触させて動かしながら摩擦力を取得するのではなく、把持した状態の摩擦力を予測し、外力に最も抵抗できる接触点を算出するようにしたので、安定して把持できる把持位置を適切に決定することができる。
【0076】
<第2実施形態>
本実施形態では、さらに、物体の姿勢や動きを特定状態に維持するために、特定条件(例えば重力)を反映した把持位置を算出する。この場合、把持位置は、必ずしも摩擦力が最小となる位置とは限らない。本実施形態では、重力的にバランスがとれ把持可能な状態、物体の姿勢を傾ける等変更しても把持可能な状態等も含まれる。
【0077】
図9は、本実施形態に係る把持位置決定システムの構成例を示すブロック図である。
図9のように、把持位置決定システム1Aは、ロボット2A、および環境センサ3を備える。
ロボット2Aは、把持位置決定装置21A、制御部23、記憶部24、およびハンド25を備える。
把持位置決定装置21Aは、情報取得部211、物体推定部212、摩擦力分布算出部213A、把持可能領域選択部214A、および把持位置算出部215を備える。
【0078】
摩擦力分布算出部213Aは、制約条件に基づいて、特定状態で把持可能な把持可能領域があるか否か判別する。
【0079】
把持可能領域選択部214Aは、制約条件とL2ノルムに基づいて、摩擦力分布の領域内で少なくとも1つの把持可能領域を選択する。制約条件は、例えば、ハンド25が出して良い力、各指均等に最低限出す力、姿勢を維持するか否か等である。
【0080】
図10は、本実施形態の把持位置決定例を説明するための図である。
図10において、物体Objは筒状の物体である。また、
図10の例では、4本の指(親指、人差し指、中指、薬指)で上側から把持する例である。
【0081】
位置g301は、人差し指281bの把持位置である。位置g302は、中指281cの把持位置である。位置g303は、薬指281dの把持位置である。位置304は、親指281aの初期把持位置である。なお、各矢印は、各指で把持された場合に物体Objに働く力を表している。
【0082】
ここで、物体Objの重力バランスを崩さない、すなわち物体が傾かないように保持させる場合、親指281aの初期把持位置は、人差し指281bの把持位置と中指281cの把持位置と薬指281dの把持位置に対向する位置となる。この場合、摩擦力分布算出部213は、物体Objのxy方向、すなわち円周方向の所定の範囲で把持力分布g311を算出する。そして、把持位置決定装置21Aは、補正把持位置g312を安定して保持できる位置として算出する。
【0083】
次に、物体Objの重力バランスを崩してもよい、すなわち物体が傾いてもよいように保持させる場合、把持位置決定装置21Aは、物体Objのz軸方向の所定の範囲も含めて安定して把持できる位置を、L2ノルムが最小となる位置を物体Obj表面上で探索(探索経路g321)し、把持位置g322を算出する。
【0084】
[摩擦力分布の例]
次に、本実施形態での摩擦力分布の例を説明する。
図11は、本実施形態での摩擦力分布の例を示す図である。
図11において、物体Objは球状の物体である。また、
図11の例では、2本の指(親指、人差し指)で側面側から把持する例である。
【0085】
位置g401は、人差し指281bの把持位置である。位置402は、親指281aの初期把持位置である。なお、各矢印は、各指で把持された場合に物体Objに働く力を表している。
【0086】
この場合、摩擦力分布g411は、物体Objのxy方向に加えてz軸方向にも分布している。
第1の把持可能領域g421は、L2ノルムに基づく領域である。この第1の把持可能領域g421では、安定して把持できる把持位置が位置g422となる。この位置g422は、人差し指に対向する位置であり、例えば重力の影響が弱まった場合に選択される。
【0087】
第2の把持可能領域g431は、重力的に安定して把持できる場合も制約条件として考慮した場合の領域である。この第2の把持可能領域g431では、安定して把持できる把持位置が位置g432となる。位置g432は、位置g422より少し下側でも重力方向に安定する位置であり、例えば物体の姿勢の変化が許容される場合等に選択される。
【0088】
なお、矢印g441のように、把持可能領域の範囲内は、把持可能な領域を表している。
本実施形態では、摩擦力分布から少なくとも1つ以上の可把可能領域を決めて、その中から重力や外力に最も抵抗できる接触点を算出する。そして、本実施形態では、少なくとも1つの把持可能領域から、物体を横方向に摩擦力が全指でなるべく発生しないような位置を、指1本の初期把持位置を動かして探索して補正する。
【0089】
[把持位置決定の処理手順例]
次に、把持位置決定の処理手順例を説明する。
図12は、本実施形態に係る把持位置決定の処理手順のフローチャートである。
【0090】
(ステップS1~S5)把持位置決定装置21Aは、ステップS1~S5の処理を行う。
【0091】
(ステップS101)摩擦力分布算出部213は、得られた横力の二乗の平方根であるL2ノルムを算出することで摩擦力分布を物体表面上で算出する。
【0092】
(ステップS7~S8)把持位置決定装置21Aは、ステップS7~S8の処理を行う。
【0093】
(ステップS102)摩擦力分布算出部213Aは、制約条件に基づいて、特定状態で把持可能な把持可能領域があるか否か判別する。摩擦力分布算出部213Aは、特定状態で把持可能な把持可能領域があると判別した場合(ステップS102;YES)、ステップS103の処理に進める。摩擦力分布算出部213Aは、特定状態で把持可能な把持可能領域がないと判別した場合(ステップS102;NO)、ステップS104の処理に進める。
【0094】
(ステップS103)把持位置算出部215は、把持可能領域を探索して、外力に最も抵抗できる他の把持位置と指の関節の角度等の情報を算出する。
【0095】
(ステップS9~S10)制御部23は、ステップS9~S10の処理を行う。
【0096】
なお、摩擦力分布算出部213Aは、全ての特定状態で把持可能な把持可能領域に対してステップS102~S103の処理を行う。
【0097】
このように、本実施形態では、外力や重力が釣り合う把持方法が複数有る場合、複数の把持可能領域の中から1つずつ選択し、選択した把持可能領域毎に把持位置を算出するようにした。把持位置算出部215は、このように算出された複数の把持位置のうち、物体の状態や制約条件等に応じて、1つの把持位置を選択するようにした。
【0098】
これにより、安定して把持可能な複数の把持位置を決定することができる。これにより、本実施形態によれば、把持位置の誤差を考慮した評価を、確率分布を考慮した期待値として考えることができ、指先側の形状要素や表皮のつぶれなどを分布として扱うことで複数の要素を考慮しつつもその重みづけのパラメータのチューニングをすることなく評価することが可能となる。
【0099】
なお、上述した2つ以上の把持位置について、物体の姿勢等が変化する場合(例えば持ち運ぶ場合等)には、算出された複数の把持位置から選択する把持位置を、物体の姿勢等に応じて切り替えるようにしてもよい。
【0100】
物体を操作する際には、指先形状が曲面の場合に把持点が転がりながら移動する。以上のように、第1実施形態、第2実施形態によれば、この軌跡全体で評価することで、操作を考慮した把持点決定が可能になる。また、把持位置の誤差を考慮した評価は、確率分布を考慮した期待値として考えることができるので、以上のように、第1実施形態、第2実施形態によれば、指先側の形状要素や表皮のつぶれなどを分布として扱うことで複数の要素を考慮しつつもその重みづけのパラメータのチューニングをすることなく評価することが可能となる。
【0101】
また、第1実施形態、第2実施形態によれば、従来技術の全指による把持性能の評価とは異なり、指一本の接触点の良さの評価に全指の摩擦力の情報を組み込んで、物体表面上でその分布から、接触点を決められるようにした。これにより、第1実施形態、第2実施形態によれば、滑りにくい位置をより具体的に決めることができるようになった。
また、第1実施形態、第2実施形態によれば、実際の把持時の把持位置の誤差を考慮した評価を可把持楕円体の内部に留まりやすくする方向でおこなうことで、形状や制御の誤差があってもロバストな把持位置を決定することができる。
【0102】
なお、本発明における把持位置決定装置21(または21A)の機能の全てまたは一部を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより把持位置決定装置21(または21A)が行う処理の全てまたは一部を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ローカルネットワーク上で構築されたシステムやクラウド上で構築されたシステム等も含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
【0103】
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【0104】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形および置換を加えることができる。
【符号の説明】
【0105】
1,1A…把持位置決定システム、2…ロボット、3…環境センサ、21,21A…把持位置決定装置、23…制御部、24…記憶部、25…ハンド、211…情報取得部、212…物体推定部、213,213A…摩擦力分布算出部、214,214A…把持可能領域選択部、215…把持位置算出部、26…センサ、27…駆動部、28…把持部、281…指部、281a…親指、281b…人差し指、281c…中指、281d…薬指、281e…小指、31…撮影装置、32…センサ、33…物体位置検出部、34…通信部