JP2022044980A - モデルパラメータ学習方法及び移動態様決定方法 - Google Patents
モデルパラメータ学習方法及び移動態様決定方法 Download PDFInfo
- Publication number
- JP2022044980A JP2022044980A JP2020150405A JP2020150405A JP2022044980A JP 2022044980 A JP2022044980 A JP 2022044980A JP 2020150405 A JP2020150405 A JP 2020150405A JP 2020150405 A JP2020150405 A JP 2020150405A JP 2022044980 A JP2022044980 A JP 2022044980A
- Authority
- JP
- Japan
- Prior art keywords
- data
- moving
- condition
- predetermined
- learning
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 239000013598 vector Substances 0.000 claims abstract description 54
- 238000010801 machine learning Methods 0.000 claims abstract description 7
- 238000012549 training Methods 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 4
- 239000000284 extract Substances 0.000 abstract description 3
- 238000013527 convolutional neural network Methods 0.000 description 35
- 230000008569 process Effects 0.000 description 22
- 238000005259 measurement Methods 0.000 description 17
- 238000013075 data extraction Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 9
- 230000001133 acceleration Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 238000011176 pooling Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000007717 exclusion Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/211—Selection of the most significant subset of features
- G06F18/2113—Selection of the most significant subset of features by ranking or filtering the set of features, e.g. using a measure of variance or of feature cross-correlation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social networks
- G06V10/763—Non-hierarchical techniques, e.g. based on statistics of modelling distributions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Biomedical Technology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Databases & Information Systems (AREA)
- Multimedia (AREA)
- Probability & Statistics with Applications (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Image Analysis (AREA)
Abstract
【課題】移動装置が複数の移動体が周辺に存在する環境下で移動する際に使用する移動態様モデルのモデルパラメータを効率よく適切に学習することができるモデルパラメータ学習方法などを提供する。【解決手段】学習装置30は、基準歩行者M1及び近傍歩行者M2の移動軌道を互いにリンク付けしたリンク付けデータから条件充足データを抽出し、条件充足データから特徴量ベクトルを抽出し、特徴量ベクトルを条件充足データにリンク付けし、クラスタ数を決定し、クラスタ数の全クラスタの特徴量ベクトルをクラスタリングし、クラスタ数の全クラスタの特徴量ベクトルのクラスタリングが収束したときに、特徴量ベクトルがリンク付けされている条件充足データを学習用データとして取得し、学習用データを用いて、移動態様モデルのモデルパラメータを所定の機械学習アルゴリズムにより学習する。【選択図】図11
Description
本発明は、移動装置における移動態様モデルのモデルパラメータ学習方法などに関する。
従来、モデルパラメータ学習方法として、特許文献1に記載されたものが本出願人によって既に提案されている。このモデルパラメータ学習方法は、CNNのモデルパラメータを学習するものであり、このCNNは、ロボットがショッピングモールや空港などにおいて人混みの中を移動する際、ロボットの移動方向を決定するためのものである。
このモデルパラメータ学習方法では、基準となる歩行者(以下「基準歩行者」という)が人混みの中を実際に歩行した際の移動軌道と、基準歩行者の周辺の歩行者(以下「周辺歩行者」という)の移動軌道とがLIDARを用いて取得される。そして、基準歩行者の移動軌道及び周辺歩行者の移動軌道の取得結果を学習用データとして用いて、CNNのモデルパラメータが学習される。
上記特許文献1のモデルパラメータ学習方法のように、基準歩行者の移動軌道及び周辺歩行者の移動軌道の取得結果を学習用データとして用いた場合、基準歩行者の移動軌道及び周辺歩行者の移動軌道の取得結果は、取得した状況及び環境によって偏りが大きくなりやすい。そのように偏りが大きい学習用データを用いて、CNNのモデルパラメータの学習を実行した場合、モデルパラメータを適切に学習できなくなる可能性がある。このような偏りの発生は学習用データを多数取得することによって解消することが可能であるが、その場合には、学習用データを必要以上に取得してしまうことになり、効率が悪くなってしまう。この問題は、ロボット以外の移動装置を用いた場合、CNN以外の移動態様モデルを用いた場合、又は、歩行者以外の移動体の移動軌道を取得した場合にも発生する。
本発明は、上記課題を解決するためになされたもので、移動装置が複数の移動体が周辺に存在する環境下で移動する際に使用する移動態様モデルのモデルパラメータを効率よく適切に学習することができるモデルパラメータ学習方法などを提供することを目的とする。
上記目的を達成するために、請求項1に係る発明は、移動装置(ロボット2)の周辺に複数の移動体が存在する条件下で、移動装置(ロボット2)が目的地まで移動する際の移動態様(移動方向)を決定するための移動態様モデル(CNN33a)のモデルパラメータを学習装置30によって学習するモデルパラメータ学習方法であって、学習装置30は、第1移動体の周辺に複数の第2移動体が存在する条件下で第1移動体が複数の第2移動体の各々との干渉を回避しながら目的地まで移動した場合において、各回の移動期間における第1移動体の移動態様を表す第1移動態様パラメータの時系列と、第1移動態様パラメータの時系列と同期の複数の第2移動体の移動態様をそれぞれ表す複数の第2移動態様パラメータの時系列とを互いにリンク付けしたデータであるリンク付けデータを取得する第1ステップ(移動軌道取得部32a)と、第1ステップで取得されたリンク付けデータから所定条件を満たすリンク付けデータである条件充足データを抽出し、条件充足データから特徴量ベクトルを抽出するとともに、特徴量ベクトルを条件充足データにリンク付けする第2ステップ(データ抽出記憶部32b)と、第2ステップで条件充足データにリンク付けされた特徴量ベクトルをクラスタリングする際のクラスタ数を所定手法により決定する第3ステップ(クラスタリング部32c、STEP2)と、第3ステップで決定されたクラスタ数の全クラスタの特徴量ベクトルを所定のクラスタリング手法によってクラスタリングする第4ステップ(クラスタリング部32c、STEP3)と、クラスタ数の全クラスタの特徴量ベクトルのクラスタリングが終了した場合、特徴量ベクトルがリンク付けされている条件充足データを学習用データとして取得する第5ステップ(クラスタリング部32c、STEP4~8)と、学習用データを用いて、移動態様モデルのモデルパラメータを所定の機械学習アルゴリズムにより学習する第6ステップ(学習用データ作成部32)と、を実行することを特徴とする。
このモデルパラメータ学習方法によれば、第1ステップで、第1移動体の周辺に複数の第2移動体が存在する条件下で複数の第2移動体の各々との干渉を回避しながら目的地まで移動した場合において、第1移動体の移動態様を表す第1移動態様パラメータの時系列と、第1移動態様パラメータの時系列と同期の複数の第2移動体の移動態様をそれぞれ表す複数の第2移動態様パラメータの時系列とを互いにリンク付けしたデータとして、リンク付けデータが取得される。そして、第2ステップで、リンク付けデータから所定条件を満たすリンク付けデータである条件充足データが抽出され、条件充足データから特徴量ベクトルが抽出されるとともに、特徴量ベクトルが条件充足データにリンク付けされる。さらに、第3~第5ステップが実行されることで、特徴量ベクトルのクラスタリングが実行され、学習用データが取得される。さらに、第6ステップで、この学習用データを用いて、移動態様モデルのモデルパラメータが所定の機械学習アルゴリズムにより学習される。
この場合、学習用データは、第5ステップで、クラスタ数の全クラスタの特徴量ベクトルのクラスタリングが終了した場合、特徴量ベクトルがリンク付けされている条件充足データが学習用データとして取得されるので、学習用データを、偏りのないように特徴量ベクトルがクラスタリングされたリンク付けデータとして取得することができる。それにより、そのような学習用データを用いて、移動態様モデルのモデルパラメータを所定の機械学習アルゴリズムにより学習することによって、移動態様モデルのモデルパラメータを効率よく適切に学習することができる。
請求項2に係る発明は、請求項1に記載のモデルパラメータ学習方法において、第2ステップでは、特徴量ベクトルをリンク付けした条件充足データを、第1移動体が所定領域(着目領域A)内を移動した際に所定領域内に存在する第2移動体の数n(nは1以上の整数)に対応して選別することにより、n個のデータセットが設定され、第3~第4ステップは、n個のデータセットの各々に対して個別に実行され、第5ステップでは、n個のデータセットの全てにおける特徴量ベクトルのクラスタリングが終了した場合、n個のデータセット間における条件充足データの数が互いに均等になるように調整したデータが学習用データとして取得されることを特徴とする。
この場合、第1移動体の周辺に複数の第2移動体が存在する条件下で第1移動体が複数の第2移動体の各々との干渉を回避しながら目的地まで移動した場合、第1移動体の周辺に存在する第2移動体の数は、多数の場合よりも少数の方が多くなりやすい。これに対して、このモデルパラメータ学習方法によれば、第2ステップでは、条件充足データを、第1移動体が所定領域内を移動した際に所定領域内に存在する第2移動体の数nに対応して選別することにより、n個のデータセットが設定される。そして、第3~第4ステップがn個のデータセットの各々に対して個別に実行される。さらに、第5ステップでは、n個のデータセットの全てにおける特徴量ベクトルのクラスタリングが終了した場合、n個のデータセット間における条件充足データの数が互いに均等になるように調整したデータが学習用データとして取得されるので、第2移動体の数に起因するデータの偏りの影響を回避しながら、学習用データを取得することができる。それにより、移動態様モデルのモデルパラメータをより適切に学習することができる。なお、本明細書における「条件充足データの数が互いに均等になるように調整」することは、条件充足データの数が互いに均等になるように調整することに限らず、条件充足データの数が若干(例えば、1~3個程度)、異なっているように調整することを含む。
請求項3に係る発明は、請求項1又は2に記載のモデルパラメータ学習方法において、第2ステップでは、第1移動体の移動距離が所定距離以上であること、及び、第1移動体の移動軌道において曲率半径が所定半径以下の部分が存在しないことの少なくとも一方が1次条件[(f1)~(f2)の条件]として設定されており、1次条件を満たすことが所定条件を満たすことに相当するように構成されていることを特徴とする。
このモデルパラメータ学習方法によれば、リンク付けデータから、第1移動体の移動距離が所定距離以上であること、及び、第1移動体の移動軌道において曲率半径が所定半径以下の部分が存在しないことの少なくとも一方を満たすリンク付けデータが、条件充足データとして抽出されることになる。したがって、第1移動体の移動態様が学習に適した状態にあるデータを用いて、学習用データを取得することができ、それにより、モデルパラメータの学習効果を向上させることができる。
請求項4に係る発明は、請求項3に記載のモデルパラメータ学習方法において、第2ステップでは、第1移動体が所定領域(着目領域A)内を移動した際に所定領域に進入してから所定領域を脱出していること、第1移動体が所定領域内を移動している際に1つ以上の第2移動体が所定領域内に存在すること、第1移動体の所定領域内での平均移動速度が所定の上限値と所定の下限値との間にあること、及び、第2移動体の所定領域内での平均移動速度が所定の上限値と所定の下限値との間にあることの少なくとも1つが2次条件として設定されており、1次条件に加えて2次条件をさらに満たすことが所定条件を満たすことに相当するように構成されていることを特徴とする。
このモデルパラメータ学習方法によれば、リンク付けデータから、第1条件を満たすデータに加えて、第1移動体が所定領域内を移動した際に所定領域に進入してから所定領域を脱出していること、第1移動体が所定領域内を移動している際に1つ以上の第2移動体が所定領域内に存在すること、第1移動体の所定領域内での平均移動速度が所定の上限値と所定の下限値との間にあること、及び、第2移動体の所定領域内での平均移動速度が所定の上限値と所定の下限値との間にあることの少なくとも1つを満たすリンク付けデータが、条件充足データとして抽出されることになる。したがって、第1移動体及び第2移動体の移動態様が学習に適した状態にあるデータを用いて、学習用データを取得することができ、それにより、モデルパラメータの学習効果をさらに向上させることができる。
請求項5に係る移動態様決定方法は、請求項1ないし4のいずれかに記載のモデルパラメータ学習方法によってモデルパラメータが学習された移動態様モデルを用いて、移動態様決定装置(軌道決定装置1)により、移動装置(ロボット2)の移動態様が決定されることを特徴とする。
この移動態様決定方法によれば、前述したようにモデルパラメータが学習された移動態様モデルを用いて、移動装置の移動態様が決定されるので、移動装置がその周辺に複数の移動体が存在する条件下で目的地まで移動する場合でも、移動装置の周辺に存在する移動体との干渉を回避できるように、移動装置の移動態様を決定することができる。
以下、本発明の一実施形態に係るモデルパラメータ学習方法について説明する。本実施形態のモデルパラメータ学習方法は、移動態様モデルとしての後述するCNNのモデルパラメータを学習するものであり、このCNN(Convolutional Neural Network)は、ロボット2(図1参照)の移動軌道を決定する際に用いられる。
まず、図1に示す軌道決定装置1について説明する。この軌道決定装置1は、倒立振子型のロボット2に適用されたものであり、後述する手法によって、交通参加者の存在確率が高い条件下で、ロボット2の移動軌道を決定するものである。なお、本実施形態では、軌道決定装置1が移動態様決定装置に相当する。
このロボット2は、自律移動型のものであり、図2に示す案内システム3で用いられる。この案内システム3は、ショッピングモールや空港などにおいて、ロボット2が利用者を先導しながらその目的地(例えば店舗や搭乗ゲート)まで案内する形式のものである。
図2に示すように、案内システム3は、所定の領域内を自律移動する複数のロボット2と、複数のロボット2とは別体に設けられ、利用者の目的地が入力される入力装置4と、ロボット2及び入力装置4と相互に無線通信可能なサーバ5とを備えている。
この入力装置4は、パソコンタイプのものであり、利用者(又は操作者)のマウス及びキーボードの操作によって、利用者の目的地が入力されたときに、それを表す無線信号をサーバ5に送信する。サーバ5は、入力装置4からの無線信号を受信すると、内部の地図データに基づき、利用者の目的地自体又は目的地までの中継地点を目的地Poに設定し、それを表す目的地信号をロボット2に送信する。
後述するように、ロボット2内の制御装置10は、サーバ5からの目的地信号を無線通信装置14を介して受信したときには、その目的地信号に含まれる目的地Poを読み込み、この目的地Poまでの移動軌道を決定する。また、制御装置10は、サーバ5と無線通信により、ロボット2の位置を取得する。
次に、ロボット2の機械的な構成について説明する。図1に示すように、ロボット2は、本体20と、本体20の下部に設けられた移動機構21などを備えており、この移動機構21によって路面上を全方位に移動可能に構成されている。
この移動機構21は、具体的には、例えば特開2017-56763号のものと同様に構成されているので、その詳細な説明はここでは省略するが、円環状の芯体22、複数のローラ23、第1アクチュエータ24(図3参照)及び第2アクチュエータ25(図3参照)などを備えている。
複数のローラ23は、芯体22の円周方向(軸心周り方向)に等角度間隔で並ぶように、芯体22に外挿されており、複数のローラ23の各々は、芯体22の軸心周りに、芯体22と一体に回転可能になっている。また、各ローラ23は、各ローラ23の配置位置における芯体22の横断面の中心軸(芯体22の軸心を中心とする円周の接線方向の軸)周りに回転可能になっている。
さらに、第1アクチュエータ24は、電動機で構成されており、後述する制御入力信号が制御装置10から入力されたときに、図示しない駆動機構を介して、芯体22をその軸心周りに回転駆動する。
一方、第2アクチュエータ25も、第1アクチュエータ24と同様に、電動機で構成されており、制御入力信号が制御装置10から入力されたときに、図示しない駆動機構を介して、ローラ23をその軸心周りに回転駆動する。それにより、本体20は、路面上を全方位に移動するように、第1アクチュエータ24及び第2アクチュエータ25によって駆動される。以上の構成により、ロボット2は、路面上を全方位に移動可能になっている。
次に、ロボット2の電気的な構成について説明する。図3に示すように、ロボット2は、制御装置10、カメラ11、LIDAR12、加速度センサ13及び無線通信装置14をさらに備えている。
この制御装置10は、CPU、RAM、ROM、E2PROM、I/Oインターフェース及び各種の電気回路(いずれも図示せず)などからなるマイクロコンピュータで構成されている。このE2PROM内には、ロボット2が案内する場所の地図データ及びCNNが記憶されている。この場合、CNNとしては、後述する学習装置30によって、CNNのモデルパラメータすなわち結合層の重み及びバイアス項が十分に学習されたものが記憶されている。
カメラ11は、ロボット2の周辺環境を撮像し、それを表す画像信号を制御装置10に出力する。また、LIDAR12は、レーザ光を用いて、周辺環境内の対象物までの距離などを計測し、それを表す計測信号を制御装置10に出力する。さらに、加速度センサ13は、ロボット2の加速度を検出して、それを表す検出信号を制御装置10に出力する。
制御装置10は、以上のカメラ11の画像信号及びLIDAR12の計測信号を用いて、amlc(adaptive Monte Carlo localization)手法により、ロボット2の自己位置を推定する。また、制御装置10は、LIDAR12の計測信号及び加速度センサ13の検出信号に基づいて、ロボット2の後述するx軸速度v_x及びy軸速度v_yを算出する。
さらに、制御装置10には、無線通信装置14が電気的に接続されており、制御装置10は、この無線通信装置14を介してサーバ5との間で無線通信を実行する。
次に、本実施形態の軌道決定装置1の構成及び軌道決定方法の原理について説明する。まず、図4に示す学習装置30について説明する。この学習装置30は、後述するCNNのモデルパラメータ(結合層の重み及びバイアス項)を学習するためのものであり、LIDAR31、学習用データ作成部32及びCNN学習部33を備えている。これらの要素32~33は、具体的には、図示しないコンピュータなどによって構成されている。
この学習用データ作成部32は、LIDAR31の計測結果に基づき、学習用データを作成するものであり、図4に示すように、移動軌道取得部32a、データ抽出記憶部32b、クラスタリング部32c、移動方向取得部32d及びマスク画像作成部32eを備えている。この移動軌道取得部32aでは、歩行者の移動軌道を学習するために、LIDAR31の計測結果に基づき、歩行者の移動軌道の時系列が以下に述べるように取得される。
例えば、LIDAR31によって、図5に示すように、基準歩行者M1を基準となる歩行者として設定し、平面的に見て、その進行方向に複数(図中では3人)の歩行者(以下「近傍歩行者」という)M2が不規則な配置で存在する人混みの交通環境下において、この基準歩行者M1が図6に示す位置まで実際に歩行したときの位置の変化と、複数の近傍歩行者M2の位置の変化とを計測する。
この計測は、基準歩行者M1が、近傍歩行者M2の数が異なる環境下で目的地まで多数回、歩行した際に実施され、それらの計測結果がLIDAR31から移動軌道取得部32aに入力される。そして、移動軌道取得部32aでは、LIDAR31の計測結果に基づき、基準歩行者M1の移動軌道(以下「第1移動軌道」という)Rw1及び近傍歩行者M2の移動軌道(以下「第2移動軌道」という)Rw2を、例えば図6に示すように逐次、サンプリングして記憶する。
この場合、第1移動軌道Rw1及び第2移動軌道Rw2は、基準歩行者M1の進行方向に延びる軸をx軸と規定し、基準歩行者M1の進行方向に直交する軸をy軸と規定したときの、2次元のx-y座標値の時系列として取得される。
このように、移動軌道取得部32aでは、基準歩行者M1が目的地まで多数回、歩行した際、その回数分、第1移動軌道Rw1が近傍歩行者M2の移動軌道Rw2(図参照)とリンク付けした状態で取得される。すなわち、第1移動軌道Rw1及び第2移動軌道Rw2のリンク付けデータが、基準歩行者M1の歩行回数分、取得される。
この場合、基準歩行者M1は、同一人物である必要がなく、例えば、複数の異なる歩行者が所定経路に沿って1回以上歩行するように構成してもよい。その場合には、LIDAR31によって、これらの歩行者の位置の変化と、複数の近傍歩行者M2の位置の変化とを計測し、これらの計測結果を移動軌道取得部32aに入力するように構成すればよい。
また、データ抽出記憶部32bでは、移動軌道取得部32aで取得された第1移動軌道Rw1及び第2移動軌道Rw2のリンク付けデータから、クラスタリング用のデータが以下に述べるように抽出して記憶される。
まず、第1移動軌道Rw1及び第2移動軌道Rw2のリンク付けデータから、基準歩行者M1が下記の条件(f1)~(f2)をいずれも満たしているデータが基準データとして抽出される。
(f1)基準歩行者M1の移動距離が所定距離以上であること。
(f2)基準歩行者M1の第1移動軌道Rw1において曲率半径が所定半径以下の部分が存在しないこと。
(f1)基準歩行者M1の移動距離が所定距離以上であること。
(f2)基準歩行者M1の第1移動軌道Rw1において曲率半径が所定半径以下の部分が存在しないこと。
上記の条件(f1)は、基準歩行者M1がある程度以上歩行していないと学習に適していないデータになってしまうので、そのようなデータを除外するための条件である。この場合、基準歩行者M1の移動距離は、図7に示すように算出される。すなわち、第1移動軌道Rw1におけるx座標値の最大値及び最小値と、y座標値の最大値及び最小値とによって決まる四角形の対角線の長さが、基準歩行者M1の移動距離として算出される。なお、基準歩行者M1の移動距離を基準歩行者M1の移動軌道に沿う距離として算出してもよい。
また、上記の条件(f2)は、基準歩行者M1の第1移動軌道Rw1において曲率半径が所定曲率以下の部分がある場合、基準歩行者M1が通常よりも大きく向きを変えており、急回避行動を取っていることで、学習に適していないデータとなるので、そのようなデータを除外するための条件である。
次いで、以上のように抽出した基準データから、以下に述べる手法により、条件充足データが抽出される。まず、図8に示す領域を着目領域Aとして規定する。この着目領域Aは、矩形の所定領域であり、基準歩行者M1の着目時刻(回避行動を開始する時刻)の位置を原点として、基準歩行者M1が着目領域Aへの侵入時の位置をy=0となるように設定したものである。なお、図8においては、理解の容易化のために、第1移動軌道Rw1のみが示されている。
次いで、着目領域A内での基準歩行者M1及び近傍歩行者M2のデータにおいて、下記の条件(f3)~(f6)をいずれも満たす基準歩行者M1及び近傍歩行者M2のデータが、条件充足データとして基準データから抽出される。
(f3)基準歩行者M1が着目領域Aに進入する時刻と着目領域Aから脱出する時刻が存在すること。
(f4)基準歩行者M1が着目領域A内を移動している際に1人以上の近傍歩行者M2が着目領域A内に存在すること。
(f5)基準歩行者M1の着目領域A内での平均移動速度が所定の上限値と所定の下限値との間にあること。
(f6)近傍歩行者M2の着目領域A内での平均移動速度が上記所定の上限値と上記所定の下限値との間にあること。
(f3)基準歩行者M1が着目領域Aに進入する時刻と着目領域Aから脱出する時刻が存在すること。
(f4)基準歩行者M1が着目領域A内を移動している際に1人以上の近傍歩行者M2が着目領域A内に存在すること。
(f5)基準歩行者M1の着目領域A内での平均移動速度が所定の上限値と所定の下限値との間にあること。
(f6)近傍歩行者M2の着目領域A内での平均移動速度が上記所定の上限値と上記所定の下限値との間にあること。
以上の条件(f3)~(f6)は、前述した条件(f1)~(f2)と同様に、学習に適したデータのみを抽出するための条件である。例えば、条件(f3)は、着目領域A内での基準歩行者M1の移動距離が少ない場合のデータを排除するための条件であり、条件(f4)は、近傍歩行者M2が着目領域A内にいない場合のデータを排除するための条件である。さらに、条件(f5)は、基準歩行者M1が学習に適した歩行速度域にあるデータを抽出するための条件であり、条件(f6)は、近傍歩行者M2が学習に適した歩行速度域にあるデータを抽出するための条件である。
以上の条件(f3)~(f6)で条件充足データを基準データから抽出した場合、例えば、図9に示すようなデータが得られる。この図9は、近傍歩行者M2の数が5人の場合の例であり、基準歩行者M1の○で示す位置は、着目時刻の位置であり、近傍歩行者M2の○で示す位置は、基準歩行者M1が着目時刻の位置にあるときの、近傍歩行者M2の位置である。
次に、以上のように抽出した条件充足データから、以下に述べるように、特徴量ベクトルが算出される。具体的には、特徴量ベクトルは、以下の手順(c1)~(c6)を実行することによって算出(設定)される。なお、以下の説明では、着目領域Aにおいて、基準歩行者M1に加えて、1人の近傍歩行者M2が存在する場合の例について説明する。
(c1)基準歩行者M1の着目領域A内での平均移動速度が、特徴量ベクトルの1つの要素に設定される。
(c2)基準歩行者M1の着目領域Aを脱出する位置P1(x座標値、y座標値)が抽出され、これが角度に変換される。具体的には、図10に示すように、y軸を通る直線L1と、原点から基準歩行者M1の着目領域Aを脱出する位置を通って延びる直線L2との間の角度θが算出され、これが特徴量ベクトルの1つの要素に設定される。
(c3)近傍歩行者M2の着目領域A内での平均移動速度が、特徴量ベクトルの1つの要素に設定される。
(c4)近傍歩行者M2の着目領域A内での最初の位置P2と原点との距離、近傍歩行者M2の着目時刻の位置P3と原点との距離、及び、近傍歩行者M2の着目領域A内での最後の位置P4と原点との距離が算出され、これら3つの距離が特徴量ベクトルの3つの要素に設定される。
(c5)図10に示すように、前述した直線L2と、原点から基準歩行者M1の着目領域Aを脱出する位置を通って延びる直線L3との間の角度θ’が算出される。この場合、角度θ’は、図中の反時計回りの方向を正値として算出される。次いで、sinθ’及びcosθ’が算出され、これらの値が特徴量ベクトルの3つの要素に設定される。この場合、角度θ’に代えて、sinθ’及びcosθ’を用いる理由は、θ’=180゜の場合とθ’=-180゜の場合とで、上述した3つの距離が互いに異なることによる。
(c6)以上のように(c1)~(c5)の手順による特徴量ベクトルの各要素の算出を繰り返し実施し、多数の特徴量ベクトルを全て算出した後、多数の特徴量ベクトルの各要素の正規化が実行される。すなわち、各要素の平均値及び標準偏差を算出し、これらに基づき、各要素が正規化される。以下、各要素を正規化した特徴量ベクトルを単に「特徴量ベクトル」という。
データ抽出記憶部32bでは、以上のように、多数の特徴量ベクトルを算出した後、多数の特徴量ベクトルの各々を、抽出元の条件充足データ(着目領域A内での基準歩行者M1及び近傍歩行者M2のリンク付けデータ)に紐付けすることにより、クラスタリング用のデータが作成され、これが記憶される。
この場合、クラスタリング用のデータは、着目領域A内での近傍歩行者M2の人数1~n(nは十数)に対応して、nセットのデータに選別して記憶される。以下、クラスタリング用のデータについて、着目領域A内での近傍歩行者M2の人数が1人である場合のデータセットを「1人データセット」と呼び、着目領域A内での近傍歩行者M2の人数が2人である場合のデータセットを「2人データセット」と呼ぶ。この点は、着目領域A内での近傍歩行者M2の人数が3人以上のデータセットにおいても同様である。
次に、クラスタリング部32cについて説明する。このクラスタリング部32cでは、データ抽出記憶部32bに記憶されているクラスタリング用のデータを、特徴量ベクトルに基づき、以下に述べるk-means法によってクラスタリングすることにより、学習用の軌道データ(第1移動軌道Rw1及び第2移動軌道Rw2のリンク付けデータ)が決定される。
具体的には、クラスタリング部32cでは、学習用の軌道データを決定するために、図11に示すクラスタリング処理が実行される。同図に示すように、このクラスタリング処理では、まず、データ読込処理が実行される(図11/STEP1)。このデータ読込処理では、1回目の実行時において、前述したデータ抽出記憶部32bに記憶されているクラスタリング用のデータセットの中から、1人データセットが読み出される。
そして、1回目以降の実行時においては、データの読込を実行済みでないクラスタリング用のデータセットの中から、近傍歩行者M2の数が最も少ないデータセットが読み出される。すなわち、2回目の実行時には、クラスタリング用のデータセットの中から2人データセットが読み出され、3回目の実行時には、クラスタリング用のデータセットの中から3人データセットが読み出される。
このデータ読込処理に続けて、クラスタ数決定処理が実行される(図11/STEP2)。このクラスタ数決定処理では、以下に述べる(d1)~(d3)の算出処理を実行することにより、k-means法におけるクラスタ数が決定される。なお、本実施形態では、(d1)~(d3)の算出処理が所定手法に相当する。
(d1)読み込んだクラスタリング用のデータにおける特徴量ベクトルを、クラスタ数2からクラスタ数m(mは数百の整数)までクラスタリングし、各クラスタ数に対するクラス内誤差平均平方和SSEi(i=2~m)が算出される。
(d2)ΔSSEi(=SSEi-SSEi+1)の平均値ΔSSEaveが算出される。
(d3)平均値ΔSSEaveよりも小さいΔSSEiにおいて、添え字iの最も小さい値を整数化した値がクラスタ数として決定される。
(d2)ΔSSEi(=SSEi-SSEi+1)の平均値ΔSSEaveが算出される。
(d3)平均値ΔSSEaveよりも小さいΔSSEiにおいて、添え字iの最も小さい値を整数化した値がクラスタ数として決定される。
次いで、クラスタリングが実行される(図11/STEP3)。具体的には、k-means法により、前述した特徴量ベクトルのクラスタリングが実行される。
次に、判定値算出処理が実行される(図11/STEP4)。この判定値算出処理では、以下に述べる(d4)~(d6)の処理を実行することにより、クラスタリングの収束性を判定するための判定値JUDが算出される。
(d4)上記のクラスタリングに用いた特徴量ベクトルのデータからランダムにデータを除外し、残ったデータをk-means法によりクラスタリングした後、セントロイド(重心点)同士の距離の総和Der(erは除外率)が算出される。
(d5)総和Derを数式y=a+c・exp(b・x)にフィッティングすることにより、3つの値a~cが算出される。具体的には、総和Derをyに代入し、除外率erをxに代入して、3つの値a~cが算出される。
(d6)上記で算出した値b,cを下式(1)に代入することにより、判定値JUDが算出される。
JUD=[1-ln(c)]/b ・・・ (1)
(d5)総和Derを数式y=a+c・exp(b・x)にフィッティングすることにより、3つの値a~cが算出される。具体的には、総和Derをyに代入し、除外率erをxに代入して、3つの値a~cが算出される。
(d6)上記で算出した値b,cを下式(1)に代入することにより、判定値JUDが算出される。
JUD=[1-ln(c)]/b ・・・ (1)
次いで、JUD>0が成立しているか否かが判定される(図11/STEP5)。この判定が肯定(図11/STEP5…YES)で、クラスタリングが収束しているときには、クラスタリング済みのデータが前述したデータ抽出記憶部32b内に記憶される。なお、本実施形態では、JUD>0が成立している場合が、クラスタリングが終了した場合に相当する。
次に、全セットデータのクラスタリングが終了したか否かが判定される(図11/STEP7)。すなわち、1人データセットからn人データセットまでのすべてのデータセットのクラスタリングが終了したか否かが判定される。
この判定が否定(図11/STEP7…NO)で、全セットデータのクラスタリングが終了していないときには、前述したSTEP1以降の各処理を再度実行する。
一方、この判定が肯定(図11/STEP7…YES)で、全セットデータのクラスタリングが終了したときには、学習用の軌道データ決定処理が実行される(図11/STEP8)。
この学習用の軌道データ決定処理では、以下に述べるように、学習用の軌道データが決定される。まず、データ抽出記憶部32b内に記憶されているクラスタリングが終了した1人データセットからn人データセットまでのデータセットにおいて、データ数が最も少ないデータセットを選択し、全データセットにおいて、各々のデータ数が、このデータ数が最も少ないデータセットのデータ数と同じになるように、データをランダムに選択する。そして、以上のように、全データセットにおけるデータ数を揃えたデータが学習用の軌道データとして決定される。学習用の軌道データ決定処理を以上のように実行した後、本処理が終了する。
一方、前述した判定が否定(図11/STEP5…NO)で、クラスタリングが収束していないときには、クラスタリング処理が終了する。この場合には、前述した移動軌道取得部32a及びデータ抽出記憶部32bにおいて、クラスタリングが収束しなかったデータセットに関して、前述したように、クラスタリング用のデータセットが作成される。そして、前述したように、クラスタリング部32cにおいて、クラスタリング処理が再度実行される。
また、前述した移動方向取得部32dでは、クラスタリング部32cで作成された学習用の軌道データ及びLIDAR31の計測結果に基づき、基準歩行者M1の移動方向指令の時系列が、「左方向」、「中央方向」及び「右方向」の3つの方向を要素とするベクトル値として設定される。この移動方向指令の場合、例えば、基準歩行者M1が直進しているときには、「中央方向」が値1に設定され、それ以外の「左方向」及び「右方向」が値0に設定される。
また、基準歩行者M1が右方向に移動しているときには、「右方向」が値1に設定され、それ以外の方向が値0に設定される。この場合、「右方向」は基準歩行者M1が直進方向に対して所定角度θ以上、右に移動するときに値1に設定される。さらに、基準歩行者M1が左方向に移動しているときには、「左方向」が値1に設定され、それ以外の方向が値0に設定される。この場合、「左方向」は基準歩行者M1が直進方向に対して所定角度θ以上、左に移動するときに値1に設定される。
さらに、前述したマスク画像作成部32eでは、クラスタリング部32cで作成された学習用の軌道データ及びLIDAR31の計測結果に基づき、マスク画像(図12参照)の時系列が作成される。このマスク画像は、基準歩行者M1の視界に存在する近傍歩行者M2の配置を示すものであり、例えば、図12に示すように、3人の近傍歩行者M2が存在する場合、これらの近傍歩行者M2の位置が3つの矩形のボックスBとして表示される。同図において、3つのボックスBの破線で示す領域は実際には赤色で表示され、それ以外の点描で示す領域は実際には黒色で表示される。
これと同時に、マスク画像の上端部には、計測時の目的地Poの位置が矩形の白色ボックスとして表示される。この目的地Poは、基準歩行者M1の現時点の自己位置を基準としたときの前方の中央位置を0degとして、-90deg~90degの範囲内の値として設定される。
さらに、このマスク画像の下端には、基準歩行者M1のx軸速度v_x及びy軸速度v_yが、2つの矩形の白色ボックスとして表示される。これらのx軸速度v_x及びy軸速度v_yはそれぞれ、基準歩行者M1のx軸方向及びy軸方向の速度成分であり、基準歩行者M1の最小移動速度v_min(例えば値0)と最大移動速度v_maxの範囲内の値として設定される。
そして、学習用データ作成部32では、以上のように取得された基準歩行者M1の移動方向指令の時系列及びマスク画像の時系列において、互いに同期の時系列がリンク付けされることにより、多数の学習用データが作成される。これらの学習用データは、学習用データ作成部32からCNN学習部33に入力される。
図13に示すように、CNN学習部33は、CNN33aを備えており、このCNN33aは、畳み込み層(図ではConvと表記)33b及びプーリング層(図ではpoolと表記)33cと、全結合層(図ではFCと表記)33dとを備えている。CNN33aでは、複数組(1組のみ図示)の畳み込み層33b及びプーリング層33cが互いに交互に配置されており、全結合層33dは、図示しないが、複数の結合層で構成されている。なお、本実施形態では、CNN33aが移動態様モデルに相当する。
CNN33aでは、学習用データ作成部32から学習用データが入力された場合、学習用データのうちのマスク画像は、CNN33aの最上層の畳み込み層33bに入力され、その後、最下層のプーリング層33cの出力が全結合層33dに入力される。また、移動方向指令も全結合層33dに入力される。
そして、最下層のプーリング層33cの出力及び移動方向指令が全結合層33dで結合されることにより、出力指令が全結合層33dから出力される。この出力指令は、移動方向指令と同じ3つのラベル(「左方向」、「中央方向」及び「右方向」)を有し、これらのラベルの確率を表す値として出力される。
CNN学習部33では、移動方向指令と出力指令の損失関数(例えば平均2乗和誤差)を用い、誤差逆伝播法により、CNN33aの全結合層33dの重み及びバイアス項が演算される。すなわち、CNN33aのモデルパラメータの学習演算が実行される。そして、以上の学習演算を多数回、実行することにより、CNN学習部33におけるCNN33aのモデルパラメータの学習演算が終了する。この学習装置30では、以上のように、CNN33aのモデルパラメータの学習が実行される。
次に、図14を参照しながら、本実施形態の軌道決定装置1の構成について説明する。軌道決定装置1は、以下に述べる手法によって、ロボット2の軌道としての移動速度指令vを決定(算出)するものであり、この移動速度指令vは、ロボット2のx軸速度v_x及びy軸速度v_yの目標となる目標x軸速度v_x_cmd及び目標y軸速度v_y_cmdを要素とするものである。
同図に示すように、軌道決定装置1は、マスク画像作成部50、移動方向決定部51、暫定移動速度決定部52及び移動速度決定部53を備えており、これらの要素50~53は、具体的には、制御装置10によって構成されている。
まず、マスク画像作成部50について説明する。このマスク画像作成部50では、カメラ11からの画像信号及びLIDAR12からの計測信号が入力されると、SSD(Single Shot MultiBox Detector)手法により、マスク画像が作成される。
このマスク画像内には、前述した図12のマスク画像のボックスBと同様に、前方の歩行者を含む交通参加者のボックス(図示せず)が表示され、ロボット2のx軸速度v_x、y軸速度v_y及び目的地Po(いずれも図示せず)が表示される。
この場合、交通参加者の位置及びサイズは、カメラ11の画像信号及びLIDAR12の計測信号に基づいて決定される。また、ロボット2のx軸速度v_x及びy軸速度v_yは、LIDAR12の計測信号及び加速度センサ13の検出信号に基づいて決定される。さらに、目的地Poは、サーバ5からの目的地信号(図示せず)によって決定される。以上のように作成されたマスク画像は、マスク画像作成部50から移動方向決定部51に出力される。
一方、移動方向決定部51は、前述したCNN学習部33でモデルパラメータが学習されたCNN(図示せず)を備えており、このCNNを用いて、ロボット2の移動方向を以下のように決定する。
まず、移動方向決定部51では、マスク画像作成部50からのマスク画像がCNNに入力されると、前述した出力指令がCNNから出力される。次いで、出力指令の3つの要素(「左方向」、「中央方向」及び「右方向」)のうち、最大値の要素の方向がロボット2の移動方向として決定される。そして、以上のように決定されたロボット2の移動方向は、移動方向決定部51から暫定移動速度決定部52に出力される。
この暫定移動速度決定部52では、移動方向決定部51からのロボット2の移動方向と、ロボット2のx軸速度v_x及びy軸速度v_yとに基づき、暫定移動速度指令v_cnnを算出する。この暫定移動速度指令v_cnnは、ロボット2のx軸速度の暫定値v_x_cnn及びy軸速度の暫定値v_y_cnnを要素とするものである。次いで、以上のように決定されたロボット2の暫定移動速度指令v_cnnは、暫定移動速度決定部52から移動速度決定部53に出力される。
この移動速度決定部53では、暫定移動速度指令v_cnnに基づき、DWA(Dynamic Window Approach)を適用したアルゴリズムにより、移動速度指令vが決定される。この移動速度指令vは、目標x軸速度v_x_cmd及び目標y軸速度v_y_cmdを要素とするものである。
本実施形態の軌道決定装置1では、以上のように、目標x軸速度v_x_cmd及び目標y軸速度v_y_cmdを要素とする移動速度指令vが決定される。そして、ロボット2が移動速度指令vで移動するように、第1及び第2アクチュエータ24,25が制御される。
以上のように、本実施形態のモデルパラメータ学習方法によれば、移動軌道取得部32aにおいて、第1移動軌道Rw1及び第2移動軌道Rw2のリンク付けデータが取得され、データ抽出記憶部32bにおいて、第1移動軌道Rw1及び第2移動軌道Rw2のリンク付けデータから、前述した条件(f1)~(f6)をいずれも満たすデータが条件充足データとして取得され、特徴量ベクトルが手順(c1)~(c6)によって条件充足データから算出されるとともに、クラスタリング用のデータが、特徴量ベクトルを条件充足データにリンク付けしたデータとして取得され、記憶される。その際、クラスタリング用のデータは、着目領域A内での近傍歩行者M2の人数nに対応して、n個のデータセットに選別して記憶される。
また、クラスタリング部32cでは、データ抽出記憶部32bに記憶されているn個のデータセットの各々に対して、近傍歩行者M2の人数nの少ないデータセットから順に図11のクラスタリング処理を実行することにより、学習用の軌道データが取得される。このクラスタリング処理では、クラスタ数が決定され、特徴量ベクトルのクラスタリングが実行される。そして、n個の全データセットのクラスタリングが終了した際、全データセット間のデータ数を均等に揃えたデータが、学習用の軌道データとして取得される。
このように特徴量ベクトルがクラスタリングされるので、特徴量ベクトルがリンク付けされた学習用の軌道データを、偏りのないようにクラスタリングされたデータとして取得することができる。これに加えて、全クラスタの各々のリンク付けデータの数が均等になるように、学習用の軌道データが取得されるので、学習用の軌道データの均一性を確保することができる。
さらに、移動方向取得部32dでは、クラスタリング部32cで作成された学習用の軌道データ及びLIDAR31の計測結果に基づき、サンプリング時の基準歩行者M1の移動方向指令の時系列が取得(算出)され、マスク画像作成部32eでは、クラスタリング部32cで作成された学習用の軌道データ及びLIDAR31の計測結果に基づき、マスク画像の時系列が作成されるとともに、これらの移動方向指令の時系列及びマスク画像の時系列を学習用データとして用いて、CNN33aのモデルパラメータの学習が実行される。
このように、マスク画像が、偏りのないようにクラスタリングされた学習用の軌道データを用いて作成され、そのようなマスク画像を学習用データとして用いることにより、CNN33aのモデルパラメータが学習されるので、このモデルパラメータを効率よく適切に学習することができる。
さらに、前述した条件(f1)~(f6)は、基準歩行者M1及び近傍歩行者M2の移動態様が学習に適した状態にあることを判定するためのものであるので、準歩行者M1及び近傍歩行者M2の移動態様が学習に適した状態にあるデータを用いて、学習用データを取得することができる。それにより、モデルパラメータの学習効果を向上させることができる。
これに加えて、軌道決定装置1の移動方向決定部51では、CNN学習部33でモデルパラメータが学習されたCNNを用いて、ロボット2の移動方向が決定されるので、ロボット2が人混みが存在する環境下で移動する場合でも、ロボット2の周辺に存在する歩行者との干渉を回避できるように、ロボット2の移動方向を適切に決定することができる。
なお、実施形態は、第1移動体として、基準歩行者M1を用いた例であるが、本発明の第1移動体は、これに限らず、複数の第2移動体の各々との干渉を回避しながら移動できるものであればよい。例えば、第1移動体として、自律移動型のロボットを用いてもよく、自動運転可能な車両を用いてもよい。
また、実施形態は、第2移動体として、近傍歩行者M2を用いた例であるが、これに代えて、第2移動体として、自律移動型のロボット、自動運転可能な車両又は動物などを用いてもよい。
さらに、本発明の移動体は、歩行者、自律移動型のロボット、自動運転可能な車両又は動物などであってもよい。
また、実施形態は、移動装置として、ロボット2を用いた例であるが、本発明の移動装置は、これに限らず、移動装置の周辺に複数の移動体が存在する条件下で目的地まで移動するものであればよい。例えば、移動装置として、車両型のロボット又は2足歩行型のロボットを用いてもよい。
さらに、実施形態は、移動装置の移動態様として、ロボットの移動方向を用いた例であるが、本発明の移動態様は、これに限らず、移動装置が目的地まで移動する際の移動態様を表すものであればよい。例えば、移動態様として、ロボットの移動速度(vx,vy)を用いてもよく、その場合には、CNN学習部33において、移動速度を出力とするCNN33aのモデルパラメータを学習するように構成すればよい。
一方、実施形態は、移動態様モデルとしてCNNを用いた例であるが、本発明の移動態様モデルは、これに限らず、移動装置が目的地まで移動する際の移動態様を決定するためのものであればよい。例えば、移動態様モデルとして、RNN(Recurrent Neural Network)及びDQN(deep Q-network)などを用いてもよい。
また、実施形態は、所定のクラスタリング手法として、k-means法を用いた例であるが、本発明の所定のクラスタリング手法は、これに限らず、特徴量ベクトルのクラスタリングを実行するものであればよい。例えば、所定のクラスタリング手法として、超体積法などを用いてもよい。また、実施形態は、クラスタリングが収束したか否かを判定した例であるが、これに代えて、クラスタリングが終了したか否かを判定してもよい。
さらに、実施形態は、所定の機械学習アルゴリズムとして、誤差逆伝播法を用いた例であるが、本発明の所定の機械学習アルゴリズムは、これに限らず、移動態様モデルのモデルパラメータを学習するものであればよい。例えば、サポートベクターマシンなどを用いてもよい。
一方、実施形態は、所定領域として、着目領域Aを用いた例であるが、本発明の所定領域は、これに限らず、第1移動体及び第2移動体が移動する領域であればよい。例えば、所定領域を5角以上の多角形領域としてもよく、楕円形又は円形の領域としてもよい。
また、実施形態は、データ抽出記憶部32bにおいて、第1移動軌道Rw1及び第2移動軌道Rw2のリンク付けデータから、前述した条件(f1)~(f6)がいずれも満たされているデータを条件充足データとして抽出した例であるが、データ抽出記憶部32bにおいて、下記のように条件充足データを抽出するように構成してもよい。
例えば、前述した(f1)~(f2)の少なくとも一方を1次条件とし、この1次条件が満たされているデータを、第1移動軌道Rw1及び第2移動軌道Rw2のリンク付けデータから、条件充足データとして抽出するように構成してもよい。さらに、前述した2次条件(f3)~(f6)の少なくとも1つを2次条件とし、1次条件に加えて2次条件が満たされているデータを、第1移動軌道Rw1及び第2移動軌道Rw2のリンク付けデータから、条件充足データとして抽出するように構成してもよい。
1 軌道決定装置(移動態様決定装置)
2 ロボット(移動装置)
30 学習装置
32 学習用データ作成部(第6ステップ)
32a 移動軌道取得部(第1ステップ)
32b データ抽出記憶部(第2ステップ)
32c クラスタリング部(第3~第5ステップ)
33a CNN(移動態様モデル)
35 環境情報画像(環境情報)
M1 基準歩行者(第1移動体)
M2 近傍歩行者(第2移動体)
A 着目領域(所定領域)
2 ロボット(移動装置)
30 学習装置
32 学習用データ作成部(第6ステップ)
32a 移動軌道取得部(第1ステップ)
32b データ抽出記憶部(第2ステップ)
32c クラスタリング部(第3~第5ステップ)
33a CNN(移動態様モデル)
35 環境情報画像(環境情報)
M1 基準歩行者(第1移動体)
M2 近傍歩行者(第2移動体)
A 着目領域(所定領域)
Claims (5)
- 移動装置の周辺に複数の移動体が存在する条件下で、当該移動装置が目的地まで移動する際の移動態様を決定するための移動態様モデルのモデルパラメータを学習装置によって学習するモデルパラメータ学習方法であって、
前記学習装置は、
第1移動体の周辺に複数の第2移動体が存在する条件下で当該第1移動体が当該複数の第2移動体の各々との干渉を回避しながら前記目的地まで移動した場合において、各回の移動期間における前記第1移動体の前記移動態様を表す第1移動態様パラメータの時系列と、当該第1移動態様パラメータの時系列と同期の前記複数の第2移動体の移動態様をそれぞれ表す複数の第2移動態様パラメータの時系列とを互いにリンク付けしたデータであるリンク付けデータを取得する第1ステップと、
当該第1ステップで取得されたリンク付けデータから所定条件を満たすリンク付けデータである条件充足データを抽出し、当該条件充足データから特徴量ベクトルを抽出するとともに、当該特徴量ベクトルを当該条件充足データにリンク付けする第2ステップと、
当該第2ステップで前記条件充足データにリンク付けされた前記特徴量ベクトルをクラスタリングする際のクラスタ数を所定手法により決定する第3ステップと、
当該第3ステップで決定された前記クラスタ数の全クラスタの前記特徴量ベクトルを所定のクラスタリング手法によってクラスタリングする第4ステップと、
前記全クラスタの前記特徴量ベクトルのクラスタリングが終了した場合、当該特徴量ベクトルがリンク付けされている前記条件充足データを学習用データとして取得する第5ステップと、
前記学習用データを用いて、前記移動態様モデルのモデルパラメータを所定の機械学習アルゴリズムにより学習する第6ステップと、
を実行することを特徴とするモデルパラメータ学習方法。 - 請求項1に記載のモデルパラメータ学習方法において、
前記第2ステップでは、前記特徴量ベクトルをリンク付けした条件充足データを、前記第1移動体が所定領域内を移動した際に当該所定領域内に存在する前記第2移動体の数n(nは1以上の整数)に対応して選別することにより、n個のデータセットが設定され、
前記第3~第4ステップは、当該n個のデータセットの各々に対して個別に実行され、
前記第5ステップでは、前記n個のデータセットの全てにおける前記特徴量ベクトルのクラスタリングが終了した場合、当該n個のデータセット間における前記条件充足データの数が互いに均等になるように調整したデータが前記学習用データとして取得されることを特徴とするモデルパラメータ学習方法。 - 請求項1又は2に記載のモデルパラメータ学習方法において、
前記第2ステップでは、前記第1移動体の移動距離が所定距離以上であること、及び、前記第1移動体の移動軌道において曲率半径が所定半径以下の部分が存在しないことの少なくとも一方が1次条件として設定されており、当該1次条件を満たすことが前記所定条件を満たすことに相当するように構成されていることを特徴とするモデルパラメータ学習方法。 - 請求項3に記載のモデルパラメータ学習方法において、
前記第2ステップでは、
前記第1移動体が所定領域内を移動した際に当該所定領域に進入してから当該所定領域を脱出していること、
前記第1移動体が前記所定領域内を移動している際に1つ以上の前記第2移動体が当該所定領域内に存在すること、
前記第1移動体の前記所定領域内での平均移動速度が所定の上限値と所定の下限値との間にあること、
及び、前記第2移動体の前記所定領域内での平均移動速度が前記所定の上限値と前記所定の下限値との間にあることの少なくとも1つが2次条件として設定されており、
前記1次条件に加えて当該2次条件をさらに満たすことが前記所定条件を満たすことに相当するように構成されていることを特徴とするモデルパラメータ学習方法。 - 請求項1ないし4のいずれかに記載のモデルパラメータ学習方法によって前記モデルパラメータが学習された前記移動態様モデルを用いて、移動態様決定装置により、前記移動装置の前記移動態様が決定されることを特徴とする移動態様決定方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020150405A JP2022044980A (ja) | 2020-09-08 | 2020-09-08 | モデルパラメータ学習方法及び移動態様決定方法 |
DE102021121945.0A DE102021121945A1 (de) | 2020-09-08 | 2021-08-24 | Modellparameter-lernverfahren und bewegungsmodus-bestimmungsverfahren |
US17/459,157 US20220076163A1 (en) | 2020-09-08 | 2021-08-27 | Model parameter learning method and movement mode determination method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020150405A JP2022044980A (ja) | 2020-09-08 | 2020-09-08 | モデルパラメータ学習方法及び移動態様決定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022044980A true JP2022044980A (ja) | 2022-03-18 |
Family
ID=80266968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020150405A Pending JP2022044980A (ja) | 2020-09-08 | 2020-09-08 | モデルパラメータ学習方法及び移動態様決定方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20220076163A1 (ja) |
JP (1) | JP2022044980A (ja) |
DE (1) | DE102021121945A1 (ja) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6417305B2 (ja) | 2015-09-14 | 2018-11-07 | 本田技研工業株式会社 | 摩擦式走行装置および乗物 |
WO2020136978A1 (ja) | 2018-12-27 | 2020-07-02 | 本田技研工業株式会社 | 経路決定方法 |
-
2020
- 2020-09-08 JP JP2020150405A patent/JP2022044980A/ja active Pending
-
2021
- 2021-08-24 DE DE102021121945.0A patent/DE102021121945A1/de active Pending
- 2021-08-27 US US17/459,157 patent/US20220076163A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20220076163A1 (en) | 2022-03-10 |
DE102021121945A1 (de) | 2022-03-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11604469B2 (en) | Route determining device, robot, and route determining method | |
JP7130062B2 (ja) | 経路決定方法 | |
Cho et al. | Autonomous ship deck landing of a quadrotor UAV using feed-forward image-based visual servoing | |
Cyba et al. | A simple vision-based navigation and control strategy for autonomous drone racing | |
US11986964B2 (en) | Path determination device, robot, and path determination method | |
US11467592B2 (en) | Route determination method | |
Kim et al. | Single 2D lidar based follow-me of mobile robot on hilly terrains | |
Müller et al. | RatSLAM on humanoids-a bio-inspired SLAM model adapted to a humanoid robot | |
JP2022044980A (ja) | モデルパラメータ学習方法及び移動態様決定方法 | |
US20220108104A1 (en) | Method for recognizing recognition target person | |
US20220076004A1 (en) | Model parameter learning method and movement mode parameter determination method | |
US11669096B2 (en) | Route determination method | |
US11693416B2 (en) | Route determination method | |
Kangutkar et al. | ROS navigation stack for smart indoor agents | |
de Geus et al. | PathFinder: An autonomous mobile robot guided by computer vision | |
Singh et al. | RHFSafeUAV: Real-Time Heuristic Framework for Safe Landing of UAVs in Dynamic Scenarios | |
Singh et al. | Real-Time Heuristic Framework for Safe Landing of UAVs in Dynamic Scenarios |