(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-11-25
(45)【発行日】2024-12-03
(54)【発明の名称】制御装置、制御方法、およびプログラム
(51)【国際特許分類】
G05D 1/43 20240101AFI20241126BHJP
【FI】
G05D1/43
(21)【出願番号】P 2021042627
(22)【出願日】2021-03-16
【審査請求日】2023-11-28
(73)【特許権者】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】100165179
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100126664
【氏名又は名称】鈴木 慎吾
(74)【代理人】
【識別番号】100154852
【氏名又は名称】酒井 太一
(74)【代理人】
【識別番号】100194087
【氏名又は名称】渡辺 伸一
(72)【発明者】
【氏名】安井 裕司
【審査官】渡邊 捷太郎
(56)【参考文献】
【文献】特開2020-112952(JP,A)
【文献】特開2006-185438(JP,A)
【文献】特開2017-054475(JP,A)
【文献】特表2018-522306(JP,A)
【文献】特開2006-051550(JP,A)
【文献】特開2019-028967(JP,A)
【文献】特開2019-008796(JP,A)
【文献】米国特許出願公開第2019/0004535(US,A1)
【文献】中国特許出願公開第112130576(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G05D 1/43
(57)【特許請求の範囲】
【請求項1】
移動体に搭載された魚眼カメラによって撮像された画像である、前記移動体の周辺画像を取得する周辺画像取得部と、
前記移動体の将来の走行に関する指示を直交座標系におけるベース軌道として計算するベース軌道計算部と、
前記取得した直交座標系におけるベース軌道を、魚眼カメラ座標系におけるベース軌道に座標変換する座標変換部と、
前記周辺画像と、前記魚眼カメラ座標系におけるベース軌道とに基づいて、前記魚眼カメラ座標系におけるベース軌道のリスクを計算するリスク計算部と、
前記魚眼カメラ座標系におけるベース軌道のリスクに基づいて、前記直交座標系におけるベース軌道を修正することによって走行軌道を計算する走行軌道計算部と、
を備え
、
前記座標変換部は、前記直交座標系における走行軌道を、前記魚眼カメラ座標系における走行軌道に座標変換し、
前記ベース軌道又は走行軌道に沿って、前記移動体を走行させる走行制御部を更に備える、
制御装置。
【請求項2】
前記リスク計算部は、前記周辺画像と、前記魚眼カメラ座標系における走行軌道とに基づいて、前記魚眼カメラ座標系における走行軌道のリスクを計算し、
前記走行軌道計算部は、前記魚眼カメラ座標系における走行軌道のリスクに基づいて、前記直交座標系における走行軌道を修正することによって前記走行軌道を再計算する、
請求項1に記載の制御装置。
【請求項3】
移動体に搭載された魚眼カメラによって撮像された画像である、前記移動体の周辺画像を取得する周辺画像取得部と、
前記移動体の将来の走行に関する指示を直交座標系におけるベース軌道として計算するベース軌道計算部と、
前記取得した直交座標系におけるベース軌道を、魚眼カメラ座標系におけるベース軌道に座標変換する座標変換部と、
前記周辺画像と、前記魚眼カメラ座標系におけるベース軌道とに基づいて、前記魚眼カメラ座標系におけるベース軌道のリスクを計算するリスク計算部と、
前記魚眼カメラ座標系におけるベース軌道のリスクに基づいて、前記直交座標系におけるベース軌道を修正することによって走行軌道を計算する走行軌道計算部と、
を備え
、
前記座標変換部は、前記直交座標系における走行軌道を、前記魚眼カメラ座標系における走行軌道に座標変換し、
前記リスク計算部は、前記周辺画像と、前記魚眼カメラ座標系における走行軌道とに基づいて、前記魚眼カメラ座標系における走行軌道のリスクを計算し、
前記走行軌道計算部は、前記魚眼カメラ座標系における走行軌道のリスクに基づいて、前記魚眼カメラ座標系における走行軌道を修正することなく、前記直交座標系における走行軌道を修正することによって前記走行軌道を再計算し、
前記座標変換部は、前記直交座標系において再計算した走行軌道を、前記魚眼カメラ座標系における走行軌道に座標変換し、
前記ベース軌道又は走行軌道に沿って、前記移動体を走行させる走行制御部を更に備える、
制御装置。
【請求項4】
ユーザによる前記移動体の将来の走行に関する指示を示す身体動作を検出するジェスチャー検出部を更に備え、
前記ベース軌道計算部は、前記ジェスチャー検出部によって検出された身体動作に基づいて、前記直交座標系におけるベース軌道を計算する、
請求項1から3のいずれか1項に記載の制御装置。
【請求項5】
移動体に搭載されたコンピュータが、
移動体に搭載された魚眼カメラによって撮像された画像である、前記移動体の周辺画像を取得し、
前記移動体の将来の走行に関する指示を直交座標系におけるベース軌道として取得し、
前記取得した直交座標系におけるベース軌道を、魚眼カメラ座標系におけるベース軌道に座標変換し、
前記周辺画像と、前記魚眼カメラ座標系におけるベース軌道とに基づいて、前記魚眼カメラ座標系におけるベース軌道のリスクを計算し、
前記魚眼カメラ座標系におけるベース軌道のリスクに基づいて、前記直交座標系におけるベース軌道を修正することによって走行軌道を計算
し、
前記直交座標系における走行軌道を、前記魚眼カメラ座標系における走行軌道に座標変換し、
前記ベース軌道又は走行軌道に沿って、前記移動体を走行させる、
制御方法。
【請求項6】
移動体に搭載されたコンピュータに、
移動体に搭載された魚眼カメラによって撮像された画像である、前記移動体の周辺画像を取得させ、
前記移動体の将来の走行に関する指示を直交座標系におけるベース軌道として取得させ、
前記取得した直交座標系におけるベース軌道を、魚眼カメラ座標系におけるベース軌道に座標変換させ、
前記周辺画像と、前記魚眼カメラ座標系におけるベース軌道とに基づいて、前記魚眼カメラ座標系におけるベース軌道のリスクを計算させ、
前記魚眼カメラ座標系におけるベース軌道のリスクに基づいて、前記直交座標系におけるベース軌道を修正することによって走行軌道を計算さ
せ、
前記直交座標系における走行軌道を、前記魚眼カメラ座標系における走行軌道に座標変換させ、
前記ベース軌道又は走行軌道に沿って、前記移動体を走行させる、
プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置、制御方法、およびプログラムに関する。
【背景技術】
【0002】
自律移動可能なロボットに魚眼カメラを搭載する技術が知られている。例えば、特許文献1には、自律移動可能なロボットに魚眼カメラを搭載し、当該魚眼カメラによって撮像された画像に基づいて、ロボットの走行軌道を計算する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に記載の技術は、特定位置の場所を示すためのマーカを設置し、マーカとロボットとの間の相対距離や相対方向を用いて、ロボットを走行させるものである。しかしながら、ロボットの走行のためにマーカを設置することは手間がかかる。
【0005】
さらに、従来の技術は、魚眼カメラによって撮像された画像の全点を魚眼カメラ座標系から直交座標系に座標変換し、変換後の座標に基づいて走行軌道のリスクを評価し、走行軌道を修正するものであるため、魚眼カメラ座標系から直交座標系に座標変換する際の処理負荷が大きいものと想定される。
【0006】
本発明は、このような事情を考慮してなされたものであり、処理負荷を低減しつつ走行軌道のリスクを適切に評価することができる制御装置、制御方法、およびプログラムを提供することを目的の一つとする。
【課題を解決するための手段】
【0007】
この発明に係る制御装置、制御方法、およびプログラムは、以下の構成を採用した。
(1):本発明の一態様に係る制御装置は、移動体に搭載された魚眼カメラによって撮像された画像である、前記移動体の周辺画像を取得する周辺画像取得部と、前記移動体の将来の走行に関する指示を直交座標系におけるベース軌道として計算するベース軌道計算部と、前記取得した直交座標系におけるベース軌道を、魚眼カメラ座標系におけるベース軌道に座標変換する座標変換部と、前記周辺画像と、前記魚眼カメラ座標系におけるベース軌道とに基づいて、前記魚眼カメラ座標系におけるベース軌道のリスクを計算するリスク計算部と、前記魚眼カメラ座標系におけるベース軌道のリスクに基づいて、前記直交座標系におけるベース軌道を修正することによって走行軌道を計算する走行軌道計算部と、を備えるものである。
【0008】
(2):上記(1)の態様において、前記座標変換部は、前記直交座標系における走行軌道を、前記魚眼カメラ座標系における走行軌道に座標変換し、前記リスク計算部は、前記周辺画像と、前記魚眼カメラ座標系における走行軌道とに基づいて、前記魚眼カメラ座標系における走行軌道のリスクを計算し、前記走行軌道計算部は、前記魚眼カメラ座標系における走行軌道のリスクに基づいて、前記直交座標系における走行軌道を修正することによって前記走行軌道を再計算するものである。
【0009】
(3):上記(1)又は(2)の態様において、前記ベース軌道又は走行軌道に沿って、前記移動体を走行させる走行制御部を更に備え、前記走行制御部は、前記リスク計算部が、前記ベース軌道又は走行軌道のリスクが閾値以下であると判定した場合、前記ベース軌道又は走行軌道に沿って、前記移動体を走行させるものである。
【0010】
(4):上記(1)から(3)のいずれかの態様において、ユーザによる前記移動体の将来の走行に関する指示を示す身体動作を検出するジェスチャー検出部を更に備え、前記ベース軌道計算部は、前記ジェスチャー検出部によって検出された身体動作に基づいて、前記直交座標系におけるベース軌道を計算するものである。
【0011】
(5):本発明の他の態様に係る制御方法は、移動体に搭載されたコンピュータが、移動体に搭載された魚眼カメラによって撮像された画像である、前記移動体の周辺画像を取得し、前記移動体の将来の走行に関する指示を直交座標系におけるベース軌道として取得し、前記取得した直交座標系におけるベース軌道を、魚眼カメラ座標系におけるベース軌道に座標変換し、前記周辺画像と、前記魚眼カメラ座標系におけるベース軌道とに基づいて、前記魚眼カメラ座標系におけるベース軌道のリスクを計算し、前記魚眼カメラ座標系におけるベース軌道のリスクに基づいて、前記直交座標系におけるベース軌道を修正することによって走行軌道を計算するものである。
【0012】
(6):本発明の他の態様に係るプログラムは、移動体に搭載されたコンピュータに、移動体に搭載された魚眼カメラによって撮像された画像である、前記移動体の周辺画像を取得させ、前記移動体の将来の走行に関する指示を直交座標系におけるベース軌道として取得させ、前記取得した直交座標系におけるベース軌道を、魚眼カメラ座標系におけるベース軌道に座標変換させ、前記周辺画像と、前記魚眼カメラ座標系におけるベース軌道とに基づいて、前記魚眼カメラ座標系におけるベース軌道のリスクを計算させ、前記魚眼カメラ座標系におけるベース軌道のリスクに基づいて、前記直交座標系におけるベース軌道を修正することによって走行軌道を計算させるものである。
【発明の効果】
【0013】
(1)~(6)の態様によれば、処理負荷を低減しつつ走行軌道のリスクを適切に評価することができる。
【図面の簡単な説明】
【0014】
【
図1】実施形態に係る制御装置を備える移動体10が使用される場面の一例を示す図である。
【
図2】移動体10の全体構成の一例を説明するための図である。
【
図3】ユーザUによって示されるジェスチャーの一例を示す図である。
【
図4】座標変換部140によって実行されるベース軌道BLの座標変換の一例を示す図である。
【
図5】リスク計算部150が魚眼カメラ座標系におけるベース軌道BL-2のリスクを計算する場面の一例を示す図である。
【
図6】走行可能空間検出部160による走行可能空間FSの検出処理の一例を示す図である。
【
図7】走行軌道計算部170が直交座標系における走行軌道TL-1を計算する場面の一例を示す図である。
【
図8】走行軌道計算部170による走行軌道TLの計算処理と、座標変換部140による走行軌道TLの座標変換の一例を示す図である。
【
図9】制御装置100によって実行される処理の流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0015】
<実施形態>
以下、図面を参照し、本発明の実施形態に係る制御装置、制御方法、およびプログラムについて説明する。
【0016】
[全体構成]
図1は、実施形態に係る制御装置を備える移動体10が使用される場面の一例を示す図である。移動体10は、自律移動型のロボットであり、魚眼カメラ20と、収容器30と、車輪40とを備える。移動体10の利用態様として、以下のような態様がある。ユーザUは荷物Bを保持しており、移動体10は、ユーザのジェスチャーに応じて、荷物Bを収容するためにユーザUの方向に移動する。移動体10とユーザUとの間には、障害物OBが存在するため、移動体10は、自律的に障害物OBを回避し、ユーザUの付近まで移動する。ユーザUが荷物Bを収容器30に置いた後、移動体10は、ユーザUに付随して移動する。
【0017】
魚眼カメラ20は、例えば、魚眼レンズを含み、移動体10の周辺を広角に(例えば360度で)撮像可能なカメラである。魚眼カメラ20は、例えば、移動体10の上部に取り付けられることによって、移動体10の周辺を水平方向に関して広角に撮像するものである。魚眼カメラ20は、複数の120度カメラ又は60度カメラを組み合わせて実現したものであってもよい。
【0018】
収容器30は、任意の物品や荷物を収容するための容器であり、移動体10の胴部に固定される。
【0019】
車輪40は、移動体10の内部に搭載される複数のモータ50によって駆動され、移動体10による移動を実現する。車輪40は、例えば、モータ50によって回転方向に駆動される駆動輪と、ヨー方向に駆動される非駆動輪である操舵輪とを含む。操舵輪の角度が調整されることによって、移動体10は進路を変更することができる。
【0020】
なお、本発明において移動体10が収容器30を備えることは必須ではない。さらに、本実施形態において、移動体10は、移動を実現するための機構として車輪40を備えているが、本発明はこの構成に限定されず、例えば、移動体10は多足歩行型のロボットであってもよい。
【0021】
図2は、移動体10の全体構成の一例を説明するための図である。移動体10は、上述した魚眼カメラ20と、収容器30と、車輪40と、モータ50とに加えて、制御装置100を備える。制御装置100は、例えば、周辺画像取得部110と、ジェスチャー検出部120と、ベース軌道計算部130と、座標変換部140と、リスク計算部150と、走行可能空間検出部160と、走行軌道計算部170と、走行制御部180と、を備える。制御装置100の各部は、例えば、CPU(Central Processing Unit)などのハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。制御装置100の各部のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)などのハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。プログラムは、予めHDD(Hard Disk Drive)やフラッシュメモリなどの記憶装置(非一過性の記憶媒体を備える記憶装置)に格納されていてもよいし、DVDやCD-ROMなどの着脱可能な記憶媒体(非一過性の記憶媒体)に格納されており、記憶媒体がドライブ装置に装着されることでインストールされてもよい。
【0022】
周辺画像取得部110は、魚眼カメラ20によって撮像された画像(以下、「周辺画像」と称する)を取得する。このとき取得した周辺画像は360度画像であるため、周辺画像取得部110は、取得した周辺画像を魚眼カメラ座標系におけるピクセルデータとして保持する。
【0023】
ジェスチャー検出部120は、一以上の周辺画像に基づいて、ユーザUによる身体動作(以下、「ジェスチャー」と称する)を検出する。本実施形態において、ジェスチャーは、移動体10の将来の走行に関する指示を示すものとして予め設定されている。ジェスチャー検出部120は、事前に複数のジェスチャーに関するデータ(テンプレートデータ)を格納し、周辺画像から取得した特徴データとテンプレートデータとをマッチングさせることによって、当該周辺画像におけるジェスチャーを検出する。特徴データ、テンプレートデータのそれぞれは、例えば、人の指先、指の関節、手首、肘といった骨格の特徴箇所と、それを繋ぐリンクとを抽象的なデータで表現したものである。
【0024】
図3は、ユーザUによって示されるジェスチャーの一例を示す図である。
図3において、ユーザUは、右手を前方に伸ばしている。本実施形態において、右手を前方に伸ばすジェスチャーは、「ユーザUに向けて前進して下さい」という意味を有するものとする。それに加えて、ジェスチャー検出部120は、例えば、自転、停止、後退などの意味を有する様々なジェスチャーを検出するものとするが、その詳細については説明を省略する。
【0025】
なお、本実施形態において、移動体10は、ユーザUのジェスチャーを検出するジェスチャー検出部120を有するものとしているが、移動体10の将来の走行に関する指示を認識できるものであれば、他の構成を用いてもよい。例えば、移動体10は、ユーザUによって発せられた音声を認識する音声認識部を備え、ユーザUが、移動体10の将来の走行に関する指示を音声で伝えた(例えば、「来て」など)ことを認識することによって、当該指示を認識してもよい。さらに、別の例として、ユーザUは自身の保有するスマートフォンなどの情報処理端末から、専用のアプリケーションを用いて、移動体10の将来の走行に関する指示を示す情報を移動体10に送信し、移動体10は当該情報を受信することによって、指示を認識してもよい。
【0026】
ベース軌道計算部130は、ジェスチャー検出部120によって検出されたジェスチャーに基づいて、移動体10が将来走行すべき軌道の初期情報であるベース軌道BLを計算する。このとき、ベース軌道計算部130は、直交座標系においてベース軌道BLを計算する。直交座標系とは、移動体10の位置を原点とし、且つ移動体10のボディに固定的に設定され、互いに直交する任意の方向を軸とする座標系である。例えば、ユーザUが右手を前方に伸ばすジェスチャーを示した場合、ベース軌道計算部130は、移動体10の位置を始点とし、初期の移動ベクトルが移動体10の向きと一致し、且つユーザUの直前位置を終点とするベース軌道BL-1を計算する。ベース軌道BL-1は、ユーザUの直前位置において移動体10の正面(収容器30がある側の面)がユーザUを向くように計算されてもよい。ベース軌道BL-1は、例えばベジェ曲線などの幾何的モデルに状態をフィッティングさせることで計算される。ベース軌道は、例えば、障害物OBの存在を考慮することなく計算される。ベース軌道BLは、実際には有限個の軌道点の集まりとして生成される。
【0027】
座標変換部140は、直交座標系と魚眼カメラ座標系との間で座標変換を行う。直交座標系と魚眼カメラ座標系の間では、座標間で一対一の関係が成立し、その関係は対応情報として座標変換部140に保持されている。以下、直交座標系での情報であることを符号「-1」で表し、魚眼カメラ座標系での情報であることを符号「-2」で表す。両者を区別しない場合、「-1」や「-2」を省略する。座標変換部140は、ベース軌道計算部130によって計算された、直交座標系におけるベース軌道BL-1を、魚眼カメラ座標系におけるベース軌道BL-2に座標変換する。座標変換部140は、さらに、後述する通り、走行軌道計算部170によって計算された、直交座標系における走行軌道TL―1を、魚眼カメラ座標系における走行軌道TL―2に変換したりする。
【0028】
ここで、走行軌道TLとは、ベース軌道BLを修正することによって得られる軌道を意味しており、後述する通り、例えば、障害物OBの存在によりベース軌道BLを走行することについてのリスクが高いと判断された場合に計算されるものである。
【0029】
図4は、座標変換部140によって実行されるベース軌道BLの座標変換の一例を示す図である。
図4の左上部は、ベース軌道計算部130によって計算されたベース軌道BL-1を示し、
図4の左下部は、周辺画像取得部110によって取得された移動体10の周辺画像を示す。座標変換部140は、ベース軌道BL―1を魚眼カメラ座標系に座標変換することで魚眼カメラ座標系におけるベース軌道BL-2を取得し、ベース軌道BL-2を周辺画像に重畳させることでリスクを計算可能とする。
【0030】
リスク計算部150は、魚眼カメラ座標系における各座標のリスクを計算し、魚眼カメラ座標系の対象領域におけるリスクの分布を求める。リスクとは、移動体10が他の障害物に衝突する可能性の高さを示す指標値である。リスク計算部150は、そのリスクの分布(リスク関数)を用いて、ベース軌道BL-2又は走行軌道TL-2のリスクを計算する。リスク計算部150は、例えば、移動体10のベース軌道BL又は走行軌道TL上の各軌道点におけるリスクJiを計算し、リスクJiの和ΣJiを求めることによってベース軌道BL-2又は走行軌道TL-2のリスクJを計算する。すなわち、J=ΣJiが成立する。
【0031】
ベース軌道BL-2又は走行軌道TL-2上のある軌道点におけるリスクは、当該軌道点と障害物との間の距離や障害物の速度に基づいて計算することができる。例えば、リスク計算部150は、ベース軌道BL-2又は走行軌道TL-2上の各軌道点と障害物との間の距離が小さければ小さいほど、当該軌道点におけるリスクを高く計算し、ベース軌道BL-2又は走行軌道TL-2上のある軌道点と障害物との間の距離が大きければ大きいほど、当該軌道点におけるリスクを低く計算する。より具体的には、リスク計算部150は、障害物OBを包含する最小外接円の領域内のリスクを所定値(例えば、1)に設定し、その領域から離れるほど小さくなり、ある地点でゼロになるようにリスクJiを計算する。さらに、移動する障害物OBについては将来の各時点でリスクが異なるため、移動体10が走行軌道TLにおける到達する時刻ごとにリスク分布のデータを用意する。
【0032】
図5は、リスク計算部150が魚眼カメラ座標系におけるベース軌道BL-2のリスクを計算する場面の一例を示す図である。
図5は、リスク計算部150が、
図4において座標変換部140が取得した魚眼カメラ座標系におけるベース軌道BL-2のリスクを計算したものである。
図5において、ハッチング領域RRは、リスクが正であるリスク領域を表す。図中、P1~P4は、ベース軌道BL-2を構成する軌道点である。リスク計算部150は、各軌道点のリスクを計算するためのリスク関数にこれらの軌道点P1~P4の位置を代入し、各軌道点におけるリスク値J
P1、J
P2、J
P3、及びJ
P4を計算する。次に、リスク計算部150は、各軌道点におけるリスク値の和を取り、ベース軌道BLのリスクΣJ=J
P1+J
P2+J
P3+J
P4を計算する。これにより、リスク計算部150は、ベース軌道BL-2のリスクを計算することができる。なお、リスク計算部150が走行軌道TL-2のリスクを計算する方法も同様である。
【0033】
リスク計算部150は、魚眼カメラ座標系におけるベース軌道BL-2のリスクΣJを計算すると、次に、計算したリスクΣJを閾値Th(例えば、1)と比較し、当該ベース軌道BLに沿って移動体10を走行させるか否かを判定する。リスク計算部150は、リスクΣJが閾値Th以内であると判定した場合、ベース軌道BLに沿って移動体10を走行させると判定する。一方、リスク計算部150は、リスクΣJが閾値Thより大きいと判定した場合、ベース軌道BLに沿って移動体10を走行させないと判定する。
【0034】
なお、本実施形態において、リスク計算部150は、リスクΣJと閾値Thとを比較している。しかし、リスクΣJと閾値Thとの比較方法はこの構成に限定されず、例えば、リスク計算部150は、
図5において、ベース軌道BL-2上の各リスク値J
P1、J
P2、J
P3、及びJ
P4のうちの最大値(
図5の場合ではJ
P3)を抽出し、当該最大値と閾値Thとを比較してもよい。リスクΣJと閾値Thとを比較する方法は、移動体10をより安全に走行させることができるという点で有利であり、最大値と閾値Thとを比較する方法は、移動体10をより効率的に走行させることができるという点で有利である。
【0035】
走行可能空間検出部160は、リスク計算部150がベース軌道BLに沿って移動体10を走行させないと判定した場合、周辺画像に基づいて、移動体10が走行可能な空間である走行可能空間FS-2を魚眼カメラ座標系において検出する。
【0036】
図6は、走行可能空間検出部160による走行可能空間FSの検出処理の一例を示す図である。
図6に示す通り、リスク計算部150はベース軌道BLに沿って移動体10を走行させないと判定したため、走行可能空間検出部160は、斜線部によって示される空間、すなわち、ベース軌道BL-2の始点(移動体10の位置)から終点(ユーザUの直前位置)の方向に広がり、かつ障害物(障害物OB及びユーザU)を除いた空間を、走行可能空間FS-2として検出する。
【0037】
走行軌道計算部170は、リスク計算部150によって計算された各軌道点のリスクに基づいて、走行可能空間検出部160によって検出された走行可能空間FS-2の範囲内にあるような各軌道点の修正量を、直交座標系における修正量として計算する。ここで、直交座標系における各軌道点の修正量は、魚眼カメラ座標系における対応する軌道点におけるリスク値Jiが大きいほど、当該軌道点の接線に直交する方向への修正幅Δを大きくすることによって行われる。すなわち、走行軌道計算部170は、ベース軌道BL-1の軌道点を各リスク値Jiに応じた修正幅Δだけ変化させることによって走行軌道TL-1を求める。このように、走行軌道計算部170は、魚眼カメラ20によって撮像された画像を直交座標系に座標変換することなく、魚眼カメラ座標系における各軌道点のリスクに基づいて、直交座標系における対応する軌道点の修正量を計算するため、軌道の修正に必要とされる演算量を低減することができる。
【0038】
図7は、走行軌道計算部170が直交座標系における走行軌道TL-1を計算する場面の一例を示す図である。
図7において、軌道点Q1、Q2、Q3、及びQ4は、ベース軌道BL-1の各軌道点P1、P2、P3、及びP4を、それぞれのリスク値Jiに応じた軌道修正パラメータΔだけ変化させることによって得られた軌道点である。
図7において、軌道点P1、P2、P3、及びP4のリスク値Jiは、J
P3、J
P2、J
P4、J
P1の順に大きいため、各軌道点の接線に直交する方向への修正幅Δも、P3、P2、P4、P1の順に大きくなる。
【0039】
次に、座標変換部140は、直交座標系における走行軌道TL-1を魚眼カメラ座標系における走行軌道TL-2に変換し、リスク計算部150は、走行軌道TL-2上の軌道点Q1~Q4の位置をリスク関数に代入し、各軌道点におけるリスク値J
Q1、J
Q2、J
Q3、及びJ
Q4を計算する。このとき計算に用いるリスク分布(リスク関数)は、ベース軌道BL-2のリスクを求める際に用いたものと同様である。次に、リスク計算部150は、各軌道点におけるリスク値の和を取り、走行軌道TL―1のリスクΣJ=J
Q1+J
Q2+J
Q3+J
Q4を計算する。
図7の場合、軌道点Q1~Q4は障害物OBのリスク領域RRの外にあるため、リスク計算部150は、ΣJ=J
Q1+J
Q2+J
Q3+J
Q4=0を得る。
【0040】
リスク計算部150は、魚眼カメラ座標系における走行軌道TL-1のリスクΣJを計算すると、次に、計算したリスクΣJを閾値Thと比較し、当該走行軌道TLに沿って移動体10を走行させるか否かを判定する。リスク計算部150は、リスクΣJが閾値Th以内であると判定した場合、走行軌道TLに沿って移動体10を走行させると判定する。一方、リスク計算部150は、リスクΣJが閾値Thより大きいと判定した場合、走行軌道TLに沿って移動体10を走行させないと判定し、リスクΣJが閾値Th以下になるまで同様の修正を繰り返し、走行軌道TLを再計算する。
図7の場合、リスクΣJ=0となり閾値Thより小さいため、リスク計算部150は、走行軌道TLに沿って移動体10を走行させると判定する。
【0041】
なお、上記の説明において、軌道点の修正幅Δは、それぞれのリスク値Jiに応じた値であるものとしたが、このとき、走行軌道計算部170は、走行軌道TL-1がリスク合計値ΣJの局所解と取ることを避けるために、軌道修正パラメータΔに乱数を乗算してもよい。
【0042】
図8は、走行軌道計算部170による走行軌道TLの計算処理と、座標変換部140による走行軌道TLの座標変換の一例を示す図である。走行軌道計算部170は、上述した通り、魚眼カメラ座標系における各軌道点のリスクに基づいて計算された、直交座標系における修正量を用いてベース軌道BL-1の対応する軌道点を軌道修正パラメータΔだけ変化させ、走行軌道TL-1を計算する。次に、座標変換部140は、直交座標系における走行軌道TL-1を魚眼カメラ座標系における走行軌道TL-2に座標変換し、リスク計算部150は、周辺画像と、魚眼カメラ座標系における走行軌道TL-2とに基づいて、当該走行軌道TL-2のリスクを計算する。このように、魚眼カメラ座標系における各軌道点のリスクに基づいて、直交座標系における対応する軌道点の修正量を計算することにより、修正に必要とされる処理負荷を低減しつつ走行軌道のリスクを適切に評価することができる。
【0043】
走行制御部180は、リスク計算部150が、ベース軌道BL又は走行軌道TLのリスク値が閾値Th以下であると判定した場合、当該ベース軌道BL又は走行軌道TLに沿って、移動体10を走行させる。具体的には、走行制御部180は、移動体10がベース軌道BL又は走行軌道TLに沿って走行するような指令値をモータ50に出力し、モータ50は、当該指令値に従って車輪40を回転させる。
【0044】
[処理の流れ]
次に、
図9を参照して、本実施形態に係る制御装置100による処理の流れについて説明する。
図9は、制御装置100によって実行される処理の流れの一例を示すフローチャートである。本フローチャートの処理は、所定の制御サイクルごとに実行されるものである。
【0045】
まず、周辺画像取得部110は、魚眼カメラ20によって撮像された、移動体10の周辺画像を取得する(ステップS100)。次に、ジェスチャー検出部120は、周辺画像取得部110によって取得された周辺画像に基づいて、移動体10の将来の走行に関する指示を示すジェスチャーを検出する(ステップS101)。次に、ベース軌道計算部130は、ジェスチャー検出部120によって検出されたジェスチャーに基づいて、直交座標系におけるベース軌道BL-1を計算する(ステップS102)。次に、座標変換部140は、ベース軌道計算部130によって計算された、直交座標系におけるベース軌道BL-1を、魚眼カメラ座標系におけるベース軌道BL-2に座標変換する(ステップS103)。次に、リスク計算部150は、周辺画像と、魚眼カメラ座標系におけるベース軌道BL-2とに基づいて、魚眼カメラ座標系におけるベース軌道BL-2のリスクを計算する(ステップS104)。
【0046】
次に、リスク計算部150は、計算したベース軌道BL-2のリスクが閾値Th以下であるか否かを判定する(ステップS105)。リスク計算部150は、計算したベース軌道BL-2のリスクが閾値Th以下であると判定した場合、走行制御部180は、当該ベース軌道BLに沿って移動体10を走行させる(ステップS106)。一方、リスク計算部150は、計算したベース軌道BL-2のリスクが閾値Thより大きいと判定した場合、走行可能空間検出部160は、周辺画像に基づいて、走行可能空間FS-2を魚眼カメラ座標系において検出する(ステップS107)。次に、走行軌道計算部170は、リスク計算部150によって計算されたベース軌道BL-2の各軌道点のリスクに基づいて、走行可能空間検出部160によって検出された走行可能空間FS-2の範囲内にあるような各軌道点の修正量を、直交座標系における修正量として計算する(ステップS108)。次に、走行軌道計算部170は、直交座標系において、当該修正量だけベース軌道BL-1を修正することによって走行軌道TL-1を計算する(ステップS109)。次に、座標変換部140は、直交座標系における走行軌道TL-1を魚眼カメラ座標系における走行軌道TL-2に座標変換する(ステップS110)。次に、リスク計算部150は、周辺画像と、魚眼カメラ座標系における走行軌道TL-2とに基づいて、当該走行軌道TL-2のリスクを計算する(ステップS111)。
【0047】
次に、リスク計算部150は、計算した走行軌道TL-2のリスクが閾値Th以下であるか否かを判定する(ステップS112)。リスク計算部150は、計算した走行軌道TL-2のリスクが閾値Th以下であると判定した場合、走行制御部180は、当該走行軌道TLに沿って移動体10を走行させる(ステップS113)。一方、リスク計算部150は、計算した走行軌道TL-2のリスクが閾値Thより大きいと判定した場合、処理を再度ステップS109に戻し、走行軌道TL-1を再計算する。
【0048】
以上の通り、本発明の実施形態によれば、制御装置は、魚眼カメラによって撮像された画像を直交座標系に座標変換することなく、魚眼カメラ座標系におけるベース軌道のリスクに基づいて直交座標系におけるベース軌道の修正量を計算し、直交座標系におけるベース軌道を当該修正量だけ修正することによって得られた走行軌道を、再度、魚眼カメラ座標系に座標変換し、魚眼カメラ座標系において当該走行軌道のリスクを評価する。これにより、処理負荷を低減しつつ走行軌道のリスクを適切に評価することができる。
【0049】
上記説明した実施形態は、以下のように表現することができる。
プログラムを記憶した記憶装置と、
ハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサが前記記憶装置に記憶されたプログラムを実行することにより、 移動体に搭載された魚眼カメラによって撮像された画像である、前記移動体の周辺画像を取得し、
前記移動体の将来の走行に関する指示を直交座標系におけるベース軌道として計算し、
前記取得した直交座標系におけるベース軌道を、魚眼カメラ座標系におけるベース軌道に座標変換し、
前記周辺画像と、前記魚眼カメラ座標系におけるベース軌道とに基づいて、前記魚眼カメラ座標系におけるベース軌道のリスクを計算し、
前記魚眼カメラ座標系におけるベース軌道のリスクに基づいて、前記直交座標系におけるベース軌道を修正することによって走行軌道を計算する、
ように構成されている、制御装置。
【0050】
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【符号の説明】
【0051】
10 移動体
20 魚眼カメラ
30 収容器
40 車輪
50 モータ
100 制御装置
110 周辺画像取得部
120 ジェスチャー検出部
130 ベース軌道計算部
140 座標変換部
150 リスク計算部
160 走行可能空間検出部
170 走行軌道計算部
180 走行制御部