(57)【要約】      （修正有）【課題】歩行動作など移動のための周期的な運動を中断しないで、撮像手段から得られた画像データに基づいて対象物の方向や位置を検出する。【解決手段】移動ロボットは、本体と、本体に連結し、周期的または非周期的な繰り返し運動を行って本体を移動させる移動手段と、本体の移動方向前方の画像を撮像し画像データとして出力する撮像手段２１とを備える。また、移動ロボットは、繰り返し運動における所定の位相タイミングで画像データを取り込む画像データ取り込み手段５１と、画像データ取り込み手段５１により取り込まれた画像データを処理して画像内の対象物の位置を検出する位置検出手段５３とを備える。【選択図】図２
2005161475.tif 000002
【特許請求の範囲】
【請求項１】
本体と、
該本体に連結し、周期的または非周期的な繰り返し運動を行って前記本体を移動させる移動手段と、
前記本体の移動方向前方の画像を撮像し画像データとして出力する撮像手段とを備えた移動ロボットであって、
前記繰り返し運動における所定の位相タイミングで前記画像データを取り込む画像データ取り込み手段と、
前記画像データ取り込み手段により取り込まれた前記画像データを処理して前記画像内の対象物の位置を検出する位置検出手段と、
を備えたことを特徴とする移動ロボット。
【請求項２】
本体と、
該本体に連結し、周期的または非周期的な繰り返し運動を行って前記本体を移動させる移動手段と、
前記本体の移動方向前方の画像を撮像し画像データとして出力する撮像手段とを備えた移動ロボットであって、
前記繰り返し運動における所定の位相タイミングで前記画像データを取り込む画像データ取り込み手段と、
前記画像データ取り込み手段により取り込まれた前記画像データを処理して前記画像内の対象物の位置と大きさとを検出する対象物検出手段と、
前記対象物検出手段により検出された前記対象物を、前記画像の画像領域における中心位置に所定の大きさで位置するように前記繰り返し運動を制御する制御手段と、
を備えたことを特徴とする移動ロボット。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、移動可能なロボットに関するものである。
【背景技術】
【０００２】
従来から、家庭用の移動ロボットとして、ペット型の自律ロボットが製造・販売されていて、ペットらしさをさらに豊かに表現させるための各種の開発が進んでいる。
【０００３】
また、従来から、ビデオカメラなどの撮像手段から得られた画像データを移動の制御のためにさまざまに利用することが行われている（例えば、特許文献１参照）。
【０００４】
ペット型の移動ロボットにあっては、ビデオカメラなどの撮像手段を搭載して対象物（例えば、黄色いボール）を設定しておき、その撮像手段から得られた画像データに基づいて対象物（黄色いボール）を追いかけるなどのペットらしい動作を表現させるうえで、撮像手段から得られる画像データが非常に重要な役割を担っている。
【０００５】
このように、移動ロボットに搭載した撮像手段から得られる画像データを移動の制御のために利用するには、移動ロボットが床面を移動するとき、床面に不整な箇所があっても、その影響を撮像手段に及ぼさないようにする必要がある（例えば、特許文献２参照）。
【特許文献１】特開２００３−６６２０号公報
【特許文献２】特開平２−２１２９０６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、例えば脚式移動ロボットの場合、良好な歩行動作を行うには各脚部の立脚相と遊脚相とで重心の移動（体重移動）が不可欠であるため、歩行動作には左右への重心のブレと垂直姿勢からの左右への傾斜をともなうことが避けられない。
【０００７】
このため、移動ロボットに搭載した撮像手段も、移動ロボットの歩行動作にともなって左右へのブレと傾斜をともなうことが避けられず、撮像手段から得られた画像データに基づいて対象物の方向や位置を検出することが困難である。
【０００８】
また、撮像手段による画像データを取り込む際に、例えば移動ロボットの歩行を一時中断し、静止した基準となる姿勢で画像データを取り込み、これに基づいて対象物の方向や位置を検出することは可能であっても、それでは連続した自然な歩行動作が失われてしまうなどの問題がある。
【０００９】
そこで、本発明が解決しようとする課題は、歩行動作など移動のための周期的な運動を中断しないで、撮像手段から得られた画像データに基づいて対象物の方向や位置を検出することのできる移動ロボットを提供することにある。
【課題を解決するための手段】
【００１０】
本発明は上記課題を解決するものであって、請求項１に係る発明は、本体と、該本体に連結し、周期的または非周期的な繰り返し運動を行って前記本体を移動させる移動手段と、前記本体の移動方向前方の画像を撮像し画像データとして出力する撮像手段とを備えた移動ロボットであって、前記繰り返し運動における所定の位相タイミングで前記画像データを取り込む画像データ取り込み手段と、前記画像データ取り込み手段により取り込まれた前記画像データを処理して前記画像内の対象物の位置を検出する位置検出手段とを備えた移動ロボットである。
【００１１】
請求項２に係る発明は、本体と、該本体に連結し、周期的または非周期的な繰り返し運動を行って前記本体を移動させる移動手段と、前記本体の移動方向前方の画像を撮像し画像データとして出力する撮像手段とを備えた移動ロボットであって、前記繰り返し運動における所定の位相タイミングで前記画像データを取り込む画像データ取り込み手段と、前記画像データ取り込み手段により取り込まれた前記画像データを処理して前記画像内の対象物の位置と大きさとを検出する対象物検出手段と、前記対象物検出手段により検出された前記対象物を、前記画像の画像領域における中心位置に所定の大きさで位置するように前記繰り返し運動を制御する制御手段とを備えた移動ロボットである。
【発明の効果】
【００１２】
本発明は以上のように、本体と、該本体に連結し、周期的または非周期的な繰り返し運動を行って前記本体を移動させる移動手段と、前記本体の移動方向前方の画像を撮像し画像データとして出力する撮像手段とを備えた移動ロボットであって、前記繰り返し運動における所定の位相タイミングで前記画像データを取り込む画像データ取り込み手段と、前記画像データ取り込み手段により取り込まれた前記画像データを処理して前記画像内の対象物の位置を検出する位置検出手段とを備えた構成としたので、歩行動作など移動のための周期的または非周期的な繰り返し運動を中断しないで撮像手段から画像データを取り込んでもブレが少ない。
【００１３】
そのため、得られた画像データに基づいて移動のための繰り返し運動を制御することができるから、連続した自然な歩行動作など移動のための自然な動作を実現することができる効果がある。
【００１４】
また、対象物の方向や位置を検出することができるから、例えばボールなど動きのある対象物と所定の距離を保って歩行動作など移動のための動作を実現することができる効果がある。
【発明を実施するための最良の形態】
【００１５】
本発明の実施の形態を、図面を参照して説明する。
【００１６】
図１は、本発明による移動ロボットの一実施形態を示す斜視図であり、この移動ロボット１は、胴体部１０、頭部２０および４本の脚部３０，４０（前脚３０ａ，３０ｂおよび後脚４０ａ，（４０ｂは図示省略））で構成される。
【００１７】
頭部２０は、図示しない２自由度のアクチュエータ（駆動モータ）を介して胴体部１０に取り付けてあり、左右・上下に動かせるように構成されている。この種のアクチュエータおよびその駆動機構は周知のものが利用可能であり、詳細な図示および説明は省略する。
【００１８】
頭部２０の鼻先に相当する部位には、撮像手段としてのビデオカメラ２１が取り付けてある。目に相当する部位には、赤外線受光部２２が取り付けてある。また、耳に相当する部位には、マイクロホン２３が取り付けてある。これにより、画像、赤外線および音の情報を入力し、それらの情報をデータとして送出することができるようになっている。
【００１９】
胴体部１０の胸に相当する部位には、スピーカ２４が取り付けてあり、音声を出力することができる。また、背中に相当する部位には、躾ボタン２５が取り付けてある。
【００２０】
躾ボタン２５は、使用者が移動ロボット１の動作に対して意思表示するためのものであり、躾ボタン２５を叩く（短い時間押される）と叱ることになり、撫でる（長い時間押される）と誉めたことになる。そして、躾ボタン２５の入力操作で誉められた動作は出現の頻度を上げ、叱られた動作は出現の頻度を下げるようにプログラムされる。
【００２１】
４本の脚部３０，４０は、図示しない必要数の自由度のアクチュエータ（駆動モータ）を介して胴体部１０に取り付けてあり、４足での自律歩行動作が可能で、自身の姿勢も制御できるように構成されている。この種のアクチュエータおよびその駆動機構も周知のものが利用可能であり、詳細な図示および説明は省略する。そして、前脚３０ａ，３０ｂの先端部分には、タッチセンサ３１が取り付けてある。
【００２２】
図２は、移動ロボット１の各種の動作をコントロールする制御システムを示すブロック図であり、ＣＰＵ５０内にハード（回路）でブロックが存在するわけではなく、ソフト（プログラム）による制御ルーチンを分かりやすくブロックとして記述したものである。ＣＰＵ５０は、移動ロボット１の胴体部１０または頭部２０の内部に設置される。
【００２３】
全体制御部５１は、移動ロボット１のあらゆる動作を制御するものである。すなわち、歩行させたり、停止させたり、周囲の画像を取り込んでその画像データに対象物があればそれを追いかけさせたりする。また、使用者が躾ボタン２５で誉めたときは、それに対応する所定の動作を表現させる。
【００２４】
このような全体制御部５１による制御機能は、ビデオカメラ２１をコントロールする機能と、脚部３０，４０のアクチュエータを含むすべてのアクチュエータをコントロールする機能とに大別される。
【００２５】
全体制御部５１は、ビデオカメラ２１をコントロールしていて、後述するように、移動ロボット１の４足歩行動作の周期における所定の位相タイミングで制御信号Ｃをビデオカメラ２１に送り、画像データを取り込む。
【００２６】
ビデオカメラ２１は、全体制御部５１からの制御信号Ｃにしたがって画像を取り込み、その画像信号をＣＰＵ５０に送る。ＣＰＵ５０では、ビデオカメラ２１からの画像信号を画像入力ポート５２を介して画像データに変換し、その画像データを画像データ処理部５３で処理する。
【００２７】
画像データ処理部５３は、ビデオカメラ２１から得られた画像データを処理して、顔認識などにより人物の顔部分を抽出したり、障害物を検出したりする。本実施形態では、黄色いボールを対象物として認識することを想定し、全体制御部５１の制御によりその対象物（黄色いボール）を追いかけることを想定する。
【００２８】
動作制御部５４は、脚部３０，４０や頭部２０を動かすための各部の駆動モータ５５を制御するものである。具体的には、各駆動モータ５５に取り付けた角度センサから回転角度情報を得て、各駆動モータ５５の回転角度を制御するものである。この種の駆動モータ５５およびその制御機構は周知のものが利用可能であり、詳細な図示および説明は省略する。
【００２９】
また、動作制御部５４は、スピーカ２４から音声を出力させるためのコントロールを行う。
【００３０】
図３は、移動ロボット１の歩行動作にともなう左右への重心の移動を示す上から見た説明図であり、胴体部１０と頭部２０（すなわち本体）を模式的に図示し、脚部３０，４０は図示を省略してある。
【００３１】
移動ロボット１は、進行方向に４足歩行するとき、遊脚方向に倒れないように、立脚相にある各脚部の付け根のロールモータを制御して、遊脚とは反対側に重心を移動させている。
【００３２】
すなわち、図３に示すように、本体（胴体部１０と頭部２０）がロボット自身の進行方向左側に重心を移動させた（ａ）の位置と、重心がほぼ中央にある（ｂ）の位置と、本体（胴体部１０と頭部２０）がロボット自身の進行方向右側に重心を移動させた（ｃ）の位置とを交互に繰り返して、（ａ）→（ｂ）→（ｃ）→（ｂ）→（ａ）を１周期とする歩行パターンを行う。
【００３３】
このため、重心の軌跡は図示のとおりになり、本体（胴体部１０と頭部２０）は左右に揺れながら前進していく。これにともない、ビデオカメラ２１の位置が左右にブレるので、画像も左右に揺れることになる。
【００３４】
図４は、移動ロボット１の歩行動作にともなう左右への姿勢の傾きを示す正面から見た説明図であり、胴体部１０と頭部２０（すなわち本体）を模式的に図示し、脚部３０，４０は図示を省略してある。
【００３５】
移動ロボット１は、進行方向に４足歩行するとき、重心の移動と脚部の運びの精度とタイミングのズレにより、本体（胴体部１０と頭部２０）はロール方向に揺れが発生する。
【００３６】
すなわち、図４に示すように、本体（胴体部１０と頭部２０）がロボット自身の左側に重心を移動させた（ａ）の位置では、重心がほぼ中央にある（ｂ）の位置から左に倒れる方向に傾き、また、本体（胴体部１０と頭部２０）がロボット自身の右側に重心を移動させた（ｃ）の位置では、重心がほぼ中央にある（ｂ）の位置から右に倒れる方向に傾く。
【００３７】
このため、本体（胴体部１０と頭部２０）の姿勢が左右に傾くことになり、これにともない、ビデオカメラ２１も水平から左右に傾くので、画像にはこの傾斜成分も含まれることになる。
【００３８】
図５は、図３に示す左右の揺れと、図４に示す左右の傾きとが合成されたビデオカメラ２１の画像を示す説明図である。
【００３９】
図５（ａ）に示す画像は、図３、図４の（ａ）の位置に対応する画像であり、（ａ）の位置では、本体（胴体部１０と頭部２０）がロボット自身の左側に重心を移動させ、かつ、左に倒れる方向に傾いているから、本来真正面に見えるはずの対象物（斜線で示す）ＯＢが、画面の右に寄り、しかも右下がりに傾いて映る。
【００４０】
図５（ｂ）に示す画像は、図３、図４の（ｂ）の位置に対応する画像であり、（ｂ）の位置では、重心がほぼ中央にあるから、対象物（斜線で示す）ＯＢは、本来の見え方、すなわち画面中央に傾きなく映る。
【００４１】
図５（ｃ）に示す画像は、図３、図４の（ｃ）の位置に対応する画像であり、（ｃ）の位置では、本体（胴体部１０と頭部２０）がロボット自身の右側に重心を移動させ、かつ、右に倒れる方向に傾いているから、本来真正面に見えるはずの対象物（斜線で示す）ＯＢが、画面の左に寄り、しかも左下がりに傾いて映る。
【００４２】
本来ならば、図３、図４の（ｂ）の位置で図５（ｂ）に示す画像をビデオカメラ２１から取り込むことが最も望ましいことはいうまでもない。しかし、本体が傾斜していても常に同じ姿勢で画像を取り込むようにすれば、ある時点で取り込んだ画像データと、その次の時点で取り込んだ画像データとの関連性が高いため、画像の差から対象物の方向や位置を高い精度で検出することができる。
【００４３】
したがって、例として、必ず、図３、図４の（ａ）の位置で図５（ａ）に示す画像をビデオカメラ２１から取り込む、あるいは、必ず、図３、図４の（ｃ）の位置で図５（ｃ）に示す画像をビデオカメラ２１から取り込むという方法を用いることができる。
【００４４】
図６は、ＣＰＵ５０にあらかじめ設定された移動ロボット１の制御プログラムの動作を示すフローチャートである。
【００４５】
移動ロボット１の歩行の基本パターンは、図３に示すように、（ａ）→（ｂ）→（ｃ）→（ｂ）→（ａ）が１周期になっている。そして、ＣＰＵ５０は、この歩行周期内の位相をカウントし、このカウント値に対応した歩行姿勢をとらせるように各部の駆動モータ５５を制御することで、具体的には、各関節駆動モータ５５の角度を個別に制御することで、移動ロボット１の歩行を実現している。
【００４６】
まず、ＣＰＵ５０のプログラム内で構成されている歩行位相カウンタをリセットし、歩行周期をリセットする（ステップＳ１）。
【００４７】
つぎに、歩行位相カウンタのカウント値（最初はリセットされた初期値）に対応させた各関節の角度目標値を発生させる（ステップＳ２）。
【００４８】
つぎに、このときの位相が所定の位相であるか否かを位相カウンタのカウント値から判断する（ステップＳ３）。この所定の位相は予め設定されたものであり、例えば、図３、図４の（ｂ）の位置に相当する位相である。そして、歩行位相カウンタのカウント値から所定の位相であると判断した場合は（ステップＳ３のＹＥＳ）、カメラ撮影・画像認識・目標値修正の処理を行う（ステップＳ４）。
【００４９】
すなわち、カメラ撮影・画像認識によって所定の対象物を発見した場合は、ビデオカメラ２１が対象物の方を向くように、各関節の角度目標値を修正する。
【００５０】
一方、ステップＳ３の判断時の位相が所定の位相でない場合は（ステップＳ３のＮＯ）、カメラ撮影などは行わずに、そのまま制御動作を続行させる（ステップＳ５）。
【００５１】
具体的には、各関節の角度目標値と角度センサによる実際の出力値とを比較して、両者が一致するように関節駆動モータを制御する。
【００５２】
つぎに、歩行終了指令があるか否かを判断し（ステップＳ６）、歩行終了指令がある場合は（ステップＳ６のＹＥＳ）、ここで歩行を終了する。
【００５３】
一方、歩行終了指令がない場合は（ステップＳ６のＮＯ）、さらに歩行を続行するため、歩行周期１サイクルが終了したか否かを判断し（ステップＳ７）、１サイクルが終了してない場合は（ステップＳ７のＮＯ）、歩行位相カウンタをインクリメントして（ステップＳ８）、つぎの歩行姿勢のためにステップＳ２に戻る。
【００５４】
一方、１サイクルが終了した場合は（ステップＳ７のＹＥＳ）、歩行周期をリセットするためステップＳ１に戻る。
【００５５】
図７は、図６のフローチャートのステップＳ４の詳細フローを示すフローチャートである。
【００５６】
まず、ビデオカメラ２１の画像を取り込み（ステップＳ４１）、色認識による対象物（黄色いボール）の検出を行う（ステップＳ４２）。
【００５７】
つぎに、検出した対象物（黄色いボール）の画像データから、そのボールの中心位置を計算する（ステップＳ４３）。
【００５８】
つぎに、計算により得られたボールの中心位置が、画像全体（画面）の中心から右にあるのか左にあるのか、そして画像全体（画面）の中心からどれだけズレているのか、によって移動ロボット１の進行方向を決める（ステップＳ４４）。
【００５９】
つぎに、ボールエリアの面積計算によってボールの画像サイズを計算し（ステップＳ４５）、あらかじめ決められた所定の画像サイズより大きいか否かを判断する（ステップＳ４６）。
【００６０】
計算により得られたボールの画像サイズが所定の画像サイズより大きい場合は（ステップＳ４６のＹＥＳ）、所定距離より近いことになるから、移動ロボット１を後退させる（ステップＳ４７）。
【００６１】
一方、ボールの画像サイズが所定の画像サイズより小さい場合は（ステップＳ４６のＮＯ）、所定距離より遠いことになるから、移動ロボット１を前進させる（ステップＳ４８）。
【００６２】
これにより、ボールとの間に所定の距離を保って、移動ロボット１を移動（歩行）させることが可能になる。
【００６３】
ステップＳ４５の計算結果から、制御目標値（各関節の角度目標値）を決定する（ステップＳ４９）。各関節の角度目標値のデータはテーブル化しておき、移動ロボット１の進行方向によりテーブルを変更すればよい。
【００６４】
上記したフローチャートに示すような処理については、高速のＣＰＵを用いて、つぎの歩行姿勢を生成するまでの微少時間に画像認識などの計算を完了することが望ましい。しかし、歩行姿勢をＣＰＵの割り込みなどで一定時間ごとに発生させ、画像認識などをメインルーチンで行い、この計算結果に基づいて方向を決めても問題ない。通常の歩行周期は０．５秒以上であるので、比較的遅いＣＰＵでも充分対応可能である。
【００６５】
本発明による移動ロボット１は、歩行しながら画像データを取り込んでもブレが少ないため、この画像データに基づいて歩行制御を行うことができ、自然な歩行動作を実現することが可能である。
【００６６】
また、静止状態を介在させることなく、対象物と所定の距離を保って歩行動作など移動のための動作を行うことが可能である。
【００６７】
また、高速のＣＰＵを用いなくても、歩行しながら撮影画像の認識制御を行うことが可能である。
【００６８】
さらに、小型でそのため移動にともなうブレが大きいペットロボットなどに適用することがとくに有効である。
【図面の簡単な説明】
【００６９】
【図１】本発明による移動ロボットの一実施形態を示す斜視図である。
【図２】各種の動作をコントロールする制御システムを示すブロック図である。
【図３】歩行動作にともなう左右への重心の移動を示す上から見た説明図である。
【図４】歩行動作にともなう左右への姿勢の傾き示す正面から見た説明図である。
【図５】左右の揺れと左右の傾きとが合成された画像を示す説明図である。
【図６】移動ロボットの制御プログラムの動作を示すフローチャートである。
【図７】図６のフローチャートのステップＳ４の詳細を示すフローチャートである。
【符号の説明】
【００７０】
１  移動ロボット
１０  胴体部
２０  頭部
２１  ビデオカメラ（撮像手段）
２２  赤外線受光部
２３  マイクロホン
２４  スピーカ
２５  躾ボタン
３０，４０  脚部
３１  タッチセンサ
５０  ＣＰＵ
５１  全体制御部
５２  画像入力ポート
５３  画像データ処理部
５４  動作制御部
５５  各部駆動モータ
【図１】
2005161475.tif 000003
【図２】
2005161475.tif 000004
【図３】
2005161475.tif 000005
【図４】
2005161475.tif 000006
【図５】
2005161475.tif 000007
【図６】
2005161475.tif 000008
【図７】
2005161475.tif 000009