自律移動装置
【課題】本発明は、測定面上の距離測定装置から遠い位置の形状を測定する際にも解像度の低下を抑制することができる自律移動装置を提供することを目的とする。
【解決手段】本発明の自律移動装置18は、距離データを測定するレーザレンジセンサ20と、レーザレンジセンサ20を回転させる回転装置30と、回転装置30が搭載される移動体16と、回転装置30の回転角を検出するエンコーダ38と、レーザレンジセンサ20とエンコーダ38から入力されるデータを用いて3次元距離データを演算する演算部52aと、回転装置30を制御する回転制御部52bを有しており、回転制御部52bは、床面形状測定時に、床面上のレーザレンジセンサ20から遠い位置にレーザを走査するときは、床面上のレーザレンジセンサ20から近い位置にレーザを走査するときに比べて遅い角速度で回転装置30を回転させる。
【解決手段】本発明の自律移動装置18は、距離データを測定するレーザレンジセンサ20と、レーザレンジセンサ20を回転させる回転装置30と、回転装置30が搭載される移動体16と、回転装置30の回転角を検出するエンコーダ38と、レーザレンジセンサ20とエンコーダ38から入力されるデータを用いて3次元距離データを演算する演算部52aと、回転装置30を制御する回転制御部52bを有しており、回転制御部52bは、床面形状測定時に、床面上のレーザレンジセンサ20から遠い位置にレーザを走査するときは、床面上のレーザレンジセンサ20から近い位置にレーザを走査するときに比べて遅い角速度で回転装置30を回転させる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、障害物を回避しながら目標地点まで移動する自律移動装置に関する。
【背景技術】
【0002】
空間の形状を3次元で測定する3次元測定装置が知られている。この3次元測定装置は、光線を走査軸周りに走査することにより光線が走査された走査線上の距離データを測定する距離測定装置と、距離測定装置を走査軸と直交する回転軸周りに一定の角速度で回転させる回転装置と、距離測定装置で得られた距離データと回転装置の回転角を用いて3次元距離データを演算する演算装置を有している。
この測定装置では、距離測定装置が光線を照射しながら光線を照射する方向を走査軸周りで変化させる。距離測定装置は、各照射角度において光線を照射し、光線を照射した方向に物体が存在するか否かを検出する。光線を照射した方向に物体が存在する場合には、その物体までの距離を測定する。すなわち、距離測定装置は、光線を照射した走査軸周りの角度と物体までの距離によって表される2次元距離データを測定する。2次元距離データの測定と同時に、回転装置が回転軸回りに距離測定装置を回転させ、距離測定装置による光線の照射方向が回転軸周りで変更される。その際、回転装置による回転軸周りの回転角(すなわち、距離測定装置が光線を照射した回転軸周りの角度)がセンサによって検出される。光線を照射した走査軸周りの角度と回転軸周りの角度が分かれば、光線を照射した方向を特定することができる。このため、演算装置は、距離測定装置で測定された2次元距離データとセンサで検出された回転装置の回転角とを用いて3次元距離データを演算する。
なお、特許文献1には、光線を走査軸周りに走査することで光線が走査された走査線上の距離データを測定する距離測定装置を用いて空間の3次元形状を測定する技術が開示されている。特許文献1の技術では、鉄道車両上に距離測定装置を設置し、距離測定装置によって2次元距離データを測定するとともに、鉄道車両を移動させることによって、空間の3次元形状を測定している。
【0003】
【特許文献1】特開2005−69700号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
この種の3次元測定装置を搭載した自律移動装置が知られている。このような自律移動装置では、自律移動装置の進行方向の床面等の3次元形状の測定を行うことがある。例えば、自律移動装置は、進行方向の床面形状を計測することで進行方向にある障害物を検出し、床面を安全に移動することができる。
一方、自律移動装置では、通常、距離測定装置が走査軸及び自律移動装置の進行方向と直交する回転軸周りに一定の角速度で回転される。このように、距離測定装置を回転軸周りに一定の角速度で回転させて平面の形状を測定すると、平面上の距離測定装置から遠い位置では光線が走査される間隔が広くなり、測定の解像度が低下する。このため、自律移動装置から遠い位置にある障害物を早期に検出することができない。このように、従来の自律移動装置では、平面上の距離測定装置から遠い位置の形状を測定する際に解像度が低下するという問題があった。
【0005】
本発明は、上記した実情に鑑みてなされたものであり、測定面上の距離測定装置から遠い位置の形状を測定する際にも解像度の低下を抑制することができる自律移動装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の自律移動装置は、所定周期で光線を走査軸周りに走査することで光線が走査された走査線上の距離データを測定する距離測定装置と、距離測定装置が取付けられ、距離測定装置を走査軸及び自律移動装置の進行方向と直交する回転軸周りに回転させる回転装置と、回転装置が搭載される移動体と、回転装置の回転角を検出するセンサと、距離測定装置から入力される距離データとセンサから入力される回転角を用いて3次元距離データを演算する演算装置と、回転装置の回転軸周りの回転運動を制御する回転制御装置と、
演算装置で演算された3次元距離データを用いて移動体の移動方向及び移動速度を制御する移動体制御装置とを有している。そして、回転制御装置が、距離測定装置から基準平面に向けて光線を走査する場合に、その基準平面上の距離測定装置から遠い位置に光線を走査するときは、その基準平面上の距離測定装置から近い位置に光線を走査するときに比べて遅い角速度で回転装置を回転させることを特徴とする。
この自律移動装置では、回転制御装置が、基準平面上の距離測定装置から遠い位置に光線を走査するときは、その基準平面上の距離測定装置から近い位置に光線を走査するときに比べて遅い角速度で回転装置を回転させる。従って、回転装置を一定の角速度で回転させる場合と比較して、基準平面上の距離測定装置から遠い位置に光線を走査する場合にも、光線が走査される間隔が広くなることが抑えられ、解像度の低下を抑制することができる。
ここで、「基準平面」とは、自律移動装置により形状を測定する対象として設定された平面をいう。したがって、測定対象として設定された平面と実際に測定する平面とは異なっていてもよい。例えば、自律移動装置が水平な床面の形状を測定すると設定された場合において、自律移動装置が実際に測定する床面が傾斜していてもよい。この場合、回転制御装置は実際に測定する平面の形状によっては、距離測定装置からの距離が遠くなるにつれて、光線が走査される間隔が広く(又は狭く)なることがある。なお、「基準平面」の設定方法としては、回転装置を回転軸周りに等角速度で回転させて測定した平面を「基準平面」として設定してもよい。例えば、自律移動装置が傾斜した床面を測定する場合、まず、回転装置を回転軸周りに等角速度で回転させて床面を測定し、その測定結果から床面の傾斜角を算出し、その算出された傾斜角で傾く床面を「基準平面」とする。
【0007】
上述の自律移動装置は、回転制御装置の回転軌道が、距離測定装置から基準平面上の光線が走査される位置までの距離が長くなるのに従って、回転装置の回転角速度が遅くなるように決定されていることが好ましい。
このような構成によれば、距離測定装置から基準平面上の光線が走査される位置までの距離に応じて回転速度が制御されるため、基準平面上に適切に光線を走査することができる。
【0008】
上述の自律移動装置は、回転制御装置が、自律移動装置が移動する床面に相当する平面を基準平面として回転装置を制御することが好ましい。
このような構成によれば、距離測定装置によって自律移動装置が移動する床面形状が測定されるため、自律移動装置は安全に床面上を移動することができる。
【0009】
上述の自律移動装置は、回転制御装置の回転軌道は、距離測定装置の各周期において基準平面上に走査される光線の走査線の間隔が等間隔となるように決定されていることが好ましい。
このような構成によれば、基準平面に対して等間隔に光線が走査されるため、基準平面に対応する平面の形状を均一な解像度で測定することができる。
【発明を実施するための最良の形態】
【0010】
下記に詳細に説明する実施例の主要な特徴を最初に列記する。
(形態1)自律移動装置は、自律移動体と、自律移動体上に搭載された3次元測定装置によって構成されている。
(形態2)3次元測定装置は、レーザを走査軸周りに走査することでレーザが走査された走査面上の距離データを測定するレーザレンジセンサと、レーザレンジセンサが取付けられ、レーザレンジセンサを走査軸と直交するピッチ軸周りに回転させる回転装置と、回転装置の回転角を検出するセンサと、レーザレンジセンサから入力される距離データとセンサから入力される回転角を用いて3次元距離データを演算する演算装置と、回転装置の回転軸周りの回転運動を制御する回転制御装置を有している。
(形態3)回転制御装置は、レーザレンジセンサから基準平面に向けてレーザを走査する場合に、その基準平面上のレーザレンジセンサから遠い位置に光線を走査するときは、その基準平面上のレーザレンジセンサから近い位置に光線を走査するときに比べて遅い角速度で回転装置を回転させる。
(形態4)回転制御装置の回転軌道は、レーザレンジセンサから基準平面上のレーザが走査される位置までの距離が長くなるのに従って、回転装置の回転角速度が遅くなるように決定されている。
(形態5)回転制御装置の回転軌道は、距離測定装置の各周期において基準平面上に走査される光線の走査線の間隔が等間隔となるように決定されている。
(形態6)回転制御装置は、自律移動装置が移動する床面に相当する平面を基準平面として回転装置を制御する。
(形態7)自律移動体は、4つの車輪を駆動することによって移動する4輪台車と、4輪台車の車輪の回転数を制御することによって4輪台車の移動方向及び移動速度を制御する移動体制御装置によって構成されている。
【実施例】
【0011】
本発明の一実施例に係る自律移動装置について図面を参照して説明する。図1及び図2に示す自律移動装置10は、空間の3次元形状を測定することで障害物を検知し、障害物を回避しながら床面上を走行する。なお、以下では、自律移動装置10の進行方向をX方向、鉛直方向をZ方向、X方向及びZ方向に直行する方向をY方向という。自律移動装置10は、自律移動体16と、自律移動体16上に搭載された3次元測定装置18によって構成されている。
【0012】
(A)自律移動体16の構成
自律移動体16は、4輪台車40と、4輪台車40を制御する制御装置14によって構成されている。
4輪台車40は、台車本体42と、台車本体42を支持する4つの車輪44a〜44dによって構成されている。台車本体42上には、3次元測定装置18が搭載されている。車輪44a〜44dにはモータ46a〜46dが接続されている。モータ46a〜46dが回転すると、車輪44a〜44dが回転し、自律移動装置10は移動する。車輪44a〜44dの回転速度を調節することによって自律移動装置10の移動速度を調節でき、左右の車輪44a〜44dの回転速度を変えることで自律移動装置10の移動方向を変更することができる。モータ46a〜46dにはエンコーダ48a〜48dがそれぞれ接続され、エンコーダ48a〜48dによって各モータ46a〜46dの回転量o、p、q、r(すなわち、車輪の回転量)が検出される。エンコーダ48a〜48dは、制御装置14に電気的に接続されている。エンコーダ48a〜48dで検出した車輪の回転量o、p、q、rは制御装置14に入力される。
制御装置14は、CPU,ROM,RAMを備えたマイクロプロセッサ等によって構成されている。制御装置14は、台車本体42に搭載されており、モータ46a〜46d及びエンコーダ48a〜48dと電気的に接続されている。制御装置14には図示しない入力装置が接続され、入力装置によって制御装置14に目的地が設定(入力)される。また、制御装置14は、後述する3次元測定装置18の制御装置52と電気的に接続されている。後で詳述するが、3次元測定装置18の制御装置52は3次元マップを算出し、3次元マップは制御装置14へ入力される。制御装置14は、入力された3次元マップ及び目的地に基づいて、モータ46a〜46dの目標回転速度を算出する。そして、エンコーダ48a〜48dから入力される回転量o、p、q、rに基づいて算出される各モータ46a〜46dの回転速度と、算出された目標回転速度との差に基づいて、各モータ46a〜46dに制御指令値を入力する。各モータ46a〜46dは、入力された制御指令値に基づいて駆動するので、自律移動装置10は目的地に向かって移動する。
また、制御装置14は、エンコーダ48a〜48dから入力される回転量o,p,q,rに基づいて自律移動体16の位置及び進行方向を算出し、算出された自律移動体16の位置及び進行方向を制御装置52に入力する。
【0013】
(B)3次元測定装置18の構成
3次元測定装置18は、レーザレンジセンサ20と、レーザレンジセンサ20を回転させる回転装置30と、制御装置52によって構成されている。回転装置30及び制御装置52は、4輪台車40上に設置されている。レーザレンジセンサ20は、回転装置30上に取付けられている。
【0014】
(B−1)回転装置30の構成
回転装置30は、フレーム35と、モータ37と、モータ37の回転角度を検出するエンコーダ38によって構成されている。
フレーム35は、4輪台車40上に固定されている基台部35aと、基台部35aの両端から上方にそれぞれ伸びる二つの縦フレーム35b、35cによって構成されている。縦フレーム35b,35cの先端近傍にはそれぞれ貫通孔36a,36bが形成されている(図3参照)。貫通孔36a,36bには、後述するレーザレンジセンサ20の軸部22a、22bがそれぞれ挿入されている。これによって、レーザレンジセンサ20が縦フレーム35b,35c間に回転可能に支持されている(詳細には、図1に示す回転軸32(すなわち、自律移動装置10のピッチ軸)周りに回転可能に支持されている)。
縦フレーム35bにはモータ37が設置されている。モータ37は、レーザレンジセンサ20の軸部22aに接続されている。モータ37が回転すると、それに応じて軸部22aが回転し、軸部22aが回転することでレーザレンジセンサ20が縦フレーム35b,35cに対して回転軸32周りに回転する。モータ37は、制御装置52と電気的に接続され、制御装置52から出力される制御指令値に従って回転する。モータ37には、モータ37の回転角度θ(すなわち、レーザレンジセンサ20の床面に対する角度θ(以下、鉛直角度θともいう))を検出するエンコーダ38が接続されている。エンコーダ38は、制御装置52と電気的に接続されており、エンコーダ38が検出したレーザレンジセンサ20の鉛直角度θは制御装置52に入力される。
【0015】
(B−2)レーザレンジセンサ20の構成・作用
レーザレンジセンサ20は、レーザが出射される角度φ(レーザのY方向に対する角度φ(以下、水平角度φともいう)(図3参照))を0°〜180°の間で変化させながらレーザを走査し、レーザを走査した走査面上の距離データを測定する。また、レーザレンジセンサ20は、その鉛直角度θの方向にレーザを照射する。回転装置30によって、レーザレンジセンサ20を回転することによって、レーザが出射される鉛直角度θが変更される。レーザレンジセンサ20のレーザを出射する水平角度φの変更と同時に、回転装置30によりレーザレンジセンサ20の鉛直角度θを変更することで、レーザレンジセンサ20は水平角度φ=0°〜180°及び所定の鉛直角度θの角度範囲内にレーザを走査し、距離データを測定する。
【0016】
図3は、レーザレンジセンサ20の内部構造を模式的に示す図である。図3に示すように、レーザレンジセンサ20は、フレーム22と、フレーム22内に配置された距離測定ユニット24、ミラー25、ミラー25を回転させるモータ28、及びモータ28の回転角度を検出するエンコーダ28aから構成されている。
【0017】
フレーム22の後面側(図3における左側)の断面は方形状に形成され、正面側(図3における右側)の断面は後述する回転軸23を中心とする半円状に形成されている。
フレーム22の方形状の部分の側面22c、22dには軸部22a、22bが形成されている。上述したように、軸部22a、22bは、回転装置30の縦フレーム35b、35cの貫通孔36a、36bにそれぞれ挿入されている。フレーム22の半円状の部分の側面22eは全面にわたって開口し、その開口部は樹脂部材27によって閉じられている。樹脂部材27は、波長が900nm前後の赤外線光はよく透過するが、その他の波長の光はカットする樹脂材料によって形成されている。樹脂部材27は、レーザレンジセンサ20の内部に外部の光が入射するのを防止し、レーザレンジセンサ20の誤動作を防止する。
【0018】
フレーム22の内部であって半円形側面22eの中心に対応する箇所にはミラー25が配置されている。ミラー25の板厚は非常に薄く、ミラー25の表面及び裏面は鏡面状に形成されている。ミラー25は、回転軸23に取付けられており、回転軸23の回転に伴って回転するようになっている。回転軸23にはモータ28が接続されている。モータ28は、ミラー25を予め設定された周期(本実施例では、26.4msec)で回転させる。モータ28にはモータ28の回転角度を検出するエンコーダ28aが取り付けられている。すなわち、エンコーダ28aは、ミラー25の回転角度ψ(レーザを出射する水平角度φ)を検出する。エンコーダ28aの検出分解能は0.5°である。従って、エンコーダ28aは、ミラー25の回転角度ψが0.5°の整数倍となるタイミングでその回転角度ψを検出する。エンコーダ28aは、距離測定ユニット24と電気的に接続されており、エンコーダ28aが検出したミラー25の回転角度ψは距離測定ユニット24に入力されるようになっている。
【0019】
ミラー25から見てψ=180°の方向には距離測定ユニット24が配されている。図4に示すように、距離測定ユニット24は、レーザ光源24a、受光素子24b、演算装置26、及びレンズ部24cを備えており、これらは筐体24d内に設置されている。
【0020】
レーザ光源24aは、波長900nm前後の赤外線レーザ光を出射する。レーザ光源24aは、演算装置26によって制御され、所定のタイミングでレーザ光を出射する。
【0021】
受光素子24bは、レーザ光源24aから出射するレーザ光が、直接、入射されない位置に配置されている。受光素子24bは、900nm前後の波長の光に対して高感度な受光素子であり、所定以上の強度の光を受けるとONする。また、受光素子24bは演算装置26と電気的に接続されており、受光素子24bの出力値は演算装置26に入力されるようになっている。
【0022】
筐体24dのミラー25側の側面は、その一部が開口しており、その開口部にレンズ部24cが配置されている。レンズ部24cは、レンズ及びミラー等によって構成された光学部品である。レンズ部24cは、レーザ光源24aから出射するレーザ光をミラー25に導く。ミラー25に入射した光は、ミラー25で反射され、レーザレンジセンサ20外に照射される。また、レーザレンジセンサ20内に入射する光は、ミラー25で反射されてレンズ部24cに導かれ、レンズ部24cから受光素子24bへ導かれる。
【0023】
図5に示すように、演算装置26には、レーザ光源24a、受光素子24b及びエンコーダ28aが電気的に接続されている。演算装置26は、レーザ光源24aを駆動し、受光素子24b及びエンコーダ28aからの信号を処理する。演算装置26は、さらに、制御装置52とUSBケーブル60によって接続されている。
演算装置26は、制御部26a、センシング部26b、カウント部26c、記憶部26d、及び演算部26eを備えている。カウント部26cは、電源がONされてからの経過時間をカウントし続ける。制御部26aは、エンコーダ28aが検出するミラー25の回転角度ψを検出し、回転角度ψを検出すると同時にレーザ光源24aをパルス的に駆動する。これにより、エンコーダ28aの回転角度ψの検出タイミングに同期してレーザ光源24aからレーザ光がパルス的に出射される。また、制御部26aはレーザ光を出射すると同時に、カウント部26cの時間データjを読み取る。制御部26aが検出する回転角度ψ及び時間データjは記憶部26dに記憶される。センシング部26bは、受光素子24bの検出信号を読取る。読取った時間データkは記憶部26dに記憶される。演算部26eは、記憶部26dに記憶されている回転角度ψ、時間データj、kから、レーザ光の照射角度φと、そのレーザ光が反射された位置(障害物等の物体)とレーザレンジセンサ20間の距離dを算出する(図12参照)。
【0024】
図6を参照してレーザレンジセンサ20の動作について説明する。レーザレンジセンサ20が起動すると、モータ28が回転して、ミラー25が26.4msecの周期で回転する。ミラー25の回転角度ψは、エンコーダ28aによって検出される。すなわち、エンコーダ28aは、ミラー25の回転角度ψが0.5°の整数倍となるタイミングでその回転角度ψを検出し、その回転角度ψを演算装置26へ入力する。モータ28はミラー25を26.4msecの周期で回転させているため、エンコーダ28aが回転角度ψを検出する周期は、26.4msec/360/2≒36.7μsecとなる。なお、ミラー25は表裏が同様に鏡面状に形成されており、表裏の区別が無い。従って、ミラー25の回転角度ψ=0°の場合と回転角度ψ=180°の場合とでは、ミラー25は全く同じ状態になっているとみなせる。従って、演算装置26は、エンコーダ28aが検出する回転角度がψ=180°となると、回転角度ψ=0°と判定する。
【0025】
レーザレンジセンサ20が起動すると、まず、制御部26aはエンコーダ28aが検出したミラー25の回転角度ψを読み取り(ステップS2)、読取った回転角度ψが0°であるか否かを判定する(ステップS4)。回転角度ψが0°で無い場合(ステップS4でNO)は、制御部26aは、回転角度ψが0°となるまでステップS2とステップS4を繰り返し実施する。一方、回転角度ψが0°であると判定する(ステップS4でYES)と、その旨を示すデータMをUSBケーブル60に出力し、ステップS6に進む。なお、USBケーブル60に出力されたデータMは制御装置52に入力される。
【0026】
ステップS6に進むと、記憶部26dが現在の回転角度ψが0°であることを記憶する。記憶部26dに回転角度ψ=0°であることを記憶するのとほぼ同時に、制御部26aはレーザ光源24aをパルス駆動させる(ステップS8)。これにより、レーザ光源24aからレーザ光がパルス的に出射される。
ステップS8でレーザ光源24aを駆動させると、それと同時に制御部26aはカウント部26cでカウントされている時間データjを読み取る(ステップS10)。読み取った時間データjは記憶部26dに記憶される。その際、記憶部26dは、時間データjをステップS6で記憶した回転角度ψと関連付けて記憶する。
【0027】
次に、センシング部26bが、受光素子24bがONしたか否かを判定する(ステップS12)。すなわち、ステップS8でレーザ光源24aからレーザ光が出射されると、そのレーザ光はレンズ部24cを通って距離測定ユニット24の外部へ出射される。距離測定ユニット24の外部に出射されたレーザ光は、ψ=180°の方向からミラー25(詳細には、回転軸23近傍部分(以下、レーザ原点23aという))に入射する。ミラー25に入射したレーザ光は、ミラー25に対する入射角と、ミラー25からの出射角が等しくなるように反射される。上述したとおり、距離測定ユニット24は固定されている。一方、ミラー25は回転軸23を中心に回転する。従って、ミラー25で反射したレーザ光の反射方向は、ミラー25の回転角度ψによって決まる。ミラー25で反射したレーザ光の反射方向を、図3における角度φで表すと、φ=2ψが成立する。
上述の計算式から明らかなように、ミラー25の回転角度ψが0°〜90°の場合にはレーザの出射角度φは0°〜180°となる。また、回転角度ψが90°〜180°の場合には、ステップS4の判定によって、レーザ光源24aからレーザが出射されない。従って、レーザ光源24aから出射されたレーザ光は、角度φ=0°〜180°となる方向へ反射される。
【0028】
ミラー25のレーザ原点23aで反射されたレーザ光は、樹脂部材27に入射する。樹脂部材27は、上述の通り、ミラー25の回転軸23を中心とした半円状に形成されており、また、波長900nm前後の光を透過する。従って、レーザ原点23aで反射したレーザ光は樹脂部材27に対して垂直に入射し、樹脂部材27内を透過して外部に出射される。すなわち、レーザレンジセンサ20から水平角度φとなる方向へレーザ光が出射される。
【0029】
レーザレンジセンサ20からレーザ光が出射された方向に物体が存在すると、その物体にレーザ光が照射され、その物体によってレーザ光の乱反射が起きる。乱反射したレーザ光の一部は、レーザレンジセンサ20内に戻ってミラー25によって反射され、距離測定ユニット24のレンズ部24cを介して受光素子24bに導かれる。受光素子24bに導かれる光は、レーザ光源24aからのレーザ光が乱反射された光であるため、その波長は900nm前後である。受光素子24bは900nm前後の波長の光に対して高感度であるので、受光素子24bが乱反射されたレーザ光を受けるとONする。一方、レーザレンジセンサ20からレーザ光が出射された方向に物体が存在しないと、物体によるレーザ光の乱反射が生じないため、受光素子24bはONしない。したがって、ステップS12で、制御部26aは受光素子24bがONしたか否かを判定する。
【0030】
受光素子24bがONした場合(すなわち、受光素子24bの出力信号をセンシング部26bが検出した場合(ステップS12でYES))、制御部26aは、受光素子24bがONしたことを検出すると同時に、カウント部26cでカウントされている時間データkを読み取り、読み取った時間データkを記憶部26dに記憶する(ステップS14)。その際、記憶部26dには、読取った時間データkをステップS6で記憶された回転角度ψと関連付けて記憶される。すなわち、記憶部26dには、回転角度ψ及び時間データj及び時間データkとによって構成される距離データAが記憶される。
受光素子24bがONしていない場合(ステップS12でNO)は、制御部26aはステップS8を実行してからの経過時間が所定時間(エンコーダ28aが回転角度ψを検出する周期である36.7μsecよりも短い時間に設定されている。)を経過したか否かを判定する(ステップS16)。所定時間を経過していない場合(ステップS16でNO)は、ステップS12に戻って、ステップS12からの処理を繰返す。一方、所定時間を経過している場合(ステップS16でYES)は、制御部26aはレーザ光を出射した方向に物体が存在しないと判定し、ステップS10で記憶した時間データjを記憶部26dから消去して、ステップS6で記憶したミラー25の回転角度ψについての距離データAをL(=レーザレンジセンサ20の検出限界距離)とする(ステップS18)。
【0031】
ステップS20に進むと、制御部26aはエンコーダ28aが再びミラー25の回転角度ψを検出するまで待機し、エンコーダ28aが回転角度ψを検出すると、制御部26aがその回転角度ψを読み取る(ステップS20)。次いで、制御部26aはステップS20で読み取った回転角度ψが、90.5°であるか否かを判定する(ステップS22)。回転角度ψが90.5°で無い場合(ステップS22でNO)は、ステップS6に戻って、ステップS6からの処理が実行される。これにより、記憶部26dにはステップS20で読取った回転角度ψについての距離データAが記憶されることとなる。
【0032】
以上のように、回転角度ψ=90.5°となるまでは、演算装置26によってステップS6〜ステップS22が繰り返し実行される。上述の処理は、回転角度ψ=0°からψ=90°の間で0.5°ピッチで実行される。上述の通り、ミラー25の回転角度ψと、レーザ光の放出角度φはφ=2ψの関係である。従って、レーザ光は、φ=0°から180°の間で1°ピッチでレーザレンジセンサ20から出射されて、そのたびに距離データAの測定が実行される。
【0033】
回転角度ψ=90.5°となった場合(ステップS22でYES)は、演算部26eが、記憶部26dに記憶されている各距離データAを用いて、レーザレンジセンサ20からレーザを出射した水平角度φと、レーザレンジセンサ20からレーザ光が照射された物体までの距離dを算出する(ステップS24)。すなわち、角度φは、上述した通り、φ=2ψによって求められる。距離dは、時間データjと時間データkの時間差によって求められる(具体的には、d=(k−j)/c(c=光速)となる)。
演算部26eは、記憶部26dに記憶されている全ての距離データAに対して上記の演算を実行し、角度φ及び距離dによって構成される距離データBに変換する。変換された各距離データBは記憶部26dに記憶される。
【0034】
ステップS26に進むと、ステップS24で変換された全ての距離データBが、USBケーブル60を介して制御装置52に出力される(ステップS26)。距離データBが制御装置52へ転送されると、演算部26eは、記憶部26dに記憶されている各距離データA及び各距離データBを消去する(ステップS28)。
【0035】
ステップS24〜S28を実行している間も、モータ28によってミラー25は回転されている。ステップS24〜S28の処理は、ミラー25が回転角度ψ=90.5°からψ=180°(すなわちψ=0°)となるまでの間に実行されて終了する。ステップS28が終了した後も、ミラー25は回転され、その間も、制御部26aはエンコーダ28aによってミラー25の回転角度ψを検出し(ステップS30)、ミラー25の回転角度ψが180°となったか否かを判定する(ステップS32)。ミラー25の回転角度ψが180°とならない場合(ステップS32でNO)はステップS30に戻り、ミラー25の回転角度ψ=180°となる(ステップS32でYES)と、制御部26aは、ψ=180°をψ=0°とし(ステップS33)、ステップS6に戻って、ステップS6からの処理が再び実行される。なお、ステップS32においてもステップS4と同様に、制御部26aは、ψ=0°とすると、その旨を示すデータMをUSBケーブル60を介して制御装置52に出力する。
【0036】
以上の説明から明らかなように、レーザレンジセンサ20は、ミラー25の回転角度ψが0°〜90°の期間にステップS6〜S22を繰り返し実行する。これによって、レーザ原点23aから水平角度φ=0°〜180°の方向へレーザ光を出射し、距離データAが測定される。また、ミラー25の回転角度ψが90°〜180°の期間にステップS24〜S26を実行して、距離データBを算出し、各距離データBを制御装置52へ転送する。レーザレンジセンサ20が、距離データAの測定と、距離データBの算出と、距離データBの転送を繰り返し実行することによって、所定周期で制御装置52へ距離データBが転送される。
【0037】
また、レーザレンジセンサ20は、距離データを測定している間も、回転装置30によって鉛直方向に回転されている。回転装置30によって回転されることによって、レーザレンジセンサ20がレーザを出射する鉛直角度θが変更される。従って、レーザレンジセンサ20は、鉛直角度θを変更しながら水平角度φ=0°〜180°の範囲内で距離データを測定することとなる。従って、回転装置30によって鉛直角度θの回転範囲を変更することで、レーザレンジセンサ20の測定範囲を変更することができる。
【0038】
(B−3)制御装置52の構成
制御装置52は、CPU,ROM,RAMを備えたマイクロプロセッサ等によって構成されている。制御装置52は、レーザレンジセンサ20とUSBケーブル60によって接続され、また、回転装置30及び制御装置14と電気的に接続されている。
図2に示すように、制御装置52は、レーザレンジセンサ20から入力される距離データB等を用いて3次元距離データを算出する演算部52aと、回転装置30を制御する回転制御部52bと、レーザレンジセンサ20から入力される距離データを記憶する記憶部52cを有する。
【0039】
回転制御部52bは、図7に示す回転軌道70と、図8に示す回転軌道72を記憶している。回転制御部52bは、所定の時間間隔で回転軌道70と72とを交互に選択し、選択した回転軌道に基づいて回転装置30に制御指令値を出力する。これにより、回転装置30は、選択された回転軌道でレーザレンジセンサ20を回転させる。
【0040】
図7に示す回転軌道70は、自律移動装置10の進行方向の空間形状を広範囲にわたって測定するための回転軌道である。図示するように、回転軌道70では、回転中心がθ=0°、上方最大角度がθ=W1、下方最大角度がθ=−W1に決定されている。従って、回転軌道70では、レーザレンジセンサ20がθ=W1〜−W1の角度範囲を往復するように回転される。これによって、θ=W1〜−W1の角度範囲にレーザが出射され、その角度範囲の空間の形状が測定される。また、回転軌道70は、θが上方最大角度W1及び下方最大角度−W1となるタイミングの前後の期間Dでは回転角加速度dθ/dt2が一定となるように、その他の期間Eでは回転角速度dθ/dtが一定となるように決定されている。
【0041】
図8に示す回転軌道72は、自律移動装置10の進行方向の床面の形状を測定するための回転軌道である。回転軌道72は、水平な床面を基準平面とし、その基準平面上にレーザを照射する目標位置(時間の関数で与えられる)を設定し、その設定した目標位置にレーザが照射されるように決定されている。回転軌道72の詳細について説明する前に、レーザレンジセンサ20と、レーザレンジセンサ20からのレーザが床面(基準平面)に照射される位置(目標位置)との位置関係について説明する。
【0042】
図10は路面形状測定時の3次元測定装置18を側面から見た図である。図10に示すように、路面形状測定時においてレーザレンジセンサ20は、回転軸32を中心に鉛直角度θ<0の範囲を回転する。ベクトルKは、レーザ原点23aから出射されるレーザの出射方向を示している。また、点74は、レーザ原点23aからレーザが出射されたときに、レーザが照射される床面(基準平面)上の位置を示している。すなわち、点74は、レーザレンジセンサ20が床面上にレーザを照射するときの目標位置である。ベクトルJは、レーザ原点23aと回転軸32との相対位置を示している。すなわち、レーザ原点23aは、回転軸32から角度α(レーザレンジセンサ20に対する角度α)の方向であって、距離Jとなる位置にある。また、回転軸32は床面から高さHの位置にある。
目標位置74は、レーザレンジセンサ20の鉛直角度θを変更することによって、X方向に移動する。回転軸32から目標位置74までのX方向の距離Xは、鉛直角度θによって決まる。図10に示すように、レーザ原点23aの床面からの高さH23aは、H−Jsin(θ+α)となっている。また、レーザ原点23aから目標位置74までのX方向の距離X23aは、X−Jcos(θ+α)となっている。従って、回転軸32から目標位置74までのX方向における距離Xと鉛直角度θは、以下の関係となっている。
【0043】
【数1】
【0044】
次に、回転軌道72について説明する。回転軌道72は、目標位置74が図9に示す軌道でX方向に移動するように決定されている。すなわち、目標位置74の軌道は、距離X=X1となる位置から距離X=X2(<X1)となる位置を往復するように決定されている。したがって、回転軌道72は、距離X1に対応する角度−W2から距離X2に対応する角度−W3の間を往復するように決定されている。角度−W2は上述の関係式[数1]とX1に基づいて、角度−W3は関係式[数1]とX2に基づいて算出されている。
また、回転軌道72は、図8に示すように、期間Fにおける回転軌道と、期間Gにおける回転軌道とによって構成されている。
【0045】
期間Gにおける回転軌道72は、図9に示すように、目標位置74が一定速度dX/dtでX方向に移動するように決定されている。すなわち、期間Gにおける目標位置74の軌道は、時間tの一次関数f(t)となっている。期間Gにおける回転軌道72は、一次関数f(t)と、上述の関係式[数1]に基づいて決定されている。これによって、図8に示すように、期間Gにおける回転軌道72は、レーザレンジセンサ20から床面上のレーザが走査される位置(すなわち、目標位置74)までの距離Xが長くなるのに従って(すなわち、距離XがX1に近づくにしたがって)、回転角速度が遅くなるように決定されている。
以上に説明したように、回転軌道72は、期間Gにおいては目標位置74が一定速度でX方向に移動するように決定されている。また、上述したように、レーザレンジセンサ20は一定周期(本実施例では、ミラー25の回転周期の半分である13.2msec)でレーザを走査する。したがって、期間Gにおいては、図11に示すように床面にレーザが等間隔で走査される。したがって、回転制御部52bが回転軌道72に従って回転装置30を制御することで、均一な解像度で床面の形状を測定することができる。また、図12は、レーザレンジセンサ20が図11のXII−XII線の方向にレーザを出射するときの様子を示している。図12に示すように、レーザ照射位置までの距離が長くなるにしたがって回転角速度を遅くする(すなわち、図12の角度ピッチを小さくする)ことで、レーザ照射位置(レーザの走査線)の間隔ΔXが等しくなる。このように、回転軌道72を用いると、期間Gにおいては、床面にレーザが等間隔で走査されるので、レーザレンジセンサ20によって床面の距離データが均一な解像度で取得される。なお、図12では、レーザ原点23aの位置と回転軸32の位置が非常に近いので、同一の点として示している。
【0046】
期間Fにおける回転軌道72は、図9に示すように、目標位置74が一定加速度で速度を変化させ、移動方向を変えるように決定されている。すなわち、期間Gにおける目標位置74の軌道は、時間tの二次関数g(t)となっている。期間Fにおける回転軌道72は、二次関数g(t)と、上述の[数1]に基づいて算出されている。
【0047】
演算部52aは、制御装置14から入力される自律移動体16の位置及び進行方向と、記憶部52cに記憶されている距離データBと、鉛直角度θから3次元距離データを算出して3次元マップを生成する。演算部52aが算出した3次元マップは、制御装置14へ出力される。
【0048】
図10及び図13〜図15を用いて、演算部52aの動作について説明する。図14に示すように、自律移動装置10は水平な平面上に置かれた状態で起動される。図14の位置Aは、自律移動装置10が起動された時の位置である。
図13に示すように、自律移動装置10が起動されると、まず、演算部52aが原点の設定を行う(ステップS34)。すなわち、演算部52aは、起動時の位置(図14における位置A)を原点に設定する(詳細には、自律移動装置10の回転軸32上の中点34(基準点34)を原点に設定する)。また、演算部52aは、起動時の自律移動装置10のX方向をx軸、Y方向をy軸、Z方向をz軸としたxyz座標系を設定する。
【0049】
自律移動装置10が起動すると、レーザレンジセンサ20が距離データの取得を開始するとともに、レーザレンジセンサ20が回転装置30によって回転される。上述したように、レーザレンジセンサ20は、USBケーブル60を介して演算部52aにデータM(すなわち、レーザレンジセンサ20のミラー25の回転角度ψが0°である旨を示すデータ)を出力する(ステップS36)。
【0050】
演算部52aにデータMが入力されると、演算部52aは回転装置30が検出する鉛直角度θを読取る(ステップS38)。鉛直角度θの読み取りは、データMの入力と略同時に行われる。従って、演算部52aが読取る鉛直角度θは、レーザレンジセンサ20がφ=0°の方向にレーザを出射したときの鉛直角度θである。
【0051】
また、演算部52aは、自律移動体16の制御装置14から、自律移動装置10の位置(a,b)及び向きVを読取る(ステップS42)。既に説明したように、位置(a,b)は基準点34を基準に算出され、上述のxyz座標系におけるx座標、y座標によって表されており、向きVはx軸に対する角度Rによって表されている。なお、ステップS42で読取った位置(a,b)及び角度Rは、レーザレンジセンサ20がφ=0°の方向にレーザを出射したときのものとなる。
【0052】
上述したように、レーザレンジセンサ20は、データMを出力すると、φ=0°〜180°の間にレーザ光を走査させて、各出射角度φにおける距離データAを取得する。そして、φ=0°〜180°における全ての距離データAを取得した後に、各距離データAから距離データBを算出する。レーザレンジセンサ20は各距離データBを算出すると、それらの距離データBをUSBケーブル60を介して制御装置52に出力する。制御装置52に入力された各距離データBは記憶部52cに入力される(ステップS44)。
【0053】
記憶部52cに各距離データBが入力されると、演算部52aは、距離データBと、位置(a,b)と、角度Rと、鉛直角度θに基づいて、3次元距離データの演算を行う。以下に、3次元距離データの演算方法について説明する。
【0054】
ステップS46では、演算部52aが、記憶部52cに記憶されている各距離データBの中から、演算を行う距離データBを1つ選択する。このとき、演算部52aは、記憶部52cに記憶されている各距離データBの中から、出射角度φが最も小さい距離データBを選択する。
【0055】
ステップS48では、ステップS46で選択した距離データBの出射角度φに基づいて鉛直角度θを補正する。すなわち、ステップS38で演算部52aが読取った鉛直角度θは、出射角度φ=0°の際の鉛直角度θである。レーザレンジセンサ20は、φ=0°からφ=180°までレーザ光を走査している間も、回転装置30によって回転され、鉛直角度θは変更されている。従って、鉛直角度θを用いてφ=0°以外の距離データBを演算すると、演算結果に誤差が生じる。従って、鉛直角度θを補正する。鉛直角度θの補正は以下の計算式によって行われる。
θ’ =θ+(dθ/dt)・td
ここで、θ’ は補正後の鉛直角度であり、dθ/dtはθを検出した時のレーザレンジセンサ20が回転する角速度であり、tdは鉛直角度θが読取られた時間と、距離データBが検出された時間との時間差である。本実施例では、レーザレンジセンサ20がφ=0°〜180°の区間にレーザ光を走査する時間は6.6msecであるので、td=φ/180×6.6となる。
なお、ステップS42で演算部52aが読取った位置(a,b)及び角度Rも、出射角度φ=0°のときのデータである。従って、位置(a,b)及び角度Rを補正するようにしてもよい。ただし、本実施例では、自律移動装置10の移動速度が遅く、レーザレンジセンサ20が距離データを測定する周期の間に自律移動装置10が移動する量が少ないため、位置(a,b)及び角度Rを補正しなくても誤差はほとんど生じない。従って、本実施例では位置(a,b)及び角度Rの補正を行っていない。
【0056】
演算部52aは、鉛直角度θの補正を行うと、レーザレンジセンサ20が出射したレーザ光が照射された物体の、自律移動装置10に対する相対位置を算出する(ステップS50)。
相対位置の算出は、距離データB(すなわち、出射角度φと距離d)と、補正後の鉛直角度θ’を演算することによって行われる。また、相対位置は、自律移動装置10の現在の位置(図14における位置B)における基準点34を原点とし、自律移動装置10の現在の進行方向をx’軸、垂直方向をz’軸、x’軸及びz’軸に直行する方向をy’軸としたx'y’z’座標系によって表される。
相対座標(x’,y’,z’)は、図10、図15に示す基準点34とレーザ原点23aとのオフセットベクトルJと、レーザの発振軌道を示すベクトルKとの和によって求められる。オフセットベクトルJのパラメータ(x’J,y’J,z’J)は、レーザレンジセンサ20と回転装置30との取り付け寸法により決まる定数x’J1及びz’J1 (図10参照)と鉛直角度θ’ によって求めることができる。すなわち、
【0057】
【数2】
【0058】
なお、αは、オフセットベクトルJとベクトルKとがなす角度である。
また、ベクトルKのパラメータ(x’K,y’K,z’K)は、距離d及び出射角度φ及び鉛直角度θ’ によって求めることができる。すなわち、
【0059】
【数3】
【0060】
従って、レーザが照射された物体の自律移動装置10に対する相対座標(x’,y’,z’)は、下記の通りとなる。
【0061】
【数4】
【0062】
演算部52aは、相対座標(x’,y’,z’)を算出すると、相対座標(x’,y’,z’)から、レーザが照射された物体のxyz座標系における絶対座標(x,y,z)を算出する(ステップS52)。絶対座標(x,y,z)は、レーザが照射された物体の絶対位置を示す3次元距離データである。座標(x,y,z)は、座標(x’,y’,z’)を、自律移動装置10の位置(a、b)及び自律移動装置10の進行方向Vとx軸とがなす角度Rを用いて座標変換することで求められる。すなわち、
【0063】
【数5】
【0064】
演算部52aは、3次元距離データ(x,y,z)を算出すると、ステップS34で設定したxyz座標に、算出した3次元距離データ(x,y,z)をプロットする(ステップS54)。3次元距離データ(x,y,z)をプロットすると、演算部52aはステップS46で選択した距離データBを記憶部52cから消去する(ステップS56)。距離データBを記憶部52cから消去すると、演算部52aは記憶部52cに距離データBが存在しているか否かを判定する(ステップS58)。
記憶部52cに距離データBが存在している場合(ステップS58でYES)には、ステップS46に戻って、ステップS46からの処理を実行する。これによって、全ての距離データBについて3次元距離データ(x,y,z)が算出される。一方、記憶部52cに距離データBが存在していない場合(ステップS58でNO)には、演算部52aはプロットした3次元マップを制御装置14へ出力し(ステップ60)、ステップS36に戻り、ステップS36からの処理を実行する。
【0065】
以上の処理によって、記憶部52cに記憶された全ての距離データBから3次元距離データ(x,y,z)が算出される。算出された各3次元距離データ(x,y,z)は、ステップS54によってxyz座標にプロットされる。これによって、xyz空間の形状を表す3次元マップが作成される。
なお、ステップS46〜S60の処理は、レーザレンジセンサ20が各距離データBをUSBケーブル60に出力(図6のステップS26)してから、次の測定期間が開始される(すなわち、図6のステップS32のデータMの出力)までの間に実行される。従って、演算部52aがステップS46〜S60を実行している間に、レーザレンジセンサ20から演算部52aへデータMが入力されることは無い。
【0066】
次に、制御装置14が自律移動装置10の移動方向及び移動速度を制御する処理について、図16を参照して説明する。
自律移動装置10を起動する際には、まず、制御装置14に目的地を入力する(ステップS62)。目的地は、絶対座標系のxy座標値によって指定する。目的地が入力されると、3次元測定装置18が起動する。
【0067】
ステップS63では、3次元測定装置18の制御装置52が、回転装置30の回転軌道を選択する。自律移動装置10の起動後には、制御装置52は回転軌道72を選択する。
【0068】
制御装置52が回転軌道を選択すると、3次元測定装置18が3次元距離データの測定を開始する。これによって、3次元測定装置18から3次元マップが出力され、その3次元マップは制御装置14に入力される(ステップS64)。制御装置14は、入力された3次元マップから、自律移動装置10の現在の位置と目的地の位置から決まる進行方向に障害物が存在するか否か(障害物の位置)を判断する(ステップS66)。なお、上述したように、回転軌道72に従って回転装置30を制御しているときには、床面が平坦で水平であればレーザの走査間隔ΔXが均等となる。したがって、自律移動装置10は、測定されたレーザの照射位置の座標がX方向において等間隔になっていないときは、その位置の詳細な形状を測定することなくそこに障害物や凹凸があるということを認識することができる。
【0069】
目的地方向に障害物が無いと判定する(ステップS66でNO)と、制御装置14はモータ46a〜46dに制御指令値を出力し、自律移動装置10を目的地の方向へ移動させる(ステップS68)。一方、目的地方向に障害物が有ると判定する(ステップS66でNO)と、制御装置14は、障害物を回避する方向に自律移動装置10の進行方向を変更し、その変更した進行方向に自律移動装置10が移動するようにモータ46a〜46dに制御指令値を出力する(ステップS70)。
なお、制御装置14は、自律移動装置10の移動方向に障害物がない場合は、所定速度まで自律移動装置10の移動速度を加速させる。すなわち、自律移動装置10の移動方向に障害物がない場合は、自律移動装置10が移動方向を変化させないため、その移動方向の3次元距離データが十分に得られている。従って、移動速度を加速しても自律移動装置10は障害物に衝突することなく移動することができる。
【0070】
制御装置14がステップS68またはステップS70によって自律移動装置10を移動させると、制御装置14は自律移動装置10が目的地に到着したか否かを判定する(ステップS74)。
自律移動装置10が目的地に到着していないと判定する(ステップS74でNO)と、ステップS64に戻って、ステップS64からの処理を実行する。2回目以降のステップS64では、制御装置52は、回転軌道70と回転軌道72を交互に選択し、選択した回転軌道70又は72に基づいて測定された3次元マップを制御装置14に出力する。したがって、3次元測定装置18は、回転軌道70による3次元形状データの測定(すなわち、広範囲の空間形状の測定)と、回転軌道72による3次元形状データの測定(すなわち、床面形状の測定)とを交互に繰り返し実行する。
自律移動装置10は、目的地に到着したと判定する(ステップS74でYES)と、移動を停止する。
【0071】
以上に説明したように、自律移動装置10は、回転軌道70による3次元形状データの測定と、回転軌道72による3次元形状データの測定とを交互に繰り返し実行する。回転軌道72は、レーザレンジセンサ20から床面上のレーザが走査される位置までの距離が長くなるのに従って、回転角速度が遅くなるように決定されており、これによってレーザを照射する目標位置74が一定速度でX方向に移動するようになっている。したがって、自律移動装置10が回転軌道72に従って回転装置30を駆動すると、床面上に等間隔にレーザが走査されるので、均一な解像度で床面形状を測定することができる。すなわち、床面上の自律移動装置10から遠い位置の形状を解像度が低下することなく測定できる。したがって、自律移動装置10は、床面上の自律移動装置10から離れた位置に小さな障害物があるときにも、その障害物を早期に検出し、障害物を回避する経路を選択することができる。また、均一な解像度で床面形状が測定されるので、均一な解像度の3次元マップを作成することができる。
【0072】
なお、本実施例の自律移動装置では、水平な床面を基準平面とした回転軌道にしたがって回転装置を制御したが、本発明はこのような実施形態に限られず、他の平面を基準平面とした回転軌道で回転装置を制御してもよい。例えば、自律移動装置が壁面近くを移動するときには、壁面を基準平面とした回転軌道にしたがって回転装置を制御することができ、あるいは、自立移動装置が傾斜する床面を走行するときには、傾斜する床面を基準平面とした回転軌道にしたがって回転装置を制御する等、さまざまな平面を基準平面とすることができる。
【0073】
また、上述した自律移動装置では、予め決定された回転軌道で回転装置を制御したが、回転軌道の上方最大角度、下方最大角度を変更した回転軌道を生成することで測定範囲を変更したり、回転周期を変更した回転軌道を生成することで測定の解像度(レーザを走査する間隔ΔX)を変更してもよい。また、空間形状測定によって平面と思われる形状を検出したときには、その平面を基準面とした回転軌道を新たに生成してもよい。例えば、回転軌道70によって計測された床面の形状が略平面に近似できるときは、その近似した平面を基準平面とする回転軌道を制御装置52で生成するようにしてもよい。
【0074】
また、上述した自律移動装置は、車輪走行型の自律移動装置であったが、多足歩行型のロボット等であってもよい。ロボットが歩行する床面の形状を測定することで、床面上のより平坦な位置にロボットの脚部を踏み出させることができる。これによって、ロボットの安定した歩行を担保し、ロボットの転倒等を未然に防止することができる。
【0075】
また、通常時は、回転させずにレーザレンジセンサを起動し、レーザレンジセンサによって障害物が検知された場合にのみレーザレンジセンサを回転させる構成としても良い。これによって、障害物が検知されない状況では短い周期で進行方向の床面形状を測定し、障害物が検知された場合にのみ回転装置によりレーザレンジセンサを回転させて障害物の形状等を測定することができる。
【0076】
また、上述の実施例では、自律移動装置の位置及び移動方向を、エンコーダが検出する車輪の回転量から算出していたが、本発明は、このような実施形態に限られない。例えば、GPS(Global Positioning System)を利用して、自律移動装置の位置及び移動方向を検出しても良い。
【0077】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例をさまざまに変形、変更したものが含まれる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0078】
【図1】本実施例の自律移動装置10の斜視図。
【図2】本実施例の自律移動装置10のブロック図。
【図3】本実施例のレーザレンジセンサ20の内部構造図。
【図4】距離測定ユニット24の拡大図。
【図5】演算装置26のブロック図。
【図6】演算装置26の処理を示すフローチャート。
【図7】レーザレンジセンサ20の回転軌道70を示すグラフ。
【図8】レーザレンジセンサ20の回転軌道72を示すグラフ。
【図9】回転軌道72に従ってレーザレンジセンサ20を回転したときの、レーザレンジセンサ20の目標位置74の位置を示すグラフ。
【図10】レーザレンジセンサ20のレーザ出射時の説明図。
【図11】回転軌道72に従ってレーザレンジセンサ20を回転したときの、レーザ走査線の説明図。
【図12】回転軌道72に従ってレーザレンジセンサ20を回転したときの、レーザの照射位置の説明図。
【図13】演算部52aの処理を示すフローチャート。
【図14】自律移動装置10の動きを示す斜視図。
【図15】レーザレンジセンサ20の上面図。
【図16】制御装置14の処理を示すフローチャート。
【符号の説明】
【0079】
10:自律移動装置
14:制御装置
16:自律移動体
18:3次元測定装置
20:レーザレンジセンサ
23:回転軸
23a:レーザ原点
24:距離測定ユニット
24a:レーザ光源
24b:受光素子
24c:レンズ部
24d:筐体
25:ミラー
26:演算装置
26a:制御部
26b:センシング部
26c:カウント部
26d:記憶部
26e:演算部
27:樹脂部材
28:モータ
28a:エンコーダ
30:回転装置
32:回転軸
34:基準点
35:フレーム
37:モータ
38:エンコーダ
40:4輪台車
42:台車本体
44a〜44d:車輪
46a〜46d:モータ
48a〜48d:エンコーダ
52:制御装置
52a:演算部
52b:回転制御部
52c:記憶部
70:回転軌道
72:回転軌道
74:目標位置
【技術分野】
【0001】
本発明は、障害物を回避しながら目標地点まで移動する自律移動装置に関する。
【背景技術】
【0002】
空間の形状を3次元で測定する3次元測定装置が知られている。この3次元測定装置は、光線を走査軸周りに走査することにより光線が走査された走査線上の距離データを測定する距離測定装置と、距離測定装置を走査軸と直交する回転軸周りに一定の角速度で回転させる回転装置と、距離測定装置で得られた距離データと回転装置の回転角を用いて3次元距離データを演算する演算装置を有している。
この測定装置では、距離測定装置が光線を照射しながら光線を照射する方向を走査軸周りで変化させる。距離測定装置は、各照射角度において光線を照射し、光線を照射した方向に物体が存在するか否かを検出する。光線を照射した方向に物体が存在する場合には、その物体までの距離を測定する。すなわち、距離測定装置は、光線を照射した走査軸周りの角度と物体までの距離によって表される2次元距離データを測定する。2次元距離データの測定と同時に、回転装置が回転軸回りに距離測定装置を回転させ、距離測定装置による光線の照射方向が回転軸周りで変更される。その際、回転装置による回転軸周りの回転角(すなわち、距離測定装置が光線を照射した回転軸周りの角度)がセンサによって検出される。光線を照射した走査軸周りの角度と回転軸周りの角度が分かれば、光線を照射した方向を特定することができる。このため、演算装置は、距離測定装置で測定された2次元距離データとセンサで検出された回転装置の回転角とを用いて3次元距離データを演算する。
なお、特許文献1には、光線を走査軸周りに走査することで光線が走査された走査線上の距離データを測定する距離測定装置を用いて空間の3次元形状を測定する技術が開示されている。特許文献1の技術では、鉄道車両上に距離測定装置を設置し、距離測定装置によって2次元距離データを測定するとともに、鉄道車両を移動させることによって、空間の3次元形状を測定している。
【0003】
【特許文献1】特開2005−69700号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
この種の3次元測定装置を搭載した自律移動装置が知られている。このような自律移動装置では、自律移動装置の進行方向の床面等の3次元形状の測定を行うことがある。例えば、自律移動装置は、進行方向の床面形状を計測することで進行方向にある障害物を検出し、床面を安全に移動することができる。
一方、自律移動装置では、通常、距離測定装置が走査軸及び自律移動装置の進行方向と直交する回転軸周りに一定の角速度で回転される。このように、距離測定装置を回転軸周りに一定の角速度で回転させて平面の形状を測定すると、平面上の距離測定装置から遠い位置では光線が走査される間隔が広くなり、測定の解像度が低下する。このため、自律移動装置から遠い位置にある障害物を早期に検出することができない。このように、従来の自律移動装置では、平面上の距離測定装置から遠い位置の形状を測定する際に解像度が低下するという問題があった。
【0005】
本発明は、上記した実情に鑑みてなされたものであり、測定面上の距離測定装置から遠い位置の形状を測定する際にも解像度の低下を抑制することができる自律移動装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の自律移動装置は、所定周期で光線を走査軸周りに走査することで光線が走査された走査線上の距離データを測定する距離測定装置と、距離測定装置が取付けられ、距離測定装置を走査軸及び自律移動装置の進行方向と直交する回転軸周りに回転させる回転装置と、回転装置が搭載される移動体と、回転装置の回転角を検出するセンサと、距離測定装置から入力される距離データとセンサから入力される回転角を用いて3次元距離データを演算する演算装置と、回転装置の回転軸周りの回転運動を制御する回転制御装置と、
演算装置で演算された3次元距離データを用いて移動体の移動方向及び移動速度を制御する移動体制御装置とを有している。そして、回転制御装置が、距離測定装置から基準平面に向けて光線を走査する場合に、その基準平面上の距離測定装置から遠い位置に光線を走査するときは、その基準平面上の距離測定装置から近い位置に光線を走査するときに比べて遅い角速度で回転装置を回転させることを特徴とする。
この自律移動装置では、回転制御装置が、基準平面上の距離測定装置から遠い位置に光線を走査するときは、その基準平面上の距離測定装置から近い位置に光線を走査するときに比べて遅い角速度で回転装置を回転させる。従って、回転装置を一定の角速度で回転させる場合と比較して、基準平面上の距離測定装置から遠い位置に光線を走査する場合にも、光線が走査される間隔が広くなることが抑えられ、解像度の低下を抑制することができる。
ここで、「基準平面」とは、自律移動装置により形状を測定する対象として設定された平面をいう。したがって、測定対象として設定された平面と実際に測定する平面とは異なっていてもよい。例えば、自律移動装置が水平な床面の形状を測定すると設定された場合において、自律移動装置が実際に測定する床面が傾斜していてもよい。この場合、回転制御装置は実際に測定する平面の形状によっては、距離測定装置からの距離が遠くなるにつれて、光線が走査される間隔が広く(又は狭く)なることがある。なお、「基準平面」の設定方法としては、回転装置を回転軸周りに等角速度で回転させて測定した平面を「基準平面」として設定してもよい。例えば、自律移動装置が傾斜した床面を測定する場合、まず、回転装置を回転軸周りに等角速度で回転させて床面を測定し、その測定結果から床面の傾斜角を算出し、その算出された傾斜角で傾く床面を「基準平面」とする。
【0007】
上述の自律移動装置は、回転制御装置の回転軌道が、距離測定装置から基準平面上の光線が走査される位置までの距離が長くなるのに従って、回転装置の回転角速度が遅くなるように決定されていることが好ましい。
このような構成によれば、距離測定装置から基準平面上の光線が走査される位置までの距離に応じて回転速度が制御されるため、基準平面上に適切に光線を走査することができる。
【0008】
上述の自律移動装置は、回転制御装置が、自律移動装置が移動する床面に相当する平面を基準平面として回転装置を制御することが好ましい。
このような構成によれば、距離測定装置によって自律移動装置が移動する床面形状が測定されるため、自律移動装置は安全に床面上を移動することができる。
【0009】
上述の自律移動装置は、回転制御装置の回転軌道は、距離測定装置の各周期において基準平面上に走査される光線の走査線の間隔が等間隔となるように決定されていることが好ましい。
このような構成によれば、基準平面に対して等間隔に光線が走査されるため、基準平面に対応する平面の形状を均一な解像度で測定することができる。
【発明を実施するための最良の形態】
【0010】
下記に詳細に説明する実施例の主要な特徴を最初に列記する。
(形態1)自律移動装置は、自律移動体と、自律移動体上に搭載された3次元測定装置によって構成されている。
(形態2)3次元測定装置は、レーザを走査軸周りに走査することでレーザが走査された走査面上の距離データを測定するレーザレンジセンサと、レーザレンジセンサが取付けられ、レーザレンジセンサを走査軸と直交するピッチ軸周りに回転させる回転装置と、回転装置の回転角を検出するセンサと、レーザレンジセンサから入力される距離データとセンサから入力される回転角を用いて3次元距離データを演算する演算装置と、回転装置の回転軸周りの回転運動を制御する回転制御装置を有している。
(形態3)回転制御装置は、レーザレンジセンサから基準平面に向けてレーザを走査する場合に、その基準平面上のレーザレンジセンサから遠い位置に光線を走査するときは、その基準平面上のレーザレンジセンサから近い位置に光線を走査するときに比べて遅い角速度で回転装置を回転させる。
(形態4)回転制御装置の回転軌道は、レーザレンジセンサから基準平面上のレーザが走査される位置までの距離が長くなるのに従って、回転装置の回転角速度が遅くなるように決定されている。
(形態5)回転制御装置の回転軌道は、距離測定装置の各周期において基準平面上に走査される光線の走査線の間隔が等間隔となるように決定されている。
(形態6)回転制御装置は、自律移動装置が移動する床面に相当する平面を基準平面として回転装置を制御する。
(形態7)自律移動体は、4つの車輪を駆動することによって移動する4輪台車と、4輪台車の車輪の回転数を制御することによって4輪台車の移動方向及び移動速度を制御する移動体制御装置によって構成されている。
【実施例】
【0011】
本発明の一実施例に係る自律移動装置について図面を参照して説明する。図1及び図2に示す自律移動装置10は、空間の3次元形状を測定することで障害物を検知し、障害物を回避しながら床面上を走行する。なお、以下では、自律移動装置10の進行方向をX方向、鉛直方向をZ方向、X方向及びZ方向に直行する方向をY方向という。自律移動装置10は、自律移動体16と、自律移動体16上に搭載された3次元測定装置18によって構成されている。
【0012】
(A)自律移動体16の構成
自律移動体16は、4輪台車40と、4輪台車40を制御する制御装置14によって構成されている。
4輪台車40は、台車本体42と、台車本体42を支持する4つの車輪44a〜44dによって構成されている。台車本体42上には、3次元測定装置18が搭載されている。車輪44a〜44dにはモータ46a〜46dが接続されている。モータ46a〜46dが回転すると、車輪44a〜44dが回転し、自律移動装置10は移動する。車輪44a〜44dの回転速度を調節することによって自律移動装置10の移動速度を調節でき、左右の車輪44a〜44dの回転速度を変えることで自律移動装置10の移動方向を変更することができる。モータ46a〜46dにはエンコーダ48a〜48dがそれぞれ接続され、エンコーダ48a〜48dによって各モータ46a〜46dの回転量o、p、q、r(すなわち、車輪の回転量)が検出される。エンコーダ48a〜48dは、制御装置14に電気的に接続されている。エンコーダ48a〜48dで検出した車輪の回転量o、p、q、rは制御装置14に入力される。
制御装置14は、CPU,ROM,RAMを備えたマイクロプロセッサ等によって構成されている。制御装置14は、台車本体42に搭載されており、モータ46a〜46d及びエンコーダ48a〜48dと電気的に接続されている。制御装置14には図示しない入力装置が接続され、入力装置によって制御装置14に目的地が設定(入力)される。また、制御装置14は、後述する3次元測定装置18の制御装置52と電気的に接続されている。後で詳述するが、3次元測定装置18の制御装置52は3次元マップを算出し、3次元マップは制御装置14へ入力される。制御装置14は、入力された3次元マップ及び目的地に基づいて、モータ46a〜46dの目標回転速度を算出する。そして、エンコーダ48a〜48dから入力される回転量o、p、q、rに基づいて算出される各モータ46a〜46dの回転速度と、算出された目標回転速度との差に基づいて、各モータ46a〜46dに制御指令値を入力する。各モータ46a〜46dは、入力された制御指令値に基づいて駆動するので、自律移動装置10は目的地に向かって移動する。
また、制御装置14は、エンコーダ48a〜48dから入力される回転量o,p,q,rに基づいて自律移動体16の位置及び進行方向を算出し、算出された自律移動体16の位置及び進行方向を制御装置52に入力する。
【0013】
(B)3次元測定装置18の構成
3次元測定装置18は、レーザレンジセンサ20と、レーザレンジセンサ20を回転させる回転装置30と、制御装置52によって構成されている。回転装置30及び制御装置52は、4輪台車40上に設置されている。レーザレンジセンサ20は、回転装置30上に取付けられている。
【0014】
(B−1)回転装置30の構成
回転装置30は、フレーム35と、モータ37と、モータ37の回転角度を検出するエンコーダ38によって構成されている。
フレーム35は、4輪台車40上に固定されている基台部35aと、基台部35aの両端から上方にそれぞれ伸びる二つの縦フレーム35b、35cによって構成されている。縦フレーム35b,35cの先端近傍にはそれぞれ貫通孔36a,36bが形成されている(図3参照)。貫通孔36a,36bには、後述するレーザレンジセンサ20の軸部22a、22bがそれぞれ挿入されている。これによって、レーザレンジセンサ20が縦フレーム35b,35c間に回転可能に支持されている(詳細には、図1に示す回転軸32(すなわち、自律移動装置10のピッチ軸)周りに回転可能に支持されている)。
縦フレーム35bにはモータ37が設置されている。モータ37は、レーザレンジセンサ20の軸部22aに接続されている。モータ37が回転すると、それに応じて軸部22aが回転し、軸部22aが回転することでレーザレンジセンサ20が縦フレーム35b,35cに対して回転軸32周りに回転する。モータ37は、制御装置52と電気的に接続され、制御装置52から出力される制御指令値に従って回転する。モータ37には、モータ37の回転角度θ(すなわち、レーザレンジセンサ20の床面に対する角度θ(以下、鉛直角度θともいう))を検出するエンコーダ38が接続されている。エンコーダ38は、制御装置52と電気的に接続されており、エンコーダ38が検出したレーザレンジセンサ20の鉛直角度θは制御装置52に入力される。
【0015】
(B−2)レーザレンジセンサ20の構成・作用
レーザレンジセンサ20は、レーザが出射される角度φ(レーザのY方向に対する角度φ(以下、水平角度φともいう)(図3参照))を0°〜180°の間で変化させながらレーザを走査し、レーザを走査した走査面上の距離データを測定する。また、レーザレンジセンサ20は、その鉛直角度θの方向にレーザを照射する。回転装置30によって、レーザレンジセンサ20を回転することによって、レーザが出射される鉛直角度θが変更される。レーザレンジセンサ20のレーザを出射する水平角度φの変更と同時に、回転装置30によりレーザレンジセンサ20の鉛直角度θを変更することで、レーザレンジセンサ20は水平角度φ=0°〜180°及び所定の鉛直角度θの角度範囲内にレーザを走査し、距離データを測定する。
【0016】
図3は、レーザレンジセンサ20の内部構造を模式的に示す図である。図3に示すように、レーザレンジセンサ20は、フレーム22と、フレーム22内に配置された距離測定ユニット24、ミラー25、ミラー25を回転させるモータ28、及びモータ28の回転角度を検出するエンコーダ28aから構成されている。
【0017】
フレーム22の後面側(図3における左側)の断面は方形状に形成され、正面側(図3における右側)の断面は後述する回転軸23を中心とする半円状に形成されている。
フレーム22の方形状の部分の側面22c、22dには軸部22a、22bが形成されている。上述したように、軸部22a、22bは、回転装置30の縦フレーム35b、35cの貫通孔36a、36bにそれぞれ挿入されている。フレーム22の半円状の部分の側面22eは全面にわたって開口し、その開口部は樹脂部材27によって閉じられている。樹脂部材27は、波長が900nm前後の赤外線光はよく透過するが、その他の波長の光はカットする樹脂材料によって形成されている。樹脂部材27は、レーザレンジセンサ20の内部に外部の光が入射するのを防止し、レーザレンジセンサ20の誤動作を防止する。
【0018】
フレーム22の内部であって半円形側面22eの中心に対応する箇所にはミラー25が配置されている。ミラー25の板厚は非常に薄く、ミラー25の表面及び裏面は鏡面状に形成されている。ミラー25は、回転軸23に取付けられており、回転軸23の回転に伴って回転するようになっている。回転軸23にはモータ28が接続されている。モータ28は、ミラー25を予め設定された周期(本実施例では、26.4msec)で回転させる。モータ28にはモータ28の回転角度を検出するエンコーダ28aが取り付けられている。すなわち、エンコーダ28aは、ミラー25の回転角度ψ(レーザを出射する水平角度φ)を検出する。エンコーダ28aの検出分解能は0.5°である。従って、エンコーダ28aは、ミラー25の回転角度ψが0.5°の整数倍となるタイミングでその回転角度ψを検出する。エンコーダ28aは、距離測定ユニット24と電気的に接続されており、エンコーダ28aが検出したミラー25の回転角度ψは距離測定ユニット24に入力されるようになっている。
【0019】
ミラー25から見てψ=180°の方向には距離測定ユニット24が配されている。図4に示すように、距離測定ユニット24は、レーザ光源24a、受光素子24b、演算装置26、及びレンズ部24cを備えており、これらは筐体24d内に設置されている。
【0020】
レーザ光源24aは、波長900nm前後の赤外線レーザ光を出射する。レーザ光源24aは、演算装置26によって制御され、所定のタイミングでレーザ光を出射する。
【0021】
受光素子24bは、レーザ光源24aから出射するレーザ光が、直接、入射されない位置に配置されている。受光素子24bは、900nm前後の波長の光に対して高感度な受光素子であり、所定以上の強度の光を受けるとONする。また、受光素子24bは演算装置26と電気的に接続されており、受光素子24bの出力値は演算装置26に入力されるようになっている。
【0022】
筐体24dのミラー25側の側面は、その一部が開口しており、その開口部にレンズ部24cが配置されている。レンズ部24cは、レンズ及びミラー等によって構成された光学部品である。レンズ部24cは、レーザ光源24aから出射するレーザ光をミラー25に導く。ミラー25に入射した光は、ミラー25で反射され、レーザレンジセンサ20外に照射される。また、レーザレンジセンサ20内に入射する光は、ミラー25で反射されてレンズ部24cに導かれ、レンズ部24cから受光素子24bへ導かれる。
【0023】
図5に示すように、演算装置26には、レーザ光源24a、受光素子24b及びエンコーダ28aが電気的に接続されている。演算装置26は、レーザ光源24aを駆動し、受光素子24b及びエンコーダ28aからの信号を処理する。演算装置26は、さらに、制御装置52とUSBケーブル60によって接続されている。
演算装置26は、制御部26a、センシング部26b、カウント部26c、記憶部26d、及び演算部26eを備えている。カウント部26cは、電源がONされてからの経過時間をカウントし続ける。制御部26aは、エンコーダ28aが検出するミラー25の回転角度ψを検出し、回転角度ψを検出すると同時にレーザ光源24aをパルス的に駆動する。これにより、エンコーダ28aの回転角度ψの検出タイミングに同期してレーザ光源24aからレーザ光がパルス的に出射される。また、制御部26aはレーザ光を出射すると同時に、カウント部26cの時間データjを読み取る。制御部26aが検出する回転角度ψ及び時間データjは記憶部26dに記憶される。センシング部26bは、受光素子24bの検出信号を読取る。読取った時間データkは記憶部26dに記憶される。演算部26eは、記憶部26dに記憶されている回転角度ψ、時間データj、kから、レーザ光の照射角度φと、そのレーザ光が反射された位置(障害物等の物体)とレーザレンジセンサ20間の距離dを算出する(図12参照)。
【0024】
図6を参照してレーザレンジセンサ20の動作について説明する。レーザレンジセンサ20が起動すると、モータ28が回転して、ミラー25が26.4msecの周期で回転する。ミラー25の回転角度ψは、エンコーダ28aによって検出される。すなわち、エンコーダ28aは、ミラー25の回転角度ψが0.5°の整数倍となるタイミングでその回転角度ψを検出し、その回転角度ψを演算装置26へ入力する。モータ28はミラー25を26.4msecの周期で回転させているため、エンコーダ28aが回転角度ψを検出する周期は、26.4msec/360/2≒36.7μsecとなる。なお、ミラー25は表裏が同様に鏡面状に形成されており、表裏の区別が無い。従って、ミラー25の回転角度ψ=0°の場合と回転角度ψ=180°の場合とでは、ミラー25は全く同じ状態になっているとみなせる。従って、演算装置26は、エンコーダ28aが検出する回転角度がψ=180°となると、回転角度ψ=0°と判定する。
【0025】
レーザレンジセンサ20が起動すると、まず、制御部26aはエンコーダ28aが検出したミラー25の回転角度ψを読み取り(ステップS2)、読取った回転角度ψが0°であるか否かを判定する(ステップS4)。回転角度ψが0°で無い場合(ステップS4でNO)は、制御部26aは、回転角度ψが0°となるまでステップS2とステップS4を繰り返し実施する。一方、回転角度ψが0°であると判定する(ステップS4でYES)と、その旨を示すデータMをUSBケーブル60に出力し、ステップS6に進む。なお、USBケーブル60に出力されたデータMは制御装置52に入力される。
【0026】
ステップS6に進むと、記憶部26dが現在の回転角度ψが0°であることを記憶する。記憶部26dに回転角度ψ=0°であることを記憶するのとほぼ同時に、制御部26aはレーザ光源24aをパルス駆動させる(ステップS8)。これにより、レーザ光源24aからレーザ光がパルス的に出射される。
ステップS8でレーザ光源24aを駆動させると、それと同時に制御部26aはカウント部26cでカウントされている時間データjを読み取る(ステップS10)。読み取った時間データjは記憶部26dに記憶される。その際、記憶部26dは、時間データjをステップS6で記憶した回転角度ψと関連付けて記憶する。
【0027】
次に、センシング部26bが、受光素子24bがONしたか否かを判定する(ステップS12)。すなわち、ステップS8でレーザ光源24aからレーザ光が出射されると、そのレーザ光はレンズ部24cを通って距離測定ユニット24の外部へ出射される。距離測定ユニット24の外部に出射されたレーザ光は、ψ=180°の方向からミラー25(詳細には、回転軸23近傍部分(以下、レーザ原点23aという))に入射する。ミラー25に入射したレーザ光は、ミラー25に対する入射角と、ミラー25からの出射角が等しくなるように反射される。上述したとおり、距離測定ユニット24は固定されている。一方、ミラー25は回転軸23を中心に回転する。従って、ミラー25で反射したレーザ光の反射方向は、ミラー25の回転角度ψによって決まる。ミラー25で反射したレーザ光の反射方向を、図3における角度φで表すと、φ=2ψが成立する。
上述の計算式から明らかなように、ミラー25の回転角度ψが0°〜90°の場合にはレーザの出射角度φは0°〜180°となる。また、回転角度ψが90°〜180°の場合には、ステップS4の判定によって、レーザ光源24aからレーザが出射されない。従って、レーザ光源24aから出射されたレーザ光は、角度φ=0°〜180°となる方向へ反射される。
【0028】
ミラー25のレーザ原点23aで反射されたレーザ光は、樹脂部材27に入射する。樹脂部材27は、上述の通り、ミラー25の回転軸23を中心とした半円状に形成されており、また、波長900nm前後の光を透過する。従って、レーザ原点23aで反射したレーザ光は樹脂部材27に対して垂直に入射し、樹脂部材27内を透過して外部に出射される。すなわち、レーザレンジセンサ20から水平角度φとなる方向へレーザ光が出射される。
【0029】
レーザレンジセンサ20からレーザ光が出射された方向に物体が存在すると、その物体にレーザ光が照射され、その物体によってレーザ光の乱反射が起きる。乱反射したレーザ光の一部は、レーザレンジセンサ20内に戻ってミラー25によって反射され、距離測定ユニット24のレンズ部24cを介して受光素子24bに導かれる。受光素子24bに導かれる光は、レーザ光源24aからのレーザ光が乱反射された光であるため、その波長は900nm前後である。受光素子24bは900nm前後の波長の光に対して高感度であるので、受光素子24bが乱反射されたレーザ光を受けるとONする。一方、レーザレンジセンサ20からレーザ光が出射された方向に物体が存在しないと、物体によるレーザ光の乱反射が生じないため、受光素子24bはONしない。したがって、ステップS12で、制御部26aは受光素子24bがONしたか否かを判定する。
【0030】
受光素子24bがONした場合(すなわち、受光素子24bの出力信号をセンシング部26bが検出した場合(ステップS12でYES))、制御部26aは、受光素子24bがONしたことを検出すると同時に、カウント部26cでカウントされている時間データkを読み取り、読み取った時間データkを記憶部26dに記憶する(ステップS14)。その際、記憶部26dには、読取った時間データkをステップS6で記憶された回転角度ψと関連付けて記憶される。すなわち、記憶部26dには、回転角度ψ及び時間データj及び時間データkとによって構成される距離データAが記憶される。
受光素子24bがONしていない場合(ステップS12でNO)は、制御部26aはステップS8を実行してからの経過時間が所定時間(エンコーダ28aが回転角度ψを検出する周期である36.7μsecよりも短い時間に設定されている。)を経過したか否かを判定する(ステップS16)。所定時間を経過していない場合(ステップS16でNO)は、ステップS12に戻って、ステップS12からの処理を繰返す。一方、所定時間を経過している場合(ステップS16でYES)は、制御部26aはレーザ光を出射した方向に物体が存在しないと判定し、ステップS10で記憶した時間データjを記憶部26dから消去して、ステップS6で記憶したミラー25の回転角度ψについての距離データAをL(=レーザレンジセンサ20の検出限界距離)とする(ステップS18)。
【0031】
ステップS20に進むと、制御部26aはエンコーダ28aが再びミラー25の回転角度ψを検出するまで待機し、エンコーダ28aが回転角度ψを検出すると、制御部26aがその回転角度ψを読み取る(ステップS20)。次いで、制御部26aはステップS20で読み取った回転角度ψが、90.5°であるか否かを判定する(ステップS22)。回転角度ψが90.5°で無い場合(ステップS22でNO)は、ステップS6に戻って、ステップS6からの処理が実行される。これにより、記憶部26dにはステップS20で読取った回転角度ψについての距離データAが記憶されることとなる。
【0032】
以上のように、回転角度ψ=90.5°となるまでは、演算装置26によってステップS6〜ステップS22が繰り返し実行される。上述の処理は、回転角度ψ=0°からψ=90°の間で0.5°ピッチで実行される。上述の通り、ミラー25の回転角度ψと、レーザ光の放出角度φはφ=2ψの関係である。従って、レーザ光は、φ=0°から180°の間で1°ピッチでレーザレンジセンサ20から出射されて、そのたびに距離データAの測定が実行される。
【0033】
回転角度ψ=90.5°となった場合(ステップS22でYES)は、演算部26eが、記憶部26dに記憶されている各距離データAを用いて、レーザレンジセンサ20からレーザを出射した水平角度φと、レーザレンジセンサ20からレーザ光が照射された物体までの距離dを算出する(ステップS24)。すなわち、角度φは、上述した通り、φ=2ψによって求められる。距離dは、時間データjと時間データkの時間差によって求められる(具体的には、d=(k−j)/c(c=光速)となる)。
演算部26eは、記憶部26dに記憶されている全ての距離データAに対して上記の演算を実行し、角度φ及び距離dによって構成される距離データBに変換する。変換された各距離データBは記憶部26dに記憶される。
【0034】
ステップS26に進むと、ステップS24で変換された全ての距離データBが、USBケーブル60を介して制御装置52に出力される(ステップS26)。距離データBが制御装置52へ転送されると、演算部26eは、記憶部26dに記憶されている各距離データA及び各距離データBを消去する(ステップS28)。
【0035】
ステップS24〜S28を実行している間も、モータ28によってミラー25は回転されている。ステップS24〜S28の処理は、ミラー25が回転角度ψ=90.5°からψ=180°(すなわちψ=0°)となるまでの間に実行されて終了する。ステップS28が終了した後も、ミラー25は回転され、その間も、制御部26aはエンコーダ28aによってミラー25の回転角度ψを検出し(ステップS30)、ミラー25の回転角度ψが180°となったか否かを判定する(ステップS32)。ミラー25の回転角度ψが180°とならない場合(ステップS32でNO)はステップS30に戻り、ミラー25の回転角度ψ=180°となる(ステップS32でYES)と、制御部26aは、ψ=180°をψ=0°とし(ステップS33)、ステップS6に戻って、ステップS6からの処理が再び実行される。なお、ステップS32においてもステップS4と同様に、制御部26aは、ψ=0°とすると、その旨を示すデータMをUSBケーブル60を介して制御装置52に出力する。
【0036】
以上の説明から明らかなように、レーザレンジセンサ20は、ミラー25の回転角度ψが0°〜90°の期間にステップS6〜S22を繰り返し実行する。これによって、レーザ原点23aから水平角度φ=0°〜180°の方向へレーザ光を出射し、距離データAが測定される。また、ミラー25の回転角度ψが90°〜180°の期間にステップS24〜S26を実行して、距離データBを算出し、各距離データBを制御装置52へ転送する。レーザレンジセンサ20が、距離データAの測定と、距離データBの算出と、距離データBの転送を繰り返し実行することによって、所定周期で制御装置52へ距離データBが転送される。
【0037】
また、レーザレンジセンサ20は、距離データを測定している間も、回転装置30によって鉛直方向に回転されている。回転装置30によって回転されることによって、レーザレンジセンサ20がレーザを出射する鉛直角度θが変更される。従って、レーザレンジセンサ20は、鉛直角度θを変更しながら水平角度φ=0°〜180°の範囲内で距離データを測定することとなる。従って、回転装置30によって鉛直角度θの回転範囲を変更することで、レーザレンジセンサ20の測定範囲を変更することができる。
【0038】
(B−3)制御装置52の構成
制御装置52は、CPU,ROM,RAMを備えたマイクロプロセッサ等によって構成されている。制御装置52は、レーザレンジセンサ20とUSBケーブル60によって接続され、また、回転装置30及び制御装置14と電気的に接続されている。
図2に示すように、制御装置52は、レーザレンジセンサ20から入力される距離データB等を用いて3次元距離データを算出する演算部52aと、回転装置30を制御する回転制御部52bと、レーザレンジセンサ20から入力される距離データを記憶する記憶部52cを有する。
【0039】
回転制御部52bは、図7に示す回転軌道70と、図8に示す回転軌道72を記憶している。回転制御部52bは、所定の時間間隔で回転軌道70と72とを交互に選択し、選択した回転軌道に基づいて回転装置30に制御指令値を出力する。これにより、回転装置30は、選択された回転軌道でレーザレンジセンサ20を回転させる。
【0040】
図7に示す回転軌道70は、自律移動装置10の進行方向の空間形状を広範囲にわたって測定するための回転軌道である。図示するように、回転軌道70では、回転中心がθ=0°、上方最大角度がθ=W1、下方最大角度がθ=−W1に決定されている。従って、回転軌道70では、レーザレンジセンサ20がθ=W1〜−W1の角度範囲を往復するように回転される。これによって、θ=W1〜−W1の角度範囲にレーザが出射され、その角度範囲の空間の形状が測定される。また、回転軌道70は、θが上方最大角度W1及び下方最大角度−W1となるタイミングの前後の期間Dでは回転角加速度dθ/dt2が一定となるように、その他の期間Eでは回転角速度dθ/dtが一定となるように決定されている。
【0041】
図8に示す回転軌道72は、自律移動装置10の進行方向の床面の形状を測定するための回転軌道である。回転軌道72は、水平な床面を基準平面とし、その基準平面上にレーザを照射する目標位置(時間の関数で与えられる)を設定し、その設定した目標位置にレーザが照射されるように決定されている。回転軌道72の詳細について説明する前に、レーザレンジセンサ20と、レーザレンジセンサ20からのレーザが床面(基準平面)に照射される位置(目標位置)との位置関係について説明する。
【0042】
図10は路面形状測定時の3次元測定装置18を側面から見た図である。図10に示すように、路面形状測定時においてレーザレンジセンサ20は、回転軸32を中心に鉛直角度θ<0の範囲を回転する。ベクトルKは、レーザ原点23aから出射されるレーザの出射方向を示している。また、点74は、レーザ原点23aからレーザが出射されたときに、レーザが照射される床面(基準平面)上の位置を示している。すなわち、点74は、レーザレンジセンサ20が床面上にレーザを照射するときの目標位置である。ベクトルJは、レーザ原点23aと回転軸32との相対位置を示している。すなわち、レーザ原点23aは、回転軸32から角度α(レーザレンジセンサ20に対する角度α)の方向であって、距離Jとなる位置にある。また、回転軸32は床面から高さHの位置にある。
目標位置74は、レーザレンジセンサ20の鉛直角度θを変更することによって、X方向に移動する。回転軸32から目標位置74までのX方向の距離Xは、鉛直角度θによって決まる。図10に示すように、レーザ原点23aの床面からの高さH23aは、H−Jsin(θ+α)となっている。また、レーザ原点23aから目標位置74までのX方向の距離X23aは、X−Jcos(θ+α)となっている。従って、回転軸32から目標位置74までのX方向における距離Xと鉛直角度θは、以下の関係となっている。
【0043】
【数1】
【0044】
次に、回転軌道72について説明する。回転軌道72は、目標位置74が図9に示す軌道でX方向に移動するように決定されている。すなわち、目標位置74の軌道は、距離X=X1となる位置から距離X=X2(<X1)となる位置を往復するように決定されている。したがって、回転軌道72は、距離X1に対応する角度−W2から距離X2に対応する角度−W3の間を往復するように決定されている。角度−W2は上述の関係式[数1]とX1に基づいて、角度−W3は関係式[数1]とX2に基づいて算出されている。
また、回転軌道72は、図8に示すように、期間Fにおける回転軌道と、期間Gにおける回転軌道とによって構成されている。
【0045】
期間Gにおける回転軌道72は、図9に示すように、目標位置74が一定速度dX/dtでX方向に移動するように決定されている。すなわち、期間Gにおける目標位置74の軌道は、時間tの一次関数f(t)となっている。期間Gにおける回転軌道72は、一次関数f(t)と、上述の関係式[数1]に基づいて決定されている。これによって、図8に示すように、期間Gにおける回転軌道72は、レーザレンジセンサ20から床面上のレーザが走査される位置(すなわち、目標位置74)までの距離Xが長くなるのに従って(すなわち、距離XがX1に近づくにしたがって)、回転角速度が遅くなるように決定されている。
以上に説明したように、回転軌道72は、期間Gにおいては目標位置74が一定速度でX方向に移動するように決定されている。また、上述したように、レーザレンジセンサ20は一定周期(本実施例では、ミラー25の回転周期の半分である13.2msec)でレーザを走査する。したがって、期間Gにおいては、図11に示すように床面にレーザが等間隔で走査される。したがって、回転制御部52bが回転軌道72に従って回転装置30を制御することで、均一な解像度で床面の形状を測定することができる。また、図12は、レーザレンジセンサ20が図11のXII−XII線の方向にレーザを出射するときの様子を示している。図12に示すように、レーザ照射位置までの距離が長くなるにしたがって回転角速度を遅くする(すなわち、図12の角度ピッチを小さくする)ことで、レーザ照射位置(レーザの走査線)の間隔ΔXが等しくなる。このように、回転軌道72を用いると、期間Gにおいては、床面にレーザが等間隔で走査されるので、レーザレンジセンサ20によって床面の距離データが均一な解像度で取得される。なお、図12では、レーザ原点23aの位置と回転軸32の位置が非常に近いので、同一の点として示している。
【0046】
期間Fにおける回転軌道72は、図9に示すように、目標位置74が一定加速度で速度を変化させ、移動方向を変えるように決定されている。すなわち、期間Gにおける目標位置74の軌道は、時間tの二次関数g(t)となっている。期間Fにおける回転軌道72は、二次関数g(t)と、上述の[数1]に基づいて算出されている。
【0047】
演算部52aは、制御装置14から入力される自律移動体16の位置及び進行方向と、記憶部52cに記憶されている距離データBと、鉛直角度θから3次元距離データを算出して3次元マップを生成する。演算部52aが算出した3次元マップは、制御装置14へ出力される。
【0048】
図10及び図13〜図15を用いて、演算部52aの動作について説明する。図14に示すように、自律移動装置10は水平な平面上に置かれた状態で起動される。図14の位置Aは、自律移動装置10が起動された時の位置である。
図13に示すように、自律移動装置10が起動されると、まず、演算部52aが原点の設定を行う(ステップS34)。すなわち、演算部52aは、起動時の位置(図14における位置A)を原点に設定する(詳細には、自律移動装置10の回転軸32上の中点34(基準点34)を原点に設定する)。また、演算部52aは、起動時の自律移動装置10のX方向をx軸、Y方向をy軸、Z方向をz軸としたxyz座標系を設定する。
【0049】
自律移動装置10が起動すると、レーザレンジセンサ20が距離データの取得を開始するとともに、レーザレンジセンサ20が回転装置30によって回転される。上述したように、レーザレンジセンサ20は、USBケーブル60を介して演算部52aにデータM(すなわち、レーザレンジセンサ20のミラー25の回転角度ψが0°である旨を示すデータ)を出力する(ステップS36)。
【0050】
演算部52aにデータMが入力されると、演算部52aは回転装置30が検出する鉛直角度θを読取る(ステップS38)。鉛直角度θの読み取りは、データMの入力と略同時に行われる。従って、演算部52aが読取る鉛直角度θは、レーザレンジセンサ20がφ=0°の方向にレーザを出射したときの鉛直角度θである。
【0051】
また、演算部52aは、自律移動体16の制御装置14から、自律移動装置10の位置(a,b)及び向きVを読取る(ステップS42)。既に説明したように、位置(a,b)は基準点34を基準に算出され、上述のxyz座標系におけるx座標、y座標によって表されており、向きVはx軸に対する角度Rによって表されている。なお、ステップS42で読取った位置(a,b)及び角度Rは、レーザレンジセンサ20がφ=0°の方向にレーザを出射したときのものとなる。
【0052】
上述したように、レーザレンジセンサ20は、データMを出力すると、φ=0°〜180°の間にレーザ光を走査させて、各出射角度φにおける距離データAを取得する。そして、φ=0°〜180°における全ての距離データAを取得した後に、各距離データAから距離データBを算出する。レーザレンジセンサ20は各距離データBを算出すると、それらの距離データBをUSBケーブル60を介して制御装置52に出力する。制御装置52に入力された各距離データBは記憶部52cに入力される(ステップS44)。
【0053】
記憶部52cに各距離データBが入力されると、演算部52aは、距離データBと、位置(a,b)と、角度Rと、鉛直角度θに基づいて、3次元距離データの演算を行う。以下に、3次元距離データの演算方法について説明する。
【0054】
ステップS46では、演算部52aが、記憶部52cに記憶されている各距離データBの中から、演算を行う距離データBを1つ選択する。このとき、演算部52aは、記憶部52cに記憶されている各距離データBの中から、出射角度φが最も小さい距離データBを選択する。
【0055】
ステップS48では、ステップS46で選択した距離データBの出射角度φに基づいて鉛直角度θを補正する。すなわち、ステップS38で演算部52aが読取った鉛直角度θは、出射角度φ=0°の際の鉛直角度θである。レーザレンジセンサ20は、φ=0°からφ=180°までレーザ光を走査している間も、回転装置30によって回転され、鉛直角度θは変更されている。従って、鉛直角度θを用いてφ=0°以外の距離データBを演算すると、演算結果に誤差が生じる。従って、鉛直角度θを補正する。鉛直角度θの補正は以下の計算式によって行われる。
θ’ =θ+(dθ/dt)・td
ここで、θ’ は補正後の鉛直角度であり、dθ/dtはθを検出した時のレーザレンジセンサ20が回転する角速度であり、tdは鉛直角度θが読取られた時間と、距離データBが検出された時間との時間差である。本実施例では、レーザレンジセンサ20がφ=0°〜180°の区間にレーザ光を走査する時間は6.6msecであるので、td=φ/180×6.6となる。
なお、ステップS42で演算部52aが読取った位置(a,b)及び角度Rも、出射角度φ=0°のときのデータである。従って、位置(a,b)及び角度Rを補正するようにしてもよい。ただし、本実施例では、自律移動装置10の移動速度が遅く、レーザレンジセンサ20が距離データを測定する周期の間に自律移動装置10が移動する量が少ないため、位置(a,b)及び角度Rを補正しなくても誤差はほとんど生じない。従って、本実施例では位置(a,b)及び角度Rの補正を行っていない。
【0056】
演算部52aは、鉛直角度θの補正を行うと、レーザレンジセンサ20が出射したレーザ光が照射された物体の、自律移動装置10に対する相対位置を算出する(ステップS50)。
相対位置の算出は、距離データB(すなわち、出射角度φと距離d)と、補正後の鉛直角度θ’を演算することによって行われる。また、相対位置は、自律移動装置10の現在の位置(図14における位置B)における基準点34を原点とし、自律移動装置10の現在の進行方向をx’軸、垂直方向をz’軸、x’軸及びz’軸に直行する方向をy’軸としたx'y’z’座標系によって表される。
相対座標(x’,y’,z’)は、図10、図15に示す基準点34とレーザ原点23aとのオフセットベクトルJと、レーザの発振軌道を示すベクトルKとの和によって求められる。オフセットベクトルJのパラメータ(x’J,y’J,z’J)は、レーザレンジセンサ20と回転装置30との取り付け寸法により決まる定数x’J1及びz’J1 (図10参照)と鉛直角度θ’ によって求めることができる。すなわち、
【0057】
【数2】
【0058】
なお、αは、オフセットベクトルJとベクトルKとがなす角度である。
また、ベクトルKのパラメータ(x’K,y’K,z’K)は、距離d及び出射角度φ及び鉛直角度θ’ によって求めることができる。すなわち、
【0059】
【数3】
【0060】
従って、レーザが照射された物体の自律移動装置10に対する相対座標(x’,y’,z’)は、下記の通りとなる。
【0061】
【数4】
【0062】
演算部52aは、相対座標(x’,y’,z’)を算出すると、相対座標(x’,y’,z’)から、レーザが照射された物体のxyz座標系における絶対座標(x,y,z)を算出する(ステップS52)。絶対座標(x,y,z)は、レーザが照射された物体の絶対位置を示す3次元距離データである。座標(x,y,z)は、座標(x’,y’,z’)を、自律移動装置10の位置(a、b)及び自律移動装置10の進行方向Vとx軸とがなす角度Rを用いて座標変換することで求められる。すなわち、
【0063】
【数5】
【0064】
演算部52aは、3次元距離データ(x,y,z)を算出すると、ステップS34で設定したxyz座標に、算出した3次元距離データ(x,y,z)をプロットする(ステップS54)。3次元距離データ(x,y,z)をプロットすると、演算部52aはステップS46で選択した距離データBを記憶部52cから消去する(ステップS56)。距離データBを記憶部52cから消去すると、演算部52aは記憶部52cに距離データBが存在しているか否かを判定する(ステップS58)。
記憶部52cに距離データBが存在している場合(ステップS58でYES)には、ステップS46に戻って、ステップS46からの処理を実行する。これによって、全ての距離データBについて3次元距離データ(x,y,z)が算出される。一方、記憶部52cに距離データBが存在していない場合(ステップS58でNO)には、演算部52aはプロットした3次元マップを制御装置14へ出力し(ステップ60)、ステップS36に戻り、ステップS36からの処理を実行する。
【0065】
以上の処理によって、記憶部52cに記憶された全ての距離データBから3次元距離データ(x,y,z)が算出される。算出された各3次元距離データ(x,y,z)は、ステップS54によってxyz座標にプロットされる。これによって、xyz空間の形状を表す3次元マップが作成される。
なお、ステップS46〜S60の処理は、レーザレンジセンサ20が各距離データBをUSBケーブル60に出力(図6のステップS26)してから、次の測定期間が開始される(すなわち、図6のステップS32のデータMの出力)までの間に実行される。従って、演算部52aがステップS46〜S60を実行している間に、レーザレンジセンサ20から演算部52aへデータMが入力されることは無い。
【0066】
次に、制御装置14が自律移動装置10の移動方向及び移動速度を制御する処理について、図16を参照して説明する。
自律移動装置10を起動する際には、まず、制御装置14に目的地を入力する(ステップS62)。目的地は、絶対座標系のxy座標値によって指定する。目的地が入力されると、3次元測定装置18が起動する。
【0067】
ステップS63では、3次元測定装置18の制御装置52が、回転装置30の回転軌道を選択する。自律移動装置10の起動後には、制御装置52は回転軌道72を選択する。
【0068】
制御装置52が回転軌道を選択すると、3次元測定装置18が3次元距離データの測定を開始する。これによって、3次元測定装置18から3次元マップが出力され、その3次元マップは制御装置14に入力される(ステップS64)。制御装置14は、入力された3次元マップから、自律移動装置10の現在の位置と目的地の位置から決まる進行方向に障害物が存在するか否か(障害物の位置)を判断する(ステップS66)。なお、上述したように、回転軌道72に従って回転装置30を制御しているときには、床面が平坦で水平であればレーザの走査間隔ΔXが均等となる。したがって、自律移動装置10は、測定されたレーザの照射位置の座標がX方向において等間隔になっていないときは、その位置の詳細な形状を測定することなくそこに障害物や凹凸があるということを認識することができる。
【0069】
目的地方向に障害物が無いと判定する(ステップS66でNO)と、制御装置14はモータ46a〜46dに制御指令値を出力し、自律移動装置10を目的地の方向へ移動させる(ステップS68)。一方、目的地方向に障害物が有ると判定する(ステップS66でNO)と、制御装置14は、障害物を回避する方向に自律移動装置10の進行方向を変更し、その変更した進行方向に自律移動装置10が移動するようにモータ46a〜46dに制御指令値を出力する(ステップS70)。
なお、制御装置14は、自律移動装置10の移動方向に障害物がない場合は、所定速度まで自律移動装置10の移動速度を加速させる。すなわち、自律移動装置10の移動方向に障害物がない場合は、自律移動装置10が移動方向を変化させないため、その移動方向の3次元距離データが十分に得られている。従って、移動速度を加速しても自律移動装置10は障害物に衝突することなく移動することができる。
【0070】
制御装置14がステップS68またはステップS70によって自律移動装置10を移動させると、制御装置14は自律移動装置10が目的地に到着したか否かを判定する(ステップS74)。
自律移動装置10が目的地に到着していないと判定する(ステップS74でNO)と、ステップS64に戻って、ステップS64からの処理を実行する。2回目以降のステップS64では、制御装置52は、回転軌道70と回転軌道72を交互に選択し、選択した回転軌道70又は72に基づいて測定された3次元マップを制御装置14に出力する。したがって、3次元測定装置18は、回転軌道70による3次元形状データの測定(すなわち、広範囲の空間形状の測定)と、回転軌道72による3次元形状データの測定(すなわち、床面形状の測定)とを交互に繰り返し実行する。
自律移動装置10は、目的地に到着したと判定する(ステップS74でYES)と、移動を停止する。
【0071】
以上に説明したように、自律移動装置10は、回転軌道70による3次元形状データの測定と、回転軌道72による3次元形状データの測定とを交互に繰り返し実行する。回転軌道72は、レーザレンジセンサ20から床面上のレーザが走査される位置までの距離が長くなるのに従って、回転角速度が遅くなるように決定されており、これによってレーザを照射する目標位置74が一定速度でX方向に移動するようになっている。したがって、自律移動装置10が回転軌道72に従って回転装置30を駆動すると、床面上に等間隔にレーザが走査されるので、均一な解像度で床面形状を測定することができる。すなわち、床面上の自律移動装置10から遠い位置の形状を解像度が低下することなく測定できる。したがって、自律移動装置10は、床面上の自律移動装置10から離れた位置に小さな障害物があるときにも、その障害物を早期に検出し、障害物を回避する経路を選択することができる。また、均一な解像度で床面形状が測定されるので、均一な解像度の3次元マップを作成することができる。
【0072】
なお、本実施例の自律移動装置では、水平な床面を基準平面とした回転軌道にしたがって回転装置を制御したが、本発明はこのような実施形態に限られず、他の平面を基準平面とした回転軌道で回転装置を制御してもよい。例えば、自律移動装置が壁面近くを移動するときには、壁面を基準平面とした回転軌道にしたがって回転装置を制御することができ、あるいは、自立移動装置が傾斜する床面を走行するときには、傾斜する床面を基準平面とした回転軌道にしたがって回転装置を制御する等、さまざまな平面を基準平面とすることができる。
【0073】
また、上述した自律移動装置では、予め決定された回転軌道で回転装置を制御したが、回転軌道の上方最大角度、下方最大角度を変更した回転軌道を生成することで測定範囲を変更したり、回転周期を変更した回転軌道を生成することで測定の解像度(レーザを走査する間隔ΔX)を変更してもよい。また、空間形状測定によって平面と思われる形状を検出したときには、その平面を基準面とした回転軌道を新たに生成してもよい。例えば、回転軌道70によって計測された床面の形状が略平面に近似できるときは、その近似した平面を基準平面とする回転軌道を制御装置52で生成するようにしてもよい。
【0074】
また、上述した自律移動装置は、車輪走行型の自律移動装置であったが、多足歩行型のロボット等であってもよい。ロボットが歩行する床面の形状を測定することで、床面上のより平坦な位置にロボットの脚部を踏み出させることができる。これによって、ロボットの安定した歩行を担保し、ロボットの転倒等を未然に防止することができる。
【0075】
また、通常時は、回転させずにレーザレンジセンサを起動し、レーザレンジセンサによって障害物が検知された場合にのみレーザレンジセンサを回転させる構成としても良い。これによって、障害物が検知されない状況では短い周期で進行方向の床面形状を測定し、障害物が検知された場合にのみ回転装置によりレーザレンジセンサを回転させて障害物の形状等を測定することができる。
【0076】
また、上述の実施例では、自律移動装置の位置及び移動方向を、エンコーダが検出する車輪の回転量から算出していたが、本発明は、このような実施形態に限られない。例えば、GPS(Global Positioning System)を利用して、自律移動装置の位置及び移動方向を検出しても良い。
【0077】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例をさまざまに変形、変更したものが含まれる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【0078】
【図1】本実施例の自律移動装置10の斜視図。
【図2】本実施例の自律移動装置10のブロック図。
【図3】本実施例のレーザレンジセンサ20の内部構造図。
【図4】距離測定ユニット24の拡大図。
【図5】演算装置26のブロック図。
【図6】演算装置26の処理を示すフローチャート。
【図7】レーザレンジセンサ20の回転軌道70を示すグラフ。
【図8】レーザレンジセンサ20の回転軌道72を示すグラフ。
【図9】回転軌道72に従ってレーザレンジセンサ20を回転したときの、レーザレンジセンサ20の目標位置74の位置を示すグラフ。
【図10】レーザレンジセンサ20のレーザ出射時の説明図。
【図11】回転軌道72に従ってレーザレンジセンサ20を回転したときの、レーザ走査線の説明図。
【図12】回転軌道72に従ってレーザレンジセンサ20を回転したときの、レーザの照射位置の説明図。
【図13】演算部52aの処理を示すフローチャート。
【図14】自律移動装置10の動きを示す斜視図。
【図15】レーザレンジセンサ20の上面図。
【図16】制御装置14の処理を示すフローチャート。
【符号の説明】
【0079】
10:自律移動装置
14:制御装置
16:自律移動体
18:3次元測定装置
20:レーザレンジセンサ
23:回転軸
23a:レーザ原点
24:距離測定ユニット
24a:レーザ光源
24b:受光素子
24c:レンズ部
24d:筐体
25:ミラー
26:演算装置
26a:制御部
26b:センシング部
26c:カウント部
26d:記憶部
26e:演算部
27:樹脂部材
28:モータ
28a:エンコーダ
30:回転装置
32:回転軸
34:基準点
35:フレーム
37:モータ
38:エンコーダ
40:4輪台車
42:台車本体
44a〜44d:車輪
46a〜46d:モータ
48a〜48d:エンコーダ
52:制御装置
52a:演算部
52b:回転制御部
52c:記憶部
70:回転軌道
72:回転軌道
74:目標位置
【特許請求の範囲】
【請求項1】
障害物を回避しながら目標地点まで移動する自律移動装置であり、
所定周期で光線を走査軸周りに走査することで光線が走査された走査線上の距離データを測定する距離測定装置と、
距離測定装置が取付けられ、距離測定装置を走査軸及び自律移動装置の進行方向と直交する回転軸周りに回転させる回転装置と、
回転装置が搭載される移動体と、
回転装置の回転角を検出するセンサと、
距離測定装置から入力される距離データとセンサから入力される回転角を用いて3次元距離データを演算する演算装置と、
回転装置の回転軸周りの回転運動を制御する回転制御装置と、
演算装置で演算された3次元距離データを用いて移動体の移動方向及び移動速度を制御する移動体制御装置と、を有しており、
回転制御装置は、距離測定装置から基準平面に向けて光線を走査する場合に、その基準平面上の距離測定装置から遠い位置に光線を走査するときは、その基準平面上の距離測定装置から近い位置に光線を走査するときに比べて遅い角速度で回転装置を回転させることを特徴とする自律移動装置。
【請求項2】
回転制御装置の回転軌道は、距離測定装置から基準平面上の光線が走査される位置までの距離が長くなるのに従って、回転装置の回転角速度が遅くなるように決定されていることを特徴とする請求項1に記載の自律移動装置。
【請求項3】
回転制御装置は、自律移動装置が移動する床面に相当する平面を基準平面として回転装置を制御することを特徴とする請求項1または2に記載の自律移動装置。
【請求項4】
回転制御装置の回転軌道は、距離測定装置の各周期において基準平面上に走査される光線の走査線の間隔が等間隔となるように決定されていることを特徴とする請求項1〜3のいずれかに記載の自律移動装置。
【請求項1】
障害物を回避しながら目標地点まで移動する自律移動装置であり、
所定周期で光線を走査軸周りに走査することで光線が走査された走査線上の距離データを測定する距離測定装置と、
距離測定装置が取付けられ、距離測定装置を走査軸及び自律移動装置の進行方向と直交する回転軸周りに回転させる回転装置と、
回転装置が搭載される移動体と、
回転装置の回転角を検出するセンサと、
距離測定装置から入力される距離データとセンサから入力される回転角を用いて3次元距離データを演算する演算装置と、
回転装置の回転軸周りの回転運動を制御する回転制御装置と、
演算装置で演算された3次元距離データを用いて移動体の移動方向及び移動速度を制御する移動体制御装置と、を有しており、
回転制御装置は、距離測定装置から基準平面に向けて光線を走査する場合に、その基準平面上の距離測定装置から遠い位置に光線を走査するときは、その基準平面上の距離測定装置から近い位置に光線を走査するときに比べて遅い角速度で回転装置を回転させることを特徴とする自律移動装置。
【請求項2】
回転制御装置の回転軌道は、距離測定装置から基準平面上の光線が走査される位置までの距離が長くなるのに従って、回転装置の回転角速度が遅くなるように決定されていることを特徴とする請求項1に記載の自律移動装置。
【請求項3】
回転制御装置は、自律移動装置が移動する床面に相当する平面を基準平面として回転装置を制御することを特徴とする請求項1または2に記載の自律移動装置。
【請求項4】
回転制御装置の回転軌道は、距離測定装置の各周期において基準平面上に走査される光線の走査線の間隔が等間隔となるように決定されていることを特徴とする請求項1〜3のいずれかに記載の自律移動装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【公開番号】特開2008−20370(P2008−20370A)
【公開日】平成20年1月31日(2008.1.31)
【国際特許分類】
【出願番号】特願2006−193356(P2006−193356)
【出願日】平成18年7月13日(2006.7.13)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
【公開日】平成20年1月31日(2008.1.31)
【国際特許分類】
【出願日】平成18年7月13日(2006.7.13)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【Fターム(参考)】
[ Back to top ]