(58)【調査した分野】(Int.Cl.,DB名)
前記移動軌跡算出部が、前記ロボットの移動の始点および終点と、前記ロボットと前記障害物との距離とを制限条件として最適化された前記移動軌跡を算出する請求項1に記載のロボットシステム。
前記移動軌跡算出部が、前記ロボットの減速機寿命の最大化、移動軌跡、消費電力、軌跡精度あるいは振動の最小化の少なくとも1つを達成する前記移動軌跡を算出する請求項2に記載のロボットシステム。
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、干渉領域を設け、インターロックを設定するシステムの場合、いずれかのロボットが停止しなければならない期間が発生し、生産性が悪化するという不都合がある。
本発明は、動作範囲内に他のロボットや人が存在して協働作業を行う場合に、相互の干渉を回避しつつ、生産性を向上することができるロボットシステムを提供することを目的としている。
【課題を解決するための手段】
【0005】
本発明の一態様は、ロボットの動作範囲内において移動または変形する障害物の特徴点の位置を一定周期毎に検出する特徴点位置検出部と、前記ロボットの動作前に、該ロボットの移動軌跡を算出する移動軌跡算出部と、
該移動軌跡算出部により算出された前記移動軌跡に沿って前記ロボットを動作させる制御装置と、前記ロボットが動作する間に、時間間隔をあけて検出された前記特徴点の位置に基づいて
、移動または変形前の前記障害物の特徴点の位置を移動または変形後の前記障害物の特徴点の位置にマッピングするマッピング関数を導出するマッピング関数導出部と、導出された前記マッピング関数を用いて、前記ロボットの前記移動軌跡を動的に修正する軌跡修正部とを備え
、前記制御装置が、前記軌跡修正部によって前記移動軌跡が修正された場合に、修正後の前記移動軌跡に沿って前記ロボットを動作させるロボットシステムである。
【0006】
本態様によれば、ロボットの動作前に特徴点位置検出部により障害物の特徴点の位置が検出され、検出された特徴点の位置を用いてロボットの初期の移動軌跡が移動軌跡算出部により算出される。算出された移動軌跡に基づいてロボットが動作する間に、一定周期毎に特徴点位置検出部により障害物の特徴点の位置が逐次検出され、障害物が移動または変形することにより、特徴点の位置が変化する。マッピング関数導出部は、移動または変形前の障害物の特徴点の位置を移動後の障害物の特徴点の位置にマッピングするマッピング関数を導出する。そして、軌跡修正部が、導出されたマッピング関数を用いて現在の移動軌跡を動的に修正する。これにより、動作範囲内に他のロボットや人が存在して協働作業を行う場合に、相互の干渉を回避しつつ、生産性を向上することができる。
【0007】
上記態様においては、前記移動軌跡算出部が、前記ロボットの移動の始点および終点と、前記ロボットと前記障害物との距離とを制限条件として最適化された前記移動軌跡を算出してもよい。
この構成により、障害物の移動に基づいて修正された移動軌跡は、ロボットの移動の始点および終点を変更することなく、移動する障害物とロボットとの干渉を回避することができる最適な移動軌跡となる。所定の制約条件下に移動軌跡を最適化する演算は非凸問題であり、演算時間がかかるため、リアルタイム性が低いが、ロボットを移動させる前の初期の移動軌跡の演算においては、時間を比較的長くかけることができて有効に初期の最適な移動軌跡を設定することができる。
【0008】
また、上記態様においては、前記移動軌跡算出部が、前記ロボットの減速機寿命の最大化、移動軌跡、消費電力、軌跡精度あるいは振動の最小化の少なくとも1つを達成する前記移動軌跡を算出してもよい。
この構成により、算出された移動軌跡に沿ってロボットを移動させることにより、減速機寿命を最大化し、あるいは、移動軌跡、消費電力、軌跡精度および振動を最小化することができる。
【発明の効果】
【0009】
本発明によれば、動作範囲内に他のロボットや人が存在して協働作業を行う場合に、相互の干渉を回避しつつ、生産性を向上することができるという効果を奏する。
【発明を実施するための形態】
【0011】
本発明の一実施形態に係るロボットシステム1について、図面を参照して以下に説明する。
本実施形態に係るロボットシステム1は、
図1に示されるように、ロボット2と、ロボット2を制御する制御装置3と、ロボット2の上方に配置され、ロボット2の動作範囲全体を含む領域の画像を取得するカメラ4とを備えている。
【0012】
ロボット2の動作範囲内において移動する障害物Wとしては、ロボット2の動作範囲内を通過する経路に沿って移動する無人搬送台車、人間、あるいは他のロボットを挙げることができる。
制御装置3は、
図2に示されるように、カメラ4により取得された画像を処理して障害物Wを検出し、障害物Wに備わっている特徴点の位置を検出する特徴点位置検出部5と、ロボット2の動作前の状態で検出された障害物Wの特徴点の位置に基づいて初期の移動軌跡を算出する移動軌跡算出部6と、検出された特徴点の位置および算出された移動軌跡を記憶する記憶部9と、ロボット2の動作中に、時間間隔をあけて検出された障害物Wの特徴点の位置に基づいてマッピング関数を導出するマッピング関数導出部7と、導出されたマッピング関数を用いて、ロボット2の移動軌跡を動的に修正する軌跡修正部8とを備えている。制御装置3はプロセッサおよびメモリにより構成されている。
【0013】
特徴点位置検出部5は、例えば、
図3に示されるように、障害物Wが平面視で長方形である場合に、長方形の4つの頂点を特徴点として、それらの座標を検出する。
移動軌跡算出部6は、ロボット2の動作の始点および終点が与えられたときに、ロボット2の速度および加速度、ロボット2と障害物Wとの距離を制限条件として、最短となるような移動軌跡を算出する。
【0014】
具体的には、移動軌跡算出部6は、数1に従って移動軌跡を最適化する。
【数1】
【0015】
ここで、式(1)において、Jは評価関数、tは補間の番号、p
tはt番目の補間における距離、ωは重みであり、式(1)によれば、移動軌跡は、最小化されることにより最適化される。
また、式(2)は、移動軌跡の始点x
0と終点x
hとを規定する制限条件である。
また、式(3)は、ロボット2の速度V
xおよび加速度A
xを所定の範囲内に収めることを規定する制限条件である。
また、式(4)は、全てのqについて、移動軌跡上の点x
qと障害物Wの表面O
qとの距離d(x
q,O
q)が所定の閾値d
min以上であることを規定する制限条件である。
【0016】
マッピング関数導出部7は、例えば、
図4に示されるように、ロボット2の動作中に時間間隔をあけてカメラ4により取得された画像において、障害物Wが移動(および変形)した場合の移動前の障害物Wの特徴点の位置x
1,x
2,x
3,x
4と移動後の障害物Wの特徴点の位置x
1′,x
2′,x
3′,x
4′とに基づいて、位置x
1,x
2,x
3,x
4を位置x
1′,x
2′,x
3′,x
4′に変位させるための非線形マッピング関数fを導出する。マッピング関数fは、例えば、数2に示す式(5)により算出される。
【0018】
ここで、fはマッピング関数、kは特徴点の番号1〜4、x
(k)はx
k、x
1,x
2は水平面内において相互に直交する方向を示している。
数2の右辺第1項はマッピング精度、第2項はマッピング平滑度であり、これらの和を最小にするマッピング関数fを求めている。
軌跡修正部8は、障害物Wの移動前におけるロボット2の移動軌跡をマッピング関数を用いて変換することにより、障害物Wの移動後のロボット2の移動軌跡を算出する。
【0019】
このように構成された本実施形態に係るロボットシステム1の作用について以下に説明する。
本実施形態に係るロボットシステム1によれば、ロボット2を動作させる前にカメラ4により画像が取得され移動軌跡算出部6および特徴点位置検出部5に入力される。移動軌跡算出部6においては、入力された画像に加え、ロボット2の移動軌跡の始点x
0と終点x
hとが入力されることにより、移動軌跡算出部6により初期の移動軌跡が、数1により算出され、記憶部9に記憶される。
【0020】
数1は、入力された移動軌跡の始点x
0と終点x
hと、ロボット2の速度V
xおよび加速度A
xが所定の範囲内に収まっていることと、移動軌跡上の点x
qと障害物Wの表面Q
qとの距離d(x
q,O
q)が閾値d
min以上であることを規定する制限条件を満たしつつ、最短距離となるような移動軌跡を算出する。移動軌跡の算出は、非凸問題であって、解を導くまでに時間を要するが、ロボット2の動作前であるため、サイクルタイムに影響せず、十分に時間をかけて行われてもよい。
【0021】
また、特徴点位置検出部5に画像が入力されると、画像処理により画像内の障害物Wが抽出され、その特徴点の位置x
1,x
2,x
3,x
4が検出される。検出された特徴点の位置x
1,x
2,x
3,x
4は記憶部9に記憶される。
【0022】
移動軌跡算出部6により初期の最適化された移動軌跡が算出されると、当該移動軌跡に沿ってロボット2が始点x
0から動作させられる。そして、この動作の途中において、カメラ4による画像取得が逐次行われ、取得された2枚目の画像は、特徴点位置検出部5に入力される。
【0023】
特徴点位置検出部5においては2枚目の画像に対し1枚目と同様の画像処理が行われることにより、特徴点の位置x
1′,x
2′,x
3′,x
4′が検出される。検出された新たな特徴点の位置x
1′,x
2′,x
3′,x
4′も記憶部9に記憶される。
新たに検出された障害物Wの特徴点の位置x
1′,x
2′,x
3′,x
4′および記憶部9に記憶されている1つ前の画像における障害物Wの特徴点の位置x
1,x
2,x
3,x
4はマッピング関数導出部7に入力され、位置x
1,x
2,x
3,x
4から位置x
1′,x
2′,x
3′,x
4′への変換関数であるマッピング関数fが数2により算出される。
【0024】
そして、算出されたマッピング関数fは軌跡修正部8に入力され、移動軌跡算出部6により算出され記憶部9に記憶されていた1つ前の移動軌跡が読み出されて、マッピング関数fにより新たな移動軌跡に変換される。
マッピング関数fの算出およびマッピング関数fによる移動軌跡の修正は、短い計算時間で行うことができ、サイクルタイムに影響を与えることなくリアルタイムに実行することができる。また、動作中の移動軌跡の修正は、最初に最適化された初期の移動軌跡を修正する形で行われ、その後の修正も1つ前に生成された移動軌跡を元に行われるので、修正後の移動軌跡が最適化された移動軌跡に近似し、生産性を向上することができるという利点がある。
【0025】
このように、本実施形態に係るロボットシステム1によれば、動作範囲内において移動する他のロボットあるいは人間等の障害物Wが存在する場合に、相互の干渉を回避しつつ、生産性を向上することができるという利点がある。また、マッピング関数fとして非線形マッピング関数を用いることにより、障害物Wが並進移動する場合のみならず、障害物W回転する場合や、ロボットあるいは人間のように障害物Wの形状が変化する場合にも対応することができる。
【0026】
なお、本実施形態においては、マッピング関数fとして、非線形マッピング関数を用いることを例示したが、これに限定されるものではなく、例えば、障害物Wが並進移動のみする場合には、線形の変換行列をマッピング関数fとして使用してもよい。
【0027】
また、初期の移動軌跡を、軌跡の最小化により最適化することとしたが、これに代えて、あるいは、これに加えて、減速機寿命の最大化、軌跡精度の最小化、消費電力の最小化および振動の最小化の少なくとも1つを用いて、移動軌跡を最適化してもよい。
【0028】
例えば、減速機寿命の最大化は、数3に示す式(6)により評価できる。
【数3】
ここで、Lは寿命、Kは定格寿命、N
0は定格回転速度、N
mは実際の平均回転速度、T
0は定格トルク、T
mは実際の平均トルクをそれぞれ示す。
【0029】
また、例えば、軌跡精度の最小化は、数4に示す式(7)により評価できる。
【数4】
ここで、x
tはt時刻の指令位置、x
t′はセンサで測定されたt時刻の実際位置である。
【0030】
また、例えば、消費電力の最小化は、数5に示す式(8)により評価できる。
【数5】
ここで、N
tはt時刻のトルク、v
tはt時刻のモータ速度、K
tはt時刻のモータの銅損および鉄損である。
【0031】
また、例えば、振動の最小化は、数6に示す式(9)により評価できる。
【数6】
ここで、a
tはt時刻の指令加速度、a
t′はセンサで測定されたt時刻の実際の加速度である。加速度の大きさで振動の状況を表すことができる。
【0032】
また、本実施形態においては、マッピング関数fとして、カメラ4である2次元カメラにより取得された2次元の画像に基づく2次元のマッピング関数を例示したが、これに代えて、3次元カメラにより取得された3次元画像に基づいて、数7に示す式(10)により、3次元のマッピング関数fを導出することにしてもよい。
【0033】
【数7】
ここで、x
3は、方向x
1およびx
2に直交する方向である。