(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-08-08
(45)【発行日】2024-08-19
(54)【発明の名称】移動体
(51)【国際特許分類】
G01B 11/24 20060101AFI20240809BHJP
G05D 1/43 20240101ALI20240809BHJP
【FI】
G01B11/24 Z
G05D1/43
(21)【出願番号】P 2020130861
(22)【出願日】2020-07-31
【審査請求日】2023-07-05
(73)【特許権者】
【識別番号】314012076
【氏名又は名称】パナソニックIPマネジメント株式会社
(74)【代理人】
【識別番号】100106518
【氏名又は名称】松谷 道子
(74)【代理人】
【識別番号】100132241
【氏名又は名称】岡部 博史
(72)【発明者】
【氏名】郡 義文
(72)【発明者】
【氏名】グエン ジュイヒン
【審査官】山▲崎▼ 和子
(56)【参考文献】
【文献】特開2014-174683(JP,A)
【文献】特開2017-150977(JP,A)
【文献】特開2017-107563(JP,A)
【文献】特開2015-032182(JP,A)
【文献】特開2015-105046(JP,A)
【文献】特開2005-128722(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G01B 11/00-11/30
G05D 1/00-1/87
G01S 7/48-7/51
17/00-17/95
G01C 21/00-21/36
23/00-25/00
(57)【特許請求の範囲】
【請求項1】
3次元空間内の第1平面上を移動する移動体であって、
前記第1平面と異なる第2平面をスキャン面として有し、前記スキャン面上で角度を変えながら次々と光を出射して反射光を取得し、前記角度ごとに反射点までの距離を測定する計測装置と、
前記移動体の移動量に応じた物理量を計測する内界センサの出力から、前記移動体の移動量を計測する移動量計測部と、
前記第2平面上の角度及び距離による2次元座標系で表現された前記計測装置からの各出力値を、所定の変換式を用いて、前記3次元空間の座標値である3次元座標値に変換する変換部と、
前記移動体の移動量または移動時間に応じて、変換後の前記3次元座標値を、照合用データとして記憶する記憶部と、
前記照合用データと前記3次元空間の座標値を用いて予め作成された地図データとを照合して、照合結果に基づき前記第1平面上の前記移動体の位置および姿勢を示す位置情報を順次出力する位置推定部と、
前記移動体を移動させるための駆動力を発生させる駆動装置と
を備え、さらに、
前記計測装置から角度を変えながら出射される前記第2平面上の光のうち、前記計測装置から所定の角度範囲θref内に出射される一部の光の進む方向を変化させる光学素子を備える、移動体。
【請求項2】
前記移動体は、人または荷物を運搬可能であり、
前記所定の角度範囲θrefは、前記第2平面上で、前記第2平面と交差する前記人の体または前記荷物が存在する範囲を含む、請求項1に記載の移動体。
【請求項3】
前記一部の光は複数の光線を含み、
前記光学素子は、各光線が進む方向を前記第2平面と非平行な方向に変化させる、請求項
1または2に記載の移動体。
【請求項4】
前記第2平面は前記第1平面に対して角度α[deg]だけ傾いており、
前記光学素子は前記光を反射させる反射面を有し、
前記反射面の法線と前記第2平面とがなす角度はβ[deg](0<β<90)であり、
前記光学素子は、前記各光線が進む方向を、α―2β+180[deg]の方向に変化させる、請求項
3に記載の移動体。
【請求項5】
前記計測装置が出射する光は、第1光線と、前記第1光線の直後に出射される第2光線とを含み、
前記光学素子によって進む方向が変更される前の、前記第1光線と前記第2光線とがなす角度をθ1[deg]とし、
前記光学素子によって進む方向が変更された後の、前記第1光線と前記第2光線とがなす角度をθ2[deg]とすると、
θ1>θ2が成り立つ、請求項1から
4のいずれかに記載の移動体。
【請求項6】
前記計測装置から出射される前記一部の光は第1光線群を含み、
前記計測装置から出射される、前記一部の光以外の光は第2光線群を含み、
前記第1光線群及び前記第2光線群は、前記3次元空間の互いに異なる第1領域及び第2領域に入射し、反射される、請求項1から
5のいずれかに記載の移動体。
【請求項7】
前記光学素子は、ミラー、反射型偏光子またはプリズムである、請求項1から
6のいずれかに記載の移動体。
【請求項8】
1または複数のコンピュータプログラムを格納した記憶装置と、
前記1または複数のコンピュータプログラムを実行する1または複数の演算回路と
をさらに備え、
前記1または複数の演算回路は、前記1または複数のコンピュータプログラムに記述された命令群にしたがって、前記移動量計測部、前記変換部、及び、前記位置推定部として動作する、請求項1から
7のいずれかに記載の移動体。
【請求項9】
前記計測装置は、前記光の出射時刻と前記反射光を取得した時刻とを利用して前記距離を測定するレーザセンサである、請求項1から
8のいずれかに記載の移動体。
【請求項10】
前記変換部は、前記照合用データに含まれる前記3次元空間の座標値の数が一定の上限値以上である場合、前記照合用データに含まれる前記3次元座標値のうち最も古くに変換された3次元座標値を消去して新たな照合用データとして前記記憶部に保存する、請求項1から9のいずれかに記載の移動体。
【請求項11】
前記移動体の移動量が所定の距離以上になったとき、または前記移動体の移動時間が所定の長さ以上経過したとき、前記記憶部は、変換後の前記3次元座標値を、照合用データとして記憶する、請求項1から10のいずれかに記載の移動体。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、移動体に備わる2次元測距装置を用いた、自己位置推定の技術に関する。
【背景技術】
【0002】
現在、自動運転車のニーズが高まり、自動運転に関連する様々な技術開発が盛んに行われている。自動運転に関連する特に重要な技術として、自己位置推定技術がある。自己位置推定技術は、例えばGPSを用いる方法、ジャイロセンサなどの慣性計測装置(Inertial Measurement Unit;IMU)を用いて算出する方法など様々な方法が存在する。中でも特に、測距が可能なセンサを用いて周囲の距離情報を取得し、事前に用意した地図情報とのマッチング結果により位置を推定する方法は、屋内や屋外環境問わずによく用いられる。この方法に用いられるセンサとして代表的なものとしては、レーザセンサ(LIDAR)といった、レーザ光を用いて2次元平面上乃至3次元空間内の物体までの距離を測定するセンサが用いられる。3次元空間の測距が可能なセンサを用いるほうが、取得できる情報が多いため、外部環境からの影響が受けづらくなりロバスト性が向上することがわかっている。しかしながら、そのようなセンサは高価であるため、実用上は、より安価な、2次元平面上の測距が可能なセンサ(2次元センサ)を用いることが多い。しかしながら2次元センサでは、例えば、人混み内を走るときなど移動体の経路上に予期せぬ障害物が多い場合は、自己位置推定の精度が著しく低下してしまうという問題がある。
【0003】
そこで例えば特許文献1は、走行路面に対してスキャン面が斜めになるよう、2次元センサまたは2次元計測装置を移動体に配置し、移動体の移動量と組み合わせることで、2次元の計測データを3次元に変換する技術を開示する。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
移動体が2次元センサを用いて自己位置を推定しながら移動する際には、自己位置の推定精度を可能な限り高くすることが求められる。
【0006】
本開示の目的の一つは、自己位置の推定精度をできるだけ高くするための技術を提供することである。
【課題を解決するための手段】
【0007】
本開示にかかる例示的な移動体は、3次元空間内の平面(第1平面)上を移動する。移動体は、計測装置と、移動量計測部と、変換部と、位置推定部と、駆動装置とを有している。計測装置は、第1平面と異なる第2平面をスキャン面として有し、スキャン面上で角度を変えながら次々と光を出射して反射光を取得し、角度ごとに反射点までの距離を測定する。移動量計測部は、移動体の移動量に応じた物理量を計測する内界センサの出力から、移動体の移動量を計測する。変換部は、第2平面上の角度及び距離による2次元座標系で表現された計測装置からの各出力値を、所定の変換式を用いて、3次元空間の座標値である3次元座標値に変換する。位置推定部は、変換後の各3次元座標値と3次元空間の座標値を用いて予め作成された地図データとを照合して、照合結果に基づき第1平面上の移動体の位置および姿勢を示す位置情報を順次出力する。駆動装置は、移動体を移動させるための駆動力を発生させる。移動体はさらに光学素子を備えている。光学素子は、計測装置から角度を変えながら出射される第2平面上の光のうち、計測装置から所定の角度範囲θref内に出射される一部の光の進む方向を変化させる。
【発明の効果】
【0008】
本開示の例示的な実施形態にかかる移動体によれば、自己位置の推定精度をできるだけ高くすることが可能になる。
【図面の簡単な説明】
【0009】
【
図1A】
図1Aは、本実施形態にかかる移動体1の外観を示す後方からの斜視図である。
【
図2】
図2は、3つの座標系の関係を示す図である。
【
図3】
図3は、制御ユニット5のハードウェア構成及び他の構成要素との接続関係の一例を示す図である。
【
図4】
図4は、ある空間に測距センサ3を置いたときの各反射点の位置を模式的に示す図である。
【
図5】
図5は、移動体1が移動しながら、測距センサ3から順次放射された、複数の光線3Aの各反射点の位置を示す図である。
【
図6】
図6は、制御ユニット5の演算回路5aによる世界座標系の点群データを取得する手順を示すフローチャートである。
【
図7】
図7は、移動体1の位置推定前の状態を示す図である。
【
図8】
図8は、位置推定部503の処理の手順を示すフローチャートである。
【
図9A】
図9Aは、移動体1に搭乗者Hが乗車したときの側面図である。
【
図9B】
図9Bは、移動体1に搭乗者Hが乗車したときの上面図である。
【
図10】
図10は、移動体1がある空間内を移動している様子を示す斜視図である。
【
図11】
図11は、複数の凸部901、902及び903が存在する空間を模式的に示す図である。
【
図12】
図12は、点群データPgroup_A及びPgroup_Bが異なる凸部901及び902をカバーする様子を示す図である。
【
図13】
図13は、変形例にかかる光学素子により、各凸部の点群データが得られる様子を示す図である。
【
図14】
図14は、測距センサ3の光線が光学素子4Bによって反射され、ステップ角がより小さくなっていることを模式的に示す図である。
【発明を実施するための形態】
【0010】
(本開示に至った経緯)
自己位置を推定しながら移動する移動体の一例として、自動車や電動車いすのような、人が乗車する移動体が挙げられる。特許文献1では、自動車のルーフに2次元センサが設置されている。
【0011】
一方、電動車いすのような移動体に2次元センサを設置しようとすると、自動車と比較して、2次元センサを設置可能な位置が制約される。さらに、乗車した人自体が固定的に2次元計測装置の検知範囲に干渉するため、有効な計測データが削減されてしまう。
【0012】
本発明者は、上述の課題を見出し、当該課題を解決するための構成を検討した。そして、人体等の固定的な障害物が2次元センサの検知範囲に干渉することを回避しつつ、2次元センサによって取得されるデータのデータ量が削減されない構成を有する移動体をなすに至った。具体的には、以下の通りである。
【0013】
本開示にかかる例示的な移動体は、3次元空間内の平面(第1平面)上を移動する。移動体は、計測装置と、移動量計測部と、変換部と、位置推定部と、駆動装置とを有している。計測装置は、第1平面と異なる第2平面をスキャン面として有し、スキャン面上で角度を変えながら次々と光を出射して反射光を取得し、角度ごとに反射点までの距離を測定する。移動量計測部は、移動体の移動量に応じた物理量を計測する内界センサの出力から、移動体の移動量を計測する。変換部は、第2平面上の角度及び距離による2次元座標系で表現された計測装置からの各出力値を、所定の変換式を用いて、3次元空間の座標値である3次元座標値に変換する。位置推定部は、変換後の各3次元座標値と3次元空間の座標値を用いて予め作成された地図データとを照合して、照合結果に基づき第1平面上の移動体の位置および姿勢を示す位置情報を順次出力する。駆動装置は、移動体を移動させるための駆動力を発生させる。移動体はさらに光学素子を備えている。光学素子は、計測装置から角度を変えながら出射される第2平面上の光のうち、計測装置から所定の角度範囲θref内に出射される一部の光の進む方向を変化させる。
【0014】
ある実施形態において、移動体は人または荷物を運搬可能である。所定の角度範囲θrefは、第2平面上で、第2平面と交差する人の体または荷物が存在する範囲を含む。
【0015】
ある実施形態において、所定の角度範囲θrefは、第2平面上で、第2平面と交差する人の体または荷物が存在すると推定される最大範囲を含む。
【0016】
ある実施形態において、上述の一部の光は複数の光線を含む。光学素子は、各光線が進む方向を第2平面と非平行な方向に変化させる。
【0017】
ある実施形態において、第2平面は第1平面に対して角度α[deg]だけ傾いている。光学素子は光を反射させる反射面を有し、反射面の法線と第2平面とがなす角度はβ[deg](0<β<90)である。光学素子は、各光線が進む方向を、α―2β+180[deg]の方向に変化させる。
【0018】
ある実施形態において、計測装置が出射する光は、第1光線と、第1光線の直後に出射される第2光線とを含む。光学素子によって進む方向が変更される前の、第1光線と第2光線とがなす角度をθ1[deg]とし、光学素子によって進む方向が変更された後の、第1光線と第2光線とがなす角度をθ2[deg]とすると、θ1>θ2が成り立つ。
【0019】
ある実施形態において、計測装置から出射される、上述の一部の光は第1光線群を含み、計測装置から出射される、一部の光以外の光は第2光線群を含む。第1光線群及び第2光線群は、3次元空間の互いに異なる第1領域及び第2領域に入射し、反射される。
【0020】
ある実施形態において、光学素子は、ミラー、反射型偏光子またはプリズムである。
【0021】
ある実施形態において、移動体は、1または複数のコンピュータプログラムを格納した記憶装置と、1または複数のコンピュータプログラムを実行する1または複数の演算回路とをさらに備えていてもよい。1または複数の演算回路は、1または複数のコンピュータプログラムに記述された命令群にしたがって、移動量計測部、変換部、及び、位置推定部として動作する。
【0022】
ある実施形態において、計測装置は、光の出射時刻と反射光を取得した時刻とを利用して距離を測定するレーザセンサであってもよい。
【0023】
以下、適宜図面を参照しながら、本開示にかかる実施形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。なお、発明者は、当業者が本開示を十分に理解するために添付図面及び以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
【0024】
本実施形態では、「移動体」を以下のように定義する。すなわち「移動体」とは、人または荷物を載せて、自己位置を推定しながら移動する装置であり、移動のための駆動力(traction)を発生させる電動モータ、二足または多足歩行装置、プロペラなどの駆動装置を備える。本開示における「移動体」の用語は、自動走行する自動車、電動車いす、モバイルロボット、サービスロボット、及びドローンを含み得る。
【0025】
移動体は、自己位置を推定するに当たって、二次元平面(以下、単に「平面」と記述する。)をスキャン面として有する測距装置を利用する。本実施形態では、測距装置はレーザセンサまたは測距センサ(LIDAR)である。測距センサは、スキャン面上で角度を変えながら次々と光を出射して反射光を取得し、角度ごとに反射点までの距離を計測する。上述の測距装置、その具体例であるレーザセンサまたは測距センサは、計測装置の一例である。
【0026】
本実施形態にかかる移動体は、人または荷物を運搬可能である。そして、当該人または荷物が搭載された際、当該人または荷物が測距センサのスキャン面の一部に固定的に干渉する、換言すれば、当該人または荷物が測距センサのスキャン面の一部を恒常的に遮る場合に、本開示にかかる技術が好適に利用され得る。
【0027】
以下、
図1A~
図1Cを参照しながら、本開示にかかる実施形態を説明する。
【0028】
図1Aは、本実施形態にかかる移動体1の外観を示す後方からの斜視図である。「後方」とは、移動体1の進行方向を「前方」としたときの反対側を示している。
図1Bは移動体1の側面図であり、
図1Cは移動体1の上面図である。
【0029】
移動体1は一般的に電動車いすと呼ばれ、通常は操縦桿を用いて人が移動する方向を指示する移動装置である。本実施形態では、人を運搬可能で、かつ、自己位置を推定しながら自立的に移動する、車いす型の自動搬送車であってもよい。なお、移動体1が運搬する対象は人に限られず、荷物であってもよい。
【0030】
移動体1が配置された空間の位置を定義する3次元の世界座標系をΣwとおく。世界座標系Σwは、互いに直交する3本の軸、すなわちXw軸、Yw軸及びZw軸によって張られる。説明の便宜のため、
図1A~
図1Cでは、移動体1の進行方向がXw軸と平行であるとする。移動体1は、Xw-Yw平面上を移動することができる。なお、移動体1が移動する「平面」は数学的な意味で厳密な平面でなくてもよい。移動体1が移動する「平面」には、微視的に見たときに凹凸が存在してもよいし、曲面が含まれていてもよい。
【0031】
図1Aを参照する。移動体1は、4つの車輪2と、測距センサ3と、光学素子4と、制御ユニット5と、駆動装置10とを有する。
【0032】
測距センサ3は、外界の情報(距離、角度)を、光、より具体的にはレーザ光、を用いて2次元的に測定する。本明細書では、測距センサ3が測定を行う平面を「スキャン面」と呼ぶことがある。測距センサ3は、スキャン面上で角度を変えながら次々と光を出射して反射光を取得し、角度ごとに反射点までの距離を測定する。測距センサ3の詳細は後述する。
【0033】
測距センサ3は、Xw-Yw平面に対して任意の角度α(0≦α<90[deg])だけ傾けて取り付けられている。これにより、測距センサ3のスキャン面はXw-Yw平面に対して角度αだけ傾く。
【0034】
光学素子4は、測距センサ3の所定の角度範囲内に設けられ、測距センサ3が照射する光線の一部の進む向きを、予め定められた方向へ反射させる。このような光学素子4として、例えばミラー、反射型偏光子またはプリズムを採用し得る。光学素子4が設定される範囲の詳細は後述する。
【0035】
制御ユニット5は、移動体1に備えられ、移動体1の移動量や、測距センサ3からのデータを処理する。移動体1の移動量は、例えば、後述するロータリエンコーダから出力されるパルス信号のパルス数に基づいて決定される。また制御ユニット5は、測距センサ3からのデータを利用して現在の自己位置を推定する。制御ユニット5は、推定の結果に従い、駆動装置10を動作させるための信号を生成し、所望の目的地に向かうよう、駆動装置10に送信する。
【0036】
駆動装置10は、例えば2台の電気モータ及び各電気モータに電力を供給するモータ駆動回路を含む。駆動装置10は、制御ユニット5からPWM信号を受け取り、モータ駆動回路はPWM信号に従って各電気モータに電力を供給する。これにより、各電気モータは回転して駆動力を発生させ、2つの車輪2の各々を回転させる。
【0037】
本実施形態では説明を一般化し、よりわかりやすくするため、3つの座標系を設定する。
図2は、3つの座標系の関係を示している。3つの座標系はいずれも、互いに直交する3本の軸で張られる直交座標系であり、具体的には、世界座標系Σw(Xw、Yw、Zw)、ロボット座標系Σr(Xr、Yr、Zr)、センサ座標系Σl(Xl、Yl、Zl)とする。
【0038】
世界座標系Σwは任意の座標を原点とし、移動や回転は行われない。また移動体1はXw-Yw面に対して平行に移動する。世界座標系Σwが建造物等の屋内の場合、Zw軸は天井面の法線に平行である。
【0039】
ロボット座標系Σrは移動体1の中心(例えば回転中心)を原点にした座標系となり、移動体1の進行方向をXr軸、進行方向に対して横方向をYr軸、天井方向をZr軸とする。
【0040】
センサ座標系Σlは測距センサ3の中心を原点にした座標系であり、ロボット座標系Σrと一定の距離と角度を有し、ロボット座標系Σrと共に移動する。
【0041】
レーザ光は、測距センサ3からXl-Yl面内に出射される。Xl-Yl面に対して垂直方向をZl軸とする。
【0042】
本明細書ではYr軸とYl軸は平行であるとする。このとき、
図1に示すようにXl軸とXr軸とは角度αのオフセットを有している。本明細書では、ロボット座標系Σrとセンサ座標系Σlの相対的な位置関係は固定されている。
【0043】
(制御ユニット5の構成)
図3は、制御ユニット5のハードウェア構成及び他の構成要素との接続関係の一例を示している。制御ユニット5は演算回路5aと、記憶装置5bとを有している。
【0044】
演算回路5aは、例えばCPU(Central Processing Unit)と呼ばれる半導体集積回路である。以下では便宜上、演算回路5aは1つの半導体集積回路であるとして説明するが、演算回路5aは複数の半導体集積回路を含んでもよい。
【0045】
記憶装置5bは、半導体記憶媒体、磁気記憶媒体、光学式記憶媒体などの記憶媒体にデータを格納する。データは、演算回路5aが処理に利用する3次元データPgroup及び地図データMであり、さらに、演算回路5aが実行するコンピュータプログラム506も含まれる。
【0046】
記憶装置5bが半導体記憶媒体である場合、本明細書では、記憶装置5bはRAMおよびROMを包括する。ROMに記憶されているコンピュータプログラム506は、演算回路5aによって読み出され、RAMに展開される。これにより、演算回路5aは、コンピュータプログラム506を実行することができる。
【0047】
ソフトウェア的には、制御ユニット5は移動量計測部501、変換部502、及び、位置推定部503を含む。演算回路5aは、実行するコンピュータプログラム506に記述された命令群にしたがって、ある時刻では移動量計測部501として動作し、他の時刻では変換部502として動作し、さらに他の時刻では位置推定部503として動作する。
【0048】
移動量計測部501は、移動体1の内部状態を計測する内界センサの計測結果を利用して移動体1の移動量(移動方向および/または移動距離)を計測する。内界センサを例示すると、駆動装置10が車輪2を駆動する電気モータの場合には、当該電気モータの出力軸に取り付けられ、電気モータの回転速度を計測するロータリエンコーダ12である。内界センサの他の例は、少なくとも2軸の角度または角速度、及び、加速度を検出するジャイロセンサなどの慣性計測装置である。
【0049】
内界センサがロータリエンコーダ12である場合、ロータリエンコーダ12の出力を積分して回転回数を求め、さらに車輪2の外周長との積を求めることにより、車輪2が回転した距離、すなわち移動体1の移動距離を算出することができる。車輪2の外周長は、2π・(車輪2の外周円の半径)によって計算される。
【0050】
なお、2つの車輪2の各々に電気モータ及びロータリエンコーダ12が取り付けられている場合、各車輪2が回転した距離に差が生じる場合があり得る。このとき、各車輪2が回転した距離を利用して、回転中心の位置を求め、その後回転中心周りの旋回角を求めればよい。旋回前の移動体1の進行方向を基準として、旋回後の移動体1の進行方向は(90度-旋回角)によって算出し得る。
【0051】
また、内界センサが慣性計測装置である場合、移動量計測部501は、慣性計測装置の出力を積分することにより、初期状態から変位した角度及び移動距離を算出することができる。
【0052】
変換部502は、測距センサ3と接続されており、測距センサ3から得られた点群データPrawを、移動量計測部501の移動量を用いて、センサ座標系Σlから世界座標系Σw基準のデータPworldへと変換する。
【0053】
記憶装置5bは、変換部502が変換した3次元の点群データPworldを、任意の数または予め定められた数だけ点群データPgroupとして保存する。
【0054】
また記憶装置5bは、予め取得された、移動体1が走行する環境の地図データMを保存している。この地図データMは世界座標系Σwで表される3次元データであり、建物の壁面や建造物を点群で示したデータである。地図データMは移動体1を用いて予め取得されてもよいし、移動体1と同等の性能を有する測距センサ3を搭載した他の移動体を用いて予め取得されてもよい。なお「同等の性能」とは、例えば同じ製造元から入手可能な同じモデルの測距センサである。
【0055】
位置推定部503は、記憶装置5bに保存された3次元データPgroupと、地図データMとして保存された3次元点群データとの比較を行い、移動体1の世界座標系Σwにおける位置を推定する。
【0056】
(測距センサ3の説明)
次に
図4を用いて、測距センサ3から得られる点群データPrawを説明する。
【0057】
図4は、ある空間に測距センサ3を置いたときの各反射点の位置を模式的に示している。なお、
図4はセンサ座標系Σlの+Zl側から-Zl側を見た俯瞰図である。
【0058】
本実施形態では、測距センサ3は一般的にはLIDAR(Light Detection and Ranging,Laser Imaging Detection and Ranging)と呼ばれるセンサである。測距センサ3は、光を用いて、つまり光学的手段により、測定可能な距離範囲内に存在する物体までの距離を計測する。より具体的には、測距センサ3は、周期的にたとえば約900nmの波長、あるいは1400nm以上(例えば1500nm)の波長のレーザ光を周囲に放射して周囲の環境をスキャンする。
【0059】
測距センサ3が、いわゆるToF(Time Of Flight)方式で測距する場合、測距センサ3は、測定可能な所定の角度範囲の空間にステップ角Δθ毎に方向を変化させながらパルス状に光線3Aを放射して、物体表面で反射された光線3Aの各反射光を検出する。これにより、ステップ角Δθ毎ごとの方向に存在する反射点までの距離Rのデータ(点群データPraw)を得ることができる。例えば測距センサ3の測定可能な角度を360[deg]とし、測距センサ3が同一平面上に光線3Aを出射すると仮定する。すると、1回のスキャンで360/Δθ個の点群データが得られる。Δθの一例は0.5度である。
【0060】
測距センサ3が、FMCW(Frequency Modulated Continuous Wave)方式で測距する場合、測距センサ3はコヒーレントレーザ送信器(図示せず)を有している。コヒーレントレーザ送信器から出射される光は、反復的に周波数チャープされた信号である。具体的には、出射される光の周波数は、時間の経過に応じて直線的に上昇し、一定の時間後は再び最初の周波数から直線的に上昇するよう反復的に変調される。または、光の周波数は、時間の経過に応じて直線的に上昇し、一定の時間経過後には時間の経過に応じて直線的に下降する。
【0061】
視野内に存在する物体が測距センサ3に近付くよう、あるいは測距センサ3から遠ざかるように移動すると、物体からの反射光の周波数にドップラシフトが生じる。測距センサ3は、反射光を表す信号(反射信号)とコヒーレントレーザ送信器からの光を表す信号(出力信号)とを混合する。出力信号と反射信号とは干渉を生じるため、両者を混合した信号(ビート信号)にはうなりが含まれる。ビート信号の周波数は、反射までの時間、すなわち距離に対応する。ビート信号の周波数から、物体までの距離を計測できる。また、光の出射方向及び反射光の入射方向は、物体が存在する方向を表す。ToF方式と同様、光の出射方向をステップ角Δθ毎ごとに変化させながら反射光を取得することにより、ステップ角Δθ毎ごとの方向に存在する反射点までの距離Rのデータ(点群データPraw)を得ることができる。
【0062】
点群データPrawを構成する1個の点のデータは、測距センサ3からある反射点までの距離R、及び、センサ座標系Σlの所定の基準角度(0度)から計測された当該反射点の方向を表す角度θの各データを含む。すなわち、1個の点は極座標系の点(R,θ)として表現され得る。
図4には、連続する3つの反射点P1,P2及びP3が例示されている。このうち、測距センサ3から距離R1、角度θ1の位置に存在する反射点P1の座標はP1(R1,θ1)と表現される。
【0063】
極座標系で表現された点群データを直交座標系であるセンサ座標系Σlで扱うためには、データの表現形式を極座標系から直交座標系に変換する必要がある。例えば、上述の極座標系で表現された点P1(R1,θ1)の場合、センサ座標系Σlによる表現に変換すると(R1・cosθ1,R1・sinθ1,0)である。なお、本開示で使用される測距センサは2次元測距のため、Zl軸の値は常に0となる。
【0064】
(3次元点群データ作成の詳細説明)
次に
図5、
図6を用いて、3次元点群データの作成方法を説明する。
【0065】
図5は、移動体1を移動させながら測距センサ3に順次放射させた、複数の光線3Aの各反射点の位置を示している。説明を簡素化するため、
図5は移動体1から光学素子4のみを除いて記載している。上述のとおり、測距センサ3はXw-Yw平面に対して所定の角度αだけ傾斜して取り付けられているため、図示されるように複数の光線3Aは移動体1の進行方向に対して、Xw-Zw平面上で角度αだけ傾斜した方向(斜め上、斜め後ろ)に放射される。
【0066】
移動体1は、地点Aを初期位置(Xw1,Yw1,Zw1)として、Xw方向(Yw=0、Zw=0で固定)に移動する。ここで言う「初期位置」は、世界座標系Σwで表現されている。移動体1は距離ΔX1だけ移動する毎に測距センサ3に光線3Aを放射させて点群データPrawを取得する。なお、
図5には、天井の複数の反射点に関する点群データPrawが記載されている。これらは一度のスキャンで得られたデータではなく、移動体1が距離ΔX1進むごとに測距センサ3によってスキャンが行われて取得されたデータである。
【0067】
測距センサ3から取得した点群データPrawを世界座標系Σw基準の点群データPworldに変換するためには、点群データPrawを取得した時点の、世界座標系Σwにおけるロボット座標系Σr(移動体1)の位置及び傾きを知る必要がある。なお上述のとおり、ロボット座標系Σrとセンサ座標系Σlの相対的な位置関係は固定である。
【0068】
移動体1の移動量は、移動量計測部501を用いて計測され得る。移動量計測部501は、例えば初期位置よりXw方向にΔX1進んだことを計測することができる。すると、移動体1の位置は(Xw1+ΔX1,Yw1,Zw1)と算出されるため、変換部502は、移動後の点群データPrawを点群データPworldに変換することができる。
【0069】
例えば、移動体1の位置(Xw1+ΔX1,Yw1,Zw1)における点群データPrawの一つとして、先に例示した点P1(R1,θ1)が得られたとする。点P1は、測距センサ3のスキャン面を規定するセンサ座標系Σl上の点である。
図2を参照しながら説明したように、当該スキャン面(センサ座標系Σl)はロボット座標系Σrの平面Xr-Yr(及び世界座標系Σwの平面Xw-Yw)から角度αだけ傾斜している。すると、世界座標系Σwの座標(Xw,Yw,Zw)は、以下のように表現される。
Xw=(R1・cosθ1・cosα)+(Xw1+ΔX1)
Yw=(R1・sinθ1)+Yw1
Zw=(R1・cosθ1・sinα)+(Zr+Zw1)
なお、Zwの右辺第2項に含まれる「Zr」は、ロボット座標系Σr(移動体1)から見た、センサ座標系Σlの原点位置の高さ方向の座標値である。
【0070】
図6は、制御ユニット5の演算回路5aによる世界座標系の点群データを取得する手順を示すフローチャートである。説明の便宜のため、
図3に示す演算回路5a内の移動量計測部501、変換部502及び位置推定部503が動作主体であるとして説明する。
【0071】
移動体1の移動が開始すると、ステップS101において、移動量計測部501は移動量の計測を開始する。
【0072】
ステップS102において、変換部502は、その移動量がΔX1以上か未満かを判断する。移動量がΔX1未満の場合は、処理はステップS101へ戻り、移動量計測部501は引き続き移動量の計測を継続する。移動量がΔX1以上の場合は、処理はステップS103に移行し、変換部502は測距センサ3からの点群データPrawを受信する。
【0073】
ステップS104において、変換部502は、受信した移動体1の移動量と、移動前の位置とを用いて、移動体1の移動後の位置(世界座標系Σw基準)を算出する。移動前の位置の算出は、初期位置、または、位置推定部503により算出された値を利用する。
【0074】
その後、ステップS105にて、変換部502は、測距センサ3のデータPrawを世界座標系Σw基準の点群データPworldへと変換する。変換後のデータは3DデータPgroupとして記憶装置5bに記憶される。
【0075】
ここで変換部502は、現在の3DデータPgroup内のデータ数が上限N未満か否かを判定する。データ数がN未満の場合は、ステップS107に移行し、データPgroupを保存して処理を終了する。データ数が上限Nである場合は、処理はステップS108に移行する。ステップS108において、変換部502は一番古いデータを一つ消去する。その後処理はステップS107に進む。
【0076】
なお、上述の例では、距離ΔX1を基準として点群データPrawを取得したが、点群データを取得する基準として距離ΔX1に対応する時間ΔTを採用することもできる。このとき、距離ΔX1と時間ΔTとの関係は、移動体1の移動速度を一定値VとしてΔT=ΔX1/Vと表すことができる。
【0077】
(3次元点群データを用いた位置推定の説明)
図7、
図8を参照しながら、記憶装置5bに3次元データPgroupとして保存された点群データと、地図データMとを用いて、移動体の位置推定を行う方法を説明する。
【0078】
図7は、移動体1の位置推定前の状態を示している。
図7では、地図データMの一部のデータ(部分地図データ)Mと、3Dデータとして保存されている点群データPgroupとが可視化されている。
【0079】
移動体1は、位置推定前には地点B(Xw2、Yw2、Zw2)に存在すると認識している。しかしながら、
図7で示されるように点群データPgroupと部分地図データMとの間には、Xw方向にずれDiffが生じている。点群データPgroupは移動体1の測定結果である。位置推定部505は、この測定結果と部分地図データMとを比較・照合して、測定結果と部分地図データMとのずれDiffが最も小さくなったときの部分地図データM上の位置を、移動体1の現在の位置として推定する。例えは、位置推定部505は、点群データPgroupと部分地図データMの一部との二乗平均誤差が最も小さくなる部分地図データM上の位置を自己位置として推定する。
【0080】
以下、
図8を参照しながらより詳細に説明する。
図8は、位置推定部503の処理の手順を示すフローチャートである。
【0081】
ステップS110において、位置推定部503は、記憶装置5bから3次元データである点群データPgroupを読み出して取得する。続くステップS111において、位置推定部503は、記憶装置5bから予め用意された地図データMを読み出して取得する。
ステップS112において、位置推定部503は、点群データPgroupと地図データMとの比較・照合を行う。点群データPgroupと、地図データMとの比較は、ICP(Iterative Closest Point)マッチングや、NDT(Normal Distribution Transform)スキャンマッチングなどの周知の手法を採用し得る。
【0082】
ステップS113において、位置推定部503は、点群データPgroupが最もよく整合する地図データM上の位置を、現在位置を示す位置情報として出力する。これにより、自己位置が推定され、処理が終了する。なお、位置情報は、移動体1の姿勢(orientation)を示す情報も含み得る。移動体の位置および姿勢は、ポーズ(pose)と呼ばれることがある。
【0083】
(光学素子4による光線の進行方向の変更の説明)
次に、光学素子4を詳細に説明する。以下の説明では、光学素子4はミラーであるとする。
【0084】
図9A及び
図9Bは、それぞれ、移動体1に搭乗者Hが乗車したときの側面図及び上面図である。
【0085】
光学素子4は、測距センサ3の所定の角度範囲内に設けられている。「所定の角度範囲内」とは、移動体1が運搬する人または荷物が存在する範囲内である。より正確には、「所定の角度範囲内」は、測距センサ3のスキャン面上であって、かつ、スキャン面と交差する人体または荷物が存在する範囲を含む角度範囲内である。人体または荷物が存在する「範囲」は、移動体1が運搬することを設計上想定された人または荷物のうち、スキャン面内に存在すると推定される最大範囲であり得る。
【0086】
図9Aを参照する。光線3Aは、Xw-Zw平面での測距センサ3から照射され、光学素子4により反射されてその進行方向を変えられる。その結果、図の実線のように搭乗者Hに干渉しない軌道をとる。
【0087】
また
図9Bを参照すると、測距センサ3の一部範囲θref内の光線が反射される。すなわち、測距センサ3から照射される光線の一部の進行方向が光学素子4によって変更される。
【0088】
光学素子4が無い場合は、光線は点線3Bのような軌道をとるため、搭乗者Hと光線が干渉する。その結果、地図データMと比較するための点群データPgroupの量が少なくなり、有効な計測データが減ってしまう。
【0089】
光学素子4を設けることによって、移動体1に搭乗者Hが搭乗していても、点群データのデータ量が減少しない。つまり点群データの精度を維持できるため、位置推定部503による位置推定精度を損なうことがない。これにより、前述した問題が起こることを抑制することができる。
【0090】
なお、本実施形態では、点群データPgroupは世界座標系Σwで表現された3次元データであるとした。本来であれば、測距センサ3を用いて予め取得された点群データを地図データとしてそのまま用いる。しかしながら本実施形態では、光学素子4を用いて測距センサ3から出射された光線の進行方向を変更したため、得られた点群データを世界座標系Σwに統一して処理を行うこととした。ただし、光学素子4によって光線の一部の進行方向が変更されたとしても、任意の位置で取得される点群データには、その位置に固有の反射点の位置情報が含まれていると言える。従って、地図データMが、測距センサによって予め取得された点群データと世界座標系Σw上の位置とを適切に対応付けている場合には、移動体1の自己位置推定処理時に、位置推定部503は、測距センサ3によって得られた点群データを世界座標系Σwのデータに変換することなく、地図データと比較・照合してもよい。
【0091】
測距センサ3の一部範囲θrefの範囲は、本発明の実施例で示したように固定的な値ではなく、搭乗者や、光学素子4の位置に応じて、変更してもよい。
【0092】
上記構成によれば、電動車いすで搭乗者のような固定的な障害物や、測距センサの取付けの制約により、測距センサの照射範囲に制約がかかる場合でも、地図データと比較するための点群データの量を減らさずに取得することが可能となる。
【0093】
以下、これまで説明した実施形態の変形例を説明する。
【0094】
上述の実施形態の説明では、光学素子4は1つのみ設けたが、取り付ける位置、光学素子4の大きさ等の物理的な制約、搭乗者の体格、搭載する荷物の大きさ等に応じて、複数の光学素子を設けてもよい。このようにすることでより幅広い制約に対応することが可能となる。
【0095】
また、光学素子4によって光線の進行方向を調整してもよい。
【0096】
図10は、移動体1がある空間内を移動している様子を示す斜視図である。斜線で示されているエリアは、点群データPgroupが存在する範囲を模式的に示している。この範囲は、上述の実施形態のように光学素子4が一つ存在する場合は、図のように2つのエリアPgroup_A及びPgroup_Bに分けることができる。エリアPgroup_Aは、光学素子4によって進行方向が変更された光線が入射する範囲であり、エリアPgroup_Bは、光学素子4を介しない光線が入射する範囲である。光学素子4は、測距センサ3の取付角度α方向に対して、法線Nが角度β、距離Dとなるように取り付けられている(
図9参照)。そうすると反射後の光線3AはXw-Yw面に対して、+Xw方向を0度とし、+Yw方向から-Yw方向を見たとき、角度がα―2β+180[deg]をなす方向へと反射する。例えば真上に反射させたい場合は、α―2β+180=90[deg]を満たすように、角度αやβを設定すればよい。さらにそこからXw-Yw面に対して、光線3Aを平行移動させたい場合は、距離Dを適切な値に変更すればよい。本実施形態では真上に反射させているため、Pgroup_AやPgroup_Bは、
図10で示されるように、重ならないような点群データとなる。
【0097】
このようにエリアPgroup_AとエリアPgroup_Bの範囲が互いに重ならないようにすることは自己位置推定処理において好適である。なぜなら、位置推定部503により移動体1の自己位置を推定する際に、点群データPgroupは極力建物の壁面に存在する特徴を広範囲に渡り、取得するほうが好ましいからである。
【0098】
【0099】
図11は、複数の凸部901、902及び903が存在する空間を模式的に示している。複数の凸部901、902及び903はいずれも、空間の内側に向かっているとする。
【0100】
いま、移動体1がこのような空間内を走行することを想定する。自己位置推定を行う際に、点群データPgroupの範囲が、このような凸部を含むことが望ましい。凸部に応じた点群は車外環境の特徴となり得るからである。点群データPgroupが凸部に応じた点群を含むことで、計測時の位置に応じた車外環境の特徴を認識しやすく、位置推定部503による位置推定精度を向上することができる。
【0101】
図12は、点群データPgroup_A及びPgroup_Bが異なる凸部901及び902をカバーする様子を示している。
図11で示されるように、点群データPgroup_A、Pgroup_Bが凸部901にて重なっているよりも、
図12のように凸部901、凸部902の両方をカバーするように配置されることが望ましい。なお、路面が必ずしも平坦であるとは限られず、加えて移動体1が移動することにより、ピッチ方向(Y軸周り)の揺れ、ロール方向(X軸周り)の揺れ、および/またはヨー方向(Z軸周り)の揺れがランダムに発生し得る。そのような場合に、点群データPgroup_A及びPgroup_Bが凸部901で重なる場合があり得る。
【0102】
また
図13のように、一部の光線の向きを変更することにより、凸部903をカバーする点群データPgroup_Cが得られるような光学素子4Aを新たに設けてもよい。
【0103】
さらに、光学素子4による反射角度を調整して位置推定精度を向上させることも可能である。具体的には、光学素子4を用いて測距センサ3から出射される光線の進行方向を変更する際に、変更後のステップ角が、測距センサ3から出射される光線のステップ角よりも小さくする。
【0104】
図14は、測距センサ3の光線が、光学素子4Bによって反射され、ステップ角がより小さくなっていることを模式的に示している。光学素子4へ入射する前のステップ角、つまり測距センサ3のステップ角をΔθbeforeとし、光学素子4から出射した後のステップ角をΔθafterとすると、Δθbefore>Δθafterの関係性を満たす光学素子4Bを採用する。このことで、光学素子4Bによる偏光後の光線のステップ角を、偏光前の光線のステップ角より小さくすることができる。
【0105】
これにより、小さな突起物などの特徴も捉えることができる。すなわち測距センサ3の角度分解能を向上させることができる。その結果、位置推定部503による位置推定精度を向上させることができる。なお、上述のように光学素子4によってステップ角をより小さくする場合には、地図データMの作成時にも同じ光学素子4を用いて点群データを取得する。
【0106】
さらに他の変形例として、移動体1は、人または荷物が存在するか否かを判定してもよい。例えば、人が乗車し、または荷物が積載される位置に、近接センサあるいは重量センサを設け、センサの出力から、人または荷物が存在するか否かを判定できる。人または荷物が存在する場合には上述した光学素子4を測距センサ3から出射された光の光路上に配置させ、存在しない場合には光学素子4を測距センサ3のスキャン面から取り除く。前者の場合、制御ユニット5は上述した本実施形態にかかる手順に従って点群データを取得する。一方の後者の場合、測距センサ3の通常の処理、すなわち測距センサ3による光の出射及び反射光の検出に基づいて反射点が存在する角度(方向)及び反射点までの距離の算出処理、を行えばよい。前者の場合と後者の場合とでは、自己位置推定のための照合に利用する地図データMは異なっていてもよい。例えば前者の処理で採用される地図データMは3次元データPgroupであり、後者の処理で採用される地図データMは測距センサ3のスキャン面で得られた2次元データであり得る。
【0107】
移動体1はバッテリ(図示せず)を搭載し、バッテリから制御ユニット5に電力を供給する。制御ユニット5の処理負荷、つまり消費電力、は、光学素子4を光路上に挿入するときよりも挿入しないときの方が小さい。そのため、人または荷物が存在しないときには消費電力が小さい処理を実行することにより、バッテリの消耗を抑えることができる。
【産業上の利用可能性】
【0108】
本開示にかかる例示的な移動体は、工場、倉庫、建設現場、物流、病院などで、人、荷物の移動時および/または搬送時に、自己位置を推定しながら自律的に移動するロボット、車両等として好適に利用され得る。
【符号の説明】
【0109】
1 移動体
2 車輪
3 測距センサ
4 光学素子
5 制御ユニット
5a 演算回路
5b 記憶装置
501 移動量計測部
502 変換部
503 位置推定部