JP2008105132A - アームの関節空間における経路を生成する方法と装置 - Google Patents
アームの関節空間における経路を生成する方法と装置 Download PDFInfo
- Publication number
- JP2008105132A JP2008105132A JP2006290171A JP2006290171A JP2008105132A JP 2008105132 A JP2008105132 A JP 2008105132A JP 2006290171 A JP2006290171 A JP 2006290171A JP 2006290171 A JP2006290171 A JP 2006290171A JP 2008105132 A JP2008105132 A JP 2008105132A
- Authority
- JP
- Japan
- Prior art keywords
- target point
- point
- path
- route
- obstacle
- 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.)
- Pending
Links
Images
Landscapes
- Manipulator (AREA)
Abstract
【課題】 関節空間の次数が大きい場合や、関節空間を詳細に離散化して表現した場合であっても、少ない計算コストで関節空間におけるアームの経路を生成することが可能な技術を提供する。
【解決手段】 複数の関節を備えるアームの関節空間における経路を生成する方法であって、経路の開始点の位置を決定する工程と、経路の目標点の位置を決定する工程と、障害物の位置と形状を決定する工程と、経路の開始点を評価対象点とする工程と、(A1)評価対象点と目標点の間に障害物が存在しない場合に、評価対象点から目標点まで直線的に経路を進展させる工程と、(A2)評価対象点と目標点の間に障害物が存在する場合に、評価対象点から見た目標点の方向から傾いた方向に直線的に経路を進展させて、進展させた経路の先端を新たな評価対象点とする工程と、上記の(A1)と(A2)の各工程を、開始点から進展した経路が目標点に到達するまで繰り返し行う工程を備える。
【選択図】 図2
【解決手段】 複数の関節を備えるアームの関節空間における経路を生成する方法であって、経路の開始点の位置を決定する工程と、経路の目標点の位置を決定する工程と、障害物の位置と形状を決定する工程と、経路の開始点を評価対象点とする工程と、(A1)評価対象点と目標点の間に障害物が存在しない場合に、評価対象点から目標点まで直線的に経路を進展させる工程と、(A2)評価対象点と目標点の間に障害物が存在する場合に、評価対象点から見た目標点の方向から傾いた方向に直線的に経路を進展させて、進展させた経路の先端を新たな評価対象点とする工程と、上記の(A1)と(A2)の各工程を、開始点から進展した経路が目標点に到達するまで繰り返し行う工程を備える。
【選択図】 図2
Description
本発明は、複数の関節を備えるアームの関節空間における経路を生成する方法と装置に関する。なお、本明細書ではアームが存在する現実の空間を作業空間と呼び、アームの各関節の関節角度あるいは関節伸縮長さを元とする仮想的な空間を関節空間と呼ぶ。例えばアームの各関節の自由度の合計がnである場合には、関節空間はn次元の空間として規定される。関節空間上の点はアームの各関節の関節角度あるいは関節伸縮長さを表現しており、関節空間上の一点が定まると作業空間におけるアームの姿勢が定まる。アームの関節空間における経路が定まると、アームの作業空間における姿勢の変化態様が定まる。
現在、家庭やオフィスなどで人間の代わりに作業したり、人間が行う作業の補助をすることを目的としたパートナーロボットの開発が盛んに行われている。このようなロボットでは、人間と同じ様に、種々の動作を行うことが期待されている。例えば、人間の代わりに荷物を搬送する動作をロボットが行う場合、まずロボット本体がその荷物の近傍まで移動し、次いでロボット本体に搭載されているアームを駆動してその荷物を把持し、荷物を把持した状態でロボット本体を移動する。このような動作を実現するためには、ロボット本体を目標物に向けて移動させる技術に加えて、ロボット本体に搭載されているアームを目標物に向けて移動させる技術が必要とされる。
アームの経路を生成する場合、移動体そのものの経路を生成する場合とは事情が異なる。アームの経路の生成では、周囲の障害物との干渉を判断する際に、アームの先端だけではなく、移動体からアームの先端に至るまでのアーム全体での障害物との干渉を考慮しなければならない。従って、作業空間においてアームの経路を生成する際には、マルコフ性が保証されない場合が多く、最適な経路を生成することが困難な場合が多い。そこで、移動体に搭載されたアームについては、RRT(Rapidly-exploring Random Tree)法を用いて、関節空間における経路を生成する手法が従来より用いられている。
RRT法では、関節空間における経路の開始点と目標点のそれぞれからツリーを進展させていく。それぞれのツリーは関節空間にランダムに設定された中間点に向けて、障害物と干渉しない限り進展していく。ツリーの進展途中に、障害物と干渉するか、中間点まで到達すると、新たな中間点をランダムに設定する。これを繰り返すことによって、開始点から伸びるツリーと目標点から伸びるツリーが徐々に成長していく。開始点から伸びるツリーと目標点から伸びるツリーが交差した時点で、開始点から目標点に至る1つの経路が決定される。この手法によれば、関節空間内に障害物が存在する場合であっても、開始点から目標点に至る経路を、簡単なアルゴリズムで生成することができる。なお関節空間における障害物とは、各関節の可動範囲を超える領域や、作業空間において現実の障害物あるいはアームそれ自身と干渉してしまうアームの姿勢に相当する領域を意味する。RRT法の詳細については、例えば非特許文献1や非特許文献2に記載されている。
James J. Kuffner, "Efficient Optimal Search of Uniform-Cost Grids and Lattices", Proc. Of IEEE Intl'l Conf. on Robotics and Automation (ICRA2004), September 2004
J. Kuffner and S.M. LaValle, "RRT-Connect: An efficient approach to single-query path planning", Video Proc. of IEEE Int'l Conf. on Robotics and Automation (ICRA'2000), April 2000
RRT法によって経路を生成する場合、周囲の状況と関係なく、関節空間においてランダムに中間点を設定する。従って、関節空間の次数が大きい場合や、関節空間を詳細に離散化して表現した場合には、多数の候補点の中からランダムに中間点が設定され、ツリーが関節空間の全方向に向かってばらばらに進展し、最終的な経路の生成に要する計算コストが膨大なものとなってしまう。このため、RRT法による経路の生成では、関節空間において開始点と目標点の間にそれほど大きな障害物が存在しない場合であっても、経路を生成するために膨大な計算を必要とする。従って、より少ない計算コストで経路を生成することが可能な技術が待望されている。
本発明は、上述した問題を解決するためのものであり、関節空間の次数が大きい場合や、関節空間を詳細に離散化して表現した場合であっても、少ない計算コストで関節空間におけるアームの経路を生成することが可能な技術を提供する。
本発明は複数の関節を備えるアームの関節空間における経路を生成する方法として具現化される。本発明の経路生成方法は、経路の開始点の位置を決定する工程と、経路の目標点の位置を決定する工程と、障害物の位置と形状を決定する工程と、経路の開始点を評価対象点とする工程と、(A1)評価対象点と目標点の間に障害物が存在しない場合に、評価対象点から目標点まで直線的に経路を進展させる工程と、(A2)評価対象点と目標点の間に障害物が存在する場合に、評価対象点から見た目標点の方向から傾いた方向に直線的に経路を進展させて、進展させた経路の先端を新たな評価対象点とする工程と、上記の(A1)と(A2)の各工程を、開始点から進展した経路が目標点に到達するまで繰り返し行う工程を備えている。
本発明の経路生成方法では、関節空間における開始点の位置と、目標点の位置と、障害物の位置と形状をそれぞれ決定した後に、開始点から目標点に向けて経路を進展させる。本発明の経路生成方法では、始点から伸びる経路の先端を評価対象点として、評価対象点から経路を進展させ、進展した経路の先端を新たに評価対象点として、順次経路を進展させていく。評価対象点から目標点に向けて直線的に経路を進展させることができる場合には、その評価対象点から目標点に向けて直線的に経路を進展させる。評価対象点から目標点に向けて直線的に経路を進展させることができない場合には、その評価対象点から見た目標点の方向よりも傾いた方向に経路を進展させる。このような経路の進展を繰り返すことによって、開始点から伸びる経路は障害物を迂回しながら目標点に到達する。
本発明の経路生成方法は、関節空間における開始点と目標点の間にそれほど大きな障害物が存在しない場合に、特に効果的である。RRT法を用いた経路生成方法では、開始点と目標点の間にそれほど大きな障害物が存在しない場合であっても、常に中間点をランダムに設定していくために、関節空間の次数が大きい場合や、関節空間を詳細に離散化して表現した場合には、経路を生成するために膨大な計算を必要とする。それに対して、本発明の経路生成方法では、開始点と目標点の間にそれほど大きな障害物が存在しない場合には、迅速に経路を生成することが可能である。関節空間の次数が大きい場合や、関節空間を詳細に離散化して表現した場合であっても、少ない計算コストで経路を生成することができる。
上記した経路生成方法においては、前記(A2)の工程が、評価対象点と目標点の間に障害物が存在する場合に、以下の(B1)から(B3)の各工程を行う工程を備えることが好ましい。ここで、(B1)の工程とは、評価対象点から見た目標点の方向に沿って、評価対象点から障害物までの距離を算出する工程であり、(B2)の工程とは、評価対象点から見た目標点の方向から所定角度傾いた方向に、評価対象点から前記距離だけ経路を進展させる工程であり、(B3)の工程とは、進展させた経路の先端を新たな評価対象点とする工程である。
上記の経路生成方法では、目標点の方向よりも傾いた方向に経路を進展させる場合に、進展させる経路の長さを、評価対象点から目標点の方向に経路を進展させた場合に障害物と干渉するまでの距離としている。このように経路を生成することで、評価対象点から障害物までの距離が近いほど、経路を小刻みに進展させていくため、障害物の形状に沿って経路を迂回させることができる。より無駄の少ない経路を生成することができる。
本発明は、複数の関節を備えるアームの関節空間における経路を生成する装置としても具現化される。本発明の経路生成装置は、経路の開始点の位置を決定する手段と、経路の目標点の位置を決定する手段と、障害物の位置と形状を決定する手段と、開始点から目標点へ到達する経路を決定する手段を備えている。開始点から目標点へ到達する経路を決定する手段は、経路の開始点を評価対象点とする工程と、(A1)評価対象点と目標点の間に障害物が存在しない場合に、評価対象点から目標点まで直線的に経路を進展させる工程と、(A2)評価対象点と目標点の間に障害物が存在する場合に、評価対象点から見た目標点の方向から傾いた方向に直線的に経路を進展させて、進展させた経路の先端を新たな評価対象点とする工程と、上記の(A1)と(A2)の各工程を、開始点から進展した経路が目標点に到達するまで繰り返し行う工程を実行する。
本発明の方法と装置によれば、関節空間の次数が大きい場合や、関節空間を詳細に離散化して表現した場合であっても、少ない計算コストで関節空間におけるアームの経路を生成することができる。
本発明の好適な実施形態を例示する。
(形態1)アームは移動体に搭載されている。
一般に、移動体の位置決め精度はアームの位置決め精度に比べて低く、移動体の位置決め誤差がアームの作業空間における環境の変化として認識される場合がある。このような場合でも、本発明の経路生成方法によれば、適切なアームの経路を少ない計算コストで生成することができる。
(形態2)関節空間における障害物の位置と形状は、移動体から周囲の環境までの距離の計測値に基づいて決定される。
(形態1)アームは移動体に搭載されている。
一般に、移動体の位置決め精度はアームの位置決め精度に比べて低く、移動体の位置決め誤差がアームの作業空間における環境の変化として認識される場合がある。このような場合でも、本発明の経路生成方法によれば、適切なアームの経路を少ない計算コストで生成することができる。
(形態2)関節空間における障害物の位置と形状は、移動体から周囲の環境までの距離の計測値に基づいて決定される。
(第1実施例)
本発明の経路生成方法および装置の実施例について、図面を参照しながら説明する。図1は本実施例に係るロボット100の構成を示している。ロボット100は、カメラ102、104、画像処理部106、主制御部110、アーム制御部112、車輪制御部114、アクチュエータ群116、モータ118、120、アーム122、右車輪124、左車輪126、エンコーダ群128、エンコーダ130、132を備えている。
本発明の経路生成方法および装置の実施例について、図面を参照しながら説明する。図1は本実施例に係るロボット100の構成を示している。ロボット100は、カメラ102、104、画像処理部106、主制御部110、アーム制御部112、車輪制御部114、アクチュエータ群116、モータ118、120、アーム122、右車輪124、左車輪126、エンコーダ群128、エンコーダ130、132を備えている。
ロボット100の本体は、右車輪124、左車輪126および図示されない補助輪によって支持されており、右車輪124、左車輪126をそれぞれモータ118、モータ120によって回転させることによって、転倒することなく移動することができる。右車輪124はモータ118の駆動によって回転し、左車輪126はモータ120の駆動によって回転する。右車輪124と左車輪126は互いに独立して回転可能である。右車輪124と左車輪126の回転を制御することによって、ロボット100の本体は前進したり、後進したり、旋回したりすることができる。
車輪制御部114は、モータ118およびモータ120の駆動を制御する。車輪制御部114は、主制御部110から右車輪124と左車輪126の回転角度の時系列データが入力されると、その回転角度の時系列データに従って、モータ118およびモータ120を駆動する。
右車輪124にはエンコーダ130が設けられている。左車輪126にはエンコーダ132が設けられている。エンコーダ130およびエンコーダ132は、それぞれ車輪の回転角度を検出して、車輪制御部114へ出力する。車輪制御部114はそれぞれの車輪の回転角度を主制御部110へ出力する。
アーム122は、複数の回転関節を備えるリンク機構であり、その基部は回転関節によってロボット100の本体に対して揺動可能となっている。アーム122は、その先端に把持部(図示されない)を備えている。アーム122の把持部は、それぞれが複数の回転関節を備える指部材を備えている。ロボット100は、アーム122の各回転関節をアクチュエータ群116によって回転させることで、ロボット100の本体に対するアーム122の姿勢を変化させることができる。以下ではアーム122の各回転関節の自由度の合計をnとして、アーム122の各関節の関節角度を(θ1、θ2、・・・、θn)で表現する。
アーム制御部112は、アクチュエータ群116の駆動を制御する。アーム制御部112は、主制御部110からアーム122の各関節の関節角度の時系列データが入力されると、その関節角度の時系列データに従って、アクチュエータ群116を駆動する。
アーム122の各関節には、それぞれの関節に対応するエンコーダ群128が設けられている。エンコーダ群128は各関節の関節角度を検出して、アーム制御部112へ出力する。アーム制御部112は、各関節の関節角度を主制御部110へ出力する。
カメラ102とカメラ104は、一般的なCCDカメラである。カメラ102とカメラ104は、ロボット100の本体に、左右に並んで搭載されている。カメラ102およびカメラ104は、所定の時間間隔で撮影を行う。カメラ102およびカメラ104で撮影された画像は、画像処理部106へ送信される。
画像処理部106は、カメラ102とカメラ104が同時刻に撮影した画像から、ステレオ視の原理によって、ロボット100から周囲の環境までの距離を計測する。周囲の環境までの距離は、ロボット100の本体に設けられている基準点からの距離として算出される。本実施例では、ロボット100の基準点はロボット100の本体に対して固定されている。また画像処理部106は、カメラ102とカメラ104で撮影された画像から、目標物の位置と形状を認識する。さらに画像処理部106は、ロボット100から周囲の環境までの距離と、目標物の位置と形状に基づいて、アーム122を目標物に向けて駆動する際の障害物の位置と形状を決定する。画像処理部106は、カメラ102およびカメラ104で撮影された画像を表現するデータと、それらの画像に基づいて取得された目標物の位置と形状のデータと、障害物の位置と形状のデータを、主制御部110へ送信する。
主制御部110は、アーム122の把持部によって目標物を把持するために、アーム122の経路の生成を行う。本実施例でアーム122の経路とは、アーム122の各関節の関節角度(θ1、θ2、・・・、θn)を元とする関節空間における経路のことをいう。以下では図2のフローチャートを参照しながら、主制御部110が行うアーム122の経路生成処理について説明する。
ステップS202では、関節空間における経路の開始点Sの位置として、アーム122の初期関節角度(θ1S、θ2S、・・・、θnS)を決定する。本実施例では、アーム122の初期関節角度(θ1S、θ2S、・・・、θnS)は、エンコーダ群118から入力されるアーム122の各関節の関節角度の計測値に設定される。
ステップS204では、作業空間における障害物の位置と形状と、作業空間における目標物の位置と形状から、関節空間における経路の目標点Gの位置として、アーム122の最終関節角度(θ1E、θ2E、・・・、θnE)を決定する。本実施例では、アーム122の最終関節角度(θ1E、θ2E、・・・、θnE)は、アーム122が最終的に目標物を把持する際の各関節の関節角度に設定される。アーム122が最終的に目標物を把持する際の各関節の関節角度は、例えば作業空間における障害物の位置と形状と、作業空間における目標物の位置と形状に基づいて、アーム122が障害物と干渉することなく目標物を把持している状態を想定して、その状態におけるアーム122についての逆キネマティクスを解くことによって、決定することができる。
ステップS206では、作業空間における障害物の位置と形状と、アーム122の各関節の可動範囲から、関節空間における障害物Oの位置と形状を決定する。
図3はステップS202からステップS206の処理によって決定された、関節空間における開始点Sと、目標点Gと、障害物Oを例示している。図3では図示の簡略化のために、関節空間をθ1とθ2の二次元で表現しているが、実際の処理では関節空間はθ1、θ2、・・・、θnのn次元で表現されることに留意されたい。
図2のステップS208では、評価対象点Tを開始点Sに設定する。ステップS210では、中間点の順序を示す整数iを0に設定する。
ステップS212では、評価対象点Tから経路を進展させる方向(経路進展方向)γiを、評価対象点Tから目標点Gへの方向に設定する。
ステップS214では、評価対象点Tから経路進展方向γiに沿って経路を伸ばす場合に、目標点Gへ到達する前に障害物Oと干渉するか否かを判断する。障害物Oと干渉する場合(ステップS214でYESの場合)、評価対象点Tから目標点Gへは直線的な経路では到達できないため、新たな中間点Piを生成するために処理はステップS216へ進む。障害物Oと干渉しない場合(ステップS214でNOの場合)、評価対象点Tから目標点Gへは直線的な経路で到達できるため、これ以上中間点Piを生成する必要がなく、処理はステップS228へ進む。
ステップS216では、評価対象点Tから経路進展方向γiに沿って伸ばした経路が障害物Oと干渉する点を、干渉点Qiとして算出する。
ステップS218では、評価対象点Tから干渉点Qiまでの距離Riを算出する。
ステップS220では、評価対象点Tから障害物Oを迂回して経路を伸ばすために、経路進展方向γiを修正する。ステップS220では、ステップS212で設定された経路進展方向γiを、所定の回転ベクトルΔγ(以下では迂回ベクトルと記載する)によって傾ける修正を行う。迂回ベクトルΔγは、経路を傾ける向きと傾ける角度を規定するベクトル量である。図面中では、図示の簡略化のために、便宜上、迂回ベクトルによって傾ける角度をΔγと示している。
ステップS222では、評価対象点Tから修正後の経路進展方向γiに沿って距離Riだけ進んだ点を、中間点Pi+1として決定する。
ステップS224では、評価対象点Tを、新たに中間点Pi+1に設定する。ステップS226でiを1増やした後、処理はステップS212へ移行して、上述の処理を繰り返し実行する。
ステップS228では、生成された経路における屈曲を低減するために、中間点P1、P2、・・・について整理を行う。ステップS228では、中間点P1、P2、・・・のそれぞれについて、目標点Gから近い順に、開始点Sから直線的に接続可能か否かを判断する。開始点Sから直線的に接続可能な中間点が存在する場合には、開始点Sからその中間点までの間に直線的な経路を新たに生成し、開始点Sとその中間点との間に存在する中間点を経路から削除する。その後、その中間点を評価開始点Eとして、再度、残余の中間点それぞれについて、目標点Gから近い順に、評価開始点Eから直線的に接続可能か否かを判断する。評価開始点Eから直線的に接続可能な中間点が存在する場合には、評価開始点Eからその中間点までの間に直線的な経路を新たに生成し、その中間点を新たな評価開始点Eとする。評価開始点Eが目標点Gに到達すれば、中間点の整理を終了する。上記の中間点の整理を行うことで、開始点Sから目標点Gまで到達する元の経路より短い1つの経路が決定される。
ステップS230では、開始点Sと、中間点P1、P2、・・・と、目標点Gの位置を出力する。上述した処理を実行した後、主制御部110はアーム122の経路生成処理を終了する。
図3と図4に、上記の処理によって経路が生成される様子を模式的に示している。図3に示すように、関節空間において開始点S、目標点G、障害物Oがそれぞれ決定されると、まず評価対象点Tが開始点Sに設定され、経路進展方向γ0が開始点Sから目標点Gへの方向に設定される。図3に示す例では、開始点Sから経路進展方向γ0に沿って伸びる経路が障害物Oと干渉点Q0で干渉するため、経路進展方向γ0が所定の迂回ベクトルΔγによって修正される。図3では、修正後の経路進展方向をγ’0と図示している。そして、開始点Sから修正後の経路進展方向γ’0に沿って、距離R0だけ進んだ位置に中間点P1が決定される。距離R0は、開始点Sから干渉点Q0までの距離に等しい。その後、図4に示すように、評価対象点Tが中間点P1に移り、経路進展方向γ1が中間点P1から目標点Gへの方向に設定される。図4に示す例では、中間点P1から経路進展方向γ1に沿って伸びる経路も障害物Oと干渉点Q1で干渉するため、経路進展方向γ1が修正されて、修正された経路進展方向に沿って距離R1だけ進んだ位置に中間点P2が決定される。距離R1は、中間点P1から干渉点Q1までの距離に等しい。その後、評価対象点Tが中間点P2に移る。中間点P2からは、障害物Oと干渉することなく目標点Gまで直線的に到達することができる。これによって、開始点Sから中間点P1、P2を経て目標点Gへ到達する経路が生成されたことになる。
図2の処理によって出力された開始点S、中間点P1、P2、・・・、目標点Gで表現される経路は、迂回ベクトルΔγの値に応じて生成されたものであり、迂回ベクトルΔγを異なる値として図2の処理を実施すると、生成される経路も異なるものになる。本実施例では、主制御部110は迂回ベクトルΔγを所定のステップ幅で変化させながら上記した経路生成処理を繰り返し実施し、複数の経路を生成する。そして、生成された複数の経路のうちで、開始点Sから目標点Gまでの関節空間における距離が最短となるものを、アーム122の経路として決定する。
主制御部110は、開始点S、中間点P1、P2、・・・、目標点Gの順に、それぞれの点が表現する各関節の関節角度が順に実現されていくように、アーム制御部112に各関節の関節角度の時系列データを出力する。これによって、アーム122は関節空間における経路に沿った動作態様で動作し、作業空間において障害物と衝突することなく、目標物を把持する動作を実現することができる。
本実施例の経路生成方法によって、アーム122の関節空間における開始点Sから目標点Gに至る経路を取得することができる。本実施例の経路生成方法において、経路が生成されるまでに必要な計算量は、関節空間の次数nや、関節空間の分解能にそれほど依存せず、障害物Oの位置と形状に依存する。障害物Oが存在しない場合や、障害物Oがそれほど大きくない場合には、少ない計算量で速やかに経路を生成することができる。
(第2実施例)
本実施例は、第1実施例とほぼ同様であるが、アーム122の経路生成処理において、関節空間における開始点Sの位置と、目標点Gの位置と、障害物Oの位置と形状が取得された後の処理が異なる。以下では第1実施例と相違する点についてのみ詳細に説明し、第1実施例と共通する点については、同じ参照符号を付して詳細な説明を省略する。
本実施例は、第1実施例とほぼ同様であるが、アーム122の経路生成処理において、関節空間における開始点Sの位置と、目標点Gの位置と、障害物Oの位置と形状が取得された後の処理が異なる。以下では第1実施例と相違する点についてのみ詳細に説明し、第1実施例と共通する点については、同じ参照符号を付して詳細な説明を省略する。
本実施例の主制御部110が行うアーム122の経路の生成処理について、図5を参照しながら説明する。
ステップS202からステップS206では、主制御部110は関節空間における開始点Sの位置と、目標点Gの位置と、障害物Oの位置と形状を決定する。
ステップS208では、評価対象点Tを開始点Sに設定する。ステップS210では、中間点の順序を示す整数iを0に設定する。
ステップS212では、評価対象点Tからの経路進展方向γiを、評価対象点Tから目標点Gへの方向に設定する。
ステップS514では、評価対象点Tから経路進展方向γiに沿って所定の経路長ΔLだけ経路を伸ばす場合に、途中で障害物Oと干渉するか否かを判断する。障害物Oと干渉しない場合(ステップS514でNOの場合)、経路進展方向γiを修正する必要がないため、処理はステップS516へ進む。障害物Oと干渉する場合(ステップS514でYESの場合)、経路進展方向γiを修正する必要があるため、処理はステップS520へ進む。
ステップS516では、評価対象点Tから経路進展方向γiに沿って経路長ΔLだけ経路を進展させることで、目標点Gに到達するか否かを判断する。目標点Gに到達する場合(ステップS516でYESの場合)、これ以上中間点を生成する必要がないから、処理はステップS532へ進む。目標点Gに到達しない場合(ステップS516でNOの場合)、経路進展方向γiに沿って経路を進展させるために、処理はステップS526へ進む。
ステップS526では、評価対象点Tから経路進展方向γiに沿って経路長ΔLだけ進んだ点を、中間点Pi+1として決定する。
ステップS528では、評価対象点Tを、新たに中間点Pi+1に設定する。ステップS530でiを1増やした後、処理はステップS212へ移行して、上述の処理を繰り返し実行する。
ステップS514で障害物と干渉すると判断された場合(YESの場合)、ステップS518以降の処理を実行して、既に生成されている経路を一旦後戻りして、障害物を迂回する方向に改めて経路を進展させる。
ステップS518では、中間点の順序を示す整数iを、所定のバックトラック量NBだけ減ずる。
ステップS520では、評価対象点Tを中間点Piに改めて設定する。
ステップS522では、評価対象点Tから障害物Oを迂回して経路を伸ばすために、経路進展方向γiを修正する。ステップS522では、既に設定されている経路進展方向γiを、所定の迂回ベクトルΔγによって傾ける修正を行う。経路進展方向γiを修正した後、処理はステップS526へ移行し、改めて中間点Pi+1を設定する。ステップS528で評価対象点Tを改めて設定された中間点Pi+1に設定し、ステップS530でiを1増加させて、ステップS212に戻る。
ステップS516で目標点Gに到達すると判断された場合(YESの場合)、ステップS532で生成された経路について中間点の整理を行った後に、ステップS230で生成された経路を出力する。
ステップS532では、生成された経路における屈曲を低減するために、中間点P1、P2、・・・について整理を行う。ステップS532では、中間点P1、P2、・・・のうちで、経路が屈曲している点(以下では屈曲中間点という)を抽出する。ある中間点Piで経路が屈曲しているか否かは、その中間点Piでの経路進展方向γiが、その直前の中間点Pi−1での経路進展方向γi−1と相違するか否かによって判断される。そして、抽出された屈曲中間点のそれぞれについて、目標点Gから近い順に、開始点Sから直線的に接続可能か否かを判断する。開始点Sから直線的に接続可能な屈曲中間点が存在する場合には、開始点Sからその屈曲中間点までの間に直線的な経路を新たに生成して、開始点Sとその屈曲中間点の間の中間点を、その直線的な経路上に再配置する。その後、その屈曲中間点を新たな評価開始点Eとして、再度、目標点Gから近い順に、それぞれの屈曲中間点について、評価開始点Eから直線的に接続可能か否かを判断する。評価開始点Eから直線的に接続可能な屈曲中間点が存在する場合には、評価開始点Eからその屈曲中間点までの間に直線的な経路を新たに生成して、評価開始点Eとその屈曲中間点の間の中間点を、同様にその直線的な経路上に再配置する。さらにその後、その屈曲中間点を新たな評価開始点Eとして、上記した中間点の整理を繰り返す。評価開始点Eが目標点Gに到達すれば、中間点の整理を終了する。上記の中間点の整理を行うことで、開始点Sから目標点Gまで到達する元の経路より短い1つの経路が決定される。
ステップS532では、生成された経路における屈曲を低減するために、中間点P1、P2、・・・について整理を行う。ステップS532では、中間点P1、P2、・・・のうちで、経路が屈曲している点(以下では屈曲中間点という)を抽出する。ある中間点Piで経路が屈曲しているか否かは、その中間点Piでの経路進展方向γiが、その直前の中間点Pi−1での経路進展方向γi−1と相違するか否かによって判断される。そして、抽出された屈曲中間点のそれぞれについて、目標点Gから近い順に、開始点Sから直線的に接続可能か否かを判断する。開始点Sから直線的に接続可能な屈曲中間点が存在する場合には、開始点Sからその屈曲中間点までの間に直線的な経路を新たに生成して、開始点Sとその屈曲中間点の間の中間点を、その直線的な経路上に再配置する。その後、その屈曲中間点を新たな評価開始点Eとして、再度、目標点Gから近い順に、それぞれの屈曲中間点について、評価開始点Eから直線的に接続可能か否かを判断する。評価開始点Eから直線的に接続可能な屈曲中間点が存在する場合には、評価開始点Eからその屈曲中間点までの間に直線的な経路を新たに生成して、評価開始点Eとその屈曲中間点の間の中間点を、同様にその直線的な経路上に再配置する。さらにその後、その屈曲中間点を新たな評価開始点Eとして、上記した中間点の整理を繰り返す。評価開始点Eが目標点Gに到達すれば、中間点の整理を終了する。上記の中間点の整理を行うことで、開始点Sから目標点Gまで到達する元の経路より短い1つの経路が決定される。
ステップS230では、開始点S、中間点P1、P2、・・・、目標点Gを出力する。上述した処理を実行した後、主制御部110はアーム122の経路生成処理を終了する。
図6から図8に、上記の処理によって経路が生成される様子を模式的に示している。図6に示すように、関節空間において開始点S、目標点G、障害物Oがそれぞれ決定されると、まず評価対象点Tが開始点Sに設定されて、開始点Sから目標点Gに向けて直線的に経路が進展していく。この際に、経路長ΔL毎に中間点P1、P2、P3、P4、P5が設定されていき、評価対象点Tは新たに設定された中間点へと順に移行していく。
図7に示すように、評価対象点Tが中間点P5に設定された時点で、中間点P5から目標点Gの方向に経路を伸ばすと障害物Oと干渉するため、評価対象点Tは中間点P5から中間点P3まで後戻りして(バックトラック量NB=2に相当する)、中間点P3から経路を迂回させる。中間点P3における経路進展方向γ3が迂回ベクトルΔγによって修正されて、修正後の経路進展方向に沿って中間点P’4、P’5が新たに設定され、その後の中間点P6、P7、P8、P9が設定されていく。なお図7では最初に設定された中間点P4,P5との区別をつけるために、新たに設定された中間点をP’4、P’5と表記しているが、実際の処理においては中間点P4、P5は新たに設定された中間点P’4、P’5に置き換えられている。評価対象点Tが中間点P9に設定されると、中間点P9から目標点Gまでは直線的に経路を接続することが可能であるから、中間点P9から目標点Gまで、経路長ΔL毎に中間点P10からP16が設定されていく。
開始点Sから中間点P1、P2、・・・、P16を順に経由して目標点Gに至る経路が生成されると、図8に示すように中間点P1、P2、・・・、P16の整理が行われる。中間点P1、P2、・・・、P16のうち、経路が屈曲している屈曲中間点はP3とP9である。このうち、中間点P9は開始点Sと直線的に接続可能であるから、開始点Sと中間点S9を直線的に接続する経路が新たに設定されて、新たに設定された経路上に、中間点P”1、P”2、・・・、P”8が設定される。それまでに設定されていた中間点P1、P2、・・・、P8は、新たに設定された中間点P”1、P”2、・・・、P”8に置き換えられる。これによって、開始点Sから、中間点P”1、P”2、・・・、P”8、P9、P10、・・・P16を順に経由して、目標点Gに至る経路が生成されたことになる。このように中間点の整理を行うことによって、より短い距離の経路を生成することができる。
図5の処理によって出力された開始点S、中間点P1、P2、・・・、目標点Gで表現される経路は、迂回ベクトルΔγ、バックトラック量NB、経路長ΔLの取り方によって異なる。本実施例では、主制御部110は迂回ベクトルΔγ、バックトラック量NB、経路長ΔLをそれぞれ所定のステップ幅で変化させながら図5の経路生成処理を繰り返し実施し、複数の経路を生成する。そして、生成された経路のうちで、開始点Sから目標点Gまでの関節空間における距離が最短となるものを、アーム122の経路として決定する。
本実施例の経路生成方法によっても、アーム122の関節空間における開始点Sから目標点Gに至る経路を取得することができる。本実施例の経路生成方法において、経路が生成されるまでに必要な計算量は、関節空間の次数nや、関節空間の分解能にそれほど依存せず、障害物Oの位置と形状に依存する。障害物Oが存在しない場合や、障害物Oがそれほど大きくない場合には、少ない計算量で速やかに経路を生成することができる。
上記した第1実施例および第2実施例では、周囲の環境までの距離を計測する際に、2台のカメラ102、104を利用したステレオ視によって距離を計測する例を説明した。周囲の環境までの距離を計測する手法はこれに限らず、例えばレーザースキャナを用いた3次元計測によって、周囲の環境までの距離を計測してもよい。
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項に記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時の請求項に記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
100:ロボット
102、104:カメラ
106:画像処理部
110:主制御部
112:アーム制御部
114:車輪制御部
116:アクチュエータ群
118、120:モータ
122:アーム
124:右車輪
126:左車輪
128:エンコーダ群
130、132:エンコーダ
102、104:カメラ
106:画像処理部
110:主制御部
112:アーム制御部
114:車輪制御部
116:アクチュエータ群
118、120:モータ
122:アーム
124:右車輪
126:左車輪
128:エンコーダ群
130、132:エンコーダ
Claims (3)
- 複数の関節を備えるアームの関節空間における経路を生成する方法であって、
経路の開始点の位置を決定する工程と、
経路の目標点の位置を決定する工程と、
障害物の位置と形状を決定する工程と、
経路の開始点を評価対象点とする工程と、
(A1)評価対象点と目標点の間に障害物が存在しない場合に、評価対象点から目標点まで直線的に経路を進展させる工程と、
(A2)評価対象点と目標点の間に障害物が存在する場合に、評価対象点から見た目標点の方向から傾いた方向に直線的に経路を進展させて、進展させた経路の先端を新たな評価対象点とする工程と、
上記の(A1)と(A2)の各工程を、開始点から進展した経路が目標点に到達するまで繰り返し行う工程を備える、経路生成方法。 - 前記(A2)の工程が、
評価対象点と目標点の間に障害物が存在する場合に、以下の(B1)から(B3)の各工程を行う工程、すなわち
(B1)評価対象点から見た目標点の方向に沿って、評価対象点から障害物までの距離を算出する工程と、
(B2)評価対象点から見た目標点の方向から所定角度傾いた方向に、評価対象点から前記距離だけ経路を進展させる工程と、
(B3)進展させた経路の先端を新たな評価対象点とする工程
を行う工程を備える、請求項1の経路生成方法。 - 複数の関節を備えるアームの関節空間における経路を生成する装置であって、
経路の開始点の位置を決定する手段と、
経路の目標点の位置を決定する手段と、
障害物の位置と形状を決定する手段と、
開始点から目標点へ到達する経路を決定する手段を備えており、前記経路を決定する手段が、
経路の開始点を評価対象点とする工程と、
(A1)評価対象点と目標点の間に障害物が存在しない場合に、評価対象点から目標点まで直線的に経路を進展させる工程と、
(A2)評価対象点と目標点の間に障害物が存在する場合に、評価対象点から見た目標点の方向から傾いた方向に直線的に経路を進展させて、進展させた経路の先端を新たな評価対象点とする工程と、
上記の(A1)と(A2)の各工程を、開始点から進展した経路が目標点に到達するまで繰り返し行う工程を実行することを特徴とする、経路生成装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006290171A JP2008105132A (ja) | 2006-10-25 | 2006-10-25 | アームの関節空間における経路を生成する方法と装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006290171A JP2008105132A (ja) | 2006-10-25 | 2006-10-25 | アームの関節空間における経路を生成する方法と装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008105132A true JP2008105132A (ja) | 2008-05-08 |
Family
ID=39438924
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006290171A Pending JP2008105132A (ja) | 2006-10-25 | 2006-10-25 | アームの関節空間における経路を生成する方法と装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008105132A (ja) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110015834A (ko) * | 2009-08-10 | 2011-02-17 | 삼성전자주식회사 | 로봇의 경로 계획방법 및 장치 |
KR20110015764A (ko) * | 2009-08-10 | 2011-02-17 | 삼성전자주식회사 | 로봇의 경로 계획 장치 및 그 방법 |
KR20110015833A (ko) * | 2009-08-10 | 2011-02-17 | 삼성전자주식회사 | 로봇의 경로 계획방법 및 장치 |
KR20110047844A (ko) * | 2009-10-30 | 2011-05-09 | 삼성전자주식회사 | 로봇의 경로 계획 장치 및 그 방법 |
KR20110048330A (ko) * | 2009-11-02 | 2011-05-11 | 삼성전자주식회사 | 로봇의 경로 계획 장치 및 그 방법 |
JP2011112627A (ja) * | 2009-11-30 | 2011-06-09 | Toyota Motor Corp | 経路作成装置 |
JP2012056063A (ja) * | 2010-09-13 | 2012-03-22 | Institute Of National Colleges Of Technology Japan | 円滑経路生成装置および円滑経路生成方法 |
JP2013193194A (ja) * | 2012-03-22 | 2013-09-30 | Toyota Motor Corp | 軌道生成装置、移動体、軌道生成方法及びプログラム |
JP2013246553A (ja) * | 2012-05-24 | 2013-12-09 | Toyota Motor Corp | 軌道計画装置、軌道計画方法及び軌道計画プログラム |
JP2014024162A (ja) * | 2012-07-27 | 2014-02-06 | Seiko Epson Corp | ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラム |
WO2018143003A1 (ja) * | 2017-01-31 | 2018-08-09 | 株式会社安川電機 | ロボットパス生成装置及びロボットシステム |
KR20200107462A (ko) * | 2019-03-08 | 2020-09-16 | (주)아이로텍 | 로봇의 장애물 충돌 회피를 위한 경로 안내툴 표시 방법 및 이를 이용한 충돌 회피 시뮬레이션 시스템 |
KR20200109552A (ko) * | 2019-03-13 | 2020-09-23 | (주)아이로텍 | 장애물 회피 경로 생성 시뮬레이션 시스템 |
CN114290332A (zh) * | 2021-12-28 | 2022-04-08 | 哈尔滨工业大学 | 一种应用于gis管道检测的串联机械臂路径规划方法及系统 |
-
2006
- 2006-10-25 JP JP2006290171A patent/JP2008105132A/ja active Pending
Cited By (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101667030B1 (ko) * | 2009-08-10 | 2016-10-17 | 삼성전자 주식회사 | 로봇의 경로 계획 장치 및 그 방법 |
KR20110015764A (ko) * | 2009-08-10 | 2011-02-17 | 삼성전자주식회사 | 로봇의 경로 계획 장치 및 그 방법 |
KR20110015833A (ko) * | 2009-08-10 | 2011-02-17 | 삼성전자주식회사 | 로봇의 경로 계획방법 및 장치 |
KR20110015834A (ko) * | 2009-08-10 | 2011-02-17 | 삼성전자주식회사 | 로봇의 경로 계획방법 및 장치 |
KR101691939B1 (ko) * | 2009-08-10 | 2017-01-02 | 삼성전자주식회사 | 로봇의 경로 계획방법 및 장치 |
KR101667029B1 (ko) * | 2009-08-10 | 2016-10-17 | 삼성전자 주식회사 | 로봇의 경로 계획방법 및 장치 |
US9411335B2 (en) | 2009-08-10 | 2016-08-09 | Samsung Electronics Co., Ltd. | Method and apparatus to plan motion path of robot |
KR20110047844A (ko) * | 2009-10-30 | 2011-05-09 | 삼성전자주식회사 | 로봇의 경로 계획 장치 및 그 방법 |
KR101667032B1 (ko) * | 2009-10-30 | 2016-10-17 | 삼성전자 주식회사 | 로봇의 경로 계획 장치 및 그 방법 |
KR20110048330A (ko) * | 2009-11-02 | 2011-05-11 | 삼성전자주식회사 | 로봇의 경로 계획 장치 및 그 방법 |
KR101667031B1 (ko) * | 2009-11-02 | 2016-10-17 | 삼성전자 주식회사 | 로봇의 경로 계획 장치 및 그 방법 |
JP2011112627A (ja) * | 2009-11-30 | 2011-06-09 | Toyota Motor Corp | 経路作成装置 |
JP2012056063A (ja) * | 2010-09-13 | 2012-03-22 | Institute Of National Colleges Of Technology Japan | 円滑経路生成装置および円滑経路生成方法 |
JP2013193194A (ja) * | 2012-03-22 | 2013-09-30 | Toyota Motor Corp | 軌道生成装置、移動体、軌道生成方法及びプログラム |
JP2013246553A (ja) * | 2012-05-24 | 2013-12-09 | Toyota Motor Corp | 軌道計画装置、軌道計画方法及び軌道計画プログラム |
JP2014024162A (ja) * | 2012-07-27 | 2014-02-06 | Seiko Epson Corp | ロボットシステム、ロボット制御装置、ロボット制御方法及びロボット制御プログラム |
WO2018143003A1 (ja) * | 2017-01-31 | 2018-08-09 | 株式会社安川電機 | ロボットパス生成装置及びロボットシステム |
JPWO2018143003A1 (ja) * | 2017-01-31 | 2019-06-27 | 株式会社安川電機 | ロボットパス生成装置及びロボットシステム |
US11446820B2 (en) | 2017-01-31 | 2022-09-20 | Kabushiki Kaisha Yaska Wa Denki | Robot path generating device and robot system |
KR20200107462A (ko) * | 2019-03-08 | 2020-09-16 | (주)아이로텍 | 로봇의 장애물 충돌 회피를 위한 경로 안내툴 표시 방법 및 이를 이용한 충돌 회피 시뮬레이션 시스템 |
KR102190102B1 (ko) | 2019-03-08 | 2020-12-11 | (주)아이로텍 | 로봇의 장애물 충돌 회피를 위한 경로 안내툴 표시 방법 및 이를 이용한 충돌 회피 시뮬레이션 시스템 |
KR20200109552A (ko) * | 2019-03-13 | 2020-09-23 | (주)아이로텍 | 장애물 회피 경로 생성 시뮬레이션 시스템 |
KR102170752B1 (ko) | 2019-03-13 | 2020-10-27 | (주)아이로텍 | 장애물 회피 경로 생성 시뮬레이션 시스템 |
CN114290332A (zh) * | 2021-12-28 | 2022-04-08 | 哈尔滨工业大学 | 一种应用于gis管道检测的串联机械臂路径规划方法及系统 |
CN114290332B (zh) * | 2021-12-28 | 2024-05-07 | 哈尔滨工业大学 | 一种应用于gis管道检测的串联机械臂路径规划方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008105132A (ja) | アームの関節空間における経路を生成する方法と装置 | |
KR101732902B1 (ko) | 로봇의 경로 계획 장치 및 그 방법 | |
US8055383B2 (en) | Path planning device | |
JP5283541B2 (ja) | ロボットの動作経路生成方法 | |
US8774965B2 (en) | Method and device for controlling a manipulator | |
US20140031982A1 (en) | Robotic system and robot control device | |
CN109877836B (zh) | 路径规划方法、装置、机械臂控制器和可读存储介质 | |
JP2008036742A (ja) | 逐次検索法による6自由度ロボットアームの逆運動学、およびそれを使用するロボットのシステム、制御方法、プログラム | |
US10537926B2 (en) | Bending apparatus | |
JP5458769B2 (ja) | ロボットの制御装置 | |
JP2006236031A (ja) | ロボット軌跡制御方法及び装置並びにロボット軌跡制御方法のプログラム | |
JP5659890B2 (ja) | ロボットの軌道計画システム及び軌道計画方法 | |
JP4667764B2 (ja) | 経路設定方法 | |
JP2013132731A (ja) | ロボット制御システム、ロボットシステム及びロボット制御方法 | |
JP2008023630A (ja) | アームを誘導可能な移動体およびアームを誘導する方法 | |
KR102330754B1 (ko) | 궤도 생성 장치 및 궤도 생성 방법 | |
JP2009053926A (ja) | 経路計画装置及び経路計画方法 | |
JP4760732B2 (ja) | 経路作成装置 | |
JP2007000954A (ja) | ロボット教示装置及び方法 | |
JP5446887B2 (ja) | 制御装置、ロボット、ロボットシステム及びロボットの追従方法 | |
JP2006048372A (ja) | 経路計画方法 | |
JP5933450B2 (ja) | ロボットの制御装置および制御方法 | |
US20170028548A1 (en) | Robot control device and robot control method | |
CN111405966B (zh) | 用于控制机器人组的方法和控制装置 | |
JP2009113172A (ja) | 指令値生成装置 |