JPH06337709A - ロボット作業計画生成遂行方法 - Google Patents
ロボット作業計画生成遂行方法Info
- Publication number
- JPH06337709A JPH06337709A JP5129088A JP12908893A JPH06337709A JP H06337709 A JPH06337709 A JP H06337709A JP 5129088 A JP5129088 A JP 5129088A JP 12908893 A JP12908893 A JP 12908893A JP H06337709 A JPH06337709 A JP H06337709A
- Authority
- JP
- Japan
- Prior art keywords
- state
- operator
- goal
- target
- robot
- 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
- 238000000034 method Methods 0.000 title claims description 26
- 230000000694 effects Effects 0.000 claims description 5
- 230000033001 locomotion Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 description 10
- 230000014509 gene expression Effects 0.000 description 9
- 238000012217 deletion Methods 0.000 description 3
- 230000037430 deletion Effects 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
Landscapes
- Numerical Control (AREA)
- Manipulator (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
(57)【要約】
【目的】 目的達成に関係のない無駄な動作を少なく
し、ロボットにおける作業計画生成遂行を高速に行な
う。 【構成】 初期設定部10において、副目標生成を行な
うか、現在の状態から前向きに探索するかを決定すると
きに使用する閾値tを設定する。計画生成実行部20に
おいて、最大の中間目標適合度を持つオペレータOをオ
ペレータ選択部30で選択し、オペレータOの達成困難
度を閾値tと比較して、副目標生成を行なうのか、現在
の状態から前向きに探索するのかの判断を行ない、達成
困難度の方が大きければさらに副目標の設定を行ない、
達成困難度の方が小さければ前向き探索部40におい
て、前向き探索を行なう。
し、ロボットにおける作業計画生成遂行を高速に行な
う。 【構成】 初期設定部10において、副目標生成を行な
うか、現在の状態から前向きに探索するかを決定すると
きに使用する閾値tを設定する。計画生成実行部20に
おいて、最大の中間目標適合度を持つオペレータOをオ
ペレータ選択部30で選択し、オペレータOの達成困難
度を閾値tと比較して、副目標生成を行なうのか、現在
の状態から前向きに探索するのかの判断を行ない、達成
困難度の方が大きければさらに副目標の設定を行ない、
達成困難度の方が小さければ前向き探索部40におい
て、前向き探索を行なう。
Description
【0001】
【産業上の利用分野】本発明は、自律移動ロボットにお
ける、作業の順序や経路の決定問題やマニピュレータに
よる組立て作業等の順序の決定問題(以降、自律移動ロ
ボットとマニピュレータを含めてロボットと称す)のよ
うな作業計画生成遂行問題において、目標達成に至る過
程での無駄な動作を削減し、処理を高速化することを可
能にするロボット作業計画生成遂行方法に関する。
ける、作業の順序や経路の決定問題やマニピュレータに
よる組立て作業等の順序の決定問題(以降、自律移動ロ
ボットとマニピュレータを含めてロボットと称す)のよ
うな作業計画生成遂行問題において、目標達成に至る過
程での無駄な動作を削減し、処理を高速化することを可
能にするロボット作業計画生成遂行方法に関する。
【0002】
【従来の技術】これまでに、ロボット作業計画生成方法
としてSTRIPSというシステムが提案されている
(R.E.Fikes and, N.J.Nilsson, “STRIPS:A
New Approach to the Application of Theorem Provin
g to Problem Solving”,Artificial Intelligence 2,
pp.189-208, 1971 参照)。STRIPSは対象の状態
を命題を用いて表現する。ロボットが知覚している世界
の状態はリテラルの連言を用いて表現される。リテラル
とは命題あるいは命題の否定形を指す。このとき、ST
RIPSは基本となる動作をつぎに示すオペレータスキ
ーマ(簡単にオペレータという)という形式で表現す
る。
としてSTRIPSというシステムが提案されている
(R.E.Fikes and, N.J.Nilsson, “STRIPS:A
New Approach to the Application of Theorem Provin
g to Problem Solving”,Artificial Intelligence 2,
pp.189-208, 1971 参照)。STRIPSは対象の状態
を命題を用いて表現する。ロボットが知覚している世界
の状態はリテラルの連言を用いて表現される。リテラル
とは命題あるいは命題の否定形を指す。このとき、ST
RIPSは基本となる動作をつぎに示すオペレータスキ
ーマ(簡単にオペレータという)という形式で表現す
る。
【0003】前提条件式:世界がどのような状態のとき
にオペレータが適用できるかを表すリテラル群、それら
が全て真となるときにのみオペレータが適用可能であ
る。
にオペレータが適用できるかを表すリテラル群、それら
が全て真となるときにのみオペレータが適用可能であ
る。
【0004】削除リスト:オペレータを適用する前の状
態では真であるが、オペレータを適用した後の状態では
真でなくなるリテラル群 追加論理式:オペレータを適用した後の状態で真となる
リテラル群 オペレータを適用された後の状態を求めるには、まず現
在の状態記述から削除リストにある記述を取り除き、そ
の後追加論理式にある記述を加えればよい。
態では真であるが、オペレータを適用した後の状態では
真でなくなるリテラル群 追加論理式:オペレータを適用した後の状態で真となる
リテラル群 オペレータを適用された後の状態を求めるには、まず現
在の状態記述から削除リストにある記述を取り除き、そ
の後追加論理式にある記述を加えればよい。
【0005】このオペレータと世界の初期状態と目標状
態の記述が与えられたときに、目標状態を達成するオペ
レータの系列を求めるアルゴリズムを以下に示す。ここ
で、初期状態、目標状態という用語は、ロボットがどこ
に位置するかということを含めて、どのような状態にあ
るかという広い意味で使用している。 STRIPS 1.初期状態をS,目標状態をGとする。
態の記述が与えられたときに、目標状態を達成するオペ
レータの系列を求めるアルゴリズムを以下に示す。ここ
で、初期状態、目標状態という用語は、ロボットがどこ
に位置するかということを含めて、どのような状態にあ
るかという広い意味で使用している。 STRIPS 1.初期状態をS,目標状態をGとする。
【0006】2.STRIPS−1(S,G)を呼ぶ。
【0007】3.2で得られた計画を返す。 STRIPS−1(S,G) 1.状態Sと状態Gの差Dを計算する。Dは状態Gを表
すリテラル群の中で状態Sで真となっていないものの集
合である。
すリテラル群の中で状態Sで真となっていないものの集
合である。
【0008】2.差Dが空ならば復帰する。
【0009】3.差Dを解消するのに最も効果的なオペ
レータOを選ぶ。
レータOを選ぶ。
【0010】4.初期状態をS、目標状態をPとして再
帰的にSTRIPS−1(S,G)を呼ぶ。ここで、P
はオペレータOの前提条件式。
帰的にSTRIPS−1(S,G)を呼ぶ。ここで、P
はオペレータOの前提条件式。
【0011】5.4で得られた計画の最後にOを付け加
えたものを新たな計画とする。
えたものを新たな計画とする。
【0012】6.状態Sに5で得られた計画を適用した
後の状態S’を計算する。
後の状態S’を計算する。
【0013】7.初期状態をS’、目標状態をGとして
再帰的にSTRIPS−1(S’,G)を呼ぶ。
再帰的にSTRIPS−1(S’,G)を呼ぶ。
【0014】8.5で得られている計画の最後に7で得
られた計画を付け加えたものを新たな計画とする。
られた計画を付け加えたものを新たな計画とする。
【0015】9.計画を返し、復帰する。
【0016】上記のアルゴリズムSTRIPS−1
(S,G)中のステップ3での最も効果的なオペレータ
とはつぎの基準で考える。この基準は差をどれだけ埋め
ることができるかということを表している。
(S,G)中のステップ3での最も効果的なオペレータ
とはつぎの基準で考える。この基準は差をどれだけ埋め
ることができるかということを表している。
【0017】1.差Dに含まれるリテラルを最も多く追
加論理式に含むオペレータを選択 2.1で複数の候補が残った場合 削除リストに含まれる目標状態を表すリテラルの数が最
も少ないものを選択 3.2で複数の候補が残った場合 現在の状態で真となっていない前提条件式中のリテラル
の数の最も少ないものを選択 以上の基準で1つのオペレータに絞り切れない場合はラ
ンダムに選択する。
加論理式に含むオペレータを選択 2.1で複数の候補が残った場合 削除リストに含まれる目標状態を表すリテラルの数が最
も少ないものを選択 3.2で複数の候補が残った場合 現在の状態で真となっていない前提条件式中のリテラル
の数の最も少ないものを選択 以上の基準で1つのオペレータに絞り切れない場合はラ
ンダムに選択する。
【0018】以上STRIPSは目標を達成するために
最も効果的なオペレータを考え、そのオペレータを適用
するための条件を副目標にし、その副目標を達成するた
めに最も効果的なオペレータを考え、ということをオペ
レータが適用可能になるまで繰り返し、適用可能になれ
ばそのオペレータを適用することによって目標を達成す
る計画を得るものである。 RTA* さて、副目標生成という方法とは違って、初期状態から
どのようなオペレータを適用していくことが可能である
かということを考える前向きの探索の方法がある。目標
達成に要する速度の面から見て有効な探索アルゴリズム
としてRTA*が公知の技術としてある(R.E.Korf, “R
eal-Time Heuristic Search”,Artificial Intelligen
ce 42, pp.189-211, 1990参照)。以下RTA* につい
て説明する。
最も効果的なオペレータを考え、そのオペレータを適用
するための条件を副目標にし、その副目標を達成するた
めに最も効果的なオペレータを考え、ということをオペ
レータが適用可能になるまで繰り返し、適用可能になれ
ばそのオペレータを適用することによって目標を達成す
る計画を得るものである。 RTA* さて、副目標生成という方法とは違って、初期状態から
どのようなオペレータを適用していくことが可能である
かということを考える前向きの探索の方法がある。目標
達成に要する速度の面から見て有効な探索アルゴリズム
としてRTA*が公知の技術としてある(R.E.Korf, “R
eal-Time Heuristic Search”,Artificial Intelligen
ce 42, pp.189-211, 1990参照)。以下RTA* につい
て説明する。
【0019】RTA* は現在の状態から遷移可能な状態
を考え、その状態を評価して、最も良い状態に遷移す
る。RTA* は計画生成と実行を交互に繰り返す。あら
かじめ、現在の状態xと目標状態の間の距離、すなわち
目標状態を達成するために必要なオペレータの数の推定
値を表すヒューリスティック関数h(x)が与えられて
いるものとする。オペレータを適用して状態をxから
x’に移すときに要するコストを簡単のため、ここでは
すべて1とする。
を考え、その状態を評価して、最も良い状態に遷移す
る。RTA* は計画生成と実行を交互に繰り返す。あら
かじめ、現在の状態xと目標状態の間の距離、すなわち
目標状態を達成するために必要なオペレータの数の推定
値を表すヒューリスティック関数h(x)が与えられて
いるものとする。オペレータを適用して状態をxから
x’に移すときに要するコストを簡単のため、ここでは
すべて1とする。
【0020】RTA* アルゴリズムをつぎに表す。
【0021】1.xを初期状態とする。
【0022】2.状態xが目標状態と等しければ、終
了。
了。
【0023】3.状態xに対して適用可能なオペレータ
を考え、それを適用した状態x’を求める。
を考え、それを適用した状態x’を求める。
【0024】4.すべての状態x’について目標状態ま
での推定値h(x’)を求める。
での推定値h(x’)を求める。
【0025】5.小さい方から二番目の(h(x’)+
1)の値を状態xの新たなh(x)の値とする。
1)の値を状態xの新たなh(x)の値とする。
【0026】6.最小のh(x’)をもつ状態x’に移
動する。すなわち、そのようなx’をxとする。もし最
小のものが複数であれば、その中でランダムに選択す
る。
動する。すなわち、そのようなx’をxとする。もし最
小のものが複数であれば、その中でランダムに選択す
る。
【0027】7.2に戻る。
【0028】RTA* はよい推定値が与えられれば、高
速に問題を解決することができる。ただし、解系列の長
さは、最適解に比べると一般にかなり長くなる。
速に問題を解決することができる。ただし、解系列の長
さは、最適解に比べると一般にかなり長くなる。
【0029】
【発明が解決しようとする課題】上記のSTRIPSは
目標状態と初期状態との差によって大まかな中間目標が
設定できる場合は有効である。しかし、適切な中間状態
がその差で表されないようなときには、後向きの探索を
するのと同様になる。例えば、A地点からB地点にいく
という目標があった場合を考える。目標状態と初期状態
との差は“B地点にいる”ということになる。このとき
1歩進むというオペレータしか与えられていなければ、
“Bに隣接した地点にいく”という副目標しか生成でき
ない。B地点がA地点から遠く離れたところにあれば、
このような副目標が生成されても問題を解くことの難し
さはほとんど変化しない。Bに隣接した地点が複数あっ
た場合、本来地点Aからそこに移動するのに必要なコス
トに差があるときでも、オペレータを見ただけでは初期
状態による差が評価できない。よって、ランダムな選択
をするしかなくなり、目標達成の過程で無駄な動作を含
むことになる。また、後向きの探索をするのと同様にな
れば、計画全体が求まるまで何ら動作を実行することが
できず、実時間での問題解決が不可能になる。
目標状態と初期状態との差によって大まかな中間目標が
設定できる場合は有効である。しかし、適切な中間状態
がその差で表されないようなときには、後向きの探索を
するのと同様になる。例えば、A地点からB地点にいく
という目標があった場合を考える。目標状態と初期状態
との差は“B地点にいる”ということになる。このとき
1歩進むというオペレータしか与えられていなければ、
“Bに隣接した地点にいく”という副目標しか生成でき
ない。B地点がA地点から遠く離れたところにあれば、
このような副目標が生成されても問題を解くことの難し
さはほとんど変化しない。Bに隣接した地点が複数あっ
た場合、本来地点Aからそこに移動するのに必要なコス
トに差があるときでも、オペレータを見ただけでは初期
状態による差が評価できない。よって、ランダムな選択
をするしかなくなり、目標達成の過程で無駄な動作を含
むことになる。また、後向きの探索をするのと同様にな
れば、計画全体が求まるまで何ら動作を実行することが
できず、実時間での問題解決が不可能になる。
【0030】RTA* の動作はヒューリスティック関数
の与え方に依存しており、推定値が目標までの距離の比
較的正確な値を返すときは有効である。しかし、推定値
が正確でない場合、どの状態に移動すればよいのかとい
う判断がつかなくなる。すなわち結果的に目標達成に関
係のないランダムな動作を実行してしまうことになる。
また、問題によっては適切なヒューリスティック関数を
与えることも難しい場合がある。例えば、2つの荷物が
別々の場所にあって、それを目的の場所まで運ぶという
問題があった場合、2つの荷物を一度に考えると、適切
な推定値を与えることは難しくなる。
の与え方に依存しており、推定値が目標までの距離の比
較的正確な値を返すときは有効である。しかし、推定値
が正確でない場合、どの状態に移動すればよいのかとい
う判断がつかなくなる。すなわち結果的に目標達成に関
係のないランダムな動作を実行してしまうことになる。
また、問題によっては適切なヒューリスティック関数を
与えることも難しい場合がある。例えば、2つの荷物が
別々の場所にあって、それを目的の場所まで運ぶという
問題があった場合、2つの荷物を一度に考えると、適切
な推定値を与えることは難しくなる。
【0031】本発明の目的は、目的達成に関係のない無
駄な動作を少なくし、ロボットにおける作業計画生成遂
行を高速に行なうことが可能なロボット作業計画生成遂
行方法を提供することにある。
駄な動作を少なくし、ロボットにおける作業計画生成遂
行を高速に行なうことが可能なロボット作業計画生成遂
行方法を提供することにある。
【0032】
【課題を解決するための手段】上記目的を達成するため
に、本発明のロボット作業計画生成遂行方法は、目標状
態の一部をその効果に含むロボットの動作の前提条件で
置き換えたものである副目標状態を生成するとき、その
効果に目標状態の一部を含む動作の中から、中間目標と
しての適切さを表す中間目標適合度に応じて動作を選択
することによってできるだけ初期状態の近くに位置する
ような副目標状態を生成し、その動作適用の前提条件を
満足する計画が容易に生成できるかどうかを表す達成困
難度に応じて、副目標状態の生成を続けて目標状態の分
割を計るという副目標状態設定を行なうか、または現在
の状態において実行可能な基本動作の中から目標状態と
の差を最も小さくする動作を選んで実行するという前向
き探索を行なうことにより、副目標状態設定と前向き探
索を適切に切替える。
に、本発明のロボット作業計画生成遂行方法は、目標状
態の一部をその効果に含むロボットの動作の前提条件で
置き換えたものである副目標状態を生成するとき、その
効果に目標状態の一部を含む動作の中から、中間目標と
しての適切さを表す中間目標適合度に応じて動作を選択
することによってできるだけ初期状態の近くに位置する
ような副目標状態を生成し、その動作適用の前提条件を
満足する計画が容易に生成できるかどうかを表す達成困
難度に応じて、副目標状態の生成を続けて目標状態の分
割を計るという副目標状態設定を行なうか、または現在
の状態において実行可能な基本動作の中から目標状態と
の差を最も小さくする動作を選んで実行するという前向
き探索を行なうことにより、副目標状態設定と前向き探
索を適切に切替える。
【0033】
【作用】本発明のロボット作業計画生成遂行方法では、
つぎの2つの指標を考える。 中間目標適合度 中間目標としての適切であるかどうか、すなわち目標状
態を効果に含むオペレータが初期状態から目標状態へ至
る過程のどの辺りで実行されるものであるかということ
を表す。中間目標適合度が大きいということは、そのオ
ペレータがより初期状態に近い位置で実行されるという
ことを表す。このようなオペレータが選択されれば、そ
の前提条件は初期状態と近いものになっており、つぎの
計画段階がより容易になると考えられる。 達成困難度 実行しようとしているオペレータの前提条件式を充足さ
せるような計画が容易に生成できるかどうかを表す。こ
れは問題の分割の程度を表す。
つぎの2つの指標を考える。 中間目標適合度 中間目標としての適切であるかどうか、すなわち目標状
態を効果に含むオペレータが初期状態から目標状態へ至
る過程のどの辺りで実行されるものであるかということ
を表す。中間目標適合度が大きいということは、そのオ
ペレータがより初期状態に近い位置で実行されるという
ことを表す。このようなオペレータが選択されれば、そ
の前提条件は初期状態と近いものになっており、つぎの
計画段階がより容易になると考えられる。 達成困難度 実行しようとしているオペレータの前提条件式を充足さ
せるような計画が容易に生成できるかどうかを表す。こ
れは問題の分割の程度を表す。
【0034】初期状態からオペレータの前提条件式を充
足する状態へ前向き探索を行なったときに必要なコスト
をf(1)とする。問題を均等に2分割したとき、一方
の問題について初期状態からオペレータの前提条件式を
充足する状態へ前向き探索を行なうときに必要なコスト
をf(2)とすると、問題を2つに分けているため、前
向き探索を2回することになるから前向き探索全体で必
要なコストは2*f(2)となる。同様に、問題を均等
にn分割するときのコストはn*f(n)と書ける。こ
こで、一般にf(1)>2*f(2)>・・・・>n*f
(n)である。これは、小さい問題の方がより良いヒュ
ーリスティック関数を与えることが可能なことによる。
足する状態へ前向き探索を行なったときに必要なコスト
をf(1)とする。問題を均等に2分割したとき、一方
の問題について初期状態からオペレータの前提条件式を
充足する状態へ前向き探索を行なうときに必要なコスト
をf(2)とすると、問題を2つに分けているため、前
向き探索を2回することになるから前向き探索全体で必
要なコストは2*f(2)となる。同様に、問題を均等
にn分割するときのコストはn*f(n)と書ける。こ
こで、一般にf(1)>2*f(2)>・・・・>n*f
(n)である。これは、小さい問題の方がより良いヒュ
ーリスティック関数を与えることが可能なことによる。
【0035】ところで、副目標生成にもコストがかか
る。適用可能なオペレータの数は問題の大きさに依らな
いので、このコストは問題の規模に対して一定であると
考えてよい。副目標生成1回当たりのコストをaとす
る。すると、結局問題をn分割したときに初期状態から
オペレータの前提条件式を充足する状態へ到るコストは
g(n)=n*f(n)+(n−1)*aとなる。f
(n)はnに対する減少関数であるため、g(n)はそ
の値が最小となるn* が存在する。よって、n<n*の
ときには副目標生成を続け、n>n* のときには副目標
生成を行なわずに前向き探索を行なえば最小のコストで
目標を達成できる。
る。適用可能なオペレータの数は問題の大きさに依らな
いので、このコストは問題の規模に対して一定であると
考えてよい。副目標生成1回当たりのコストをaとす
る。すると、結局問題をn分割したときに初期状態から
オペレータの前提条件式を充足する状態へ到るコストは
g(n)=n*f(n)+(n−1)*aとなる。f
(n)はnに対する減少関数であるため、g(n)はそ
の値が最小となるn* が存在する。よって、n<n*の
ときには副目標生成を続け、n>n* のときには副目標
生成を行なわずに前向き探索を行なえば最小のコストで
目標を達成できる。
【0036】ここで、f(n)やaは実際に問題を解い
てみなければ、その値を知ることはできない。しかし、
問題を解く前に副目標を生成するのか、前向き探索を行
なうのかを決定しなければならない。そこで、この指標
とするのが達成困難度である。達成困難度は初期状態と
オペレータが与えられたとき、オペレータ適用の前提と
なる命題の連言から初期状態を表す命題の連言を差し引
いた命題の集合の各要素に対して、ヒューリスティック
関数を作用させた値の和である。
てみなければ、その値を知ることはできない。しかし、
問題を解く前に副目標を生成するのか、前向き探索を行
なうのかを決定しなければならない。そこで、この指標
とするのが達成困難度である。達成困難度は初期状態と
オペレータが与えられたとき、オペレータ適用の前提と
なる命題の連言から初期状態を表す命題の連言を差し引
いた命題の集合の各要素に対して、ヒューリスティック
関数を作用させた値の和である。
【0037】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。
て説明する。
【0038】図1は本発明の一実施例を示す全体の処理
のフローチャート、図2は初期設定部10の処理を示す
フローチャート、図3は計画生成実行部20の処理を示
すフローチャート、図4はオペレータ選択部30の処理
を示すフローチャート、図5は前向き探索部40の処理
を示すフローチャートである。
のフローチャート、図2は初期設定部10の処理を示す
フローチャート、図3は計画生成実行部20の処理を示
すフローチャート、図4はオペレータ選択部30の処理
を示すフローチャート、図5は前向き探索部40の処理
を示すフローチャートである。
【0039】本実施例のロボット作業計画生成遂行方法
は、図1に示すように、初期設定部10と計画生成実行
部20とオペレータ選択部30と前向き探索部40とか
らなり、前述した中間目標適合度と達成困難度の2つの
指標を用いて図2〜図5に示すアルゴリズムに従って与
えられた作業の計画を立てて実行する。 初期設定部10(図2) 1.初期状態をS,目標状態をGとする(ステップ10
1)。
は、図1に示すように、初期設定部10と計画生成実行
部20とオペレータ選択部30と前向き探索部40とか
らなり、前述した中間目標適合度と達成困難度の2つの
指標を用いて図2〜図5に示すアルゴリズムに従って与
えられた作業の計画を立てて実行する。 初期設定部10(図2) 1.初期状態をS,目標状態をGとする(ステップ10
1)。
【0040】2.副目標生成と初期状態からのRTA*
を用いた前向き探索のどちらを行なうか決定する閾値t
を設定する(ステップ102)。 計画生成実行部20(図3) 1.初期状態Sと目標状態Gを比較する(ステップ20
1)。両者が等しければ復帰する。
を用いた前向き探索のどちらを行なうか決定する閾値t
を設定する(ステップ102)。 計画生成実行部20(図3) 1.初期状態Sと目標状態Gを比較する(ステップ20
1)。両者が等しければ復帰する。
【0041】2.最大の中間目標適合度を持ったオペレ
ータOをオペレータ選択部30で求める(ステップ20
2)。
ータOをオペレータ選択部30で求める(ステップ20
2)。
【0042】3.オペレータOの達成困難度を閾値tと
比較する(ステップ203)。
比較する(ステップ203)。
【0043】4.・オペレータOの達成困難度i>閾値
tのとき 初期状態をS,目標状態をPとして再帰的に計画生成実
行部20を呼ぶ(ステップ204)。ここで、Pはオペ
レータOの前提条件式である。 ・オペレータOの達成困難度<閾値tのとき 初期状態をS,目標状態をPとして前向き探索部40を
呼ぶ(ステップ204)。ここで、PはオペレータOの
前提条件式である。
tのとき 初期状態をS,目標状態をPとして再帰的に計画生成実
行部20を呼ぶ(ステップ204)。ここで、Pはオペ
レータOの前提条件式である。 ・オペレータOの達成困難度<閾値tのとき 初期状態をS,目標状態をPとして前向き探索部40を
呼ぶ(ステップ204)。ここで、PはオペレータOの
前提条件式である。
【0044】5.オペレータOを実行し、中間状態S’
を求める(ステップ206)。
を求める(ステップ206)。
【0045】6.初期状態をS’,目標状態をGとし、
再帰的に計画生成実行部20を呼ぶ(ステップ20
7)。
再帰的に計画生成実行部20を呼ぶ(ステップ20
7)。
【0046】ステップ202で副目標生成を行なう。ス
テップ204,205がさらに副目標生成を行なうか、
前向き探索を行なうかを切替えるところである。この操
作によって、それぞれの能力が発揮できる領域でのみS
TRIPSとRTA* を使用することができるようにな
る。 オペレータ選択部30(図4) 1.目標状態Gと初期状態Sの差Dを計算する(ステッ
プ301)。
テップ204,205がさらに副目標生成を行なうか、
前向き探索を行なうかを切替えるところである。この操
作によって、それぞれの能力が発揮できる領域でのみS
TRIPSとRTA* を使用することができるようにな
る。 オペレータ選択部30(図4) 1.目標状態Gと初期状態Sの差Dを計算する(ステッ
プ301)。
【0047】2.差Dを効果に含むオペレータを求める
(ステップ302)。
(ステップ302)。
【0048】3.最大の中間目標適合度を持ったオペレ
ータをOとする(ステップ303)。最大のものが複数
あればその中でランダムに選択する。
ータをOとする(ステップ303)。最大のものが複数
あればその中でランダムに選択する。
【0049】ステップ303の最大の中間目標適合度を
持ったオペレータOを選択することにより、次段階での
目標が初期状態の近くに位置することになり、解決が容
易になる。 前向き探索部40(図5) 1.xを初期状態Sとする(ステップ401)。
持ったオペレータOを選択することにより、次段階での
目標が初期状態の近くに位置することになり、解決が容
易になる。 前向き探索部40(図5) 1.xを初期状態Sとする(ステップ401)。
【0050】2.状態xを目標状態Gと比較する(ステ
ップ402)。状態xが目標状態Gと等しければ、復帰
する。
ップ402)。状態xが目標状態Gと等しければ、復帰
する。
【0051】3.状態xに対して適用可能なオペレータ
を考え、それを適用した状態x’を求める(ステップ4
03)。
を考え、それを適用した状態x’を求める(ステップ4
03)。
【0052】4.すべての状態x’について目標状態ま
での推定値h(x’)を求める(ステップ404)。
での推定値h(x’)を求める(ステップ404)。
【0053】5.小さい方から二番目の(h(x’)+
1)の値を状態xの新たなh(x)の値とする(ステッ
プ405)。
1)の値を状態xの新たなh(x)の値とする(ステッ
プ405)。
【0054】6.最小のh(x’)を持つ状態x’に移
動し、x’をxとし(ステップ406),2に戻る。も
し最小のものが複数あれば、その中でランダムに選択す
る。
動し、x’をxとし(ステップ406),2に戻る。も
し最小のものが複数あれば、その中でランダムに選択す
る。
【0055】閾値tを0とすれば前向き探索は行なわ
ず、STRIPSと同じ動作をすることになる。
ず、STRIPSと同じ動作をすることになる。
【0056】以下に本発明を定量的に評価するために、
具体的に実験環境を構築した場合の例を示す。課題はロ
ボットが荷物のある場所まで移動して、目的の位置まで
運ぶことである。ロボットは図6に示すような空間を動
くものとする。空間全体は3×3の9つの部屋からなっ
ており、各部屋は5×5の25の桝目からなっている。
ロボットは前後左右に1桝ずつ動けるが、斜め方向には
直接移動できない。各部屋には扉があり、ロボットは扉
を開けたり、閉めたりすることができる。ロボットは一
度に1つの荷物しか押すことができない。以下に今回用
いたオペレータを示す。
具体的に実験環境を構築した場合の例を示す。課題はロ
ボットが荷物のある場所まで移動して、目的の位置まで
運ぶことである。ロボットは図6に示すような空間を動
くものとする。空間全体は3×3の9つの部屋からなっ
ており、各部屋は5×5の25の桝目からなっている。
ロボットは前後左右に1桝ずつ動けるが、斜め方向には
直接移動できない。各部屋には扉があり、ロボットは扉
を開けたり、閉めたりすることができる。ロボットは一
度に1つの荷物しか押すことができない。以下に今回用
いたオペレータを示す。
【0057】・goto-room-location:部屋の中でロボッ
トだけが移動 ・push-box:部屋の中で荷物を移動させる(ロボットも
移動) ・go-through-door :部屋間をロボットだけが移動 ・push-through-door :部屋間で荷物を移動させる(ロ
ボットも移動) ・open:扉を開ける ・close :扉を閉める 要素目標となるものはつぎの6つである。
トだけが移動 ・push-box:部屋の中で荷物を移動させる(ロボットも
移動) ・go-through-door :部屋間をロボットだけが移動 ・push-through-door :部屋間で荷物を移動させる(ロ
ボットも移動) ・open:扉を開ける ・close :扉を閉める 要素目標となるものはつぎの6つである。
【0058】目標 box-inroom?box ?room ?box が?roomにあること robot-inroom?room ロボットが?roomにいること box-at?box ?location ?box が?locationにあるこ
と robot-at?location ロボットが?locationにいる
こと open?door ?doorを開いていること close ?door ?doorを閉まっていること この要素目標の連言を用いて目標が表現される。
と robot-at?location ロボットが?locationにいる
こと open?door ?doorを開いていること close ?door ?doorを閉まっていること この要素目標の連言を用いて目標が表現される。
【0059】さて、本例においては中間目標適合度と達
成困難度を目標の抽象度に着目して決定することにす
る。box-inroomはbox-atの上位概念であり、robot-inro
omはrobot-atの上位概念である。すなわち、抽象度とい
う観点から、上記6つの目標を2つのグループに分ける
ことができる。 抽象度が高い box-inroom,robot-inroom 抽象度が低い box-at,robot-at,open,close 最初から正確にどの場所に行くという目標を立てるより
は、まず、大まかな場所を指定してやり、そこに行って
から、つぎに正確な場所に行くような目標の立て方をす
ると目標の達成が容易になると考えられる。すなわち中
間目標としては抽象度の高いものが多く含まれている方
が良いといえる。よって、つぎの式によって中間目標適
合度を定める。
成困難度を目標の抽象度に着目して決定することにす
る。box-inroomはbox-atの上位概念であり、robot-inro
omはrobot-atの上位概念である。すなわち、抽象度とい
う観点から、上記6つの目標を2つのグループに分ける
ことができる。 抽象度が高い box-inroom,robot-inroom 抽象度が低い box-at,robot-at,open,close 最初から正確にどの場所に行くという目標を立てるより
は、まず、大まかな場所を指定してやり、そこに行って
から、つぎに正確な場所に行くような目標の立て方をす
ると目標の達成が容易になると考えられる。すなわち中
間目標としては抽象度の高いものが多く含まれている方
が良いといえる。よって、つぎの式によって中間目標適
合度を定める。
【0060】
【数1】 上式ではオペレータが達成しようとしている目標の中に
どれだけ抽象度の高いものが含まれるかということと、
そのオペレータが初期状態に達成されている目標を破壊
しないかということが計算されている。
どれだけ抽象度の高いものが含まれるかということと、
そのオペレータが初期状態に達成されている目標を破壊
しないかということが計算されている。
【0061】さて、オペレータの前提条件式の中で初期
状態が満たされていない要素目標の中に抽象度の高いも
のがなくなった場合を考えよう。この場合、既に抽象度
の高い目標は達成されているのであるから、未充足の目
標は初期状態から容易に達成できるものであると考えら
れる。ロボットの例でいえば、どの部屋からどの部屋に
移動するということは既に解決されていて、後は部屋の
中でどう動くかという問題だけが残されていることにな
る。逆に、オペレータの前提条件式の中で初期状態が満
たされていない要素目標の中にまだ抽象度の高い目標が
含まれている場合を考えよう。この場合は初期状態から
目標状態までまだかなりの距離があることが予想される
から、初期状態から探索を行なうのは効率が悪い。
状態が満たされていない要素目標の中に抽象度の高いも
のがなくなった場合を考えよう。この場合、既に抽象度
の高い目標は達成されているのであるから、未充足の目
標は初期状態から容易に達成できるものであると考えら
れる。ロボットの例でいえば、どの部屋からどの部屋に
移動するということは既に解決されていて、後は部屋の
中でどう動くかという問題だけが残されていることにな
る。逆に、オペレータの前提条件式の中で初期状態が満
たされていない要素目標の中にまだ抽象度の高い目標が
含まれている場合を考えよう。この場合は初期状態から
目標状態までまだかなりの距離があることが予想される
から、初期状態から探索を行なうのは効率が悪い。
【0062】以上のことを考慮して、達成困難度を次の
式で計算する。
式で計算する。
【0063】
【数2】 前向き探索部40で用いたコストの推定関数は ロボットの現在位置と目標状態における位置とのマンハ
ッタン距離+荷物の現在位置と目標状態における位置と
のマンハッタン距離+ロボットにとって目標状態におか
れていない荷物の中で最も近くにある荷物までのマンハ
ッタン距離 とする。これは一番近くにある荷物のところまでいっ
て、荷物を目的の位置まで運ぶという動作をする。
ッタン距離+荷物の現在位置と目標状態における位置と
のマンハッタン距離+ロボットにとって目標状態におか
れていない荷物の中で最も近くにある荷物までのマンハ
ッタン距離 とする。これは一番近くにある荷物のところまでいっ
て、荷物を目的の位置まで運ぶという動作をする。
【0064】荷物の数が1個の場合と2個の場合につい
て実験を行なった。それぞれの場合について30問用意
した。ロボット・荷物の初期位置と目標位置は乱数を用
いて設定した。扉はすべて初期状態では閉じているとし
た。得られた結果は計画の生成時間と実行時間の両面か
ら評価する。計画の生成時間は実験で解を得るのに要し
たCPU時間とし、計画の実行時間は得られたオペレー
タ系列の長さで評価した。1回の試行についてCPU時
間が、荷物が1個の場合には600[s]を、荷物が2
個の場合には1200[s]を越えて目標状態に到達で
きなかった場合は解が求まらなかったとした。
て実験を行なった。それぞれの場合について30問用意
した。ロボット・荷物の初期位置と目標位置は乱数を用
いて設定した。扉はすべて初期状態では閉じているとし
た。得られた結果は計画の生成時間と実行時間の両面か
ら評価する。計画の生成時間は実験で解を得るのに要し
たCPU時間とし、計画の実行時間は得られたオペレー
タ系列の長さで評価した。1回の試行についてCPU時
間が、荷物が1個の場合には600[s]を、荷物が2
個の場合には1200[s]を越えて目標状態に到達で
きなかった場合は解が求まらなかったとした。
【0065】図7に従来技術と本発明による方法とを性
能面から比較した結果を示す。荷物が1個のとき、本発
明による方法、RTA* は全問題を制限時間内に解くこ
とができたが、STRIPSは7問(23%)を制限時
間内に解くことができなかった。荷物が2個のとき、制
限時間内に全問題を解くことができたのは本発明による
方法のみで、STRIPSでは10問(33%)、RT
A* では21問(70%)を制限時間内に解くことがで
きなかった。結果を見てみるとSTRIPS,RTA*
とも非常にばらつきが大きい。これは、作業が達成でき
るかどうかということがやってみないとわからないとい
うことで作業計画生成遂行方法としては信頼性に欠け
る。
能面から比較した結果を示す。荷物が1個のとき、本発
明による方法、RTA* は全問題を制限時間内に解くこ
とができたが、STRIPSは7問(23%)を制限時
間内に解くことができなかった。荷物が2個のとき、制
限時間内に全問題を解くことができたのは本発明による
方法のみで、STRIPSでは10問(33%)、RT
A* では21問(70%)を制限時間内に解くことがで
きなかった。結果を見てみるとSTRIPS,RTA*
とも非常にばらつきが大きい。これは、作業が達成でき
るかどうかということがやってみないとわからないとい
うことで作業計画生成遂行方法としては信頼性に欠け
る。
【0066】荷物が1個のみのときは計画生成時間で最
も速いのはRTA* であり、本発明による方法は、計画
生成時間面ではRTA* に比べて劣化している。しか
し、無駄な動作を55%程度削減することができてい
る。実際のロボットを考えると計画生成時間よりは実行
の方により時間がかかると考えられるので、本発明によ
る方法の方が良い結果が得られたといえる。また、ST
RIPSに対しては計画生成時間は1/10以下にな
り、また実行時間は約1/4となり、非常に性能が向上
している。
も速いのはRTA* であり、本発明による方法は、計画
生成時間面ではRTA* に比べて劣化している。しか
し、無駄な動作を55%程度削減することができてい
る。実際のロボットを考えると計画生成時間よりは実行
の方により時間がかかると考えられるので、本発明によ
る方法の方が良い結果が得られたといえる。また、ST
RIPSに対しては計画生成時間は1/10以下にな
り、また実行時間は約1/4となり、非常に性能が向上
している。
【0067】荷物が2個のときはRTA* に対しては計
画生成時間は1/6程度になり、実行時間は1/60以
下になっている。1つの荷物を運ぶのに適したヒューリ
スティック関数を用いていても、本発明による方法では
十分な性能が得られる。STRIPSに対しても計画生
成時間は1/10以下になり、実行時間は1/2以下に
なっている。
画生成時間は1/6程度になり、実行時間は1/60以
下になっている。1つの荷物を運ぶのに適したヒューリ
スティック関数を用いていても、本発明による方法では
十分な性能が得られる。STRIPSに対しても計画生
成時間は1/10以下になり、実行時間は1/2以下に
なっている。
【0068】なお、本発明は自律移動ロボットのみなら
ず、組み立て作業等を行なうマニピュレータにも適用可
能であることは言うまでもない。
ず、組み立て作業等を行なうマニピュレータにも適用可
能であることは言うまでもない。
【0069】
【発明の効果】以上説明したように、本発明は、複数の
目標からなる作業計画生成遂行を行なう場合、中間目標
適合度と達成困難度に応じて副目標生成と前向きの探索
を行なうことにより、無駄な動作を削減し、高速な計画
生成遂行を行なうことが可能になるとともに、得られる
結果の分散が小さく実用化に際して必要な信頼性の向上
が実現される効果がある。
目標からなる作業計画生成遂行を行なう場合、中間目標
適合度と達成困難度に応じて副目標生成と前向きの探索
を行なうことにより、無駄な動作を削減し、高速な計画
生成遂行を行なうことが可能になるとともに、得られる
結果の分散が小さく実用化に際して必要な信頼性の向上
が実現される効果がある。
【図1】本発明の一実施例のロボット作業計画生成遂行
方法の全体の処理を示すフローチャートである。
方法の全体の処理を示すフローチャートである。
【図2】初期設定部10の処理を示すフローチャートで
ある。
ある。
【図3】計画生成実行部20の処理を示すフローチャー
トである。
トである。
【図4】オペレータ選択部30の処理を示すフローチャ
ートである。
ートである。
【図5】前向き探索部40の処理を示すフローチャート
である。
である。
【図6】本発明による具体例の問題空間を示す図であ
る。
る。
【図7】従来技術と本発明による方法とを計画生計時間
と実行時間という面で比較した性能特性を示す図であ
る。
と実行時間という面で比較した性能特性を示す図であ
る。
10 初期設定部 20 計画生成実行部 30 オペレータ選択部 40 前向き探索部 101,102,201〜207,301〜303,4
01〜406 ステップ
01〜406 ステップ
Claims (1)
- 【請求項1】 ロボットの動作適用の前提条件とその効
果が記述されたロボットの数種の基本動作および初期状
態と目標状態が与えられたとき、初期状態から目標状態
を達成するための基本動作の系列を生成し、それを実行
するロボット作業計画生成遂行方法において、 目標状態の一部をその効果に含むロボットの動作の前提
条件で置き換えたものである副目標状態を生成すると
き、その効果に目標状態の一部を含む動作の中から、中
間目標としての適切さを表す中間目標適合度に応じて動
作を選択することによってできるだけ初期状態の近くに
位置するような副目標状態を生成し、その動作適用の前
提条件を満足する計画が容易に生成できるかどうかを表
す達成困難度に応じて、副目標状態の生成を続けて目標
状態の分割を計るという副目標状態設定を行なうか、ま
たは現在の状態において実行可能な基本動作の中から目
標状態との差を最も小さくする動作を選んで実行すると
いう前向き探索を行なうことにより、副目標状態設定と
前向き探索を適切に切替えることを特徴とするロボット
作業計画生成遂行方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5129088A JPH06337709A (ja) | 1993-05-31 | 1993-05-31 | ロボット作業計画生成遂行方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5129088A JPH06337709A (ja) | 1993-05-31 | 1993-05-31 | ロボット作業計画生成遂行方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH06337709A true JPH06337709A (ja) | 1994-12-06 |
Family
ID=15000785
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5129088A Pending JPH06337709A (ja) | 1993-05-31 | 1993-05-31 | ロボット作業計画生成遂行方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH06337709A (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762060A (zh) * | 2018-05-07 | 2018-11-06 | 中国科学院力学研究所 | 一种远程操作任务制定的优化方法及系统 |
JPWO2021171558A1 (ja) * | 2020-02-28 | 2021-09-02 | ||
WO2022074827A1 (ja) * | 2020-10-09 | 2022-04-14 | 日本電気株式会社 | 命題設定装置、命題設定方法及び記憶媒体 |
-
1993
- 1993-05-31 JP JP5129088A patent/JPH06337709A/ja active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762060A (zh) * | 2018-05-07 | 2018-11-06 | 中国科学院力学研究所 | 一种远程操作任务制定的优化方法及系统 |
CN108762060B (zh) * | 2018-05-07 | 2021-02-02 | 中国科学院力学研究所 | 一种远程操作任务制定的优化方法及系统 |
JPWO2021171558A1 (ja) * | 2020-02-28 | 2021-09-02 | ||
WO2021171558A1 (ja) * | 2020-02-28 | 2021-09-02 | 日本電気株式会社 | 制御装置、制御方法及び記録媒体 |
WO2022074827A1 (ja) * | 2020-10-09 | 2022-04-14 | 日本電気株式会社 | 命題設定装置、命題設定方法及び記憶媒体 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Stolle et al. | Learning options in reinforcement learning | |
Rios et al. | A survey and classification of A* based best-first heuristic search algorithms | |
CN107844460B (zh) | 一种基于p-maxq的多水下机器人的围捕方法 | |
JP2017529631A (ja) | 1個以上の障害物を回避して始状態から終状態集合まで移動する物体の経路を決定する方法およびシステム | |
Jeng et al. | A heuristic search approach using approximate solutions to Petri net state equations for scheduling flexible manufacturing systems | |
Patra et al. | Acting and planning using operational models | |
JP6711949B2 (ja) | 1個以上の障害物を回避して始状態から終状態集合まで移動する物体の経路を決定する方法およびシステム | |
Cizelj et al. | Probabilistically safe vehicle control in a hostile environment | |
Aine et al. | Anytime truncated D*: Anytime replanning with truncation | |
JPH06337709A (ja) | ロボット作業計画生成遂行方法 | |
Panda et al. | Autonomous mobile robot path planning using hybridization of particle swarm optimization and Tabu search | |
Undurti et al. | A decentralized approach to multi-agent planning in the presence of constraints and uncertainty | |
Hu et al. | Jump point search with temporal obstacles | |
Zhang et al. | PLEASE: Palm leaf search for POMDPs with large observation spaces | |
Schut et al. | Reasoning about intentions in uncertain domains | |
Zamani | A polarized adaptive schedule generation scheme for the resource-constrained project scheduling problem | |
Palacios et al. | Hybrid tabu search for fuzzy job shop | |
Shaoul et al. | Accelerating Search-Based Planning for Multi-Robot Manipulation by Leveraging Online-Generated Experiences | |
Muvvala et al. | Efficient Symbolic Approaches for Quantitative Reactive Synthesis with Finite Tasks | |
Itazuro et al. | Design environment of reinforcement learning agents for intelligent multiagent system | |
Eswaramurthy | New algorithm for analyzing performance of neighborhood strategies in solving job shop scheduling problems | |
Andre | Learning hierarchical behaviors | |
JPH07261840A (ja) | ロボット作業計画生成遂行方法 | |
Pineda et al. | Generalizing the role of determinization in probabilistic planning | |
Barkan et al. | Towards predictive execution monitoring in BDI recipes |