(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-03-22
(45)【発行日】2024-04-01
(54)【発明の名称】ロボットに適用されるナビゲーション方法及びそのロボット
(51)【国際特許分類】
G05D 1/622 20240101AFI20240325BHJP
【FI】
G05D1/622
(21)【出願番号】P 2023046614
(22)【出願日】2023-03-23
【審査請求日】2023-03-24
(32)【優先日】2022-08-16
(33)【優先権主張国・地域又は機関】TW
(73)【特許権者】
【識別番号】508226687
【氏名又は名称】和碩聯合科技股▲ふん▼有限公司
【氏名又は名称原語表記】PEGATRON CORPORATION
【住所又は居所原語表記】5F.,No.76,Ligong St., Beitou Dist., Taipei City 112, Taiwan
(74)【代理人】
【識別番号】100082418
【氏名又は名称】山口 朔生
(74)【代理人】
【識別番号】100167601
【氏名又は名称】大島 信之
(74)【代理人】
【識別番号】100201329
【氏名又は名称】山口 真二郎
(74)【代理人】
【識別番号】100220917
【氏名又は名称】松本 忠大
(72)【発明者】
【氏名】王健宇
【審査官】牧 初
(56)【参考文献】
【文献】特開2005-316759(JP,A)
【文献】特開2020-107024(JP,A)
【文献】特開2013-58043(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00-1/87
(57)【特許請求の範囲】
【請求項1】
移動装置及び複数の距離センサを有するロボットに適用されるナビゲーション方法であって、
(a)初期座標である第1位置座標及び初期移動情報である第1移動情報を設定するステップと、
(b)これらの距離センサによってそれぞれ異なる方向へ複数の検知距離を測定するステップと、
(c)これらの検知距離、該第1位置座標及び該第1移動情報をニューラルネットワークモデルに入力して、該ニューラルネットワークモデルから出力される第2移動情報を得る意思決定プロセスを実行するステップと、
(d)該第2移動情報を次回の該意思決定プロセスの該第1移動情報として設定するステップと、
(e)該第2移動情報に基づき、該移動装置を駆動し、該ロボットを該第1位置座標から第2位置座標まで移動させるステップと、
(f)該第2位置座標を次回の該意思決定プロセスの該第1位置座標として設定するステップと、
(g)該第2位置座標と終点座標との距離が閾値より小さくなるまでステップ(b)から(f)を繰り返し実行するステップと、を含む、ナビゲーション方法。
【請求項2】
ステップ(c)の後、且つステップ(d)から(f)の前に、さらに、
(c1)該第2移動情報をフィルタに入力して、平滑化された該第2移動情報を得るステップを含む、請求項1に記載のナビゲーション方法。
【請求項3】
ステップ(d)では、ステップ(c1)で得られた平滑化後の該第2移動情報を次回の該意思決定プロセスの該第1移動情報として設定する、請求項2に記載のナビゲーション方法。
【請求項4】
該ニューラルネットワークモデルは、
これらの検知距離、該第1位置座標、該第1移動情報に基づき、該第2移動情報を意思決定するように設定された行動ネットワークと、
これらの検知距離、該第1位置座標、該第1移動情報及び該行動ネットワークにより意思決定された該第2移動情報に基づき、評価値を出力するように設定された評価ネットワークと、を含む、請求項1に記載のナビゲーション方法。
【請求項5】
該評価値は報酬値と正に相関し、該ナビゲーション方法は、
(a1)制限領域を設定するステップと、
(a2)該第2位置座標に基づいて該ロボットが該制限領域に接触したか否かを判断するステップと、
(a3)該ロボットが該制限領域に接触した場合、該報酬値を負値に設定するステップと、をさらに含む、請求項4に記載のナビゲーション方法。
【請求項6】
該評価値は報酬値に正に相関し、該ナビゲーション方法は、
(b1)前回の該意思決定プロセスで出力された該第2移動情報及び今回の該意思決定プロセスで出力された該第2移動情報に基づき、2回の意思決定プロセスの移動距離に対応する該ロボットの変化量を計算するステップと、
(b2)該変化量に基づいて該変化量と正に相関する該報酬値を決定するステップと、をさらに含む、請求項4に記載のナビゲーション方法。
【請求項7】
該ニューラルネットワークモデルは深層決定論的ポリシー勾配アルゴリズム(DDPG)モデルである、請求項1に記載のナビゲーション方法。
【請求項8】
それぞれ異なる方向へ複数の検知距離を測定するように設定された複数の距離センサと、
これらの検知距離、第1位置座標及び第1移動情報をニューラルネットワークモデルに入力して、該ニューラルネットワークモデルから出力される第2移動情報を得る意思決定プロセスを繰り返し実行するように設定された移動意思決定回路と、
移動装置と、
該第2移動情報に基づいて該移動装置の該第1位置座標から第2位置座標までの移動を駆動するように設定された制御回路と、を含むロボットであって、
該移動意思決定回路は、初めて該意思決定プロセスを実行する際に、該第1位置座標を初期座標として設定し、該第1移動情報を初期移動情報として設定し、
該意思決定プロセスを実行した後、該移動意思決定回路は、該第2移動情報を次回の該意思決定プロセスの該第1移動情報として設定し、
該制御回路が該第2移動情報に基づいて該移動装置の該第1位置座標から該第2位置座標までの移動を駆動した後、該移動意思決定回路は、該第2位置座標を次回の該意思決定プロセスの該第1位置座標として設定する、ロボット。
【請求項9】
該移動意思決定回路と該制御回路との間に結合され、該第2移動情報を平滑化するように設定されたフィルタ回路をさらに含む、請求項8に記載のロボット。
【請求項10】
該ニューラルネットワークモデルは、
これらの検知距離、該第1位置座標、該第1移動情報に基づき、該第2移動情報を意思決定するように設定された行動ネットワークと、
これらの検知距離、該第1位置座標、該第1移動情報及び該行動ネットワークにより意思決定された該第2移動情報に基づき、評価値を出力するように設定された評価ネットワークと、を含む、請求項8に記載のロボット。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、ロボットナビゲーションに関し、特に、ロボットが未知の環境において一定の意思決定能力を持ち且つ入力データの複雑度が大幅に低下した、ロボットに適用されるナビゲーション方法及びそのロボットに関する。
【背景技術】
【0002】
従来のロボットナビゲーションでは、まずロボットを使用領域の各地点に正確に移動させ、ライダー(Lidar)又はビジュアル同時ローカリゼーション・マッピングシステム(Visual SLAM)により使用領域の地図を構築する必要がある。地図を記憶した後、次回にSLAMを起動すると、ロボットの現在位置を特定し、地図内の任意地点を指定し、ロボットが終点に到着するようにナビゲーションアルゴリズムで走行ルートを計画することができる。以上のプロセスは、いずれも地図の構築が基本として求められ、地図がなければナビゲーションができない。
【0003】
未知の環境において敢えて目標経路の案内を行いたい場合、Lidar又は深度カメラを使用してロボットと周囲環境の相関距離を確認し、従来のアルゴリズム又は強化学習の方式で、各方向への走行可能性をひたすら探すことが多い。しかしながら、強化学習の関連アルゴリズムでは、入力データが複雑で且つ不確実性が高いため訓練が困難であるという問題により、終点に到着する時間が大幅に延長され不要な迂回路が多数生じることが多い。
【発明の概要】
【0004】
1つの実施例において、ロボットに適用されるナビゲーション方法は、そのロボットが複数の距離センサ及び移動装置を有する。ここで、ナビゲーション方法は、(a)初期座標である第1位置座標及び初期移動情報である第1移動情報を設定するステップと、(b)複数の距離センサによってそれぞれ異なる方向へ複数の検知距離を測定するステップと、(c)複数の検知距離、第1位置座標及び第1移動情報をニューラルネットワークモデルに入力して、ニューラルネットワークモデルから出力される第2移動情報を得る意思決定プロセスを実行するステップと、(d)第2移動情報を次回の意思決定プロセスの第1移動情報として設定するステップと、(e)第2移動情報に基づき、移動装置を駆動し、ロボットを第1位置座標から第2位置座標まで移動させるステップと、(f)第2位置座標を次回の意思決定プロセスの第1位置座標として設定するステップと、(g)第2位置座標と終点座標との距離が閾値より小さくなるまでステップ(b)から(f)を繰り返し実行するステップと、を含む。
【0005】
1つの実施例において、ロボットは複数の距離センサ、移動意思決定回路、移動装置及び制御回路を含む。複数の距離センサはそれぞれ異なる方向へ複数の検知距離を測定するように設定される。移動意思決定回路は、複数の検知距離、第1位置座標及び第1移動情報をニューラルネットワークモデルに入力して、ニューラルネットワークモデルから出力される第2移動情報を得る意思決定プロセスを繰り返し実行するように設定される。制御回路は、第2移動情報に基づいて移動装置の第1位置座標から第2位置座標までの移動を駆動するように設定される。ここで、移動意思決定回路は、初めて意思決定プロセスを実行する際に、第1位置座標を初期座標として設定し、第1移動情報を初期移動情報として設定する。ここで、意思決定プロセスを実行した後、移動意思決定回路は、第2移動情報を次回の意思決定プロセスの第1移動情報として設定する。ここで、制御回路が第2移動情報に基づいて移動装置の第1位置座標から第2位置座標までの移動を駆動した後、移動意思決定回路は、第2位置座標を次回の意思決定プロセスの第1位置座標として設定する。
【0006】
以下に実施形態において本出願の詳細な特徴及び利点を詳しく説明し、その内容は、いかなる当業者も本出願の技術的内容を理解しそれをもって実施するのに十分であり、且つ、本明細書に開示される内容、特許請求の範囲及び図面に基づき、いかなる当業者も本出願の関連目的及び利点を容易に理解できる。
【図面の簡単な説明】
【0007】
【
図2】ロボットの複数の距離センサの位置の一実施例の模式図である。
【
図3】ロボットに適用されるナビゲーション方法の一実施例のフローチャートである。
【
図5】ロボットに適用されるナビゲーション方法の別の実施例のフローチャートである。
【
図6】ニューラルネットワークモデルの一実施例のブロック図である。
【
図7】ロボットの密閉空間でのルートの一実施例の模式図である。
【発明を実施するための形態】
【0008】
図1はロボット1の一実施例のブロック図である。
図1を参照されたい。ロボット1は、複数の距離センサ10、移動意思決定回路20、制御回路30及び移動装置40を含む。複数の距離センサ10は移動意思決定回路20に結合され、制御回路30は移動意思決定回路20及び移動装置40に結合される。
【0009】
図2はロボット1の複数の距離センサ10の位置の一実施例の模式図である。
図1及び
図2を参照されたい。複数の距離センサ10は、それぞれ周囲の異なる方向へ検知距離を測定するように設定される。各距離センサ10は1つの方向において最も近い物体に対する検知距離を測定する。例を挙げれば、複数の距離センサ10は数が12個であり、検知距離D1~D12を測定できる。いくつかの実施例において、距離センサ10は超音波センサであってもよいが、それに限定されない。
【0010】
いくつかの実施例において、複数の距離センサ10はロボット1の異なる方向への複数の検知距離を取得するようにロボット1の周囲に均一に分布する。
【0011】
移動意思決定回路20は、意思決定プロセスを繰り返し実行するように設定され、意思決定プロセスを実行するたびに、現在の状態情報に基づいて次の動作を実行するための移動情報(以下、第2移動情報MD2という)を意思決定することができる。前記状態情報は複数の検知距離D1~D12、位置座標及び移動情報(以下、第1移動情報MD1という)を含んでもよい。詳しくは、意思決定プロセスは、複数の検知距離D1~D12、第1位置座標P1及び第1移動情報MD1をニューラルネットワークモデルM1に入力して、ニューラルネットワークモデルM1から出力される第2移動情報MD2を得る。いくつかの実施例において、ニューラルネットワークモデルM1は、動作意思決定のためのニューラルネットワークモデル、例えば深層決定論的ポリシー勾配アルゴリズム(Deep Deterministic Policy Gradient)モデルである。
【0012】
移動意思決定回路20が初めて意思決定プロセスを実行する際に、移動意思決定回路20は、第1位置座標P1を初期座標として設定し第1移動情報MD1を初期移動情報として設定する。
【0013】
いくつかの実施例において、第1移動情報MD1は第1の2次元線速度V1及び第1角速度W1を含む。初期移動情報は初期2次元線速度及び初期角速度を含む。意思決定プロセスの入力次元は複数の検知距離、第1位置座標P1、第1の2次元線速度V1及び第1角速度W1によって決定される。例を挙げれば、複数の検知距離の数が12個であり、この場合、意思決定プロセスの入力は検知距離D1~D12、第1位置座標P1、第1の2次元線速度V1及び第1角速度W1となる。このため、意思決定プロセスの入力次元は16次元となる。ここで、意思決定プロセスで出力される第2移動情報MD2は第2の2次元線速度V2及び第2角速度W2を含む。
【0014】
いくつかの実施例において、移動意思決定回路20は第1の2次元線速度V1を区間(0,1)に正規化し且つ第1角速度W1を区間(-1,1)に正規化するが、本出願はこれに限定されない。
【0015】
移動意思決定回路20が意思決定プロセスを実行した後、移動意思決定回路20は、第2移動情報MD2を次回の意思決定プロセスの第1移動情報MD1として設定する。
【0016】
制御回路30は、第2移動情報MD2に基づいて移動装置40の第1位置座標P1から第2位置座標P2までの移動を駆動するように設定される。制御回路30が第2移動情報MD2に基づいて移動装置40の第1位置座標P1から第2位置座標P2までの移動を駆動した後、移動意思決定回路20は、第2位置座標P2を次回の意思決定プロセスの第1位置座標P1として設定する。
【0017】
移動装置40は、制御回路30により駆動されると、第1位置座標P1から第2位置座標P2まで移動するためのものである。いくつかの実施例において、移動装置40はシャーシであってもよいが、それに限定されない。
【0018】
いくつかの実施例において、移動装置40は、第2移動情報MD2の第2の2次元線速度V2及び第2角速度W2に基づいて固定の周波数で第1位置座標P1から第2位置座標P2まで移動する。いくつかの実施例において、固定周波数は10Hzであってもよいが、それに限定されない。
【0019】
図3は、ロボット1に適用されるナビゲーション方法の一実施例のフローチャートである。
図1及び
図3を参照されたい。移動意思決定回路20は第1位置座標P1及び第1移動情報MD1の初期値を設定し、つまり第1位置座標を初期座標として設定し、第1移動情報を初期移動情報として設定する(ステップS01)。複数の距離センサ10はそれぞれ異なる方向へ複数の検知距離D1~D12を測定する(ステップS02)。移動意思決定回路20は、複数の検知距離D1~D12、第1位置座標P1及び第1移動情報MD1をニューラルネットワークモデルM1に入力して、ニューラルネットワークモデルM1から出力される第2移動情報MD2を得る意思決定プロセスを実行する(ステップS03)。移動意思決定回路20が第2移動情報MD2を出力した後、移動意思決定回路20は、第2移動情報MD2を次回の意思決定プロセスの第1移動情報MD1として設定し(ステップS04)、第2移動情報MD2を制御回路30に伝送する。制御回路30は第2移動情報MD2に基づいて移動装置40を駆動し、ロボット1を第1位置座標P1から第2位置座標P2まで移動させる(ステップS05)。ロボット1が第2位置座標P2に移動した後に、制御回路30は第2位置座標P2を移動意思決定回路20に伝送する。移動意思決定回路20は第2位置座標P2を次回の意思決定プロセスの第1位置座標P1として設定し(ステップS06)、第2位置座標P2と終点座標との距離が閾値以上であるか否かを判断する(
図3には示さず)。第2位置座標P2と終点座標との距離が閾値以上である場合、ロボット1は、第2位置座標P2と終点座標との距離が閾値より小さくなるまでステップS02からステップS06を繰り返し実行する。第2位置座標P2と終点座標との距離が閾値より小さくなると、終点到着となる。いくつかの実施例において、閾値は必要に応じて、例えば50センチメートルに設定してもよい。
【0020】
いくつかの実施例において、ステップS04の実行順序は必ずステップS05及びステップS06の前になるとは限らない。いくつかの実施例において、ステップS04はステップS06の後に実行してもよい。いくつかの実施例において、ステップS04はステップS05の後に且つステップS06の前に実行してもよい。
【0021】
図4はロボット1の別の実施例のブロック図である。
図5はロボット1に適用されるナビゲーション方法の別の実施例のフローチャートである。
図4及び
図5を参照されたい。いくつかの実施例において、ロボット1は、移動意思決定回路20と制御回路30との間に結合され、第2移動情報MD2を平滑化する(ステップS07)ように設定されたフィルタ回路50をさらに含む。ステップS07の実行順序はステップS03の後に且つステップS04からステップS06の前になる。言い換えれば、移動意思決定回路20が次回の意思決定プロセスの第1移動情報MD1として設定した第2移動情報MD2及び制御回路30が移動装置40を駆動する根拠となる第2移動情報MD2は、いずれもフィルタ回路50により平滑化された第2移動情報MD2である。いくつかの実施例において、フィルタ回路50は、拡張カルマンフィルタ(Extended Kalman Filter)であってもよいが、それに限定されない。
【0022】
図6はニューラルネットワークモデルの一実施例のブロック図である。
図6を参照されたい。いくつかの実施例において、ニューラルネットワークモデルM1は行動ネットワーク(Actor network)M11及び評価ネットワーク(Critic network)M12を含む。行動ネットワークM11は、複数の検知距離D1~D12、第1位置座標P1及び第1移動情報MD1に基づき、第2移動情報MD2を意思決定するように設定される。評価ネットワークM12は、複数の検知距離D1~D12、第1位置座標P1、第1移動情報MD1及び行動ネットワークM11により意思決定された第2移動情報MD2に基づき、評価値Qを出力するように設定される。
【0023】
行動ネットワークM11は、複数の検知距離D1~D12、第1位置座標P1及び第1移動情報MD1からなる16次元情報を入力として、512個の出力ニューロンを有する2つのニューラル層によって、1つの正規化線形関数(ReLU)の出力を取得する。行動ネットワークM11はこの規化線形関数の出力を、1つの出力ニューロンを有する1つのニューラル層に入力して、1つのシグモイド関数(Sigmoid)の出力を取得し、1つの出力ニューロンを有するもう1つのニューラル層によって、1つの双曲線正接関数(Tanh)の出力を取得する。シグモイド関数の出力は第2の2次元線速度V2となり、双曲線正接関数の出力は第2角速度W2となる。
【0024】
評価ネットワークM12の入力は同様に、複数の検知距離D1~D12、第1位置座標P1及び第1移動情報MD1からなる16次元情報を含み、それに加えて、評価ネットワークM12の入力は行動ネットワークM11から取得した第2移動情報MD2も含む。16次元入力情報は512個の出力ニューロンを有する1つのニューラル層によって、1つの規化線形関数の出力が取得される。評価ネットワークM12はこの規化線形関数の出力及び第2移動情報MD2を、512個の出力ニューロンを有する2つのニューラル層に入力して、もう1つの規化線形関数の出力(以下、第2規化線形関数出力という)を取得する。評価ネットワークM12は第2規化線形関数出力を、1つの出力ニューロンを有する1つのニューラル層によって、1つの線形(Linear)関数の出力を取得し、この線形関数の出力は評価値Qとなる。
【0025】
評価値Qは評価ネットワークM12が意思決定プロセス毎に得た報酬値Rの加重和である。報酬値Rの式は以下のとおりである。
【0026】
【0027】
第2位置座標P2と終点座標との距離dp2-endが閾値thより小さくなると、評価ネットワークM12は報酬値RをRarriveとして設定し、Rarriveは正値である。第2位置座標P2が制限領域RAによりカバーされている座標範囲に入ると、即ちロボット1が制限領域RAに接触すると、評価ネットワークM12は報酬値RをRcollisionとして設定し、Rcollisionは負値である。上記2つの条件以外、評価ネットワークM12は前回の意思決定プロセスで出力された第2移動情報MD2及び今回の意思決定プロセスで出力された第2移動情報MD2に基づいて前回の意思決定プロセスの移動距離dt-1及び今回の意思決定プロセスの移動距離dtを算出し、評価ネットワークM12は2回の意思決定プロセスの移動距離に対応するロボット1の変化量dt-1-dtに第1パラメータC1を掛けて第2パラメータC2を引いて報酬値Rを得る。言い換えれば、必要な意思決定プロセスの回数(即ち動作回数)が多いほど、評価値Qは漸減し、評価ネットワークM12はこれをもって、より少ない回数(即ち動作回数)にてロボット1を終点に到達させるような意思決定プロセスを奨励する。いくつかの実施例において、第2パラメータC2は0.1であってもよいが、それに限定されない。
【0028】
図7はロボット1の密閉空間S1でのルートの一実施例の模式図である。
図6及び
図7を参照されたい。いくつかの実施例において、制限領域RAは実障害物O1及び仮想壁VWを含む。
図7に示すように、密閉空間S1に仮想壁VWがない場合、ロボット1は経路R2を経由して終点ENDに到達し、経路R2を経由して終点ENDに到達する途中、ロボット1が実障害物O1にぶつかると、即ちロボット1が制限領域RAに接触すると、評価ネットワークM12は報酬値Rを負値として設定する。使用者が密閉空間S1に仮想壁VWを追加した場合、ロボット1は経路R1を経由して終点ENDに到達する。経路R1を経由して終点ENDに到達する途中、ロボット1が実障害物O1又は仮想壁VWにぶつかると、即ちロボット1が制限領域RAに接触すると、評価ネットワークM12は報酬値Rを負値として設定する。いくつかの実施例において、使用者はロボット1の経路に影響する仮想壁VWを自ら環境に追加してもよい。
【0029】
以上をまとめると、いくつかの実施例において、ロボット1は地図の構築を必要とせず、未知の環境において、経路案内を行うことができる。移動意思決定回路20は複数の検知距離D1~D12、第1位置座標P1及び第1移動情報MD1のみをニューラルネットワークモデルM1の入力とし、入力データの複雑度が大幅に低下し、訓練が困難である問題が軽減される。評価ネットワークM12は評価値Qに漸減値を追加し、より少ない回数にて終点に到達させるような意思決定プロセスを奨励し、ニューラルネットワークモデルM1の出力の不安定性が低下する。フィルタ回路50によって、ニューラルネットワークモデルM1から出力される第2移動情報MD2を平滑化し、ロボット1がぶつかり回る確率が低下する。
【0030】
本出願の技術的内容は好ましい実施例により以上に開示されたが、それは本出願を限定するためのものではなく、当業者が本出願の精神から逸脱することなく行った若干の変更と修飾は、いずれも本出願の範疇内に含まれるものとし、よって、本出願の保護範囲は添付の特許請求の範囲に規定されたものに準ずるものとする。
【符号の説明】
【0031】
1:ロボット
10:距離センサ
20:移動意思決定回路
30:制御回路
40:移動装置
D1~D12:検知距離
M1:ニューラルネットワークモデル
MD1:第1移動情報
MD2:第2移動情報
V1:第1の2次元線速度
W1:第1角速度
V2:第2の2次元線速度
W2:第2角速度
P1:第1位置座標
P2:第2位置座標
S01~S06:ステップ
50:フィルタ回路
S07:ステップ
M11:行動ネットワーク
M12:評価ネットワーク
Q:評価値
S1:密閉空間
O1:障害物
VW:仮想壁
R1:第1経路
R2:第2経路
END:終点