(57)【要約】【課題】本発明は、測定面上の距離測定装置から遠い位置の形状を測定する際にも解像度の低下を抑制することができる自律移動装置を提供することを目的とする。【解決手段】本発明の自律移動装置１８は、距離データを測定するレーザレンジセンサ２０と、レーザレンジセンサ２０を回転させる回転装置３０と、回転装置３０が搭載される移動体１６と、回転装置３０の回転角を検出するエンコーダ３８と、レーザレンジセンサ２０とエンコーダ３８から入力されるデータを用いて３次元距離データを演算する演算部５２ａと、回転装置３０を制御する回転制御部５２ｂを有しており、回転制御部５２ｂは、床面形状測定時に、床面上のレーザレンジセンサ２０から遠い位置にレーザを走査するときは、床面上のレーザレンジセンサ２０から近い位置にレーザを走査するときに比べて遅い角速度で回転装置３０を回転させる。【選択図】図１２
2008020370.tif 000002
【特許請求の範囲】
【請求項１】
障害物を回避しながら目標地点まで移動する自律移動装置であり、
所定周期で光線を走査軸周りに走査することで光線が走査された走査線上の距離データを測定する距離測定装置と、
距離測定装置が取付けられ、距離測定装置を走査軸及び自律移動装置の進行方向と直交する回転軸周りに回転させる回転装置と、
回転装置が搭載される移動体と、
回転装置の回転角を検出するセンサと、
距離測定装置から入力される距離データとセンサから入力される回転角を用いて３次元距離データを演算する演算装置と、
回転装置の回転軸周りの回転運動を制御する回転制御装置と、
演算装置で演算された３次元距離データを用いて移動体の移動方向及び移動速度を制御する移動体制御装置と、を有しており、
回転制御装置は、距離測定装置から基準平面に向けて光線を走査する場合に、その基準平面上の距離測定装置から遠い位置に光線を走査するときは、その基準平面上の距離測定装置から近い位置に光線を走査するときに比べて遅い角速度で回転装置を回転させることを特徴とする自律移動装置。
【請求項２】
回転制御装置の回転軌道は、距離測定装置から基準平面上の光線が走査される位置までの距離が長くなるのに従って、回転装置の回転角速度が遅くなるように決定されていることを特徴とする請求項１に記載の自律移動装置。
【請求項３】
回転制御装置は、自律移動装置が移動する床面に相当する平面を基準平面として回転装置を制御することを特徴とする請求項１または２に記載の自律移動装置。
【請求項４】
回転制御装置の回転軌道は、距離測定装置の各周期において基準平面上に走査される光線の走査線の間隔が等間隔となるように決定されていることを特徴とする請求項１〜３のいずれかに記載の自律移動装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、障害物を回避しながら目標地点まで移動する自律移動装置に関する。
【背景技術】
【０００２】
空間の形状を３次元で測定する３次元測定装置が知られている。この３次元測定装置は、光線を走査軸周りに走査することにより光線が走査された走査線上の距離データを測定する距離測定装置と、距離測定装置を走査軸と直交する回転軸周りに一定の角速度で回転させる回転装置と、距離測定装置で得られた距離データと回転装置の回転角を用いて３次元距離データを演算する演算装置を有している。
この測定装置では、距離測定装置が光線を照射しながら光線を照射する方向を走査軸周りで変化させる。距離測定装置は、各照射角度において光線を照射し、光線を照射した方向に物体が存在するか否かを検出する。光線を照射した方向に物体が存在する場合には、その物体までの距離を測定する。すなわち、距離測定装置は、光線を照射した走査軸周りの角度と物体までの距離によって表される２次元距離データを測定する。２次元距離データの測定と同時に、回転装置が回転軸回りに距離測定装置を回転させ、距離測定装置による光線の照射方向が回転軸周りで変更される。その際、回転装置による回転軸周りの回転角（すなわち、距離測定装置が光線を照射した回転軸周りの角度）がセンサによって検出される。光線を照射した走査軸周りの角度と回転軸周りの角度が分かれば、光線を照射した方向を特定することができる。このため、演算装置は、距離測定装置で測定された２次元距離データとセンサで検出された回転装置の回転角とを用いて３次元距離データを演算する。
なお、特許文献１には、光線を走査軸周りに走査することで光線が走査された走査線上の距離データを測定する距離測定装置を用いて空間の３次元形状を測定する技術が開示されている。特許文献１の技術では、鉄道車両上に距離測定装置を設置し、距離測定装置によって２次元距離データを測定するとともに、鉄道車両を移動させることによって、空間の３次元形状を測定している。
【０００３】
【特許文献１】特開２００５−６９７００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この種の３次元測定装置を搭載した自律移動装置が知られている。このような自律移動装置では、自律移動装置の進行方向の床面等の３次元形状の測定を行うことがある。例えば、自律移動装置は、進行方向の床面形状を計測することで進行方向にある障害物を検出し、床面を安全に移動することができる。
一方、自律移動装置では、通常、距離測定装置が走査軸及び自律移動装置の進行方向と直交する回転軸周りに一定の角速度で回転される。このように、距離測定装置を回転軸周りに一定の角速度で回転させて平面の形状を測定すると、平面上の距離測定装置から遠い位置では光線が走査される間隔が広くなり、測定の解像度が低下する。このため、自律移動装置から遠い位置にある障害物を早期に検出することができない。このように、従来の自律移動装置では、平面上の距離測定装置から遠い位置の形状を測定する際に解像度が低下するという問題があった。
【０００５】
本発明は、上記した実情に鑑みてなされたものであり、測定面上の距離測定装置から遠い位置の形状を測定する際にも解像度の低下を抑制することができる自律移動装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の自律移動装置は、所定周期で光線を走査軸周りに走査することで光線が走査された走査線上の距離データを測定する距離測定装置と、距離測定装置が取付けられ、距離測定装置を走査軸及び自律移動装置の進行方向と直交する回転軸周りに回転させる回転装置と、回転装置が搭載される移動体と、回転装置の回転角を検出するセンサと、距離測定装置から入力される距離データとセンサから入力される回転角を用いて３次元距離データを演算する演算装置と、回転装置の回転軸周りの回転運動を制御する回転制御装置と、
演算装置で演算された３次元距離データを用いて移動体の移動方向及び移動速度を制御する移動体制御装置とを有している。そして、回転制御装置が、距離測定装置から基準平面に向けて光線を走査する場合に、その基準平面上の距離測定装置から遠い位置に光線を走査するときは、その基準平面上の距離測定装置から近い位置に光線を走査するときに比べて遅い角速度で回転装置を回転させることを特徴とする。
この自律移動装置では、回転制御装置が、基準平面上の距離測定装置から遠い位置に光線を走査するときは、その基準平面上の距離測定装置から近い位置に光線を走査するときに比べて遅い角速度で回転装置を回転させる。従って、回転装置を一定の角速度で回転させる場合と比較して、基準平面上の距離測定装置から遠い位置に光線を走査する場合にも、光線が走査される間隔が広くなることが抑えられ、解像度の低下を抑制することができる。
ここで、「基準平面」とは、自律移動装置により形状を測定する対象として設定された平面をいう。したがって、測定対象として設定された平面と実際に測定する平面とは異なっていてもよい。例えば、自律移動装置が水平な床面の形状を測定すると設定された場合において、自律移動装置が実際に測定する床面が傾斜していてもよい。この場合、回転制御装置は実際に測定する平面の形状によっては、距離測定装置からの距離が遠くなるにつれて、光線が走査される間隔が広く（又は狭く）なることがある。なお、「基準平面」の設定方法としては、回転装置を回転軸周りに等角速度で回転させて測定した平面を「基準平面」として設定してもよい。例えば、自律移動装置が傾斜した床面を測定する場合、まず、回転装置を回転軸周りに等角速度で回転させて床面を測定し、その測定結果から床面の傾斜角を算出し、その算出された傾斜角で傾く床面を「基準平面」とする。
【０００７】
上述の自律移動装置は、回転制御装置の回転軌道が、距離測定装置から基準平面上の光線が走査される位置までの距離が長くなるのに従って、回転装置の回転角速度が遅くなるように決定されていることが好ましい。
このような構成によれば、距離測定装置から基準平面上の光線が走査される位置までの距離に応じて回転速度が制御されるため、基準平面上に適切に光線を走査することができる。
【０００８】
上述の自律移動装置は、回転制御装置が、自律移動装置が移動する床面に相当する平面を基準平面として回転装置を制御することが好ましい。
このような構成によれば、距離測定装置によって自律移動装置が移動する床面形状が測定されるため、自律移動装置は安全に床面上を移動することができる。
【０００９】
上述の自律移動装置は、回転制御装置の回転軌道は、距離測定装置の各周期において基準平面上に走査される光線の走査線の間隔が等間隔となるように決定されていることが好ましい。
このような構成によれば、基準平面に対して等間隔に光線が走査されるため、基準平面に対応する平面の形状を均一な解像度で測定することができる。
【発明を実施するための最良の形態】
【００１０】
下記に詳細に説明する実施例の主要な特徴を最初に列記する。
（形態１）自律移動装置は、自律移動体と、自律移動体上に搭載された３次元測定装置によって構成されている。
（形態２）３次元測定装置は、レーザを走査軸周りに走査することでレーザが走査された走査面上の距離データを測定するレーザレンジセンサと、レーザレンジセンサが取付けられ、レーザレンジセンサを走査軸と直交するピッチ軸周りに回転させる回転装置と、回転装置の回転角を検出するセンサと、レーザレンジセンサから入力される距離データとセンサから入力される回転角を用いて３次元距離データを演算する演算装置と、回転装置の回転軸周りの回転運動を制御する回転制御装置を有している。
（形態３）回転制御装置は、レーザレンジセンサから基準平面に向けてレーザを走査する場合に、その基準平面上のレーザレンジセンサから遠い位置に光線を走査するときは、その基準平面上のレーザレンジセンサから近い位置に光線を走査するときに比べて遅い角速度で回転装置を回転させる。
（形態４）回転制御装置の回転軌道は、レーザレンジセンサから基準平面上のレーザが走査される位置までの距離が長くなるのに従って、回転装置の回転角速度が遅くなるように決定されている。
（形態５）回転制御装置の回転軌道は、距離測定装置の各周期において基準平面上に走査される光線の走査線の間隔が等間隔となるように決定されている。
（形態６）回転制御装置は、自律移動装置が移動する床面に相当する平面を基準平面として回転装置を制御する。
（形態７）自律移動体は、４つの車輪を駆動することによって移動する４輪台車と、４輪台車の車輪の回転数を制御することによって４輪台車の移動方向及び移動速度を制御する移動体制御装置によって構成されている。
【実施例】
【００１１】
本発明の一実施例に係る自律移動装置について図面を参照して説明する。図１及び図２に示す自律移動装置１０は、空間の３次元形状を測定することで障害物を検知し、障害物を回避しながら床面上を走行する。なお、以下では、自律移動装置１０の進行方向をＸ方向、鉛直方向をＺ方向、Ｘ方向及びＺ方向に直行する方向をＹ方向という。自律移動装置１０は、自律移動体１６と、自律移動体１６上に搭載された３次元測定装置１８によって構成されている。
【００１２】
（Ａ）自律移動体１６の構成
自律移動体１６は、４輪台車４０と、４輪台車４０を制御する制御装置１４によって構成されている。
４輪台車４０は、台車本体４２と、台車本体４２を支持する４つの車輪４４ａ〜４４ｄによって構成されている。台車本体４２上には、３次元測定装置１８が搭載されている。車輪４４ａ〜４４ｄにはモータ４６ａ〜４６ｄが接続されている。モータ４６ａ〜４６ｄが回転すると、車輪４４ａ〜４４ｄが回転し、自律移動装置１０は移動する。車輪４４ａ〜４４ｄの回転速度を調節することによって自律移動装置１０の移動速度を調節でき、左右の車輪４４ａ〜４４ｄの回転速度を変えることで自律移動装置１０の移動方向を変更することができる。モータ４６ａ〜４６ｄにはエンコーダ４８ａ〜４８ｄがそれぞれ接続され、エンコーダ４８ａ〜４８ｄによって各モータ４６ａ〜４６ｄの回転量ｏ、ｐ、ｑ、ｒ（すなわち、車輪の回転量）が検出される。エンコーダ４８ａ〜４８ｄは、制御装置１４に電気的に接続されている。エンコーダ４８ａ〜４８ｄで検出した車輪の回転量ｏ、ｐ、ｑ、ｒは制御装置１４に入力される。
制御装置１４は、ＣＰＵ，ＲＯＭ，ＲＡＭを備えたマイクロプロセッサ等によって構成されている。制御装置１４は、台車本体４２に搭載されており、モータ４６ａ〜４６ｄ及びエンコーダ４８ａ〜４８ｄと電気的に接続されている。制御装置１４には図示しない入力装置が接続され、入力装置によって制御装置１４に目的地が設定（入力）される。また、制御装置１４は、後述する３次元測定装置１８の制御装置５２と電気的に接続されている。後で詳述するが、３次元測定装置１８の制御装置５２は３次元マップを算出し、３次元マップは制御装置１４へ入力される。制御装置１４は、入力された３次元マップ及び目的地に基づいて、モータ４６ａ〜４６ｄの目標回転速度を算出する。そして、エンコーダ４８ａ〜４８ｄから入力される回転量ｏ、ｐ、ｑ、ｒに基づいて算出される各モータ４６ａ〜４６ｄの回転速度と、算出された目標回転速度との差に基づいて、各モータ４６ａ〜４６ｄに制御指令値を入力する。各モータ４６ａ〜４６ｄは、入力された制御指令値に基づいて駆動するので、自律移動装置１０は目的地に向かって移動する。
また、制御装置１４は、エンコーダ４８ａ〜４８ｄから入力される回転量ｏ，ｐ，ｑ，ｒに基づいて自律移動体１６の位置及び進行方向を算出し、算出された自律移動体１６の位置及び進行方向を制御装置５２に入力する。
【００１３】
（Ｂ）３次元測定装置１８の構成
３次元測定装置１８は、レーザレンジセンサ２０と、レーザレンジセンサ２０を回転させる回転装置３０と、制御装置５２によって構成されている。回転装置３０及び制御装置５２は、４輪台車４０上に設置されている。レーザレンジセンサ２０は、回転装置３０上に取付けられている。
【００１４】
（Ｂ−１）回転装置３０の構成
回転装置３０は、フレーム３５と、モータ３７と、モータ３７の回転角度を検出するエンコーダ３８によって構成されている。
フレーム３５は、４輪台車４０上に固定されている基台部３５ａと、基台部３５ａの両端から上方にそれぞれ伸びる二つの縦フレーム３５ｂ、３５ｃによって構成されている。縦フレーム３５ｂ，３５ｃの先端近傍にはそれぞれ貫通孔３６ａ，３６ｂが形成されている（図３参照）。貫通孔３６ａ，３６ｂには、後述するレーザレンジセンサ２０の軸部２２ａ、２２ｂがそれぞれ挿入されている。これによって、レーザレンジセンサ２０が縦フレーム３５ｂ，３５ｃ間に回転可能に支持されている（詳細には、図１に示す回転軸３２（すなわち、自律移動装置１０のピッチ軸）周りに回転可能に支持されている）。
縦フレーム３５ｂにはモータ３７が設置されている。モータ３７は、レーザレンジセンサ２０の軸部２２ａに接続されている。モータ３７が回転すると、それに応じて軸部２２ａが回転し、軸部２２ａが回転することでレーザレンジセンサ２０が縦フレーム３５ｂ，３５ｃに対して回転軸３２周りに回転する。モータ３７は、制御装置５２と電気的に接続され、制御装置５２から出力される制御指令値に従って回転する。モータ３７には、モータ３７の回転角度θ（すなわち、レーザレンジセンサ２０の床面に対する角度θ（以下、鉛直角度θともいう））を検出するエンコーダ３８が接続されている。エンコーダ３８は、制御装置５２と電気的に接続されており、エンコーダ３８が検出したレーザレンジセンサ２０の鉛直角度θは制御装置５２に入力される。
【００１５】
（Ｂ−２）レーザレンジセンサ２０の構成・作用
レーザレンジセンサ２０は、レーザが出射される角度φ（レーザのＹ方向に対する角度φ（以下、水平角度φともいう）（図３参照））を０°〜１８０°の間で変化させながらレーザを走査し、レーザを走査した走査面上の距離データを測定する。また、レーザレンジセンサ２０は、その鉛直角度θの方向にレーザを照射する。回転装置３０によって、レーザレンジセンサ２０を回転することによって、レーザが出射される鉛直角度θが変更される。レーザレンジセンサ２０のレーザを出射する水平角度φの変更と同時に、回転装置３０によりレーザレンジセンサ２０の鉛直角度θを変更することで、レーザレンジセンサ２０は水平角度φ＝０°〜１８０°及び所定の鉛直角度θの角度範囲内にレーザを走査し、距離データを測定する。
【００１６】
図３は、レーザレンジセンサ２０の内部構造を模式的に示す図である。図３に示すように、レーザレンジセンサ２０は、フレーム２２と、フレーム２２内に配置された距離測定ユニット２４、ミラー２５、ミラー２５を回転させるモータ２８、及びモータ２８の回転角度を検出するエンコーダ２８ａから構成されている。
【００１７】
フレーム２２の後面側（図３における左側）の断面は方形状に形成され、正面側（図３における右側）の断面は後述する回転軸２３を中心とする半円状に形成されている。
フレーム２２の方形状の部分の側面２２ｃ、２２ｄには軸部２２ａ、２２ｂが形成されている。上述したように、軸部２２ａ、２２ｂは、回転装置３０の縦フレーム３５ｂ、３５ｃの貫通孔３６ａ、３６ｂにそれぞれ挿入されている。フレーム２２の半円状の部分の側面２２ｅは全面にわたって開口し、その開口部は樹脂部材２７によって閉じられている。樹脂部材２７は、波長が９００ｎｍ前後の赤外線光はよく透過するが、その他の波長の光はカットする樹脂材料によって形成されている。樹脂部材２７は、レーザレンジセンサ２０の内部に外部の光が入射するのを防止し、レーザレンジセンサ２０の誤動作を防止する。
【００１８】
フレーム２２の内部であって半円形側面２２ｅの中心に対応する箇所にはミラー２５が配置されている。ミラー２５の板厚は非常に薄く、ミラー２５の表面及び裏面は鏡面状に形成されている。ミラー２５は、回転軸２３に取付けられており、回転軸２３の回転に伴って回転するようになっている。回転軸２３にはモータ２８が接続されている。モータ２８は、ミラー２５を予め設定された周期（本実施例では、２６．４ｍｓｅｃ）で回転させる。モータ２８にはモータ２８の回転角度を検出するエンコーダ２８ａが取り付けられている。すなわち、エンコーダ２８ａは、ミラー２５の回転角度ψ（レーザを出射する水平角度φ）を検出する。エンコーダ２８ａの検出分解能は０．５°である。従って、エンコーダ２８ａは、ミラー２５の回転角度ψが０．５°の整数倍となるタイミングでその回転角度ψを検出する。エンコーダ２８ａは、距離測定ユニット２４と電気的に接続されており、エンコーダ２８ａが検出したミラー２５の回転角度ψは距離測定ユニット２４に入力されるようになっている。
【００１９】
ミラー２５から見てψ＝１８０°の方向には距離測定ユニット２４が配されている。図４に示すように、距離測定ユニット２４は、レーザ光源２４ａ、受光素子２４ｂ、演算装置２６、及びレンズ部２４ｃを備えており、これらは筐体２４ｄ内に設置されている。
【００２０】
レーザ光源２４ａは、波長９００ｎｍ前後の赤外線レーザ光を出射する。レーザ光源２４ａは、演算装置２６によって制御され、所定のタイミングでレーザ光を出射する。
【００２１】
受光素子２４ｂは、レーザ光源２４ａから出射するレーザ光が、直接、入射されない位置に配置されている。受光素子２４ｂは、９００ｎｍ前後の波長の光に対して高感度な受光素子であり、所定以上の強度の光を受けるとＯＮする。また、受光素子２４ｂは演算装置２６と電気的に接続されており、受光素子２４ｂの出力値は演算装置２６に入力されるようになっている。
【００２２】
筐体２４ｄのミラー２５側の側面は、その一部が開口しており、その開口部にレンズ部２４ｃが配置されている。レンズ部２４ｃは、レンズ及びミラー等によって構成された光学部品である。レンズ部２４ｃは、レーザ光源２４ａから出射するレーザ光をミラー２５に導く。ミラー２５に入射した光は、ミラー２５で反射され、レーザレンジセンサ２０外に照射される。また、レーザレンジセンサ２０内に入射する光は、ミラー２５で反射されてレンズ部２４ｃに導かれ、レンズ部２４ｃから受光素子２４ｂへ導かれる。
【００２３】
図５に示すように、演算装置２６には、レーザ光源２４ａ、受光素子２４ｂ及びエンコーダ２８ａが電気的に接続されている。演算装置２６は、レーザ光源２４ａを駆動し、受光素子２４ｂ及びエンコーダ２８ａからの信号を処理する。演算装置２６は、さらに、制御装置５２とＵＳＢケーブル６０によって接続されている。
演算装置２６は、制御部２６ａ、センシング部２６ｂ、カウント部２６ｃ、記憶部２６ｄ、及び演算部２６ｅを備えている。カウント部２６ｃは、電源がＯＮされてからの経過時間をカウントし続ける。制御部２６ａは、エンコーダ２８ａが検出するミラー２５の回転角度ψを検出し、回転角度ψを検出すると同時にレーザ光源２４ａをパルス的に駆動する。これにより、エンコーダ２８ａの回転角度ψの検出タイミングに同期してレーザ光源２４ａからレーザ光がパルス的に出射される。また、制御部２６ａはレーザ光を出射すると同時に、カウント部２６ｃの時間データｊを読み取る。制御部２６ａが検出する回転角度ψ及び時間データｊは記憶部２６ｄに記憶される。センシング部２６ｂは、受光素子２４ｂの検出信号を読取る。読取った時間データｋは記憶部２６ｄに記憶される。演算部２６ｅは、記憶部２６ｄに記憶されている回転角度ψ、時間データｊ、ｋから、レーザ光の照射角度φと、そのレーザ光が反射された位置（障害物等の物体）とレーザレンジセンサ２０間の距離ｄを算出する（図１２参照）。
【００２４】
図６を参照してレーザレンジセンサ２０の動作について説明する。レーザレンジセンサ２０が起動すると、モータ２８が回転して、ミラー２５が２６．４ｍｓｅｃの周期で回転する。ミラー２５の回転角度ψは、エンコーダ２８ａによって検出される。すなわち、エンコーダ２８ａは、ミラー２５の回転角度ψが０．５°の整数倍となるタイミングでその回転角度ψを検出し、その回転角度ψを演算装置２６へ入力する。モータ２８はミラー２５を２６．４ｍｓｅｃの周期で回転させているため、エンコーダ２８ａが回転角度ψを検出する周期は、２６．４ｍｓｅｃ／３６０／２≒３６．７μｓｅｃとなる。なお、ミラー２５は表裏が同様に鏡面状に形成されており、表裏の区別が無い。従って、ミラー２５の回転角度ψ＝０°の場合と回転角度ψ＝１８０°の場合とでは、ミラー２５は全く同じ状態になっているとみなせる。従って、演算装置２６は、エンコーダ２８ａが検出する回転角度がψ＝１８０°となると、回転角度ψ＝０°と判定する。
【００２５】
レーザレンジセンサ２０が起動すると、まず、制御部２６ａはエンコーダ２８ａが検出したミラー２５の回転角度ψを読み取り（ステップＳ２）、読取った回転角度ψが０°であるか否かを判定する（ステップＳ４）。回転角度ψが０°で無い場合（ステップＳ４でＮＯ）は、制御部２６ａは、回転角度ψが０°となるまでステップＳ２とステップＳ４を繰り返し実施する。一方、回転角度ψが０°であると判定する（ステップＳ４でＹＥＳ）と、その旨を示すデータＭをＵＳＢケーブル６０に出力し、ステップＳ６に進む。なお、ＵＳＢケーブル６０に出力されたデータＭは制御装置５２に入力される。
【００２６】
ステップＳ６に進むと、記憶部２６ｄが現在の回転角度ψが０°であることを記憶する。記憶部２６ｄに回転角度ψ＝０°であることを記憶するのとほぼ同時に、制御部２６ａはレーザ光源２４ａをパルス駆動させる（ステップＳ８）。これにより、レーザ光源２４ａからレーザ光がパルス的に出射される。
ステップＳ８でレーザ光源２４ａを駆動させると、それと同時に制御部２６ａはカウント部２６ｃでカウントされている時間データｊを読み取る（ステップＳ１０）。読み取った時間データｊは記憶部２６ｄに記憶される。その際、記憶部２６ｄは、時間データｊをステップＳ６で記憶した回転角度ψと関連付けて記憶する。
【００２７】
次に、センシング部２６ｂが、受光素子２４ｂがＯＮしたか否かを判定する（ステップＳ１２）。すなわち、ステップＳ８でレーザ光源２４ａからレーザ光が出射されると、そのレーザ光はレンズ部２４ｃを通って距離測定ユニット２４の外部へ出射される。距離測定ユニット２４の外部に出射されたレーザ光は、ψ＝１８０°の方向からミラー２５（詳細には、回転軸２３近傍部分（以下、レーザ原点２３ａという））に入射する。ミラー２５に入射したレーザ光は、ミラー２５に対する入射角と、ミラー２５からの出射角が等しくなるように反射される。上述したとおり、距離測定ユニット２４は固定されている。一方、ミラー２５は回転軸２３を中心に回転する。従って、ミラー２５で反射したレーザ光の反射方向は、ミラー２５の回転角度ψによって決まる。ミラー２５で反射したレーザ光の反射方向を、図３における角度φで表すと、φ＝２ψが成立する。
上述の計算式から明らかなように、ミラー２５の回転角度ψが０°〜９０°の場合にはレーザの出射角度φは０°〜１８０°となる。また、回転角度ψが９０°〜１８０°の場合には、ステップＳ４の判定によって、レーザ光源２４ａからレーザが出射されない。従って、レーザ光源２４ａから出射されたレーザ光は、角度φ＝０°〜１８０°となる方向へ反射される。
【００２８】
ミラー２５のレーザ原点２３ａで反射されたレーザ光は、樹脂部材２７に入射する。樹脂部材２７は、上述の通り、ミラー２５の回転軸２３を中心とした半円状に形成されており、また、波長９００ｎｍ前後の光を透過する。従って、レーザ原点２３ａで反射したレーザ光は樹脂部材２７に対して垂直に入射し、樹脂部材２７内を透過して外部に出射される。すなわち、レーザレンジセンサ２０から水平角度φとなる方向へレーザ光が出射される。
【００２９】
レーザレンジセンサ２０からレーザ光が出射された方向に物体が存在すると、その物体にレーザ光が照射され、その物体によってレーザ光の乱反射が起きる。乱反射したレーザ光の一部は、レーザレンジセンサ２０内に戻ってミラー２５によって反射され、距離測定ユニット２４のレンズ部２４ｃを介して受光素子２４ｂに導かれる。受光素子２４ｂに導かれる光は、レーザ光源２４ａからのレーザ光が乱反射された光であるため、その波長は９００ｎｍ前後である。受光素子２４ｂは９００ｎｍ前後の波長の光に対して高感度であるので、受光素子２４ｂが乱反射されたレーザ光を受けるとＯＮする。一方、レーザレンジセンサ２０からレーザ光が出射された方向に物体が存在しないと、物体によるレーザ光の乱反射が生じないため、受光素子２４ｂはＯＮしない。したがって、ステップＳ１２で、制御部２６ａは受光素子２４ｂがＯＮしたか否かを判定する。
【００３０】
受光素子２４ｂがＯＮした場合（すなわち、受光素子２４ｂの出力信号をセンシング部２６ｂが検出した場合（ステップＳ１２でＹＥＳ））、制御部２６ａは、受光素子２４ｂがＯＮしたことを検出すると同時に、カウント部２６ｃでカウントされている時間データｋを読み取り、読み取った時間データｋを記憶部２６ｄに記憶する（ステップＳ１４）。その際、記憶部２６ｄには、読取った時間データｋをステップＳ６で記憶された回転角度ψと関連付けて記憶される。すなわち、記憶部２６ｄには、回転角度ψ及び時間データｊ及び時間データｋとによって構成される距離データＡが記憶される。
受光素子２４ｂがＯＮしていない場合（ステップＳ１２でＮＯ）は、制御部２６ａはステップＳ８を実行してからの経過時間が所定時間（エンコーダ２８ａが回転角度ψを検出する周期である３６．７μｓｅｃよりも短い時間に設定されている。）を経過したか否かを判定する（ステップＳ１６）。所定時間を経過していない場合（ステップＳ１６でＮＯ）は、ステップＳ１２に戻って、ステップＳ１２からの処理を繰返す。一方、所定時間を経過している場合（ステップＳ１６でＹＥＳ）は、制御部２６ａはレーザ光を出射した方向に物体が存在しないと判定し、ステップＳ１０で記憶した時間データｊを記憶部２６ｄから消去して、ステップＳ６で記憶したミラー２５の回転角度ψについての距離データＡをＬ（＝レーザレンジセンサ２０の検出限界距離）とする（ステップＳ１８）。
【００３１】
ステップＳ２０に進むと、制御部２６ａはエンコーダ２８ａが再びミラー２５の回転角度ψを検出するまで待機し、エンコーダ２８ａが回転角度ψを検出すると、制御部２６ａがその回転角度ψを読み取る（ステップＳ２０）。次いで、制御部２６ａはステップＳ２０で読み取った回転角度ψが、９０．５°であるか否かを判定する（ステップＳ２２）。回転角度ψが９０．５°で無い場合（ステップＳ２２でＮＯ）は、ステップＳ６に戻って、ステップＳ６からの処理が実行される。これにより、記憶部２６ｄにはステップＳ２０で読取った回転角度ψについての距離データＡが記憶されることとなる。
【００３２】
以上のように、回転角度ψ＝９０．５°となるまでは、演算装置２６によってステップＳ６〜ステップＳ２２が繰り返し実行される。上述の処理は、回転角度ψ＝０°からψ＝９０°の間で０．５°ピッチで実行される。上述の通り、ミラー２５の回転角度ψと、レーザ光の放出角度φはφ＝２ψの関係である。従って、レーザ光は、φ＝０°から１８０°の間で１°ピッチでレーザレンジセンサ２０から出射されて、そのたびに距離データＡの測定が実行される。
【００３３】
回転角度ψ＝９０．５°となった場合（ステップＳ２２でＹＥＳ）は、演算部２６ｅが、記憶部２６ｄに記憶されている各距離データＡを用いて、レーザレンジセンサ２０からレーザを出射した水平角度φと、レーザレンジセンサ２０からレーザ光が照射された物体までの距離ｄを算出する（ステップＳ２４）。すなわち、角度φは、上述した通り、φ＝２ψによって求められる。距離ｄは、時間データｊと時間データｋの時間差によって求められる（具体的には、ｄ＝（ｋ−ｊ）／ｃ（ｃ＝光速）となる）。
演算部２６ｅは、記憶部２６ｄに記憶されている全ての距離データＡに対して上記の演算を実行し、角度φ及び距離ｄによって構成される距離データＢに変換する。変換された各距離データＢは記憶部２６ｄに記憶される。
【００３４】
ステップＳ２６に進むと、ステップＳ２４で変換された全ての距離データＢが、ＵＳＢケーブル６０を介して制御装置５２に出力される（ステップＳ２６）。距離データＢが制御装置５２へ転送されると、演算部２６ｅは、記憶部２６ｄに記憶されている各距離データＡ及び各距離データＢを消去する（ステップＳ２８）。
【００３５】
ステップＳ２４〜Ｓ２８を実行している間も、モータ２８によってミラー２５は回転されている。ステップＳ２４〜Ｓ２８の処理は、ミラー２５が回転角度ψ＝９０．５°からψ＝１８０°（すなわちψ＝０°）となるまでの間に実行されて終了する。ステップＳ２８が終了した後も、ミラー２５は回転され、その間も、制御部２６ａはエンコーダ２８ａによってミラー２５の回転角度ψを検出し（ステップＳ３０）、ミラー２５の回転角度ψが１８０°となったか否かを判定する（ステップＳ３２）。ミラー２５の回転角度ψが１８０°とならない場合（ステップＳ３２でＮＯ）はステップＳ３０に戻り、ミラー２５の回転角度ψ＝１８０°となる（ステップＳ３２でＹＥＳ）と、制御部２６ａは、ψ＝１８０°をψ＝０°とし（ステップＳ３３）、ステップＳ６に戻って、ステップＳ６からの処理が再び実行される。なお、ステップＳ３２においてもステップＳ４と同様に、制御部２６ａは、ψ＝０°とすると、その旨を示すデータＭをＵＳＢケーブル６０を介して制御装置５２に出力する。
【００３６】
以上の説明から明らかなように、レーザレンジセンサ２０は、ミラー２５の回転角度ψが０°〜９０°の期間にステップＳ６〜Ｓ２２を繰り返し実行する。これによって、レーザ原点２３ａから水平角度φ＝０°〜１８０°の方向へレーザ光を出射し、距離データＡが測定される。また、ミラー２５の回転角度ψが９０°〜１８０°の期間にステップＳ２４〜Ｓ２６を実行して、距離データＢを算出し、各距離データＢを制御装置５２へ転送する。レーザレンジセンサ２０が、距離データＡの測定と、距離データＢの算出と、距離データＢの転送を繰り返し実行することによって、所定周期で制御装置５２へ距離データＢが転送される。
【００３７】
また、レーザレンジセンサ２０は、距離データを測定している間も、回転装置３０によって鉛直方向に回転されている。回転装置３０によって回転されることによって、レーザレンジセンサ２０がレーザを出射する鉛直角度θが変更される。従って、レーザレンジセンサ２０は、鉛直角度θを変更しながら水平角度φ＝０°〜１８０°の範囲内で距離データを測定することとなる。従って、回転装置３０によって鉛直角度θの回転範囲を変更することで、レーザレンジセンサ２０の測定範囲を変更することができる。
【００３８】
（Ｂ−３）制御装置５２の構成
制御装置５２は、ＣＰＵ，ＲＯＭ，ＲＡＭを備えたマイクロプロセッサ等によって構成されている。制御装置５２は、レーザレンジセンサ２０とＵＳＢケーブル６０によって接続され、また、回転装置３０及び制御装置１４と電気的に接続されている。
図２に示すように、制御装置５２は、レーザレンジセンサ２０から入力される距離データＢ等を用いて３次元距離データを算出する演算部５２ａと、回転装置３０を制御する回転制御部５２ｂと、レーザレンジセンサ２０から入力される距離データを記憶する記憶部５２ｃを有する。
【００３９】
回転制御部５２ｂは、図７に示す回転軌道７０と、図８に示す回転軌道７２を記憶している。回転制御部５２ｂは、所定の時間間隔で回転軌道７０と７２とを交互に選択し、選択した回転軌道に基づいて回転装置３０に制御指令値を出力する。これにより、回転装置３０は、選択された回転軌道でレーザレンジセンサ２０を回転させる。
【００４０】
図７に示す回転軌道７０は、自律移動装置１０の進行方向の空間形状を広範囲にわたって測定するための回転軌道である。図示するように、回転軌道７０では、回転中心がθ＝０°、上方最大角度がθ＝Ｗ１、下方最大角度がθ＝−Ｗ１に決定されている。従って、回転軌道７０では、レーザレンジセンサ２０がθ＝Ｗ１〜−Ｗ１の角度範囲を往復するように回転される。これによって、θ＝Ｗ１〜−Ｗ１の角度範囲にレーザが出射され、その角度範囲の空間の形状が測定される。また、回転軌道７０は、θが上方最大角度Ｗ１及び下方最大角度−Ｗ１となるタイミングの前後の期間Ｄでは回転角加速度ｄθ／ｄｔ２が一定となるように、その他の期間Ｅでは回転角速度ｄθ／ｄｔが一定となるように決定されている。
【００４１】
図８に示す回転軌道７２は、自律移動装置１０の進行方向の床面の形状を測定するための回転軌道である。回転軌道７２は、水平な床面を基準平面とし、その基準平面上にレーザを照射する目標位置（時間の関数で与えられる）を設定し、その設定した目標位置にレーザが照射されるように決定されている。回転軌道７２の詳細について説明する前に、レーザレンジセンサ２０と、レーザレンジセンサ２０からのレーザが床面（基準平面）に照射される位置（目標位置）との位置関係について説明する。
【００４２】
図１０は路面形状測定時の３次元測定装置１８を側面から見た図である。図１０に示すように、路面形状測定時においてレーザレンジセンサ２０は、回転軸３２を中心に鉛直角度θ＜０の範囲を回転する。ベクトルＫは、レーザ原点２３ａから出射されるレーザの出射方向を示している。また、点７４は、レーザ原点２３ａからレーザが出射されたときに、レーザが照射される床面（基準平面）上の位置を示している。すなわち、点７４は、レーザレンジセンサ２０が床面上にレーザを照射するときの目標位置である。ベクトルＪは、レーザ原点２３ａと回転軸３２との相対位置を示している。すなわち、レーザ原点２３ａは、回転軸３２から角度α（レーザレンジセンサ２０に対する角度α）の方向であって、距離Ｊとなる位置にある。また、回転軸３２は床面から高さＨの位置にある。
目標位置７４は、レーザレンジセンサ２０の鉛直角度θを変更することによって、Ｘ方向に移動する。回転軸３２から目標位置７４までのＸ方向の距離Ｘは、鉛直角度θによって決まる。図１０に示すように、レーザ原点２３ａの床面からの高さＨ２３ａは、Ｈ−Ｊｓｉｎ（θ＋α）となっている。また、レーザ原点２３ａから目標位置７４までのＸ方向の距離Ｘ２３ａは、Ｘ−Ｊｃｏｓ（θ＋α）となっている。従って、回転軸３２から目標位置７４までのＸ方向における距離Ｘと鉛直角度θは、以下の関係となっている。
【００４３】
【数１】
2008020370.tif 000003
【００４４】
次に、回転軌道７２について説明する。回転軌道７２は、目標位置７４が図９に示す軌道でＸ方向に移動するように決定されている。すなわち、目標位置７４の軌道は、距離Ｘ＝Ｘ１となる位置から距離Ｘ＝Ｘ２（＜Ｘ１）となる位置を往復するように決定されている。したがって、回転軌道７２は、距離Ｘ１に対応する角度−Ｗ２から距離Ｘ２に対応する角度−Ｗ３の間を往復するように決定されている。角度−Ｗ２は上述の関係式［数１］とＸ１に基づいて、角度−Ｗ３は関係式［数１］とＸ２に基づいて算出されている。
また、回転軌道７２は、図８に示すように、期間Ｆにおける回転軌道と、期間Ｇにおける回転軌道とによって構成されている。
【００４５】
期間Ｇにおける回転軌道７２は、図９に示すように、目標位置７４が一定速度ｄＸ／ｄｔでＸ方向に移動するように決定されている。すなわち、期間Ｇにおける目標位置７４の軌道は、時間ｔの一次関数ｆ（ｔ）となっている。期間Ｇにおける回転軌道７２は、一次関数ｆ（ｔ）と、上述の関係式［数１］に基づいて決定されている。これによって、図８に示すように、期間Ｇにおける回転軌道７２は、レーザレンジセンサ２０から床面上のレーザが走査される位置（すなわち、目標位置７４）までの距離Ｘが長くなるのに従って（すなわち、距離ＸがＸ１に近づくにしたがって）、回転角速度が遅くなるように決定されている。
以上に説明したように、回転軌道７２は、期間Ｇにおいては目標位置７４が一定速度でＸ方向に移動するように決定されている。また、上述したように、レーザレンジセンサ２０は一定周期（本実施例では、ミラー２５の回転周期の半分である１３．２ｍｓｅｃ）でレーザを走査する。したがって、期間Ｇにおいては、図１１に示すように床面にレーザが等間隔で走査される。したがって、回転制御部５２ｂが回転軌道７２に従って回転装置３０を制御することで、均一な解像度で床面の形状を測定することができる。また、図１２は、レーザレンジセンサ２０が図１１のＸＩＩ−ＸＩＩ線の方向にレーザを出射するときの様子を示している。図１２に示すように、レーザ照射位置までの距離が長くなるにしたがって回転角速度を遅くする（すなわち、図１２の角度ピッチを小さくする）ことで、レーザ照射位置（レーザの走査線）の間隔ΔＸが等しくなる。このように、回転軌道７２を用いると、期間Ｇにおいては、床面にレーザが等間隔で走査されるので、レーザレンジセンサ２０によって床面の距離データが均一な解像度で取得される。なお、図１２では、レーザ原点２３ａの位置と回転軸３２の位置が非常に近いので、同一の点として示している。
【００４６】
期間Ｆにおける回転軌道７２は、図９に示すように、目標位置７４が一定加速度で速度を変化させ、移動方向を変えるように決定されている。すなわち、期間Ｇにおける目標位置７４の軌道は、時間ｔの二次関数ｇ（ｔ）となっている。期間Ｆにおける回転軌道７２は、二次関数ｇ（ｔ）と、上述の［数１］に基づいて算出されている。
【００４７】
演算部５２ａは、制御装置１４から入力される自律移動体１６の位置及び進行方向と、記憶部５２ｃに記憶されている距離データＢと、鉛直角度θから３次元距離データを算出して３次元マップを生成する。演算部５２ａが算出した３次元マップは、制御装置１４へ出力される。
【００４８】
図１０及び図１３〜図１５を用いて、演算部５２ａの動作について説明する。図１４に示すように、自律移動装置１０は水平な平面上に置かれた状態で起動される。図１４の位置Ａは、自律移動装置１０が起動された時の位置である。
図１３に示すように、自律移動装置１０が起動されると、まず、演算部５２ａが原点の設定を行う（ステップＳ３４）。すなわち、演算部５２ａは、起動時の位置（図１４における位置Ａ）を原点に設定する（詳細には、自律移動装置１０の回転軸３２上の中点３４（基準点３４）を原点に設定する）。また、演算部５２ａは、起動時の自律移動装置１０のＸ方向をｘ軸、Ｙ方向をｙ軸、Ｚ方向をｚ軸としたｘｙｚ座標系を設定する。
【００４９】
自律移動装置１０が起動すると、レーザレンジセンサ２０が距離データの取得を開始するとともに、レーザレンジセンサ２０が回転装置３０によって回転される。上述したように、レーザレンジセンサ２０は、ＵＳＢケーブル６０を介して演算部５２ａにデータＭ（すなわち、レーザレンジセンサ２０のミラー２５の回転角度ψが０°である旨を示すデータ）を出力する（ステップＳ３６）。
【００５０】
演算部５２ａにデータＭが入力されると、演算部５２ａは回転装置３０が検出する鉛直角度θを読取る（ステップＳ３８）。鉛直角度θの読み取りは、データＭの入力と略同時に行われる。従って、演算部５２ａが読取る鉛直角度θは、レーザレンジセンサ２０がφ＝０°の方向にレーザを出射したときの鉛直角度θである。
【００５１】
また、演算部５２ａは、自律移動体１６の制御装置１４から、自律移動装置１０の位置（ａ，ｂ）及び向きＶを読取る（ステップＳ４２）。既に説明したように、位置（ａ，ｂ）は基準点３４を基準に算出され、上述のｘｙｚ座標系におけるｘ座標、ｙ座標によって表されており、向きＶはｘ軸に対する角度Ｒによって表されている。なお、ステップＳ４２で読取った位置（ａ，ｂ）及び角度Ｒは、レーザレンジセンサ２０がφ＝０°の方向にレーザを出射したときのものとなる。
【００５２】
上述したように、レーザレンジセンサ２０は、データＭを出力すると、φ＝０°〜１８０°の間にレーザ光を走査させて、各出射角度φにおける距離データＡを取得する。そして、φ＝０°〜１８０°における全ての距離データＡを取得した後に、各距離データＡから距離データＢを算出する。レーザレンジセンサ２０は各距離データＢを算出すると、それらの距離データＢをＵＳＢケーブル６０を介して制御装置５２に出力する。制御装置５２に入力された各距離データＢは記憶部５２ｃに入力される（ステップＳ４４）。
【００５３】
記憶部５２ｃに各距離データＢが入力されると、演算部５２ａは、距離データＢと、位置（ａ，ｂ）と、角度Ｒと、鉛直角度θに基づいて、３次元距離データの演算を行う。以下に、３次元距離データの演算方法について説明する。
【００５４】
ステップＳ４６では、演算部５２ａが、記憶部５２ｃに記憶されている各距離データＢの中から、演算を行う距離データＢを１つ選択する。このとき、演算部５２ａは、記憶部５２ｃに記憶されている各距離データＢの中から、出射角度φが最も小さい距離データＢを選択する。
【００５５】
ステップＳ４８では、ステップＳ４６で選択した距離データＢの出射角度φに基づいて鉛直角度θを補正する。すなわち、ステップＳ３８で演算部５２ａが読取った鉛直角度θは、出射角度φ＝０°の際の鉛直角度θである。レーザレンジセンサ２０は、φ＝０°からφ＝１８０°までレーザ光を走査している間も、回転装置３０によって回転され、鉛直角度θは変更されている。従って、鉛直角度θを用いてφ＝０°以外の距離データＢを演算すると、演算結果に誤差が生じる。従って、鉛直角度θを補正する。鉛直角度θの補正は以下の計算式によって行われる。
θ’ ＝θ+（ｄθ／ｄｔ）・ｔｄ
ここで、θ’ は補正後の鉛直角度であり、ｄθ／ｄｔはθを検出した時のレーザレンジセンサ２０が回転する角速度であり、ｔｄは鉛直角度θが読取られた時間と、距離データＢが検出された時間との時間差である。本実施例では、レーザレンジセンサ２０がφ＝０°〜１８０°の区間にレーザ光を走査する時間は６．６ｍｓｅｃであるので、ｔｄ＝φ／１８０×６．６となる。
なお、ステップＳ４２で演算部５２ａが読取った位置（ａ，ｂ）及び角度Ｒも、出射角度φ＝０°のときのデータである。従って、位置（ａ，ｂ）及び角度Ｒを補正するようにしてもよい。ただし、本実施例では、自律移動装置１０の移動速度が遅く、レーザレンジセンサ２０が距離データを測定する周期の間に自律移動装置１０が移動する量が少ないため、位置（ａ，ｂ）及び角度Ｒを補正しなくても誤差はほとんど生じない。従って、本実施例では位置（ａ，ｂ）及び角度Ｒの補正を行っていない。
【００５６】
演算部５２ａは、鉛直角度θの補正を行うと、レーザレンジセンサ２０が出射したレーザ光が照射された物体の、自律移動装置１０に対する相対位置を算出する（ステップＳ５０）。
相対位置の算出は、距離データＢ（すなわち、出射角度φと距離ｄ）と、補正後の鉛直角度θ’を演算することによって行われる。また、相対位置は、自律移動装置１０の現在の位置（図１４における位置Ｂ）における基準点３４を原点とし、自律移動装置１０の現在の進行方向をｘ’軸、垂直方向をｚ’軸、ｘ’軸及びｚ’軸に直行する方向をｙ’軸としたｘ'ｙ’ｚ’座標系によって表される。
相対座標（ｘ’，ｙ’，ｚ’）は、図１０、図１５に示す基準点３４とレーザ原点２３ａとのオフセットベクトルＪと、レーザの発振軌道を示すベクトルＫとの和によって求められる。オフセットベクトルＪのパラメータ（ｘ’Ｊ，ｙ’Ｊ，ｚ’Ｊ）は、レーザレンジセンサ２０と回転装置３０との取り付け寸法により決まる定数ｘ’Ｊ１及びｚ’Ｊ１ （図１０参照）と鉛直角度θ’ によって求めることができる。すなわち、
【００５７】
【数２】
2008020370.tif 000004
【００５８】
なお、αは、オフセットベクトルＪとベクトルＫとがなす角度である。
また、ベクトルＫのパラメータ（ｘ’Ｋ，ｙ’Ｋ，ｚ’Ｋ）は、距離ｄ及び出射角度φ及び鉛直角度θ’ によって求めることができる。すなわち、
【００５９】
【数３】
2008020370.tif 000005
【００６０】
従って、レーザが照射された物体の自律移動装置１０に対する相対座標（ｘ’，ｙ’，ｚ’）は、下記の通りとなる。
【００６１】
【数４】
2008020370.tif 000006
【００６２】
演算部５２ａは、相対座標（ｘ’，ｙ’，ｚ’）を算出すると、相対座標（ｘ’，ｙ’，ｚ’）から、レーザが照射された物体のｘｙｚ座標系における絶対座標（ｘ，ｙ，ｚ）を算出する（ステップＳ５２）。絶対座標（ｘ，ｙ，ｚ）は、レーザが照射された物体の絶対位置を示す３次元距離データである。座標（ｘ，ｙ，ｚ）は、座標（ｘ’，ｙ’，ｚ’）を、自律移動装置１０の位置（ａ、ｂ）及び自律移動装置１０の進行方向Ｖとｘ軸とがなす角度Ｒを用いて座標変換することで求められる。すなわち、
【００６３】
【数５】
2008020370.tif 000007
【００６４】
演算部５２ａは、３次元距離データ（ｘ，ｙ，ｚ）を算出すると、ステップＳ３４で設定したｘｙｚ座標に、算出した３次元距離データ（ｘ，ｙ，ｚ）をプロットする（ステップＳ５４）。３次元距離データ（ｘ，ｙ，ｚ）をプロットすると、演算部５２ａはステップＳ４６で選択した距離データＢを記憶部５２ｃから消去する（ステップＳ５６）。距離データＢを記憶部５２ｃから消去すると、演算部５２ａは記憶部５２ｃに距離データＢが存在しているか否かを判定する（ステップＳ５８）。
記憶部５２ｃに距離データＢが存在している場合（ステップＳ５８でＹＥＳ）には、ステップＳ４６に戻って、ステップＳ４６からの処理を実行する。これによって、全ての距離データＢについて３次元距離データ（ｘ，ｙ，ｚ）が算出される。一方、記憶部５２ｃに距離データＢが存在していない場合（ステップＳ５８でＮＯ）には、演算部５２ａはプロットした３次元マップを制御装置１４へ出力し（ステップ６０）、ステップＳ３６に戻り、ステップＳ３６からの処理を実行する。
【００６５】
以上の処理によって、記憶部５２ｃに記憶された全ての距離データＢから３次元距離データ（ｘ，ｙ，ｚ）が算出される。算出された各３次元距離データ（ｘ，ｙ，ｚ）は、ステップＳ５４によってｘｙｚ座標にプロットされる。これによって、ｘｙｚ空間の形状を表す３次元マップが作成される。
なお、ステップＳ４６〜Ｓ６０の処理は、レーザレンジセンサ２０が各距離データＢをＵＳＢケーブル６０に出力（図６のステップＳ２６）してから、次の測定期間が開始される（すなわち、図６のステップＳ３２のデータＭの出力）までの間に実行される。従って、演算部５２ａがステップＳ４６〜Ｓ６０を実行している間に、レーザレンジセンサ２０から演算部５２ａへデータＭが入力されることは無い。
【００６６】
次に、制御装置１４が自律移動装置１０の移動方向及び移動速度を制御する処理について、図１６を参照して説明する。
自律移動装置１０を起動する際には、まず、制御装置１４に目的地を入力する（ステップＳ６２）。目的地は、絶対座標系のｘｙ座標値によって指定する。目的地が入力されると、３次元測定装置１８が起動する。
【００６７】
ステップＳ６３では、３次元測定装置１８の制御装置５２が、回転装置３０の回転軌道を選択する。自律移動装置１０の起動後には、制御装置５２は回転軌道７２を選択する。
【００６８】
制御装置５２が回転軌道を選択すると、３次元測定装置１８が３次元距離データの測定を開始する。これによって、３次元測定装置１８から３次元マップが出力され、その３次元マップは制御装置１４に入力される（ステップＳ６４）。制御装置１４は、入力された３次元マップから、自律移動装置１０の現在の位置と目的地の位置から決まる進行方向に障害物が存在するか否か（障害物の位置）を判断する（ステップＳ６６）。なお、上述したように、回転軌道７２に従って回転装置３０を制御しているときには、床面が平坦で水平であればレーザの走査間隔ΔＸが均等となる。したがって、自律移動装置１０は、測定されたレーザの照射位置の座標がＸ方向において等間隔になっていないときは、その位置の詳細な形状を測定することなくそこに障害物や凹凸があるということを認識することができる。
【００６９】
目的地方向に障害物が無いと判定する（ステップＳ６６でＮＯ）と、制御装置１４はモータ４６ａ〜４６ｄに制御指令値を出力し、自律移動装置１０を目的地の方向へ移動させる（ステップＳ６８）。一方、目的地方向に障害物が有ると判定する（ステップＳ６６でＮＯ）と、制御装置１４は、障害物を回避する方向に自律移動装置１０の進行方向を変更し、その変更した進行方向に自律移動装置１０が移動するようにモータ４６ａ〜４６ｄに制御指令値を出力する（ステップＳ７０）。
なお、制御装置１４は、自律移動装置１０の移動方向に障害物がない場合は、所定速度まで自律移動装置１０の移動速度を加速させる。すなわち、自律移動装置１０の移動方向に障害物がない場合は、自律移動装置１０が移動方向を変化させないため、その移動方向の３次元距離データが十分に得られている。従って、移動速度を加速しても自律移動装置１０は障害物に衝突することなく移動することができる。
【００７０】
制御装置１４がステップＳ６８またはステップＳ７０によって自律移動装置１０を移動させると、制御装置１４は自律移動装置１０が目的地に到着したか否かを判定する（ステップＳ７４）。
自律移動装置１０が目的地に到着していないと判定する（ステップＳ７４でＮＯ）と、ステップＳ６４に戻って、ステップＳ６４からの処理を実行する。２回目以降のステップＳ６４では、制御装置５２は、回転軌道７０と回転軌道７２を交互に選択し、選択した回転軌道７０又は７２に基づいて測定された３次元マップを制御装置１４に出力する。したがって、３次元測定装置１８は、回転軌道７０による３次元形状データの測定（すなわち、広範囲の空間形状の測定）と、回転軌道７２による３次元形状データの測定（すなわち、床面形状の測定）とを交互に繰り返し実行する。
自律移動装置１０は、目的地に到着したと判定する（ステップＳ７４でＹＥＳ）と、移動を停止する。
【００７１】
以上に説明したように、自律移動装置１０は、回転軌道７０による３次元形状データの測定と、回転軌道７２による３次元形状データの測定とを交互に繰り返し実行する。回転軌道７２は、レーザレンジセンサ２０から床面上のレーザが走査される位置までの距離が長くなるのに従って、回転角速度が遅くなるように決定されており、これによってレーザを照射する目標位置７４が一定速度でＸ方向に移動するようになっている。したがって、自律移動装置１０が回転軌道７２に従って回転装置３０を駆動すると、床面上に等間隔にレーザが走査されるので、均一な解像度で床面形状を測定することができる。すなわち、床面上の自律移動装置１０から遠い位置の形状を解像度が低下することなく測定できる。したがって、自律移動装置１０は、床面上の自律移動装置１０から離れた位置に小さな障害物があるときにも、その障害物を早期に検出し、障害物を回避する経路を選択することができる。また、均一な解像度で床面形状が測定されるので、均一な解像度の３次元マップを作成することができる。
【００７２】
なお、本実施例の自律移動装置では、水平な床面を基準平面とした回転軌道にしたがって回転装置を制御したが、本発明はこのような実施形態に限られず、他の平面を基準平面とした回転軌道で回転装置を制御してもよい。例えば、自律移動装置が壁面近くを移動するときには、壁面を基準平面とした回転軌道にしたがって回転装置を制御することができ、あるいは、自立移動装置が傾斜する床面を走行するときには、傾斜する床面を基準平面とした回転軌道にしたがって回転装置を制御する等、さまざまな平面を基準平面とすることができる。
【００７３】
また、上述した自律移動装置では、予め決定された回転軌道で回転装置を制御したが、回転軌道の上方最大角度、下方最大角度を変更した回転軌道を生成することで測定範囲を変更したり、回転周期を変更した回転軌道を生成することで測定の解像度（レーザを走査する間隔ΔＸ）を変更してもよい。また、空間形状測定によって平面と思われる形状を検出したときには、その平面を基準面とした回転軌道を新たに生成してもよい。例えば、回転軌道７０によって計測された床面の形状が略平面に近似できるときは、その近似した平面を基準平面とする回転軌道を制御装置５２で生成するようにしてもよい。
【００７４】
また、上述した自律移動装置は、車輪走行型の自律移動装置であったが、多足歩行型のロボット等であってもよい。ロボットが歩行する床面の形状を測定することで、床面上のより平坦な位置にロボットの脚部を踏み出させることができる。これによって、ロボットの安定した歩行を担保し、ロボットの転倒等を未然に防止することができる。
【００７５】
また、通常時は、回転させずにレーザレンジセンサを起動し、レーザレンジセンサによって障害物が検知された場合にのみレーザレンジセンサを回転させる構成としても良い。これによって、障害物が検知されない状況では短い周期で進行方向の床面形状を測定し、障害物が検知された場合にのみ回転装置によりレーザレンジセンサを回転させて障害物の形状等を測定することができる。
【００７６】
また、上述の実施例では、自律移動装置の位置及び移動方向を、エンコーダが検出する車輪の回転量から算出していたが、本発明は、このような実施形態に限られない。例えば、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）を利用して、自律移動装置の位置及び移動方向を検出しても良い。
【００７７】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例をさまざまに変形、変更したものが含まれる。
本明細書または図面に説明した技術要素は、単独であるいは各種の組み合わせによって技術的有用性を発揮するものであり、出願時請求項記載の組み合わせに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【図面の簡単な説明】
【００７８】
【図１】本実施例の自律移動装置１０の斜視図。
【図２】本実施例の自律移動装置１０のブロック図。
【図３】本実施例のレーザレンジセンサ２０の内部構造図。
【図４】距離測定ユニット２４の拡大図。
【図５】演算装置２６のブロック図。
【図６】演算装置２６の処理を示すフローチャート。
【図７】レーザレンジセンサ２０の回転軌道７０を示すグラフ。
【図８】レーザレンジセンサ２０の回転軌道７２を示すグラフ。
【図９】回転軌道７２に従ってレーザレンジセンサ２０を回転したときの、レーザレンジセンサ２０の目標位置７４の位置を示すグラフ。
【図１０】レーザレンジセンサ２０のレーザ出射時の説明図。
【図１１】回転軌道７２に従ってレーザレンジセンサ２０を回転したときの、レーザ走査線の説明図。
【図１２】回転軌道７２に従ってレーザレンジセンサ２０を回転したときの、レーザの照射位置の説明図。
【図１３】演算部５２ａの処理を示すフローチャート。
【図１４】自律移動装置１０の動きを示す斜視図。
【図１５】レーザレンジセンサ２０の上面図。
【図１６】制御装置１４の処理を示すフローチャート。
【符号の説明】
【００７９】
１０：自律移動装置
１４：制御装置
１６：自律移動体
１８：３次元測定装置
２０：レーザレンジセンサ
２３：回転軸
２３ａ：レーザ原点
２４：距離測定ユニット
２４ａ：レーザ光源
２４ｂ：受光素子
２４ｃ：レンズ部
２４ｄ：筐体
２５：ミラー
２６：演算装置
２６ａ：制御部
２６ｂ：センシング部
２６ｃ：カウント部
２６ｄ：記憶部
２６ｅ：演算部
２７：樹脂部材
２８：モータ
２８ａ：エンコーダ
３０：回転装置
３２：回転軸
３４：基準点
３５：フレーム
３７：モータ
３８：エンコーダ
４０：４輪台車
４２：台車本体
４４ａ〜４４ｄ：車輪
４６ａ〜４６ｄ：モータ
４８ａ〜４８ｄ：エンコーダ
５２：制御装置
５２ａ：演算部
５２ｂ：回転制御部
５２ｃ：記憶部
７０：回転軌道
７２：回転軌道
７４：目標位置
【図１】
2008020370.tif 000008
【図２】
2008020370.tif 000009
【図３】
2008020370.tif 000010
【図４】
2008020370.tif 000011
【図５】
2008020370.tif 000012
【図６】
2008020370.tif 000013
【図７】
2008020370.tif 000014
【図８】
2008020370.tif 000015
【図９】
2008020370.tif 000016
【図１０】
2008020370.tif 000017
【図１１】
2008020370.tif 000018
【図１２】
2008020370.tif 000019
【図１３】
2008020370.tif 000020
【図１４】
2008020370.tif 000021
【図１５】
2008020370.tif 000022
【図１６】
2008020370.tif 000023