JP4304512B2 - 経路計画装置 - Google Patents

経路計画装置 Download PDF

Info

Publication number
JP4304512B2
JP4304512B2 JP2005141661A JP2005141661A JP4304512B2 JP 4304512 B2 JP4304512 B2 JP 4304512B2 JP 2005141661 A JP2005141661 A JP 2005141661A JP 2005141661 A JP2005141661 A JP 2005141661A JP 4304512 B2 JP4304512 B2 JP 4304512B2
Authority
JP
Japan
Prior art keywords
constraint
posture
route
intermediate point
constraint condition
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.)
Expired - Fee Related
Application number
JP2005141661A
Other languages
English (en)
Other versions
JP2006155559A5 (ja
JP2006155559A (ja
Inventor
真太郎 吉澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Motor Corp
Original Assignee
Toyota Motor Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toyota Motor Corp filed Critical Toyota Motor Corp
Priority to JP2005141661A priority Critical patent/JP4304512B2/ja
Priority to PCT/JP2006/309436 priority patent/WO2006121091A1/ja
Priority to US11/815,111 priority patent/US8055383B2/en
Priority to EP06746246A priority patent/EP1862876B1/en
Priority to DE602006012943T priority patent/DE602006012943D1/de
Publication of JP2006155559A publication Critical patent/JP2006155559A/ja
Publication of JP2006155559A5 publication Critical patent/JP2006155559A5/ja
Application granted granted Critical
Publication of JP4304512B2 publication Critical patent/JP4304512B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Numerical Control (AREA)
  • Manipulator (AREA)

Description

本発明は、自動機械の全体または一部分などの動作経路を計画する経路計画装置に関する。
ロボットを移動させる際や、ロボットアームを自動操作する際には、その経路を計画する必要が生じる。下記非特許文献1には、確率機構を用いた経路計画について記載されている。非特許文献1に記載された方法では、1つのスタート位置(初期位置:初期姿勢)に対して1つのゴール(最終位置:最終姿勢)が設定され、この間に一つ以上の中間点(中間位置:中間姿勢)を経由する経路が設定される。このとき、中間点に基づいて経路を計画する際の関節空間などが探索空間であり、中間点は一度に一つのみ設定される。
なお、関節空間などの探索空間を用いた経路設定については、下記非特許文献2に記載がある。非特許文献2には、空間内でのロボットの望ましい経路を決定する方法として、空間的・時間的な経路を関節角の関数として記述する関節空間法などが記載されている。関節空間法では、経路のスタート位置(初期位置)とゴール位置(最終位置)との間に一つ以上の中間点を設定し、これらをスプライン曲線で接続した経路を作成する。
Randomized Kinodynamic Planning : S.M.LaValle and J.J.Kuffner,Jr. : Proc of IEEE Int. Conf. on Robotics and Automation, 1999 ロボティクス−機構・力学・制御−(第7章)、John J.Craig 著、三浦宏文・下山勲 訳、共立出版株式会社、109641号公報
しかし、上記非特許文献1に記載された経路計画方法においては、中間姿勢をランダムネス(確率)を用いて確率的に作成するため、経路を移動しているロボットなどの姿勢については、まったく考慮されていない。このため、ロボットの姿勢もランダムとなり、たとえば液体が入ったグラスをロボットが移動させようとするにあたり、液体をこぼさないようにロボットの姿勢を制御することはできない。
ここで、たとえば関節の数に応じた自由度を持つ多関節ロボットの場合、液体をこぼすことなく最終位置まで移動させるロボットの姿勢と経路とを求めるには、拘束条件を満たしながらロボットの初期姿勢と最終姿勢とを接続する中間姿勢を作成する必要がある。
このような中間姿勢を作成すると、拘束条件を満たす中間姿勢と拘束条件を満たす中間姿勢とを接続する姿勢が、拘束条件からずれることがある。このずれが大きい場合、ずれを補正するように経路を修正する必要が生じるが、この補正のための計算量が多くなる問題がある。
そこで、本発明の課題は、初期位置から最終位置までの移動対象体を移動させるにあたり、その移動対象体の姿勢が拘束条件を満たすような経路を効率よく計画することができる経路計画装置を提供することにある。
上記課題を解決した本発明に係る経路計画装置は、移動対象体を初期位置から最終位置まで移動させるにあたり、初期位置と最終位置との間に中間点を確率的に生成させ、中間点を用いて初期位置から最終位置までの間の経路を計画する経路計画装置において、移動対象体の姿勢を決定する移動対象体の自由度に基づいて定義される可動空間の中に、移動対象体が存在する作業空間における移動対象体のとりうる姿勢を制約するための拘束条件を満たす拘束部分空間を設定する拘束条件設定手段と、可動空間において確率的に生成された中間点を拘束部分空間に射影することにより、拘束中間点を生成する中間点生成手段と、拘束中間点を用いて、初期位置と最終位置とを接続する経路を生成する経路生成手段と、を備えるものである。
本発明に係る経路計画装置においては、可動空間に、移動対象体の姿勢を維持するための拘束条件を設定している。この拘束条件に基づいて、拘束中間点を生成することにより、移動対象体の姿勢を維持しながらも、効率よく経路を計画することができる。なお、本明細書中、ロボットの関節空間など動作の自由度によって決まる空間を可動空間ということとする。また、可動空間と探索空間は同義であるものとする。さらに、拘束条件を満たす中間点を確率的に生成することは困難であるので、本発明では、確率的に生成した中間点を拘束部分空間に射影して拘束中間点を生成している。このため、拘束条件を近似的に満たす経路を生成することができ、計算量をより少なくすることができる。
また、上記課題を解決した本発明に係る経路計画装置は、移動対象体を初期位置から最終位置まで移動させるにあたり、初期位置と最終位置との間に中間点を確率的に生成させ、中間点を用いて初期位置から最終位置までの間の経路を計画する経路計画装置において、移動対象体の姿勢を決定する移動対象体の自由度に基づいて定義される可動空間の中に、移動対象体が存在する作業空間における移動対象体のとりうる姿勢を制約するための拘束条件を満たす拘束部分空間を設定する拘束条件設定手段と、可動空間の中に、拘束条件を満たす任意の位置とその近傍点とを満たす拘束楕円体を設定し、拘束楕円体を用いて確率分布を定義し、確率分布に基づいて、拘束条件を満たす拘束中間点を生成する中間点生成手段と、拘束中間点を用いて、初期位置と最終位置とを接続する経路を生成する経路生成手段と、を備えるものである。
本発明に係る経路計画装置においては、拘束楕円体を定義することによって中間点を生成している。このような拘束楕円体を生成することにより、経路を計算することができる。拘束楕円体を用いて定義した確率分布に基づいて、可動空間における中間点を生成することにより、拘束条件を近似的に満たす経路を生成することができるので、計算量をより少なくすることができる。
また、拘束条件に基づいて、生成した拘束中間点を補正する経路補正手段をさらに備え、拘束条件設定手段は、拘束条件として、可動空間において拘束条件を満たす拘束部分空間を定義し、経路補正手段は、経路生成手段で生成された経路を拘束部分空間に射影することにより、拘束中間点を補正する態様とすることができる。
このように、経路生成手段で生成された経路を拘束部分空間に射影することで、経路を容易に補正することができる。
さらに、経路補正手段は、経路生成手段で生成された経路と拘束曲面との距離が所定値以上の場合に、拘束曲面への射影を行って、拘束中間点を補正する態様とすることもできる。このように、経路と拘束曲面との距離が所定値以上の場合に拘束中間点を補正することにより、計算量の削減に寄与することができる。

また、経路補正手段は、経路生成手段で生成された経路における所定間隔ごとに、射影を行う態様とすることもできる。このように、所定間隔ごとに射影を行うことにより、演算量の削減に寄与することができる。ここでの所定間隔としては、可動空間における距離を基準とするのが望ましい。
さらに、経路は、移動対象体の所定部位が、所定の初期姿勢にある初期位置から、所定の最終姿勢となる最終位置まで移動する経路であり、拘束条件設定手段は、可動空間の変数を作業空間へ写像したベクトルと、作業空間の基底ベクトルとの内積が定める方程式に基づいて、拘束条件を設定する態様とすることができる。
このように、直交空間を張るベクトル(作業空間の基底ベクトル)と、姿勢を定義したベクトル(可動空間の変数を作業空間へ写像したベクトル)との内積を利用することにより、好適に経路を計算することができる。
本発明に係る経路計画装置によれば、初期位置から最終位置までの移動対象体を移動させるにあたり、その移動対象体の姿勢が拘束条件を満たすような経路を効率よく計画することができる。
以下、図面を参照して本発明の実施形態について説明する。なお、各実施形態において、同一の機能を有する部分については同一の符号を付し、重複する説明は省略することがある。まず、本発明の第一の実施形態について説明する。図1は、第一の実施形態に係る経路計画装置のブロック構成図である。
本実施形態に係る経路計画装置は、図1に示すように、経路生成手段1を備えている。経路生成手段1は、拘束経路作成手段10およびデータベース20を有しており、経路生成手段1には、初期姿勢・最終姿勢入力手段2および画像入力手段3が接続されている。また、経路生成手段1には、経路出力手段4が接続されている。また。経路生成手段1は、具体的にはコンピュータによって構成されている。経路出力手段4には、図2に模式的に示す本発明の移動対象体であるロボットアーム(自動機械、以下「アーム」という)5が接続されており、アーム5の経路出力手段からアーム5に対して、動作経路および姿勢を出力する。
初期姿勢・最終姿勢入力手段2は、アーム5の現状位置および現状姿勢を初期姿勢として設定し、初期姿勢の情報および予め指定された目標姿勢の情報を拘束経路作成手段10に出力する。また、画像入力手段3は、アーム5の周辺情報、特に障害物を外部環境として取得する手段であり、画像情報取得装置として、カメラなどを備えている、画像入力手段3は、取得した画像情報を加工し、データベース20に出力している。この画像入力手段3としては、カメラのほか、各種センサなどの情報取得デバイスやキーボード、光ディスクドライブなどを用いることもできる。
経路出力手段4は、経路生成手段1によって生成された経路に沿ってアーム5を動作させる。この経路出力手段4としては、アーム5に接続されてアーム5に動作経路および姿勢を出力するもののほか、モニタやプリンタ、記憶可能な媒体を扱うドライブに接続されて動作経路および姿勢を表示し、印刷し、または記憶させるものなどを用いることもできる。
経路生成手段1おける拘束経路作成手段10には、本発明の中間点生成手段および拘束条件設定手段である拘束中間姿勢作成部11、拘束経路作成部12、および本発明の経路補正手段である姿勢補間部13が設けられている。また、データベース20は、環境データ21および体格データ22が記憶されている。環境データ21には、アーム5が載置されている環境に関するデータが記憶されている。体格データ22には、アーム5のリンク31〜37間の長さや太さ、各リンク31〜37の可動範囲などの諸元が記憶されている。
拘束中間姿勢作成部11は、アーム5の姿勢に関する拘束条件を満足するような初期姿勢と最終姿勢との間を接続する中間姿勢を複数作成する。なお、本明細書において、「姿勢」と示す場合には、その姿勢を取る位置をも含む意味とする。したがって、初期姿勢、最終姿勢は、本発明の初期位置および最終位置における姿勢を意味し、中間姿勢は、中間位置における姿勢を意味する。
拘束中間姿勢作成部11は、作成した中間姿勢を拘束経路作成部12に出力する。拘束経路作成部12では、出力された複数の中間姿勢を利用し、これらの中間姿勢を接続することによって、初期姿勢・最終姿勢入力手段2から出力された初期姿勢と最終姿勢とを繋ぐ経路を作成する。
拘束経路作成部12は、作成した経路を姿勢補間部13に出力する。姿勢補間部13では、拘束経路作成部12から出力された経路において、中間姿勢と中間姿勢との間における姿勢を補間するとき、補間姿勢が拘束条件を近似的に満たすように補間姿勢を作成する。
こうして、拘束経路作成手段10で作成された経路および姿勢は、拘束経路作成手段10から経路出力手段4に出力される。
データベース20は、具体的にはハードディスクやROMなどによって構成されており、知識としての環境データ21(すでに知識として保持している情報)および画像入力手段3によって入力されたデータとを記憶している。データベース20において新たに入力された環境情報は、その後は知識としての環境データ21として蓄積される。また、体格データ22には、アーム5のリンクやモータなどの各部材の情報が記憶されている。
アーム5は、図2に示すように、第一リンク31〜第七リンク37の7つのリンク(関節)を備えており、アーム5は7自由度である。各リンク31〜37には、それぞれアクチュエータ(モータ)が内蔵されており、その各リンクの角度を調整可能とされている。
このアーム5における各リンク31〜37に対して、アーム5が存在する作業空間の中にリンク座標系をそれぞれ設定する。リンク座標系の設定方法としては、各リンク31〜37の回転軸方向にZ軸をとり、次に適当なX軸を決め、右手系をなすようにY軸を決める。図3に、上記のようにして決めたリンク座標系を示す。図3に示すリンク座標系では、添え字の数字で関節番号を示している。第一リンク31〜第七リンク37は、ベース38上に設けられ、第七リンク37の先端部には、ハンド39が取り付けられている。また、リンク長をLで示している。
各リンク座標系間の変換は、次のようにして行うことができる。いま、第1リンク31のリンク座標系をアーム5の台座座標系に関連付ける場合、その変換はで与えられる。また、第七リンク37に取り付けられたハンド39の位置姿勢を表す座標系が第七リンク37の座標系に対してで表される。さらに、アーム5の台座座標系が、基準座標系に対してで表されるものとする。この場合、ハンド39は、基準座標系に対して下記(1)式で表される位置姿勢を有する。
・・・(1)
このによって、ハンド39の位置ベクトルrが決まり、が関節変換ベクトルの関数であることから、リンクパラメータの値を与えることにより、7自由度アームの関節変換ベクトルとベース座標系からみた手先位置のベクトルrとの関係式r=f(q)を求めることができる。
次に、本実施形態に係る経路計画方法について説明する。本実施形態に係る経路計画方法では、所定の拘束条件下、具体的に、所定の姿勢を維持した状態でのアーム5の制御について説明する。ここでは、所定の姿勢の維持として、アーム5の先端に取り付けられたハンド39によってコップを把持して所定の載置面にまで運んで載置する際、コップに入った液体をこぼさないようにしてコップを移動させる場合について説明する。
以下、経路計画方法について説明する。図5は、本実施形態に係る経路計画の手順を示すフローチャート、図6は、図5に続く手順を示すフローチャート、図7は、図6の途中過程を示すフローチャートである。
図5に示すように、本実施形態に係る経路計画においては、最初に初期姿勢・最終姿勢入力手段2から初期姿勢および最終姿勢が入力される(S1)。アーム5の初期姿勢は、各リンク31〜37がなす角度によって知ることができ、アーム5の最終姿勢は、アーム5が把持するコップを載置面に載置する状態によって知ることができる。これらの初期姿勢および最終姿勢は、アーム5の各リンク31〜37におけるアクチュエータの角度と、データベース20を参照して得られる体格データ22で示されるアーム5の諸元に基づいて求められる。またアーム5の初期姿勢および最終姿勢は、作業空間上にオペレータが適宜設定して入力される。これらの位置が予めプリセットされている際には、この入力は必要ではない。なお、初期姿勢は現状姿勢で定義し、最終姿勢はオペレータあるいは指示者の簡単な指示に基づいて自動設定されるようにしてもよい。
初期姿勢および最終姿勢が入力されたら、環境認識を行う(S2)。環境認識においては、まず、画像入力手段3によってデータベース20に外部環境データが入力される。データベース20は、予め記憶している環境データ21と、画像入力手段から入力された外部環境データとを、拘束経路作成手段10に出力する。環境データ21には、予めアーム5の周囲に存在する障害物の情報が含まれており、外部環境データには、画像入力手段3のカメラに撮像された障害物のデータが含まれている。拘束経路作成手段10では、これらの環境データ21および外部環境データを入力することによって、環境認識を行う。作業空間において決定されたアームの初期姿勢および最終姿勢は、本発明の可動空間である関節角度空間上に変換され、関節角度空間上の点としてそれぞれ表される。
こうして環境認識を行い、初期姿勢および最終姿勢を関節空間の点としてそれぞれ表した後、アーム5の姿勢を決定するアーム5の自由度に基づいて定義される可動空間、本実施形態では関節角度空間上に、アーム5の中間姿勢をランダムに作成する(S3)。図8に示すように、関節角度空間Qには、ステップS1で入力された初期姿勢および最終姿勢を示す所定のベクトルを有する初期姿勢qおよび最終姿勢qが示されている。これらの初期姿勢qおよび最終姿勢qの間で、確率機構を用いた公知の手法(上記[非特許文献1]などを参照)によって、ベクトルを有する中間姿勢q(q,q,…)をランダムに生成する。
中間姿勢を作成したら、中間姿勢を本発明の拘束条件として定義される拘束曲面Vに射影する(S4)。ここで、拘束曲面Vについて説明する。
上述したように、アーム5は、作業空間内における基準座標系に対して、で表される位置姿勢にある。は、具体的には下記(2)式で表される。
Figure 0004304512
ここで、Θは、アーム5の姿勢を定義する回転行列であり、は基準座標系から見たアームの手首位置ベクトルである。Θは、正規直交基底{e,e,e}によって、Θ=[e]と表すことができる。
いま、図4に示すハンド39のハンド姿勢を定義するベクトルを、鉛直方向に沿ったベクトルであるベクトルe3とし、このベクトルe3に直交するとともに、互いに直交するベクトルをそれぞれベクトルe1,e2とする。また、基準座標系の正規直交基底を{}とすると、コップに入った液体をこぼさないハンド拘束条件は、下記(3)式および(4)式によって与えられる。
(q)≡<,e3>=0 ・・・(3)
(q)≡<,e3>=0 ・・・(4)
ここで、<,>はユークリッド内積を表している。
いま、関節角度空間をQにおける拘束曲面(拘束部分空間)Vは、下記(5)式で与えられる。なお、上述のとおりアーム5は7次元自由度を有しているのに対して、拘束曲面Vは5次元空間である。
V={q∈Q⊂R|h(q)=0,h(q)=0} ・・・(5)
さらに、ベクトル値関数h(q)を、下記(6)式のように定義する。
h(q)=(h(q),h(q)) ・・・(6)
(6)式において、Tは転置を表している。
ここで、関節角度空間Qにおいて中間姿勢qはランダムに作成されるため、中間姿勢qによって定められるアーム5の姿勢もランダムとなり、コップに入った液体がこぼれる姿勢である可能性がある。これに対して、中間姿勢qが拘束曲面V上にある場合、中間姿勢qによって定められるアーム5の姿勢は、アーム5のハンド39に把持されるコップの表面が水平となる姿勢となる。したがって、中間姿勢を拘束曲面Vに射影した射影中間姿勢を用いて経路を計画することにより、ハンド39に把持されたコップに入った液体をこぼすことなく、コップを移動させる経路を計画することができる。
そこで、中間姿勢qを生成したら、中間姿勢qを、上記(5)式で表される拘束部分空間を示す拘束曲面V上に射影する(S4)。ただし、中間姿勢がある基準に基づいて拘束曲面Vの十分近くにある場合には、射影を行う必要がないので、射影は行わない。射影中間姿勢qを拘束曲面Vに射影するためには、ニュートン法を利用する。ここでは、中間姿勢qと拘束曲面Vとの関係が所定基準を満たす場合にニュートン法を実行し、所定基準を満たさない場合には再度中間姿勢を生成する。本実施形態では、下記(A)式で表されるd(q)が予め設定されたしきい値よりも小さい場合に、所定条件を満たすと判断する。
d(q)={h(q)h(q)}1/2 ・・・(A)
所定の射影中間姿勢をq∈Rとし、qでのh(q)のグラフの接空間は、下記(8)式で表される。
p−h(q)=(∂h/∂q)(q)・(q−q) ・・・(8)
ここで、記号「・」は、行列の積を表す。この(8)式を変形して、(9)式を得ることができる。
q=q−(∂h/∂q)(q)・h(q) ・・・(9)
ここで、行列(∂h/∂q)(q)は、行列(∂h/∂q)(q)の一般逆行列を表す。具体的には、下記(10)式で表される。
(∂h/∂q)(q)=(∂h/∂q)(q)[∂h/∂q(q)(∂h/∂q)(q)]−1 ・・・(10)
この射影中間姿勢qを更新姿勢(点)と考え、射影中間姿勢qに対する次の射影中間姿勢qk+1を下記(11)式により更新する。
k+1=q−(∂h/∂q)(q)・h(q) ・・・(11)
この(11)式がニュートン法における更新公式となる。このようにして、中間姿勢q,q,…を拘束曲面Vに射影し、射影中間姿勢qを得ることができる。
拘束条件を近似的に満たすか否かは、上記(A)式によって表されるd(q)が予め設定されたしきい値よりも大きいか否かによって判定する。なお、ここでのしきい値は、ニュートン法を実行するか否かの判断を行う場合に用いられるしきい値よりも十分に小さい値に設定されている。
次に、拘束曲面Vに中間姿勢を射影したら、中間姿勢と環境物体とが干渉するか否かを判断する(S5)。中間姿勢と環境物体とが干渉するか否かの判断を行う際には、関節角度空間Qに作成された中間姿勢を、それぞれ作業空間に変換する。作業空間において、中間姿勢と障害物情報とが比較され、中間姿勢が障害物と接触する場合には、中間姿勢と環境物体とが干渉すると判断する。
この判断の結果、中間姿勢が環境物体と干渉すると判断した場合には、ステップS3に戻って、関節角度空間に中間姿勢をランダムに生成する。一方、中間姿勢が環境物体と干渉しないと判断した場合には、ランダムに作成された射影中間姿勢q,q,…における任意の射影中間姿勢qに着目し、関節角度空間Qにおいて、射影中間姿勢qと最も近い最終姿勢q側の射影中間姿勢qk+1(中間姿勢が1つしか作成されていない状態では、最終姿勢q)とを直線で結び、結んだ直線上に直線上射影中間姿勢qを作成する(S6)。ここでの直線上射影中間姿勢は一つのみ作成してもよいし、複数作成してもよいが、ここでは1つのみの直線上射影中間姿勢qを作成する。
直線上射影中間姿勢qを作成したら、図6に示すように、作成された直線上射影中間姿勢qklが拘束条件を満たすか否かを判断する(S7)。拘束条件を満たすか否かの判断は、直線上射影中間姿勢が拘束曲面V上にあるか否かによって行われる。その結果、拘束条件を満たさないと判断した場合には、新たに補間姿勢を作成するが、補間姿勢の作成については後述する。
一方、拘束条件を満たすと判断した場合には、射影中間姿勢qと次の射影中間姿勢qk+1との間の姿勢が環境物体と干渉するか否かを判断する(S8)。射影中間姿勢qと次の射影中間姿勢qk+1との間の姿勢が環境物体と干渉するか否かの判断は、次の干渉判定によって行われる。
干渉判定では、射影中間姿勢qと次の射影中間姿勢qk+1とを結ぶ線分をさらに微小な区間に分割し、その微小区間の境界部毎に干渉判定を行う。この微小区間での判定は、次の射影中間姿勢qk+1側から射影中間姿勢q側に向けて順次行われる。なお、ここでの「所定長さ」や「微小区間」は、間接角度空間の距離に基づいている。
このようにすることにより、演算負荷を軽減することができる。実際の干渉判定では、関節角度空間Qにおける上述した微小区間の境界部の位置座標が実際の作業空間に変換され、予め入力されている環境物体(障害物)の情報と比較され、作業空間上で干渉の有無が判定される。
その結果、干渉があると判断された場合には、枝の生成を中止し(S9)、ステップS3に戻り、改めて関節角度空間に中間姿勢を作成する。一方、干渉がないと判断された場合には、枝を生成する(S10)。ここでの枝の作成とは、射影中間姿勢qと次の射影中間姿勢qk+1との間の直線を経路として確定することを意味する。
枝を作成したら、続いてステップS3で任意に着目された射影中間姿勢qと最終姿勢qとが枝で接続されたか否かを判断する(S11)。その結果、中間姿勢と最終姿勢とが枝で接続されていないと判断した場合には、ステップS8に戻り、次の射影中間姿勢qk+1について射影中間姿勢qと同様の処理を行い、枝をさらに生成する。また、射影中間姿勢qと最終姿勢qとが枝で接続されたと判断した場合には、射影中間姿勢qと最終姿勢側qとの間の処理を、射影中間姿勢qと初期姿勢q側との間で行い、射影中間姿勢qと初期姿勢qとを枝で結ぶ処理を行う(S12)。
こうして、初期姿勢と最終姿勢とが枝で結ばれたら、その枝からなる経路を出力する(S13)。こうして、経路計画が終了する。
続いて、ステップS7で拘束条件を満たさないと判断し、補間姿勢を作成する場合について説明する。射影中間姿勢qと次の射影中間姿勢qk+1との間の直線が拘束条件を満たしていない場合、射影中間姿勢qと次の射影中間姿勢qk+1との間で、アーム5の姿勢が崩れ、コップに入った水をこぼす可能性があることになる。このように、コップに入った水をこぼす事態を防止するため、射影中間姿勢qと次の射影中間姿勢qk+1との間に補間姿勢を作成する。
補間姿勢の作成にあたっては、射影中間姿勢qと次の射影中間姿勢qk+1との間における直線上射影中間姿勢を拘束曲面Vに射影し、図9に示すように、この射影された姿勢を補間姿勢qとして作成する(S15)。この補間姿勢qを作成することにより、コップに入った水がこぼれるのを防止することができる。
補間姿勢qは、次のようにして作成される。いま、拘束すべきすべての中間姿勢を拘束曲面Vに射影した後、図10に示すように、点qk+1と点qとを直線で結び、線分qk+1を作成する。この線分qk+1を予め与えられた単位長さに基づいて分割し、分割点qklを生成する。この分割点qklにおいて、拘束曲面Vとの近さを上記(A)式で表されるd(q)が予め設定されたしきい値よりも大きいか否かによって評価する。その結果、ある分割点qklが上記(A)式による評価の結果所定のしきい値を超える場合には、射影中間姿勢qと次の射影中間姿勢qk+1との間の直線が拘束条件を満たしていないと判断し、この分割点qklをニュートン法によって拘束曲面Vに十分近い位置に射影し、補間姿勢qを生成する。
補間姿勢qを作成したら、射影中間姿勢qと補間姿勢qとの間の姿勢が環境物体と干渉するか否かを判断する(S16)。射影中間姿勢qと補間姿勢qとの間の姿勢が環境物体と干渉するか否かの判断は、ステップS8における射影中間姿勢qと次の射影中間姿勢qk+1との間の姿勢が環境物体と干渉するか否かの判断と同様に行われる。
その結果、射影中間姿勢qと補間姿勢qとの間の姿勢が環境物体と干渉すると判断した場合には、枝の生成を中止し(S17)、ステップS3に戻る。一方、射影中間姿勢qと補間姿勢qとの間の姿勢が環境物体と干渉しないと判断した場合には、射影中間姿勢qと補間姿勢qとの間、および補間姿勢qと次の射影中間姿勢qk+1との間に、それぞれ枝を生成する(S18)。
それから、続いてステップS3で任意に着目された射影中間姿勢qと最終姿勢qとが枝で接続されたか否かを判断する(S19)。その結果、枝で接続されていないと判断した場合には、ステップS16に戻り、次の射影中間姿勢qk+1について射影中間姿勢
と同様の処理を行い、枝をさらに生成する。また、射影中間姿勢qと最終姿勢qとが枝で接続されたと判断した場合には、射影中間姿勢qと最終姿勢側qとの間の処理を、射影中間姿勢qと初期姿勢q側との間で行い、射影中間姿勢qと初期姿勢qとを枝で結ぶ処理を行う(S20)。
こうして、初期姿勢と最終姿勢とが枝で結ばれたら、その枝からなる経路を出力する(S13)。こうして、経路計画が終了する。
このように、関節角度空間Qに形成した拘束曲面V上に中間姿勢を順次作成してアーム5の経路を作成することにより、アーム5が水の入ったコップを把持して移動させる際、コップに入った水をこぼすことなく、コップを移動させることができる。
次に、本発明の第二の実施形態について説明する。本実施形態では、上記第一の実施形態と比較して、中間点の生成手順が主に異なっている。図11は、本実施形態に係る経路計画装置のブロック構成図である。ここでは、中間点の生成手順を中心に説明する。
図11に示すように、本実施形態に係る経路計画装置は、上記第一の実施形態と比較して、経路作成手段30の構成が主に異なっており、他の構成は同様とされている。経路作成手段30は、上記第一の実施形態と同様のデータベース20を備えており、その他、拘束楕円体算出部31および動作経路生成部32を有している。また、動作経路生成部32は、主成分空間算出部33、乱数生成部34、および経路作成部35を備えている。本実施形態では、拘束楕円体算出部31および動作経路生成部33が本発明の中間点生成手段となる。
拘束楕円体算出部31は、初期姿勢・最終姿勢入力手段2から出力された初期姿勢と最終姿勢とを繋ぐ経路を作成するために利用する拘束楕円体を算出する。拘束楕円体を算出するにあたっては、関節角度空間の変数と作業空間の変数の関数で表示された拘束条件の接空間によって関節角度空間に拘束すべき自由度変化量(または自由度変化率の拘束量)を楕円体として算出する。この楕円体の軸長に基づいて大きい自由度変数の主成分が抽出される。また、拘束楕円体算出部31は、算出した拘束楕円体の体積によって拘束度を定義する。
拘束楕円体算出部31は、算出した拘束楕円体を動作経路生成部32に出力する。動作経路生成部32では、拘束楕円体算出部31から出力された拘束楕円体およびデータベース21から出力された環境データおよびロボットの体格データを用いて、ロボットの動作経路を作成する。動作経路生成部32は、作成した動作経路を経路出力手段4に出力する。
動作経路生成部32の機能をさらに説明すると、動作経路生成部32における主成分空間算出部33は、拘束楕円体算出部31から出力された拘束楕円体を定義する半正定値対称行列の主成分分析を行い、拘束楕円体の主成分を分析する。乱数生成部34は、主成分空間算出部33で分析された主成分によって確率分布を決定し、この確率分布に基づいて、動作経路を生成するための候補となる乱数を生成する。この乱数は、ロボットの姿勢を示すものである。
乱数生成部34は、生成した乱数を経路作成部35に出力する。経路作成部35では、データベース21から出力される環境データと、乱数生成部で生成された乱数とが干渉するか否かを判定し、干渉しないと判定された乱数を複数接続することによって、一連の動作経路を生成する。
次に、本実施形態に係る経路計画方法について説明する。経路計画を行うにあたり、上記第一の実施形態で説明したロボットを用いた場合を例に説明する。本実施形態では、中間点を作成するにあたり、拘束条件として、拘束楕円体を定義する点が、上記第一の実施形態と主に異なる。以下、拘束楕円体を定義する手順について説明する。拘束楕円体の定義は、拘束楕円体算出部31で行われる。また、本実施形態では、生成する拘束中間点を自動機械の関節角度空間の変数として関節変数ベクトルqとして求め、関節変数ベクトルqについて、下記(19)式を用いて表す。さらに、関節変数ベクトルqを求めるにあたり、基準となる点を基準関節変数ベクトルqとして表す。すなわち、拘束条件を満たすqを中心として楕円体を作成し、これを用いて拘束条件を十分に満たす点qを作成する。この操作を繰り返すことによって拘束条件を満たす姿勢を生成していく。なお、下記(19)式において、nは自由度の総数である。ここで、Cは関節角度空間を表す。
q∈C⊆R ・・・(19)
いま、図3に示すアームの各リンクでの座標系において、3つのベクトルの組(x,y,z)で決まる座標系をΣと表記する。ここで、Σはハンド位置姿勢座標系を表し、Σは台座座標系を表す。また、ハンド39の位置姿勢は、上記第一の実施形態で示した(1)式で表される。この(1)式で求められるによって、ハンド39の手首位置ベクトルpが下記(20)式で表される。
p=(x,y,z) ・・・(20)
ここで、が関節変数ベクトルqの関数であるので、リンクパラメータの値が与えられれば、7自由度アームの関節変数ベクトルqとベース座標系から見た手首位置のベクトルpとの関係式が下記(21)式として決まる。
p=f(q,L) ・・・(21)
ここでL=(L,L,L,L,L,L,Lである。
続いて、(x,y,z)で示される作業空間内を動く7自由度のロボットについて説明する。
関節角度空間における関節変数ベクトルqは、下記(22)式で表される。
q=(q,q,q,q,q,q,q ・・・(22)
このとき、x,y,zは、それぞれ下記(23−1)式〜(23−3)式で表すことができる。
x=f(q,L) ・・・(23−1)
y=f(q,L) ・・・(23−2)
z=f(q,L) ・・・(23−3)
ここで、作業空間においては、下記(24−1)式〜(24−m)式で表される手首位置ベクトルpの拘束条件があるとする。
Figure 0004304512
このとき、上記(23)式((23−1)式〜(23−3)式)を(24)式(24−1)式〜(24−m)式)に代入して、関節変数ベクトルqの拘束条件を得る。この式を略記すると、下記(25)式と表すことができる。
h(q)=0 ・・・(25)
ただし、h(q)=(g(p(q)),・・・,g(p(q)))である。
いま、各リンク31〜37のリンク長は定数としているので、(25)式は、関節変数ベクトルqの式と考えることができる。この(25)式を満たす関節変数ベクトルqの自由度は関節角度空間の中で、高々、7−m次元(m≦6)である。
このとき、微分可能な基準関節変数ベクトルqにおいて微分可能な(25)式のグラフの接空間は、下記(26)式で表すことができる。
J・dq=0 ・・・(26)
ここで、dq=q−qであり、Jは関数hのヤコビ行列である。
続いて、下記(27)式に示す2次形式を考える。
dq・U・(JJ)・U・dq=0 ・・・(27)
行列JJを対角化する直列行列をUとすると、(27)式は、下記(28)式のように表現することができる。
Figure 0004304512
また、上記(27)式から、下記(29)式を得ることができる。
Figure 0004304512
さらに、下記(30)式は3×7の行列であるとすると、上記(29)式により、下記(31)式を得ることができる。この(31)式は、(32)式に書き換えることができる。
Figure 0004304512
上記(32)式における左辺のqとqとで挟まれている部分が半正定値対称行列となっている。このため、(32)式は、楕円体を表す式となる。上記(32)式で表される楕円体が、本発明の拘束楕円体となる。このような拘束楕円体を用いることにより、経路計算を行う。
こうして、拘束楕円体算出部31において拘束楕円体を設定したら、動作経路生成部32における主成分空間算出部33において、この拘束楕円体の主成分空間を定義する。(32)式で示される拘束楕円体の主成分空間は、この拘束楕円体を定義する半正定値対称行列の対応する部分空間となる。この部分空間を主成分空間として定義する。
拘束楕円体の主成分空間を定義したら、乱数発生部34において、拘束楕円体の主成分空間上に確率分布を定義する。この確率分布は、たとえば一般化ガウス分布で生成して定義することができる。具体的には、自己共分散行列Σ′を下記(33)式で定義する。なお、自己共分散行列Σ′は、正則でない(逆行列を持たない)行列である。
Figure 0004304512
この自己共分散行列Σ′および基準関節変数ベクトルqに基づいて乱数を発生させる。ここで発生された乱数のうち任意の1つを、関節変数ベクトルqの候補として生成する。関節変数ベクトルqの候補は、基準関節変数ベクトルqを平均値とした自己共分散行列Σ′の一般化ガウス分布を用いて作成する。
こうして、主成分空間算出部33において関節変数ベクトルqの候補を算出したら、経路作成部35は、基準関節変数ベクトルqと関節変数ベクトルqとを結ぶ線分を生成する。この線分をデータベース21から出力される環境データを参照して、線分が障害物と衝突するか否かを判定する。
その結果、障害物と干渉しないと判定した場合には、生成した関節変数ベクトルを中間姿勢と決定する。続いて、この関節変数ベクトルqを基準関節変数ベクトルqとし、同様にして中間姿勢を決定していく。一方、線分が障害物と干渉すると判定した場合には、乱数生成部34で異なる乱数を生成させ、同様の処理を繰り返す。このようにして、一連の動作経路が生成される。
なお、本実施形態では、乱数を生成するにあたって、一般化ガウス分布を用いたが、他の確率分布を用いて乱数を生成する態様とすることもできる。また、乱数を生成するにあたり、1つの乱数のみを生成するようにしたが、たとえば複数の乱数を同時に生成し、その中の1つ、たとえば拘束条件に近い乱数を用いる態様とすることもできる。
以上、本発明の好適な実施形態について説明したが、本発明は上記実施形態に限定されるものではない。たとえば、上記実施形態では、中間姿勢を拘束曲面に射影する際、拘束曲面上にない中間姿勢を拘束曲面に射影しているが、拘束曲面から所定範囲内にある中間姿勢については、射影を行わず、そのまま経路として利用する態様とすることができる。また、補間姿勢の作成は必須ではなく、補間姿勢を作成することなく、経路を作成することもできる。
本発明に係る経路計画装置のブロック構成図である。 アームの自由度の構成を示す説明図である。 アームの各リンクでの座標系の関係を示す説明図である。 ハンドの座標系を示す図である。 経路計画方法の手順を示すフローチャートである。 図5に続く手順を示すフローチャートである。 図6に続く手順を示すフローチャートである。 関節角度空間のイメージを示す図である。 関節角度空間での補間姿勢を示す図である。 関節角度空間での補間姿勢を作成する手順を説明するための図である。 第二の実施形態に係る経路計画装置のブロック構成図である。
符号の説明
1…経路生成手段、2…初期姿勢・最終姿勢入力手段、3…画像入力手段、4…経路出力手段、5…アーム、10…拘束経路作成手段、11…拘束中間姿勢作成部、12…拘束経路作成部、13…姿勢補間部、20…データベース、21…環境データ、22…体格データ、31〜37…リンク、38…ベース、39…ハンド、q…中間姿勢、q…射影中間姿勢、qk+1…次の射影中間姿勢、qkl…直線上射影中間姿勢、q…補間姿勢、Q…関節角度空間、V…拘束曲面(拘束部分空間)。

Claims (7)

  1. 移動対象体を初期位置から最終位置まで移動させるにあたり、前記初期位置と前記最終位置との間に中間点を確率的に生成させ、前記中間点を用いて前記初期位置から前記最終位置までの間の経路を計画する経路計画装置において、
    前記移動対象体の姿勢を決定する前記移動対象体の自由度に基づいて定義される可動空間の中に、前記移動対象体が存在する作業空間における前記移動対象体のとりうる姿勢を制約するための拘束条件を満たす拘束部分空間を設定する拘束条件設定手段と、
    前記可動空間において確率的に生成された中間点を前記拘束部分空間に射影することにより、拘束中間点を生成する中間点生成手段と、
    前記拘束中間点を用いて、前記初期位置と前記最終位置とを接続する経路を生成する経路生成手段と、
    を備えることを特徴とする経路計画装置。
  2. 移動対象体を初期位置から最終位置まで移動させるにあたり、前記初期位置と前記最終位置との間に中間点を確率的に生成させ、前記中間点を用いて前記初期位置から前記最終位置までの間の経路を計画する経路計画装置において、
    前記移動対象体の姿勢を決定する前記移動対象体の自由度に基づいて定義される可動空間の中に、前記移動対象体が存在する作業空間における前記移動対象体のとりうる姿勢を制約するための拘束条件を満たす拘束部分空間を設定する拘束条件設定手段と、
    前記可動空間の中に、前記拘束条件を満たす任意の位置とその近傍点とを満たす拘束楕円体を設定し、前記拘束楕円体を用いて確率分布を定義し、前記確率分布に基づいて、前記拘束条件を満たす拘束中間点を生成する中間点生成手段と、
    前記拘束中間点を用いて、前記初期位置と前記最終位置とを接続する経路を生成する経路生成手段と、
    を備えることを特徴とする経路計画装置。
  3. 前記拘束条件に基づいて、生成した前記拘束中間点を補正する経路補正手段をさらに備える請求項1または請求項2に記載の経路計画装置。
  4. 前記拘束条件設定手段は、前記拘束条件として、前記可動空間において前記拘束条件を満たす拘束部分空間を定義し、
    前記経路補正手段は、前記経路生成手段で生成された経路を前記拘束部分空間に射影することにより、前記拘束中間点を補正する請求項3に記載に記載の経路計画装置。
  5. 前記経路補正手段は、前記経路生成手段で生成された経路と拘束曲面との距離が所定値以上の場合に、前記拘束曲面への射影を行って、前記拘束中間点を補正する請求項4に記載の経路計画装置。
  6. 前記経路補正手段は、前記経路生成手段で生成された経路における所定間隔ごとに、前記射影を行う請求項4または請求項5に記載の経路計画装置。
  7. 前記拘束条件設定手段は、前記可動空間の変数を前記作業空間へ写像したベクトルと、前記作業空間の基底ベクトルとの内積が定める方程式に基づいて、前記拘束条件を設定する請求項1〜請求項6のうちのいずれか1項に記載の経路計画装置。
JP2005141661A 2004-11-05 2005-05-13 経路計画装置 Expired - Fee Related JP4304512B2 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2005141661A JP4304512B2 (ja) 2004-11-05 2005-05-13 経路計画装置
PCT/JP2006/309436 WO2006121091A1 (ja) 2005-05-13 2006-05-01 経路計画装置
US11/815,111 US8055383B2 (en) 2005-05-13 2006-05-01 Path planning device
EP06746246A EP1862876B1 (en) 2005-05-13 2006-05-01 Path planning device
DE602006012943T DE602006012943D1 (de) 2005-05-13 2006-05-01 Bahnplanungsvorrichtung

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004322660 2004-11-05
JP2005141661A JP4304512B2 (ja) 2004-11-05 2005-05-13 経路計画装置

Publications (3)

Publication Number Publication Date
JP2006155559A JP2006155559A (ja) 2006-06-15
JP2006155559A5 JP2006155559A5 (ja) 2006-10-19
JP4304512B2 true JP4304512B2 (ja) 2009-07-29

Family

ID=36633732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005141661A Expired - Fee Related JP4304512B2 (ja) 2004-11-05 2005-05-13 経路計画装置

Country Status (1)

Country Link
JP (1) JP4304512B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4941068B2 (ja) 2007-04-16 2012-05-30 トヨタ自動車株式会社 経路作成方法及び経路作成装置
JP6860863B2 (ja) * 2017-07-05 2021-04-21 オムロン株式会社 経路出力方法
JP6895082B2 (ja) * 2017-11-09 2021-06-30 オムロン株式会社 干渉判定方法、干渉判定システム及びコンピュータプログラム
CN112214906B (zh) * 2020-10-22 2022-10-14 华中科技大学 一种基于主成分分析的填充轨迹规划方法

Also Published As

Publication number Publication date
JP2006155559A (ja) 2006-06-15

Similar Documents

Publication Publication Date Title
US8055383B2 (en) Path planning device
US8290620B2 (en) Route creation method and route creation device
JP5750657B2 (ja) 強化学習装置、制御装置、および強化学習方法
JP5044991B2 (ja) 経路作成装置及び経路作成方法
US11292132B2 (en) Robot path planning method with static and dynamic collision avoidance in an uncertain environment
Zhao et al. Robust optimal planning and control of non-periodic bipedal locomotion with a centroidal momentum model
KR102300752B1 (ko) 주어진 엔드-이펙터 경로를 정확하게 따라가기 위한 리던던트 매니퓰레이터의 충돌 없는 궤적 최적화 방법 및 장치
JP2009032189A (ja) ロボットの動作経路生成装置
JP2009134352A (ja) ロボットの動作経路作成装置及びロボットの動作経路作成方法
JP4304512B2 (ja) 経路計画装置
JP4760732B2 (ja) 経路作成装置
JP2005309990A (ja) 経路設定方法
CN112947403A (zh) 用于障碍物规避的确定性机器人路径规划
JPWO2020179798A1 (ja) 加工プログラム変換装置、数値制御装置、加工プログラム変換方法および機械学習装置
Hauenstein et al. An a posteriori certification algorithm for Newton homotopies
dos Santos et al. Robot path planning in a constrained workspace by using optimal control techniques
JP2009274180A (ja) ロボット動作計画方法及び装置
Wild et al. Efficient and scalable inverse kinematics for continuum robots
CN115136089A (zh) 机器人控制装置、机器人控制方法及学习模型生成装置
JP5447811B2 (ja) 経路計画生成装置および該方法ならびにロボット制御装置およびロボットシステム
Kang et al. Analysis and acceleration of TORM: optimization-based planning for path-wise inverse kinematics
US20230195843A1 (en) Machine learning device, machine learning method, and computer program product
KR102520793B1 (ko) 로봇의 모션 경로 블렌딩 방법 및 그 장치
JP7399357B1 (ja) 軌道生成装置
Ohlander et al. Path Planning and Collision Avoidance for a 6-DOF Manipulator: A Comparative Study of Path Planning and Collision Avoidance Algorithms for the Saab Seaeye eM1-7 Electric Manipulator

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060904

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081128

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090401

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090414

R151 Written notification of patent or utility model registration

Ref document number: 4304512

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120515

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130515

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees