(57)【要約】【課題】ロボットの動作部位を滑らかに移動させる軌道生成装置を提供する。【解決手段】実施形態に係る軌道生成装置６０は、ロボット１の動作部位２０の位置軌道の生成が可能な演算部６５を備えた軌道生成装置６０であって、演算部６５は、更に、動作部位２０の速度軌道の生成が可能であり、且つ、動作部位２０を移動させる軌道を、速度軌道から位置軌道へ切り替える切替時よりも所定時間前に、切替時における動作部位２０の位置を予測し、予測した位置からの位置軌道を生成する。また、演算部６５は、予測位置と、切替時ＴＣに動作部位２０が到達した到達位置との間にズレが生じた場合には、到達位置と、生成した位置軌道における予測位置から所定の距離の接続点との間の軌道を補間する。【選択図】図１
2020082219.tif 000002
【特許請求の範囲】
【請求項１】
ロボットの動作部位の位置軌道の生成が可能な演算部を備えた軌道生成装置であって、
前記演算部は、更に、前記動作部位の速度軌道の生成が可能であり、
且つ、前記動作部位を移動させる軌道を、前記速度軌道から前記位置軌道へ切り替える切替時よりも所定時間前に、前記切替時における前記動作部位の位置を予測し、予測した前記位置からの前記位置軌道を生成する、
軌道生成装置。
【請求項２】
前記演算部は、予測した前記位置である予測位置と、前記切替時に前記動作部位が到達した到達位置との間にズレが生じた場合には、前記到達位置と、生成した前記位置軌道における前記予測位置から所定の距離の接続点との間の軌道を補間する、
請求項１に記載の軌道生成装置。
【請求項３】
前記速度軌道上の前記動作部位の速度に応じて、前記所定時間を変化させる、
請求項１または２に記載の軌道生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、軌道生成装置に関するものであり、例えば、ロボットのハンドが移動する軌道を生成する軌道生成装置に関する。
【背景技術】
【０００２】
特許文献１には、多質点系動力学シミュレーションを用いて、ロボットが障害物を回避するように、ロボットの位置軌道を生成する軌道生成装置が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−２１１５７１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ロボットの軌道を速度軌道から位置軌道に切り替える場合には、位置軌道の初期値である現在位置を認識するために、一度停止する必要がある。よって、滑らかにロボットを移動させることができない。また、仮に、切り替え前に位置軌道を予測して計算したとしても、切り替え時のロボットの位置には、ズレが生じる恐れがあり、位置軌道を精度よく計算することができない。このような問題の発生を抑制した軌道生成装置を実現したいという課題がある。
【０００５】
本発明は、このような問題を解決するためになされたものであり、ロボットの動作部位を滑らかに移動させることができる軌道生成装置を提供する。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る軌道生成装置は、ロボットの動作部位の位置軌道の生成が可能な演算部を備えた軌道生成装置であって、前記演算部は、更に、前記動作部位の速度軌道の生成が可能であり、且つ、前記動作部位を移動させる軌道を、前記速度軌道から前記位置軌道へ切り替える切替時よりも所定時間前に、前記切替時における前記動作部位の位置を予測し、予測した前記位置からの前記位置軌道を生成する。このような構成とすることにより、ロボットの動作部位の軌道を速度軌道から位置軌道に切り替える場合に、ロボットを停止する必要がなく、滑らかに移動させることができる。
【０００７】
また、前記演算部は、予測した前記位置である予測位置と、前記切替時に前記動作部位が到達した到達位置との間にズレが生じた場合には、前記到達位置と、生成した前記位置軌道における前記予測位置から所定の距離の接続点との間の軌道を補間する。このような構成により、予測位置と、到達位置との間にズレが生じた場合にも、ロボットを停止する必要がなく、滑らかに移動させることができる。
【０００８】
さらに、前記速度軌道上の前記動作部位の速度に応じて、前記所定時間を変化させる。このような構成とすることにより、位置軌道を精度良く生成することができる。
【発明の効果】
【０００９】
本発明により、ロボットの動作部位を滑らかに移動させることができる軌道生成装置を提供することができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態１に係るロボットの構成を例示した図である。
【図２】実施形態１に係るロボットの構成を例示したブロック図である。
【図３】実施形態１に係る軌道生成装置の演算部が生成した軌道を例示した図である。
【図４】実施形態２に係る軌道生成装置の演算部が生成した軌道を例示した図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための最良の形態について、添付図面を参照しながら説明する。但し、本発明が以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
【００１２】
（実施形態１）
実施形態１に係る軌道生成装置を説明する。本実施形態の軌道生成装置は、例えば、ロボット等の移動体において、ハンド等の動作部位を移動させる軌道を生成する。まず、軌道生成装置を含む移動体として、ロボットの構成を説明する。その後、軌道生成装置によるロボットの動作部位の軌道生成方法を説明する。
【００１３】
（ロボットの構成）
図１は、実施形態１に係るロボット１の構成を例示した図である。図２は、実施形態１に係るロボット１の構成を例示したブロック図である。図１及び図２に示すように、ロボット１は、本体部１０、動作部位２０、駆動部３０、センサ４０、制御部５０、軌道生成装置６０を備えている。
【００１４】
本体部１０は、ロボット１の胴体を構成する。本体部１０には、ロボット１の動作部位２０が取り付けられている。また、本体部１０の下方には、本体部１０を移動させる駆動部３０として、例えば、車輪及び車輪を回転させるモータが取り付けられている。例えば、本体部１０は、車輪の回転により移動する。なお、本体部１０を移動させる駆動部３０は、車輪及び車輪を回転させるモータに限らず、２足歩行する脚部等でもよい。
【００１５】
動作部位２０は、例えば、ロボット１のハンドである。動作部位２０は、本体部１０に駆動部３０を介して取付けられている。動作部位２０の駆動部３０は、例えば、ジョイント及びアクチュエータである。動作部位２０は、ジョイントの回転により移動する。
【００１６】
駆動部３０は、本体部１０の下方に取り付けられた車輪及び車輪を回転させるモータである。また、駆動部３０は、動作部位２０を移動させるジョイント及びジョイントを回転させるアクチュエータである。本体部１０の移動により、動作部位２０も移動する。
【００１７】
センサ４０は、ロボット１の位置、具体的には、本体部１０及び動作部位２０の位置を検出する。例えば、センサ４０は、本体部１０及び動作部位２０を撮像するカメラである。センサ４０は、撮像した画像により、本体部１０及び動作部位２０の位置を検出する。センサ４０は、駆動部３０のモータ及びアクチュエータに設けられたエンコーダでもよい。センサ４０は、測定した回転信号により、本体部１０及び動作部位２０の位置を検出してもよい。センサ４０は、検出した位置情報を制御部５０に出力する。
【００１８】
センサ４０は、ロボット１の速度（速さ及び方向）及び角速度（速さ及び方向）、具体的には、本体部１０及び動作部位２０の速度及び角速度を検出する。センサ４０は、カメラにより、所定の時間間隔で撮像された複数の画像から本体部１０及び動作部位２０の速度等を検出してもよいし、モータ及びアクチュエータに設けられたエンコーダにより、本体部１０及び動作部位２０の速度等を検出してもよい。センサ４０は、検出した速度等の情報を制御部５０に出力する。
【００１９】
制御部５０は、ロボット１の動作を制御する。制御部５０は、センサ４０が検出した本体部１０及び動作部位２０の位置及び速度（速さ及び方向）等の情報に基づいて、本体部１０及び動作部位２０の移動を制御する。具体的には、例えば、制御部５０は、モータ及びジョイントの回転の角速度を制御することにより、本体部１０及び動作部位２０の移動を制御する。制御部５０は、例えば、汎用的なコンピュータである。
【００２０】
軌道生成装置６０は、演算部６５を備えている。演算部６５は、ロボット１の動作部位２０を移動させる軌道６１を生成する。演算部６５は、動作部位２０を始点Ｓから終点Ｇまで移動させる軌道６１を生成する。演算部６５は、軌道６１として、位置軌道及び速度軌道を生成する。位置軌道は、動作部位２０の位置により制御される軌道をいう。速度軌道は、動作部位２０の速度により制御される軌道をいう。このように、軌道生成装置６０は、ロボット１の動作部位２０の位置軌道及び速度軌道の生成が可能な演算部６５を備えている。
【００２１】
演算部６５は、速度軌道を生成する場合には、例えば、センサ４０から取得した始点Ｓの位置、始点Ｓにおける動作部位２０の速度及び角速度、並びに、終点Ｇの位置、終点Ｇにおける動作部位２０の速度及び角速度等の条件に基づいて、始点Ｓから終点Ｇまでの速度をつなげた速度軌道を生成する。なお、演算部６５は、これらのいくつかの条件を用いずに速度軌道を生成してもよいし、これら以外の条件を用いてもよい。
【００２２】
演算部６５は、位置軌道を生成する場合には、例えば、センサ４０から取得した始点Ｓの位置、始点Ｓにおける動作部位２０の速度及び角速度、並びに、終点Ｇの位置、終点Ｇにおける動作部位２０の速度及び角速度等の条件に基づいて、始点Ｓから終点Ｇまでの位置Ｐをつなげた位置軌道を生成する。なお、演算部６５は、これらのいくつかの条件を用いずに位置軌道を生成してもよいし、これら以外の条件を用いて位置軌道を生成してもよい。
【００２３】
制御部５０は、演算部６５が生成した軌道６１に沿って、ロボット１の動作部位２０が移動するように、本体部１０及び動作部位２０の移動を制御する。例えば、制御部５０は、動作部位２０を速度軌道に沿って移動させるために、センサ４０から取得した動作部位２０の実際の速度が、演算部６５により生成された速度軌道上の動作部位２０の速度に合うように、駆動部３０を制御する。
【００２４】
また、例えば、制御部５０は、動作部位２０を位置軌道に沿って移動させるために、センサ４０から取得した動作部位２０の実際の位置が、演算部６５により生成された位置軌道上における動作部位２０の位置に合うように、駆動部３０を制御する。
【００２５】
速度軌道は、動作部位２０を所定の速度で移動させるような場合に用いられる。例えば、動作部位２０を速やかに終点Ｇの近傍に移動させる場合等に用いられる。一方、位置軌道は、動作部位２０の移動する位置を精度よく制御する場合に用いられる。例えば、動作部位２０を所定の経路で正確に移動させるような場合に用いられる。
【００２６】
例えば、ロボット１が離れた台の上にある物を、動作部位２０でつかむ動作を行う場合には、離れた台の近傍までは、動作部位２０の軌道を速度軌道で制御する。動作部位２０が台の近傍まで到達し、台の上の物をつかむ場合には、動作部位２０の軌道を位置軌道で制御する。これにより、台の近傍までは、動作部位２０の軌道上の位置の精度よりも到達する時間を優先することができる。よって、台の近傍まで到達する時間を短縮することができる。
【００２７】
一方、台の上の物をつかむ場合には、つかみ損なうことを防ぐために、動作部位２０の移動にかかる時間よりも、軌道上の位置の精度を優先することができる。よって、台の上の物を精度よくつかむことができる。
【００２８】
このように、ロボット１の動作部位を移動させる軌道を、速度軌道から位置軌道に切り替えることにより、迅速かつ精度よく動作部位２０を目的地点まで移動させることができる。なお、ロボット１の動作部位２０を、干渉物の近傍で移動させる場合にも、動作部位２０を位置軌道で制御する。これにより、動作部位２０が干渉物と接触することを抑制することができる。
【００２９】
（軌道生成方法）
次に、軌道生成方法を説明する。本実施形態では、軌道生成装置６０の演算部６５は、動作部位２０を移動させる軌道を、速度軌道から位置軌道へ切り替える場合に、切替時よりも所定時間前に、切替時における動作部位２０の位置を予測する。そして、演算部６５は、予測した位置からの位置軌道を生成する。
【００３０】
図３は、実施形態１に係る軌道生成装置６０の演算部６５が生成した軌道６１を例示した図である。演算部６５は、ロボット１の動作部位２０の始点Ｓから終点Ｇまでの軌道を生成する。例えば、演算部６５は、切替時の時間ＴＣまでは、動作部位２０の軌道を速度軌道として生成する。
【００３１】
速度軌道を生成する際には、時間ＴＳの時に、動作部位２０は、始点Ｓの位置ＰＳにおいて、速度ＶＳ及び角速度ＲＳであるとする。そして、演算部６５は、動作部位２０が速度ＶＡ及び角速度ＲＡの少なくともいずれかで移動するような速度軌道を生成する。制御部５０は、動作部位２０を、切替時の時間ＴＣまでは、動作部位２０の速度ＶＡ及び角速度ＲＡの少なくともいずれかで制御する。
【００３２】
切替時の時間ＴＣよりも所定時間前の時間ＴＢになったら、制御部５０は、軌道生成装置６０に対して、切替時の時間ＴＣにおける動作部位２０の位置ＰＣを予測させる。制御部５０は、所定時間として、軌道生成装置６０の演算部６５が位置軌道を生成するのに必要な時間を設定している。例えば、所定時間として、２００［ｍｓｅｃ］が設定されている。演算部６５は、制御部５０の制御により、切替時の時間ＴＣにおける動作部位２０の位置ＰＣを予測する。予測した位置を予測位置ＰＣともいう。演算部６５は、予測位置ＰＣを予測するために、センサ４０が検出した現在位置ＰＢ、現在速度ＶＢ、現在角速度ＲＢを、制御部５０を介して取得する。そして、演算部６５は、取得した現在位置ＰＢに、現在速度ＶＢ、現在角速度ＲＢを積分した値を加えて予測位置ＰＣを算出する。
【００３３】
そして、演算部６５は、予測位置ＰＣからの位置軌道を生成する。制御部５０は、切替時の時間ＴＣまでは、動作部位２０の速度によって、動作部位２０の移動を制御し、切替時の時間ＴＣからは、動作部位２０の位置によって、動作部位２０の移動を制御する。
【００３４】
本実施形態の軌道生成装置６０によれば、演算部６５は、切替時よりも所定時間前において、切替時からの軌道を位置軌道として生成する。よって、ロボット１の軌道を速度軌道から位置軌道に切り替える場合に、位置軌道の初期値である現在位置を認識するために、一度停止する必要がない。これにより、ロボット１の動作部位２０を滑らかに移動させることができる。
【００３５】
切替時における動作部位２０の位置ＰＣの予測を開始する時間ＴＢは、切替時よりも所定時間前である。所定時間は、演算部６５が、位置軌道を生成するのに必要な時間よりも大きくすることが好ましい。制御部５０は、例えば、事前に軌道生成に必要な時間を設定されている。例えば、演算部６５が、位置軌道を生成するのにかかる時間は、２００［ｍｓｅｃ］である。また、所定時間は、速度軌道上の動作部位２０の速度に応じて変化させることが望ましい。例えば、速度軌道上の動作部位２０の速度が大きい場合には、制御部５０が動作部位２０の速度を制御するのに時間がかかるので、所定時間を大きくする。逆に、速度軌道上の動作部位２０の速度が小さい場合には、所定時間を小さくする。これにより、予測位置ＰＣの精度を向上させることができる。
【００３６】
（実施形態２）
次に、実施形態２に係る軌道生成装置６０を説明する。図４は、実施形態２に係る軌道生成装置６０が生成した軌道６２を例示した図である。図４に示すように、本実施形態では、軌道生成装置６０の演算部６５が予測した予測位置ＰＣと、切替時の時間ＴＣ（＝時間ＴＤ）に動作部位２０が実際に到達した到達位置ＰＤとの間にズレが生じている。このような場合には、演算部６５は、到達位置ＰＤと、生成した位置軌道における予測位置ＰＣから所定の距離の接続点Ｅの位置ＰＥとの間の軌道を補間する。
【００３７】
具体的には、制御部５０は、切替時の時間ＴＣにおいて、センサ４０からの位置情報により、動作部位２０が実際に到達した到達位置ＰＤと、予測位置ＰＣとの間にズレが生じたことを認識する。その場合には、制御部５０は、軌道生成装置６０に対して、到達位置ＰＤと、生成した位置軌道における予測位置ＰＣから所定の距離の接続点Ｅの位置ＰＥとの間の軌道を補間させる。接続点Ｅの位置ＰＥは、予測位置ＰＣから所定の距離の位置軌道上における位置である。
【００３８】
所定の距離は、例えば、動作部位２０の切替時の時間ＴＣの速度ＶＣ等により設定される。すなわち、所定の距離は、速度軌道上の動作部位２０の速度に応じて変化させることが望ましい。例えば、速度軌道上の動作部位２０の速度が大きい場合には、制御部５０が動作部位２０の速度を制御するのに時間がかかるので、所定の距離を大きくする。逆に、速度軌道上の動作部位２０の速度が小さい場合には、所定の距離を小さくする。これにより、補間させた軌道と生成させた位置軌道とを滑らかにつなげることができる。
【００３９】
演算部６５は、例えば、到達位置ＰＤと接続点Ｅの位置ＰＥとの間を直線で結んでもよい。これ以外の補間方法を用いてもよい。このようにして、演算部６５は、到達位置ＰＤと、接続点Ｅの位置ＰＥとの間の軌道を補間する。
【００４０】
本実施形態に係る軌道生成装置６０によれば、予測した切替時の予測位置ＰＣにズレが生じていても、ズレた位置から位置軌道まで補間することにより、滑らかにロボットを移動させることができる。
【００４１】
以上、本発明に係る実施の形態を説明したが、上記の構成に限らず、本発明の技術的思想を逸脱しない範囲で、変更することが可能である。例えば、実施形態１及び２に係る軌道生成装置を備えたロボット等の移動体も、本発明の技術的思想に含まれる。また、実施形態１及び実施形態２を組み合わせた軌道生成装置及び移動体も、本発明の技術的思想の範囲である。
【符号の説明】
【００４２】
１  ロボット
１０  本体部
２０  動作部位
３０  駆動部
４０  センサ
５０  制御部
６０  軌道生成装置
６１  軌道
６５  演算部
【図１】
2020082219.tif 000003
【図２】
2020082219.tif 000004
【図３】
2020082219.tif 000005
【図４】
2020082219.tif 000006