(57)【要約】【課題】精度低下を抑制しつつ、演算時間を短くすることができる軌道生成装置を提供する。【解決手段】実施形態に係る軌道生成装置６０は、移動体１または把持部２０を、開始位置Ｓから目標位置Ｇまで移動させる軌道７０を生成する演算部６１と、軌道７０の評価を行う評価部６２と、を備え、演算部６１は、目標位置Ｇ及び目標位置Ｇの近傍を含む目標領域ＧＡまでの複数の軌道候補７１ａ〜７１ｅを、所定の把持条件に対応付けた複数の自由度で、所定期間ＴＳ内に演算できる範囲、所定演算処理量で演算できる範囲、及び、所定数の前記軌道候補を演算できる範囲のうちのいずれかの範囲で生成し、評価部６２は、生成された複数の軌道候補７１ａ〜７１ｅを評価項目に基づいて評価を行い、演算部は、評価が高い軌道候補７１ｂを用いて軌道７０を生成する。【選択図】図２
2020093364.tif 000002
【特許請求の範囲】
【請求項１】
移動体または前記移動体の把持部を、開始位置から目標位置まで移動させる軌道を生成する演算を行う演算部と、前記軌道の評価を行う評価部と、を備える軌道生成装置であって、
前記演算部は、
前記目標位置及び前記目標位置の近傍を含む目標領域までの複数の軌道候補を、所定の把持条件に対応付けた複数の自由度で、所定期間内に演算できる範囲、所定演算処理量で演算できる範囲、及び、所定数の前記軌道候補を演算できる範囲のうちのいずれかの範囲で生成し、
前記評価部は、
生成された前記複数の軌道候補を評価項目に基づいて評価を行い、
前記演算部は、
前記評価が高い前記軌道候補を用いて前記軌道を生成する、
軌道生成装置。
【請求項２】
前記演算部は、
前記評価が高い前記軌道候補の前記開始位置側の一部であって、前記所定期間に前記移動体または前記把持部が移動する部分を、微小軌道として、前記開始位置または直前の前記微小軌道に前記所定期間毎に周期的に繋げ、これにより、前記開始位置から順に複数の前記微小軌道を繋げることにより前記軌道を生成する、
請求項１に記載の軌道生成装置。
【請求項３】
前記演算部は、
前記開始位置または直前の前記微小軌道の前記目標位置側から、前記目標領域までの前記複数の軌道候補を生成する、
請求項２に記載の軌道生成装置。
【請求項４】
前記移動体は、
本体部と、前記本体部に前記把持部を取付けるリンク及び関節と、画角が可変なカメラとを有し、
前記演算部は、
前記移動体の位置、前記リンクの位置、前記関節の回転角及び前記画角のうちの少なくともいずれかを、所定の範囲内に収めるハード拘束条件を、前記所定の把持条件として、前記軌道候補を生成する、
請求項１〜３のいずれか１項に記載の軌道生成装置。
【請求項５】
前記評価部は、
前記軌道候補に沿った長さが小さい方の前記評価を高くする軌道長の条件、または、できるだけ満たされることが好ましいソフト拘束条件を前記評価項目に含む、
請求項１〜４のいずれか１項に記載の軌道生成装置。
【請求項６】
干渉物の回避の成立性をチェックするチェック部をさらに含み、
前記チェック部は、
前記評価が高い前記軌道候補から順に前記成立性をチェックし、前記成立性を満たす軌道候補を選択し、
前記演算部は、
前記チェック部が選択した前記軌道候補を用いて前記軌道を生成する、
請求項１〜５のいずれか１項に記載の軌道生成装置。
【請求項７】
生成された前記軌道を前記移動体または前記把持部が移動可能となるように、前記移動体または前記把持部の駆動を最適化する最適化部をさらに含む、
請求項１〜６のいずれか１項に記載の軌道生成装置。
【請求項８】
前記演算部は、解析解を用いて前記軌道候補を生成する、
請求項１〜７のいずれか１項に記載の軌道生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、軌道生成装置に関するものであり、例えば、ロボット等の移動体を目標位置まで移動させる軌道を生成する軌道生成装置に関する。
【背景技術】
【０００２】
特許文献１には、ロボット等の移動体が障害物と干渉しない軌道を生成する演算部と、軌道を記憶する記憶手段と、を備えた軌道生成装置が開示されている。特許文献１の軌道生成装置は、記憶手段に記憶された複数の軌道の中から、現在の環境に適した軌道を選択する。そして、選択された軌道のうち、障害物と干渉しない軌道部分を抽出し、その両端を、移動体の軌道のスタート位置及びゴール位置のそれぞれに、枝を伸ばすように結ぶことによって、最終的な１つの軌道を生成する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５７２４９１９号公報
【特許文献２】特開２０１７−４２８６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の軌道生成装置は、軌道の演算に非常に時間がかかる場合がある。把持部を有する移動体の軌道生成に適用した場合に、“把持に適した”ゴール位置までの移動体またはその把持部の軌道生成を、精度低下を抑制しつつ演算時間を短くできる軌道生成装置を実現したいという課題がある。
【０００５】
本発明は、このような問題を解決するためになされたものであり、精度低下を抑制しつつ演算時間を短くすることができる軌道生成装置を提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る軌道生成装置は、移動体または前記移動体の把持部を、開始位置から目標位置まで移動させる軌道を生成する演算を行う演算部と、前記軌道の評価を行う評価部と、を備える軌道生成装置であって、前記演算部は、前記目標位置及び前記目標位置の近傍を含む目標領域までの複数の軌道候補を、所定の把持条件に対応付けた複数の自由度で、所定期間内に演算できる範囲、所定演算処理量で演算できる範囲、及び、所定数の前記軌道候補を演算できる範囲のうちのいずれかの範囲で生成し、前記評価部は、生成された前記複数の軌道候補を評価項目に基づいて評価を行い、前記演算部は、前記評価が高い前記軌道候補を用いて前記軌道を生成する。このような構成とすることにより、演算の精度低下を抑制しつつ、多くの軌道候補を生成することができる。
【０００７】
また、前記演算部は、前記評価が高い前記軌道候補の前記開始位置側の一部であって、前記所定期間に前記移動体または前記把持部が移動する部分を、微小軌道として、前記開始位置または直前の前記微小軌道に前記所定期間毎に周期的に繋げ、これにより、前記開始位置から順に複数の前記微小軌道を繋げることにより前記軌道を生成する。このような構成により、軌道生成とリアルタイムに移動体を移動させ、移動体の動きをスムーズにすることができる。
【０００８】
さらに、前記演算部は、前記開始位置または直前の前記微小軌道の前記目標位置側から、前記目標領域までの前記複数の軌道候補を生成する。このような構成とすることにより、所定期間内に演算できる範囲に、できるだけ多くの軌道候補を生成することができる。
【０００９】
前記移動体は、本体部と、前記本体部に前記把持部を取付けるリンク及び関節と、画角が可変なカメラとを有し、前記演算部は、前記移動体の位置、前記リンクの位置、前記関節の回転角及び前記画角のうちの少なくともいずれかを、所定の範囲内に収めるハード拘束条件を、前記所定の把持条件として、前記軌道候補を生成する。このような構成により、ハード拘束条件に基づいて軌道候補を生成するので、関節等の動きを制限でき、生成時間を低減することができる。
【００１０】
また、前記評価部は、前記軌道候補に沿った長さが小さい方の前記評価を高くする軌道長の条件、または、できるだけ満たされることが好ましいソフト拘束条件を前記評価項目に含む。このような構成により、移動体の位置及び姿勢等を好ましいものにすることができる。
【００１１】
さらに、干渉物の回避の成立性をチェックするチェック部をさらに含み、前記チェック部は、前記評価が高い前記軌道候補から順に前記成立性をチェックし、前記成立性を満たす軌道候補を選択し、前記演算部は、前記チェック部が選択した前記軌道候補を用いて前記軌道を生成する。このような構成により、軌道候補の評価及びチェックで成立性を担保することができる。
【００１２】
生成された前記軌道を前記移動体または前記把持部が移動可能となるように、前記移動体または前記把持部の駆動を最適化する最適化部をさらに含む。このような構成により、移動体及び把持部の移動をスムーズにすることができる。
【００１３】
また、前記演算部は、解析解を用いて前記軌道候補を生成する。このような構成により、高速に演算することができるので、移動体及び把持部の移動とリアルタイムで軌道を生成することができる。
【発明の効果】
【００１４】
本発明により、精度低下を抑制しつつ演算時間を短くすることができる軌道生成装置を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係る移動体の構成を例示した図である。
【図２】実施形態に係る移動体の構成を例示したブロック図である。
【図３】実施形態に係る軌道生成装置の演算部が生成した軌道候補を例示した図である。
【図４】実施形態に係る軌道生成装置が用いる把持条件を例示した図である。
【図５】実施形態に係る軌道生成装置が用いる拘束条件の種類を例示した図である。
【図６】実施形態に係る軌道生成装置において、演算部が生成した軌道候補を評価部が評価した結果を例示した図である。
【図７】実施形態に係る軌道生成装置の演算部が生成した軌道候補を例示した図である。
【図８】実施形態に係る軌道生成装置の演算部が生成した軌道候補を例示した図である。
【図９】実施形態に係る軌道生成方法を例示したフローチャート図である。
【発明を実施するための形態】
【００１６】
以下、本発明を実施するための最良の形態について、添付図面を参照しながら説明する。但し、本発明が以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
【００１７】
（実施形態）
実施形態に係る軌道生成装置を説明する。本実施形態の軌道生成装置は、例えば、ロボット等の移動体において、ハンド等の把持部を移動させる軌道を生成する。まず、軌道生成装置を含む移動体の構成を説明する。その後、軌道生成装置による移動体及び把持部の軌道生成方法を説明する。
【００１８】
（移動体の構成）
図１は、実施形態に係る移動体１の構成を例示した図である。図２は、実施形態に係る移動体１の構成を例示したブロック図である。図１及び図２に示すように、移動体１は、本体部１０、リンク１１、関節１２、把持部２０、駆動部３０、センサ４０、制御部５０、軌道生成装置６０を備えている。移動体１は、例えば、ロボットである。
【００１９】
本体部１０は、移動体１の胴体を構成する。本体部１０には、移動体１の把持部２０が取り付けられている。また、本体部１０の下方には、本体部１０を移動させる駆動部３０として、例えば、車輪及び車輪を回転させるモータが取り付けられている。例えば、本体部１０は、車輪の回転により移動する。なお、本体部１０を移動させる駆動部３０は、車輪及び車輪を回転させるモータに限らず、２足歩行する脚部等でもよい。
【００２０】
リンク１１及び関節１２は、本体部１０と把持部２０との間に設けられている。リンク１１及び関節１２は、本体部１０に把持部２０を取り付けている。リンク１１は、例えば、棒状の部材であり、いわゆる骨の役割をする。関節１２は、本体部１０とリンク１１との間、リンク１１とリンク１１との間、リンク１１と把持部２０との間等の部材同士を回転可能に連結する。関節１２には、駆動部３０が設けられている。関節１２の駆動部３０は、例えば、アクチュエータである。関節１２は、駆動部３０の駆動により回転する。
【００２１】
把持部２０は、例えば、ロボットのハンドである。把持部２０は、リンク１１及び関節１２を介して、本体部１０に取り付けられている。よって、把持部２０は、関節１２の回転により移動する。
【００２２】
駆動部３０は、本体部１０の下方に取り付けられた車輪及び車輪を回転させるモータ、並びに、関節１２を回転させるアクチュエータである。本体部１０の移動により、把持部２０も移動する。
【００２３】
センサ４０は、移動体１の位置を検出する。具体的には、センサ４０は、本体部１０及び把持部２０の位置を検出する。例えば、センサ４０は、本体部１０の上方に取り付けられ、本体部１０、把持部２０及びそれらの周囲を撮像するカメラ１３である。カメラ１３は、関節１２を介して本体部１０に取り付けられている。カメラ１３は、関節１２の駆動部３０により撮像方向を変えることができる。また、センサ４０は、把持部２０に取り付けられたカメラ１３でもよい。把持部２０のカメラ１３は、把持対象物を撮像する。把持部２０のカメラ１３は、把持部２０の移動により撮像方向を変えることができる。カメラ１３は、画角が可変であり、近くのものを撮像することもできるし、遠くのものを撮像することもできる。センサ４０は、撮像した画像により、本体部１０及び把持部２０の位置を検出する。
【００２４】
センサ４０は、駆動部３０におけるモータ及びアクチュエータに設けられたエンコーダでもよい。センサ４０は、測定した回転信号により、本体部１０及び把持部２０の位置を検出してもよい。さらに、センサ４０は、関節１２の回転角を取得する。センサ４０は、検出した位置情報及び回転角情報を制御部５０に出力する。
【００２５】
センサ４０は、移動体１の速度（速さ及び方向）及び角速度（速さ及び方向）も検出する。具体的には、センサ４０は、本体部１０及び把持部２０の速度及び角速度を検出する。センサ４０は、カメラ１３により、所定の間隔で撮像された複数の画像から本体部１０及び把持部２０の速度及び角速度を検出してもよいし、モータ及びアクチュエータに設けられたエンコーダにより、本体部１０及び把持部２０の速度及び角速度を検出してもよい。センサ４０は、検出した速度情報及び角速度情報を制御部５０に出力する。
【００２６】
制御部５０は、移動体１の動作を制御する。制御部５０は、センサ４０が検出した本体部１０及び把持部２０の位置、回転角、速度（速さ及び方向）及び角速度（速さ及び方向）に基づいて、本体部１０及び把持部２０の移動を制御する。具体的には、制御部５０は、モータ及び関節１２の回転の角速度を制御することにより、本体部１０及び把持部２０の移動を制御する。制御部５０は、例えば、汎用的なコンピュータである。
【００２７】
軌道生成装置６０は、演算部６１、評価部６２、チェック部６３、最適化部６４を備えている。
【００２８】
演算部６１は、移動体１または移動体１の把持部２０を、開始位置Ｓから目標位置Ｇまで移動させる軌道７０を生成する演算を行う。具体的には、演算部６１は、複数の軌道候補を生成し、生成した軌道候補から軌道７０を生成する。
【００２９】
図３は、実施形態に係る軌道生成装置６０の演算部６１が生成した軌道候補を例示した図である。図３に示すように、演算部６１は、目標位置Ｇ及び目標位置Ｇの近傍を含む目標領域ＧＡまでの複数の軌道候補７１ａ〜７１ｅを生成する演算を行う。複数の軌道候補７１ａ〜７１ｅは、目標位置Ｇまでの軌道７０となりうるものである。軌道候補７１ａ〜７１ｅは、移動体１または把持部２０がリアルタイムで移動する軌道７０に接続可能なものである。複数の軌道候補７１ａ〜７１ｅは、例えば、数百本であり、図には、数例を示している。
【００３０】
演算部６１は、複数の軌道候補７１ａ〜７１ｅを生成する際には、目標位置Ｇという一点に向かう軌道７０ではなく、目標位置Ｇ及びその近傍を含むある程度の範囲を持った目標領域ＧＡに向かう複数の軌道候補７１ａ〜７１ｅを生成する。近傍の範囲は、演算毎に変化してもよい。例えば、目標位置Ｇから遠い場合には、近傍の範囲は広くてもよいし、目標位置Ｇに近い場合には、近傍の範囲は狭くてもよい。近傍の範囲は、所定の把持条件に対応付けて決定されてもよい。目標領域ＧＡに向かう複数の軌道候補７１ａ〜７１ｅを生成することにより、軌道７０となりうるものとしてのある程度の精度を保ちつつ、リアルタイムに移動体１及び把持部２０を移動させる軌道７０を生成することができる。
【００３１】
演算部６１は、複数の軌道候補７１ａ〜７１ｅを、所定の把持条件に対応付けた複数の自由度で生成する。所定の把持条件は、例えば、移動体１の位置及び姿勢、リンク１１の位置、関節１２の回転角及びカメラ１３の画角等を、所定の範囲内に収める条件をいう。所定の把持条件には、複数の自由度が対応付けられる。例えば、移動体１の位置を所定の範囲内に収める条件には、所定の範囲内の複数の位置に対応付けられた複数の自由度を設定することができる。例えば、関節１２の回転角を所定の範囲内に収める条件には、所定の範囲内の複数の角度に対応付けられた複数の自由度を設定することができる。
【００３２】
図４は、実施形態に係る軌道生成装置６０が用いる把持条件を例示した図である。図４に示すように、把持条件は、例えば、４つの拘束条件、すなわち、ゴールのハード拘束条件、ゴールのソフト拘束条件、パスのハード拘束条件及びパスのソフト拘束条件に区分することができる。ゴールのハード拘束条件及びゴールのソフト拘束条件は、把持部２０が把持対象物を把持するときの拘束条件をいう。パスのハード拘束条件及びパスのソフト拘束条件は、把持部２０が把持するまでの軌道７０の拘束条件をいう。
【００３３】
ゴールのハード拘束条件は、例えば、軌道７０の目標位置Ｇで移動体１及び把持部２０が必ず取っているべき状態をいう。具体的には、把持部２０は把持対象物を把持できる位置に位置していることである。ゴールのソフト拘束条件は、例えば、軌道７０の目標位置Ｇで移動体１及び把持部２０がなるべく満たしたい状態をいう。具体的には、移動体１は姿勢を伸ばしすぎないようにすることである。
【００３４】
パスのハード拘束条件は、例えば、軌道７０の全体で移動体１及び把持部２０が必ず取っているべき状態をいう。具体的には、机等の引き出しを引く場合には、把持部２０は直線軌道をとることである。パスのソフト拘束条件は、例えば、軌道７０の全体で移動体１及び把持部２０がなるべく満たしたい状態をいう。具体的には、移動中、移動体１はなるべく手を動かさないなどである。
【００３５】
図５は、実施形態に係る軌道生成装置６０が用いる拘束条件の種類を例示した図である。図５に示すように、拘束条件の種類は、例えば、ＴＳＲ拘束条件、ＲａｎｇｅＪｏｉｎｔ拘束条件及びＶｉｓｉｂｉｌｉｔｙ拘束条件を含んでいる。
【００３６】
ＴＳＲ拘束条件は、リンク１１に関する拘束条件であり、リンク１１の位置及び姿勢、把持部２０の位置及び姿勢をある範囲内に収める条件をいう。例えば、ＴＳＲ拘束条件を６次元（Ｘ軸方向の位置、Ｙ軸方向の位置、Ｚ軸方向の位置、ψ軸回りの回転、θ軸回りの回転、φ軸回りの回転）の超立方体で表現してもよい。これにより、ドア開け等の軌道を一軌道で表現することができる。ＴＳＲ拘束条件は、前述のゴールのハード拘束条件〜パスのソフト条件の４つの拘束条件のいずれに用いてもよい。
【００３７】
ＲａｎｇｅＪｏｉｎｔ拘束条件は、関節１２に関する拘束条件であり、関節１２をある範囲内に収める条件をいう。これにより、移動体１、リンク１１、カメラ１３の位置及び向きを表現することができる。ＲａｎｇｅＪｏｉｎｔ拘束条件も、ゴールのハード拘束条件〜パスのソフト条件の４つの拘束条件のいずれに用いてもよい。
【００３８】
Ｖｉｓｉｂｉｌｉｔｙ拘束条件は、カメラ１３の画角等に関する拘束条件であり、指定したカメラ１３の視野に、指定した座標を収める条件をいう。Ｖｉｓｉｂｉｌｉｔｙ拘束条件は、ゴールのハード拘束条件〜パスのソフト条件の４つの拘束条件のいずれに用いてもよい。
【００３９】
演算部６１は、複数の軌道候補７１ａ〜７１ｅを生成する際には、所定のゴールのハード拘束条件及びパスのハード拘束条件に対応付けた複数の自由度で生成する。演算部６１は、移動体１の位置、リンク１１の位置、関節１２の回転角及びカメラの画角のうちの少なくともいずれかを、所定の範囲内に収めるハード拘束条件を、所定の把持条件として、複数の軌道候補７１ａ〜７１ｅを生成する。
【００４０】
演算部６１が軌道候補７１ａ〜７１ｅを生成する方法は特にこだわらない。例えば、リンク１１及び関節１２で構成されたマニピュレータにおいて、直交する３軸回りの回転移動の解析解を用いて軌道候補７１ａ〜７１ｅを演算する解析解ベースの軌道生成方法でもよいし、ルックアップテーブル等を用いたメモリベースの軌道生成方法でもよい。演算部６１は、特許文献２に記載された解析解を用いて軌道候補を生成することが望ましい。解析解ベースの軌道生成方法は、高速に演算することができるので、移動体１及び把持部２０の移動とリアルタイムで軌道７０を生成することができる。
【００４１】
演算部６１は、所定期間ＴＳ内に演算できる範囲で複数の軌道候補７１ａ〜７１ｅを生成する。所定期間ＴＳは、例えば、演算部６１が数百本の軌道候補７１ａ〜７１ｅを生成する期間である。所定期間ＴＳは、例えば、２００［ｍｓ］である。演算部６１は、所定期間ＴＳ毎に周期的に、複数の軌道候補７１ａ〜７１ｅを生成する。また、演算部６１は、所定演算処理量で演算できる範囲で複数の軌道候補７１ａ〜７１ｅを生成してもよい。さらに、演算部６１は、所定数の軌道候補を演算できる範囲で複数の軌道候補７１ａ〜７１ｅを生成してもよい。このように、演算部６１は、目標位置Ｇ及び目標位置Ｇの近傍を含む目標領域ＧＡまでの複数の軌道候補を、所定の把持条件に対応付けた複数の自由度で、所定期間内に演算できる範囲、所定演算処理量で演算できる範囲、及び、所定数の軌道候補を演算できる範囲のうちのいずれかの範囲で生成する。なお、所定期間、所定演算処理量、所定数は、複数の軌道候補を生成できることを満たせばよく、設定して決めた設定期間、設定演算処理量、設定数であってもよい。
【００４２】
図３に示すように、例えば、複数の軌道候補７１ａ〜７１ｅは、時間ｔ２〜時間ｔ３の間の所定期間ＴＳ内に生成される。そして、時間ｔ３までの間に、複数の軌道候補７１ａ〜７１ｅから軌道７０となるものが選択される。時間ｔ２〜時間ｔ３の間に、移動体１または把持部２０が移動している軌道７２は、時間ｔ１〜時間ｔ２の間に生成されたものである。このように、演算部６１は、現在（時間ｔ２〜ｔ３）の軌道７０に、次の周期で（時間ｔ３からの）接続可能な軌道候補７１ａ〜７１ｅを周期的に生成する。演算部６１は、所定のハード拘束条件を満たす様々な軌道候補７１ａ〜７１ｅを、１つの所定期間ＴＳが許す限り生成する。
【００４３】
評価部６２は、軌道７０の評価を行う。具体的には、評価部６２は、生成された複数の軌道候補７１ａ〜７１ｅを評価項目に基づいて評価を行う。
【００４４】
図６は、実施形態に係る軌道生成装置６０において、演算部６１が生成した軌道候補７１ａ〜７１ｅを評価部６２が評価した結果を例示した図である。図６に示すように、評価部６２は、評価項目に基づいて、軌道候補７１ｂ、７１ａ、７１ｃ、７１ｄ及び７１ｅを、Ｎｏ．１〜Ｎｏ．５に順位付けする。評価部６２が順位付けに用いる評価項目は、例えば、できるだけ満たされることが好ましいソフト拘束条件を含んでいる。また、評価項目は、軌道長の条件を含んでいる。軌道長の条件は、軌道長が小さい方の軌道候補７１ａ〜７１ｅの評価を高くする条件である。軌道長は、軌道候補７１ａ〜７１ｅに沿った長さである。
【００４５】
チェック部６３は、干渉物の回避の成立性をチェックする。チェック部６３は、評価部６２が評価した軌道候補７１ａ〜７１ｅのうち、評価が高い軌道候補７１ｂから順に成立性をチェックする。成立性は、軌道として成立するかどうかを示すものである。例えば、成立性は、干渉物の回避について成立するかである。すなわち、軌道候補７１ａ〜７１ｅが干渉物を回避している場合には、成立性を満たしている。チェック部６３は、具体的には、３Ｄによる干渉チェックまたはマップを用いた２Ｄ干渉チェックを行う。そして、チェック部６３は、成立性を満たす軌道候補７１ｂを選択する。
【００４６】
図７は、実施形態に係る軌道生成装置６０の演算部６１が生成した軌道候補７１ｂを例示した図である。図７に示すように、演算部６１は、評価が高い軌道候補７１ｂを用いて軌道７０を生成する。または、演算部６１は、チェック部６３が選択した軌道候補７１ｂを用いて軌道を生成する。具体的には、演算部６１は、評価が高い軌道候補７１ｂ、または、チェック部６３が選択した軌道候補７１ｂの開始位置Ｓ側の一部を微小軌道７３として、開始位置Ｓまたは直前の微小軌道７３に所定期間ＴＳ毎に周期的に繋げる。具体的には、演算部６１は、時間ｔ３までに、軌道候補７１ｂの開始位置Ｓ側の一部を、時間ｔ３〜時間ｔ４に移動体１または把持部２０が進む微小軌道７３として、時間ｔ３までに生成された軌道７０に繋げる。
【００４７】
これにより、演算部６１は、開始位置Ｓ側から順に周期的に複数の微小軌道７３を繋げることにより軌道７０を生成する。微小軌道７３は、軌道候補７１ｂのうち、所定期間ＴＳに移動体１または把持部２０が移動する部分である。
【００４８】
図８は、実施形態に係る軌道生成装置６０の演算部６１が生成した軌道候補７１ｆ〜７１ｊを例示した図である。図８に示すように、次の所定期間ＴＳ（時間ｔ３〜ｔ４）内において、演算部６１は、複数の軌道候補７１ｆ〜７１ｊを生成する。その際には、演算部６１は、直前の微小軌道７３の目標位置Ｇ側（時間ｔ４の位置）から、目標領域ＧＡまでの複数の軌道候補７１ｆ〜７１ｊを生成する。演算部６１は、移動体１または把持部２０が目標位置Ｇまで到達するまで軌道候補の生成を繰り返す。
【００４９】
最適化部６４は、生成された軌道を移動体１及び把持部２０が許容される最速の速度で移動可能となるように、移動体１または把持部２０の駆動を最適化する。具体的には、最適化部６４は、駆動部３０を調整して、本体部１０、リンク１１、関節１２及びカメラ１３の駆動を最適化する。最適化部６４は、生成された幾何学的な軌道７０上を、実際に、移動体１及び把持部２０が許容される最速の速度で移動できるように、駆動部３０の駆動を最適化する。
【００５０】
（軌道生成方法）
次に、軌道生成方法を説明する。図９は、実施形態に係る軌道生成方法を例示したフローチャート図である。図９のステップＳ１１に示すように、所定期間ＴＳ内に複数の軌道候補７１ａ〜７１ｅを生成する。具体的には、演算部６１は、目標領域ＧＡまでの複数の軌道候補７１ａ〜７１ｅを所定の把持条件に対応付けた複数の自由度で生成する。演算部６１は、所定期間ＴＳ内に演算できる範囲で、できるだけ多くの軌道候補７１ａ〜７１ｅを生成する。所定期間ＴＳは、例えば、２００［ｍｓ］である。また、演算部６１は、例えば、所定の把持条件として、ハード拘束条件に基づいて、複数の軌道候補７１ａ〜７１ｅを生成する。なお、演算部６１は、所定演算処理量で演算できる範囲で複数の軌道候補７１ａ〜７１ｅを生成してもよいし、所定数の軌道候補を演算できる範囲で複数の軌道候補７１ａ〜７１ｅを生成してもよい。
【００５１】
次に、ステップＳ１２に示すように、生成された複数の軌道候補７１ａ〜７１ｅを評価する。評価部６２は、生成された複数の軌道候補７１ａ〜７１ｅを評価項目に基づいて評価を行う。評価項目は、例えば、軌道長の条件、または、ソフト拘束条件を含んでいる。なお、評価項目は、軌道長の条件及びソフト拘束条件に限らず、他の評価項目を用いてもよい。
【００５２】
次に、ステップＳ１３に示すように、軌道候補７１ａ〜７１ｅの成立性を評価順にチェックする。チェック部６３は、評価部６２が評価した軌道候補７１ａ〜７１ｅを、評価が高い軌道候補７１ａ〜７１ｅから順に成立性をチェックする。チェック部６３は、成立性を満たす軌道候補７１ａ〜７１ｅを選択する。そして、チェック部６３は、選択した軌道候補７１ａ〜７１ｅを出力する。
【００５３】
次に、ステップＳ１４に示すように、直前の軌道７０に軌道候補７１ｂを繋げる。演算部６１は、チェック部６３が選択した軌道候補７１ｂ等を用いて軌道７０を生成する。具体的には、演算部６１は、評価部６２による評価が高く、チェック部６３が選択した軌道候補７１ｂの開始位置Ｓ側の一部を微小軌道７３として、直前の微小軌道７３に繋げる。これにより、開始位置Ｓ側から周期的に順に複数の微小軌道７３を繋げることにより軌道７０を生成する。このように、軌道７０は、複数の微小軌道７３により構成されている。
【００５４】
次に、ステップＳ１５に示すように、軌道７０の最適化を行う。最適化部６４は、生成された軌道７０を移動体１または把持部２０が許容される最速の速度で移動可能となるように、移動体１または把持部２０の駆動を最適化する。
【００５５】
次に、ステップＳ１６に示すように、目標位置Ｇに到達したか判断する。演算部６１は、移動体１または把持部２０の位置と、目標位置Ｇとを比較することにより目標位置Ｇに到達したかを判断する。演算部６１は、移動体１または把持部２０が目標位置Ｇに到達していないと判断した場合には、ステップＳ１１に戻る。そして、処理を繰り返す。すなわち、演算部６１は、微小軌道７３の目標位置Ｇ側から、目標領域ＧＡまでの複数の軌道候補７１ｆ〜７１ｊを生成する。
【００５６】
一方、ステップＳ１６において、演算部６１は、移動体１または把持部２０が目標位置Ｇに到達したと判断したときには、処理を終了する。このようにして、軌道生成装置６０は、軌道７０を生成することができる。
【００５７】
次に、本実施形態の効果を説明する。本実施形態では、演算部６１は、目標位置Ｇ及び目標位置Ｇの近傍を含む目標領域ＧＡまでの複数の軌道候補７１ａ〜７１ｅを生成する。目標位置Ｇを、その近傍を含む目標領域ＧＡまで拡張させているので、演算の精度低下をある程度で抑制しつつ、多くの軌道候補７１ａ〜７１ｅを生成することができる。また、目標位置Ｇを、その近傍を含む目標領域ＧＡまで拡張させているので、１本の軌道候補を生成する演算時間を短くすることができ、所定期間ＴＳ内にできるだけ多くの軌道候補７１ａ〜７１ｅを生成することができる。
【００５８】
また、ハード拘束条件に基づいて軌道候補７１ａ〜７１ｅを生成するので、関節１２等の動きを制限でき、演算時間を低減することができる。よって、許容される所定時間ＴＳ内に複数の軌道候補７１ａ〜７１ｅを生成することができる。精度をとどめた代わりに、軌道候補７１ａ〜７１ｅの評価及びチェックで成立性を担保する。このようにして、軌道７０の生成とリアルタイムにロボット等の移動体１を移動させ、移動体１の動きをスムーズにすることができる。
【００５９】
従来の軌道生成装置は、ＲＲＴ（Ｒａｐｉｄｌｙ  ｅｘｐｌｏｒｉｎｇ  Ｒａｎｄｏｍ
Ｔｒｅｅ）、ＰＲＭ（Ｐｒｏｂａｂｉｌｉｓｔｉｃ  Ｒｏａｄ  Ｍａｐ）等のグローバルな軌道生成装置、及び、Ｊａｃｏｂｉａｎ等を用いた微分運動学系の軌道生成装置の２つに分けられる。グローバルな軌道生成装置は、開始位置Ｓから目標位置Ｇまでの軌道７０の全体を探索するため、軌道７０の生成に長時間を要する。
【００６０】
本実施形態では、目標位置Ｇを、目標位置Ｇの近傍を含む目標領域ＧＡまで拡張させて、可能な限り多くの軌道候補７１ａ〜７１ｅを生成する。よって、軌道７０の生成のための演算を、所定の精度にとどめることができ、演算時間を低減することができる。
【００６１】
評価部６２は、評価項目としてソフト拘束条件を含んでいる。よって、移動体１の位置及び姿勢等を好ましいものにすることができる。
【００６２】
演算部６１は、評価が高い軌道候補７１ｂの開始位置Ｓ側の一部を微小軌道７３として、開始位置Ｓまたは直前の微小軌道７３に繋げ、これにより、開始位置Ｓ側から周期的に順に複数の微小軌道７３を繋げることにより軌道７０を生成する。よって、移動体１及び把持部２０は、滑らかに軌道７０上を移動することができる。
【００６３】
以上、本発明に係る実施の形態を説明したが、上記の構成に限らず、本発明の技術的思想を逸脱しない範囲で、変更することが可能である。例えば、実施形態に係る軌道生成装置を備えたロボット等の移動体１も、本発明の技術的思想に含まれる。
【符号の説明】
【００６４】
１  移動体
１０  本体部
１１  リンク
１２  関節
１３  カメラ
２０  把持部
３０  駆動部
４０  センサ
５０  制御部
６０  軌道生成装置
６１  演算部
６２  評価部
６３  チェック部
６４  最適化部
７０、７２  軌道
７１ａ、７１ｂ、７１ｃ、７１ｄ、７１ｅ  軌道候補
７１ｆ、７１ｇ、７１ｈ、７１ｉ、７１ｊ  軌道候補
７３  微小軌道
Ｇ  目標位置
ＧＡ  目標領域
Ｓ  開始位置
ＴＳ  所定期間
【図１】
2020093364.tif 000003
【図２】
2020093364.tif 000004
【図３】
2020093364.tif 000005
【図４】
2020093364.tif 000006
【図５】
2020093364.tif 000007
【図６】
2020093364.tif 000008
【図７】
2020093364.tif 000009
【図８】
2020093364.tif 000010
【図９】
2020093364.tif 000011