IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社ダイヘンの特許一覧

<>
  • 特許-移動体、学習器、及び学習器製造方法 図1
  • 特許-移動体、学習器、及び学習器製造方法 図2
  • 特許-移動体、学習器、及び学習器製造方法 図3
  • 特許-移動体、学習器、及び学習器製造方法 図4
  • 特許-移動体、学習器、及び学習器製造方法 図5A
  • 特許-移動体、学習器、及び学習器製造方法 図5B
  • 特許-移動体、学習器、及び学習器製造方法 図6A
  • 特許-移動体、学習器、及び学習器製造方法 図6B
  • 特許-移動体、学習器、及び学習器製造方法 図6C
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-10-04
(45)【発行日】2023-10-13
(54)【発明の名称】移動体、学習器、及び学習器製造方法
(51)【国際特許分類】
   G05D 1/02 20200101AFI20231005BHJP
【FI】
G05D1/02 J
【請求項の数】 5
(21)【出願番号】P 2018244276
(22)【出願日】2018-12-27
(65)【公開番号】P2020107024
(43)【公開日】2020-07-09
【審査請求日】2021-10-07
(73)【特許権者】
【識別番号】000000262
【氏名又は名称】株式会社ダイヘン
(74)【代理人】
【識別番号】100115749
【弁理士】
【氏名又は名称】谷川 英和
(74)【代理人】
【識別番号】100121223
【弁理士】
【氏名又は名称】森本 悟道
(72)【発明者】
【氏名】坂原 洋人
【審査官】大古 健一
(56)【参考文献】
【文献】米国特許出願公開第2017/0116485(US,A1)
【文献】国際公開第2020/062031(WO,A1)
【文献】特開2005-25501(JP,A)
【文献】特開2007-316799(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/00 - 1/12
(57)【特許請求の範囲】
【請求項1】
屋内を自律的に移動する移動体であって、
移動体の周囲の情報である訓練用入力情報と、当該周囲の情報に応じた前記移動体の速度である訓練用出力情報との組を複数用いて学習された学習器が記憶される記憶部と、
前記移動体の周囲の情報である周囲情報を取得するセンサと、
前記周囲情報を前記学習器に適用することによって、当該学習器からの出力である、当該周囲情報に対応する前記移動体の速度を取得する速度取得部と、
前記移動体の現在位置を取得する現在位置取得部と、
前記移動体を移動させる移動機構と、
前記現在位置を用いて前記移動機構を制御する移動制御部と、を備え、
前記移動制御部は、前記移動体の速度が前記速度取得部によって取得された速度以下となるように制御する、移動体。
【請求項2】
前記センサは、複数方向に関して周囲の物体までの距離を測定する測距センサである、請求項1記載の移動体。
【請求項3】
移動体の周囲の情報である訓練用入力情報と、当該周囲の情報に応じた前記移動体の速度である訓練用出力情報との複数の組の学習結果である学習器であって、
屋内を自律的に移動する移動体の周囲の情報である周囲情報が適用されると、当該周囲情報に応じた前記移動体の速度を出力することができ、出力される速度は、前記移動体がそれ以下で移動する速度である、学習器。
【請求項4】
訓練情報受付部と、学習器製造部と、学習器出力部とを用いて処理される学習器製造方法であって、
前記訓練情報受付部が、移動体の周囲の情報である訓練用入力情報と、当該周囲の情報に応じた前記移動体の速度である訓練用出力情報との組を複数受け付ける訓練情報受付ステップと、
前記学習器製造部が、前記訓練用入力情報と前記訓練用出力情報との複数の組を学習することによって学習器を製造する学習器製造ステップと、
前記学習器出力部が、前記学習器を出力する学習器出力ステップと、を備え、
屋内を自律的に移動する移動体の周囲の情報である周囲情報が前記学習器に適用されると、当該周囲情報に応じた前記移動体の速度を出力することができ、出力される速度は、前記移動体がそれ以下で移動する速度である、学習器製造方法。
【請求項5】
前記学習器製造方法は、速度受付部と、加速度生成部と、速度変更部とをさらに用いて処理され、
前記速度受付部が、前記訓練用入力情報に対応する移動体の速度を受け付ける速度受付ステップと、
前記加速度生成部が、前記速度受付ステップにおいて受け付けられた速度と過去の速度とから加速度を生成する加速度生成ステップと、
前記速度変更部が、前記加速度生成ステップにおいて生成された減速の加速度の絶対値が閾値を超える場合には、前記速度受付ステップにおいて受け付けられた速度を、当該速度よりも小さい速度に変更する速度変更ステップと、をさらに備え、
前記訓練情報受付ステップでは、前記速度変更ステップにおける速度の変更が行われた場合には、前記速度変更ステップで変更された速度である訓練用出力情報を受け付ける、請求項4記載の学習器製造方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律的に移動する移動体等に関する。
【背景技術】
【0002】
従来の移動体において、移動体の周囲に存在する障害物の検知を行い、障害物を検知した場合には、その障害物との衝突を防ぐために、例えば減速したり停止したりしていた(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2015-103227号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
移動体が見通しのよい移動領域を移動している場合には、遠くの障害物を検知でき、容易に障害物との衝突を回避できるため、移動速度を上げることができる。一方、移動体が見通しのよくない移動領域を移動している場合には、移動体にとって死角となる位置から障害物が飛び出してくるおそれがある。そのような危険性を考慮すると、安全性を向上させるために、移動体がどのような移動領域を移動している場合であっても、最高速度を、死角からの障害物の飛び出しに応じて停止や減速を適切に行うことができる速度に設定する必要があった。その結果として、移動体の移動速度が全体として低下してしまい、効率的な移動を実現できないという問題があった。
【0005】
本発明は、上記課題を解決するためになされたものであり、高速な移動と、安全性の確保とを両立することができる移動体等を提供することを目的とする。
【課題を解決するための手段】
【0006】
上記目的を達成するため、本発明による移動体は、自律的に移動する移動体であって、移動体の周囲の情報である訓練用入力情報と、周囲の情報に応じた移動体の速度である訓練用出力情報との組を複数用いて学習された学習器が記憶される記憶部と、移動体の周囲の情報である周囲情報を取得するセンサと、周囲情報を学習器に適用することによって、周囲情報に対応する移動体の速度を取得する速度取得部と、移動体の現在位置を取得する現在位置取得部と、移動体を移動させる移動機構と、現在位置を用いて移動機構を制御する移動制御部と、を備え、移動制御部は、移動体の速度が速度取得部によって取得された速度以下となるように制御する、ものである。
このような構成により、移動体の周囲の状況に応じた速度以下となるように、移動体の速度を制御することができる。したがって、例えば、減速や停止の可能性が低い、見通しのよい移動環境においては速度を上げることができ、高速な移動を実現できる。また、例えば、減速や停止の可能性が高い、見通しのよくない移動環境においては低速移動を行うことができ、安全性を確保することができる。このようにして、高速な移動と、安全性の確保とを両立することが可能となる。
【0007】
また、本発明による移動体では、センサは、複数方向に関して周囲の物体までの距離を測定する測距センサであってもよい。
このような構成により、測距結果に応じた周囲情報を用いて、速度を取得することができる。
【0008】
また、本発明による学習器は、移動体の周囲の情報である訓練用入力情報と、周囲の情報に応じた移動体の速度である訓練用出力情報との複数の組の学習結果である学習器であって、自律的に移動する移動体の周囲の情報である周囲情報が適用されると、周囲情報に応じた移動体の速度を取得することができる、ものである。
このような構成により、この学習器を用いることによって、移動体の周囲の状況に応じた速度を容易に取得することができるようになる。また、そのようにして取得した速度以下で移動体を移動させることによって、移動体の高速での移動と、安全性の確保とを両立させることができるようになる。
【0009】
また、本発明による学習器製造方法は、訓練情報受付部と、学習器製造部と、学習器出力部とを用いて処理される学習器製造方法であって、訓練情報受付部が、移動体の周囲の情報である訓練用入力情報と、周囲の情報に応じた移動体の速度である訓練用出力情報との組を複数受け付ける訓練情報受付ステップと、学習器製造部が、訓練用入力情報と訓練用出力情報との複数の組を学習することによって学習器を製造する学習器製造ステップと、学習器出力部が、学習器を出力する学習器出力ステップと、を備えたものである。
このような構成により、移動体の周囲の状況に応じた速度を取得するために用いられる学習器を製造することができるようになる。
【0010】
また、本発明による学習器製造方法では、学習器製造方法は、速度受付部と、加速度生成部と、速度変更部とをさらに用いて処理され、速度受付部が、訓練用入力情報に対応する移動体の速度を受け付ける速度受付ステップと、加速度生成部が、速度受付ステップにおいて受け付けられた速度から加速度を生成する加速度生成ステップと、速度変更部が、加速度生成ステップにおいて生成された減速の加速度の絶対値が閾値を超える場合には、速度受付ステップにおいて受け付けられた速度を、速度よりも小さい速度に変更する速度変更ステップと、をさらに備え、訓練情報受付ステップでは、速度変更ステップにおける速度の変更が行われた場合には、速度変更ステップで変更された速度である訓練用出力情報を受け付けてもよい。
このような構成により、移動体の速度の変化に応じて、学習に用いられる訓練情報を自動的に生成することができるようになる。
【発明の効果】
【0011】
本発明によれば、高速な移動と安全性の確保とを両立することができる移動体等を提供することができる。
【図面の簡単な説明】
【0012】
図1】本発明の実施の形態による移動体の構成を示すブロック図
図2】同実施の形態による学習器製造装置の構成を示すブロック図
図3】同実施の形態による移動体の動作を示すフローチャート
図4】同実施の形態による学習器製造装置の動作を示すフローチャート
図5A】同実施の形態における測距センサを有する移動体の一例を示す図
図5B】同実施の形態におけるイメージセンサを有する移動体の一例を示す図
図6A】同実施の形態における移動体の移動状況の一例を示す図
図6B】同実施の形態における移動体の移動状況の一例を示す図
図6C】同実施の形態における移動体の移動状況の一例を示す図
【発明を実施するための形態】
【0013】
以下、本発明による移動体について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。本実施の形態による移動体は、移動体の周囲の状況に応じた速度で移動することによって、減速や停止の可能性が低い場合には高速移動を行うことができ、減速や停止の可能性が高い場合には低速移動を行うようにすることができる。
【0014】
図1は、本実施の形態による移動体1の構成を示すブロック図である。本実施の形態による移動体1は、自律的に移動するものであり、センサ11と、記憶部12と、速度取得部13と、移動機構14と、現在位置取得部15と、障害物検知部16と、移動制御部17とを備える。なお、移動体1が自律的に移動するとは、移動体1がユーザ等から受け付ける操作指示に応じて移動するのではなく、自らの判断によって目的地に移動することであってもよい。その目的地は、例えば、手動で決められたものであってもよく、または、自動的に決定されたものであってもよい。また、その目的地までの移動は、例えば、移動経路に沿って行われてもよく、または、そうでなくてもよい。また、自らの判断によって目的地に移動するとは、例えば、進行方向、移動や停止などを移動体1が自ら判断することによって、目的地まで移動することであってもよい。また、例えば、移動体1が、障害物に衝突しないように移動することであってもよい。移動体1は、例えば、台車であってもよく、移動するロボットであってもよい。ロボットは、例えば、エンターテインメントロボットであってもよく、監視ロボットであってもよく、搬送ロボットであってもよく、清掃ロボットであってもよく、動画や静止画を撮影するロボットであってもよく、その他のロボットであってもよい。
【0015】
センサ11は、移動体1の周囲の情報である周囲情報を取得する。センサ11が取得する周囲情報には、移動体1の移動方向の前方の情報であることが好適である。また、移動体1の移動方向の前方右側の障害物や、前方左側の障害物も検知することができるようにするため、周囲情報には、移動体1の移動方向の前方の所定の角度範囲(例えば、少なくとも45度から120度程度の範囲等)の情報が少なくとも含まれていることがさらに好適である。センサ11は、図5Aで示されるように、複数方向に関して周囲の物体までの距離を測定する測距センサであってもよく、図5Bで示されるように、移動体1の周囲の撮影画像を取得するイメージセンサであってもよい。図5A図5Bは、移動体1を上方から見た平面図である。センサ11が測距センサである場合には、周囲情報は所定の角度ごとの距離となる。センサ11がイメージセンサである場合には、周囲情報は撮影画像となる。
【0016】
なお、移動体1が任意の方向に移動できる場合には、センサ11が測距センサであるときには、全方位について測距を行うものであることが好適であり、センサ11がイメージセンサであるときには、任意の方向の撮影画像を取得できることが好適である。移動体1の任意の方向が、移動方向の前方になりうるからである。任意の方向の撮影画像を取得できるイメージセンサは、例えば、全方位の撮影画像を取得できるイメージセンサであってもよく、360度についてパン(横振り)可能なイメージセンサであってもよい。なお、上記のように、センサ11が、移動体1の周囲の任意の方向の情報を取得することができる場合であっても、センサ11によって取得される周囲情報は、移動方向の前方の情報であることが好適である。
【0017】
測距センサは、例えば、レーザセンサや、超音波センサ、マイクロ波を用いた距離センサ、ステレオカメラによって撮影されたステレオ画像を用いた距離センサなどであってもよい。レーザセンサは、レーザレンジセンサ(レーザレンジスキャナ)であってもよい。なお、それらの測距センサについてはすでに公知であり、それらの説明を省略する。本実施の形態では、センサ11が測距センサであり、その測距センサがレーザレンジセンサである場合について主に説明する。また、センサ11は、1個のレーザレンジセンサを有していてもよく、または、2個以上のレーザレンジセンサを有していてもよい。後者の場合には、2個以上のレーザレンジセンサによって、全方向がカバーされてもよい。また、測距センサが超音波センサや、マイクロ波を用いた距離センサなどである場合に、測距センサの測距方向を回転させることによって複数方向の距離を測定してもよく、複数方向ごとに配置された複数の測距センサを用いて複数方向の距離を測定してもよい。複数方向の距離を測定するとは、例えば、あらかじめ決められた角度範囲や全周囲(360度)について、あらかじめ決められた角度間隔で複数方向の距離を測定することであってもよい。その角度間隔は、例えば、1度間隔や2度間隔、5度間隔などのように一定であってもよい。測距センサから得られる情報は、例えば、移動体1のある向きを基準とした複数の方位角のそれぞれに関する周辺の物体までの距離であってもよい。その距離を用いることによって、移動体1のローカル座標系において、移動体1の周囲にどのような物体が存在するのかを知ることができるようになる。
【0018】
イメージセンサは、例えば、CCDイメージセンサや、CMOSイメージセンサなどであってもよい。イメージセンサは、例えば、イメージセンサ上に結像させるためのレンズ等の光学系を含んでいてもよい。また、イメージセンサは、単眼であってもよく、双眼(ステレオカメラ)であってもよい。イメージセンサは、通常、動画を撮影するもの、すなわち、連続した画像フレームを取得するものである。そのフレームレートは、移動速度に対して十分大きいものであることが好適である。例えば、フレームレートは、約30fpsなどであってもよい。
【0019】
記憶部12では、移動体の周囲の情報である訓練用入力情報と、その周囲の情報に応じた移動体の速度である訓練用出力情報との組を複数用いて学習された学習器が記憶される。訓練用入力情報と訓練用出力情報との組を訓練情報と呼ぶこともある。学習器は、例えば、ニューラルネットワーク(NN:Neural Network)の学習結果であってもよく、サポートベクターマシン(SVM:Support Vector Machine)やサポートベクター回帰(SVR:Support Vector Regression)の学習結果であってもよく、または、それ以外の機械学習の学習結果であってもよい。
【0020】
ニューラルネットワークは、例えば、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)であってもよく、それ以外のニューラルネットワーク(例えば、全結合層から構成されるニューラルネットワーク等)であってもよい。また、ニューラルネットワークが少なくとも1個の中間層(隠れ層)を有する場合には、そのニューラルネットワークの学習は、深層学習(ディープラーニング、Deep Learning)であると考えてもよい。また、機械学習にニューラルネットワークを用いる場合において、そのニューラルネットワークの層数、各層におけるノード数、各層の種類(例えば、畳み込み層、全結合層など)等については、適宜、選択したものを用いてもよい。なお、入力層と出力層のノード数は、通常、訓練情報に含まれる入力と出力とによって決まることになる。
【0021】
なお、学習器が記憶部12で記憶されているとは、例えば、学習器そのもの(例えば、入力に対して値を出力する関数や学習結果のモデル等)が記憶されていることであってもよく、学習器を構成するために必要なパラメータ等の情報が記憶されていることであってもよい。後者の場合であっても、そのパラメータ等の情報を用いて学習器を構成できるため、実質的に学習器が記憶部12で記憶されていると考えることができるからである。本実施の形態では、学習器そのものが記憶部12で記憶されている場合について主に説明する。
【0022】
記憶部12に学習器が記憶される過程は問わない。例えば、記録媒体を介して学習器が記憶部12で記憶されるようになってもよく、通信回線等を介して送信された学習器が記憶部12で記憶されるようになってもよい。記憶部12での記憶は、RAM等における一時的な記憶でもよく、または、長期的な記憶でもよい。記憶部12は、所定の記録媒体(例えば、半導体メモリや磁気ディスク、光ディスクなど)によって実現されうる。
【0023】
ここで、学習器の生成について説明する。図2は、本実施の形態による学習器製造装置2の構成を示すブロック図である。本実施の形態による学習器製造装置2は、速度受付部21と、加速度生成部22と、速度変更部23と、訓練情報受付部24と、学習器製造部25と、学習器出力部26とを備える。
【0024】
学習器の生成に用いられる訓練情報(教師データ)を取得する際に用いられる移動体は、自律的に移動する移動体であってもよく、自律的に移動しない移動体であってもよい。自律的に移動する移動体を用いて訓練情報を取得する場合には、ある時点における移動体の速度が、速度受付部21で受け付けられ、また、その時点の移動体の周囲の情報である訓練用入力情報が、訓練情報受付部24で受け付けられてもよい。自律的に移動する移動体を用いて訓練情報を取得する場合には、その移動体として、例えば、移動体1が用いられてもよい。なお、自律的に移動する移動体を用いて訓練情報を取得する場合に、その移動体の移動は、実空間における移動であってもよく、または、シミュレーションでの移動であってもよい。また、いずれの場合であっても、移動する障害物(例えば、他の移動体や人間等)が存在する環境、すなわち、死角からの障害物の飛び出しがありうる環境において訓練情報が取得されることが好適である。また、移動体1が移動する移動環境と同じ移動環境、または似たような移動環境において訓練情報が取得されることが好適である。シミュレーションによって訓練情報を取得する場合にも、移動体1が移動する移動環境と同様の環境となっている仮想的な移動環境におけるシミュレーションが行われることが好適である。訓練情報の取得のために自律的に移動する移動体は、例えば、あらかじめ生成された経路に沿って移動してもよく、または、ダイナミックウィンドウアプローチ(Dynamic Window Approach)などのように、目的地までの経路をリアルタイムで生成しながら移動してもよい。いずれの場合であっても、訓練情報の取得のために移動する移動体は、障害物を検知したときには、その障害物と衝突しないように減速したり、停止したり、迂回したりすることが好適である。
【0025】
なお、あらかじめ経路が生成される場合には、例えば、状態空間探索法によって移動経路が生成されてもよく、または、ノード探索法によって移動経路が生成されてもよい。状態空間探索法によって経路生成を行う場合には、移動体の移動可能領域を示す地図情報を用いて、例えば、RRT(Rapidly-exploring Random Tree)、ラプラスポテンシャル法、熱ポテンシャル法等の公知のアルゴリズムを用いて経路の探索を行ってもよい。状態空間探索法では、あらかじめノード等の設定されていない空間において、移動しない障害物を回避するように移動経路が取得されることになる。ノード探索法によって経路探索を行う場合には、あらかじめノードやリンクの設定されている地図情報を用いて、例えば、ダイクストラ法、A*アルゴリズム、ベルマン-フォード法、ワーシャル-フロイド法等の公知のアルゴリズムを用いて経路の探索を行ってもよい。ノード探索法では、あらかじめ定められたノードをつなげた移動経路が取得されることになる。
【0026】
訓練情報を取得するために移動する移動体が自律的に移動しないものである場合には、例えば、操作者が、移動体と有線または無線で接続されたリモートコントロール機器を用いて操作してもよい。この場合には、移動体の移動方向や速度は、操作者によって操作されることになる。また、この場合には、移動体にとって死角となる位置から障害物が飛び出してきたとしても、その障害物との衝突を適切に回避できる速度となるように、操作者によって移動体の移動速度がコントロールされることが好適である。すなわち、見通しのよい移動環境においては高速となり、見通しのよくない移動環境においては、見通しのよい移動環境よりも低速となるように操作されることが好適である。
【0027】
本実施の形態では、訓練情報を取得するために移動する移動体が、自律的に移動する場合について主に説明する。また、本実施の形態では、学習器製造装置2が、訓練情報の取得のために移動している移動体から直接リアルタイムで、周囲の情報である訓練用入力情報や、速度を受け付ける場合について主に説明する。
【0028】
速度受付部21は、訓練情報受付部24で受け付けられる訓練用入力情報に対応する移動体の速度を受け付ける。すなわち、訓練用入力情報である移動体の周囲の情報が取得された時点の移動体の速度を受け付ける。この速度は、0以上の大きさを持つスカラー量、すなわち、前進方向への速度の大きさであってもよい。また、受け付けられた速度がベクトルである場合には、スカラーに変換されてもよい。なお、この速度は、図示しない記録媒体で記憶されてもよい。速度受付部21は、受け付けた速度を加速度生成部22と速度変更部23とに渡す。
【0029】
速度受付部21は、例えば、有線または無線の通信回線を介して送信された速度を受信してもよい。なお、速度受付部21は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、または含まなくてもよい。また、速度受付部21は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0030】
加速度生成部22は、速度受付部21によって受け付けられた速度から加速度を生成し、速度変更部23に渡す。この加速度の生成において、速度受付部21が過去に受け付けた速度も用いられてもよい。例えば、速度受付部21が速度V(T)を時間間隔ΔTごとに受け付ける場合には、加速度生成部22は、時刻Tの加速度A(T)を、次式のように算出してもよい。
A(T)=(V(T)-V(T-1))/ΔT
【0031】
なお、時刻Tは、時刻を示す整数であり、隣接する時刻の時間間隔、例えば時刻T-1から時刻Tまでの時間間隔がΔTであるとする。また、1回目の速度が受け付けられた場合には、それよりもΔTだけ以前の速度が存在しないため、加速度を計算できない。したがって、その場合には、例えば、加速度を計算しなくてもよく、または、加速度を0にしてもよい。
【0032】
速度変更部23は、加速度生成部22によって生成された減速の加速度の絶対値が閾値を超えるかどうか判断する。すなわち、速度変更部23は、生成された加速度が減速を示しているかどうか、また、その加速度の絶対値が閾値を超えるかどうか判断することになる。加速度が負の値である場合に、加速度が減速を示していると判断され、そうでない場合に、加速度が減速を示していないと判断されてもよい。そして、生成された加速度が減速を示しており、かつ、加速度の絶対値が閾値を超えている場合には、速度変更部23は、速度受付部21によって受け付けられた速度を、その速度よりも小さい速度に変更する。すなわち、減速するように速度が変更されることになる。なお、速度変更部23は、生成された減速の加速度の絶対値が閾値と同じ場合には、上記の速度の変更を行ってもよく、または、行わなくてもよい。
【0033】
減速の加速度の絶対値が閾値を超える場合とは、自律移動を行っている移動体が、例えば、移動体にとって死角となる位置から飛び出してきた障害物を検知して、急減速を行っている状況に対応する。したがって、閾値は、例えば、死角からの障害物の飛び出しがない状況における移動では取り得ない値に設定されてもよい。また、そのような状況においては、減速前の速度が周囲の状況に適しておらず、高すぎたことになるため、より小さい速度に変更されることになる。そのため、この速度の変更によって、見通しのよい移動環境においては高速となり、見通しのよくない移動環境においては、見通しのよい移動環境よりも低速となることが好適である。
【0034】
また、変更後の速度は、あらかじめ決められた1個または複数の値であってもよく、または、あらかじめ決められていない値であってもよい。変更後の速度が1個の値である場合には、その1個の速度は、死角となる位置からの障害物の飛び出しがあったとしても、障害物との衝突を適切に回避することができる速度に設定されてもよい。その速度は、通常、徐行の速度である。また、変更後の速度があらかじめ決められた複数の値である場合には、例えば、減速の加速度の絶対値が大きいほど、変更後の速度が小さくなってもよい。また、変更後の速度があらかじめ決められていない場合には、例えば、変更後の速度は、変更前の速度に0.3や0.5などの1よりも小さい係数を掛けた値であってもよい。その係数は、例えば、あらかじめ決められた値であってもよく、減速の加速度の絶対値が大きいほど、小さな値となる係数であってもよい。
【0035】
なお、速度変更部23は、速度の変更を行った場合には、変更後の速度を訓練情報受付部24に渡し、速度の変更を行わなかった場合には、変更していない速度、すなわち速度受付部21によって受け付けられた速度を訓練情報受付部24に渡してもよい。
【0036】
また、速度変更部23は、生成された減速の加速度の絶対値が閾値を超えていない場合に、速度受付部21で受け付けられた速度に端数処理を行うことによって、訓練用出力情報が離散的な有限個数となるようにしてもよい。この場合には、生成された減速の加速度の絶対値が閾値を超えていないときであっても、速度変更部23は、例えば、速度受付部21で受け付けられた速度を、その速度よりも小さくなるように丸めてもよい。その端数処理は、例えば、移動体の速度が、40(m/分)以上であれば、40(m/分)に丸め、30(m/分)以上、40(m/分)未満であれば、30(m/分)に丸め、20(m/分)以上、30(m/分)未満であれば、20(m/分)に丸めるなどのように決まっていてもよい。なお、この端数処理によっても、受け付けられた速度が、より小さい速度に変更されることになるが、その変更の程度は、生成された減速の加速度の絶対値が閾値を超えている場合における速度の変更の程度よりも小さいものであってもよい。また、丸めの最小単位以下の速度については、例えば、その最小単位となるように切り上げの丸めが行われてもよく、または、端数処理が行われなくてもよい。例えば、上記のように、10(m/分)単位で丸めが行われる場合には、10(m/分)未満の速度は、10(m/分)に切り上げられてもよく、または、そのまま変更されなくてもよい。
【0037】
訓練情報受付部24は、移動体の周囲の情報である訓練用入力情報と、その周囲の情報に応じた移動体の速度である訓練用出力情報との組を複数受け付ける。訓練情報受付部24が受け付ける訓練用入力情報は、移動体1のセンサ11が取得する周囲情報と同じ種類の情報であることが好適である。すなわち、センサ11によって、移動体1の周囲の物体までの距離が取得される場合には、訓練用入力情報も移動体の周囲の物体までの距離であることが好適であり、センサ11によって、移動体1の周囲の撮影画像が取得される場合には、訓練用入力情報も移動体の周囲の撮影画像であることが好適である。訓練情報受付部24は、速度変更部23による速度の変更が行われた場合には、速度変更部23によって変更された速度である訓練用出力情報を受け付け、速度変更部23による速度の変更が行われなかった場合には、速度受付部21によって受け付けられた速度である訓練用出力情報を受け付けてもよい。なお、上記のように、速度変更部23によって、速度の端数処理が行われた場合には、訓練用出力情報は、端数処理後の速度であってもよい。また、訓練用出力情報である速度は、スカラー量であってもよい。なお、訓練用出力情報は、見通しのよい移動環境においては高速となり、見通しのよくない移動環境においては、見通しのよい移動環境よりも低速となることが好適である。
【0038】
なお、訓練情報受付部24は、受け付けを行うためのデバイスを含んでもよく、または含まなくてもよい。また、訓練情報受付部24は、ハードウェアによって実現されてもよく、または所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0039】
通常、ΔTごとに、速度の受け付けと加速度の生成とが行われ、その加速度が所定の条件を満たす場合には、速度の変更も行われることになる。そして、訓練情報受付部24は、ΔTごとに、移動体の周囲の情報である訓練用入力情報と、移動体の速度である訓練用出力情報とを含む訓練情報を受け付けることになる。訓練用出力情報である速度は、移動体の移動速度であることもあるが、上記のように、その移動速度が変更された後の速度であることもある。移動体による一連の移動が行われ、訓練情報の受け付けが繰り返されることによって、訓練情報受付部24は、複数の訓練情報を受け付けることになる。その受け付けられた複数の訓練情報は、図示しない記録媒体で記憶されてもよい。
【0040】
学習器製造部25は、訓練用入力情報と訓練用出力情報との複数の組を学習することによって学習器を製造する。この学習器は、移動体の周囲の情報である訓練用入力情報と、その周囲の情報に応じた移動体の速度である訓練用出力情報との複数の組の機械学習の結果である。したがって、例えば、その学習器に、自律的に移動する移動体1の周囲の情報である周囲情報が適用されると、その周囲情報に応じた移動体1の速度を取得することができることになる。この学習の詳細については後述する。
【0041】
学習器出力部26は、学習器製造部25によって製造された学習器を出力する。学習器出力部26によって出力された学習器が、図1で示される移動体1の記憶部12で記憶されることになる。ここで、この出力は、例えば、所定の機器への通信回線を介した送信でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。なお、学習器出力部26は、出力を行うデバイス(例えば、通信デバイスなど)を含んでもよく、または含まなくてもよい。また、学習器出力部26は、ハードウェアによって実現されてもよく、または、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
【0042】
なお、学習器製造装置2が、訓練情報を取得するために移動する移動体から速度や周囲の情報をリアルタイムで受け付ける場合について主に説明したが、そうでなくてもよい。それらの情報は、あらかじめ図示しない記録媒体に蓄積されていてもよい。そして、学習器製造装置2は、その記録媒体から、順次または一括して、速度や周囲の情報を読み出すことによって受け付けてもよい。また、学習器製造装置2は、他の装置から送信された速度や周囲の情報を、順次または一括して受信することによって受け付けてもよい。
【0043】
また、学習器製造装置2が、速度をも受け付ける場合について説明したが、そうでなくてもよい。例えば、上記のように、訓練情報を取得するために移動する移動体が、操作者によって、理想的な移動となるようにリモートコントロールされる場合には、その移動に応じて取得された速度と、周囲の情報との組が、訓練情報受付部24で受け付けられてもよい。この場合にも、速度については端数処理が行われてもよい。その受け付けは、例えば、有線または無線の通信回線を介して送信された情報の受信でもよく、所定の記録媒体(例えば、磁気ディスクや半導体メモリなど)から読み出された情報の受け付けでもよい。この場合には、学習器製造装置2は、速度受付部21、加速度生成部22、及び速度変更部23を備えていなくてもよい。
【0044】
また、訓練情報を取得するために、複数の自律的に移動する移動体を実移動させたり、シミュレーション上で移動させたりする場合に、速度受付部21や訓練情報受付部24は、複数の移動体から情報を受け付けてもよい。そのようにすることで、より多くの訓練情報をより短期間に収集することができ、訓練情報の収集効率を向上させることができるようになる。
【0045】
次に、学習器製造部25による機械学習について説明する。この機械学習は、教師有り学習であり、ニューラルネットワークの学習であってもよく、サポートベクターマシンやサポートベクター回帰の学習であってもよく、または、それ以外の機械学習であってもよい。なお、訓練用出力情報が、少数の多段階である場合には、機械学習は、例えば、ニューラルネットワークや、多値分類を行うサポートベクターマシンであってもよい。訓練用出力情報が少数の多段階である場合としては、例えば、速度変更部23によって速度の端数処理も行われている場合が挙げられる。一方、訓練用出力情報が、多数の多段階または所定の範囲の実数である場合には、機械学習は、サポートベクター回帰であってもよい。訓練用出力情報が多数の多段階または所定の範囲の実数である場合としては、例えば、速度変更部23によって速度の端数処理が行われてない場合が挙げられる。
【0046】
ここでは、訓練用入力情報が、(1)測距結果に応じたものである場合、(2)撮影画像に応じたものである場合に分けて説明する。
【0047】
(1)訓練用入力情報が測距結果に応じたものである場合
この場合には、訓練用入力情報は、測距結果そのものであってもよい。訓練用入力情報が測距結果そのものである場合には、測距方向ごとの周囲の物体までの距離の集合が、訓練用入力情報であってもよい。例えば、センサ11がレーザレンジセンサであり、移動方向の前方について、1度ごとに120度の範囲に関する測距を行う場合には、120個の測距結果が、訓練用入力情報となる。なお、その測距結果は、例えば、前処理によって正規化されてもよい。例えば、レーザレンジセンサの最長測定距離が「1」となり、最短測定距離が「0」となるように正規化されてもよい。
【0048】
また、測距結果を用いて、測距方向ごとに、あらかじめ決められた閾値距離以内に障害物が存在するかどうかを示す情報の集合を生成し、その生成した情報を訓練用入力情報としてもよい。例えば、センサ11がレーザレンジセンサであり、移動方向の前方について1度ごとに120度の範囲に関する測距を行う場合には、測距方向ごとに、測定結果が閾値距離以下であるときには、移動体の近くに障害物が存在することを示す情報(例えば、「1」であってもよい。)となり、測定結果が閾値距離を超えるときには、移動体の近くに障害物が存在しないことを示す情報(例えば、「0」であってもよい。)となるように訓練用入力情報が生成されてもよい。この場合には、例えば、移動体の近くに障害物が存在するかどうかを示す120個の2値の情報が、訓練用入力情報となる。
【0049】
なお、(1)の訓練用入力情報を用いた学習をニューラルネットワークで行う場合には、そのニューラルネットワークの各層は、例えば、全結合層であってもよい。
【0050】
(2)訓練用入力情報が撮影画像に応じたものである場合
この場合には、訓練用入力情報は、撮影画像そのものであってもよい。この場合には、例えば、畳み込みニューラルネットワークによる学習が行われてもよい。その畳み込みニューラルネットワークは、物体カテゴリ認識で用いられる畳み込みニューラルネットワークと同様の構成であってもよい。そして、物体カテゴリの代わりに、複数段階の速度である訓練用出力情報が用いられてもよい。物体カテゴリ認識で用いられる畳み込みニューラルネットワークの各層は、例えば、入力層側から順番に、複数の畳み込み層を有していてもよい。また、少なくとも1つの畳み込み層の後段に、プーリング層が存在してもよい。また、複数の畳み込み層の後段に、全結合層が1以上存在してもよい。また、出力層の直前に、ソフトマックス層が存在してもよい。
【0051】
上記(1)、(2)のいずれであっても、学習器がニューラルネットワークである場合には、例えば、過剰適合とならないようにパラメータ更新が行われることが好適であり、また、誤差逆伝播法などを用いて学習が行われてもよい。なお、機械学習における学習方法としては、公知の方法を用いることができ、その詳細な説明を省略する。
【0052】
なお、機械学習で用いられる訓練用入力情報や訓練用出力情報は、上記のように、前処理の行われた情報であってもよい。訓練用入力情報について、例えば、正規化や2値変換等の前処理が行われてもよい。また、訓練用出力情報について、例えば、端数処理等の前処理が行われてもよい。
【0053】
図1に戻り、速度取得部13は、センサ11によって取得された周囲情報を、記憶部12で記憶されている学習器に適用することによって、その周囲情報に対応する移動体1の速度を取得する。具体的には、速度取得部13は、センサ11によって取得された周囲情報を学習器に入力することによって、その学習器の出力である速度を取得することができる。なお、周囲情報を学習器に入力する際に、例えば、周囲情報そのものを入力してもよく、周囲情報に所定の前処理を行った後に入力してもよい。例えば、前述のように、訓練用入力情報が正規化されたり、2値の情報に変換されたりして学習が行われた場合には、周囲情報を学習器に適用する際にも、同様の処理を行ってから適用してもよい。
【0054】
移動機構14は、移動体1を移動させる。移動機構14は、例えば、移動体1を全方向に移動できるものであってもよく、または、そうでなくてもよい。全方向に移動できるとは、任意の方向に移動できることである。移動機構14は、例えば、走行部(例えば、車輪など)と、その走行部を駆動する駆動手段(例えば、モータやエンジンなど)とを有していてもよい。また、移動機構14は、車輪等の速度を取得できる機構、例えば、エンコーダ等を有していてもよい。なお、移動機構14が、移動体1を全方向に移動できるものである場合には、その走行部は、全方向移動車輪(例えば、オムニホイール、メカナムホイールなど)であってもよい。この移動機構14としては、公知のものを用いることができるため、その詳細な説明を省略する。
【0055】
現在位置取得部15は、移動体1の現在位置を取得する。現在位置の取得は、例えば、無線通信を用いて行われてもよく、周囲の物体までの距離の測定結果を用いて行われてもよく、周囲の画像を撮影することによって行われてもよく、現在位置を取得できるその他の手段を用いてなされてもよい。無線通信を用いて現在位置を取得する方法としては、例えば、GPS(Global Positioning System)を用いる方法や、屋内GPSを用いる方法、最寄りの無線基地局を用いる方法などが知られている。また、例えば、周囲の物体までの距離の測定結果を用いたり、周囲の画像を撮影したりすることによって現在位置を取得する方法としては、例えば、SLAM(Simultaneous Localization and Mapping)などによって知られている方法を用いてもよい。周囲の物体までの距離の測定結果としては、例えば、測距センサであるセンサ11の測定結果を用いてもよい。また、周囲の撮影画像としては、例えば、イメージセンサであるセンサ11によって取得された撮影画像を用いてもよい。また、あらかじめ作成された地図(例えば、周囲の物体までの距離の測定結果や撮影画像を有する地図など)が記憶されている場合には、現在位置取得部15は、地図を用いて、周囲の物体までの距離の測定結果に対応する位置を特定することによって現在位置を取得してもよく、周囲の画像を撮影し、地図を用いて、その撮影結果に対応する位置を特定することによって現在位置を取得してもよい。また、現在位置取得部15は、例えば、自律航法装置を用いて現在位置を取得してもよい。また、現在位置取得部15は、移動体1の向き(方向)を含む現在位置を取得することが好適である。その方向は、例えば、北を0度として、時計回りに測定された方位角によって示されてもよく、その他の方向を示す情報によって示されてもよい。その向きは、電子コンパスや地磁気センサによって取得されてもよい。
【0056】
障害物検知部16は、移動体1の周囲に存在する障害物を検知する。障害物検知部16は、例えば、移動体1の周囲に関する測距結果を用いて障害物を検知してもよく、移動体1の周囲の撮影画像を用いて障害物を検知してもよい。測距結果を用いて障害物を検知する場合であって、センサ11が測距センサである場合には、障害物検知部16は、センサ11によって取得された測距結果を用いて障害物検知を行ってもよい。また、障害物検知用の測距センサを移動体1が有している場合には、障害物検知部16は、その測距センサによって取得された測距結果を用いて障害物検知を行ってもよい。また、撮影画像を用いて障害物を検知する場合であって、センサ11がイメージセンサである場合には、障害物検知部16は、センサ11によって取得された撮影画像を用いて障害物検知を行ってもよい。また、障害物検知用のイメージセンサを移動体1が有している場合には、障害物検知部16は、そのイメージセンサによって取得された撮影画像を用いて障害物検知を行ってもよい。
【0057】
測距結果を用いて障害物検知を行う場合には、障害物検知部16は、例えば、測距センサによって測定された距離によって、移動体1の近くに物体が存在することが分かったときに、その物体を障害物として検知してもよい。例えば、測距センサによって測定された周囲の物体までの距離が所定の閾値以下になった場合に、障害物検知部16は、その物体を障害物として検知してもよい。その周囲の物体までの距離は、例えば、測距センサからの距離であってもよく、移動体1の外縁からの距離であってもよく、移動体1の外縁を仮想的に膨張させた位置からの距離であってもよく、その他の基準からの距離であってもよい。その閾値は、1個であってもよく、または、2個以上存在してもよい。
【0058】
撮影画像を用いて障害物検知を行う場合には、障害物検知部16は、例えば、イメージセンサによって撮影された撮影画像によって、移動体1の近くに物体が存在することが分かったときに、その物体を障害物として検知してもよい。その物体認識は、例えば、パターンマッチング等によって行われてもよく、畳み込みニューラルネットワークを用いたセグメンテーションによって行われてもよく、その他の方法によって行われてもよい。撮影画像に含まれる物体が、移動体1の近くに存在するかどうかは、その物体の種類と、撮影画像における物体の大きさ(例えば、長さや面積等)とを用いて判断されてもよい。例えば、撮影画像に含まれる物体の実サイズが大きい場合(例えば、その物体が他の移動体である場合等)には、撮影画像における物体の大きさがそれほど大きくなくても、その物体が移動体1の近くに存在すると判断されてもよい。一方、例えば、撮影画像に含まれる物体の実サイズが小さい場合(例えば、その物体が小型の段ボール箱である場合等)には、撮影画像における物体の大きさが大きいときにのみ、その物体が移動体1の近くに存在すると判断されてもよい。なお、障害物の検知方法としては、公知の方法を用いることができ、その詳細な説明を省略する。
【0059】
移動制御部17は、現在位置取得部15によって取得された現在位置を用いて移動機構14を制御することによって、移動体1の移動を制御する。移動の制御は、移動体1の移動の向きや、移動の開始・停止などの制御であってもよい。例えば、移動経路が設定されている場合には、移動制御部17は、移動体1がその移動経路に沿って移動するように、移動機構14を制御してもよい。より具体的には、移動制御部17は、現在位置取得部15によって取得される現在位置が、その移動経路に沿ったものになるように、移動機構14を制御してもよい。また、移動制御部17は、地図を用いて、移動の制御を行ってもよい。また、移動制御部17は、ダイナミックウィンドウアプローチ等のように、動的に経路を生成しながら移動制御を行ってもよい。移動制御部17による移動機構14の制御は公知であるため、その詳細な説明を省略する。
【0060】
なお、移動制御部17は、移動体1の速度が速度取得部13によって取得された速度以下となるように制御する。したがって、例えば、移動制御部17は、指令速度が、速度取得部13によって取得された速度より大きい場合に、取得された速度となるように、または、取得された速度未満の速度となるように指令速度を変更してもよい。なお、指令速度が速度ベクトルである場合には、その速度ベクトルの大きさが、取得された速度以下となるように、指令速度である速度ベクトルの各成分に1より小さい正の実数が乗算されてもよい。また、例えば、移動制御部17は、指令速度が、速度取得部13によって取得された速度となるように、または、その速度未満となるように、指令速度を生成してもよい。なお、指令速度が速度ベクトルである場合には、その速度ベクトルの大きさが、取得された速度以下となるように、指令速度が生成されてもよい。移動制御部17への影響を小さくする観点からは、指令速度が取得された速度よりも大きい場合に、取得された速度となるように指令速度が変更され、それ以外の場合に、速度の変更は行われないことが好適である。この場合には、移動制御部17は、指令速度を生成する際に、高速移動を行うように(すなわち、周囲に障害物が存在しないと仮定した速度で移動を行うように)指令速度を生成することが好適である。
【0061】
また、移動制御部17は、障害物検知部16によって検知された障害物への衝突を防ぐように移動機構14を制御する。移動制御部17は、例えば、移動体1の周囲に設定されている領域である停止領域に存在する障害物が検知された場合には、移動体1が停止するように移動機構14を制御し、停止領域において障害物は検知されていないが、停止領域の外側に設定されている領域である減速領域に存在する障害物が検知された場合には、移動体1がその時点の速度よりも減速するように移動機構14を制御してもよい。移動体1が減速される場合に、その減速後の速度が決まっていてもよく、または、そうでなくてもよい。後者の場合には、例えば、その時点の速度に対して相対的に決まる速度(例えば、50%の速度など)となるように減速が行われてもよい。また、移動制御部17は、検知された障害物への衝突を回避するため、例えば、その障害物を迂回する経路を移動体1が通るように移動機構14を制御してもよい。その場合には、移動制御部17は、その検知された障害物の位置を通らない移動経路を新たに生成し、それに応じた移動を行うようにしてもよい。
【0062】
次に、移動体1の動作について図3のフローチャートを用いて説明する。
(ステップS101)移動制御部17は、移動を行うかどうか判断する。そして、移動を行う場合には、ステップS102に進み、そうでない場合には、移動を行うと判断するまでステップS101の処理を繰り返す。なお、移動制御部17は、例えば、移動経路に応じた自律的な移動を行っている場合に、移動を行うと判断してもよい。また、移動制御部17は、例えば、目的地に到達した場合に、移動を行わないと判断してもよい。
【0063】
(ステップS102)現在位置取得部15は、現在位置を取得する。
【0064】
(ステップS103)センサ11は、移動体1に関する周囲情報を取得する。
【0065】
(ステップS104)速度取得部13は、ステップS103で取得された周囲情報を、記憶部12で記憶されている学習器に適用することによって、周囲情報に対応する速度を取得する。
【0066】
(ステップS105)移動制御部17は、ステップS102で取得された現在位置を用いて移動機構14を制御することによって、移動体1の移動制御を行う。この移動制御において、移動制御部17は、移動体1の速度が、ステップS104で取得された速度を超えないように、すなわち、その速度以下となるように制御を行う。この移動制御は、例えば、目的地に向かう自律的な移動の制御であってもよい。このステップS105の制御が繰り返されることによって、移動体1が出発地から目的地に到達してもよい。
【0067】
(ステップS106)障害物検知部16は、障害物の検知を行う領域に障害物が存在するかどうか判断する。そして、障害物が存在する場合には、ステップS107に進み、そうでない場合には、ステップS101に戻り、移動が継続されることになる。
【0068】
(ステップS107)移動制御部17は、ステップS106における障害物の検知に応じた制御を行う。その制御は、例えば、移動体1を停止させる制御や、減速させる制御である。そして、ステップS101に戻る。なお、障害物の検知に応じて移動体1を減速させた場合には、移動制御部17は、移動速度の上限を減速後のものに制限した上で、ステップS101に戻って移動を継続してもよい。その場合には、障害物が検知されなくなったとき(ステップS106でNOと判断されたとき)に、移動速度の上限の制限を解除してもよい。また、障害物の検知に応じて移動体1を停止させた場合には、移動制御部17は、障害物検知部16によって障害物が検知されなくなるまで停止を継続し、障害物が検知されなくなってから(例えば、障害物である人間が移動してから)、ステップS101に戻って移動を再開してもよい。
【0069】
なお、図3のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。例えば、周囲情報を用いて現在位置が取得される場合には、周囲情報の取得(ステップS103)の後に、現在位置の取得(ステップS102)が行われてもよい。また、図3のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0070】
次に、学習器製造装置2の動作について図4のフローチャートを用いて説明する。このフローチャートでは、学習器製造装置2が、訓練情報の取得のために自律的に移動する移動体からリアルタイムで、速度や周囲の情報を受信する場合について説明する。
【0071】
(ステップS201)速度受付部21は、訓練情報の取得のために自律的に移動する移動体の速度を受け付けたかどうか判断する。そして、その速度を受け付けた場合には、ステップS202に進み、そうでない場合には、その速度を受け付けるまでステップS201の処理を繰り返す。
【0072】
(ステップS202)加速度生成部22は、受け付けられた速度を用いて、加速度を生成する。
【0073】
(ステップS203)速度変更部23は、加速度が減速を示しており、かつ、その絶対値が閾値を超えているかどうか判断する。そして、加速度が減速を示しており、かつ、その絶対値が閾値を超えている場合には、ステップS204に進み、そうでない場合には、ステップS205に進む。
【0074】
(ステップS204)速度変更部23は、ステップS201で受け付けられた速度を、その速度よりも小さい速度に変更する。
【0075】
(ステップS205)訓練情報受付部24は、訓練情報を受け付ける。その訓練情報は、ステップS201で受け付けられた速度に対応する、移動体の周囲の情報である訓練用入力情報と、速度受付部21で受け付けられた速度、または速度変更部23によって変更された速度である訓練用出力情報とを含む情報である。受け付けられた訓練情報は、図示しない記録媒体で記憶されてもよい。
【0076】
なお、ステップS203においてNOと判断された場合であっても、速度変更部23は、速度の端数処理を行ってもよい。その場合には、ステップS205において受け付けられる訓練用出力情報は、速度変更部23によって変更された速度であってもよい。
【0077】
(ステップS206)訓練情報受付部24は、訓練情報の受け付けを終了するかどうか判断する。そして、訓練情報の受け付けを終了する場合には、ステップS207に進み、そうでない場合には、ステップS201に戻る。なお、訓練情報受付部24は、例えば、あらかじめ決められた個数の訓練情報が受け付けられた場合に、訓練情報の受け付けを終了すると判断してもよく、訓練情報の取得のための移動体の移動が終了した場合に、訓練情報の受け付けを終了すると判断してもよい。
【0078】
(ステップS207)学習器製造部25は、訓練情報受付部24によって受け付けられた複数の訓練情報を用いて機械学習を行うことにより、学習器を製造する。
【0079】
(ステップS208)学習器出力部26は、ステップS207で製造された学習器を出力する。そして、学習器を製造する一連の処理は終了となる。
【0080】
なお、図4のフローチャートにおける処理の順序は一例であり、同様の結果を得られるのであれば、各ステップの順序を変更してもよい。
【0081】
次に、本実施の形態による移動体1及び学習器製造装置2の動作について、具体例を用いて説明する。この具体例では、センサ11がレーザレンジセンサであるとする。
【0082】
まず、訓練情報を取得するために、自律的に移動する複数の移動体を同じ移動領域(例えば、ある工場内など)において動作させる。そして、その移動時の速度や周囲の情報を学習器製造装置2が受信するものとする。また、この具体例では、減速の加速度の絶対値が閾値を超えている場合には、受け付けられた速度が10(m/分)に変更され、そうでない場合であっても、10,20,30,40(m/分)のいずれかの最も近い速度となるように、受け付けられた速度の端数が切り捨てられるものとする。具体的には、速度35(m/分)は、速度30(m/分)に変更されるものとする。なお、受け付けられた速度が10(m/分)未満である場合には、10(m/分)に切り上げの端数処理が行われるものとする。具体的には、速度8.5(m/分)は、速度10(m/分)に変更されるものとする。
【0083】
訓練情報を取得するために移動体を移動させると、それに応じて移動体から、速度と、その速度で移動している際の周囲の測距結果とが学習器製造装置2に送信される。速度が受信されると加速度が生成され(ステップS201,S202)、その加速度が減速の加速度であり、絶対値が閾値を超えている場合には、速度が10(m/分)に変更され、そうでない場合であっても、上記のように端数処理が行われる(ステップS203,S204)。そして、変更後の速度と、移動体から受信された周囲の測距結果とを含む訓練情報が訓練情報受付部24で受け付けられ、図示しない記録媒体に蓄積される(ステップS205)。そのようにして、訓練情報が順次、蓄積されていくことになる(ステップS201~S206)。その後、訓練情報の取得するために移動していた移動体が、移動を停止すると、蓄積された訓練情報を用いて学習器が製造され、出力される(ステップS207,S208)。この学習器は、移動体1の周囲の測距結果が入力されると、それに応じて、10,20,30,40(m/分)のいずれかの速度が出力されるものである。
【0084】
そのようにして製造された学習器が記憶部12に蓄積された後に、移動体1が動作することになる。移動体1は、あらかじめ決められた出発地から目的地までを自律的に移動するものとする。また、移動体1は、出発地から目的地までの経路を、高速で移動するための指令速度(例えば、周囲に障害物がないと仮定した場合における指令速度)を生成するものとする。その自律的な移動において、現在位置が取得され、周囲の測距結果が取得される(ステップS101~S103)。その後、周囲の測距結果を学習器に入力することによって、速度が取得される(ステップS104)。
【0085】
移動体1が図6Aで示されるように、障害物B1,B2の間を移動しているが、図中の矢印で示される移動方向の前方には障害物が存在しない場合には、例えば、測距結果の入力に応じた学習器からの出力は40(m/分)となる。したがって、移動制御部17は、速度が40(m/分)以下となるように移動制御を行うことになる(ステップS105)。すなわち、指令速度が40(m/分)を超えている場合には、40(m/分)に変更され、指令速度が40(m/分)以下である場合には,その指令速度がそのまま用いられることになる。
【0086】
一方、移動体1が図6Bで示されるように、障害物B1,B2の間を移動しており、移動方向の前方にも障害物B1,B2の一部が存在していることによって死角は存在するが、障害物B1,B2との距離はそれほど近くない場合には、例えば、測距結果の入力に応じた学習器からの出力は20(m/分)となる。したがって、移動制御部17は、速度が20(m/分)以下となるように移動制御を行うことになる(ステップS105)。
【0087】
また、移動体1が図6Cで示されるように、障害物B1,B2の間を移動しており、移動方向の前方にも障害物B1,B2の一部が存在していることによって死角が存在し、さらに、障害物B2との距離が近い場合には、例えば、測距結果の入力に応じた学習器からの出力は10(m/分)となる。したがって、移動制御部17は、速度が10(m/分)以下となるように移動制御を行うことになる(ステップS105)。
【0088】
また、移動体1の移動中に障害物が検知された場合には、その障害物の検知に応じて、障害物との衝突が回避されるように移動制御が行われることになる(ステップS106,S107)。
【0089】
なお、この具体例では、移動制御部17の指令速度が、学習器を用いて得られた速度よりも低い場合には、その指令速度がそのまま用いられ、指令速度が、学習器を用いて得られた速度よりも高い場合には、その指令速度が、学習器を用いて得られた速度に変更される場合について説明したが、そうでなくてもよい。例えば、周囲情報を学習器に適用することによって得られた速度で移動するように移動制御されてもよい。
【0090】
以上のように、本実施の形態による移動体1によれば、周囲情報を学習器に適用することによって得られた適切な速度によって走行することができる。したがって、例えば、減速や停止の可能性が低い、見通しのよい移動環境においては速度を上げることができ、高速な移動を実現できる。また、例えば、減速や停止の可能性が高い、見通しのよくない移動環境においては低速走行を行うことができ、仮に死角から他の移動体等が飛び出してきた場合であっても、衝突を回避することができ、安全性を確保することができる。このようにして、移動体1に関して、高速な移動と、安全性の確保とを両立することが可能となり、効率的な移動を安全に実現することができるようになる。
【0091】
また、本実施の形態による学習器製造装置2によれば、訓練情報を取得するための移動体の実移動やシミュレーション上での移動に応じて、移動体1の移動時に用いられる学習器を生成することができるようになる。また、速度変更部23を備えることによって、訓練情報を取得するために移動する移動体の加速度に応じて、速度を適切に変更することができるようになる。また、速度変更部23によって、移動体の速度に関する端数処理を行うこともでき、学習器から出力される速度が、複数の段階になるようにすることもできる。
【0092】
なお、本実施の形態において、周囲情報や、学習時に用いられる訓練用入力情報である移動体の周囲の情報は、一定範囲の時系列に沿った情報であってもよい。例えば、最新の周囲情報と、それよりもΔTだけ以前の周囲情報とが、学習器に適用されてもよい。また、同様にして、移動体の最新の周囲の情報と、それよりもΔTだけ以前の周囲の情報とを含む訓練用入力情報が、学習に用いられてもよい。そのようにすることで、より精度の高い速度の取得を行うことができると考えられる。
【0093】
また、本実施の形態において、訓練情報を取得するために移動する移動体が、自律的に移動するものである場合には、加速度に関する所定の条件が満たされるときに、受け付けられた速度を変更すると説明したが、そうでなくてもよい。例えば、自律的に移動する移動体の速度について移動平均処理を行うことによって、移動体の速度が時系列に沿って平滑化されることになる。例えば、移動体が急減速した場合には、その急減速が行われた位置に対応する移動平均後の速度は、その急減速後の速度に応じて低下することになる。したがって、自律的に移動する移動体の速度として、移動平均後の速度を用いる場合には、その移動体によって取得された周囲の情報である訓練用入力情報と、移動平均後の速度である訓練用出力情報とが訓練情報受付部24において受け付けられるようにしてもよい。
【0094】
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、または、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
【0095】
また、上記実施の形態において、各構成要素間で行われる情報の受け渡しは、例えば、その情報の受け渡しを行う2個の構成要素が物理的に異なるものである場合には、一方の構成要素による情報の出力と、他方の構成要素による情報の受け付けとによって行われてもよく、または、その情報の受け渡しを行う2個の構成要素が物理的に同じものである場合には、一方の構成要素に対応する処理のフェーズから、他方の構成要素に対応する処理のフェーズに移ることによって行われてもよい。
【0096】
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いる閾値や数式、アドレス等の情報等は、上記説明で明記していなくても、図示しない記録媒体において、一時的に、または長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、または、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、または、図示しない読み出し部が行ってもよい。
【0097】
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いる閾値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していなくても、ユーザが適宜、それらの情報を変更できるようにしてもよく、または、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
【0098】
また、上記実施の形態において、移動体1、または学習器製造装置2に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、または、別々のデバイスを有してもよい。
【0099】
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、または、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現されうる。その実行時に、プログラム実行部は、記憶部や記録媒体にアクセスしながらプログラムを実行してもよい。また、そのプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。また、そのプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、または分散処理を行ってもよい。
【0100】
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0101】
以上より、本発明による移動体等によれば、高速な移動と安全性の確保とを両立できるという効果が得られ、例えば、自律的に移動する移動体等として有用である。
【符号の説明】
【0102】
1 移動体、2 学習器製造装置、11 センサ、12 記憶部、13 速度取得部、14 移動機構、15 現在位置取得部、17 移動制御部、21 速度受付部、22 加速度生成部、23 速度変更部、24 訓練情報受付部、25 学習器製造部、26 学習器出力部
図1
図2
図3
図4
図5A
図5B
図6A
図6B
図6C