(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-25
(45)【発行日】2024-10-03
(54)【発明の名称】経路生成方法及び経路生成装置
(51)【国際特許分類】
B25J 9/22 20060101AFI20240926BHJP
B25J 13/08 20060101ALI20240926BHJP
G05B 19/4093 20060101ALI20240926BHJP
【FI】
B25J9/22 Z
B25J13/08 Z
G05B19/4093 E
(21)【出願番号】P 2021039870
(22)【出願日】2021-03-12
【審査請求日】2024-02-13
【国等の委託研究の成果に係る記載事項】(出願人による申告)平成31年度、国立研究開発法人新エネルギー・産業技術総合開発機構「次世代人工知能・ロボットの中核となるインテグレート技術開発/人工知能技術の社会実装に向けた研究開発・実証」委託研究、産業技術力強化法第17条の適用を受ける特許出願
(73)【特許権者】
【識別番号】304023318
【氏名又は名称】国立大学法人静岡大学
(74)【代理人】
【識別番号】100088155
【氏名又は名称】長谷川 芳樹
(74)【代理人】
【識別番号】100124800
【氏名又は名称】諏澤 勇司
(74)【代理人】
【識別番号】100170818
【氏名又は名称】小松 秀輝
(72)【発明者】
【氏名】小林 祐一
【審査官】松浦 陽
(56)【参考文献】
【文献】特開2014-024162(JP,A)
【文献】特開2003-136466(JP,A)
【文献】特開2010-046751(JP,A)
【文献】特開2015-160277(JP,A)
【文献】特開平06-023682(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 1/00 - 21/02
G05B 19/18 - 19/416
G05B 19/42 - 19/427
(57)【特許請求の範囲】
【請求項1】
移動物体が障害物に衝突することなく出発点から最終目標点にまで至る到達可能経路を生成する経路生成方法であって、
前記移動物体が障害物に衝突したことを検知する工程と、前記衝突が検知された場合に、前記衝突が発生した位置に関する衝突位置情報と前記衝突によって前記移動物体が受けた反力の向きに関する反力方向情報とを記録する工程と、前記衝突位置情報、前記反力方向情報、及び前記反力の向きに向かって経路の一部を移動させる量を示す修正パラメータを利用して、前記衝突を生じさせないように前記経路を修正する工程と、を含み、前記検知する工程、前記記録する工程及び前記修正する工程を繰り返して、前記到達可能経路を生成する生成工程と、
前記生成工程の後に、前記衝突位置情報及び前記反力方向情報を利用して、前記生成工程において前記到達可能経路が生成されるまでに要した繰り返し数よりも少ない繰り返し数で前記到達可能経路が生成されるように、前記修正パラメータを調整する調整工程と、を有する、経路生成方法。
【請求項2】
前記経路を修正する工程では、予め準備された前記修正パラメータを読み出す工程を含み、
前記修正パラメータは、前記衝突が発生した位置における前記経路の方向であって前記衝突位置情報から導かれる経路方向情報及び前記反力方向情報の組み合わせに紐づけられて予めデータベースに記憶されている、請求項1に記載の経路生成方法。
【請求項3】
前記修正パラメータを読み出す工程では、前記記録する工程の結果として得られた前記衝突位置情報及び前記反力方向情報を用いて、前記経路方向情報及び前記反力方向情報の組み合わせを導出し、前記組み合わせと、前記データベースに記憶されている組み合わせとをマッチングさせることによって、前記修正パラメータを読み出す、請求項2に記載の経路生成方法。
【請求項4】
予め準備された前記修正パラメータは、第nの環境における第nの到達可能経路を生成した後に調整された第nの修正パラメータであり、前記第nの環境とは異なる第n+1の環境において第n+1の到達可能経路を生成するとき、前記第nの修正パラメータを用いると共に、前記第n+1の到達可能経路を生成したのちに前記第nの修正パラメータを調整して第n+1の修正パラメータを得る、請求項1~3の何れか一項に記載の経路生成方法。
【請求項5】
前記生成工程は、前記経路を規定する制御点の追加または削除の要否を判定する判定工程をさらに含む、請求項1~4のいずれか一項に記載の経路生成方法。
【請求項6】
移動物体が障害物に衝突することなく出発点から最終目標点にまで至る到達可能経路を生成する経路生成装置であって、
前記衝突が発生した位置に関する衝突位置情報及び前記衝突によって前記移動物体が受けた反力の向きに関する反力方向情報を受け入れる情報取得部と、
前記衝突位置情報及び前記反力方向情報を利用して、前記到達可能経路を生成する少なくとも1個のプロセッサと、を備え、
前記少なくとも1個のプロセッサは、
前記移動物体が障害物に衝突したことを検知する動作と、前記衝突が検知された場合に、前記衝突が発生した位置に関する前記衝突位置情報と前記衝突によって前記移動物体が受けた反力の向きに関する前記反力方向情報とを記録する動作と、前記衝突位置情報、前記反力方向情報、及び前記反力の向きに向かって経路の一部を移動させる量を示す修正パラメータを利用して、前記衝突を生じさせないように前記経路を修正する動作と、を含んで前記検知する動作、前記記録する動作及び前記修正する動作を繰り返して、前記到達可能経路を生成し、
前記到達可能経路を生成した後に、前記衝突位置情報及び前記反力方向情報を利用して、前記到達可能経路が生成されるまでに要した繰り返し数よりも少ない繰り返し数で前記到達可能経路が生成されるように、前記修正パラメータを調整する、経路生成装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、経路生成方法及び経路生成装置に関する。
【背景技術】
【0002】
近年、人口の減少に伴い生産現場における労働力の不足が進んでいる。労働力の不足を補うひとつの手段として、生産支援ロボットの導入が検討されている。特許文献1、2は、組み立て用ロボットに関する技術を開示する。生産支援ロボットが動作するときには、ロボットの周囲に存在する障害物との衝突が発生する可能性がある。そこで、障害物との衝突を回避するようにロボットを制御する必要がある。特許文献3~5は、このようなロボットの制御に関する技術を開示する。
【先行技術文献】
【特許文献】
【0003】
【文献】特開平8-174456号公報
【文献】特開平8-174460号公報
【文献】特開平8-314522号公報
【文献】特開2004-148492号公報
【文献】特開2020-11328号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
所定の条件を満たすようにロボットを動作させる技術のひとつに、人間がロボットに動作を教える手法がある。このような手法は、教示型と呼ばれている。教示型は、ロボットに対して直感的に動作を教えることができるので、容易である。しかし、条件を満たす動作を生成するために要する試行回数が増えると、教示に必要な時間も増加する。
【0005】
別の手法として、条件を満たす動作をロボットが自ら生成する技術もある。このような手法は、自律型と呼ばれている。自律型の手法によれば、動作の生成は環境モデルを設定すれば自動で動作生成を行うことができる。しかし、ロボットが適用される環境は、複雑である。つまり、動作の生成には、環境モデルが必要であるが、環境モデルの準備には時間を要する。
【0006】
本発明は、経路の生成に要する時間を短縮することができる経路生成方法及び経路生成装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の一形態は、移動物体が障害物に衝突することなく出発点から最終目標点にまで至る到達可能経路を生成する経路生成方法であって、移動物体が障害物に衝突したことを検知する工程と、衝突が検知された場合に、衝突が発生した位置に関する衝突位置情報と衝突によって移動物体が受けた反力の向きに関する反力方向情報とを記録する工程と、衝突位置情報、反力方向情報、及び反力の向きに向かって経路の一部を移動させる量を示す修正パラメータを利用して、衝突を生じさせないように経路を修正する工程と、を含み、検知する工程、記録する工程及び修正する工程を繰り返して、到達可能経路を生成する生成工程と、生成工程の後に、衝突位置情報及び反力方向情報を利用して、生成工程において到達可能経路が生成されるまでに要した繰り返し数よりも少ない繰り返し数で到達可能経路が生成されるように、修正パラメータを調整する調整工程と、を有する。
【0008】
この方法によれば、到達可能経路を生成するごとに、修正パラメータが修正される。その結果、到達可能経路を生成するごとに、到達可能経路の生成に要する繰り返し数が少なくなるので、経路の生成に要する時間を短縮することができる。
【0009】
一形態において、経路を修正する工程では、予め準備された修正パラメータを読み出す工程を含み、修正パラメータは、衝突が発生した位置における経路の方向であって衝突位置情報から導かれる経路方向情報及び反力方向情報の組み合わせに紐づけられて予めデータベースに記憶されてもよい。この工程によれば、到達可能経路を生成する環境が互いに異なる場合であっても、調整された修正パラメータを、別の環境における到達可能経路の生成に適用することができる。
【0010】
一形態において、修正パラメータを読み出す工程では、記録する工程の結果として得られた衝突位置情報及び反力方向情報を用いて、経路方向情報及び反力方向情報の組み合わせを導出し、当該組み合わせと、データベースに記憶されている組み合わせとをマッチングさせることによって、修正パラメータを読み出してもよい。この工程によれば、より好適に調整された修正パラメータを、別の環境における到達可能経路の生成に適用することができる。
【0011】
一形態において、予め準備された修正パラメータは、第nの環境における第nの到達可能経路を生成した後に調整された第nの修正パラメータであり、第nの環境とは異なる第n+1の環境において第n+1の到達可能経路を生成するとき、第nの修正パラメータを用いると共に、第n+1の到達可能経路を生成したのちに第nの修正パラメータを調整して第n+1の修正パラメータを得てもよい。この方法によれば、到達可能経路を生成するごとに、修正パラメータを調整することができる。
【0012】
生成工程は、経路を規定する制御点の追加または削除の要否を判定する判定工程をさらに含んでもよい。この工程によれば、より好適な到達可能経路を生成することができる。
【0013】
本発明の別の形態は、移動物体が障害物に衝突することなく出発点から最終目標点にまで至る到達可能経路を生成する経路生成装置である。経路生成装置は、衝突が発生した位置に関する衝突位置情報及び衝突によって移動物体が受けた反力の向きに関する反力方向情報を受け入れる情報取得部と、衝突位置情報及び反力方向情報を利用して、到達可能経路を生成する少なくとも1個のプロセッサと、を備える。少なくとも1個のプロセッサは、移動物体が障害物に衝突したことを検知する動作と、衝突が検知された場合に、衝突が発生した位置に関する衝突位置情報と衝突によって移動物体が受けた反力の向きに関する反力方向情報とを記録する動作と、衝突位置情報、反力方向情報、及び反力の向きに向かって経路の一部を移動させる量を示す修正パラメータを利用して、衝突を生じさせないように経路を修正する動作と、を含み、検知する動作、記録する動作及び修正する動作を繰り返して、到達可能経路を生成し、到達可能経路を生成した後に、衝突位置情報及び反力方向情報を利用して、到達可能経路が生成されるまでに要した繰り返し数よりも少ない繰り返し数で到達可能経路が生成されるように、修正パラメータを調整する。
【0014】
この装置によれば、到達可能経路を生成するごとに、修正パラメータが修正される。その結果、到達可能経路を生成するごとに、到達可能経路の生成に要する繰り返し数が少なくなるので、経路の生成に要する時間を短縮することができる。
【発明の効果】
【0015】
本発明の経路生成方法及び経路生成装置によれば、経路の生成に要する時間を短縮することができる。
【図面の簡単な説明】
【0016】
【
図1】
図1は、実施形態の経路生成方法を実行する経路生成装置が適用される様子を示す図である。
【
図2】
図2は、経路生成装置を実現するコンピュータの構成図である。
【
図3】
図3は、初期経路から到達可能経路を生成する様子を示す図である。
【
図5】
図5は、実施形態の経路生成方法の主要な工程を示すフロー図である。
【
図6】
図6(a)は、失敗点の付近を拡大して経路方向及び反力方向を示す図である。
図6(b)は、ROMに記録されている情報を模式的に示す図である。
【
図7】
図7は、実施形態の経路生成装置の機能ブロックを示す図である。
【
図8】
図8は、コスト関数の分布を示すグラフの一例である。
【発明を実施するための形態】
【0017】
以下、図面を参照しつつ本発明に係る経路生成方法及び経路生成装置の実施形態について詳細に説明する。なお、図面の説明においては、同一又は相当部分には同一符号を付し、重複する説明を省略する。
【0018】
図1に示すロボットシステム100は、経路生成方法を実行する経路生成装置の適用先の例示である。ロボットシステム100は、マニピュレータ10と、コンピュータ20(経路生成装置)と、を有する。コンピュータ20によって所定のプログラムが実行されることにより、経路生成装置が実現される。
【0019】
マニピュレータ10は、ベース11と、複数のリンク12と、複数のジョイント13と、エンドエフェクタ14(移動物体)と、を有する。マニピュレータ10は、コンピュータ20から送信される制御信号によってジョイント13の動作が制御される。ジョイント13の動作した結果、先端に設けられたエンドエフェクタ14が経路Rに沿って移動する。つまり、コンピュータ20は、エンドエフェクタ14が経路Rに沿って移動するように、ジョイント13の動作を制御する。
【0020】
ジョイント13は、駆動力を発生させるモータ13aを含む。さらに、ジョイント13は、モータ13aの回転角度に関する情報を出力するロータリエンコーダ13bを含む。ロータリエンコーダ13bが出力する情報を処理することによって、エンドエフェクタ14の位置情報を得ることができる。エンドエフェクタ14は、力覚センサ14aを含む。力覚センサ14aは、エンドエフェクタ14が障害物200に衝突したときに、障害物200から受ける接触力に関する情報を出力する。接触力に関する情報は、接触力の方向と、接触力の大きさとを含んでよい。以下の説明において、衝突が発生した位置を「失敗点f」と称する。つまり、「失敗点f」は、2次元座標系又は3次元座標系を基準とした位置を示す。さらに、接触力の方向に関する情報は、「修正ベクトルm」と称する。つまり、「修正ベクトルm」は、2次元座標系又は3次元座標系を基準として、接触力の向きを示す。本実施形態における「修正ベクトルm」は方向の情報だけを含み、大きさの情報は含まない。つまり、修正ベクトルmは単位ベクトルであるともいえる。
【0021】
コンピュータ20は、マニピュレータ10に対して信号を送受信可能に接続される。コンピュータ20とマニピュレータ10との接続構成は、特に限定されない。コンピュータ20とマニピュレータ10とは、有線で接続されてもよい。コンピュータ20とマニピュレータ10とは、無線で接続されてもよい。さらには、コンピュータ20とマニピュレータ10とは、インターネットなどの通信回線を介して接続されてもよい。
【0022】
コンピュータ20の構成も特に限定されない。コンピュータ20は、1台の装置によって構成されてもよい。コンピュータ20は、複数の装置によって構成されてもよい。複数の装置は、有線又は無線のネットワークを介して相互に情報通信可能に接続されて構成されてもよい。
【0023】
図2は、コンピュータ20のハードウェア構成の例示である。コンピュータ20は、物理的には、プロセッサ20a、記録媒体であるRAM(Random Access Memory)20b又はROM(Read Only Memory)20c、通信モジュール20d、及び入出力モジュール20e等を含んだコンピュータ等であり、各々は電気的に接続されている。なお、コンピュータ20は、入出力モジュール20eとして、ディスプレイ、キーボード、マウス、タッチパネルディスプレイ等を含んでいてもよいし、ハードディスクドライブ、半導体メモリ等の情報記録装置を含んでいてもよい。
【0024】
コンピュータ20は、マニピュレータ10を動作させるための制御信号を送信する。また、コンピュータ20は、マニピュレータ10から送信される各種情報を受信する。コンピュータ20は、受信した情報と予め準備された情報など利用して、制御信号を生成する。具体的には、コンピュータ20は、エンドエフェクタ14を出発点PSから最終目標点PGまで障害物200に衝突することなしに到達できる経路Rを生成する。コンピュータ20は、プログラムを実行することによって実現されるいくつかの機能構成要素を含む。これらの機能構成要素については、後に詳細に説明する。
【0025】
図3に示すように、コンピュータ20は、出発点PSから最終目標点PGに至る初期経路RSを設定する。そして、コンピュータ20は、初期経路RSに沿ってエンドエフェクタ14を移動させる。初期経路RSが障害物200と交差する部分(失敗点f1、f2)を含む場合に、エンドエフェクタ14は、障害物200に衝突する。衝突したとき、コンピュータ20は、力覚センサ14aから反力方向情報を受信する。そして、コンピュータ20は、受信した情報を用いて、衝突を回避する新たな経路Rを再設定する。コンピュータ20は、エンドエフェクタ14を移動させる動作と、力覚センサ14aから情報を受信する動作と、経路Rを再設定する動作と、を繰り返すことによって、出発点PSから最終目標点PGまで衝突なしに移動できる到達可能経路RPを生成する。
【0026】
コンピュータ20は、衝突が発生した場合に、失敗点f、修正ベクトルm及び修正パラメータβを用いて、衝突を発生させない新たな経路を生成する。失敗点f及び修正ベクトルmは、前述のとおりである。
図4は、失敗点fにおける経路修正の概念を示す。
図4に示すように、失敗点fにおいて衝突が発生した場合には、修正ベクトルmの方向に経路を移動させればよい。その結果、障害物200と交差しない新たな経路Rを設定できる。この修正ベクトルmは、方向のみを示す情報であるから、力覚センサ14aから受信する情報に基づいて決定できる。つまり、修正ベクトルmが示す方向は、反力の方向である。しかし、失敗点fを修正ベクトルmの方向に、どの程度移動させるかについては、一意に決定できない。そこで、修正ベクトルmの方向にどの程度移動させるかを示す指標として、修正パラメータβを導入する。修正パラメータβの値が大きいとき、退避距離は大きい。修正パラメータβの値が小さいとき、退避距離は小さい。周囲の環境によって、修正パラメータβが大きいほうが望ましい場合もあれば、大きすぎる修正パラメータβは新たな失敗点fを生む要因にもなり得る。そのため、好適な修正パラメータβの設定は、負荷の高い作業である。
【0027】
修正パラメータβは、人間の教示によって示される場合がある。しかし、人間の教示による修正パラメータβの設定は、人間の負荷の増大につながる。そこで、本願発明者らは、ある修正パラメータβを用いて経路の自動生成を行った結果を利用して、修正パラメータβを調整することにより、より好適な調整された修正パラメータβNEWを得る技術に想到した。より好適とは、より少ない試行回数で、目的の経路を設定できることを意味する。つまり、調整された修正パラメータβNEWを用いることにより、目的の経路をより少ない試行回数で得ることができる。
【0028】
以下、コンピュータ20が実行する経路生成方法を
図5に示すフロー図を参照しながら説明する。経路生成方法は、経路の自動生成を行う動作を含む。さらに、経路生成方法は、経路の自動生成を行う動作において得た各種の値を用いて、修正パラメータβを調整して、調整された修正パラメータβ
NEWを得る動作を含んでもよい。そして、以下の説明では、二次元平面において経路Rの設定を行うものとする。しかし、経路生成方法は、二次元の経路Rの設定に適用できるだけでなく、三次元空間における経路Rの設定にも適用できる。
【0029】
<経路の自動生成>
コンピュータ20は、初期経路RSを設定する(工程S1)。初期経路RSは、少なくとも、出発点PSと最終目標点PGとによって規定される。初期経路RSは、出発点PS及び最終目標点PGに加えて、制御点Pa及び固定経由点Pnを含む。経路Rは、直線部分や曲線部分の組み合わせによって構成されている。経路Rは、規定された点群のスプライン補間などのパラメータ曲線の演算によって得られる。制御点Paは、これらの直線部分や曲線部分を規定する点である。経路Rの修正は、例えば、制御点Paの位置を変更することによって、経路Rの一部を移動することができる。一方、固定経由点Pnは、出発点PSから最終目標点PGに移動する間に必ず通過すべき点である。経路Rが変更されたとしても、固定経由点Pnの位置は変更されない。固定経由点Pnは、必要に応じて設定してよく、固定経由点Pnを含まない経路Rもあり得る。初期経路RSは、人間が教示してもよい。
【0030】
次に、コンピュータ20は、経路の修正動作を開始する(工程S2)。そして、コンピュータ20は、追従制御を開始する(工程S3)。追従制御とは、エンドエフェクタ14を経路Rに沿って移動させる制御をいう。コンピュータ20は、経路Rを示す情報に基づいて、マニピュレータ10のモータ13aを駆動させる制御信号を生成する。そして、生成した制御信号をマニピュレータ10に送信する。
【0031】
コンピュータ20は、追従制御と並行して、衝突の有無を判定する動作を行う(工程S)。コンピュータ20は、衝突が発生していないと判定したとき(工程S4:NO)、エンドエフェクタ14が最終目標点PGに到達したかを判定する(工程S5)。コンピュータ20は、エンドエフェクタ14が最終目標点PGに到達していないと判定したとき(工程S5:NO)、再び工程S3を行う。つまり、コンピュータ20は、エンドエフェクタ14の衝突又はエンドエフェクタ14の最終目標点PGへの到達のいずれかが発生するまで、工程S3、工程S4及び工程S5を繰り返す。この繰り返しにおいて、エンドエフェクタ14が最終目標点PGへ到達したと判定されたとき(工程S5:YES)、コンピュータ20は経路修正動作を終了する(工程S10)。そして、コンピュータ20は、修正パラメータβの調整を行う(工程S11)。工程S11の詳細は、後述する。
【0032】
コンピュータ20は、エンドエフェクタ14に設けた力覚センサ14aから衝突を示す情報を受信したとき、衝突が発生したと判定する。例えば、力覚センサ14aから受信した情報において接触力の大きさを示す値が所定値よりも大きいとき、衝突が発生したと判定してもよい。コンピュータ20は、衝突が発生したと判定しないかぎり(工程S4:NO)、追従制御(工程S3)を継続する。コンピュータ20は、衝突が発生したと判定したとき(工程S4:YES)、経路Rを再設定する動作を行う(工程S6、S7、S8、S9)。少なくとも工程S4、S6、S8、S9は、経路を生成する工程S20を構成する。
【0033】
コンピュータ20は、衝突が発生したと判定したとき(工程S4:YES)、失敗点fの位置と、修正ベクトルmの方向と、を取得する(工程S6)。失敗点fの位置は、例えば、ロータリエンコーダ13bから受信した情報を利用して算出してもよい。修正ベクトルmの方向は、力覚センサ14aから受信した情報を用いて得てもよい。
【0034】
コンピュータ20は、制御点Paの追加を要するか否かを判定する(工程S7)。なお、コンピュータ20は、制御点Paの削除が可能であるか否かも併せて判定してもよい。例えば、コンピュータ20は、各制御点Paに対して、それらの制御点Paが影響を及ぼす評価(失敗点fとそれに対応する修正ベクトルm)を行う。そして、複数の評価の間に齟齬が生じる度合いが大きい場合に、新たな制御点Paを追加すると判定する。換言すると、コンピュータ20は、複数の評価の修正ベクトルmの違いを定量化する。そして、コンピュータ20は、定量化された修正ベクトルmの違いの度合いが大きい場合に、新たな制御点Paを追加すると判定する。例えば、近接する複数の失敗点fで、その修正ベクトルmの方向が大きく(所定量以上)異なり、失敗点fに対応する既存の制御点Paだけの移動では失敗の回避が難しい場合には、制御点Paの追加が必要と判定する。
【0035】
コンピュータ20は、経路Rの評価及び最適化を行う(工程S8)。経路Rの評価には、下記式(1)に示す目的関数L
1を用いてよい。
【数1】
【0036】
式(1)において、g
1は修正指示を反映した評価関数であり、g
2は修正前の制御点からの乖離の度合いを評価する関数であり、g
3は経路Rの長さを評価する関数であり、g
4は互いに隣接する制御点Pa同士の近さを評価する関数である。そして、α
1、α
2、α
3及びα
4は、g
1、g
2、g
3、及びg
4のそれぞれに乗算される重みパラメータである。衝突情報である失敗点fの集合(F)、修正ベクトルmの集合(M)及び修正パラメータβの集合(B)は、第1項に示す評価関数g
1に反映させる。なお、
図8は、評価関数g
1の分布の例示である。障害物200に近くなるほど、高いコストが設定され、障害物200から離れるほど低いコストが設定されている。なお、このコスト分布は例示であるから、障害物200の態様に応じて適宜設定してよい。
【0037】
そして、式(2)に示すように、目的関数L
1が最小となる制御点列X
Bを算出する。
【数2】
【0038】
コンピュータ20は、制御点列XBを満たすように、経路Rを修正する(工程S9)。そして、コンピュータ20は、修正された経路Rを新たな基準経路として扱う。そして、コンピュータ20は、出発点PSからの追従制御を開始する(工程S3)。コンピュータ20は、衝突なしに出発点PSから最終目標点PGに至る到達可能経路RPが生成されるまで、工程S3、工程S4、工程S6、工程S7、工程S8、工程S9をこの順に行う動作を繰り返す。
【0039】
<修正パラメータβの調整>
コンピュータ20は、生成工程によって得た値を用いて、修正パラメータβを調整する(工程S11)。修正パラメータβを調整した結果、調整された修正パラメータβ
NEWが得られる。具体的には、第1の環境で用いた修正パラメータβの集合B
0を用いて経路Rの自動生成を行った結果、失敗点fの集合F、修正ベクトルmの集合M、到達可能経路RPの最終制御点の集合X’を得た。そして、失敗点fの集合F、修正ベクトルmの集合M、修正パラメータβの集合B
0を用いて、調整された修正パラメータβ
NEWを導出する。調整された修正パラメータβ
NEWを導出は、式(3)より示される最小化問題を解くことである。具体的には、修正回数Nにおける失敗点fの集合Fと、修正ベクトルmの集合Mの履歴のうち、1からk(=1、…N
F-1)までの履歴を示す集合F
k及び集合M
kを利用して、調整された修正パラメータβ
NEWを適用した経路生成を行う。この経路の制御点集合は、下記式(3)によって定義される。X
B~X’を満たすように修正パラメータβの集合Bを調整した結果、調整された修正パラメータβ
NEWが得られる。
【数3】
ここで、目的関数L
2は、式(4)によって定義される。
【数4】
ここで、h
1は、到達可能経路RPに近づけることを目標とする関数である。また、h
2は、B=0となる意味のない解を排除するための関数である。
【0040】
<異なる環境での経路の自動生成への修正パラメータの適用>
ところで、前述の経路の自動生成は、ある与えられた環境の基に実行される。しかし、経路の自動生成が行われる環境は、前回と今回とで同じ場合もあり得るし、同じでない場合もあり得る。本願の経路生成方法は、環境が異なる場合に有効に適用できる。つまり、本願の経路生成方法は、それまでに行った経路の自動生成の結果を利用した調整された修正パラメータβNEWを用いることによって、より少ない試行回数で、目標の経路Rを生成することができる。例えば、第1の環境における経路の自動生成の動作において、n回の試行回数を要したとする。次に、第1の環境とは異なる第2の環境における経路の自動生成を行うとする。ここで、上述した修正パラメータβの調整を行うことなく、第1の環境の場合と同じ修正パラメータβを用いた経路の自動生成では、m回の試行回数を要したとする。これに対して、上述した修正パラメータβの調整を行い、第1の環境の場合とは異なる調整された修正パラメータβNEWを用いた経路の自動生成では、m回より少ない試行回数で経路を生成できる。
【0041】
ここで、第1の環境での経路の自動生成の結果、調整された修正パラメータβNEWを、第1の環境とは異なる第2の環境での経路の自動生成にどのように適用するかという技術的な課題がある。この技術的な課題は、以下のような手法によって解決できる。
【0042】
第1の環境と、第2の環境とは、全体として異なる。しかし、衝突が発生したときの微視的な環境を対比すると、類似するとみなせる場合がある。この微視的な類似は、衝突点に対する経路Rの方向と、反力の方向(修正ベクトルの方向)と、によって判断してよい。つまり、第2の環境で衝突が発生した点における経路Rの方向及び修正ベクトルmの方向の関係が、第1の環境で衝突が発生した点における経路Rの方向及び修正ベクトルmの方向の関係と同等であるとき、当該第1の環境の衝突点に対応する修正パラメータβを第2の環境における衝突点に対応する修正パラメータβとして適用できる。
【0043】
例えば、コンピュータ20は、経路評価及び最適化を行う工程S8において、以下のような動作を行うことにより、上述した第1の環境で得られた調整された修正パラメータβNEWを第2の環境での経路Rの自動生成に適用できる。
【0044】
図6(a)に示すように、衝突が発生したと判定した後、コンピュータ20は、経路Rの再設定に要する情報を取得する。経路Rの再設定に要する情報とは、接触力の方向を示す情報(衝突力方向情報T)と、衝突が生じた位置における経路Rの方向を示す情報(経路方向情報E)である。衝突力方向情報Tは、力覚センサ14aから受信した情報から得ることができる。衝突力方向情報Tは、経路Rを定義する座標系CSに基づく角度φTであってもよい。経路Rの方向を示す情報は、衝突が生じた位置を示す情報と、現在の経路Rを示す情報と、から得ることができる。衝突が生じた位置を示す情報は、ロータリエンコーダ13bから受信した情報から算出することができる。そして、衝突が生じた位置がわかれば、経路R上のどこで衝突が生じたかを知ることができる。その結果、衝突が生じた経路R上の点における方向がわかる。経路R上の点における方向は、当該点における接線であってもよい。経路方向情報Eは、経路Rを定義する座標系CSに基づく角度φEであってもよい。
【0045】
次に、コンピュータ20は、衝突力方向情報T及び経路方向情報Eを利用して、修正パラメータβを得る。具体的には、
図6(b)に示すように、コンピュータ20のROM20cには、衝突力方向情報T(n)及び経路方向情報E(n)との組み合わせと、当該組み合わせに対して紐付けされた修正パラメータβ(n)と、を含むデータD(1)~D(N)がデータベースとして記憶されている。コンピュータ20は、衝突が発生したことをきっかけにして得た衝突力方向情報T及び経路方向情報Eと、ROM20cに記憶された衝突力方向情報T及び経路方向情報Eとをマッチングさせる。次に、衝突が発生したことをきっかけにして得た衝突力方向情報T及び経路方向情報Eの組み合わせに対応する衝突力方向情報T(n)及び経路方向情報(n)の組み合わせに紐付けされた修正パラメータβ(n)を読み出す。
【0046】
なお、上記の説明では、第1の環境での到達可能経路RPの生成の結果を利用して、調整された修正パラメータβNEWを得た。そして、調整された修正パラメータβNEWを利用して、第2の環境での到達可能経路RPを生成した。その後、第2の環境での到達可能経路RPを生成した結果を利用して、調整された修正パラメータβNEWをさらに調整してもよい。つまり、調整された修正パラメータβNEWは、到達可能経路RPを生成するごとに更新されてもよい。修正パラメータβNEWは、j回の到達可能経路RPの生成の結果の元にj回の調整がなされた結果であってもよい。その結果、より少ない回数で到達可能経路RPが設定できる望ましい修正パラメータβNEWに近づけることが可能である。
【0047】
図7を参照しながら、経路生成方法を実行するコンピュータ20の機能構成について説明する。コンピュータ20は、マニピュレータ制御部21と、情報取得部22と、衝突判定部23と、制御点判定部24と、経路最適化部25と、経路更新部26と、記憶部27と、到達判定部28と、修正パラメータ調整部29と、を有する。コンピュータ20の各機能部は、プロセッサ20a及びRAM20b等のハードウェア上にプログラムを読み込ませることにより、プロセッサ20aの制御のもとで、通信モジュール20d、及び入出力モジュール20e等を動作させるとともに、RAM20bにおける情報の読み出し及び書き込みを行うことで実現される。コンピュータ20のプロセッサ20aは、このコンピュータプログラムを実行することによってコンピュータ20を
図7の各機能部として機能させ、経路生成方法に対応する処理を順次実行する。このコンピュータプログラムの実行に必要な各種情報、及び、このコンピュータプログラムの実行によって生成された各種情報は、全て、ROM20c、RAM20b等の内蔵メモリ、又は、ハードディスクドライブなどの記憶媒体に格納される。
【0048】
マニピュレータ制御部21は、工程S3に示す動作を行う。つまり、マニピュレータ制御部21は、エンドエフェクタ14を経路Rに沿って移動させる制御信号を出力する。情報取得部22は、工程S6に示す動作を行う。つまり、情報取得部22は、失敗点fの位置と、反力の方向(つまり、修正ベクトルmの方向)と、を取得する。衝突判定部23は、工程S4に示す動作を行う。つまり、衝突判定部23は、衝突の有無を判定する。
【0049】
制御点判定部24は、工程S7に示す動作(判定工程)を行う。つまり、制御点判定部24は、制御点Paの追加の要否を判定する。また、制御点判定部24は、制御点Paの削除が可能であるかを判定してもよい。経路最適化部25は、工程S8に示す動作を行う。つまり、経路最適化部25は、式(1)に示す最適化問題を解く。経路更新部26は、工程S9に示す動作を行う。つまり、経路更新部26は、経路最適化部25が出力する制御点列XBを満たすように、経路Rを修正する。
【0050】
到達判定部28は、工程S5に示す動作を行う。つまり、到達判定部28は、エンドエフェクタ14が最終目標点PGへ到達したか否かを判定する。修正パラメータ調整部29は、工程S11に示す動作を行う。つまり、修正パラメータ調整部29は、到達可能経路RPの自動生成の動作によって得た値を用いて、修正パラメータβを調整して、調整された修正パラメータβNEWを得る。
【0051】
<作用効果>
経路生成方法は、エンドエフェクタ14が障害物200に衝突することなく出発点PSから最終目標点PGにまで至る到達可能経路RPを生成する。経路生成方法は、エンドエフェクタ14が障害物200に衝突したことを検知する工程S4と、衝突が検知された場合に、衝突が発生した位置に関する衝突位置情報と衝突によってエンドエフェクタ14が受けた反力の向きに関する反力方向情報とを記録する工程S6と、修正ベクトルm及び修正パラメータβを利用して、衝突を生じさせないように経路Rを修正する工程S8、S9と、を含む。さらに、経路生成方法は、工程S4、S6~S9を繰り返して、到達可能経路RPを生成する生成工程S20と、工程S20の後に、衝突位置情報及び反力方向情報を利用して、工程S20において到達可能経路RPが生成されるまでに要した繰り返し数よりも少ない繰り返し数で到達可能経路RPが生成されるように、修正パラメータを調整する調整工程S11と、を有する。
【0052】
コンピュータ20は、エンドエフェクタ14が障害物200に衝突することなく出発点PSから最終目標点PGにまで至る到達可能経路RPを生成する。コンピュータ20は、衝突が発生した位置に関する衝突位置情報及び衝突によって移動物体が受けた反力の向きに関する反力方向情報を受け入れる情報取得部22と、衝突位置情報及び反力方向情報を利用して、到達可能経路RPを生成する少なくとも1個のプロセッサ20aと、を備える。プロセッサ20aは、エンドエフェクタ14が障害物200に衝突したことを検知する動作と、衝突が検知された場合に、衝突が発生した位置に関する衝突位置情報と衝突によって移動物体が受けた反力の向きに関する反力方向情報とを記録する動作と、修正ベクトルm及び修正パラメータβを利用して、衝突を生じさせないように経路Rを修正する動作と、を実行する。プロセッサ20aは、これらの動作を繰り返して、到達可能経路RPを生成し、到達可能経路RPが生成された後に、衝突位置情報及び反力方向情報を利用して、到達可能経路RPが生成されるまでに要した繰り返し数よりも少ない繰り返し数で到達可能経路RPが生成されるように、修正パラメータβを調整することにより、調整された修正パラメータβNEWを得る。
【0053】
経路生成方法及び経路生成装置によれば、到達可能経路RPを生成するごとに、修正パラメータβが修正される。その結果、到達可能経路RPを生成するごとに、到達可能経路RPの生成に要する繰り返し数が少なくなるので、到達可能経路RPの生成に要する時間を短縮することができる。
【0054】
本発明は、上述した実施形態に限定されない。上記実施形態の構成は、様々に変更することができる。
【符号の説明】
【0055】
10…マニピュレータ、11…ベース、12…リンク、13…ジョイント、13a…モータ、13b…ロータリエンコーダ、14…エンドエフェクタ(移動物体)、14a…力覚センサ、20…コンピュータ(経路生成装置)、20a…プロセッサ、21…マニピュレータ制御部、22…情報取得部、23…衝突判定部、24…制御点判定部、25…経路最適化部、26…経路更新部、27…記憶部、28…到達判定部、29…修正パラメータ調整部、100…ロボットシステム、200…障害物、m…修正ベクトル、β…修正パラメータ、βNEW…調整された修正パラメータ。