(57)【要約】【課題】目標位置に移動する移動体の軌道を生成できない状態になっても、その状態を回避し、目標位置に移動する移動体の軌道を生成する技術を提供する。【解決手段】本開示の軌道生成装置は、目標位置に移動する移動体の軌道を生成する軌道生成装置であって、軌道生成部と、判定部と、方針変更部とを備えている。Ｓ４０２、Ｓ４１４において軌道生成部は、所定のアルゴリズムで軌道を探索して生成する。Ｓ４０８において判定部は、軌道生成部が軌道を生成できるか否かを判定する。Ｓ４１０において方針変更部は、軌道生成部が軌道を生成できないと判定部が判定すると、軌道生成部が軌道を探索するアルゴリズムの探索方針を変更する。【選択図】図４
2020006489.tif 000002
【特許請求の範囲】
【請求項１】
目標位置（１２０）に移動する移動体（１００）の軌道（２１０、２３０）を生成する軌道生成装置（１０）であって、
所定のアルゴリズムで前記軌道を探索して生成するように構成された軌道生成部（１２、Ｓ４０２、Ｓ４１４）と、
前記軌道生成部が前記軌道を生成できるか否かを判定するように構成された判定部（１６、Ｓ４０８）と、
前記軌道生成部が前記軌道を生成できないと前記判定部が判定すると、前記軌道生成部が前記軌道を探索する前記アルゴリズムの探索方針を変更するように構成されている方針変更部（１８、Ｓ４１０）と、
を備える軌道生成装置。
【請求項２】
請求項１に記載の軌道生成装置であって、
前記判定部は、前記移動体の位置の変化量が所定量以下であり、前記移動体が前記目標位置に到達していない場合、前記軌道生成部が前記軌道を生成できないと判定するように構成されている、
軌道生成装置。
【請求項３】
請求項１または２に記載の軌道生成装置であって、
前記移動体は少なくとも１軸（１０２）を有するロボットアームであり、
前記判定部は、前記軸の動作限度角度と前記軸の回転角度との差が所定角度以下であり前記軸がそれ以上回転できないために、前記ロボットアームが前記目標位置に到達していない場合、前記軌道生成部が前記軌道を生成できないと判定するように構成されている、
軌道生成装置。
【請求項４】
請求項３に記載の軌道生成装置であって、
前記方針変更部は、前記軌道生成部が前記軌道を生成できないと前記判定部が判定すると、前記軸の回転方向を逆方向にして前記探索方針を変更するように構成されている、
軌道生成装置。
【請求項５】
請求項１から４のいずれか１項に記載の軌道生成装置であって、
前記軌道生成部は、前記軌道を生成するコストが最小となる方向を探索して前記軌道を生成し、
前記判定部は、前記コストの変化量が所定量以下であり、前記移動体が前記目標位置に到達していない移動不可位置にいる場合、前記軌道生成部が前記軌道を生成できないと判定するように構成されている、
軌道生成装置。
【請求項６】
請求項５に記載の軌道生成装置であって、
前記方針変更部は、前記移動体が前記移動不可位置にいると前記判定部が判定すると、前記移動体が移動するときに変化する前記コストの勾配を変更して前記探索方針を変更するように構成されている、
軌道生成装置。
【請求項７】
請求項６に記載の軌道生成装置であって、
前記方針変更部は、前記移動体が前記移動不可位置にいると前記判定部が判定すると、前記移動不可位置の前記コストを周囲よりも大きい値に設定するように構成されている、
軌道生成装置。
【請求項８】
請求項１から７のいずれか１項に記載の軌道生成装置であって、
前記軌道生成部（Ｓ４１４）は、前記軌道生成部が前記軌道を生成できたと前記判定部が判定した前記軌道に基づいて、ニューラルネットワークにより、リアルタイムに前記軌道を探索して生成するように構成されている、
軌道生成装置。
【請求項９】
目標位置に移動する移動体の軌道を生成する軌道生成方法であって、
所定のアルゴリズムで前記軌道を探索して生成できるか否かを判定し、
前記軌道を生成できない場合、前記アルゴリズムの探索方針を変更して前記軌道を探索する、
軌道生成方法。
【請求項１０】
請求項９に記載の軌道生成方法であって、
前記移動体の位置の変化量が所定量以下であり、前記移動体が前記目標位置に到達していない場合、前記軌道を生成できないと判定する、
軌道生成方法。
【請求項１１】
目標位置に移動する移動体の軌道を生成する軌道生成プログラムであって、
所定のアルゴリズムで前記軌道を探索して生成するように構成された軌道生成部（１２、Ｓ４０２、Ｓ４１４）と、
前記軌道生成部が前記軌道を生成できるか否かを判定するように構成された判定部（１６、Ｓ４０８）と、
前記軌道生成部が前記軌道を生成できないと前記判定部が判定すると、前記軌道生成部が前記軌道を探索する前記アルゴリズムの探索方針を変更するように構成されている方針変更部と、
してコンピュータを機能させる軌道生成プログラム
【請求項１２】
請求項１１に記載の軌道生成プログラムであって、
前記判定部は、前記移動体の位置の変化量が所定量以下であり、前記移動体が前記目標位置に到達していない場合、前記軌道生成部が前記軌道を生成できないと判定する、ようにコンピュータを機能させる軌道生成プログラム
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、目標位置に移動する移動体の軌道を生成する技術に関する。
【背景技術】
【０００２】
目標位置に移動する移動体の軌道を生成する技術が知られている。例えば、特許文献１に記載の技術によると、移動体であるマニピュレータのハンドが出発位置から目標位置に到達する軌道を探索して生成する場合、探索アルゴリズムとして、目標位置のポテンシャルを最小とし、目標位置から遠ざかるほどポテンシャルが増加するマップを生成する。そして、出発位置から低いポテンシャルを有する方向に軌道を探索して、ポンシャルが最も低い目標位置に到達する軌道を生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００３−２８０７１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、特許文献１に記載の技術によると、低いポテンシャルを有する方向を探索して移動体が凹状の障害物の中に進入すると、現在の位置よりもポテンシャルの低い移動方向が存在しない状態になることがある。特許文献１に記載の技術のように、単に低いポテンシャルを有する方向に軌道を探索する方針では、この状態を回避できないので、目標位置に移動する移動体の軌道を生成できなくなるという課題がある。
【０００５】
本開示は、目標位置に移動する移動体の軌道を生成できない状態になっても、その状態を回避し、目標位置に移動する移動体の軌道を生成する技術を提供する。
【課題を解決するための手段】
【０００６】
本開示の軌道生成装置（１０）は、目標位置（１２０）に移動する移動体（１００）の軌道（２１０、２３０）を生成する軌道生成装置であって、軌道生成部（１２、Ｓ４０２、Ｓ４１４）と、判定部（１６、Ｓ４０８）と、方針変更部（１８、Ｓ４１０）とを備えている。
【０００７】
軌道生成部は、所定のアルゴリズムで軌道を探索して生成する。判定部は、軌道生成部が軌道を生成できるか否かを判定する。方針変更部は、軌道生成部が軌道を生成できないと判定部が判定すると、軌道生成部が軌道を探索するアルゴリズムの探索方針を変更する。
【０００８】
このような構成によれば、目標位置に移動する移動体の軌道を生成できない状態になると、軌道を探索するアルゴリズムの探索方針を変更するので、目標位置に移動する移動体の軌道を生成できない状態を回避し、目標位置に移動する移動体の軌道を生成できる。
【０００９】
なお、この欄及び特許請求の範囲に記載した括弧内の符号は、一つの態様として後述する実施形態に記載の具体的手段との対応関係を示すものであって、本開示の技術的範囲を限定するものではない。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の軌道生成装置を示すブロック図。
【図２】軌道生成処理を示すフローチャート。
【図３】軌道の生成過程を示す模式図。
【図４】軌道の他の生成過程を示す模式図。
【発明を実施するための形態】
【００１１】
以下、図を参照しながら本開示の実施形態を説明する。
［１．構成］
図１に示す軌道生成装置１０は、目標位置に移動する移動体の軌道を生成する。軌道生成装置１０は、ＣＰＵと、ＲＡＭ、ＲＯＭ、フラッシュメモリ等の半導体メモリと、を有する周知のマイクロコンピュータを中心に構成される。
【００１２】
軌道生成装置１０の各種機能は、ＣＰＵが非遷移的実体的記録媒体に格納されたプログラムを実行することにより実現される。この例では、半導体メモリが、プログラムを格納した非遷移的実体的記録媒体に該当する。また、このプログラムが実行されることで、プログラムに対応する方法が実行される。なお、軌道生成装置１０は１つのマイクロコンピュータで構成されてもよいし、複数のマイクロコンピュータで構成されてもよい。
【００１３】
軌道生成装置１０は、ＣＰＵがプログラムを実行することで実現される機能の構成として、軌道生成部１２と移動制御部１４と判定部１６方針変更部１８とを備えている。
軌道生成装置１０を構成するこれらの要素を実現する手法はソフトウェアに限るものではなく、その１部または全部の要素について、１つあるいは複数のハードウェアを用いて実現してもよい。例えば、上記機能がハードウェアである電子回路によって実現される場合、その電子回路は多数の論理回路を含むデジタル回路、またはアナログ回路、あるいはこれらの組合せによって実現してもよい。
【００１４】
軌道生成部１２は、例えば、図２および図３に示すように、移動体１００が目標位置１２０に移動する軌道２１０、回転方向２３０を探索して生成する。移動体１００は、例えば、ロボットアームまたは工場等で資材を搬送する搬送用ロボットである。
【００１５】
移動制御部１４は、軌道生成部１２が探索する軌道に沿って移動体１００を移動させる。
判定部１６は、軌道生成部１２が探索する軌道に沿って移動制御部１４が移動体１００を移動させ、移動体１００が目標位置１２０に到達する軌道を軌道生成部１２が生成できるか否かを判定する。
【００１６】
方針変更部１８は、目標位置１２０に移動する移動体１００の軌道を軌道生成部１２が生成できないと判定部１６が判定すると、軌道生成部１２が軌道を生成するアルゴリズムの探索方針を変更する。軌道生成部１２は、軌道を生成するアルゴリズムの探索方針が方針変更部１８により変更されると、変更された探索方針に基づいて、目標位置１２０に移動する移動体１００の軌道を探索する。
【００１７】
［２．処理］
次に、軌道生成装置１０が実行する軌道生成処理について、図４のフローチャートを用いて説明する。
【００１８】
Ｓ４００において軌道生成部１２は、移動体１００の軌道を生成するための設定を初期化する。例えば、軌道生成部１２は、移動体１００の初期位置に基づいて、移動速度および加速度、あるいは回転角速度および初期位置から回転できる動作限度角度を設定する。さらに、移動体１００の軌道を特定する軌道の座標およびその座標における移動体１００の移動方向、あるいは移動体１００の回転角度位置および回転方向等の移動体１００の移動に関する状態パラメータを初期化する。
【００１９】
Ｓ４０２において軌道生成部１２は、予め設定された軌道探索の制約と条件とに基づいて、移動体１００が目標位置に移動するように最適な軌道を探索する。軌道探索の制約と条件とは、例えば、予め設定された移動体１００が移動可能な範囲、ならびに、最適な軌道として移動体１００が目標位置１２０に移動するために要するコストを最小にする方向に移動することなどである。
【００２０】
移動体１００が目標位置１２０に移動するために要するコストとは、例えば、移動体１００が目標位置１２０に移動するための距離、エネルギー、時間等である。コストは、例えば、コスト関数に基づいて算出される。
【００２１】
Ｓ４０４において移動制御部１４は、軌道生成部１２が探索した軌道に基づいて移動体１００を移動させてみる。なお、移動制御部１４は、軌道生成部１２が探索した軌道に基づいて移動体１００を実際に移動させてもよいし、軌道生成部１２が探索した軌道に基づいてシミュレーションにより移動体１００を仮想的に移動させてもよい。
【００２２】
Ｓ４０６において判定部１６は、移動体１００が目標位置１２０に到達したか否かを判定する。判定部１６は、移動体１００と目標位置１２０との距離の差が所定距離以下であれば、移動体１００が目標位置１２０に到達したと判定する。Ｓ４０６の判定がＹｅｓである、つまり移動体１００が目標位置１２０に到達した場合、処理はＳ４１２に移行する。
【００２３】
Ｓ４０６の判定がＮｏである、つまり移動体１００が目標位置１２０に到達していない場合、Ｓ４０８において判定部１６は、移動体１００が同じ位置に所定時間停止している状態が所定回数繰り返されているか否かを判定する。例えば、判定部１６は、移動体１００の位置の変化量が所定量以下であるか、あるいはコスト関数が算出するコストの変化量が所定量以下の場合、移動体１００が同じ位置に停止していると判定する。
【００２４】
例えば、図２において、移動体１００が目標位置１２０に移動するために、最も早くコストが低下する矢印２００が示す勾配ベクトル方向に移動して凹状の障害物１１０の凹部１１２に進入すると、点線の矢印２０２が示すいずれの方向でも、コストが同じか高くなる。その結果、コストが低下して勾配が低くなる移動方向を探索できなくなることがある。この場合、移動体１００が移動できない移動不可位置にいるために、位置の変化量またはコストの変化量が所定量以下になり、同じ位置に停止している状態になる。
【００２５】
また、図３に示すように、移動体１００が目標位置１２０に移動するために、最も早くコストが低下する反時計回りの回転方向２２０に軸１０２を中心として回転し、動作限度角度１３０と移動体１００の回転角度との差が所定角度以下になり動作限度角度１３０まで回転すると、移動体１００は、動作限度角度１３０を超えて回転方向２２０に回転することはできない。
【００２６】
この場合、移動体１００が動作限度角度１３０を超えて回転方向２２０に回転することができない移動不可位置にいるために、位置の変化量として回転角度の変化量またはコストの変化量が所定量以下になり、同じ位置に停止している状態になる。
【００２７】
Ｓ４０８の判定がＮｏである、つまり移動体１００が同じ位置に所定時間停止している状態が所定回数繰り返されていない場合、処理はＳ４０２に移行する。この場合、軌道生成部１２は、現在のアルゴリズムの探索方針により軌道の探索を継続する。
【００２８】
Ｓ４０８の判定がＹｅｓである、つまり移動体１００が同じ位置に所定時間停止している状態が所定回数繰り返されている場合、方針変更部１８は、軌道生成部１２が軌道を探索するアルゴリズムの探索方針を変更する必要があると判断する。
【００２９】
この場合、Ｓ４１０において方針変更部１８は、軌道を探索するアルゴリズムの探索方針を変更し、処理をＳ４０２に移行する。これにより、軌道生成部１２は、探索方針を変更されたアルゴリズムで軌道の探索を継続する。
【００３０】
例えば、図２において方針変更部１８は、障害物１１０の凹部１１２の入口に周囲よりも大きなコスト１１４を設定してアルゴリズムの探索方針を変更する。すると、軌道生成部１２は、障害物１１０の入口を避けて軌道２１０を探索する。
【００３１】
また、図３であれば、方針変更部１８は、動作限度角度１３０に向かう反時計回りの回転方向２２０を時計回りの回転方向２３０に反転してアルゴリズムの探索方針を変更する。すると、軌道生成部１２は、時計回りに変更された回転方向２３０を軌道として移動体１００の軌道を探索する。
【００３２】
Ｓ４１２において軌道生成部１２は、移動体１００が目標位置に到達した軌道を最適軌道とし、最適軌道の時系列上の各タイムステップ、つまりＳ４０２〜Ｓ４０６の間の処理の時間間隔において、移動体１００の位置、移動速度、障害物に移動を遮られたか否か等の移動体１００の移動状態を入力とし、その状態から移動体１００が移動する移動方向、移動速度等を出力として、ニューラルネットワークの学習データを作成する。
【００３３】
Ｓ４１４において軌道生成部１２は、Ｓ４１２で複数回生成した最適軌道の学習データに基づいたニューラルネットワークの教師あり機械学習により、以後、移動体１００が目標位置に移動する軌道をリアルタイムに生成する。
【００３４】
［３．効果］
以上説明した上記実施形態によれば、以下の効果を得ることができる。
（１）目標位置１２０に移動する移動体１００の軌道を生成できない場合、軌道生成装置１０は、軌道を探索するアルゴリズムにおいて探索方針を変更する。
【００３５】
これにより、目標位置１２０に移動する移動体１００の軌道を生成できない状態になっても、その状態を回避し、目標位置１２０に移動する移動体１００の軌道を生成できる。
（２）移動体１００の周囲の広範囲の位置のコストを記憶しておけば、移動体１００が目標位置１２０に到達する前に位置の変化量またはコストの変化量が所定量以下になる軌道を避けて、目標位置１２０に移動する移動体１００の軌道を生成できる。しかし、移動体１００の周囲の広範囲の位置のコストを記憶するために、多くの記憶容量が必要になる。
【００３６】
これに対し、本実施形態では、目標位置１２０に移動する移動体１００の軌道を生成できない場合、軌道生成装置１０は、軌道を探索するアルゴリズムにおいて探索方針を変更するので、移動体１００の周囲の極力狭い範囲の位置のコストを記憶して、目標位置１２０に移動する移動体１００の軌道を生成できる。したがって、コストを記憶する記憶容量を低減できる。
【００３７】
（３）複数の最適軌道のデータをニューラルネットワークで学習することにより、障害物の位置、大きさ等が変化することにより移動体１００の移動環境が変化しても、軌道生成装置１０は、リアルタイムに移動体１００の移動環境の変化に対応し、目標位置１２０に移動する移動体１００の軌道を生成できる。
【００３８】
上記実施形態において、Ｓ４０２、Ｓ４１４が軌道生成部の処理に対応し、Ｓ４０８が判定部の処理に対応し、Ｓ４１０が方針変更部１８の処理に対応する。
［４．他の実施形態］
以上、本開示の実施形態について説明したが、本開示は上述の実施形態に限定されることなく、種々変形して実施することができる。
【００３９】
（１）上記実施形態では、図３において、移動体１００が反時計回りの回転方向２２０に回転し動作限度角度１３０で停止すると、反時計回りとは逆方向の時計回りの回転方向２３０に回転方向を変更することにより軌道の探索方針を変更した。
【００４０】
これに対し、図３において、移動体１００が反時計回りの回転方向２２０に回転し動作限度角度１３０で停止すると、動作限度角度１３０のコストを周囲のコストよりも大きくすることにより軌道の探索方針を変更し、移動体１００の回転方向を時計回りの回転方向２３０に変更してもよい。
【００４１】
（２）上記実施形態では、移動体１００としてロボットアームまたは資材を搬送する搬送用ロボットを例示した。これ以外にも、目標位置に移動する軌道を生成する対象は、どのような移動体であってもよい。
【００４２】
（３）上記実施形態における１つの構成要素が有する複数の機能を、複数の構成要素によって実現したり、１つの構成要素が有する１つの機能を、複数の構成要素によって実現したりしてもよい。また、複数の構成要素が有する複数の機能を、１つの構成要素によって実現したり、複数の構成要素によって実現される１つの機能を、１つの構成要素によって実現したりしてもよい。また、上記実施形態の構成の一部を省略してもよい。また、上記実施形態の構成の少なくとも一部を、他の上記実施形態の構成に対して付加又は置換してもよい。なお、特許請求の範囲に記載した文言から特定される技術思想に含まれるあらゆる態様が本開示の実施形態である。
【００４３】
（４）上述した軌道生成装置１０の他、当該軌道生成装置１０を構成要素とするシステム、当該軌道生成装置としてコンピュータを機能させるためのプログラム、このプログラムを記録した半導体メモリ等の非遷移的実態的記録媒体、軌道生成方法など、種々の形態で本開示を実現することもできる。
【符号の説明】
【００４４】
１０：軌道生成装置、１２：軌道生成部、１６：判定部、１８：方針変更部、１００：移動体、１０２：軸、１２０：目標位置、２１０：軌道、２３０：回転方向（軌道）
【図１】
2020006489.tif 000003
【図２】
2020006489.tif 000004
【図３】
2020006489.tif 000005
【図４】
2020006489.tif 000006