説明

自律移動装置及び平面状障害物認識方法

【課題】自律移動装置において、壁などの平面状障害物の位置を単純な手順により容易に認識可能とし、正確に自己位置を特定して、効率的で安全な自律走行を可能とする。
【解決手段】水平面内をスキャンし、反射波を受信して複数のスキャンポイントの座標を取得し、時系列的に前後する2つのスキャンポイントについて、要素ベクトルを形成し、複数の要素ベクトルの中から時系列的に前後し、かつ互いに連続する複数の要素ベクトルで、その長さが第1所定長以下であり、角度が第1所定角度以下であり、角度の積算値が第2所定角度以下であるものを選択し、ベクトル合成して1つのスキャンセグメントベクトルとし、スキャンセグメントベクトルの始点と終点により定義される線分が第2所定長以上であるときに、そのスキャンセグメントベクトルに沿って平面状障害物が存在していると認識する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、自律移動装置に関し、特に自律移動装置に搭載され、自律移動に適する平面状障害物認識方法に関する。
【背景技術】
【0002】
従来、レーザレーダを用いて一定角度又は一定間隔で水平面内をスキャンし、物体からの反射波を受信して二次元平面内に分布する一群のスキャンポイントを取得し、これらのスキャンポイントの中から特定の条件でスキャンポイントを選択すると共に、選択されたスキャンポイントを連結して線分の集合を形成し、この線分の集合により空間に分布する壁(平面状障害物)の表面位置を認識する方法が知られている(例えば、非特許文献1参照)。
【非特許文献1】Li Zhang&Bijoy K.Ghosh, ”Line Segment Based Map Building and Localization Using 2D Laser Rangefinder”, IEEE Int. Conf.On Robotics & Automation,pp.2538−2543,2000
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記従来の平面状障害物認識方法では、多数のスキャンポイントの中から特定のスキャンポイントを選択して線分の集合を形成する際に、例えば、あるスキャンポイントからある線分までの距離を求める計算を複数回行う手順を含んでいるため、演算処理が煩雑であり、演算処理に時間を要する。そのため、自律移動装置の障害物認識方法として搭載した場合、安全で、かつ確実に自律移動させるには、自律移動装置の移動速度を遅くしなければならないなどの問題が生じる。そのため、自律移動装置に搭載するには、より単純な手順による平面状障害物認識方法が必要である。また、従来の平面状障害物認識方法では、網や格子でできたフェンスのように空隙のある平面状障害物の場合、平面状障害物の裏側に存在する物体からの反射波を受信してしまうため、空隙を有する平面状障害物を正確に認識することが困難である。そのため、自律移動装置に適した平面状障害物認識方法として、空隙を有する平面状障害物の認識が可能な方法は実用化されていない。
【0004】
本発明は、上記課題を解決するためになされたものであり、障害物としての平面状障害物、特に空隙を有する平面状障害物の位置を単純な手順により正確に認識することができ、効率的で安全に自律走行できる自律移動装置及びそれに適する平面状障害物認識方法を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記課題を達成するために、請求項1に発明に係る自律移動装置は、
電磁波又は音波を用いて所定の空間を一定角度又は一定間隔でスキャンし、その空間内に存在する物体からの反射波を受信して、電磁波又は音波を反射した複数のスキャンポイントの座標を得るスキャンポイント取得手段と、
前記複数のスキャンポイントのうち、前記スキャンポイント取得手段により得られた順番が時系列的に前後する2つのスキャンポイントについて、前のスキャンポイントを始点とし後のスキャンポイントを終点とする要素ベクトルを形成する要素ベクトル形成手段と、
複数の要素ベクトルの中から、要素ベクトルの長さが第1所定長以下の第1要素ベクトルを選択すると共に、前記要素ベクトル形成手段により得られた順番が時系列的に前後し、かつ前記第1要素ベクトルに連続する要素ベクトルであって、要素ベクトルの長さが第1所定長以下であり、前記第1要素ベクトルに対してなす振れ角度が第1所定角度以下であるものを第2要素ベクトルとして選択する要素ベクトル選択手段と、
選択された前記第1要素ベクトルを保持してスキャンセグメントベクトルを初期化すると共に、スキャンセグメントベクトルと前記第2要素ベクトルを合成したものでスキャンセグメントベクトルを更新して振れ角度の積算値が第2所定角度以下でなくなるまで、前記第2要素ベクトルを第1要素ベクトルに置き換えてスキャンセグメントベクトルを形成するスキャンセグメントベクトル形成手段と、
前記形成されたスキャンセグメントベクトルの始点と終点により定義される線分を第2所定長と比較し、線分が第2所定長以上であるときに、そのスキャンセグメントベクトルに沿って平面状障害物が存在していると認識する障害物認識手段を備えている。
【0006】
請求項2の発明は、請求項1に記載の自律移動装置において、要素ベクトル形成手段は、任意の原点から所定距離以内にあるスキャンポイントのみを用いて要素ベクトルを形成することを特徴とする。
【0007】
請求項3の発明は、請求項1又は2に記載の自律移動装置において、要素ベクトル形成手段は、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとして形成された要素ベクトルが前記第1所定長よりも長いときは、第1スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第2スキャンポイントとして要素ベクトルを形成することを特徴とする。
【0008】
請求項4の発明は、請求項3に記載の自律移動装置において、要素ベクトル形成手段は、前記任意のスキャンポイントに対して、所定回数だけ要素ベクトルを形成しても、前記第1所定長以下の要素ベクトルが得られないときは、前記任意のスキャンポイントに時系列的に連続するスキャンポイントを新たな第1スキャンポイントとして要素ベクトルを形成することを特徴とする。
【0009】
請求項5の発明は、請求項1又は2に記載の自律移動装置において、
要素ベクトル形成手段は、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとし、第2スキャンポイントに時系列的に連続するスキャンポイントを第3スキャンポイントとして要素ベクトルを形成し、
第2スキャンポイントを始点とし第3スキャンポイントを終点とする要素ベクトルが、第1スキャンポイントを始点とし第2スキャンポイントを終点とする要素ベクトルに対してなす振れ角度が第1所定角度よりも大きい場合に、第3スキャンポイントを排除して、第2スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第3スキャンポイントとして、要素ベクトルを形成することを特徴とする。
【0010】
請求項6の発明は、請求項1又は2に記載の自律移動装置において、
要素ベクトル形成手段は、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとして形成された第1要素ベクトルが前記第1所定長よりも長いときは、第1スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第2スキャンポイントとして第1要素ベクトルを形成し、
さらに、第2スキャンポイントに時系列的に連続するスキャンポイントを第3スキャンポイントとし、第2スキャンポイントを始点とし第3スキャンポイントを終点とする第2要素ベクトルが、第1スキャンポイントを始点とし第2スキャンポイントを終点とする第1要素ベクトルに対してなす振れ角度が第1所定角度よりも大きい場合に、第3スキャンポイントを排除して、第2スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第3スキャンポイントとして、第2要素ベクトルを形成することを特徴とする。
【0011】
請求項7の発明は、請求項1に記載の自律移動装置において、スキャンセグメントベクトル形成手段により1つのスキャンセグメントベクトルが形成されると、複数のスキャンポイントのうち、スキャンセグメントベクトルの形成に用いられなかったスキャンポイントを用いて、新たなスキャンセグメントベクトルの形成を試みることを特徴とする。
【0012】
請求項8の発明は、請求項7に記載の自律移動装置において、2以上のスキャンセグメントベクトルが形成された場合に、第2スキャンセグメントベクトルが他の第1スキャンセグメントベクトルに対してなす角度が前記第1所定角度以下であり、かつ前記第2スキャンセグメントベクトルの始点が第1スキャンセグメントベクトルの終点から所定距離以内であるとき、スキャンセグメントベクトル形成手段は、第1スキャンセグメントベクトルの終点を始点とし、第2スキャンセグメントベクトルの始点を終点とするベクトルを、第1スキャンセグメントベクトルと第2スキャンセグメントベクトルの間に合成して新たなスキャンセグメントベクトルを形成することを特徴とする。
【0013】
請求項9の発明は、請求項1に記載の自律移動装置において、
スキャンセグメントベクトル形成手段は、スキャンセグメントベクトルの形成に寄与したスキャンポイントの情報を保存し、
障害物認識手段は、前記スキャンセグメントベクトルの始点と終点により定義される線分の長さが前記第2所定長以上であるときに、保存されたスキャンポイントの座標を用いて最小二乗法により、スキャンポイントに最適にフィットする線分を演算し、この線分を平面状障害物として認識することを特徴とする。
【0014】
請求項10の発明は、請求項1に記載の自律移動装置において、
要素ベクトル形成手段は、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとして、第1スキャンポイントを始点とし、第2スキャンポイントを終点として第1群の要素ベクトルを形成し、
要素ベクトル形成手段はさらに、第1スキャンポイントを始点とし、第2スキャンポイントを終点として形成される要素ベクトルが第1所定長以下の時は、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとして要素ベクトルを形成し、また、形成される要素ベクトルが前記第1所定長よりも長いときは、第1スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第2スキャンポイントとして第2群の要素ベクトルを形成し、
要素ベクトル選択手段は、前記第1群の要素ベクトルから連続する複数の要素ベクトルを選択すると共に、前記第2群の要素ベクトルから連続する複数の要素ベクトルを選択し、
スキャンセグメントベクトル形成手段は、前記第1群の要素ベクトルから選択された複数の要素ベクトルをベクトル合成して第1スキャンセグメントベクトルを形成すると共に、前記第2群の要素ベクトルから選択された複数の要素ベクトルをベクトル合成して第2スキャンセグメントベクトルを形成し、第2スキャンセグメントベクトルを形成する要素ベクトルから第1スキャンセグメントベクトルを形成する要素ベクトルを引き去る演算を行い、残った要素ベクトルを用いて第3スキャンセグメントベクトルを形成し、
障害物認識手段は、形成された第3スキャンセグメントベクトルの始点と終点により定義される線分を第2所定長と比較し、線分が第2所定長以上であるときに、その第3スキャンセグメントベクトルに沿って空隙を有する平面状障害物が存在していると認識することを特徴とする。
【0015】
請求項11の発明は、請求項1乃至10のいずれかに記載の自律移動装置において、
自律移動装置の稼働領域の地図上に存在する平面状障害物の線分の集合であるマップセグメントを記憶した記憶手段と、
スキャンセグメントとマップセグメントを照合するセグメント照合手段として機能し、地図上における平面状障害物の位置を特定すると共に、地図上における自律移動装置の自己位置を特定する自己位置特定手段をさらに備えたことを特徴とする。
【0016】
請求項12の発明は、請求項11に記載の自律移動装置において、前記自己位置特定手段は、地図上の平面状障害物の位置と、自律移動装置上の原点からの平面状障害物までの距離及び方向に基づいて、地図上の自己位置を特定することを特徴とする。
【0017】
請求項13の発明に係る平面状障害物認識方法は、
電磁波又は音波を用いて所定の空間を一定角度又は一定間隔でスキャンし、その空間内に存在する物体からの反射波を受信して、電磁波又は音波を反射した複数のスキャンポイントの座標を得るスキャンポイント取得ステップと、
前記複数のスキャンポイントのうち、前記スキャンポイント取得ステップにより得られた順番が時系列的に前後する2つのスキャンポイントについて、前のスキャンポイントを始点とし後のスキャンポイントを終点とする要素ベクトルを形成する要素ベクトル形成ステップと、
複数の要素ベクトルの中から、要素ベクトルの長さが第1所定長以下の第1要素ベクトルを選択すると共に、前記要素ベクトル形成手段により得られた順番が時系列的に前後し、かつ前記第1要素ベクトルに連続する要素ベクトルであって、要素ベクトルの長さが第1所定長以下であり、前記第1要素ベクトルに対してなす振れ角度が第1所定角度以下であるものを第2要素ベクトルとして選択する要素ベクトル選択ステップと、
選択された前記第1要素ベクトルを保持してスキャンセグメントベクトルを初期化すると共に、スキャンセグメントベクトルと前記第2要素ベクトルを合成したものでスキャンセグメントベクトルを更新して振れ角度の積算値が第2所定角度以下でなくなるまで、前記第2要素ベクトルを第1要素ベクトルに置き換えてスキャンセグメントベクトルを形成するスキャンセグメントベクトル形成ステップと、
前記形成されたスキャンセグメントベクトルの始点と終点により定義される線分を第2所定長と比較し、線分が第2所定長以上であるときに、そのスキャンセグメントベクトルに沿って平面状障害物が存在していると認識する障害物認識ステップを備えていることを特徴とする。
【0018】
請求項14の発明は、請求項13に記載の平面状障害物認識方法において、要素ベクトル形成ステップは、任意の原点から所定距離以内にあるスキャンポイントのみを用いて要素ベクトルを形成することを特徴とする。
【0019】
請求項15の発明は、請求項13又は14に記載の平面状障害物認識方法において、要素ベクトル形成ステップは、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとして形成された要素ベクトルが前記第1所定長よりも長いときは、第1スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第2スキャンポイントとして要素ベクトルを形成することを特徴とする。
【0020】
請求項16の発明は、請求項15に記載の平面状障害物認識方法において、要素ベクトル形成ステップは、前記任意のスキャンポイントに対して、所定回数だけ要素ベクトルを形成しても、前記第1所定長以下の要素ベクトルが得られないときは、前記任意のスキャンポイントに時系列的に連続するスキャンポイントを新たな第1スキャンポイントとして要素ベクトルを形成することを特徴とする。
【0021】
請求項17の発明は、請求項13又は14に記載の平面状障害物認識方法において、
要素ベクトル形成ステップは、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとし、第2スキャンポイントに時系列的に連続するスキャンポイントを第3スキャンポイントとして要素ベクトルを形成し、
第2スキャンポイントを始点とし第3スキャンポイントを終点とする要素ベクトルが、第1スキャンポイントを始点とし第2スキャンポイントを終点とする要素ベクトルに対してなす振れ角度が第1所定角度よりも大きい場合に、第3スキャンポイントを排除して、第2スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第3スキャンポイントとして、要素ベクトルを形成することを特徴とする。
【0022】
請求項18の発明は、請求項13又は14に記載の平面状障害物認識方法において、
要素ベクトル形成ステップは、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとして形成された第1要素ベクトルが前記第1所定長よりも長いときは、第1スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第2スキャンポイントとして第1要素ベクトルを形成し、
さらに、第2スキャンポイントに時系列的に連続するスキャンポイントを第3スキャンポイントとし、第2スキャンポイントを始点とし第3スキャンポイントを終点とする第2要素ベクトルが、第1スキャンポイントを始点とし第2スキャンポイントを終点とする第1要素ベクトルに対してなす振れ角度が第1所定角度よりも大きい場合に、第3スキャンポイントを排除して、第2スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第3スキャンポイントとして、第2要素ベクトルを形成することを特徴とする。
【0023】
請求項19の発明は、請求項13に記載の平面状障害物認識方法において、
スキャンセグメントベクトル形成ステップにより1つのスキャンセグメントベクトルが形成されると、複数のスキャンポイントのうち、スキャンセグメントベクトルの形成に用いられなかったスキャンポイントを用いて、新たなスキャンセグメントベクトルの形成を試みることを特徴とする。
【0024】
請求項20の発明は、請求項19に記載の平面状障害物認識方法において、
2以上のスキャンセグメントベクトルが形成された場合に、第2スキャンセグメントベクトルが他の第1スキャンセグメントベクトルに対してなす角度が前記第1所定角度以下であり、かつ前記第2スキャンセグメントベクトルの始点が第1スキャンセグメントベクトルの終点から所定距離以内であるとき、スキャンセグメントベクトル形成ステップは、第1スキャンセグメントベクトルの終点を始点とし、第2スキャンセグメントベクトルの始点を終点とするベクトルを第1スキャンセグメントベクトルと第2スキャンセグメントベクトルの間に合成して新たなスキャンセグメントベクトルを形成することを特徴とする。
【0025】
請求項21の発明は、請求項13に記載の平面状障害物認識方法において、
スキャンセグメントベクトル形成ステップは、スキャンセグメントベクトルの形成に寄与したスキャンポイントの情報を保存し、
障害物認識ステップは、前記スキャンセグメントベクトルの始点と終点により定義される線分の長さが前記第2所定長以上であるときに、保存されたスキャンポイントの座標を用いて最小二乗法により、スキャンポイントに最適にフィットする線分を演算し、この線分を平面状障害物として認識することを特徴とする。
【0026】
請求項22の発明は、請求項13に記載の平面状障害物認識方法において、
要素ベクトル形成ステップは、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとして、第1スキャンポイントを始点とし、第2スキャンポイントを終点として第1群の要素ベクトルを形成し、
要素ベクトル形成ステップはさらに、第1スキャンポイントを始点とし、第2スキャンポイントを終点として形成される要素ベクトルが第1所定長以下の時は、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとして要素ベクトルを形成し、また、形成される要素ベクトルが前記第1所定長よりも長いときは、第1スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第2スキャンポイントとして第2群の要素ベクトルを形成し、
要素ベクトル選択ステップは、前記第1群の要素ベクトルから連続する複数の要素ベクトルを選択すると共に、前記第2群の要素ベクトルから連続する複数の要素ベクトルを選択し、
スキャンセグメントベクトル形成ステップは、前記第1群の要素ベクトルから選択された複数の要素ベクトルをベクトル合成して第1スキャンセグメントベクトルを形成すると共に、前記第2群の要素ベクトルから選択された複数の要素ベクトルをベクトル合成して第2スキャンセグメントベクトルを形成し、第2スキャンセグメントベクトルを形成する要素ベクトルから第1スキャンセグメントベクトルを形成する要素ベクトルを引き去る演算を行い、残った要素ベクトルを用いて第3スキャンセグメントベクトルを形成し、
障害物認識ステップは、形成された第3スキャンセグメントベクトルの始点と終点により定義される線分を第2所定長と比較し、線分が第2所定長以上であるときに、その第3スキャンセグメントベクトルに沿って空隙を有する平面状障害物が存在していると認識することを特徴とする。
【発明の効果】
【0027】
請求項1又は13の発明によれば、連続する複数の要素ベクトルの長さがそれぞれ第1所定長以下であり、1つの要素ベクトルに対してそれに連続する他の要素ベクトルがなす振れ角度が第1所定角度以下であり、振れ角度の積算値が第2所定角度以下である場合に、これらの要素ベクトルの形成に用いられたスキャンポイントが同一の障害物上の点であると看做すことができる。そして、これらの要素ベクトルをベクトル合成して形成されるスキャンセグメントベクトルの長さが第2所定長以上であるとき、さらにその障害物が平面状障害物あると看做すことができる。このスキャンセグメントベクトルは、平面状障害物の位置、方向、大きさなどを表しているので、自律移動装置は、平面状障害物までの方向と距離に基づいて地図上における自己位置を正確に特定することができ、それにより、自律移動装置が自律移動を行う際、スキャンセグメントベクトルで特定された平面状障害物を避けて走行することにより、安全な自律移動を行うことができる。また、平面状障害物の認識は、スキャンポイントの取得、要素ベクトルの形成、要素ベクトルの選択、スキャンセグメントベクトルの形成及びスキャンセグメントベクトルの比較という、比較的単純な処理によって行われるので、従来の方法に比べて短時間で平面状障害物の認識が可能になる。その結果、自律移動装置の走行速度を速くすることができるなど、効率的な自律移動が可能になる。
【0028】
請求項2又は14の発明によれば、比較的遠方にある障害物のスキャンポイントを障害物認識処理の対象から除外して計算量を削減することができ、例えば自律移動のための判断をより早く行うことができる。
【0029】
請求項3又は15の発明によれば、時系列的に連続するスキャンポイントが距離的に離れすぎていて要素ベクトルを形成するのに適当でないときに、そのスキャンポイントをスキップして他のスキャンポイントを用いて要素ベクトルを形成することができる。そのため、例えば平面状障害物が空隙を有する場合に、その空隙を透過して、障害物の後ろの物体からの反射波がスキャンポイントとして得られたとしても、そのスキャンポイントがスキップされるので、正確に空隙を有する平面状障害物を正確に認識することができる。
【0030】
請求項4又は16の発明によれば、要素ベクトルを形成しようとしている最初のスキャンポイントが適当でない場合に、そのスキャンポイントをスキップして、次のスキャンポイントにつて要素ベクトルを形成することができる。その結果、要素ベクトルが形成されずに、平面状障害物が認識できないといったトラブルを防止することができる。
【0031】
請求項5又は17の発明によれば、時系列的に連続する3つのスキャンポイントによって形成される2つの要素ベクトルのなす角度が大きすぎて、スキャンセグメントベクトルを形成する要素ベクトルとして適当でないときに、3つ目のスキャンポイントをスキップして他のスキャンポイントを用いて要素ベクトルを形成することができる。そのため、例えば平面状障害物が空隙を有する場合に、その空隙を透過して、障害物の後ろの物体からの反射波がスキャンポイントとして得られたとしても、そのスキャンポイントがスキップされるので、正確に空隙を有する平面状障害物を正確に認識することができる。
【0032】
請求項6又は18の発明によれば、時系列的に連続する2つのスキャンポイントが距離的に離れすぎていて要素ベクトルを形成するのに適当でないとき、又は、時系列的に連続する3つのスキャンポイントによって形成される2つの要素ベクトルのなす角度が大きすぎて、スキャンセグメントベクトルを形成する要素ベクトルとして適当でないときに、3つ目のスキャンポイントをスキップして他のスキャンポイントを用いて要素ベクトルを形成することができる。そのため、例えば平面状障害物が空隙を有する場合に、その空隙を透過して、障害物の後ろの物体からの反射波がスキャンポイントとして得られたとしても、そのスキャンポイントがスキップされるので、正確に空隙を有する平面状障害物を正確に認識することができる。
【0033】
請求項7又は19の発明によれば、例えば空隙を有する平面状障害物が空隙を有しない平面状障害物に平行して存在している場合など、障害物の二重構造であっても、1つの平面状障害物を表すスキャンセグメントベクトルの形成に用いられなかったスキャンポイントを用いて新たな平面状障害物の認識処理が行われるので、1つの平面状障害物の後ろに存在する他の平面状障害物を正確に認識することが可能になる。そして、複数の平面状障害物の位置のいずれを認識しているかを正確に把握することができるので、自律移動装置の自律移動の際の自己位置を正確に特定することができる。
【0034】
請求項8又は20の発明によれば、本来1つの平面状障害物が、何らかの理由で複数のスキャンセグメントベクトルで表されている場合に、一定の条件で、途切れている部分に新たなベクトルを合成することによって、1つのスキャンベクトルに合成することができる。その結果、平面状障害物が、例えば複数の支柱とその間に保持された金網などで構成されるフェンスである場合であっても、その平面状障害物を正確に認識することができる。
【0035】
請求項9又は21の発明によれば、スキャンセグメントベクトルからスキャンセグメントを抽出する際、スキャンセグメントベクトルの形成に寄与した複数のスキャンセグメントの位置座標を用いて、最小二乗法により、これらのスキャンポイントに最適にフィットする線分を算出するので、実際の平面状障害物の位置及び方向により近い情報がえられる。
【0036】
請求項10又は22の発明によれば、まず、スキャンポイントのスキップを行わない方法により第1群の要素ベクトルを形成し、それを用いて第1群のスキャンセグメントベクトルが形成される。この場合、空隙を有する平面状障害物に関しては、スキャンセグメントベクトルは形成されない。次に、スキャンポイントのスキップを行う方法により第2群の要素ベクトルを形成し、それを用いて第1群のスキャンセグメントベクトルが形成される。この場合、空隙を有する平面状障害物に関しても、スキャンセグメントベクトルが形成される。従って、両者を比較し、所定の処理を行うことにより、空隙を有する平面状障害物のみを特定することができる。
【0037】
請求項11の発明によれば、自律移動装置が自律移動する際、スキャンセグメントとマップセグメントを照合することにより、地図上における平面状障害物の位置を特定すると共に、地図上における自律移動装置の自己位置を特定することができる。
【0038】
請求項12の発明によれば、予めわかっている地図上の平面状障害物の位置と、自律移動装置上の原点からの平面状障害物までの距離及び方向に基づいて、地図上の自己位置を正確に特定することができる。
【発明を実施するための最良の形態】
【0039】
以下、本発明の一実施形態に係る自律移動装置及びそれに適する平面状障害物認識方法について、図面を参照して説明する。図1は、本発明の自律移動装置1のブロック構成を示す。自律移動装置1は、稼動領域の地図情報及び走行のための各種パラメータを記憶する記憶部11と、障害物の位置や自己位置を特定するための環境情報を取得する環境情報取得部12と、走行を行うための走行装置13と、記憶部11に記憶した地図情報と環境情報取得部12によって取得された環境情報とを照合して自己の位置を特定する自己位置認識部14と、走行領域内の目的地や走行のためのパラメータなどを入力するためのヒューマンインターフェース15と、自己位置認識部14による特定結果に基づいて、自己位置を特定しつつ障害物を回避しながら走行装置13を制御する走行制御部17を備えている。
【0040】
走行装置13は、電池13aの電力で駆動されるモータを備えている。このモータには、その回転数や回転速度を計測するエンコーダが設けられている。自律移動装置1の走行制御部17は、このエンコーダの出力を用いて移動距離や移動方向を知ることができ、それらに基づいてデッドレコニング(dead reckoning推定航法)を行う。また、ヒューマンインターフェース15は、人が直接操作できるタッチパネルやキーボード、又は、人が遠隔操作できる通信装置などにより構成されている。
【0041】
また、地図情報として、稼働領域における壁、フェンス、柵などの平面状障害物を表現する線分の集合がマップセグメントとして予め設定され、記憶部11に記憶されている。さらに、環境情報取得部12は、自律移動装置1の本体の特定の位置を原点とし、その原点から臨む空間を一定角度又は一定間隔でスキャンして、原点からの方向毎にその方向に存在する壁などの平面状障害物を含む障害物上の点の位置座標を環境情報として取得し、スキャンの時系列に従って順序付けられた複数の位置座標の集合からなるスキャンポイントを取得する、例えばレーザレーダなどのスキャンポイント取得部12aを備えている。
【0042】
スキャンポイント取得部12aは、例えば、自律移動装置1の本体の前方に配置されており、前方空間を所定に高さ及び所定角度でスキャンし、壁などの平面状障害物や他の環境物体からの反射波を受信して、レーザビームが反射された物体の位置座標をスキャンポイントとして取得する。また、スキャンポイント取得部12aとして、超音波発信素子とアレイ状に配列した超音波受信素子とを組み合わせた、電子スキャンの可能な超音波センサを用いることができる。さらに、環境情報取得部12による障害物検知のために、通常の障害物検知用超音波センサを用いることができる。なお、スキャンポイント取得部12aによるスキャンは必ずしも水平である必要はなく、傾斜していてもよい。また、照射されるレーザビームなどは、一定の拡がりを有していてもよい。
【0043】
また、自己位置認識部14は、さらに、要素ベクトル形成部14a、要素ベクトル選択部14b、スキャンセグメントベクトル形成部14c及び障害物認識部14dを備えている。要素ベクトル形成部14aは、スキャンポイントのうち、取得された順番が時系列的に前後する2つのスキャンポイントについて、前のスキャンポイントを始点とし、後のスキャンポイントを終点とする要素ベクトルを形成する。要素ベクトル選択部14bは、形成された要素ベクトルの中から、連続する複数の要素ベクトルであって、要素ベクトルの長さがそれぞれ第1所定長さ以下であり、1つの要素ベクトルに対してそれに連続する他の要素ベクトルがなす振れ角度が第1所定角度以下であり、振れ角度の積算値が第2所定角度以下であるものを選択する。スキャンセグメントベクトル形成部14cは、選択された連続する複数の要素ベクトルをベクトル合成して1つのスキャンセグメントベクトルを形成する。障害物認識部14dは、形成されたスキャンセグメントベクトルの始点と終点により定義された線分を第2所定長さと比較し、線分が第2所定長さ以上であるときに、そのスキャンセグメントベクトルに沿って平面状障害物が存在すると判断し、スキャンセグメントベクトルから抽出されたスキャンセグメントとマップセグメントとを照合して平面状障害物の位置を地図上で特定する。自己位置認識部14は、自己位置に対する平面状障害物までの距離や方向に基づいて、自律移動装置1の自己位置を正確に特定する。
【0044】
上述の記憶部11、自己位置認識部14、要素ベクトル形成部14a、要素ベクトル選択部14b、スキャンセグメントベクトル形成部14c、障害物認識部14d、走行制御部17は、CPUやメモリや外部記憶装置や表示装置や入力装置などを備えた一般的な構成のコンピュータにおいて所定のプログラムを実行することによってその機能が達成される。
【0045】
次に、図2を参照して、上述の自律移動装置1が上記平面状障害物認識方法を用いて自己位置特定又は認識を行いながら自律走行する手順を説明する。走行制御部17は、走行装置13を駆動する駆動モータのエンコーダ情報に基づいて自律移動装置1のおおよその位置を知る。自律移動装置1は、走行開始とともに、この自己位置の情報に基づいてデッドレコニングを行う(#1)。スキャンポイント取得部12aは、環境情報取得部12の制御のもとで、走行方向の前方における一群のスキャンポイントを取得する(#2)。次に、要素ベクトル形成部14aがスキャンポイントから要素ベクトルを形成し、要素ベクトル選択部14bが上記要件を満たす複数の要素ベクトルを選択し、さらにスキャンセグメントベクトル形成部14cはスキャンセグメントベクトルSSVをベクトル合成する(#3)。
【0046】
続くステップにおいて、障害物認識部14dは、上述のスキャンセグメントベクトルSSVの始点と終点により定義された線分から第2所定長以上の線分を抽出して、抽出された線分を走行環境に存在する平面状障害物を表現する線分であるスキャンセグメントSSと判断する。さらに、障害物認識部14dは、このスキャンセグメントSSと地図情報における平面状障害物の線分の集合からなるマップセグメントと照合して、平面状障害物の位置を地図上で特定する。自己位置認識部14は、地図上での平面状障害物の位置、上記原点(自己位置)に対する平面状障害物までの距離や方向に基づいて、自律移動装置1の自己位置を特定する(#4)。
【0047】
自己位置認識部14による自己位置特定の結果を受けて、走行制御部17は、デッドレコニングによって走行している自律移動装置1の自己位置をより正確な位置に修正して、走行制御する。そして、走行制御部17は、自律移動装置1が、目的地に到着した場合(#5でYES)、走行終了する。目的地に到着していない場合(#5でNO)、上述のステップ#1〜#5が所定間隔で繰り返される。
【0048】
次に、図3(a)及び(b)、図4、図5(a)〜(d)を参照して、平面状障害物認識方法におけるスキャンポイントの取得方法及び用語の定義を説明する。個々のスキャンポイントは、上記のようにスキャンポイント取得部12aであるレーザレーダによりレーザビームを自律移動装置1の前方又は注目する方向に一定角度又は一定間隔で照射し、壁などの平面状障害物を含む障害物により反射された反射波を受信し、レーザビームを反射した障害物の部分の原点からの位置座標情報である。また、一群のスキャンポイントは、時系列に従って順序付けられた複数の位置座標の集合である。地図上での平面状障害物の位置が環境情報として特定されているときは、その平面状障害物が認識できれば、自律移動装置1の自己位置を特定するために用いることができる。
【0049】
平面状障害物には、図3(a)に示すような平面の連続した建物の壁21や、図3(b)に示すような不連続な屋外における格子塀、金網のフェンス、あるいは鎧板など22などが含まれる。スキャンポイントの座標データは、例えば、(a)に示すように、自律移動装置1の本体の特定の位置を原点とする所定距離内の前方180゜の領域10のデータとして得られる。ここで、壁21は、角度θ1から角度θ2の間に検出される。
【0050】
図4は、測定されたスキャンポイントの空間配置の一例を示す。この例では、スキャンポイントS(i)(i=0〜360)が、スキャンポイント取得部12aによって、角度範囲0〜180゜において角度θ=0.5゜毎に測定されている。各スキャンポイントS(i)は、後述する一定の規則に従って、グループ化され、そのうち特定のグループが、平面状障害物を表現するスキャンセグメントベクトルSSV(i,j)を構成する。なお、以下において、i,jなどの引数は整数であり、その大小は、スキャンポイント測定の時系列における測定順番を表しているものとする。
【0051】
例えば、スキャンポイントS(1)〜S(4)は、スキャンセグメントベクトルSSV(1,4)を構成する。また、スキャンポイントS(i+4)を除くスキャンポイントS(i)〜S(i+6)は、スキャンセグメントベクトルSSV(i,i+6)を構成する。スキャンポイントS(i+4)や、破線Gで囲まれたスキャンポイントSUNは、スキャンセグメントベクトルSSVを構成するグループから除外されたグループに属するスキャンポイントである。
【0052】
ここで、要素ベクトルVについて説明する。要素ベクトルVは、互いにベクトル合成されてスキャンセグメントベクトルSSVを形成するベクトルであり、スキャンポイントSを始点及び終点とする。従って、スキャンセグメントベクトルSSVを構成する各スキャンポイントSは、互いに要素ベクトルVを形成する。一方、スキャンセグメントベクトルSSVを構成しないスキャンポイントSUN、例えばS(i+4)は、要素ベクトルVを形成しない。また、要素ベクトルVは、時系列的に連続する2つのスキャンポイントSによって形成される場合の他に、必ずしも時系列的に連続しない2つのスキャンポイントSによって形成される場合もありうる。例えば、柵などのように不連続な平面状障害物の場合、スキャンポイントS(i+4)は、空隙を通ってレーザビームを反射した平面状障害物の向こう側にある障害物の点と考えられる。
【0053】
次に、スキャンポイントSからスキャンセグメントベクトルSSVを形成する手順と規則を説明する。図5(a)は、2つのスキャンポイントS(j−1)及びS(j)で定義される要素ベクトルV(j−1,j)を示す。この要素ベクトルVの方向は、スキャンにより先に得られたスキャンポイント(j−1)から後から得られたスキャンポイントS(j)に向かう。また、2つのスキャンポイントSで定義されるベクトルが要素ベクトルVとされるためには、その2つのスキャンポイントS間の距離、すなわちベクトルの長さL(j−1,j)が第1所定長ML以下であることが必要である。このような要素ベクトルVの形成は、自己位置認識部14に備えられた要素ベクトル形成部14aによって行われる。
【0054】
図5(b)は、上述の要素ベクトルV(j−1,j)に、新たなスキャンポイントS(j+1)を加えて新たな要素ベクトルV(j,j+1)を定義する様子を示す。この場合、新たな要素ベクトルV(j,j+1)の長さは第1所定長ML以下であり、かつ、要素ベクトルV(j,j+1)がそれに連続する他の要素ベクトルV(j−1,j)に対してなす角度θ(j,j+1)が第1所定角度Mθ以下であることが必要である。
【0055】
図5(c)は、スキャンポイントS(j)とS(j+1)により定義されるベクトルが、それに連続する要素ベクトルV(j−1,j)に対してなす角度θ(j,j+1)が第1所定角度Mθよりも大きいことによって、スキャンポイントS(j+1)が要素ベクトル形成点から除外される場合を示す。その場合、1つスキップした次のスキャンポイントS(j+2)を用いて要素ベクトルV(j,j+2)が形成される。このような要素ベクトルVの選択は、自己位置認識部14に備えられた要素ベクトル選択部14bによって行われる。
【0056】
図5(d)は、複数の要素ベクトルVが連続して形成された場合に定義されるスキャンセグメントベクトルSSV(j,j+5)の例を示す。スキャンセグメントベクトルSSVは、複数の要素ベクトルVをベクトル合成して形成されるベクトルである。従って、連続する要素ベクトルの最初の要素ベクトルVの始点を始点とし、最後の要素ベクトルVの終点を終点とするベクトルである。スキャンセグメントベクトルSSVは、合成された要素ベクトルVを形成する複数のスキャンポイントS中にスキップされたスキャンポイントSSKがあったとしても、このような2つのスキャンポイントS(j),S(j+5)によって定義することができる。
【0057】
スキャンセグメントベクトルSSVによって平面状障害物を表現しようとすることから、上記ベクトル合成に関して、現実に存在する平面状障害物の形状等を想定した制限を設けることが望ましい。そこで、例えば、複数の要素ベクトルVをベクトル合成してスキャンセグメントベクトルSSVを形成する際に、角度に条件を設ける。互いに隣り合う2つの要素ベクトルVのなす角度θの合計が第2所定角度MΣθ以下の場合、この合成ベクトルをスキャンセグメントベクトルSSVとする。角度の合計Σθは、スキャンセグメントベクトルSSVに含まれる各要素ベクトルV間の角度を正負の符号付きで定義して加算することにより得られる。この条件は、連続した平面状障害物を想定する場合に相当する。
【0058】
また、所定の制限のもとで、スキャンセグメントベクトルSSVから、スキャンセグメントSSが定義される。すなわち、スキャンセグメントベクトルSSVの始点と終点により定義された線分が第2所定長TL0以上の場合、この線分がスキャンセグメントSSとして定義される。多数のスキャンポイントSから最終的に複数のスキャンセグメントベクトルSSVが形成された後、これらのスキャンセグメントベクトルSSVから特定のものが抽出され、第2所定長TL0以上の長さをもつスキャンセグメントSSが得られる。このようなスキャンセグメントSSの抽出は、自己位置認識部14に備えられた障害物認識部14dによって行われる。
【0059】
障害物認識部14dはさらにセグメント照合部としても機能し、このようなスキャンセグメントSSと地図情報における平面状障害物の線分の集合からなるマップセグメントと照合して、平面状障害物の位置を地図上で特定し、さらに自律移動装置1の自己位置を特定する。このように、平面状障害物の位置をあらかじめ地図上の環境情報(セグメントマップ)として記憶させておけば、スキャンセグメントSSをマップセグメントと照合することによって、平面状障害物の位置を単純な手順により正確に特定することが可能であり、さらに自己位置を正確に特定することができるので、自律移動装置1を効率的でかつ安全に自律走行させることができる。
【0060】
次に、図6に示すフローチャートを参照して、スキャンセグメントSSの抽出を詳細に説明する。ここで説明する抽出処理は、要素ベクトルVの形成に際してスキャンポイントSのスキップを行わない場合の処理である。スキップを認める場合の処理は後述する。
【0061】
スキャンセグメントSSの抽出は、まず、スキャンポイント取得部12aによって取得された(n+1)個の点から成るスキャンポイントS(i)(i=0,1,・・n)の準備から始まる(#11)。スキャンセグメントベクトルSSVの始点は、最初のスキャンポイントS(0)と仮定されて、スキャンセグメントベクトルSSVの始点となるスキャンポイントS(m)の番号mが、m=0と初期化される(#12)。なお、このスキャンポイントS(0)が要素ベクトルVを形成しない場合、mは次々と更新される。その意味で「仮定」された始点番号であり、この点を含むスキャンセグメントSSが確定した時点でmが確定する。
【0062】
次に、角度積算変数Σθ及びベクトル合成点番号jがそれぞれ初期化される(#13)。角度積算変数Σθは、2つの要素ベクトルVの間の角度を正負の符号付きで積算するための変数である。ベクトル合成点番号jは、図5(b)において連続する2つの要素ベクトルV(j−1,j)とV(j,j+1)が合成されるスキャンポイントS(j)の番号である。今の時点で、m=0であり、j=m+1であるので、j=1である。つまり、2つめのスキャンポイントS(1)がベクトル合成点である。
【0063】
次に、スキャンポイントS(j−1)及びS(j)をそれぞれ始点及び終点とする第1要素ベクトルVaが形成される(#14)。この時点でj=1であり、第1要素ベクトルVaの始点及び終点は、それぞれスキャンポイントS(0)及びS(1)である。以下の処理において、2つの要素ベクトルVをベクトル合成するので、1つ目を第1要素ベクトルVa、2つ目を第2要素ベクトルVbとする。
【0064】
次に、第1要素ベクトルVaが第1所定長ML以下であるかどうか調べられ、ベクトル絶対値|Va|が第1所定長ML以下(|Va|≦ML)であれば(#15でYES)、この要素ベクトルVaを保持して、ベクトル合成の次の段階であるスキャンセグメントベクトルSSVの初期化を行う(#18)。すなわち、スキャンセグメントベクトルSSV=Vaとする。
【0065】
第1要素ベクトルVaの長さが第1所定長MLより長く、|Va|>MLとなる場合(#15でNO)、ステップ#16に進み、要素ベクトルVを形成することができ、かつ形成された要素ベクトルVがベクトル合成できるようなスキャンポイントSがあるかどうか調べられる。そのようなスキャンポイントSが存在しなければ(#16でNO)、スキャンセグメント抽出処理は終了する。一方、そのようなスキャンポイントSが存在する場合(#16でYES)、現在のスキャンセグメントベクトルSSVの始点となるスキャンポイントS(m)の番号mの値を破棄して、新たにm=jが設定される(#17)。その後、ステップ#13から上述の処理が進められる。
【0066】
ステップ#18においてスキャンセグメントベクトルSSVが初期化された後、第2要素ベクトルVbが形成され(#19)、第2要素ベクトルVbが第1要素ベクトルVaに対してなす振れ角度θが、ベクトルの内積と絶対値を用いて求められる(#20)。次に、この振れ角度θが上述の第1所定角度Mθ以下であるかどうか調べられ、第1所定角度Mθ以下であれば(#21でYES)、第2要素ベクトルVbの長さが調べられる(#22)。第2要素ベクトルVbの長さが第1所定長ML以下であれば(#22でYES)、第1要素ベクトルVaと第2要素ベクトルVbがベクトル合成され、スキャンセグメントベクトルSSVが更新される(#23)。続いて、振れ角度θの角度積算が行われる(#24)。
【0067】
次に、角度積算値Σθが第2所定角度MΣθと比べられ、角度積算値が第2所定角度MΣθ以下であれば(#25でYES)、スキャンセグメントベクトルSSVへの要素ベクトルVの追加が完了する。ここで、他にスキャンポイントSがあれば(#26でYES)、次の点のベクトル合成へと進む。すなわち、スキャンセグメントベクトルSSVに新たに追加された第2要素ベクトルVbを第1要素ベクトルVaとする置き換えを行い(#31)、ベクトル合成点番号を進めて、j=j+1として(#32)、上述のステップ#19から処理を繰り返す。
【0068】
上記ステップ#21,#22,#25,#26のいずれかにおいて条件が満たされずにNOとなった場合には、ベクトル合成が停止され、ステップ#27へと進む。この時点で、スキャンセグメントベクトルSSVの始点及び終点は、それぞれスキャンポイントS(m)及びS(j)である。次に、スキャンセグメントベクトルSSV(m,j)の長さ|SSV(m,j)|が第2所定長TL0以上であるかどうか調べられる(#28)。スキャンセグメントベクトルSSV(m,j)の長さ|SSV(m,j)|が第2所定長TL0以上であれば(#28でYES)、スキャンセグメントベクトルSSV(m,j)からスキャンセグメントSS(m,j)が得られる(#29)。
【0069】
なお、スキャンセグメントSSは、2つのスキャンポイントS(m)とS(j)で定義される線分のことであり、本明細書では、記号SS(m,j)によってこのような線分を便宜的に表している。
【0070】
ステップ#28において、スキャンセグメントベクトルSSの長さSSV(m,j)の長さ|SSV(m,j)|が第2所定長TL0より短い場合(#28でNO)、スキャンセグメントベクトルSSV(m,j)からスキャンセグメントSS(m,j)が得られないので、ステップ#30に進む。例えば、極端な場合、スキャンセグメントベクトルSSV(m、j)が2つの要素ベクトルVのベクトル合成のみで形成されている場合、スキャンセグメントベクトルSSの長さSSV(m,j)の長さ|SSV(m,j)|が短すぎるので、スキャンセグメントSSが平面状障害物を表現しているとは見做すことができない。
【0071】
ステップ#30では、残りのスキャンポイントSの数が調べられる。ベクトル合成に必要なスキャンポイントSが残っていなければ(#30でNO)、スキャンセグメント抽出の処理は終了する。一方、ベクトル合成に必要な数のスキャンポイントSが残っている場合(#30でYES)、ステップ#17に進む。ステップ#17では、最後に調べられたスキャンポイントSの番号jが、新たなスキャンセグメントベクトルSSVの始点番号mとされる。その後、ステップ#13から、上述のステップが繰り返される。
【0072】
次に、図7のフローチャートを参照して、上述した要素ベクトルVの形成に際してスキャンポインSのスキップを認める場合のスキャンセグメント抽出を詳細に説明する。ここで説明する抽出処理では、スキャンポイントSのスキップを所定回数MKまで認める。スキャンポイントSのスキップの一例を示すと、例えば図4では、スキャンポイントS(i+4)がスキップされている。そして、スキャンポイントS(i+3)とS(i+5)によって、1回スキップした要素ベクトルが形成されている。
【0073】
なお、図7に示すフローチャートは、スキャンポイントSのスキップに関する処理を除いて、上記図6に示したフローチャートと大略同様であるので、両者の相違点について説明を行い、重複する点の説明は省略する。このフローチャートに示す処理では、スキップの回数をカウントするためのスキップ変数kを導入している。スキップ変数kは、ステップ#43において初期化される。
【0074】
その後、上記スキップなしの処理と同様のステップ#44〜#50を経過し、ステップ#51において、要素ベクトルVの振れ角度θが調べられる。ここで、振れ角度θが第1所定角度Mθを越えた場合(#51でNO)、スキップなしの場合と異なって、ベクトル合成をすぐに停止することなく、次のスキャンポイントSを要素ベクトルVの終点とする試みを行う(#63,#64,#65)。そして、ステップ#49に処理が戻される。
【0075】
ステップ#63において、スキップ回数が調べられ、ステップ#64において、スキャンポイントSの有無が調べられ、ステップ#65においてスキップ変数がインクリメント(更新)される。ステップ#49において、第2要素ベクトルVbを定義する終点のスキャンポイントS(j+k)の番号、すなわちその引数がj+kとなっていることから、(k−1)回スキップ(k=2なら1回スキップ)されていることが分かる。
【0076】
このように、スキップ変数kが用いられているステップが、上記図6に示すスキップなしの場合と異なっている。例えば、ステップ#62では、次のベクトル合成点が(j+k)となっている。k=1であれば、スキップなしであり、k=2なら1回スキップしている。なお、ステップ#62の後のステップ#66において、スキップ変数kの初期化が行われる。
【0077】
次に、ステップ#47での処理を説明する。ステップ#47では、スキップ変数kが関与していないが、ベクトル合成の処理を新たに開始するため、新たなスキャンセグメントベクトルSSVの始点であるスキャンポイントS(m)の番号mがm=jとして設定されている。ステップ#47の時点で最後のベクトル合成点番号となっているjを始点番号mとするのは、例えば、平面状障害物が交差した隅部に最後のベクトル合成点番号jのスキャンポイントS(j)がある場合が想定されることによる。
【0078】
次に、図8、図9(a)〜(c)、図10を参照して、複数のスキャンセグメントベクトルSSVを合成する例を説明する。スキャンポイントSが取得される平面状障害物の例として、図8に示されるように、フェンス支柱31の間に平坦なフェンス本体32が設けられたフェンス3が想定される。このようなフェンス3は、図9(a)に示すように、平面(フェンス本体)32から支柱31が部分的に突出した構造を有する。そこで、このようなフェンス3をレーザレーダなどでスキャンして得られたスキャンポイントSからスキャンセグメントベクトルSSVを形成すると、図9(b)に示すように、スキャンセグメントベクトルSSVは、フェンス支柱31のところで互いに分離した状態になる。
【0079】
そこで、図9(c)に示すように、複数のスキャンセグメントベクトルSSVを、所定条件を満足する範囲内で互いに接続して、新たな大きなスキャンセグメントベクトルSSV0を構成する。その接続の条件を、図10を参照して説明する。スキャンポイントSから得られる複数のスキャンセグメントベクトルSSVから選択された2つのスキャンセグメントベクトルSSV1とSSV2のなす角度φが第2所定角度以下であり、かつ、一方のスキャンセグメントベクトルSSV2の始点と他方のスキャンセグメントベクトルSSV1の終点の距離dが所定距離以下である場合、これら2つのスキャンセグメントベクトルSSV1及びSSV2は、前記終点から前記始点に向かうベクトルを追加して新たな1つのスキャンセグメントベクトルSSVとしてベクトル合成される。
【0080】
このように複数のスキャンセグメントベクトルSSVを合成することにより、1つの長いスキャンセグメントベクトルSSV0を形成することができ、それによって長いスキャンセグメントSS0を抽出することができる。その結果、より正確に平面状障害物を認識することができ、より正確に自律移動装置1の自己位置を特定することができる。
【0081】
次に、このような処理を行いながら走行する自律移動装置1の走行時のフローチャートを図11に示す。ステップ#74における、スキャンセグメントベクトルSSVの合成処理が加わった他は、図2に示したフローチャートの同様なので、説明は省略する。
【0082】
次に、図12、図13(a)〜(c)を参照しつつ、空隙を有する平面状障害物に対するスキャンセグメントベクトルSSVの形成について説明する。自律移動装置1の稼働領域は、病院や生産工場などの屋内の他に、屋外の工場敷地、公園、テーマパークなどが想定される。このような屋外の稼働領域においては、図12に示すような、フェンス支柱31の間に金網などの大きな透過率(空隙)を有するフェンス本体32を有するフェンス30が走行路の境界として設けられることがある。そこで、稼働領域に存在するこのようなフェンス30を空隙を有する平面状障害物の一例として、表現する線分の集合を地図情報における平面状障害物の線分の集合からなるマップセグメントとして、あらかじめ自律移動装置1の記憶部11に記憶させておく。
【0083】
図13(a)に示すように、上記フェンス30の断面は、レーザレーダのレーザビームを遮断又は反射するフェンス支柱31部分と、レーザビームの大部分を透過させるフェンス本体32部分を有する。そして、複数のフェンス支柱31とフェンス支柱31の間に設けられたフェンス本体32で構成されたフェンス30を、スキャンポイント取得部12aにより略水平面内でスキャンすると、主に各フェンス支柱31により反射された反射波がスキャンポイント取得部12aにより受信される。その結果、フェンス支柱31、フェンス本体32,あるいはフェンス30の向こう側の物体36上の点の位置座標がスキャンポイントSとして取得される。得られたスキャンポイントSは、図13(b)に示すように、これらの物体に対応した位置に分布した点の集合となる。
【0084】
自己位置認識部14の要素ベクトル形成部14aは、図7に示すスキャンポイントのスキップを行うフローを用いて、各フェンス支柱31及びフェンス本体32上の点のスキャンポイントS(i)、S(i+1)、S(i+3)、S(i+5)、S(I+6)・・・を用いて、要素ベクトルV(i,i+1)、V(i+1,i+3)、V(i+3,i+5)、V(i+5,i+6)・・・を形成する。さらに、要素ベクトル選択部14b及びスキャンセグメントベクトル形成部14cによって、これらの要素ベクトルVをベクトル合成してスキャンセグメントベクトルSSVを形成する。
【0085】
また、障害物認識部14dは、形成されたスキャンセグメントベクトルSSVが平面状障害物として認識できるか否か判断し、平面状障害物として認識できるときは、さらに記憶部11に記憶されているフェンス30を表現するマップセグメントと、ここで得られたスキャンセグメントベクトルSSVにより定義されるスキャンセグメントSSとを照合する。これにより、地図上でのフェンス30の位置が特定され、それに基づいて、自律移動装置1の自己位置が特定される。
【0086】
このように、フェンス支柱31及びフェンス本体32をスキャンポイントSとして認識することにより、フェンス本体32の空隙の割合が高い場合であっても、そのようなフェンス本体32を含むフェンス30をスキャンセグメントベクトルSSVとして表現して、マップセグメントと照合できるスキャンセグメントSSを抽出することができる。なお、このようなフェンス支柱31を選択的にスキャンポイントSとして取得する場合、レーザレーダよりも空間分解能の低い超音波センサを用いることができる。
【0087】
次に、図14、図15(a)〜(c)を参照して、フェンス30のフェンス支柱31の位置をスキャンポイントSとしてより確実に取得する方法について説明する。この場合、図14に示すように、フェンス30のフェンス支柱31に、予めリフレクタマーク33を貼っておく。図15(a)は、フェンス30の断面とリフレクタマーク33の様子を示す。図15(b)は、取得されたスキャンポイントSを示し、図15(c)は、形成された要素ベクトルV及びスキャンセグメントベクトルSSVを示す。
【0088】
レーザレーダを用いて、このフェンス30を略水平面内でスキャンすると、リフレクタマーク33により反射された反射波の強度は、その他の点から反射された反射波の強度よりも高くなるので、多数のスキャンポイントSの中からフェンス支柱31上のスキャンポイントSのみを抽出することが可能となる。このようなリフレクタマーク33を用いる方法によれば、フェンス支柱31の認識、従ってフェンス30の認識が容易になる。
【0089】
次に、図16、図17を参照して、処理の対象とするスキャンポイントSを所定距離内に限定する場合について説明する。スキャンポイント取得部12aにより取得されるスキャンポイントSの数を減らすことにより、自己位置認識部14が行うスキャンセグメントベクトルSSV形成のための計算量を削減することができ、それにより自律移動のための判断をより早く行うことができる。
【0090】
図16に示すように、自律移動装置1の稼働環境に応じて、自律移動装置1のスキャンポイント取得部12aによる物体座標の計測可能な領域10の中に、原点(スキャンポイント取得部12aの位置)からの距離が所定距離以内である領域10aを設定する。そして、この領域10a内のスキャンポイントSを用いて要素ベクトルVを形成する。
【0091】
このような領域10aを決める方法として、例えば、レーザレーダから照射されたレーザビームの反射波の強度が物体までの距離に応じて変化することを利用することができる。まず、図17に示すように、レーザレーダを備えたスキャンポイント取得部12aの位置からある距離だけ離れた位置にあるフェンスを構成するワイヤ41について、ワイヤ41の位置する場所におけるレーザビームLBのビームスポットBSの径に基づいてビームスポットBSの面積を計算する。次に、ビームスポットBSの面積に対するワイヤ41の占める面積の割合を計算する。その割合にワイヤ41の材質固有の反射率をかけたものを、レーザレーダのレーザビームに対する測定反射率とする。距離が遠くなるほど、ビームスポットBSの面積が距離の二乗に比例して大きくなるけれども、ワイヤ41の面積は距離に比例して大きくなるだけであるから、結果的に測定反射率の値は小さくなる。従って、スキャンポイント取得部12aは、領域10aを定める距離に応じて測定反射率を設定し、その測定反射率以下の反射光を受信しないようにフィルタリング処理を行うことにより、処理の対象とするスキャンポイントSを所定距離内に限定することができる。
【0092】
次に、図18(a)及び(b)を参照して、自律移動装置1が壁やフェンスなどの平面状障害物を認識しつつ自律走行する状況を説明する。図18(a)は、自律移動装置1の周囲における警戒領域4とその進行方向前方に伸びる領域における注意領域5とを設定した状態で、自律移動装置1が移動している様子を示す。自律移動装置1は、注意領域5に障害物23を検出すると、その移動速度を遅くしたり、外部への注意喚起のための表示や警報音を発生させたりする。また、自律移動装置1は、障害物が警戒領域4に入らないように移動し、もしこの警戒領域4に障害物を検知すると直ちに停止する。自律移動装置1は、このように、自己の周囲における段階的に区分した制御領域を設定することにより、効率的に自律移動する。
【0093】
ところで、図12に示すように、壁やフェンスの手前に側溝35が設けられていたり、フェンス支柱31の根元にブロック34が設けられていたりする場合がある。このような側溝35やブロック34による段差などは、走行路面に近い低い位置に存在するため、前方水平方向における障害物検知では、これらを認識することができない。そこで、図18(b)に示すように、壁やフェンスの特定の障害物24に対しては、自律移動装置1の周辺の警戒領域4と注意領域5のそれぞれに拡大警戒領域4a及び拡大注意領域5aを付加して、特定の障害物24に近づかないようにする。これにより、自律移動装置1は、脱輪や転倒などの走行中の不具合発生を事前に防止して、効率的に自律移動することができる。
【0094】
上述の拡大警戒領域4aや拡大注意領域5aは、図18(b)に示すように、特定の障害物24の視野範囲の内側に設定しておけばよい。この場合、特定の障害物24を認識していない領域においては、図18(a)に示す通常の走行移動をすることができ、効率的に自律走行することができる。
【0095】
ここで、特定の障害物24として、空隙を有する平面状障害物を想定した場合について、図19(a)及び(b)を参照しつつ説明する。図19(a)は、平面状障害物の配置を模式的に示し、図19(b)は、その平面状障害物の配置に対応するマップセグメントのデータを示す。図19(a)において、実線は空隙を有しない平面状障害物を示し、破線は空隙を有する平面状障害物を示す。図19(b)に示すデータは、予め記憶された地図情報における平面状障害物の線分の集合からなるマップセグメントのデータであり、例えば、レーザレーダで検出できる平面状障害物の左右端点を始点と終点とする座標値である。このデータは、稼働領域に存在する平面状障害物が空隙部を有するか否かを識別するための空隙属性(空隙有無)の情報を含み、その属性は、空隙を有しない平面状障害物は0、空隙を有する平面状障害物は1とされている。
【0096】
上述のように、空隙を有する平面状障害物が特定の障害物24として想定されている場合、空隙を有する平面状障害物を効率的に、かつ確実に認識することが、自律移動装置1による安全で効率的な自律走行を可能にする。そこで、壁やフェンス等の平面状障害物をスキャンセグメントベクトルSSVで表現してスキャンセグメントSSを抽出する方法を応用する。
【0097】
この空隙を有する平面状障害物の認識方法として、まず、図6に示すフローチャートにより、スキャンポイントSをスキップしないで要素ベクトルVを形成し、所定の条件で選択された要素ベクトルVから第1群のスキャンセグメントベクトルSSVを形成する。平面状障害物が空隙を有する場合、例えば図5(c)において破線で示すように、連続する2つの要素ベクトルV(j−1,j)とV(j,j+1)がなす振れ角度θが第1所定角度Mθよりも大きくなる確率が高く、第1群のスキャンセグメントベクトルSSVが形成される可能性はほとんどない。
【0098】
次に、図7に示すフローチャートにより、適宜スキャンポイントSをスキップしつつ要素ベクトルVを形成し、要素ベクトルVから第2群のスキャンセグメントベクトルSSVを形成する。この場合、図5(c)において実線で示すように、振れ角度θが第1所定角度Mθよりも大きくなるスキャンポイントS(j+1)はスキップされるので、平面状障害物が空隙を有する場合についても第2群のスキャンセグメントベクトルSSVが形成される。
【0099】
次に、上記のようにして得られた第1群のスキャンセグメントベクトルSSVと第2群のスキャンセグメントベクトルSSVを比較すると、空隙を有しない平面状障害物に相当するスキャンセグメントベクトルは両方に含まれるけれども、空隙を有する平面状障害物に相当するスキャンセグメントベクトルは第2群のスキャンセグメントベクトルSSVにのみ含まれる。従って、第2群のスキャンセグメントベクトルSSVを形成する要素ベクトルから、第1群のスキャンセグメントベクトルSSVを形成する要素ベクトルを引き去る演算を行い、後に残された要素ベクトルVによって形成される第3群のスキャンセグメントベクトルSSVが空隙を有する平面状障害物に相当する。このようにして得られた第3群のスキャンセグメントベクトルSSVから、スキャンセグメントSSを抽出することにより、空隙を有する平面状障害物を認識することができる。
【0100】
次に、スキャンセグメントベクトルSSVの形成における最初の要素ベクトルVを決定する方法について、図20(a)〜(c)を参照しつつ説明する。図20(a)〜(c)は、最初の要素ベクトルVのベクトル合成に関して起こりうる事例を示す。図20(a)に示す例では、ベクトル合成開始時に、第1要素ベクトルVaが時系列的に連続する2つのスキャンポイントS(m)とS(m+1)によって順当に形成され、第2要素ベクトルVbが、スキャンポイントS(m+2)及びS(m+3)をスキップして、時系列的に前後するけれども連続しない2つのスキャンポイントS(m+1)とS(m+4)によって形成されている。この状況は、スキップ変数kを導入している上記図7に示すフローによって問題なく処理される。
【0101】
図20(b)に示す例では、スキャンポイントS(m)、S(m+2)、S(m+4)・・・で構成される後ろの列と、スキャンポイントS(m+1)、S(m+3)・・・で構成される前の列が存在している。このようなスキャンポイントSの配列の場合に、上記図7に示すフローに従うと、第1要素ベクトルVaが決まらないという状況が発生する。具体的には、図20(b)に示す状況では、ベクトル合成開始時に、スキャンポイントS(m)とS(m+1)によって第1要素ベクトルVaを形成しようとすると、この時系列的に連続する2つのスキャンポイントS(m)とS(m+1)によって形成されるベクトルの長さが第1所定長MLを超える。そこで、図7に示したフローでは、次に連続する2つのスキャンポイントS(m+1)とS(m+2)によって第1要素ベクトルVaを形成しようとするが、この2つのスキャンポイントS(m+1)とS(m+2)によって形成されるベクトルの長さも第1所定長MLを超える。このような状況が連続すると、最初の第1要素ベクトルVaが決まらない。ここで重要なのは、同じ系列に属する、例えば、図20(b)における後ろの列のスキャンポイントS(m)とS(m+2)によって第1要素ベクトルVaを形成できるという点が見逃されることである。
【0102】
そこで、図20(c)に示すように、最初のスキャンポイントS(m)に対して、第1要素ベクトルVaの形成に不適切な2番目のスキャンポイントS(m+1)をスキップすると、第1要素ベクトルVa形成後の要素ベクトルVの合成は、上記図7のフローで処理できる。そこで、初期スキップ変数pなる変数を導入し、第1要素ベクトルVaを形成する際に、不適切な2番目以降のスキャンポイントを所定の回数pだけスキップ可能とする。所定の回数pだけスキップしても第1要素ベクトルVaを形成できない場合、第1要素ベクトルVaの始点となるスキャンポイントを1つだけずらして、再度、第1要素ベクトルVaの形成を試みることにする。
【0103】
図21及び図22は、初期スキップ変数pを導入することにより、このような事例に対処するフローを示す。なお、図21及び図22に示すフローチャートは、それぞれ初期スキップ変数pを用いる点を除いて図7に示すフローチャートと大略同様であるので、両者の相違点についてのみ説明を行い、重複する点の説明は省略する。
【0104】
図21に示すように、ステップ#42においてスキャンセグメントベクトルSSVの始点であるスキャンポイントS(m)の番号mが初期化された後、ステップ#70において初期スキップ変数pが初期化される。その後、第1要素ベクトルVaが定義され(#71)、第1要素ベクトルVaの長さが検査される(#45)。第1要素ベクトルVaが第1所定長MLを超えている場合、さらにその他のスキャンポイントSの有無(#74)、スキップ可能性(#75)が調べられる。スキップ可ならば(#75でYES)、1点スキップが行われて(#76)、再度、ステップ#71からのステップが繰り返される。
【0105】
また、スキップ不可ならば(#75でNO)、新たなスキャンセグメントベクトル始点番号mが設定され(#47)、初期化のステップ#70から、再度上述のステップが繰り返される。第1要素ベクトルVaが決定されると(#45でYES)、スキップ変数kが初期化される(#73)。図22に示すこれ以降のステップは、次の点を除いて、図7に示すフローと同じである。
【0106】
図7のステップ#52〜#55では、第2要素ベクトルVbが第1所定長MLを超えたり、積算角Σθが第2所定角度MΣθを超えたりした場合にベクトル合成を停止しているが、図22に示すフローでは、スキャンポイントSをスキップしてベクトル合成を試みている(#52又は#77でNOの場合、#63に進む)。このように、図21及び図22に示すフローによるスキャンセグメント抽出処理を行うと、図20(b)に示す状態を回避でき、図20(c)に示すにように、複数の要素ベクトルVを合成して、スキャンセグメントベクトルSSVを形成することができる。
【0107】
次に、時系列に前後する複数のスキャンポイントSに対して、時系列を遡ってスキャンセグメント抽出の処理を複数回行う例を説明する。図23は、空隙を有しない壁などの平面状障害物W3の手前に空隙を有する平面状障害物W1及びW2が存在する障害物の二重構造の位置座標を測定する様子を示す。図24は、図23に示す障害物の二重構造をレーザレーダでスキャンして得られた複数のスキャンポイントSから平面状障害物を表現するスキャンセグメントベクトルSSVを形成する様子を示し、図25〜図27は、それぞれスキャンセグメントベクトルSSVを形成する3通りの手順を示す。
【0108】
自律移動装置1の稼働領域には、図23に示すように、支柱の配列からなる柵W1や、透過部を有するフェンスW2などが、建物の壁面W3に沿って形成されている、いわゆる障害物の二重構造が有り得る。この場合、上記図20(b)及び(c)に示すような2系列のスキャンポイントSが得られる。そして、障害物の二重構造のもとで、スキャンポイント取得部12aにより得られた複数のスキャンポイントSに対して時系列的に得られた順番にスキャンセグメント抽出処理を行うと、前の列と後ろの列の2系列のスキャンポイントSのうちいずれか一方の列のスキャンポイントSが、上記初期スキップ変数pやスキップ変数kの導入によってスキップされる。障害物の二重構造の場合、特に、手前に存在する柵W1やフェンスW2などの空隙を有する障害物が認識できないと、自律移動装置1の自己位置特定の際、いずれの平面状障害物を検出しているのか不明であり、その結果自己位置特定精度が低下する可能性がある。そのような問題を防止するために、図24に示すように、前後に重なるスキャンセグメントベクトルSSVを形成すると共に、前後に重なる障害物を表すスキャンセグメントSSを抽出することは重要である。
【0109】
障害物の二重構造の場合におけるスキャンセグメントSSの抽出は、例えば奥に存在する平面状障害物に関するスキャンセグメントSS抽出が終了した後、そのスキャンセグメントSSの抽出に用いられなかった残りのスキャンポイントSに対して、再度要素ベクトルVの形成からスキャンセグメントSS抽出までの各ステップを実行することによって行われる。
【0110】
図25に示すフローでは、1つのスキャンセグメントSSを抽出するたびに、そのスキャンセグメントSSの抽出の際に参照されたけれどもスキップされたスキャンポイントSSKに対して、再度スキャンセグメントSSの抽出処理を行う。まず、一群のスキャンポイントS1を準備し(#81)、スキャンセグメントSS確定までの処理を行う(#82,#83)。この処理は、例えば、図7に示すフローの最初のステップ#41からスキャンセグメントSS確定のステップ#59までの処理、又は、図21に示すフローにおける最初のステップ#41から、図22に示すフローにおけるスキャンセグメントSS確定のステップ#59までの処理に対応する。第1段階のスキャンセグメントSS抽出の際に参照されたスキャンポイントS1のうちスキップされて未使用となったスキャンポイントSSKは、第1段階未使用スキャンポイントSUN1として記録される(#84)。
【0111】
次に、第1段階未使用スキャンポイントSUN1に対して、同様に第2段階のスキャンセグメントSS抽出処理を行う(#85,#86)。そして、それまでの処理で参照されなかったスキャンポイントSNRを、新たな第1段階スキャンポイントS1として準備する(#87)。ここで、未参照のスキャンポイントSNRがなければ、すなわち全てのスキャンポイントS1について参照された場合、処理を終了し(#88でNO)、未参照のスキャンポイントSNRがあれば(#88でYES)、ステップ#82に戻って、上記各ステップを繰り返す。
【0112】
また、図26に示すフローでは、全てのスキャンポイントS1に対して抽出可能な全てのスキャンセグメントSSの抽出処理を行った後に、スキップされたスキャンポイントSSKに対し、再度スキャンセグメントSSの抽出処理を行う。まず、一群のスキャンポイントS1を準備し(#91)、スキャンセグメントSSの確定までの処理を、スキャンポイントS1の全てに対して参照が済むまで繰り返し行う(#92,#93)。この処理は、例えば、図7や、図21と図22に示したフローを開始から終了まで行うことに対応する。但し、各スキャンポイントS1について、スキャンセグメントベクトルSSV形成に寄与したか否かの記録を残しておく。そして、スキャンセグメントベクトルSSV形成に寄与していないスキャンポイントSUNを準備する(#94)。
【0113】
その後、ステップ#94で準備されたスキャンポイントSUNの全てに対して参照が済むまで、上記同様にスキャンセグメントSS抽出処理を繰り返し行う(#95,#96)。このようにして、スキャンセグメントSSを抽出することにより、二重構造の障害物を認識することができる。
【0114】
図27に示すフローでは、1つのスキャンセグメントSSが抽出されると、そのスキャンセグメントSSを抽出するための先の処理において用いられなかったスキャンポイントSSKに対してスキャンセグメントSSの抽出が行われる。まず、一群のスキャンポイントS1が準備され(#101)、スキャンセグメント抽出までの処理が実行される(#102,#103)。この処理は、例えば、図7に示すフローの最初のステップ#41からスキャンセグメントSS確定のステップ#59までの処理、又は、図21に示すフローにおける最初のステップ#41から、図22に示すフローにおけるスキャンセグメントSS確定のステップ#59までの処理に対応する。1つのスキャンセグメントSSが抽出されると、スキャンセグメントSSを抽出するための先の処理において参照されたけれども用いられなかった一群のスキャンポイントS2と参照されてない一群のスキャンポイントS3が準備される(#104)。そして、例えば図7に示すフロー中のステップ#47において、ベクトル合成点の番号を、参照されたけれども使用されなかったスキャンポイントSのうち時系列的に最初のものの番号jにセットすることによって、スキャンポイントS1をスキャンポイントS2とS3を合成させた新たなスキャンポイントに置き換える(#105)。
【0115】
例えば図23における障害物の二重構造において、平面状障害物(柵)W1を表すスキャンセグメントベクトルSSV1が最初に抽出されると、平面状障害物(フェンス)W2を表すスキャンセグメントベクトルSSV2の抽出よりも先に、平面状障害物(壁)W3を表すスキャンセグメントベクトルSSV3を先に抽出することができる。このような構成によれば、スキャンセグメントベクトルSSV3の長さを正確に検出することができるので、地図上における自律移動装置1の自己位置もまた正確に特定することができる。
【0116】
次に、スキャンセグメントSSの抽出を、より精度良く安定して行う方法について説明する。図28は、上記いずれかの方法により形成されたスキャンセグメントベクトルSSVに基づいて最小二乗法によりスキャンセグメントSSを求める様子を示し、図29は、その処理フローを示す。上記スキャンセグメントSS抽出の方法によると、図28に示すように、最終的に決定されるスキャンセグメントベクトルSSV(m,j)及びスキャンセグメントSS(m,j)は、その始点のスキャンポイントS(m)と終点のスキャンポイントS(j)で決定されている。つまり、始点と終点の間の多数のスキャンポイントSの位置は考慮されておらず、スキャンセグメントSS(m,j)の位置精度は始点及び終点のスキャンポイントSの位置検出精度に強く依存している。
【0117】
そこで、スキャンセグメントベクトルSSV(m,j)を形成するステップにおいて、スキャンセグメントベクトルSSV(m、j)の合成に寄与したスキャンポイントSの情報を保存しておき、始点と終点の間の多数のスキャンポイントSの位置情報を統計的に処理して、スキャンセグメントSS(m,j)の抽出に反映させて、抽出結果の精度向上及び安定性を確保する。なお、統計的処理として、例えば最小二乗法を用いる。すなわち、図29に示すように、スキャンセグメントSS(m,j)を抽出するステップにおいて、スキャンセグメントベクトルSSV(m,j)の始点と終点により定義される線分が所定長さ以上であれば(#58でYES)、保存された各スキャンポイントSの座標値に対して最小二乗法を適用することにより、スキャンポイントSに最適フィッティングされる線分を算出し(#79)、この線分をスキャンセグメントSSとして抽出する(#59)。
【0118】
このようにして得られたスキャンセグメントSS(m,j)は、図28に示すように、スキャンセグメントベクトルSSV(m,j)の始点と終点の間のスキャンポイントSであって、スキャンセグメントベクトルSSV(m,j)の合成に寄与した全てのスキャンポイントSの位置情報を反映したものと成っている。なお、図29に示すフローは、図6、図7、図21、図22等に示したフローに組み込むことができる。
【0119】
次に、要素ベクトルVをベクトル合成してスキャンセグメントベクトルSSVを形成する際のベクトル合成可否判定の他の方法について説明する。図30は、本発明にかかる平面状障害物認識方法において、スキャンポイントSを用いて平面状障害物を表現するスキャンセグメントベクトルSSVを形成する際の要素ベクトルVのベクトル合成の他の方法を示す。また、図31は、スキャンセグメントベクトルSSVの有効性の他の判断基準を示す。
【0120】
図30に示す方法は、連続する2つの要素ベクトルVのなす振れ角度θに代えて、要素ベクトルVb=V(j,j+1)の終点と、その終点からスキャンセグメントベクトルSSV(m,j)に下ろした垂線の足との距離hを、ベクトル合成の可否判定に用いる。すなわち、所定値Mhに対してh≦Mhの場合にベクトル合成を行うこととする。
【0121】
図31に示す方法は、要素ベクトルVの終点と、その終点からスキャンセグメントベクトルSSVに下ろした垂線の足との距離hの積算値Σhをベクトル合成の可否判定に用いる。すなわち所定値MΣhに対してΣh≦MΣhの場合にベクトル合成を行う。このような判定方法によると、角度計算の手間がなく、所定値Mh及びMΣhの入力が容易になる。
【0122】
なお、本発明は、上記構成に限られることなく種々の変形が可能である。例えば、大きな曲率半径を有する湾曲した曲面状障害物に対応するため、障害物表面を折れ線で表現したマップセグメントと、所定角度内で一方向に湾曲するように複数のスキャンセグメントベクトルを連結した連結スキャンセグメントベクトルを用いるようにしてもよい。
【図面の簡単な説明】
【0123】
【図1】図1は、本発明に係る自律移動装置の構成を示すブロック図である。
【図2】図2は、本発明に係る平面状障害物認識方法を用いた自律移動装置の自律走行のフローチャートである。
【図3】図3(a)は、上記平面状障害物認識方法による空隙を有しない平面状障害物を認識する様子を示す平面図であり、図3(b)は、その方法による空隙を有する平面状障害物を認識する様子を示す平面図である。
【図4】図4は、上記平面状障害物認識方法により、スキャンポイントから平面状障害物を表現するスキャンセグメントベクトルを形成する様子を示す説明図である。
【図5】図5(a)は、上記平面状障害物認識方法における要素ベクトルVの説明図、図5(b)及び図5(c)は、要素ベクトルVのベクトル合成を説明する図、図5(d)は複数の要素ベクトルVをベクトル合成して形成されたスキャンセグメントベクトルSSVの説明図である。
【図6】図6は、スキャンポイントのスキップを実行しない場合における上記平面状障害物認識方法の手順を示すフローチャートである。
【図7】図7は、スキャンポイントのスキップを実行する場合における上記平面状障害物認識方法の手順を示すフローチャートである。
【図8】図8は、平面状障害物の一例として、支柱を有する壁を示す斜視図である。
【図9】図9(a)は、図8に示す支柱を有する壁の平面図、図9(b)は、支柱を有する壁を表現するスキャンセグメントベクトルSSVを示す図、図9(c)は、複数のスキャンセグメントベクトルSSVを合成して形成された長い1つのスキャンセグメントベクトルSSV0を示す図である。
【図10】図10は、複数のスキャンセグメントベクトルSSVを合成しうるための条件を説明する図である。
【図11】図11は、本発明の自律移動装置の平面状障害物認識方法を用いた自律走行のフローチャートであって、スキャンセグメントベクトルの合成の手順を含むフローチャートである。
【図12】図12は、平面状障害物の他の一例として、空隙を有するフェンスを示す斜視図である。
【図13】図13(a)は、図12に示す空隙を有するフェンスの平面図、図13(b)は、フェンス支柱に対応するスキャンポイントSを示す図、図13(c)は、スキャンポイントSから形成された要素ベクトルVとスキャンセグメントベクトルSSVを示す図である。
【図14】図14は、平面状障害物の他の一例として、空隙を有するフェンスの支柱にリフレクタマークを貼った例を示す斜視図である。
【図15】図15(a)は、図14に示したフェンスの平面図、図15(b)は、フェンス支柱に対応するスキャンポイントSを示す図、図15(c)は、スキャンポイントSから形成された要素ベクトルVとスキャンセグメントベクトルSSVを示す図である。
【図16】図16は、本発明に係る平面状障害物認識方法において、処理の対象とするスキャンポイントSを所定距離内に限定する様子を説明する平面図である。
【図17】図17は、レーザレーダの反射光の反射量が距離によって変化することを用いて、処理の対象とするスキャンポイントを所定距離内に限定する方法を説明する図である。
【図18】図18(a)は、自律移動装置が通常の自律走行する様子を示す平面図、図18(b)は、自律移動装置の周辺の警戒領域と注意領域のそれぞれに拡大警戒領域及び拡大注意領域を付加して、特定の障害物に近づかないようにした様子を示す平面図である。
【図19】図19(a)は、自律移動装置の稼働領域に存在する平面状障害物の配置例を示す図、図19(b)は平面状障害物表現するマップセグメントのデータの一例を示す図である。
【図20】図20(a)〜20(c)は、本発明に係る平面状障害物認識方法における要素ベクトルのベクトル合成を説明する図である。
【図21】図21は、本発明に係る平面状障害物認識方法を示すフローチャートであって、スキャンポイントから平面状障害物を表現するスキャンセグメントベクトルを形成する際に、最初の要素ベクトルの形成にスキャンポイントのスキップを考慮する場合のフローチャートである。
【図22】図22は、図21のフローチャートの続きを示すフローチャートである。
【図23】図23は、平面状障害物の他の一例として、空隙を有しない壁の手前に空隙を有する柵やフェンスなどが設けられた平面状障害物の二重構造を示す平面図である。
【図24】図24は、図23に示す平面状障害物の二重構造から得られたスキャンポイントを用いて平面状障害物を表現する複数のスキャンセグメントベクトルを形成する様子を示す平面図である。
【図25】図25は、図23に示す平面状障害物の二重構造から得られたスキャンポイントを用いて平面状障害物を表現する複数のスキャンセグメントベクトルを形成する手順を示すフローチャートである。
【図26】図26は、図23に示す平面状障害物の二重構造から得られたスキャンポイントを用いて平面状障害物を表現する複数のスキャンセグメントベクトルを形成する他の手順を示すフローチャートである。
【図27】図27は、図23に示す平面状障害物の二重構造から得られたスキャンポイントを用いて平面状障害物を表現する複数のスキャンセグメントベクトルを形成するさらに他の手順を示すフローチャートである。
【図28】図28は、本発明に係る平面状障害物認識方法において、形成されたスキャンセグメントベクトルに基づいて最小二乗法によりスキャンセグメントを求める様子を説明する平面図である。
【図29】図29は、図28に示す最小二乗法を用いてスキャンセグメントを求める手順を示すフローチャートである。
【図30】図30は、本発明に係る平面状障害物認識方法において、スキャンポイントから平面状障害物を表すスキャンセグメントベクトルを形成する際の要素ベクトルの合成方法の他の例を説明する図である。
【図31】図31は、図30に示す要素ベクトルの合成方法により形成したスキャンセグメントベクトルの有効性の判断を説明する図である。
【符号の説明】
【0124】
1 自律移動装置
3,30 フェンス
11 記憶部
12 スキャンポイント取得部
13 走行装置
14 自己位置認識部
14a 要素ベクトル形成部
14b 要素ベクトル形成部
14c スキャンセグメントベクトル形成部
14d 障害物認識部
23,24 障害物
31 フェンス支柱
32 フェンス本体
33 リフレクタマーク
34 ブロック
35 側溝
36 フェンスの向こう側の物体
S,SSK,SUN,S(i)・・・ スキャンポイント
V,Va,Vb,V(i,i+1)・・・ 要素ベクトル
SS,SS0 スキャンセグメント
SSV,SSV0,SSV1・・・ スキャンセグメントベクトル
Mθ 第1所定角度
MΣθ 第2所定角度
ML 第1所定長
TL0 第2所定長

【特許請求の範囲】
【請求項1】
電磁波又は音波を用いて所定の空間を一定角度又は一定間隔でスキャンし、その空間内に存在する物体からの反射波を受信して、電磁波又は音波を反射した複数のスキャンポイントの座標を得るスキャンポイント取得手段と、
前記複数のスキャンポイントのうち、前記スキャンポイント取得手段により得られた順番が時系列的に前後する2つのスキャンポイントについて、前のスキャンポイントを始点とし後のスキャンポイントを終点とする要素ベクトルを形成する要素ベクトル形成手段と、
複数の要素ベクトルの中から、要素ベクトルの長さが第1所定長以下の第1要素ベクトルを選択すると共に、前記要素ベクトル形成手段により得られた順番が時系列的に前後し、かつ前記第1要素ベクトルに連続する要素ベクトルであって、要素ベクトルの長さが第1所定長以下であり、前記第1要素ベクトルに対してなす振れ角度が第1所定角度以下であるものを第2要素ベクトルとして選択する要素ベクトル選択手段と、
選択された前記第1要素ベクトルを保持してスキャンセグメントベクトルを初期化すると共に、スキャンセグメントベクトルと前記第2要素ベクトルを合成したものでスキャンセグメントベクトルを更新して振れ角度の積算値が第2所定角度以下でなくなるまで、前記第2要素ベクトルを第1要素ベクトルに置き換えてスキャンセグメントベクトルを形成するスキャンセグメントベクトル形成手段と、
前記形成されたスキャンセグメントベクトルの始点と終点により定義される線分を第2所定長と比較し、線分が第2所定長以上であるときに、そのスキャンセグメントベクトルに沿って平面状障害物が存在していると認識する障害物認識手段を備えていることを特徴とする自律移動装置。
【請求項2】
要素ベクトル形成手段は、任意の原点から所定距離以内にあるスキャンポイントのみを用いて要素ベクトルを形成することを特徴とする請求項1に記載の自律移動装置。
【請求項3】
要素ベクトル形成手段は、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとして形成された要素ベクトルが前記第1所定長よりも長いときは、第1スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第2スキャンポイントとして要素ベクトルを形成することを特徴とする請求項1又は2に記載の自律移動装置。
【請求項4】
要素ベクトル形成手段は、前記任意のスキャンポイントに対して、所定回数だけ要素ベクトルを形成しても、前記第1所定長以下の要素ベクトルが得られないときは、前記任意のスキャンポイントに時系列的に連続するスキャンポイントを新たな第1スキャンポイントとして要素ベクトルを形成することを特徴とする請求項3に記載の自律移動装置。
【請求項5】
要素ベクトル形成手段は、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとし、第2スキャンポイントに時系列的に連続するスキャンポイントを第3スキャンポイントとして要素ベクトルを形成し、
第2スキャンポイントを始点とし第3スキャンポイントを終点とする要素ベクトルが、第1スキャンポイントを始点とし第2スキャンポイントを終点とする要素ベクトルに対してなす振れ角度が第1所定角度よりも大きい場合に、第3スキャンポイントを排除して、第2スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第3スキャンポイントとして、要素ベクトルを形成することを特徴とする請求項1又は2に記載の自律移動装置。
【請求項6】
要素ベクトル形成手段は、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとして形成された第1要素ベクトルが前記第1所定長よりも長いときは、第1スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第2スキャンポイントとして第1要素ベクトルを形成し、
さらに、第2スキャンポイントに時系列的に連続するスキャンポイントを第3スキャンポイントとし、第2スキャンポイントを始点とし第3スキャンポイントを終点とする第2要素ベクトルが、第1スキャンポイントを始点とし第2スキャンポイントを終点とする第1要素ベクトルに対してなす振れ角度が第1所定角度よりも大きい場合に、第3スキャンポイントを排除して、第2スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第3スキャンポイントとして、第2要素ベクトルを形成することを特徴とする請求項1又は2に記載の自律移動装置。
【請求項7】
スキャンセグメントベクトル形成手段により1つのスキャンセグメントベクトルが形成されると、複数のスキャンポイントのうち、スキャンセグメントベクトルの形成に用いられなかったスキャンポイントを用いて、新たなスキャンセグメントベクトルの形成を試みることを特徴とする請求項1に記載の自律移動装置。
【請求項8】
2以上のスキャンセグメントベクトルが形成された場合に、第2スキャンセグメントベクトルが他の第1スキャンセグメントベクトルに対してなす角度が前記第1所定角度以下であり、かつ前記第2スキャンセグメントベクトルの始点が第1スキャンセグメントベクトルの終点から所定距離以内であるとき、スキャンセグメントベクトル形成手段は、第1スキャンセグメントベクトルの終点を始点とし、第2スキャンセグメントベクトルの始点を終点とするベクトルを、第1スキャンセグメントベクトルと第2スキャンセグメントベクトルの間に合成して新たなスキャンセグメントベクトルを形成することを特徴とする請求項7に記載の自律移動装置。
【請求項9】
スキャンセグメントベクトル形成手段は、スキャンセグメントベクトルの形成に寄与したスキャンポイントの情報を保存し、
障害物認識手段は、前記スキャンセグメントベクトルの始点と終点により定義される線分の長さが前記第2所定長以上であるときに、保存されたスキャンポイントの座標を用いて最小二乗法により、スキャンポイントに最適にフィットする線分を演算し、この線分を平面状障害物として認識することを特徴とする請求項1に記載の自律移動装置。
【請求項10】
要素ベクトル形成手段は、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとして、第1スキャンポイントを始点とし、第2スキャンポイントを終点として第1群の要素ベクトルを形成し、
要素ベクトル形成手段はさらに、第1スキャンポイントを始点とし、第2スキャンポイントを終点として形成される要素ベクトルが第1所定長以下の時は、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとして要素ベクトルを形成し、また、形成される要素ベクトルが前記第1所定長よりも長いときは、第1スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第2スキャンポイントとして第2群の要素ベクトルを形成し、
要素ベクトル選択手段は、前記第1群の要素ベクトルから連続する複数の要素ベクトルを選択すると共に、前記第2群の要素ベクトルから連続する複数の要素ベクトルを選択し、
スキャンセグメントベクトル形成手段は、前記第1群の要素ベクトルから選択された複数の要素ベクトルをベクトル合成して第1スキャンセグメントベクトルを形成すると共に、前記第2群の要素ベクトルから選択された複数の要素ベクトルをベクトル合成して第2スキャンセグメントベクトルを形成し、第2スキャンセグメントベクトルを形成する要素ベクトルから第1スキャンセグメントベクトルを形成する要素ベクトルを引き去る演算を行い、残った要素ベクトルを用いて第3スキャンセグメントベクトルを形成し、
障害物認識手段は、形成された第3スキャンセグメントベクトルの始点と終点により定義される線分を第2所定長と比較し、線分が第2所定長以上であるときに、その第3スキャンセグメントベクトルに沿って空隙を有する平面状障害物が存在していると認識することを特徴とする請求項1に記載の自律移動装置。
【請求項11】
自律移動装置の稼働領域の地図上に存在する平面状障害物の線分の集合であるマップセグメントを記憶した記憶手段と、
スキャンセグメントとマップセグメントを照合するセグメント照合手段として機能し、地図上における平面状障害物の位置を特定すると共に、地図上における自律移動装置の自己位置を特定する自己位置特定手段をさらに備えたことを特徴とする請求項1乃至10のいずれかに記載の自律移動装置。
【請求項12】
前記自己位置特定手段は、地図上の平面状障害物の位置と、自律移動装置上の原点からの平面状障害物までの距離及び方向に基づいて、地図上の自己位置を特定することを特徴とする請求項11に記載の自律移動装置。
【請求項13】
電磁波又は音波を用いて所定の空間を一定角度又は一定間隔でスキャンし、その空間内に存在する物体からの反射波を受信して、電磁波又は音波を反射した複数のスキャンポイントの座標を得るスキャンポイント取得ステップと、
前記複数のスキャンポイントのうち、前記スキャンポイント取得ステップにより得られた順番が時系列的に前後する2つのスキャンポイントについて、前のスキャンポイントを始点とし後のスキャンポイントを終点とする要素ベクトルを形成する要素ベクトル形成ステップと、
複数の要素ベクトルの中から、要素ベクトルの長さが第1所定長以下の第1要素ベクトルを選択すると共に、前記要素ベクトル形成手段により得られた順番が時系列的に前後し、かつ前記第1要素ベクトルに連続する要素ベクトルであって、要素ベクトルの長さが第1所定長以下であり、前記第1要素ベクトルに対してなす振れ角度が第1所定角度以下であるものを第2要素ベクトルとして選択する要素ベクトル選択ステップと、
選択された前記第1要素ベクトルを保持してスキャンセグメントベクトルを初期化すると共に、スキャンセグメントベクトルと前記第2要素ベクトルを合成したものでスキャンセグメントベクトルを更新して振れ角度の積算値が第2所定角度以下でなくなるまで、前記第2要素ベクトルを第1要素ベクトルに置き換えてスキャンセグメントベクトルを形成するスキャンセグメントベクトル形成ステップと、
前記形成されたスキャンセグメントベクトルの始点と終点により定義される線分を第2所定長と比較し、線分が第2所定長以上であるときに、そのスキャンセグメントベクトルに沿って平面状障害物が存在していると認識する障害物認識ステップを備えていることを特徴とする平面状障害物認識方法。
【請求項14】
要素ベクトル形成ステップは、任意の原点から所定距離以内にあるスキャンポイントのみを用いて要素ベクトルを形成することを特徴とする請求項13に記載の平面状障害物認識方法。
【請求項15】
要素ベクトル形成ステップは、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとして形成された要素ベクトルが前記第1所定長よりも長いときは、第1スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第2スキャンポイントとして要素ベクトルを形成することを特徴とする請求項13又は14に記載の平面状障害物認識方法。
【請求項16】
要素ベクトル形成ステップは、前記任意のスキャンポイントに対して、所定回数だけ要素ベクトルを形成しても、前記第1所定長以下の要素ベクトルが得られないときは、前記任意のスキャンポイントに時系列的に連続するスキャンポイントを新たな第1スキャンポイントとして要素ベクトルを形成することを特徴とする請求項15に記載の平面状障害物認識方法。
【請求項17】
要素ベクトル形成ステップは、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとし、第2スキャンポイントに時系列的に連続するスキャンポイントを第3スキャンポイントとして要素ベクトルを形成し、
第2スキャンポイントを始点とし第3スキャンポイントを終点とする要素ベクトルが、第1スキャンポイントを始点とし第2スキャンポイントを終点とする要素ベクトルに対してなす振れ角度が第1所定角度よりも大きい場合に、第3スキャンポイントを排除して、第2スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第3スキャンポイントとして、要素ベクトルを形成することを特徴とする請求項13又は14に記載の平面状障害物認識方法。
【請求項18】
要素ベクトル形成ステップは、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとして形成された第1要素ベクトルが前記第1所定長よりも長いときは、第1スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第2スキャンポイントとして第1要素ベクトルを形成し、
さらに、第2スキャンポイントに時系列的に連続するスキャンポイントを第3スキャンポイントとし、第2スキャンポイントを始点とし第3スキャンポイントを終点とする第2要素ベクトルが、第1スキャンポイントを始点とし第2スキャンポイントを終点とする第1要素ベクトルに対してなす振れ角度が第1所定角度よりも大きい場合に、第3スキャンポイントを排除して、第2スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第3スキャンポイントとして、第2要素ベクトルを形成することを特徴とする請求項13又は14に記載の平面状障害物認識方法。
【請求項19】
スキャンセグメントベクトル形成ステップにより1つのスキャンセグメントベクトルが形成されると、複数のスキャンポイントのうち、スキャンセグメントベクトルの形成に用いられなかったスキャンポイントを用いて、新たなスキャンセグメントベクトルの形成を試みることを特徴とする請求項13に記載の平面状障害物認識方法。
【請求項20】
2以上のスキャンセグメントベクトルが形成された場合に、第2スキャンセグメントベクトルが他の第1スキャンセグメントベクトルに対してなす角度が前記第1所定角度以下であり、かつ前記第2スキャンセグメントベクトルの始点が第1スキャンセグメントベクトルの終点から所定距離以内であるとき、スキャンセグメントベクトル形成ステップは、第1スキャンセグメントベクトルの終点を始点とし、第2スキャンセグメントベクトルの始点を終点とするベクトルを第1スキャンセグメントベクトルと第2スキャンセグメントベクトルの間に合成して新たなスキャンセグメントベクトルを形成することを特徴とする請求項19に記載の平面状障害物認識方法。
【請求項21】
スキャンセグメントベクトル形成ステップは、スキャンセグメントベクトルの形成に寄与したスキャンポイントの情報を保存し、
障害物認識ステップは、前記スキャンセグメントベクトルの始点と終点により定義される線分の長さが前記第2所定長以上であるときに、保存されたスキャンポイントの座標を用いて最小二乗法により、スキャンポイントに最適にフィットする線分を演算し、この線分を平面状障害物として認識することを特徴とする請求項13に記載の平面状障害物認識方法。
【請求項22】
要素ベクトル形成ステップは、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとして、第1スキャンポイントを始点とし、第2スキャンポイントを終点として第1群の要素ベクトルを形成し、
要素ベクトル形成ステップはさらに、第1スキャンポイントを始点とし、第2スキャンポイントを終点として形成される要素ベクトルが第1所定長以下の時は、任意のスキャンポイントを第1スキャンポイントとし、第1スキャンポイントに時系列的に連続するスキャンポイントを第2スキャンポイントとして要素ベクトルを形成し、また、形成される要素ベクトルが前記第1所定長よりも長いときは、第1スキャンポイントに時系列的に連続しない他のスキャンポイントを新たな第2スキャンポイントとして第2群の要素ベクトルを形成し、
要素ベクトル選択ステップは、前記第1群の要素ベクトルから連続する複数の要素ベクトルを選択すると共に、前記第2群の要素ベクトルから連続する複数の要素ベクトルを選択し、
スキャンセグメントベクトル形成ステップは、前記第1群の要素ベクトルから選択された複数の要素ベクトルをベクトル合成して第1スキャンセグメントベクトルを形成すると共に、前記第2群の要素ベクトルから選択された複数の要素ベクトルをベクトル合成して第2スキャンセグメントベクトルを形成し、第2スキャンセグメントベクトルを形成する要素ベクトルから第1スキャンセグメントベクトルを形成する要素ベクトルを引き去る演算を行い、残った要素ベクトルを用いて第3スキャンセグメントベクトルを形成し、
障害物認識ステップは、形成された第3スキャンセグメントベクトルの始点と終点により定義される線分を第2所定長と比較し、線分が第2所定長以上であるときに、その第3スキャンセグメントベクトルに沿って空隙を有する平面状障害物が存在していると認識することを特徴とする請求項13に記載の平面状障害物認識方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図13】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図8】
image rotate

【図12】
image rotate

【図14】
image rotate


【公開番号】特開2008−268224(P2008−268224A)
【公開日】平成20年11月6日(2008.11.6)
【国際特許分類】
【出願番号】特願2008−137232(P2008−137232)
【出願日】平成20年5月26日(2008.5.26)
【分割の表示】特願2006−46490(P2006−46490)の分割
【原出願日】平成18年2月23日(2006.2.23)
【出願人】(000005832)松下電工株式会社 (17,916)
【Fターム(参考)】