(57)【要約】      （修正有）【課題】走行面にある物体の上を安全に走行できるか否かを推定すること。【解決手段】自装置移動速度算出部１０８１は、移動装置の移動量および移動の向きを表す第１ベクトルを算出する。障害物相対速度算出部１０８２は、走行面または走行面上の物体の移動装置に対する相対的な移動量および移動の向きを表す第２ベクトルを算出する。障害物絶対速度算出部１０８３は、第１ベクトルと、第２ベクトルとに基づいて、走行面または走行面上の物体の絶対的な移動量および移動の向きを表す第３ベクトルを算出し、第３のベクトルに応じて前記移動装置の移動を制御する。【選択図】図３
2014106638.tif 000002
【特許請求の範囲】
【請求項１】
走行面を移動する移動装置であって、
前記移動装置の移動量および移動の向きを表す第１ベクトルを算出する自装置移動速度算出部と、
前記走行面または走行面上の物体の前記移動装置に対する相対的な移動量および移動の向きを表す第２ベクトルを算出する障害物相対速度算出部と、
前記第１ベクトルと、前記第２ベクトルとに基づいて、前記走行面または前記走行面上の前記物体の絶対的な移動量および移動の向きを表す第３ベクトルを算出する障害物絶対速度算出部と、
を備え、
前記第３ベクトルに応じて前記移動装置の移動を制御すること
を特徴とする移動装置。
【請求項２】
前記障害物相対速度算出部は、下向きまたは斜下向きに設置されたカメラにより撮影された少なくとも２枚の映像を用いて、前記第２ベクトルを推定すること
を特徴とする請求項１に記載の移動装置。
【請求項３】
危険度判定部をさらに備え、
前記障害物絶対速度算出部は、
前記障害物相対速度算出部が算出した第２ベクトルと、
前記自装置移動速度算出部が算出した第１ベクトルとから前記第３ベクトルを算出し、
前記危険度判定部は、
前記障害物絶対速度算出部が算出した前記第３ベクトルの大きさと閾値とを比較することで移動装置の下方に存在する物体に対する危険性の有無を推定すること
を特徴とする請求項１から請求項２のいずれか１項に記載の移動装置。
【請求項４】
走行面における移動装置の移動を制御する制御方法であって、
前記移動装置の移動量および移動の向きを表す第１ベクトルを算出する自装置移動速度算出ステップと、
前記走行面または走行面上の物体の前記移動装置に対する相対的な移動量および移動の向きを表す第２ベクトルを算出する障害物相対速度算出ステップと、
前記第１ベクトルと、前記第２ベクトルとに基づいて、前記走行面または前記走行面上の前記物体の絶対的な移動量および移動の向きを表す第３ベクトルを算出する障害物絶対速度算出ステップと、
を備え、
前記第３ベクトルに応じて前記移動装置の移動を制御すること
を特徴とする制御方法。
【請求項５】
前記障害物相対速度算出ステップは、下向きまたは斜下向きに設置された１つのカメラにより異なる時間に撮影された少なくとも２枚の映像を用いて、前記第２ベクトルを推定すること
を特徴とする請求項４に記載の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動装置および制御方法に関する。
【背景技術】
【０００２】
清掃を行うロボット、いわゆる掃除ロボットなどの移動装置は、家庭をはじめとしてビルのフロアやオフィスの清掃など様々な環境で用いられている。それらの環境には、移動装置が自動走行する上で障害となる要素が多くある。特に、移動装置自身の破損の恐れに繋がる転倒や転落を防ぐために、多くの移動装置には赤外線等を利用した高さ検知センサが備えられており、大きな段差を検知すると検知した先には進まないように制御されていることが多い。
【０００３】
特許文献１に記載の技術は、ロボット掃除機システムの制御方法であって、敷居の高さを設定し、設定された値をロボット掃除機のメモリに保存し、ロボット掃除機が被掃除面の走行中に検出された敷居の高さと、ロボット掃除機の保存値とを比較し、比較結果に対応する方向にロボット掃除機を移動させる方法である。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−１４６６１７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、移動装置が使用される環境においては、高さに問題がなくても、その上を走行してしまうと危険なものがある。移動装置は、例えば、電源コードやスピーカーケーブルのような紐状の物体を車輪に巻き込んでしまうと、該紐状の物体が車輪に絡まって移動不能な状態に陥ったり、その先につながっている物を転倒・転落させてしまったりする恐れがある。また、移動装置は、走行面に紙状の物体があった場合に、その上を走行すると、紙状の物体を痛めてしまう可能性がある。さらに、移動装置は、該紙状の物体を車輪に絡めてしまう可能性がある。移動装置が吸引機構を有する場合は、吸引部が紐状の物体や紙状の物体を吸引するなどしてしまうことで、さらに故障や転倒・転落の可能性が高まる。このように、高さ検知センサのみを利用した方法では、自律走行を行う上での危険回避ができないという問題があった。
【０００６】
本発明は上記の点に鑑みてなされたものであり、走行面にある物体の上を安全に走行できるか否かを推定することができる移動装置および制御方法を提供することを課題とする。
【課題を解決するための手段】
【０００７】
（１）本発明は上記の課題を解決するためになされたものであり、本発明の一態様は、走行面を移動する移動装置であって、前記移動装置の移動量および移動の向きを表す第１ベクトルを算出する自装置移動速度算出部と、前記走行面または走行面上の物体の前記移動装置に対する相対的な移動量および移動の向きを表す第２ベクトルを算出する障害物相対速度算出部と、前記第１ベクトルと、前記第２ベクトルとに基づいて、前記走行面または前記走行面上の前記物体の絶対的な移動量および移動の向きを表す第３ベクトルを算出する障害物絶対速度算出部と、を備え、前記第３のベクトルに応じて前記移動装置の移動を制御することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、走行面にある物体の上を安全に走行できるか否かを推定することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の第１の実施形態に係る移動装置の本体を左側面方向から見た一例を示す左側面図である。
【図２】本実施形態に係る移動装置の本体を上方向から見た一例を示す上断面図である。
【図３】本実施形態に係る移動装置の構成の一例を示す概略ブロック図である。
【図４】本実施形態に係る制御部の処理の一例を示すフローチャートである。
【図５】本発明の第２の実施形態に係る移動装置の本体を左側面方向から見た一例を示す左側面図である。
【図６】本実施形態に係る移動装置の本体を上方向から見た一例を示す上断面図である。
【図７】本実施形態に係る移動装置に設置されたカメラ映像からの距離算出方法の一例を示す図である。
【図８】本実施形態に係る移動装置の構成の一例を示す概略ブロック図である。
【図９】本発明の第３の実施形態に係る移動装置の構成の一例を示す概略ブロック図である。
【発明を実施するための形態】
【００１０】
（第１の実施形態）
以下、図面を参照しながら本発明の第１の実施形態について詳しく説明する。
本実施形態において、移動装置１が、移動装置１の移動量と移動の向きを表すベクトルと、映像内の物体の移動装置１に対する相対的な移動量と移動の向きを表すベクトルから、映像内の物体の絶対的な移動量と移動の向きを表すベクトルを推定することで危険度判定を行い、走行面にある物体の回避を行う場合について説明する。
【００１１】
図１および図２は、本発明の実施形態に係る移動装置１の一例を示す外観図である。
図１は、本実施形態に係る移動装置１の本体を左側面方向から見た一例を示す左側面図である。図２は、本実施形態に係る移動装置１の本体を上方向から見た一例を示す上面図である。図１および図２は、分かりやすく表現するために、外観からは実際に目視できない部分も図示している。
【００１２】
移動装置１は、走行面２０の上に図面では左側を前方として位置している。この移動装置１は、前後方向の中心付近で左右に配置される左右の動輪１００ａおよび１００ｂ、動輪１００ａおよび１００ｂより前方に配置される先輪１０１、動輪１００ａおよび１００ｂより後方に配置される従輪１０２を備えている。移動装置１は、動輪１００ａおよび動輪１００ｂの各々の角変位量を検出する角変位センサ１０３ａおよび１０３ｂを動輪１００ａおよび１００ｂ各々の近傍、例えば、角変位センサ１０３ａおよび１０３ｂが動輪１００ａおよび１００ｂの角変位量を測定できる範囲に備えている。
【００１３】
移動装置１は、先輪１０１の前方に障害物センサ１０４を備え、高さ検知センサ１０５、カメラ１０６、および衝撃センサ１０７を先輪１０１より後方かつ従輪１０２より前方に備える。移動装置１は、動輪１００ａおよび１００ｂの左右方向の中心付近に駆動部１０９を備え、駆動部１０９より後方かつ従輪１０２より前方に制御部１０８を備えている。
なお、本実施形態における各センサ、カメラの位置は一例であり、本発明はこれに限定されない。
【００１４】
図３は、本実施形態に係る移動装置１の構成の一例を示す概略ブロック図である。
移動装置１は、角変位センサ１０３ａおよび１０３ｂと、障害物センサ１０４と、高さ検知センサ１０５と、カメラ１０６ａと、衝撃センサ１０７と、制御部１０８と、駆動部１０９とを含んで構成される。移動装置１は、その他一般的に公知の移動装置の機能を備えるが、図示および説明は省略する。
【００１５】
角変位センサ１０３ａおよび１０３ｂは、移動装置１がある位置から他の位置へ移動したとき、動輪１００ａおよび１００ｂの回転角を測定する。回転角を測定する方法は、ロータリーエンコーダーやリニアエンコーダーなどを用いてもよいし、磁界や光、音波などを媒体とした非接触式を用いてもよいし、ダイヤルゲージや差動トランスなどの接触式を用いてもよい。角変位センサ１０３ａおよび１０３ｂは、例えば、ロータリーエンコーダーを用いて測定した回転角を示す情報ａを制御部１０８に出力する。
【００１６】
障害物センサ１０４は、例えば、送波器により超音波、無線波、赤外線などを発信し、その反射波を受波器で受信することにより、移動装置１の進行方向の物体の状態、例えば、物体の有無、物体がある場合、該物体までの距離などを測定する。障害物センサ１０４は、測定した物体の状態を示す情報ｂを制御部１０８に出力する。
【００１７】
高さ検知センサ１０５は、例えば、送波器により超音波、無線波、赤外線などを物体（走行面）に向け発信し、その反射波を受波器で受信することにより、特定の高さにおける物体の有無などを測定する。高さ検知センサ１０５は、測定した物体の状態を示す情報ｃを制御部１０８に出力する。
【００１８】
カメラ１０６ａは、移動装置１の底面に設置され、移動装置１の下部の様子を撮影する。カメラ１０６ａは、撮影した映像ｄを制御部１０８に出力する。
【００１９】
衝撃センサ１０７は、超音波や加速度などを用いて衝撃を検出する。衝撃センサ１０７は、衝撃の強弱、衝撃の有無などを示す情報ｅを制御部１０８に出力する。
制御部１０８は、各センサから入力された各情報ａ、ｂ、ｃ、ｅや映像ｄや、あらかじめ学習した環境地図の情報などに基づき、移動装置１の走行状態を制御する信号、例えば、移動装置１を停止、移動装置１が物体を回避する割り込み信号を駆動部１０９に出力する。駆動部１０９は、動輪１００ａおよび１００ｂを駆動させ、移動装置１を走行させる。また、障害物センサ１０４が物体を検出した場合、または衝撃センサ１０７が閾値以上の衝撃を検出した場合、または高さ検知センサ１０５が閾値以上の高さを検出した場合、駆動部１０９は、移動装置１の走行を停止する、または移動装置１が物体や高さが検出されない位置まで回避する制御を行う。
制御部１０８の詳細な動作については、後述する。
【００２０】
制御部１０８は、自装置移動速度算出部１０８１と、障害物相対速度算出部１０８２と、障害物絶対速度算出部１０８３と、危険度判定部１０８４と、割り込み信号生成部１０８５とを含んで構成される。
自装置移動速度算出部１０８１は、角変位センサ１０３ａおよび１０３ｂから入力された移動装置１の左右の動輪１００ａおよび１００ｂの角速度を示す情報ａと、予めわかっている左右の動輪の大きさ、例えば半径を用いて、移動装置１の現在の移動量と移動の向きを表すベクトルを算出する。ここで、角変位センサ１０３ａおよび１０３ｂは、例えば、ロータリーエンコーダーを用いる。
【００２１】
障害物相対速度算出部１０８２は、カメラ１０６ａから入力された映像ｄに基づき、映像内の走行面上にある物体の相対的な移動量および移動の向きを表すベクトルを算出する。カメラ１０６ａは、移動装置１の下を向いて設置されているため、映像内での移動量および移動の向きは、走行面における移動量と移動の向きと比例関係にあるため、映像内での移動量及び移動の向きを走行面における移動量と移動の向きに変換する。
【００２２】
光軸方向におけるカメラ１０６ａから物体までの距離と映像での大きさは、カメラ映像の横方向と平行にＸ軸、カメラ映像の縦方向と並行にＹ軸、光軸と一致するようにＺ軸をとった３次元座標系を考えると、反比例の関係にある。Ｚ軸方向の大きさで正規化した座標は、映像内の座標（ｕ，ｖ）、実空間での座標（Ｘ，Ｙ，Ｚ）をＸ／Ｚ＝δｕ（ｕ―ｃｘ）／ｆ、Ｙ／Ｚ＝δｖ（ｖ―ｃｖ）／ｆの関係にある。ここで、δｕはカメラ１０６ａの横方向の画素ピッチ、δｖはカメラの縦方向の画素ピッチ、ｆは焦点距離、ｃｕとｃｖは光軸と映像面との交点である画像中心の座標である。
本実施形態では、カメラ１０６ａを移動装置１の下を向いて設置され、走行面にある物体を撮影するため、Ｚ＝Ｚ０で固定値となる。なお、Ｚ０はカメラ１０６ａから走行面までの距離である。画素ピッチδｕ、δｖ、焦点距離ｆ、画像中心ｃｕ，ｃｖは、カメラパラメータと呼ばれる、カメラによって決まる定数であり、あらかじめ求めておくことが出来る。したがって、映像内の座標から実空間での座標（Ｘ，Ｙ）を算出することができる。
【００２３】
障害物相対速度算出部１０８２は、カメラ１０６ａにおいて取得した映像ｄを時間方向に渡って解析する。障害物相対速度算出部１０８２は、該解析により映像内の物体の、移動装置１に対する相対的な移動量と移動の向きを表すベクトルを算出する。例えば、障害物相対速度算出部１０８２は、所定の時間だけ異なるタイミングで撮影された複数の映像間でのブロックマッチングを行うことにより映像内の物体の移動装置１に対する相対的な移動量と移動の向きを表すベクトルを算出する。ブロックマッチングは、１枚目の映像のあるブロックの映像が２枚目の映像のどのブロックに対応するかを探索する。ブロックマッチングは、探索した映像に対応するブロックから移動量および移動の向きを表すベクトルを算出する。障害物相対速度算出部１０８２は、ブロックマッチングを映像内の物体それぞれに適用し、単位時間当たりの映像内での物体の移動量と移動の向きを表すベクトルを算出する。
【００２４】
障害物絶対速度算出部１０８３は、自装置移動速度算出部１０８１が算出した自装置の移動量と移動の向きを表すベクトルと、障害物相対速度算出部１０８２が算出した自装置に対する走行面または走行面上の物体の相対的な移動量と移動の向きを表すベクトルとを足し合わせ、走行面または走行面上の物体の絶対的な移動量と移動の向きを表すベクトルを算出する。ここで絶対的な移動量と移動の向きとは、走行面または走行面に対する移動量および移動の向きのことである。
【００２５】
なお、物体は、高さを持つ可能性があり、そのため物体からカメラまでの距離(高さ)が走行面からカメラまでの距離よりも近い場合は、算出結果は、実際よりも大きな移動量となる。しかし、ここでは、映像に映った物体は全て走行面に存在すると仮定する。
【００２６】
危険度判定部１０８４は、障害物絶対速度算出部１０８３が算出した物体の絶対的な移動量および移動の向きを表すベクトルの大きさと、閾値とを比較し、該ベクトルの大きさが閾値より大きければ危険と判定し、危険を示す情報を割り込み信号生成部１０８５に出力する。
【００２７】
ここで、危険と判定する状態には、移動装置１が走行することにより干渉を受けて動いている場合、物体自体が移動している場合などが含まれる。これにより、走行面または走行面上の物体が転倒・転落、破損や移動装置１への物体の巻き込みなどの危険を判定することができる。
【００２８】
割り込み信号生成部１０８５は、危険度判定部１０８４から危険を示す情報が入力されると、駆動部１０９に移動装置１の走行を停止あるいは物体の回避を行わせる割り込み信号を出力し、移動装置１の走行における駆動状態を変更する。
【００２９】
図４は、本実施形態に係る制御部１０８の処理の一例を示すフローチャートである。
まず、制御部１０８の自装置移動速度算出部１０８１は、移動装置１に備えられた各変位センサから入力された回転角を示す情報ａに基づき、自装置の移動量と移動の向きを表すベクトルを算出する（ステップＳ１０１）。
【００３０】
制御部１０８の障害物相対速度算出部１０８２は、カメラ１０６ａが取得した映像ｄを時間方向に渡って解析する。障害物相対速度算出部１０８２は、該解析により映像内の物体の、移動装置１に対する相対的な移動量と移動の向きを表すベクトルを算出する。（ステップＳ１０２）。
【００３１】
制御部１０８の障害物絶対速度算出部１０８３は、ステップＳ１０２にて算出した映像内の物体の自装置に対する相対的な移動量と移動の向きを表すベクトルから、ステップＳ１０１にて算出した自装置の移動量と移動の向きを表すベクトルを用いて、自装置の移動による影響を差し引いた、映像内の物体の絶対的な移動量と移動の向きを表すベクトルおよび該ベクトルの大きさを算出する（ステップＳ１０３）。
【００３２】
制御部１０８の危険度判定部１０８４は、ステップＳ１０３にて算出した物体の絶対的な移動量および移動の向きを表すベクトルの大きさと、閾値とを比較することにより、移動装置１の下方に物体があるかを推定する。具体的には、絶対的な移動量および移動の向きを表すベクトルの大きさが閾値より大きいとき、すなわち、走行面または走行面上にある物体が移動している場合、危険度判定部１０８４は、危険と判定する（ステップＳ１０４）。
【００３３】
危険度判定部１０８４は、危険と判定した場合、危険を示す情報を割り込み信号生成部１０８５に出力する。
制御部１０８の割り込み信号生成部１０８５は、ステップＳ１０４にて判定され、出力された危険を示す情報に基づいて、駆動部１０９に移動装置１の走行を停止または物体の回避を行わせる割り込み信号を出力し、移動装置１の走行における駆動状態を変更する（ステップＳ１０５）。
【００３４】
それぞれのステップについて、より詳細に説明する。
制御部１０８の自装置移動速度算出部１０８１は、ステップＳ１０１において、まず角変位センサ１０３ａおよび１０３ｂから入力された移動装置１の左右の動輪１００ａおよび１００ｂの角速度を示す情報ａと、予めわかっている左右の動輪の大きさ、例えば半径を用いて、移動装置１の現在の移動量と移動の向きを表すベクトルを算出する。制御部１０８の障害物相対速度算出部１０８２は、ステップＳ１０２において、カメラ１０６ａからの映像ｄの時間変化を解析することにより、撮影された走行面の映像内の物体の現在の移動量と移動の向きを表すベクトルを算出する。
【００３５】
障害物相対速度算出部１０８２がカメラ１０６において撮影した映像ｄから移動の向きと移動量を求める具体的な手段として、例えば、所定の時間だけ異なるタイミングで撮影された複数の映像間でのブロックマッチングを行う。
【００３６】
本実施の形態において、カメラ１０６ａは、移動装置１の下向きに設置されているため、映像内での移動量は、走行面における移動量と比例関係にあると見なせる。さらに、その比例係数は、カメラ１０６ａのカメラパラメータである焦点距離と画角と解像度を用いて算出できる。したがって、制御部１０８は、映像内の物体それぞれについて移動の向きと移動量を求めることが可能となる。
【００３７】
制御部１０８の障害物絶対速度算出部１０８３は、ステップＳ１０３において、ステップＳ１０２にて算出した自装置に対する映像内の物体の相対的な移動量と移動の向きを表すベクトルから、ステップＳ１０１にて算出した自装置の移動量と移動の向きを表すベクトルを用いて、物体の絶対的な移動量と移動の向きを表すベクトルおよび該ベクトルの大きさを算出する。物体と自装置が同じ方向へ動いていた場合、物体の移動装置１に対する相対速度は、自装置の速度分だけ小さく求められる。物体と自装置が逆方向へ動いていた場合は、物体の移動装置１に対する相対速度は、自装置の速度分だけ大きく求められる。これにより、それぞれのベクトルを足し合わせることで、物体の絶対的な移動量と移動の向きを表すベクトルを算出することが可能である。
【００３８】
制御部１０８の危険度判定部１０８４は、ステップＳ１０４において、算出した物体の絶対的な移動量および移動の向きを表すベクトルの大きさと、閾値とを比較することにより、移動装置１の下方に移動する物体があるかを推定し、閾値より物体の絶対的な移動量および移動の向きを表すベクトルの大きさが大きい場合に、危険と判定し、危険を示す情報を割り込み信号生成部１０８５に出力する。
【００３９】
なお、ブロックマッチングなどで算出した結果を、映像信号に対するオブジェクト認識を行ってオブジェクト毎に平均化を行なってもよい。それによりブロックマッチングの結果に誤差が含まれていても、誤差の影響を小さくすることができる。
また、走行面に静止状態でない物体が存在する場合、制御部１０８の危険度判定部１０８４は、危険と判定し、例えば、移動装置１の走行を停止し、一定の距離逆走した上で回避を行ってもよく、カメラ映像を利用して、移動装置１が走行することで干渉して移動させてしまった物体と特徴が似た物体とがカメラ映像に映らなくなるまで回避するようにしてもよい。
【００４０】
また、図４におけるステップＳ１０１とステップＳ１０２の順番を入れ替えてもよいし、ステップＳ１０１とステップＳ１０２を同時に行なってもよい。
なお、カメラ１０６ａは、レンズやカメラ本体が移動装置の底面から突起する部分がないように、移動装置１の本体部に埋め込まれる形で設置されることが望ましい。このようにすることで、走行中にカメラ１０６ａが物体等と接触して破損することを防ぐことができる。また、カメラ１０６ａの撮影範囲を照らすことが可能なライトをカメラ１０６ａの近傍、例えば、カメラ１０６ａの撮影範囲を照射できる位置に設けてもよい。カメラ１０６ａは、移動装置１の底面に配置されているため、移動装置１が外部の照明や日光を遮ってしまうことで十分な光量を確保しづらいが、ライトを利用することにより、光量を確保してノイズの少ない映像を取得可能となる。
【００４１】
また、カメラ１０６ａの映像に移動装置１の一部が写り込んでいた場合、移動装置１は、他の写り込みがない部分と同様に扱うと、写り込みのある部分が移動しているものとして扱ってしまう。そのため、移動装置１が走行を始める前から、移動の向きと移動量が移動装置１と常に一致するものは、移動装置１の一部であるとみなして、除外するようにしてもよい。
また、移動装置１は、２台以上のカメラを用い、いわゆるステレオマッチングを行なって物体の三次元座標を求めるようにしてもよい。同時とみなせる時間差で撮影された複数のカメラ映像によるステレオマッチングを行うことで、移動装置１は、物体までの奥行きを推定することができるため、物体が走行面に存在すると仮定することなく、実際の距離を推定できるため、走行面の物体の移動量や移動の向きをより正確に求めることができる。
【００４２】
また、本実施形態における移動装置１は、図１に示すように前後方向の中心付近で左右に配置される左右の動輪１００ａおよび１００ｂと、先輪１０１と、従輪１０２とを備える構成であるが、本発明は、これに限定されない。例えば、四輪自動車のような左右二輪が前後に配置された四輪構成であってもよいし、左右二輪を後方に配置し、先輪を前方中央に配置した三輪構成であってもよいし、左右二輪を前方に配置し、従輪を後方中央に配置した三輪構成であってもよい。
【００４３】
また、自装置移動速度算出部１０８１は、移動装置１の移動量と移動の向きを表すベクトルを取得するために角変位センサ１０３ａおよび１０３ｂを利用しているが本発明はこれに限定されず、例えば、ＧＰＳや無線通信技術などを利用した測位システムなど、他の手段を用いてもよい。また、障害物相対速度算出部１０８２は、走行面の物体の移動量と移動の向きを表すベクトルを取得するためにカメラ１０６ａを利用しているが本発明はこれに限定されず、障害物センサと距離センサの出力信号から推定を行うようにしてもよい。
【００４４】
このように、本実施形態によれば、移動装置１は、走行面にある物体の上を安全に走行できるか否かを推定することができる。そのため、移動装置１が走行することによって生じる可能性のある、走行面にある物体を移動装置１の使用者が意図しない形で移動させてしまうことや、ケーブルのような紐状の物体を巻き込む恐れのある物体の上を無理に走行しようとして、トラブルを起こす可能性を低減することができる。
【００４５】
（第２の実施形態）
以下、図面を参照しながら本発明の第２の実施形態について詳しく説明する。
第１の実施形態では、移動装置１の底面に設置したカメラ１０６ａを用いて相対的な移動量と移動の向きを表すベクトルを算出し、算出した自装置の移動量と移動の向きを表すベクトルと自装置に対する映像内の物体の相対的な移動量と移動の向きを表すベクトルとに基づいて、映像内の物体の絶対的な移動量と移動の向きを表すベクトルを算出する場合について説明した。
本実施形態においては、移動装置１ａの前方に走行面２０に対して斜めにカメラ１０６ｂを設置した場合について説明する。
【００４６】
図５および図６は、本発明の実施形態に係る移動装置１ａの一例を示す外観図である。
図５は、本実施形態に係る移動装置１ａの本体を左側面方向から見た一例を示す左側面図である。図６は、本実施形態に係る移動装置１ａの本体を上方向から見た一例を示す上面図である。図５および図６は、分かりやすく表現するために、外観からは実際に目視できない部分も図示している。
【００４７】
移動装置１ａは、図１に示すように走行面２０の上に図面では左側を前方として位置している。この移動装置１ａは、前後方向の中心付近で左右に配置される左右の動輪１００ａおよび１００ｂ、動輪１００ａおよび１００ｂより前方に配置される先輪１０１、動輪１００ａおよび１００ｂより後方に配置される従輪１０２を備えている。移動装置１ａは、動輪１００ａおよび動輪１００ｂの各々の角変位量を検出する角変位センサ１０３ａおよび１０３ｂが動輪１００ａおよび１００ｂ各々の近傍、例えば、角変位センサ１０３ａおよび１０３ｂが動輪１００ａおよび１００ｂの角変位量を測定できる範囲に備えている。
【００４８】
移動装置１ａは、先輪１０１の前方に障害物センサ１０４ａおよびカメラ１０６ｂが前方斜下向きに配置され、高さ検知センサ１０５、および衝撃センサ１０７を先輪１０１より後方かつ従輪１０２より前方に備える。移動装置１ａは、動輪１００ａおよび１００ｂの左右方向の中心付近に駆動部１０９を備え、駆動部１０９より後方かつ従輪１０２より前方に制御部１０８を備えている。
なお、本実施形態における各センサ、カメラの位置は一例であり、本発明はこれに限定されない。
【００４９】
図８は、本実施形態に係る移動装置１ａの構成の一例を示す概略ブロック図である。
移動装置１ａは、動輪１００ａおよび１００ｂと、先輪１０１と、従輪１０２と、角変位センサ１０３ａおよび１０３ｂと、障害物センサ１０４と、高さ検知センサ１０５と、カメラ１０６ｂと、衝撃センサ１０７と、制御部１０８ａと、駆動部１０９と、メモリ１１０ａとを含んで構成される。移動装置１ａは、その他一般的に公知の移動装置の機能を備えるが、図示および説明は省略する。また、動輪１００ａおよび１００ｂと、先輪１０１と、従輪１０２の説明は、省略する。
【００５０】
第１の実施形態における移動装置１と、本実施形態における移動装置１ａとを比較すると、カメラ１０６ａが削除され、メモリ１１０ａが追加されている。また、カメラ１０６ｂの設置位置がカメラ１０６ａと異なる。それ以外の構成は、同様であるので説明は省略する。
【００５１】
移動装置１ａは、カメラ１０６ｂを移動装置１ａの前方に走行面２０に対して斜めに設置した場合でも、カメラ１０６ｂにおける処理内容は基本的には変わらないが、第１の実施形態では映像平面と床平面が平行であったのに対し、カメラ１０６ｂの光軸が走行面２０に対して鉛直な方向から角度を持っているため、第１の実施形態では固定としていたカメラ１０６ａから走行面までの距離が、画像のｙ座標によって異なる。つまり映像内での見かけ上の移動量の同じ物体が映像内の上方と下方にあった場合、実際の移動量は、映像内の上方すなわち距離が遠いところにある物体の方が大きく、下方にある距離が近い物体のほうが小さい。そこで、例えば、図７の映像平面Ａを、画像中心を固定したまま走行面と並行な面Ｂへ投影することができる。このようにすることで、第１の実施形態と同様に、投影された映像平面における移動量と走行面での移動量とが比例関係となる。面Ｂの投影を行うために必要な、カメラ１０６ｂの光軸と走行面とがなす角度αおよび画像中心におけるカメラ１０６ｂから物体までの距離δの値は、カメラ１０６ｂの設置位置によって決まる固定値であるから、予めメモリ１１０ａに記憶させておいてもよい。
【００５２】
このようにカメラ１０６ｂを移動装置１ａの前方に走行面２０に対して斜めに設置することにより、物体が移動装置１の底面へ入り込むまで近づくことなく、前方にある状態からでも移動する物体を推定することが可能となり、例えば、移動装置１ａの進行方向において移動する物体に対して回避行動をとることで、物体に移動装置１ａが物体への衝突または転倒・転落の危険性を低減することができる。なお、カメラ１０６ｂの角度を前方へ傾けた分だけ床方向の撮影可能範囲が狭くなり、走行面の物体を撮影できなくなる可能性があるため、画角の広いカメラを用いることが望ましい。また、制御部１０８ａは、例えば電源コードや新聞などといった、一度危険であると判断された物体の情報をメモリ１１０ａに記憶させる。制御部１０８ａは、メモリ１１０ａに記憶された危険であると判断した物体の情報であると認識した場合、物体がカメラ１０６ｂの映像に映った段階で、移動装置１ａを停止、あるいは、物体を回避させる割り込み信号を駆動部１０９に出力することで、危険であると判断した物体を回避する。すると移動装置１ａは、一度物体の上を走行しようとした際に危険であると判断された物体については、二度目以降はその上を走行するよりも早い段階で、物体の回避を行うことができるため、より安全な走行が可能となる。物体の情報は、移動装置１ａが走行時にメモリ１１０ａに記憶させる以外にも、インターネットなどから提供されるデータベースを参照するなどして、ユーザが予め設定し、メモリ１１０ａに記憶させておいてもよい。
【００５３】
このように、本実施形態によれば、移動装置１ａは、走行面にある物体の上を安全に走行できるか否かを推定することができる。また、移動装置１ａが走行することによって生じる可能性のある、走行面の物体を移動装置の使用者が意図しない形で移動させてしまうことや、ケーブルのような移動装置１ａに巻き込む恐れのある物体の上を無理に走行しようとして、トラブルを起こす可能性を低減することができる。
【００５４】
（第３の実施形態）
以下、図面を参照しながら本発明の第３の実施形態について詳しく説明する。
第１の実施形態では、カメラ１０６ａを用いて取得した映像を時間方向に渡って解析し、該解析により映像内の物体の移動装置１に対する相対的な移動量と移動の向きを表すベクトルを算出し、算出した自装置の移動量と移動の向きを表すベクトルと自装置に対する映像内の物体の相対的な移動量と移動の向きを表すベクトルとに基づいて、移動装置１の移動分をキャンセルした、映像内の物体の絶対的な移動量と移動の向きを表すベクトルを算出する場合について説明した。
本実施形態においては、移動装置１が掃除ロボットである場合について説明する。
【００５５】
図９は、本実施形態に係る移動装置１ｂの構成の一例を示す概略ブロック図である。
移動装置１ｂは、動輪１００ａおよび１００ｂと、先輪１０１と、従輪１０２と、角変位センサ１０３ａおよび１０３ｂと、障害物センサ１０４と、高さ検知センサ１０５と、カメラ１０６ｂと、衝撃センサ１０７と、制御部１０８ａと、駆動部１０９と、吸引部１２０ｂとを含んで構成される。移動装置１ｂは、その他一般的に公知の移動装置の機能を備えるが、図示および説明は省略する。
【００５６】
第１の実施形態における移動装置１と、本実施形態における移動装置１ｂとを比較すると、吸引部１２０ｂが追加されている。それ以外の構成は、同様であるので説明は省略する。
本実施形態において移動装置１ｂは、例えば、掃除ロボットである。移動装置１ｂにおいて、障害物センサ１０４や高さ検知センサ１０５だけでは検出できない衝突や転倒・転落の危険性がある物体の一つとして、移動装置１ｂが吸い込むことができない大きな物体や、紐状の物体や紙状の物体を吸引部１２０ｂで吸引してしまうことが挙げられる。吸引部１２０ｂは、吸い込むことが出来ない大きさの物体を吸引しようとし続けることで、他の物体を吸引できなくなり、その結果、移動装置１ｂの移動が妨げられてしまう恐れがある。また、吸引部１２０ｂは、紐状の物体や紙状の物体を吸引すると、吸引部１２０ｂのローラーに絡まってしまう恐れがある。
【００５７】
そのため、本実施形態における移動装置１ｂは、移動装置１ｂから所定の範囲内にある移動装置１ｂが吸い込み可能な大きさを超える物体を検出する。また、本実施形態における移動装置１ｂは、移動装置１ｂから所定の範囲内にある紐状の物体に対して、移動装置１ｂの周囲まで広がった紐状の物体の一部を吸引部１２０ｂで吸引することにより、それ以外の他の部分までが移動装置１ｂの方に引き寄せられることを検出する。制御部１０８は、移動装置１ｂから所定の範囲内にある物体の大きさを所定のしきい値と比較する。また、制御部１０８は、移動装置１ｂから所定の範囲内にある物体が移動装置１ｂへ向かって移動している場合、その移動量を所定のしきい値と比較する。
【００５８】
制御部１０８は、該判定結果に基づいて、移動装置１ｂが吸い込み可能な大きさを超える物体や、吸い込みによって移動装置１ｂの周囲の部分までが引きこまれてしまう物体を吸引部１２０ｂで吸引していると検出した場合、吸引部１２０ｂの吸引を停止することによって、物体が転倒・転落することを防ぐことができる。このため、本実施形態で用いるカメラ１０６ｂは、移動装置１ｂの周辺を広く撮影できることが望ましい。例えば、カメラ１０６ｂは、魚眼レンズを用いたカメラを、移動装置１ｂの前方へ設置される。魚眼レンズは、非常に強い歪を持つため、マシンビジョンに用いる際に歪補正が行われる。しかしながら、カメラ１０６ｂは、魚眼レンズの中心を吸引部１２０ｂの吸引口と略一致させることで、吸引される物体が撮影している映像の中心に向かってくることになる。
【００５９】
魚眼レンズの歪は、レンズ中心から円対称であり、レンズの中心に比べて周辺が圧縮された映像となる。そのため、歪補正を行わずにカメラ１０６ｂが撮影した映像から移動量を制御部１０８が算出した場合、レンズの中心から離れるほど映像内での移動量が小さくなる、実際の移動量よりも小さな移動量であると算出してしまう。しかしながら、吸引部１２０ｂにおいて物体が吸引されている状態においては、魚眼レンズの周辺部に映った部分、すなわち、移動装置１ｂから一定の距離がある物体の一部が移動する。移動装置１ｂから一定の距離がある物体の一部が移動しているとき、レンズ中心に近い、すなわち、移動装置１ｂに近くにある物体の一部も移動することになるため、制御部１０８は、レンズ中心付近から得られる映像に対してだけ物体の移動量を算出し、レンズ周辺部における物体の移動量の算出を省略することができる。
【００６０】
制御部１０８は、魚眼レンズの歪による移動量の変化を考慮し、レンズ中心からのレンズ内の距離に応じて、物体の移動量の閾値を変更してもよい。また、レンズの中心付近は、歪による圧縮の影響が少ないため、ある程度の誤差が許容される場合であれば、歪補正を行わなくてもよい。さらに、吸引よる物体の移動量は、移動装置１ｂの移動量よりも十分速く、移動装置１ｂの移動によって生じる、カメラ１０６ｂによって撮影される映像における物体の移動量や移動の向きへの影響は無視できることが多いため、図４のステップＳ１０１とステップＳ１０３を省略し、ステップＳ１０２の結果をステップＳ１０３の結果として用いてもよい。
【００６１】
このように、本実施形態によれば、移動装置１ｂは、走行面にある物体の上を安全に走行できるか否かを推定することができる。また、移動装置１ｂが走行することによって生じる可能性のある、走行面の物体を移動装置の使用者が意図しない形で移動させてしまうことや、ケーブルのような巻き込みの恐れのある物体の上を無理に走行しようとして、トラブルを起こす可能性を低減することができる。
【００６２】
さらに、移動装置１ｂ（掃除ロボット）が吸引することができない、大きな物体や長い物体を吸引しようとして、その物体の一部が移動装置１ｂに引き寄せられることを検出し、吸引部１２０ｂの吸引を停止することにより、無理な吸引によるトラブル、例えば、移動装置１ｂの故障や、物体の転倒・転落、物体の破損などが発生することを防ぐことができる。
【００６３】
なお、上述した実施形態における移動装置の一部、または全部をコンピュータで実現するようにしても良い。その場合、この制御機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現しても良い。なお、ここでいう「コンピュータシステム」とは、移動装置に内蔵されたコンピュータシステムであって、ＯＳや周辺機器等のハードウェアを含むものとする。
【００６４】
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでも良い。
【００６５】
また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
【００６６】
また、上述した実施形態における移動装置の一部、または全部を、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等の集積回路として実現しても良い。移動装置の各機能ブロックは個別にプロセッサ化してもよいし、一部、または全部を集積してプロセッサ化しても良い。また、集積回路化の手法はＬＳＩに限らず専用回路、または汎用プロセッサで実現しても良い。また、半導体技術の進歩によりＬＳＩに代替する集積回路化の技術が出現した場合、当該技術による集積回路を用いても良い。
【００６７】
以上、図面を参照してこの発明の一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、この発明の要旨を逸脱しない範囲内において様々な設計変更等をすることが可能である。
【００６８】
走行面を移動する移動装置であって、前記移動装置（１、１ａ、１ｂ）の移動量および移動の向きを表す第１ベクトルを算出する自装置移動速度算出部１０８１と、前記走行面または走行面上の物体の前記移動装置に対する相対的な移動量および移動の向きを表す第２ベクトルを算出する障害物相対速度算出部１０８２と、前記第１ベクトルと、前記第２ベクトルとに基づいて、前記走行面または前記走行面上の前記物体の絶対的な移動量および移動の向きを表す第３ベクトルを算出する障害物絶対速度算出部１０８３と、を備え、前記第３のベクトルに応じて前記移動装置の移動を制御することを特徴とする移動装置。
【００６９】
前記障害物相対速度算出部１０８２は、下向きまたは斜下向きに設置された１つのカメラ１０６ａにより異なる時間に撮影された少なくとも２枚の映像を用いて、前記第２ベクトルを推定することを特徴とする移動装置。
【００７０】
前記障害物相対速度算出部１０８２は、下向きまたは斜下向きに設置された少なくとも２つのカメラ１０６ｂにより同時に撮影された映像に基づいて、前記第２ベクトルを推定することを特徴とする移動装置。
【００７１】
危険度判定部１０８４をさらに備え、前記障害物絶対速度算出部１０８３は、前記障害物相対速度算出部１０８２が算出した第２ベクトルと、前記自装置移動速度算出部１０８１が算出した第１ベクトルとを足し合わせることで前記第３ベクトルと該第３ベクトルの大きさを算出し、前記危険度判定部１０８４は、前記障害物絶対速度算出部１０８３が算出した前記第３ベクトルの大きさと閾値とを比較することで移動装置（１、１ａ、１ｂ）の下方に存在する物体に対する危険性の有無を推定することを特徴とする移動装置。
【００７２】
走行面２０における移動装置（１、１ａ、１ｂ）の移動を制御する制御方法であって、前記移動装置（１、１ａ、１ｂ）の移動量および移動の向きを表す第１ベクトルを算出する自装置移動速度算出ステップと、前記走行面または走行面上の物体の前記移動装置に対する相対的な移動量および移動の向きを表す第２ベクトルを算出する障害物相対速度算出ステップと、前記第１ベクトルと、前記第２ベクトルとに基づいて、前記走行面または前記走行面上の前記物体の絶対的な移動量および移動の向きを表す第３ベクトルを算出する障害物絶対速度算出ステップと、を備え、前記第３のベクトルに応じて前記移動装置（１、１ａ、１ｂの移動を制御することを特徴とする制御方法。
【００７３】
前記障害物相対速度算出ステップは、下向きまたは斜下向きに設置された１つのカメラにより異なる時間に撮影された少なくとも２枚の映像を用いて、前記第２ベクトルを推定することを特徴とする制御方法。
【００７４】
前記障害物相対速度算出ステップは、下向きまたは斜下向きに設置された少なくとも２つのカメラにより同時に撮影された映像に基づいて、前記第２ベクトルを推定すること
を特徴とする制御方法。
【００７５】
前記障害物絶対速度算出ステップは、前記障害物相対速度算出ステップが算出した第２ベクトルと、前記自装置移動速度算出ステップが算出した第１ベクトルとを足し合わせることで前記第３ベクトルと該第３ベクトルの大きさを算出し、危険度判定ステップは、前記障害物絶対速度算出ステップが算出した前記第３ベクトルの大きさと閾値とを比較することで移動装置の下方に存在する物体に対する危険性の有無を推定することを特徴とする制御方法。
【符号の説明】
【００７６】
１、１ａ、１ｂ  移動装置
１００ａ、１００ｂ  動輪
１０１  先輪
１０２  従輪
１０３ａ、１０３ｂ  角変位センサ
１０４  障害物センサ
１０５  高さ検知センサ
１０６ａ、１０６ｂ  カメラ
１０７  衝撃センサ
１０８、１０８ａ  制御部
１０８１  自装置移動速度算出部
１０８２  障害物相対速度算出部
１０８３  障害物絶対速度算出部
１０８４  危険度判定部
１０８５  割り込み信号生成部
１０９  駆動部
１１０ａ  メモリ
１２０  吸引部
２０  走行面
【図１】
2014106638.tif 000003
【図２】
2014106638.tif 000004
【図３】
2014106638.tif 000005
【図４】
2014106638.tif 000006
【図５】
2014106638.tif 000007
【図６】
2014106638.tif 000008
【図７】
2014106638.tif 000009
【図８】
2014106638.tif 000010
【図９】
2014106638.tif 000011