(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024064218
(43)【公開日】2024-05-14
(54)【発明の名称】移動体制御システム、その制御方法、移動体、プログラム及び記録媒体
(51)【国際特許分類】
G05D 1/43 20240101AFI20240507BHJP
【FI】
G05D1/02 H
【審査請求】未請求
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022172643
(22)【出願日】2022-10-27
(71)【出願人】
【識別番号】000005326
【氏名又は名称】本田技研工業株式会社
(74)【代理人】
【識別番号】110003281
【氏名又は名称】弁理士法人大塚国際特許事務所
(72)【発明者】
【氏名】倉光 祐之介
(72)【発明者】
【氏名】相澤 航輝
(72)【発明者】
【氏名】松永 英樹
【テーマコード(参考)】
5H301
【Fターム(参考)】
5H301AA03
5H301AA10
5H301CC03
5H301CC06
5H301CC10
5H301DD06
5H301DD07
5H301DD17
5H301GG08
5H301GG09
5H301HH10
5H301HH16
5H301LL01
5H301LL06
(57)【要約】
【課題】自由度の高い走行軌道の生成と乗り心地の確保とを両立することが可能な移動体制御システムを提供する。
【解決手段】本開示に係る移動体制御システムは、移動体の動作を制御する移動体制御システムであって、それぞれの軌道の曲率が距離に対して線形に変化する複数の軌道と、曲率が非線形に変化する曲率変化点とを組み合わせて構成される前記移動体の位置から目標位置までの軌道を用いて、移動体が走行すべき軌道を生成する生成手段と、生成された軌道に基づいて、移動体の走行を制御する制御量を決定する決定手段と、を有する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
移動体の動作を制御する移動体制御システムであって、
それぞれの軌道の曲率が距離に対して線形に変化する複数の軌道と、曲率が非線形に変化する曲率変化点とを組み合わせて構成される前記移動体の位置から目標位置までの軌道を用いて、前記移動体が走行すべき軌道を生成する生成手段と、
前記生成された軌道に基づいて、前記移動体の走行を制御する制御量を決定する決定手段と、を有することを特徴とする移動体制御システム。
【請求項2】
前記移動体が走行すべき軌道は複数の曲率変化点を含み、
前記生成手段は、前記複数の曲率変化点の曲率を決定することにより、前記移動体が走行すべき軌道を生成する、ことを特徴とする請求項1に記載の移動体制御システム。
【請求項3】
前記生成手段は、障害物が存在する位置を示す情報を参照し、生成する軌道の位置が障害物が存在する位置に接近するほどコストが増加するコスト関数を用いて、前記複数の曲率変化点の曲率を決定する、ことを特徴とする請求項2に記載の移動体制御システム。
【請求項4】
前記生成手段は、予め定められた前記移動体の参照軌道を示す情報を参照し、生成する軌道が前記参照軌道から乖離するほどコストが増加するコスト関数を用いて、前記複数の曲率変化点の曲率を決定する、ことを特徴とする請求項2に記載の移動体制御システム。
【請求項5】
前記生成手段は、所定の時間前に生成した前記移動体が走行すべき軌道を参照し、生成する軌道が前記所定の時間前に生成した前記移動体が走行すべき軌道からの変化量が大きいほどコストが増加するコスト関数を用いて、前記複数の曲率変化点の曲率を決定する、ことを特徴とする請求項2に記載の移動体制御システム。
【請求項6】
前記移動体が走行すべき軌道は3つの曲率変化点を有する、ことを特徴とする請求項2に記載の移動体制御システム。
【請求項7】
前記決定手段は、前記生成された軌道の曲率のうちの最も大きい曲率に基づいて、前記制御量である前記移動体の速度と角速度とを算出する、ことを特徴とする請求項1に記載の移動体制御システム。
【請求項8】
前記決定手段は、前記生成された軌道の曲率のうち、現在の前記移動体の速度に応じて異なる所定の範囲内において最も大きい曲率に基づいて、前記制御量である前記移動体の速度と角速度とを決定する、ことを特徴とする請求項7に記載の移動体制御システム。
【請求項9】
前記決定手段は、前記移動体の速度と角速度が、前記移動体が安定して走行するための制約を満たさない場合、前記移動体の速度と角速度を当該制約を満たすように変更する、ことを特徴とする請求項7に記載の移動体制御システム。
【請求項10】
前記移動体の撮像手段で撮像された画像に基づいて障害物が存在する位置を検知する検知手段を更に有し、
前記目標位置までの最大距離は、前記検知手段が障害物を検知可能な範囲に従って設定される、ことを特徴とする請求項1に記載の移動体制御システム。
【請求項11】
前記目標位置までの最大距離は、前記移動体の走行を制御可能な制動距離に従って設定される、ことを特徴とする請求項1に記載の移動体制御システム。
【請求項12】
移動体であって、
それぞれの軌道の曲率が距離に対して線形に変化する複数の軌道と、曲率が非線形に変化する曲率変化点とを組み合わせて構成される前記移動体の位置から目標位置までの軌道を用いて、前記移動体が走行すべき軌道を生成する生成手段と、
前記生成された軌道に基づいて、前記移動体の走行を制御する制御量を決定する決定手段と、を有することを特徴とする移動体。
【請求項13】
移動体の動作を制御する移動体制御システムの制御方法であって、
それぞれの軌道の曲率が距離に対して線形に変化する複数の軌道と、曲率が非線形に変化する曲率変化点とを組み合わせて構成される前記移動体の位置から目標位置までの軌道を用いて、前記移動体が走行すべき軌道を生成する生成工程と、
前記生成された軌道に基づいて、前記移動体の走行を制御する制御量を決定する決定工程と、を有することを特徴とする移動体制御システムの制御方法。
【請求項14】
コンピュータを、請求項1から11のいずれか1項に記載の移動体制御システムの各手段として機能させるためのプログラム。
【請求項15】
コンピュータを、請求項1から11のいずれか1項に記載の移動体制御システムの各手段として機能させるためのプログラムを格納する記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、移動体制御システム、その制御方法、移動体、プログラム及び記録媒体に関する。
【背景技術】
【0002】
近年、小規模地域内における人々の移動を支えるための、超小型の移動体(マイクロモビリティ)の需要が高まっている。マイクロモビリティは、乗車定員が1名程度であるものや、人が搭乗する代わりに荷物を運びながら人と共に走行するものなどがある。マイクロモビリティは、自動車による移動領域と歩行者の移動領域の両方を走行可能にするため、車道を走行するための自動運転技術に加え、歩道等のフリースペースの自律移動技術を必要とする。マイクロモビリティの進行方向には様々な障害物が存在することが想定されるため、様々な障害物を柔軟に回避するための自由度の高い走行軌道が必要である。
【0003】
非特許文献1には、自律移動する車両が複雑な形状の走路を走行するために、クロソイド曲線に基づいて走行軌道を生成する技術が提案されている。非特許文献2には、緊急時において障害物を回避するための走行軌道として、走行レーン上に設定されるエンドポイントを通過する多次元曲線に基づいて走行軌道を生成する技術を提案している。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】MARCUS LUNDBERG,「Path planning for autonomous vehicles using clothoid based smoothing of A* generated paths and optimal control」(https://www.diva-portal.org/smash/get/diva2:1150741/FULLTEXT01.pdf),2017
【非特許文献2】Wenda Xu,外4名,「A Real-Time Motion Planner with Trajectory Optimization for Autonomous Vehicles」(https://www.ri.cmu.edu/pub_files/2012/5/ICRA12_xuwd_Final.pdf),2012
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、マイクロモビリティには人が乗車するため、自由度の高い走行軌道、すなわち複雑な形状の走行軌道に従って走行する場合であっても、適切な乗り心地が確保される必要がある。
【0006】
本発明は、上記課題に鑑みてなされ、その目的は、自由度の高い走行軌道の生成と乗り心地の確保とを両立することが可能な技術を実現することである。
【課題を解決するための手段】
【0007】
本発明によれば、
移動体の動作を制御する移動体制御システムであって、
それぞれの軌道の曲率が距離に対して線形に変化する複数の軌道と、曲率が非線形に変化する曲率変化点とを組み合わせて構成される前記移動体の位置から目標位置までの軌道を用いて、前記移動体が走行すべき軌道を生成する生成手段と、
前記生成された軌道に基づいて、前記移動体の走行を制御する制御量を決定する決定手段と、を有することを特徴とする移動体制御システムが提供される。
【発明の効果】
【0008】
本発明によれば、自由度の高い走行軌道の生成と乗り心地の確保とを両立することが可能になる。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施形態に係る移動体の構成例を示す図
【
図2】実施形態に係る移動体の制御系の構成例を示すブロック図
【
図3】実施形態に係る移動体の制御ユニットに関わる機能構成例を示すブロック図
【
図4】実施形態に係る格子地図の例を模式的に示す図
【
図5】実施形態に係る移動体の局所経路(軌道)を模式的に説明する図
【
図6A】実施形態に係る移動体の局所経路(軌道)を、クロソイド曲線と曲率変化点を組み合わせて構成する例を説明する図
【
図6B】実施形態に係るコスト関数について説明する図
【
図7】実施形態に係る移動体の走行制御処理の一連の動作を示すフローチャート
【
図8】実施形態に係る軌道生成と制御量決定についての一連の動作を示すフローチャート
【
図9A】生成した軌道に基づいて、曲率の最大値を決定する第1の例を説明する図
【
図9B】生成した軌道に基づいて、曲率の最大値を決定する第2の例を説明する図
【
図9C】生成した軌道に基づいて、曲率の最大値を決定する第3の例を説明する図
【
図10】実施形態に係る制御量の決定に係る一連の動作を示すフローチャート
【発明を実施するための形態】
【0010】
以下、添付図面を参照して実施形態を詳しく説明する。なお、以下の実施形態は特許請求の範囲に係る発明を限定するものではなく、また実施形態で説明されている特徴の組み合わせの全てが発明に必須のものとは限らない。実施形態で説明されている複数の特徴のうち二つ以上の特徴が任意に組み合わされてもよい。また、同一若しくは同様の構成には同一の参照番号を付し、重複した説明は省略する。
【0011】
以下の実施形態では、マイクロモビリティである移動体の一例として、乗車定員が1名程度である超小型の電動車両を例に説明する。しかし、マイクロモビリティは、人が搭乗する代わりに荷物を運びながら人と共に走行するものも含まれてよい。また、本実施形態は、移動体が電動車両である例に限定されず、電動車両以外の移動体に対しても適用可能である。更に、以下の説明では、1つの従動輪を有する移動体を例に説明するが、必ずしも従動輪を有しなくてもよく、また、従動輪が1つである場合に限らず2つ以上であってもよい。
【0012】
上述のマイクロモビリティのような移動体では、人が乗ること、目標位置が頻繁に変化すること、高精度地図を用いないことを考慮した自律走行が実現されれば有用である。マイクロモビリティは、特定の決まった経路を走行するとは限らず、また、自動車による移動領域と歩行者の移動領域の両方を走行可能にするため、高精度地図が整備されていない領域を適切に走行する必要がある。更に、例えばショッピングモール内やイベント会場を走行する場合のように、複数の障害物が不規則に存在するような状況で障害物を適切に回避しながら走行することが求められる。また、マイクロモビリティに人が乗車する場合、配送用の無人ロボットとは異なり、不自然な走行軌道や乗り心地を考慮しない走行軌道が採用されれば、乗車する人に不安を与えるおそれがある。
【0013】
本実施形態に係る移動体100は、高精度地図を用いること無く、障害物を回避しながら目標位置に向かって自律走行する。高精度地図を用いること無く自律走行するため、移動体100が走行可能な領域は、後述する検知ユニットの出力から認識される情報を用いて識別される。後述するように、移動体100は、移動体100が走行可能な領域と走行不可能な領域とを表す格子地図を生成し、移動体100の軌道の生成に用いる。また、移動体100は、非線形に曲率が変化する点(以下、単に曲率変化点という)を設けたクロソイド曲線を用いて、自由度が高く、且つ乗り心地を考慮した軌道を生成する。移動体100は、生成された軌道に沿って走行するように駆動系を制御する。
【0014】
<移動体の構成>
図1を参照して、移動体100の構成について説明する。
図1(A)は本実施形態に係る移動体100の側面を示し、
図1(B)は移動体100の内部構成を示している。図中矢印Xは移動体100の前後方向を示しFが前をRが後を示す。矢印Y、Zは移動体100の幅方向(左右方向)、上下方向を示す。
【0015】
移動体100は、走行ユニット112を備え、バッテリ113を主電源とした電動自律式車両である。バッテリ113は例えばリチウムイオンバッテリ等の二次電池であり、バッテリ113から供給される電力により走行ユニット112によって移動体100が自走する。走行ユニット112は、前輪である左右一対の駆動輪120と、後輪である1つの従動輪121とを備える三輪車の形態をとる。なお、走行ユニット112は四輪車の形態等、他の形態であってもよい。移動体100は、例えば、一人用の座席111を備える。
【0016】
走行ユニット112は駆動機構122を備える。駆動機構122は、モータ122a及び122bを駆動源として、対応する駆動輪120を回転させる機構である。駆動機構122は、駆動輪120のそれぞれを回転させることで移動体100を前進又は後進させることができる。駆動機構122はまた、モータ122a及び122bの回転差を生じさせることで移動体100の進行方向を変更することができる。走行ユニット112は従動輪121を備える。従動輪はZ方向を回転軸として旋回可能である。
【0017】
移動体100は、移動体100の周囲の物標を検知する検知ユニット114~116を備える。検知ユニット114~116は、移動体100の周辺を監視する外界センサ群である。検知ユニット114~116は、本実施形態の場合、いずれも移動体100の周囲の画像を撮像する撮像装置であり、例えば、レンズなどの光学系とイメージセンサとを備える。しかし、撮像装置に代えて或いは撮像装置に加えて、レーダやライダ(Light Detection and Ranging)を採用してもよい。
【0018】
検知ユニット114は、例えば移動体100の前部にY方向に離間して二つ配置されており、主に、移動体100の前方の物標を検知するために用いられる。検知ユニット115は移動体100の左側部及び右側部にそれぞれ配置されており、主に、移動体100の側方の物標を検知するために用いられる。検知ユニット116は移動体100の後部に配置されており、主に、移動体100の後方の物標を検知するために用いられる。
【0019】
図2は、移動体100の制御系のブロック図である。移動体100は、制御ユニット(ECU)130を備える。制御ユニット130は、CPUに代表される1つ以上のプロセッサ、半導体メモリ等のメモリデバイス、外部デバイスとのインタフェース等を含む。メモリデバイスにはプロセッサが実行するプログラムやプロセッサが処理に使用するデータ等が格納される。プロセッサ、メモリデバイス、インタフェースは、移動体100の機能別に複数組設けられて互いに通信可能に構成されてもよい。
【0020】
制御ユニット130は、検知ユニット114~116の出力(例えば画像情報)、操作部131の入力情報、音声入力装置133から入力された音声情報などを取得して、それぞれの情報に応じた処理を実行する。制御ユニット130は、モータ122a、122bの制御(走行ユニット112の走行制御)、操作部131に含まれる表示パネルの表示制御、音声による移動体100の乗員への報知、情報の出力を行う。制御ユニット130は、検知ユニット114~116からの出力(例えば画像情報)に対して画像認識用の機械学習モデル(例えばディープニューラルネットワーク)を用いた処理を実行してもよい。また、制御ユニット130は、音声入力装置133からの出力(例えば音声情報)に対して音声認識用の機械学習モデル(例えばディープニューラルネットワーク)を用いた処理を実行してもよい。
【0021】
音声入力装置133は、例えばマイクを含み、移動体100の乗員の音声を収音する。制御ユニット130は、入力された音声を認識して、対応する処理を実行可能である。GNSS(Global Navigation Satellite system)センサ134は、GNSS信号を受信して移動体100の現在位置を検知する。
【0022】
記憶装置135は、種々のデータを格納する不揮発性の記録媒体を含む。記憶装置135にも、プロセッサが実行するプログラムやプロセッサが処理に使用するデータ等が格納されてよい。記憶装置135は、制御ユニット130によって実行される音声認識や画像認識用の機械学習モデルの各種パラメータ(例えばディープニューラルネットワークの学習済みパラメータやハイパーパラメータなど)を格納してもよい。
【0023】
通信装置136は、例えばWi‐Fiや第5世代移動体通信などの無線通信を介して外部装置(例えばユーザの有する通信端末140)と通信可能な通信装置である。
【0024】
次に、
図3を参照して、制御ユニット130に係る機能構成例について説明する。ユーザ指示取得部301は、操作部131或いは音声入力装置133を介して入力されるユーザ指示を取得する。ユーザ指示は、移動体100が到着すべき最終目標位置の指定を含む。最終目標位置は、検知ユニット114~116の出力した画像内で認識された物標のうち、発話音声によって指定された物標の位置であってもよい。また、ユーザ指示は、移動体100の走行中に、右折、左折などの走行軌道に対する変更指示を含んでもよい。
【0025】
画像情報処理部302は、検知ユニット114~116の出力(例えば画像情報)に基づいて、走行路や障害物の位置、形状等を認識する。移動体100の前方の走行路や障害物の位置、形状等の認識は、例えば、2つの検知ユニット114から得られるステレオ画像を用いて、移動体100からの奥行きの距離を求めることにより行われる。走行路や障害物を認識するために、単眼の画像又はステレオ画像に、予め学習された画像認識用の機械学習モデル(例えばディープニューラルネットワーク)を用いてもよい。
【0026】
格子地図生成部303は、画像情報処理部302によって認識された走行路や障害物の位置、形状等に基づいて、移動体100の近傍において移動体100が走行可能な領域と走行不可能な領域とを表す格子地図を生成する。
図4は、本実施形態に係る格子地図の例を模式的に示している。
図4に示す例では、移動体402の前方を検知ユニット403で撮影し、障害物の存在を示す走行不可能領域401と、その他の領域(走行可能領域)とを示す格子地
図400を生成する様子を模式的に示している。
【0027】
格子地図生成部303は、移動体100の移動に従って、移動体が格子地図の中心に位置するように、格子地
図400をシフトする。格子地図生成部303は、画像情報処理部302の認識結果に従って、走行不可能領域401を格子地
図400の対応する格子に割り当てる。例えば、格子地図生成部303は、地表から所定の高さ(例えば移動体100が進行することができない高さ)に物体が存在すると認識した場合、当該物体が認識された位置に対応する領域を走行不可能領域とする。格子地図生成部303は、移動体100の移動に伴って走行不可能領域401を追加していくことによって、格子地図を生成する。
【0028】
経路生成部304は、後述する軌道生成と制御量を決定する処理を実行して、移動体100が走行する軌道(走行軌道)を生成する。なお、本実施形態の経路生成部304が生成する走行軌道を、後述する大域経路に対して局所経路という場合がある。経路生成部304は、大域経路を参照することで、目標位置に基づいた軌道を生成することができる。なお、大域経路は、移動体の走行軌道の目安を大まかに決定した、目標位置に向かうための経路である。本実施形態では、経路生成部304は、大域経路をどのような方法で生成してもよく、公知の方法を用いて生成してもよい。また、目標位置は、ユーザによって指定される最終目標位置とは異なり、移動体100が走行する軌道を一定の時間ごとに決定する際に、到達する目標となる一時的な位置である。目標位置は、大域経路上に設定される。移動体の位置から目標位置までの最大距離は、例えば、6メートルなどのように、検知ユニットによって障害物を検知可能な範囲に従って設定されてよい。すなわち、経路生成部304は、移動体において障害物等を十分に検知可能な範囲内に走行軌道を制限することができる。また、移動体の位置から目標位置までの最大距離は、例えば、緊急時に移動体100がその走行を制御可能な制動距離に従って設定されてもよい。すなわち、経路生成部304は、移動体100の停止等の制御を十分可能な範囲内に走行軌道を制限することができる。更に、目標位置は、最終目標位置(例えばユーザによって指定された物標の位置)が近づくほど、移動体の近くに設定される。
【0029】
経路生成部304は、走行軌道を生成するために、複数のクロソイド曲線と、曲率が非線形に変化する曲率変化点とを組み合わせて構成される軌道を生成する。クロソイド曲線は、軌道の曲率が距離に対して線形に変化する曲線である。また、一般に、クロソイド曲線は、ハンドルを備える車両が一定速度で走行する際にハンドルを一定の割合で回したときに車両が描く軌道としても知られている。本実施形態では、それぞれの軌道の曲率が線形に変化する複数の軌道と、曲率が非線形に変化する曲率変化点とを組み合わせて軌道を構成することにより、左右に蛇行するような自由度の高い複雑な軌道を生成することができる。つまり、このような軌道により、複数の障害物が存在する場合であっても、障害物を左右に蛇行して回避することが可能になる。
【0030】
また、上記軌道を構成することにより、例えば、ハンドルを備える車両においてハンドルを一定の割合で回し、曲率変化点を経てハンドルを別の一定の回し方で回すような車両の軌道を生成することに対応する。つまり、自由度の高い軌道を生成する場合であっても軌道の曲率がなめらかに変化するため、移動体に乗る乗員の乗り心地を確保することができる。経路生成部304は、軌道上の3点での曲率を調整することにより、移動体100の旋回方向の頻繁な切り替わりを抑制したり、最小旋回半径などの移動体100の運動制約を更に考慮することができる。
【0031】
図5は、移動体501が走行する軌道503の例を模式的に示している。移動体501の進行方向(X方向)の前方には、障害物502が存在する。なお、Y方向は、移動体の進行方向に対する左右方向を示す。軌道503は、複数のクロソイド曲線と複数の曲率変化点504~506で構成される。上述のように、複数のクロソイド曲線と曲率変化点により、経路生成部304は、仮に大域経路507(点群で示す)が複雑な経路であっても大域経路507から大きく逸脱しない走行軌道503を生成することができる。なお、S1~S3は、曲率変化点504~506のうちの隣接する曲率変化点の間の距離を示している。この距離は、等間隔であってもよいし、実験等により予め定められた最適な距離が設定されてもよい。
【0032】
図6Aは、軌道503を生成するための、移動体からの距離と軌道の曲率の関係を示している。本実施形態で生成される軌道503は、
図6Aに示すように、曲率の極大点又は極小点(曲率変化点)までは曲率が一定で(すなわち線形に)変化する。
【0033】
本実施形態では、軌道上の3点の曲率変化点の位置における軌道の曲率(曲率K1,K2及びK3)を最適化する場合を例に説明している。より多くの曲率変化点を用いることも可能であるが、調整する曲率変化点の数が増大すれば、後述するコスト関数を用いた最適化に係る演算量が飛躍的に増大し得る。すなわち、得られる走行軌道の自由度の向上に対して計算量が大きく増大する。経路生成部304は、3つの曲率変化点を用いることにより、自由度の高い走行軌道を生成しつつ、最適化のための計算量を抑制することができる。曲率変化点の数を適切に抑制することにより、より短い周期(例えばリアルタイム)で走行軌道の生成を繰り返すことが可能になる。
【0034】
経路生成部304による、軌道の生成処理の概要について説明する。経路生成部304は、3点の曲率を変化させた軌道をコスト関数に代入し、コスト関数によるコストが少なくなる曲率変化点の曲率を求める。コスト関数は、例えば、C
poserrを大域経路からの逸脱コスト、C
obstacleを障害物への接近・衝突コスト、C
oscilationを1つ前の時刻に生成した軌道との相違コストとすると、式(1)のように表される。大域経路からの逸脱コストは、大域経路(すなわち予め定められた移動体100の参照軌道を示す情報)を参照し、生成する軌道が参照軌道から乖離するほどコストを増加させる。このため、自由度の高い軌道を生成する場合であっても参照軌道から大きく逸脱することのない軌道を生成することができる。また、1つ前の時刻に生成した軌道との相違コストは、1つ前の時刻に生成した軌道との相違(位置ずれ)が小さいほどコストが小さくなる。換言すれば、経路生成部304は、所定の時間前に生成した軌道を参照し、生成する軌道が、所定の時間前に生成した軌道からの変化量が大きいほどコストが増加するコスト関数を用いて、複数の曲率変化点の曲率を決定する。このため、直前(例えば1つ前の時刻)に生成した軌道との相違コストを用いることにより、急激な軌道の変更を抑制することができる。経路生成部304は、式(1)のコスト関数を最小にする曲率K
1,K
2及びK
3を選択する。例えば、曲率K
1は曲率変化点601における曲率、曲率K
2は曲率変化点602における曲率、曲率K
3は曲率変化点603における曲率に対応する。そして、式(1)を構成する各コスト(C
poserr、C
obstacle、C
oscilation)は、式(2)~式(4)に従って算出される。なお、tは現在のタイミングに対応し、t-1は、前回軌道を求めたタイミングを示す。
【数1】
【数2】
【数3】
【数4】
【0035】
図6Bは、式(1)に示す本実施形態に係るコスト関数を模式的に示している。例えば、C
poserrである大域経路からの逸脱コストは、生成する軌道と、大域経路のポテンシャルをグリッドに割り当てた値とを演算することにより算出される。大域経路のポテンシャルは、例えば、大域経路から遠いほど高いコストがグリッドに割り当てられる。このようなポテンシャルを用いることにより、生成する軌道が大域経路に近づくように曲率変化点が最適化される。また、C
obstacleである障害物への接近・衝突コストは、生成する軌道と、障害物のポテンシャルをグリッドに割り当てた値とを演算することにより算出される。障害物のポテンシャルは、例えば、格子地図の走行不可領域に近いほど高いコストが割り当てられる。このようなポテンシャルを用いることにより、生成する軌道が障害物を回避するように曲率変化点が最適化される。
【0036】
経路生成部304は、曲率変化点の曲率を変動させる際に、損失勾配を用いたAdamによる最適化を行って、(繰り返し演算における次の)曲率変化点の曲率を決定する。β
1、β
2、εは最適化のために、実験等により予め定めることができるパラメータである。tは現在のタイミングに対応し、ここでのt-1は、繰り返し演算における以前の演算タイミングを示し、▽Lはコスト関数の微分値を示す。K
tは、いずれかの曲率変化点における現在の曲率に対応する。
【数5】
【数6】
【数7】
【0037】
経路生成部304は、曲率変化点の曲率を変動させて生成した軌道を用いて、式1に示すコストの算出を繰り返し、最もコストLが低くなる曲率K1,K2及びK3を決定する。
【0038】
なお、
図6Bに示す例では、大域経路のポテンシャルと、障害物のポテンシャルとを、コストグリッドを用いて表現する例を説明した。コストグリッドは、格子地図と同等の格子数で構成されてよい。上述のように、コストグリッドの各格子には、大域経路からの距離や障害物からの距離に応じたコスト値が対応付けられる。複数のコストグリッドは対応する格子の値を例えば積算することで、複数のコストグリッドを加味することができる。大域経路のポテンシャルを扱うコストグリッドでは、例えば、大域経路が格子面に射影された場合に、大域経路に近い格子ほど低いコスト値が設定される。経路生成部304は、設定したコストグリッドをメモリデバイスに記憶させ、候補の軌道が生成されると、走行軌道をコストグリッドに射影して走行経路と重なる格子のコスト値を合算する。このような処理により、比較的簡便な演算により、軌道を生成する最適化演算を高速化することができる。
【0039】
更に、経路生成部304は、決定した軌道を用いて、制御量を決定する処理を行って、移動体の走行を制御するための制御量となる速度v及び角速度ωを決定する。制御量を決定する処理は、生成された軌道に従って走行しようとする際に、所定の制約を満たすように速度v及び角速度ωを決定する処理である。所定の制約は、別途詳細を後述するように、例えば、移動体100がカーブを安全に曲がり切れるようにしたり、安定した乗り心地を確保するための制約が課せられる。
【0040】
走行制御部305は、経路生成部304によって決定された制御に従って、移動体100の走行を制御する(例えば、モータ122a及び122bを制御する)。
【0041】
<移動体100における走行制御処理の一連の動作>
次に、移動体100における走行制御処理の一連の動作について、
図7を参照して説明する。なお、本処理は、制御ユニット130が記憶装置135に格納されるプログラムを制御ユニット130のメモリデバイスに展開し、実行することにより実現される。本処理の開始時点において、ユーザ指示等に従って、最終目的位置が設定されているものとする。
【0042】
S701において、制御ユニット130の画像情報処理部302は、検知ユニット114~116の出力(画像情報)を取得する。画像情報処理部302は、例えばディープニューラルネットワークを用いて、画像情報に含まれる走行路や障害物の位置、形状等を認識する。
【0043】
S702において、制御ユニット130の格子地図生成部303は、
図4を参照して説明した格子地図を生成する。上述したように、格子地図生成部303は、画像情報処理部302によって認識された走行路や障害物の位置、形状等に基づいて、移動体100の近傍において移動体100が走行可能な領域と走行不可能な領域とを表す格子地図を生成する。
【0044】
S703において、制御ユニット130の経路生成部304は、大域経路を取得する。上述のように、移動体の走行軌道の目安を大まかに決定したものであれば、どのように生成されてもよい。経路生成部304は、例えばA*アルゴリズムを用いて格子地図上の障害物に衝突しない大域経路を生成してもよい。
【0045】
S704において、制御ユニット130の経路生成部304は、上述したように、クロソイド曲線を含んだ、移動体が走行する軌道(局所経路)を生成する。本ステップにおける走行軌道を生成する処理については、
図8を参照して後述する。
【0046】
S705において、制御ユニット130の経路生成部304は、生成された軌道に基づいて、移動体100の制御量を生成する。本ステップにおける制御量を決定する処理については、
図8を参照して後述する。
【0047】
S706において、制御ユニット130の走行制御部305は、経路生成部304によって決定された制御量(速度v及び角速度ω)を用いて、モータ122a及び122bを制御し、移動体100の走行を制御する。
【0048】
S707において、制御ユニット130は、最終目標位置に到着したかを判定する。制御ユニット130は、最終目標位置に到着していないと判定した場合には、処理をS701に戻して処理を繰り返す。制御ユニット130は、最終目標位置に到着したと判定した場合には本一連の処理を終了する。
【0049】
<移動体100における軌道生成と制御量を決定する処理の一連の動作>
次に、経路生成部304によって実行される、軌道生成と制御量を決定する処理の一連の動作について説明する。なお、本処理は、制御ユニット130が記憶装置135に格納されるプログラムを制御ユニット130のメモリデバイスに展開し、実行することにより実現される。また、本処理は、S801~S802の処理が上記S704において実行され、続いて、S803がS705において実行される。
【0050】
S801において、経路生成部304は、大域経路を用いて、クロソイド曲線の曲率変化点の初期曲率を算出する。具体的には、経路生成部304は、まず、障害物の存在を考慮しないで、大域経路に近い経路を生成し、次のステップで経路を生成するための、初期の経路を提供する。本ステップで生成される経路は、上述の式(1)において、Cposerrのみを用いて最適化演算を行い、曲率変化点の曲率を算出することに対応する。経路生成部304は、CposerrとCoscilationのみを用いるようにしてもよい。本ステップの処理を行うことにより、S802の最適化演算において決定する曲率が局所解に陥る可能性を低減することができ、より精度の高い最適解を得ることができるようになる。
【0051】
S802において、経路生成部304は、大域経路と格子地図と過去の経路とを用いて、クロソイド曲線の曲率変化点を算出する。すなわち、経路生成部304は、上述した方法により、上述の式(1)を構成する各コスト(Cposerr、Cobstacle、Coscilation)を用いて、例えば3つの曲率変化点における曲率を求める(軌道を生成する)。
【0052】
S803において、経路生成部304は、生成された軌道に基づいて、目標速度及び目標角速度の組み合わせを決定する。具体的には、経路生成部304は、生成された軌道を参照して、制御量決定処理の開始時の速度vmaxを決定する。そして、経路生成部304は、以下で説明する制御量決定処理を行う。
【0053】
図9A~
図9Cには、曲率変化点601~603で決定された軌道において、所定の曲率参照範囲内のうち、絶対値が最も大きい曲率を決定する例を示している。
図9Aの例では、経路生成部304は、移動体の位置から901の距離までの曲率参照範囲のうち、曲率902を絶対値が最も大きい曲率K
maxとして決定する。
図9Bの例では、経路生成部304は、移動体の位置から901の距離までの曲率参照範囲のうち、曲率911を絶対値が最も大きい曲率K
maxとして決定する。更に、
図9Cの例では、経路生成部304は、移動体の位置から901の距離までの曲率参照範囲のうち、曲率921を絶対値が最も大きい曲率K
maxとして決定する。このように、絶対値の最も大きい曲率を参照することにより、生成した軌道の曲率を参照した場合に、きついカーブが向かっている、或いは、きついカーブを走行している場合には、経路生成部304は、以降の処理により、速度、角速度を低減するように制御する。経路生成部304は、
図9A~9Cの例により決定された曲率において、v
max = ω
max / K
max に従ってv
maxを決定する。ω
maxは移動体100の特性などから予め定められてよい。
【0054】
なお、経路生成部304は、曲率参照範囲を、現在の移動体100の速度或いは減速加速度に応じて異ならせてよい。例えば、経路生成部304は、現在の移動体100の速度が高い場合には、曲率参照範囲を狭くすることができる。すなわち、経路生成部304は、現在の移動体100の速度が高い場合には、速度及び角速度の選択に対して、より強い制約がかかるようにして、安全性や安定した乗り心地を提供できるようにする。
【0055】
次に、経路生成部304による、制御量決定処理について、
図10を参照して説明する。なお、本処理は、制御ユニット130が記憶装置135に格納されるプログラムを制御ユニット130のメモリデバイスに展開し、実行することにより実現される。
【0056】
S1001において、経路生成部304は、vmaxを参照速度vrefに代入してvrefを求め、その後、ωref ← vref * Kref に従って参照角速度ωrefを決定する。なお、参照曲率Krefは、例えば、移動体100の速度の大きさに応じて軌道の先端まで参照した値である。
【0057】
S1002において、経路生成部304は、参照速度や参照角速度の条件において、移動体の加速度が所定の加速度以下(並進加速度0.1G以下)であるかを判定する。経路生成部304は、加速度が所定の加速度以下である場合にS1004に処理を進め、そうでない場合、S1003に処理を進める。S1003において、経路生成部304は、S1002の所定の加速度に収まるように、vrefを変更する(減速する)。
【0058】
S1004において、経路生成部304は、参照速度や参照角速度の条件において、移動体の減速加速度が所定の減速加速度以下(減速加速度0.01G以下)であるかを判定する。経路生成部304は、減速加速度が所定の減速加速度以下である場合にS1006に処理を進め、そうでない場合、S1005に処理を進める。S1005では、経路生成部304は、S1004の所定の減速加速度に収まるように、vrefを変更する。
【0059】
S1006において、経路生成部304は、参照速度や参照角速度の条件において、移動体の角速度の絶対値が所定の角速度の大きさ以下(|ωref|≦|ωmax|以下)であるかを判定する。経路生成部304は、減速加速度が所定の減速加速度以下である場合にS1008に処理を進め、そうでない場合、S1007に処理を進める。S1007では、経路生成部304は、|ωref|が所定の角速度を満たすようにvrefを変更する。
【0060】
S1008において、経路生成部304は、移動体の左右方向の加速度(ay=ωref *vref)が所定値以下であるかを判定する。経路生成部304は、左右方向の加速度が所定値以下である場合にS1009に処理を進め、そうでない場合、S1007に処理を進める。
【0061】
S1009では、経路生成部304は、算出した参照速度v
refと参照角速度ω
refを制御量として(目標速度v及び目標角速度ωとして)決定する。経路生成部304は、その後、本処理を終了して、S803の処理に戻る。経路生成部304は、S803の処理を終了すると、
図8に示す一連の処理を終了する。
【0062】
以上説明したように、上述の実施形態では、移動体100において、それぞれの軌道の曲率が距離に対して線形に変化する複数の軌道(すなわちクロソイド曲線)と、曲率が非線形に変化する曲率変化点とを組み合わせて構成される軌道を用いて、移動体100が走行すべき軌道を生成するようにした。このようにすることで、自由度の高い走行軌道の生成と乗り心地の確保とを両立することが可能になる。また、本実施形態では、生成した軌道(例えば所定範囲内の曲率)に基づいて、加速度や角速度が一定条件を満たすように移動体の目標速度及び目標角速度(すなわち移動体の制御量)を決定するようにした。このようにすることで、更に、安全性や乗り心地を考慮した移動体の制御が可能になり、加速や旋回によって乗員にかかる負荷を軽減することができる。
【0063】
なお、上述した制御ユニット130の構成は、移動体制御システムとして様々な形態で機能してよい。例えば、上述の制御ユニット130の少なくとも一部が移動体100の外部の装置、例えば外部のサーバ上で構成される形態で、移動体制御システムを構成してもよい。或いは、移動体制御システムは移動体100であってもよいし、移動体100の内部に組み込まれるように構成されてもよい(すなわち制御ユニット130であってもよい)。また、上述の移動体100を動作させるコンピュータプログラムは、1つ以上のコンピュータを、移動体制御システムの各手段として機能させるためのコンピュータプログラムであってよい。
【0064】
<実施形態のまとめ>
1.上記実施形態の移動体(例えば100)の動作を制御する移動体制御システムは、
それぞれの軌道の曲率が距離に対して線形に変化する複数の軌道と、曲率が非線形に変化する曲率変化点とを組み合わせて構成される前記移動体の位置から目標位置までの軌道を用いて、前記移動体が走行すべき軌道を生成する生成手段(例えば、304)と、
前記生成された軌道に基づいて、前記移動体の走行を制御する制御量を決定する決定手段(例えば、304)と、を有する。
【0065】
この実施形態によれば、自由度の高い走行軌道の生成と乗り心地の確保とを両立することが可能になる。
【0066】
2.上述の実施形態に係る移動体制御システムでは、
前記移動体が走行すべき軌道は複数の曲率変化点を含み、
前記生成手段は、前記複数の曲率変化点の曲率を決定することにより、前記移動体が走行すべき軌道を生成する。
【0067】
この実施形態によれば、自由度の高い軌道を生成する場合であっても軌道の曲率がなめらかに変化するため、移動体に乗る乗員の乗り心地を確保することが可能になる。
【0068】
3.上述の実施形態に係る移動体制御システムでは、
前記生成手段は、障害物が存在する位置を示す情報を参照し、生成する軌道の位置が障害物が存在する位置に接近するほどコストが増加するコスト関数を用いて、前記複数の曲率変化点の曲率を決定する。
【0069】
この実施形態によれば、自由度の高い軌道を生成する場合であっても障害物を適切に回避した軌道を生成することが可能になる。
【0070】
4.上述の実施形態に係る移動体制御システムでは、
前記生成手段は、予め定められた前記移動体の参照軌道を示す情報を参照し、生成する軌道が前記参照軌道から乖離するほどコストが増加するコスト関数を用いて、前記複数の曲率変化点の曲率を決定する。
【0071】
この実施形態によれば、自由度の高い軌道を生成する場合であっても参照軌道から大きく逸脱することのない軌道を生成することが可能になる。
【0072】
5.上述の実施形態に係る移動体制御システムでは、
前記生成手段は、所定の時間前に生成した前記移動体が走行すべき軌道を参照し、生成する軌道が前記所定の時間前に生成した前記移動体が走行すべき軌道からの変化量が大きいほどコストが増加するコスト関数を用いて、前記複数の曲率変化点の曲率を決定する。
【0073】
この実施形態によれば、自由度の高い軌道を生成する場合であっても急激な軌道の変更を抑制することが可能になる。
【0074】
6.上述の実施形態に係る移動体制御システムでは、
前記移動体が走行すべき軌道は3つの曲率変化点を有する。
【0075】
この実施形態によれば、自由度の高い走行軌道を生成しつつ、最適化のための計算量を抑制することが可能になる。
【0076】
7.上述の実施形態に係る移動体制御システムでは、
前記決定手段は、前記生成された軌道の曲率のうちの最も大きい曲率に基づいて、前記制御量である前記移動体の速度と角速度とを算出する。
【0077】
この実施形態によれば、安全性や乗り心地に関する制約を満たしながら、最も生成された軌道に従う制御量を決定することが可能になる。
【0078】
8.上述の実施形態に係る移動体制御システムでは、
前記決定手段は、前記生成された軌道の曲率のうち、現在の前記移動体の速度に応じて異なる所定の範囲内において最も大きい曲率に基づいて、前記制御量である前記移動体の速度と角速度とを決定する、。
【0079】
この実施形態によれば、速度及び角速度の選択により強い制約がかかるようにして、安全性や安定した乗り心地を提供できるようになる。
【0080】
9.上述の実施形態に係る移動体制御システムでは、
前記決定手段は、前記移動体の速度と角速度が、前記移動体が安定して走行するための制約を満たさない場合、前記移動体の速度と角速度を当該制約を満たすように変更する。
【0081】
この実施形態によれば、安全性や乗り心地を考慮した移動体の制御が可能になり、加速や旋回によって乗員にかかる負荷を軽減することが可能になる。
【0082】
10.上述の実施形態に係る移動体制御システムでは、
前記移動体の撮像手段で撮像された画像に基づいて障害物が存在する位置を検知する検知手段を更に有し、
前記目標位置までの最大距離は、前記検知手段が障害物を検知可能な範囲に従って設定される。
【0083】
この実施形態によれば、移動体において障害物等を十分に検知可能な範囲内に走行軌道を制限することができる。
【0084】
11.上述の実施形態に係る移動体制御システムでは、
前記目標位置までの最大距離は、前記移動体の走行を制御可能な制動距離に従って設定される。
【0085】
この実施形態によれば、移動体100の停止等の制御を十分可能な範囲内に走行軌道を制限することができる。
【0086】
発明は上記の実施形態に制限されるものではなく、発明の要旨の範囲内で、種々の変形・変更が可能である。
【符号の説明】
【0087】
100…移動体、120…駆動輪、121…従動輪、130…制御ユニット、303…格子地図生成部、304…経路生成部、305…走行制御部