(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022187529
(43)【公開日】2022-12-20
(54)【発明の名称】自律移動システム
(51)【国際特許分類】
G05D 1/02 20200101AFI20221213BHJP
【FI】
G05D1/02 L
【審査請求】未請求
【請求項の数】1
【出願形態】OL
(21)【出願番号】P 2021095546
(22)【出願日】2021-06-08
(71)【出願人】
【識別番号】504139662
【氏名又は名称】国立大学法人東海国立大学機構
(74)【代理人】
【識別番号】110000659
【氏名又は名称】弁理士法人広江アソシエイツ特許事務所
(72)【発明者】
【氏名】加藤 邦人
(72)【発明者】
【氏名】裏 優斗
(72)【発明者】
【氏名】相澤 宏旭
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA01
5H301AA10
5H301BB14
5H301CC03
5H301CC06
5H301CC10
5H301DD02
5H301DD06
5H301DD07
5H301DD15
5H301GG09
5H301HH01
5H301HH02
(57)【要約】
【課題】現在位置から目的地までの経路を生成するための環境地図や、自己位置推定のための手段を備えることなく自律移動できる自律移動システムを提供する。
【解決手段】
自律移動システムは、カメラと移動機構と制御手段とを備えている。自律移動システムの制御手段は、記憶手段と、マッチングモジュールと,データ選択アルゴリズムと、アクションモジュールとを備えている。記憶手段は、走行動作変更位置の基準画像と方向転換情報とを含む基準データのセットを記憶している。マッチングモジュールは、カメラからの入力画像と基準画像とを比較して、入力画像が基準画像と一致しているか否か判断する。データ選択アルゴリズムは、常時は直進の命令を出力し、入力画像が基準画像と一致したときに、方向転換命令を出力する。アクションモジュールは、方向転換命令に対応する学習済みの動作を、移動機構に実行させる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
カメラと移動機構と制御手段とを備えた自律移動システムであって、
前記制御手段が、
走行動作を変更すべき走行動作変更位置の基準画像と当該基準画像に対応する方向転換情報とを含む基準データのセットと、当該セットの順番とを記憶する記憶手段と、
前記カメラからの入力画像と前記基準画像とを比較して、前記入力画像が前記基準画像と一致しているか否かの判断を行うマッチングモジュールと、
常時は直進の命令を出力し、マッチングモジュールが一致したと判断したときに、所定時間の間、方向転換命令を出力するとともに、比較対象となる基準画像を、次の順番の基準データのセットの基準画像に変更するデータ選択アルゴリズムと、
前記方向転換命令に対応する学習済みの動作を、前記移動機構に実行させるアクションモジュールと、
を備えていることを特徴とする自律移動システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律移動システムに関する。特に、カメラで周辺の画像を撮影し、進路変更を行う場所の基準画像との対比を行うことで、適切な走行経路を選択することのできる自律移動システムに関する。
【背景技術】
【0002】
自律移動可能システムには、正しい目的地に到達することと、目的地までの移動中に障害物を避けて安全に走行することの二つの機能を有することが求められる。現在知られている自律移動可能システムは、正しい目的地に到達するために、移動範囲全体を含む環境地図を用いて、移動を開始する前にシステムの現在位置から目的地までの経路を生成する必要がある。これに加えて、移動時の制御には、GPS等を用いた自己位置と進行方向の把握と、カメラによる周辺環境の確認が必要である。近年では、SLAM(Simultaneous Localization and Mapping)という自己位置推定と環境地図作成の同時実行技術が実用化されているが、この技術を用いた場合であっても、目的地までの経路を生成するためには環境全体の地図が必要となる。また、環境地図と自己位置を用いた手法では、自己位置を見失ったときに再定位をするための、詳細な環境地図が必要であるが、詳細な環境地図の生成には費用がかかる。
【0003】
人間の場合は、詳細な環境地図を持たない場合でも、視覚情報のみを用いて、障害物を避けながら移動することができる。このような能力をエージェントに持たせるための模倣学習(Imitation Learning)技術が開発されている。模倣学習は、人間の操作履歴から画像などの観測情報を入力し、そのときに人間が行った操作を教師信号として用いてモデルを学習する手法である。非特許文献1,非特許文献2,および非特許文献3には、模倣学習による自動運転技術が開示されている。
【0004】
模倣学習は、ロス関数Lを最小化することによって行う。ロボットから取得されたカメラ画像をx,そのときに人間が行った操作をateacher,学習するモデルをパラメータθの関数FIL(x;θ)とすると、模倣学習は、以下の式のように表される。模倣学習を用いることで、エージェントは、カメラ画像xのみを用いて移動を行うことができる。
【0005】
【0006】
しかしながら、模倣学習では、カメラ画像から推定することのできない行動の意図や、目的別の正しい行動の選択を学習することが難しい。たとえば、実際の移動に於いては、目的地の違いによって、交差点で直進しなければならない場合と、曲がらなければならない場合がある。しかし、交差点を直進する場合も曲がる場合もカメラから取得される画像は同じ画像であるため、カメラから取得される画像のみでは直進か曲がるかの判断を行うことはできない。さらに、同じ交差点の画像に対して、直進操作、右折操作、左折操作と、3種類の異なる教師信号が与えられるため、エージェントは交差点でどのように行動するべきかを学習することができない。
【0007】
この問題を解決するためにモデルに行動の目的を表すルートコマンドを追加で入力する、条件付き模倣学習(Conditional Imitation Leaning)と呼ばれる手法が開発されている。非特許文献4には、条件付き模倣学習の手法を適用した自動運転技術が開示されている。ルートコマンドは交差点での直進、右折、左折といった道順の情報を表している。ルートコマンドを追加で入力することで、同じ交差点の画像に対して、直進するときの操作、右折するときの操作、左折するときの操作という三種類の異なる教師信号を分離して学習するための情報が与えられ、エージェントは交差点でどのように行動するべきかを学習することができる。
【0008】
条件付き模倣学習で学習するモデルをパラメータθの関数FCIL(x,c;θ)とすると,条件付きも方学習の内容は、以下の式のように表すことができる。
【0009】
【0010】
条件付き模倣学習によって学習されたエージェントは、ルートコマンドをリアルタイムで入力することで自律的に経路を制御することができる。しかしながら、エージェントが自律的にルートコマンドを生成するには、従来と同様に、環境地図と自己位置推定が必要となる。
【先行技術文献】
【非特許文献】
【0011】
【非特許文献1】D.A.Pomerleau著「ALVINN, an autonomous land vehicle in a neural network.」Technical report,Carnegie Mellon University、1989年
【非特許文献2】M.Bojarski,D.D.Testa,D.Dworakowski,B.Firner,B.Flepp,P.Goyal,L.D.Jackel,M.Monfort,U.Muller,J.Zhang,X.Zhang, J.Zhao and K. Zieba著「End to End Learning for Self-Driving Cars」arXiv:1604.07316号、2016年
【非特許文献3】H.Xu,Y.Gao,F.Yu,T.Darrell著「End-to-end Learning of Driving Models from Large-scale Video Datasets」PVCR,3530頁-3538頁、2017年
【非特許文献4】F.Codevilla,M.Muller,A.Lopez, V.Koltun、A. Dosovitskiy著「End-to-end Driving via Conditional Imitation Learning」ICRA,4693頁-4700頁、2018年
【発明の概要】
【発明が解決しようとする課題】
【0012】
従来の自律移動システムでは、移動開始の前に、現在位置から目的地までの経路を生成する必要があり、また自己位置推定を行いつつ移動する必要があった。条件付き模倣学習を行う改良された自律移動システムであっても、自律的に移動経路を設定するには、現在地から目的地までの全範囲を含む詳細な環境地図が必要であった。
【0013】
本発明は、このような現状に鑑みてなされたものであって、環境地図を用意できない場合であっても目的地に到達でき、しかも移動時の自己位置推定を必要としない、自律移動のための新たなシステムの提供を目的としてなされたものである。
【課題を解決するための手段】
【0014】
本発明は、カメラと移動機構と制御手段とを備えた自律移動システムに関する。本発明の自律移動システムの制御手段は、走行動作を変更すべき走行動作変更位置の基準画像と当該基準画像に対応する方向転換情報とを含む基準データのセットと、セットの順番とを記憶する記憶手段と、カメラからの入力画像と基準画像とを比較して、入力画像が基準画像と一致しているか否かの判断を行うマッチングモジュールと、常時は直進の命令を出力し、マッチングモジュールが一致したと判断したときに、所定時間の間、方向転換命令を出力するとともに、比較対象となる基準画像を、次の順番の基準データのセットの基準画像に変更するデータ選択アルゴリズムと、方向転換命令に対応する学習済みの動作を、移動機構に実行させるアクションモジュールと、を備えていることを特徴とする。
【発明の効果】
【0015】
本発明の自律移動システムは、走行動作を変更すべき位置を示している基準画像と、基準画像の示している位置でとるべき方向転換情報のセットに基づいて、移動を行う。そのため、現在地から目的地に至るまでの詳細かつ正確な環境地図を用意する必要がなく、環境地図作成に要する時間とコストを低減できる。
【0016】
本発明の自律移動システムは、撮影した画像と基準画像との比較によって走行動作を変更すべき位置に到達しているか否かを判断する。そのため、自己位置推定を行う必要がない。環境地図の作成と自己位置推定を同時に行う必要がないため、検知と測距のための装置を必要としない。この結果、より簡易な構成によって自律移動を可能とする。
【図面の簡単な説明】
【0017】
【
図1】
図1は、自律移動システムにおける制御手段の構成を概念的に示すブロック図である。
【
図2】
図2は、基準データのセットの構成を示す図である。
【
図3】
図3は、マッチングモジュールの構成を示すブロック図である。
【
図4】
図4は、アクションモジュールの構成を示すブロック図である。
【
図6】
図6は、実施例における自律移動システムの入力データと出力データの例を示す図である。
【発明の実施の形態】
【0018】
以下、本発明の自律移動システムの好適な実施形態を説明する。本発明の自律移動システムは、カメラと、移動機構と、制御手段とを備えている。
【0019】
本実施形態の自律移動システムにおいて、カメラは、主に、移動する方向の前方を撮影する。撮影によって得られた画像は制御手段に入力され、走行動作変更位置を示す基準画像との比較に用いられる。比較の結果は、走行動作変更位置に到達しているがあるか否かの判断に用いられる。このため、カメラ自体やその画像が測距機能や測位機能に対応する必要はなく、撮影と通信機能のみを備えた単眼カメラを単独で適用することができる。
【0020】
本実施形態の移動機構は、2輪または4輪からなる車輪と、車輪を駆動するモータとを備えているロボットであることが好ましい。モータは制御手段によって制御される。移動機構は、制御手段の命令に応じて、直進、所定の角度の右旋回、所定の角度の左旋回、停止の動作を行うことができる。
【0021】
本実施形態にて用いられる制御手段は、記憶手段と、中央演算処理装置(CPU)と、通信手段とを備えた一台のコンピュータで構成することができる。または、複数の記憶手段や複数の演算処理装置に、それぞれのモジュールの一部又は全部を分散して配置することができる。複数の記憶手段と演算処理装置を備えている場合は、ネットワークを介して自律移動に必要な一連の処理を行うことができる。
【0022】
制御手段の記憶手段には、走行動作を変更すべき走行動作変更位置の基準画像と、基準画像に対応する方向転換情報とがセットになって、動作を行う順に記憶されている。
【0023】
制御手段は、マッチングモジュールと、データ選択アルゴリズムと、アクションモジュールを備えている。マッチングモジュール、データ選択アルゴリズム、およびアクションモジュールは、それぞれの機能をコンピュータに実行させるプログラムの形態とすることができる。代替的には、マッチングモジュール、データ選択アルゴリズム、およびアクションモジュールのそれぞれを、マイクロコントローラ等の形態のハードウェアとすることができる。
【0024】
以下、図面を参照しつつ、走行動作をn回変更する場合の制御手段の構成と制御内容について説明する。
図1に、自律移動システムにおける制御手段1の構成をブロック図として示す。
【0025】
記憶手段は、走行動作の変更に使用する基準データのセットRDを移動する道順に並べて、n個の基準データのセットRD
1,RD
2,・・・RD
nの配列を、シーケンシャルファイルとして記憶している。
図2に、基準データのセットRDの構成を示す。基準データのセットRDには、走行動作を変更する必要のある走行動作変更位置を予め撮影した基準画像x
rと、走行動作変更位置で取るべき動作の情報である方向転換情報i
rとが記憶されている。方向転換情報i
rには、右折、左折、停止が含まれる。基準データのセットは、データ選択アルゴリズムによって順次呼び出される。
【0026】
自律移動システムの動作時、図示されないカメラは、所定のフレームレートで画像xを撮影し、制御手段1に送信する。撮影された画像xは、制御手段1のマッチングモジュール2とアクションモジュール4に入力されて処理される。
【0027】
マッチングモジュール2は、カメラから入力された画像xと基準画像xrが同一の場所を撮影した画像であるか、違う場所を撮影した画像であるかを判定する。そして、画像xと基準画像xr同一の場所を撮影した画像であると判定した場合、基準画像が撮影された場所、すなわち走行動作変更位置に到達したと判定する。
【0028】
図3に、マッチングモジュール2のネットワーク構造のブロック図を示す。本実施形態におけるマッチングモジュール2は、カメラから入力された画像xと基準画像x
rとが同一であるか異なるかを判定する、学習済のニューラルネットワークである。マッチングモジュール2は、学習セットに存在しない基準画像x
rについても判定の対象とすることができるように、基準画像とカメラ画像が同じクラスに属しているかを判定するワンショットクラシフィケーションシャムネットワーク(One-Shot classification Siamese Network)によって、画像xと基準画像x
rの異同を判定する。
【0029】
学習の内容は、以下の通りである。マッチングモジュール2は、重みを共有した2つの畳み込みニューラルネットワークに、基準画像xrと、基準画像との比較を行う画像xとをそれぞれ入力する。ロス関数LCLとしての対照損失(Contrastive Loss)を用い、2つの画像の間の特徴空間上の距離を算出する。ワンショットクラシフィケーション(One-Shot classification)の設定では、最終的な特徴空間への写像となる最終層をノード数1の全結合層とし,交差エントロピー誤差関数によって2つの画像が同じクラスか違うクラスかを判定している。
【0030】
学習時に、マッチングモジュール2は、2つの画像が同一のクラスに属しているときに画像の間の特徴空間上の距離を近づけ、異なるクラスに属しているときに距離を遠ざけるよう学習する。基準画像x
rと同じ場所を撮影した画像を「同一(same)」をY=1)、異なる位置を撮影した画像を「相違(Different)」、Y=0として交差エントロピー誤差関数を用いて判定を行う。ロス関数LCLは、2つの画像が同一クラスのときにY=1,異なるクラスのときにY=0、異なるクラスをできる限り分離するためのマージンをMとしたとき、以下の式(3)のように定義される。ここで、max関数は2入力のうち大きい数を出力する関数である。
【数3】
【0031】
マッチングモジュール2が判定に使用する基準画像Xrを管理するデータ選択アルゴリズム3について説明する。データ選択アルゴリズム3は、どの基準データのセットRDが判定に使用されたかを記憶しており、次にどの基準画像xrをマッチングモジュール2に提供するかを管理している。具体的には、データ選択アルゴリズム3は、基準データのセットRDの中で、マッチングモジュール2から基準画像xrに関する「同一」という判定が未だ入力されておらず、且つ列の先頭にある基準画像xrを、マッチングモジュール2に入力する。マッチングモジュール2が、カメラから入力された画像xと基準画像xrが同一の場所を撮影した画像であると判断した場合、データ選択アルゴリズム3は、所定時間の間、方向転換命令cを送信すると同時に、それまでマッチングモジュール2に提供していた基準データのセットRDに使用済のフラグをつける。そして、カメラからの入力画像xとの判定が行われていない基準データのセットRDの中で先頭となったセットを選択し、基準画像xrをマッチングモジュール2に送る。
【0032】
またデータ選択アルゴリズム3は、マッチングモジュール2から送られた判定の結果に基づいて、アクションモジュール4に送信する方向転換命令cを管理する。なお、方向転換命令cには、「直進する」という命令も含まれている。データ選択アルゴリズム3は、走行動作を変更しない期間は、直進の方向転換命令cをアクションモジュール4に継続して出力する。
【0033】
自律移動システムは、マッチングモジュール2が画像xと基準画像xrが同一の場所を撮影した画像であると判断した時点で、基準画像が撮影された場所、すなわち走行動作を変更すべき走行動作変更位置に到達したと見なすことができる。そこで、データ選択アルゴリズム3は、アクションモジュール4に対して、基準データのセットRDの中の基準画像xrの位置で取るべき動作の情報である方向転換情報irを方向転換命令cとして、前記動作を行うのに必要な所定時間の間、送信する。
【0034】
方向転換情報には、右折、左折に加えて、停止の動作を行うための命令が含まれている。
【0035】
右左折は、移動方向を指定することで実現可能である。さらに、停止の動作は、原則、継続して実行される。
【0036】
アクションモジュール4は、カメラからの入力画像xと、データ選択アルゴリズム3からの方向転換命令cを入力して、実際の走行を制御する動作命令aを決定する。アクションモジュール4は、安全な走行のための動作命令aを出力するための学習が行われた、ニューラルネットワークである。
図4に、アクションモジュール4のネットワーク構造のブロック図を示す。
【0037】
アクションモジュール4は、人間が自律走行システムを操縦して走行させたときの、記録カメラによる入力画像と方向転換命令cを抽出して入力し、人間による動作指令を教師信号として学習を行っている。人間は障害物にぶつからないように運転を行うため、人間の運転を模倣したアクションモジュールも人間と同じように障害物にぶつからない行動を学習する。動作命令aは離散値であるため、学習には交差エントロピー誤差関数を用いる。フレーム間で重みを共有した畳み込みニューラルネットワークを用いて特徴抽出をした後に畳み込み長期短期記憶(Convolutional LSTM)によって時系列情報を集約する。その後、畳み込み長期短期記憶の出力を全結合層で圧縮し、方向転換命令cと結合し、さらに3層全結合層によって動作命令aを生成している。
【0038】
従来から知られている模倣学習においては、模倣対象である人間の行動をそのまま収集した場合、予測の誤りや外的要因によって経路から逸脱したときにどのように回復するかを学習することができない。そこで、データ収集時にノイズを付与することで逸脱した経路からの回復を学習させることができる。具体的には、人間による運転時に、短時間、「前進、左旋回、右旋回」のいずれかの動作指令をノイズとしてランダムに1つ付与し、この動作指令によって発生した動作を回復させる操作の内容を学習させる。
【0039】
教師あり学習を行ったアクションモジュール4を用いて生成した動作命令aを移動機構に入力されることで、自律移動システムは障害物にぶつかることなく安全に走行することができる。たとえば、データ選択アルゴリズム3から直進の命令が入力されていても、カメラからの入力画像に障害物が映っている場合には、回避して前進することができる。
【実施例0040】
本発明の自律移動システムを具現化して自律移動を行った実施例を以下に示す。
【0041】
本実施例の自律移動システムは、移動機構として、DCブラシモータを2つ用いた対軸二輪構造のFabo JetBot(株式会社FaBo)を使用した。カメラには、画角145°の広角カメラを1台使用した。制御手段として、シングルボードコンピュータであるJetson Nano(NVIDIA社)を使用した。カメラは、毎秒3フレームの画像を出力する。
【0042】
図6に、自律移動システムの入力データと出力データの例を示す。「基準画像x
r」と「方向転換情報i
r」との名称でそれぞれを示した画像と情報は、各フレームでデータ選択アルゴリズムに与えられている基準画像と方向転換情報である。
図6に示した基準画像x
rは、方向転換を行わない地点には与えられておらず、それまでと異なる方向に移動する位置についてのみ記憶されている。しかしながら、移動の精度を高めることを目的に、直進する交差点等に基準画像x
rを与えることも可能である。基準画像X
rは、走行動作の変更が完了する毎に、順次、データ選択アルゴリズム3によって、マッチングモジュール2に入力される。
【0043】
図6において「カメラからの入力画像x」として示した画像は、本実施例の広角カメラが毎秒3フレーム撮影して出力する画像である。
【0044】
図6において「マッチングモジュールの判断基準」として示したグラフは、マッチングモジュール2が、カメラからの入力画像xと基準画像x
rの比較の結果として出力する類似度を時系列で示したグラフである。画像が完全に一致する場合には類似度=1となり,画像が全く異なる場合が類似度=0となる。類似度が閾値を超えたとき、マッチングモジュール2は、カメラからの入力画像xと基準画像x
rが同一の走行動作変更位置を撮影していると判定して、「同一」との判定結果をデータ選択アルゴリズム3に出力する。
【0045】
図6において、「データ選択アルゴリズムの出力(方向転換命令c)」として示した項目は、データ選択アルゴリズム3が出力する方向転換命令cを一定時間ごとに抽出した結果である。データ選択アルゴリズム3は、マッチングモジュールの「同一」との判定結果を受け取ったとき、走行動作の変更に必要な所定時間の間、基準画像xrとセットの方向転換情報i
rを、方向転換命令cとして出力する。データ選択アルゴリズム3は、所定時間を過ぎると、直進の方向転換命令cを出力する。
【0046】
図6において、「アクションモジュールの出力(動作命令a)」として示した項目は、アクションモジュール4が出力する動作命令aである。アクションモジュールの動作命令aは、教師あり学習を行ったアクションモジュール4を用いて生成されるものであるため、データ選択アルゴリズム3から入力される出力方向転換命令cとは必ずしも一致しない。
【0047】
図5に、本実施例で用いた2種類の自律移動コースの上面図を示す。図中白丸印の1番から9番は、テストコース1の交差点の通過順を示す番号であり、灰色の丸印1番から7番が、テストコース2の交差点の通過順を示す番号である。コースは傾斜のない平面上に設けられている。
【0048】
テストコースの走行のための学習用のデータセットとして、約2時間人間が運転したデータを収集した。マッチングモジュールの学習は、走行動作変更位置の基準画像と同じ場所を撮影した画像にラベル付けしたものを用いた。アクションモジュールの学習は、経路の逸脱を修正する方法を学習させるために、人間の運転時にノイズを付与して行った。
【0049】
実施例においては、データ選択アルゴリズム3が方向転換命令cをアクションモジュール4に出力する期間を7フレーム分(2.3秒)と14フレーム分(4.7秒)の2段階設定し、成功率を比較した。ここで、7フレーム分の期間は、移動機構が右折または左折に要する時間の平均値に相当する。また、14フレーム分の期間は、右折または左折に要する時間の最大値に相当する。さらに、比較例として、アクションモジュールに操作者がデータ選択アルゴリズム3の代わりに方向転換命令を直接入力してテストコースを走行させ、走行状態を観察した。
【0050】
テストコース1を自律移動システムが自律移動した試験結果を表1に示す。同様に、テストコース2を自律移動システムが自律移動した試験結果を表2に示し、テストコース1とテストコース2の両方の試験結果を合計した成功率を表3に示す。
【0051】
表1と表2のそれぞれの数値は、走行動作変更位置に到達した走行回数を分母にし、走行動作変更位置で移動に失敗した回数を分子とした数値である。
【0052】
【0053】
【0054】
【0055】
実施例のテストコースをそれぞれ走行させた結果として、実施例の方法では、方向転換命令cを7フレーム分出力した場合で49%の成功率で自律移動することが確認された。また、方向転換命令cを14フレーム分出力した場合では64%の成功率で自律移動することが確認された。また、アクションモジュール4に操作者が方向転換命令を直接入力した比較例では、78%の成功率で自律移動することができた。
【0056】
実施例の自律移動システムは、走行動作を変更すべき走行動作変更位置の基準画像xrと、基準画像xrに対応する方向転換情報irからなる基準データのセットRDを用いることで、目的地までの自律移動が可能となることが確認された。また、方向転換命令cの出力時間を調整することにより、自律移動の成功率が高くなることが確認された。
本発明の自律移動システムは、病院内や工場内等で、写真データと動作コマンドのセットで指定したルートを移動する搬送ロボットや、写真データと動作コマンドのセットを入力することにより、所望の目的地に移動するロボット玩具にも適用が可能である。