(57)【要約】【課題】ロボットなどの自走式装置の足場からの転落および障害物との接触などを確実に防止する。【解決手段】タイマー部１３において、タイマーインタラプト信号が出力されると同時に、リセット＆スタート信号がカウンター部１８に出力され、ＣＰＵ部１２から移動制御信号ラッチ部１４に対する移動制御信号ラッチより早く、カウンター部１８によるカウント値“Ｎ”がカウントされた場合には、カウンター部１８より移動制御信号ラッチ部１４に停止セット信号が出力されて、ギヤ車輪部１７が停止する。【選択図】　　　図１
2004118554.tif 000002
【特許請求の範囲】
【請求項１】
自走式装置に搭載される駆動手段を制御する制御装置であって、
外部環境の情報を検出する検出手段と、
前記駆動手段に対し駆動制御信号を出力する駆動制御手段と、
所定の間隔で割込み信号を出力する割込み手段と、
前記割込み手段から割込み信号が出力されることにより前記検出手段により検出された外部環境の情報に基づいて前記駆動制御手段に対して前記駆動制御信号の出力を要求する制御信号を出力する制御手段と、
前記割込み手段から割込み信号が出力されることにより、所定時間のカウントを開始するカウント手段と、
このカウント手段により所定の時間がカウントされた場合に、前記駆動制御手段から前記駆動手段の動作を停止させる信号を出力させる停止要求手段と
を備えたことを特徴とする制御装置。
【請求項２】
さらに、前記自走式装置の駆動速度を指定する駆動速度指定手段を備え、
前記割込み手段は、前記駆動速度指定手段により指定された駆動速度に基づいて、前記割込み信号を前記制御手段に出力する間隔を変更し、
前記カウント手段は、前記駆動速度指定手段により指定された駆動速度に基づいてカウントの速度を変更する
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記制御手段は、前記駆動制御手段に対して制御信号を出力するとともに、前記カウント手段に対してカウントの停止を要求することを特徴とする請求項１に記載の制御装置。
【請求項４】
自走式装置に搭載される駆動手段を制御する制御装置であって、
外部環境の情報を検出する検出手段と、
前記駆動手段に対し駆動制御信号を出力する駆動制御手段と、
所定の第１の時間がカウントされた場合に、割込み信号を出力し、所定の第２の時間がカウントされた場合に、前記駆動制御手段に対して、前記駆動手段を停止させる駆動制御信号の出力を要求する信号を出力するカウント手段と、
このカウント手段から割込み信号が出力されることにより前記検出手段により検出された外部環境の情報に基づいて前記駆動制御手段に対して前記駆動制御信号の出力を要求する制御信号を出力するとともに、前記カウント手段に対してカウントの開始を要求するカウント要求信号を出力する制御手段と
を備えたことを特徴とする制御装置。
【請求項５】
さらに、前記自走式装置の駆動速度を指定する駆動速度指定手段を備え、
前記カウント手段は、前記駆動速度指定手段により指定された駆動速度に基づいてカウントの間隔を変更することを特徴とする請求項４に記載の制御装置。
【請求項６】
前記駆動手段は、前記装置の全体または一部を駆動または停止することを特徴とする請求項１乃至請求項５の何れか１項に記載の制御装置。
【請求項７】
前記駆動手段は、前記装置の全体または一部を、前記駆動速度指定手段により指定された駆動速度による駆動または停止をすることを特徴とする請求項２または請求項５に記載の制御装置。
【請求項８】
前記検出手段は、前記装置と他の物体との位置関係を検出することを特徴とする請求項１乃至請求項７の何れか１項に記載の制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば自走式ロボットなどの自走式装置の衝突、落下を防止する制御装置に関する。
【０００２】
【従来の技術】
床掃除ロボットや机の上を移動するエンタテイメント用のロボットなどの自走式ロボットには、自らの判断で机や床などの足場、壁や敷居などの境界の有無を検出して、これらの足場からの転落や境界への衝突を防止する機能を備えたものが存在する（例えば、特許文献１参照。）。
【０００３】
【特許文献１】
特開２０００−２４２３３５号公報（第２−４頁、第１図）
図８は、従来の自走式ロボットに搭載される駆動制御回路の構成を示したブロック図である。
【０００４】
図９は、従来の駆動制御回路による駆動制御処理を示すフローチャートである。
【０００５】
図８に示すように、この駆動制御回路には、進行方向（ここでは前方とする）の床などの足場の有無を検出する床センサー部３１、ＣＰＵ部３２、タイマー部３３、移動制御信号ラッチ部３４、モーター制御部３５、モーター部３６およびギヤ車輪部３７が設けられる。まず、タイマー部３３により、予め設定された時間間隔（タイマーインタラプト間隔）が経過して、割込み信号であるタイマーインタラプト信号がＣＰＵ部３２に出力されると（ステップＳ１→Ｓ２）、床センサー部３１から入力される検出信号に基づいて、前方に床があるか否かが判別され（ステップＳ３）、前方に床があれば、ロボットの前進を指示する前進信号およびこの前進信号を移動制御信号ラッチ部３４に保持するラッチ信号が移動制御信号ラッチ部３４に出力（前進信号がラッチ）される（ステップＳ４→Ｓ５）。また、前方に床が無ければ、ロボットの停止を指示する停止信号およびこの停止信号を保持するラッチ信号が移動制御信号ラッチ部３４に出力される（ステップＳ４→Ｓ７）。そして、前進信号または停止信号がモーター制御部３５に出力されると、このモーター制御部３５からモーター制御信号がモーター部３６に出力されて、このモーター部３６によりギヤ車輪部３７が駆動（ステップＳ６）または停止（ステップＳ８）される。
【０００６】
【発明が解決しようとする課題】
しかしながら、図８に示した駆動制御回路を備えた自走式ロボットでは、床センサー部３１により、進行方向に床が無いことが検出されてから、実際にギヤ車輪部３７が停止するまでには時間的な遅れが発生してしまう。まず、タイマーインタラプト信号がＣＰＵ部１２に入力されるまでは、ギヤ車輪部３７の停止に係る処理が開始されないので、例えばタイマーインタラプト信号が入力された直後に進行方向の床が無いことが検出されると、この検出からギヤ車輪部３７の停止までの処理に概ねタイマーインタラプト間隔分だけ要してしまう。また、ＣＰＵ部１２にタイマーインタラプト信号が入力されてからギヤ車輪部３７が停止されるまでの処理（タイマーインタラプト処理と呼ぶ）と比較して優先度の高い他の処理が実行されている間は、ＣＰＵ部３２にタイマーインタラプト信号が入力されても、タイマーインタラプト処理は実行されない（マスクされる）ので、このマスクされた時間だけ処理が遅れてしまう。さらに、床センサー部３１から出力された検出信号がＣＰＵ部３２に入力されてから移動制御信号ラッチ部３４に停止信号が出力されるまでに要する時間、移動制御信号ラッチ部３４に停止信号が入力されてからモーター部３６にモーター制御信号が入力されるまでに要する時間およびモーター部３６やギヤ車輪部３７などのメカ的な慣性による車輪停止までに要する時間だけ、それぞれタイマーインタラプト処理の実行が遅れる。
【０００７】
ここで、タイマー部３３におけるタイマーインタラプト間隔を短く設定すれば、床センサー部３１による床の有無の検出からタイマーインタラプト処理の開始までの待ち時間を短縮することができるが、この場合には、ＣＰＵ部３２に対して頻繁にタイマーインタラプト処理が要求されることになるので、ＣＰＵ部３２では、他の処理をする時間が少なくなってしまい、ロボットに対して高度な機能を実現させることが出来なくなる。
【０００８】
つまり、ロボットが床や机から転落せずにかつ、他の処理をする時間が確保できるようにタイマーインタラプト間隔を設定する必要があるが、タイマー部３３によるタイマーインタラプト信号の出力（タイマーインタラプト処理の要求）と、この出力時に実行されている他の処理は独立してなされるものであり、要求時に実行中の他の処理が終了するまでの時間を把握することは困難であるため、適切なタイマーインタラプト間隔を設定できない問題があった。
【０００９】
本発明は、前記課題に鑑みなされたもので、例えばロボットなどの自走式装置の足場からの転落および障害物との接触などを確実に防止することが可能になる制御装置を提供することを目的とする。
【００１０】
【課題を解決するための手段】
すなわち、本発明の請求項１に係わる制御装置は、自走式装置に搭載される駆動手段を制御する制御装置であって、外部環境の情報を検出する検出手段と、前記駆動手段に対し駆動制御信号を出力する駆動制御手段と、所定の間隔で割込み信号を出力する割込み手段と、前記割込み手段から割込み信号が出力されることにより前記検出手段により検出された外部環境の情報に基づいて前記駆動制御手段に対して前記駆動制御信号の出力を要求する制御信号を出力する制御手段と、前記割込み手段から割込み信号が出力されることにより、所定時間のカウントを開始するカウント手段と、このカウント手段により所定の時間がカウントされた場合に、前記駆動制御手段から前記駆動手段の動作を停止させる信号を出力させる停止要求手段とを備えたことを特徴とする。
【００１１】
つまり、本発明の請求項１に係わる制御装置では、制御手段に対して割込み手段による割込み信号が出力されることにより、検出手段により検出された外部環境の情報に基づいて、駆動制御信号の出力を要求する制御信号が駆動制御手段に出力され、この駆動制御手段により制御信号に基づいた駆動制御信号が出力されて、駆動手段による動作がなされる。そして、カウント手段に割込み信号が出力されると所定の時間のカウントが開始され、カウント手段により所定の時間がカウントされると、停止要求手段により、前記駆動制御手段に対して、前記駆動手段の動作を停止させる信号が出力されることになる。
【００１２】
また、本発明の請求項２に係わる制御装置は、請求項１に記載の制御装置であって、さらに、前記自走式装置の駆動速度を指定する駆動速度指定手段を備え、前記割込み手段は、前記駆動速度指定手段により指定された駆動速度に基づいて、前記割込み信号を前記制御手段に出力する間隔を変更し、前記カウント手段は、前記駆動速度指定手段により指定された駆動速度に基づいてカウントの時間を変更することを特徴とする。
【００１３】
つまり、本発明の請求項２に係わる制御装置では、駆動速度指定手段により、自走式装置の駆動速度が指定され、制御手段に対して割込み手段による割込み信号が駆動速度指定手段で指定された速度に基づいた速度で出力されることにより、検出手段により検出された外部環境の情報に基づいて、駆動制御信号の出力を要求する制御信号が駆動制御手段に出力され、この駆動制御手段により制御信号に基づいた駆動制御信号が出力されて、駆動手段による動作がなされる。そして、カウント手段に割込み信号が出力されると駆動速度指定手段で指定された駆動速度に基づいた所定の時間のカウントが開始され、所定の時間がカウントされると、停止要求手段により、前記駆動制御手段に対して、前記駆動手段の動作を停止させる信号が出力されることになる。
【００１４】
また、本発明の請求項３に係わる制御装置は、請求項１に記載の制御装置であって、前記制御手段は、前記駆動制御手段に対して制御信号を出力するとともに、前記カウント手段に対してカウントの停止を要求することを特徴とする。
【００１５】
つまり、本発明の請求項３に係わる制御装置では、制御手段により、駆動出力手段により制御信号が出力されるとともに、前記カウント手段に対してカウントの停止が要求されることになる。
【００１６】
また、本発明の請求項４に係わる制御装置は、自走式装置に搭載される駆動手段を制御する制御装置であって、外部環境の情報を検出する検出手段と、前記駆動手段に対し駆動制御信号を出力する駆動制御手段と、所定の第１の時間がカウントされた場合に、割込み信号を出力し、所定の第２の時間がカウントされた場合に、前記駆動制御手段に対して、前記駆動手段を停止させる駆動制御信号の出力を要求する信号を出力するカウント手段と、このカウント手段から割込み信号が出力されることにより前記検出手段により検出された外部環境の情報に基づいて前記駆動制御手段に対して前記駆動制御信号の出力を要求する制御信号を出力するとともに、前記カウント手段に対してカウントの開始を要求するカウント要求信号を出力する制御手段とを備えたことを特徴とする。
【００１７】
つまり、本発明の請求項４に係わる制御装置では、駆動制御手段により、駆動手段に駆動制御信号が出力されるとともに、カウント手段によるカウントが開始され、所定の第１の時間がカウントされた場合に、制御手段に割込み信号が出力されることにより、該制御手段により、検出手段により検出された外部環境の情報に基づいて、駆動制御信号の出力を要求する制御信号が駆動制御手段に出力され、所定の第２の時間がカウントされた場合に、駆動制御手段により、前記駆動手段の動作を停止させる信号が出力されることになる。
【００１８】
【発明の実施の形態】
以下図面により本発明の第１実施形態について説明する。
【００１９】
図１は、本発明の第１実施形態に係わる自走式ロボットに搭載される駆動制御回路の構成を示したブロック図である。
【００２０】
図１に示すように、この自走式ロボット（以下、ロボットと呼ぶ）駆動制御回路には、前方の床（足場）の有無を検出する床センサー部（検出手段）１１、全体を制御するＣＰＵ部（制御手段）１２、タイマー部（割込み手段）１３、移動制御信号ラッチ部（駆動制御手段）１４、モーター制御部（駆動手段）１５、モーター部１６、ギヤ車輪部１７およびカウンター部（カウント手段、停止要求手段）１８が設けられ、ＣＰＵ部１２に移動制御信号ラッチ部１４、モーター制御部１５、モーター部１６およびギヤ車輪部１７が直列に接続され、床センサー部１１がＣＰＵ１２に接続され、タイマー部１３がＣＰＵ部１２およびカウンター部１８と接続され、カウンター部１８が、ＣＰＵ部１２および移動制御信号ラッチ部１４に接続される。
【００２１】
床センサー部１１は、ロボットの前方部分に取り付けられ、ロボットの進行方向（ここでは前方のみとする）に床などの足場があるか否かを検出する。具体的には、床センサー部１１より検出用の光を前方に照射して、この検出用の光の反射具合により足場の有無を検出する。
【００２２】
タイマー部１３は、タイマーインタラプト信号（後述）をＣＰＵ部１２に出力するとともに、リセット＆スタート信号（後述）をカウンター部１８にそれぞれ出力する。
【００２３】
ＣＰＵ部１２は、移動制御信号ラッチ部１４に対して、移動制御信号（制御信号、駆動制御信号）およびラッチ信号を出力する。移動制御信号とは、ロボットの前進を指示する前進信号またはロボットの停止を指示する停止信号の何れかを示す。また、ラッチ信号とは、ＣＰＵ部１２から出力された移動制御信号を移動制御信号ラッチ部１４に保持するための信号であり、移動制御信号が移動制御信号ラッチ部１４に入力された状態で、同じく移動制御信号ラッチ部１４にラッチ信号が入力される（ラッチ信号をアクティブにする）と、移動制御信号（前進信号または停止信号）が移動制御信号ラッチ部１４に保持されて、モーター制御部１５に出力される。
【００２４】
モーター制御部１５は、移動制御信号ラッチ部１４から出力された移動制御信号にしたがって、モーター部１６に対してロボットの移動（ここでは前進のみとする）または停止を指示するモーター制御信号を出力する。モーター部１６は、モーター制御信号に基づいてギヤ車輪部１７を前進駆動または停止させる。これによりロボットが前進または停止する。なお、ギヤ車輪部１７の停止は、このギヤ車輪部１７に対する制動（ブレーキ）によりなされる。
【００２５】
カウンター部１８は、タイマー部１３から出力されるリセット＆スタート信号の入力によりカウントを開始し、所定のカウント値に達するとロボットの停止を要求する停止セット信号を移動制御信号ラッチ部１４に出力する。
【００２６】
次に、前記構成によるロボットの動作について説明する。
【００２７】
図２は、前記駆動制御回路による駆動制御処理を示すタイミングチャートである。
【００２８】
図３は、前記駆動制御回路による駆動制御処理を示すフローチャートである。
【００２９】
まず、床センサー部１１では、ロボットの進行方向に床などの足場があるか否かが常に検出されており、この検出による床の有無を示す検出信号がＣＰＵ部１２に対して出力されている（ステップＡ１）。ただし、ＣＰＵ部１２に対して後述するタイマーインタラプト信号が入力された場合以外では、ＣＰＵ部１２において検出信号の認識はなされない。
【００３０】
また、タイマー部１３により、予め設定された時間間隔（タイマーインタラプト間隔と呼ぶ）にしたがって、ＣＰＵ部１２に対する割込み信号であるタイマーインタラプト信号が出力される（ステップＡ２→Ａ３）。このタイマーインタラプト信号は、床センサー部１１からＣＰＵ部１２に出力される検出信号の認識を要求する信号であり、該タイマーインタラプト信号の要求にしたがって、検出信号が、床があることを示す信号なのか床が無いことを示す信号であるかの判断がなされる。なお、タイマーインタラプト間隔はタイマー部１３に対する設定により変更が可能である。
【００３１】
また、タイマーインタラプト信号（図２では、単にタイマーインタラプトと記載する）の出力（時刻ｔ１、ｔ６、ｔ１１またはｔ１６）とともに、カウンター部１８に対して、カウント値の初期化（“０”にする）およびカウントの開始を指示するリセット＆スタート信号が出力される（ステップＡ４）。
【００３２】
ＣＰＵ部１２では、タイマー部１３からタイマーインタラプト信号が入力されると、床センサー部１１から入力された検出信号の認識つまり進行方向に床があるか否かの判断がなされる（ステップＡ５）。そして、床センサー部１１から入力された検出信号の内容が、床があることを示す検出信号と判断されれば、時刻ｔ２において、ロボットの前進を指示する前進信号が移動制御信号として移動制御信号ラッチ部１４に出力され、床が無いことを示す検出信号と判断されれば、ロボットの停止を指示する停止信号が移動制御信号として、移動制御信号ラッチ部１４に出力される。
【００３３】
一方、カウンター部１８では、リセット＆スタート信号の入力にともなって、所定のカウント間隔（カウント値を進める時間間隔）にしたがって所定のカウント単位（１回のカウントで進むカウント値）毎のカウントが開始される（時刻ｔ１、ｔ６、ｔ１１またはｔ１６）。このカウントは、カウント値が所定の値“Ｎ”に達するか、ＣＰＵ部１２からカウントの停止を要求するストップ信号が入力されるまで継続される。
【００３４】
ここで、ＣＰＵ部１２にタイマーインタラプト信号が入力されてから、移動制御信号ラッチ部１４に移動制御信号およびラッチ信号が出力される（以後、ＣＰＵ部１２から移動制御信号ラッチ部１４に対する移動制御信号およびラッチ信号の出力を移動制御信号ラッチと呼ぶ）までの時間は、時刻ｔ１→ｔ２間のように短い場合もあれば、タイマーインタラプト信号の入力時においてＣＰＵ部１２により他の優先度の高い他の処理がなされるために、時刻ｔ６→ｔ９間のように長くなる場合もある。
【００３５】
ここで、時刻ｔ２のように、カウンター部１８による“Ｎ”のカウントより、移動制御信号ラッチの方が早い場合には、移動制御信号がモーター制御部１５に出力されたのちに、この移動制御信号の種別（前進信号または停止信号）にしたがって、モーター制御部１５により、モーター部１６による前進駆動または停止を指示するモーター制御信号が生成および出力され、このモーター制御信号がギヤ車輪部１７の前進駆動を指示する信号ならば、モーター部１６を介して、ギヤ車輪部１７の車輪が回転し、ロボットが前進する。また、モーター制御信号が停止を指示する信号ならば、モーター部１６を介してギヤ車輪部１７の車輪が停止する（ステップＡ６→Ａ９）。
【００３６】
ＣＰＵ部１２では、移動制御信号ラッチとともに、ラッチ信号がカウンター部１８のカウント停止を指示するストップ信号としてカウント部１８に出力される。カウンター部１８では、ストップ信号の入力にともなって図２中の時刻ｔ２に示すようにカウントが停止する（ステップＡ１０）。これは、タイマーインタラプトに対する移動制御信号ラッチが既になされたことにより、カウンター部１８による無用な停止セット信号の出力を防止するためであり、このカウント停止状態は、タイマー部１３によるタイマーインタラプト信号の出力にともなって出力されるリセット＆スタート信号が入力されるまで継続される（ステップＡ１１→Ａ３）。
【００３７】
一方、ステップＡ６で「ＹＥＳ」と判断される、つまり、時刻ｔ９のように移動制御信号ラッチ部１４に対する移動制御信号ラッチよりカウンター部１８による“Ｎ”のカウントの方が早い場合には、ロボットの停止すなわちギヤ車輪部１７の停止を要求する停止セット信号が、カウンター部１８より移動制御信号ラッチ部１４に対して出力される（ステップＡ７）。
【００３８】
移動制御信号ラッチ部１４では、この停止セット信号の入力にともない、ＣＰＵ部１２から停止信号およびラッチ信号が入力された場合と同様の処理がなされ、これによりギヤ車輪部１７が停止する（ステップＡ８）。
【００３９】
ここで、確実にロボットを停止させるためには、タイマーインタラプト間隔、許容待ち時間（図２参照）および停止余裕時間の３つの時間を考慮しなければならない。
【００４０】
許容待ち時間とは、カウンター部１８によりカウントが開始されてから、カウント値“Ｎ”がカウントされるまでの時間であり、停止余裕時間とは、床センサー部１１により前方の床が無いことが検出された時点から実際にロボットが落下する危険がある時点までの時間である。停止余裕時間は、ロボットの速度と床センサー部１１のセンサー範囲から容易に計算することが出来、速度が一定ならばセンサー範囲が広いほど長くなる。
【００４１】
床センサー部１１により床が無いことが検出されてから、実際にギヤ車輪部１７が停止する時間が長くなる大きな原因は、タイマーインタラプト信号の入力から移動制御信号ラッチまでの所要時間がＣＰＵ部１２による他の処理のために長くなるためであるが、この所要時間の最大時間を計算するのは困難である。しかし、床が無くなった時点から停止余裕時間内にギヤ車輪部１７を停止させれば、ロボットが転落することはない。本実施形態においては、前方の床が無くなってから、ギヤ車輪部３７までの停止に要する時間が最も長くなるのは、タイマーインタラプト信号が入力された直後に床が無くなった場合である。この場合の所要時間は、次のタイマーインタラプトまでの時間すなわちタイマーインタラプト間隔と、このタイマーインタラプトから停止セット信号の出力までの時間すなわち許容待ち時間との和であるので、タイマーインタラプト間隔と許容待ち時間との和が停止余裕時間より短くなるようにタイマー部１３及びカウンター部１８に対する設定をすればよいことになる。
【００４２】
図２に示すケース１およびケース２は、時刻ｔ１からｔ１６までにおいて床センサー部１１により検出された床の有無およびこの床の有無に対応するロボットの状態（前進または停止）の状態の変化の例を示している。
【００４３】
ケース１は、床センサー部１１により時刻ｔ２までは床があると判断されて、時刻ｔ２以降は床が無いと判断された場合であり、時刻ｔ２における床の有無の検出は、時刻ｔ１におけるタイマーインタラプト信号の出力以後であるので、この検出結果は、次のタイマーインタラプト信号の入力（時刻ｔ６）まで反映されない。したがって、時刻ｔ１においてタイマー部１３によるタイマーインタラプト信号の出力にともなうリセット＆スタート信号が入力されると、時刻ｔ２において、前進を指示する移動制御信号ラッチにしたがってギヤ車輪部１７が前進駆動し、時刻ｔ６におけるタイマーインタラプト信号の入力にともなって、時刻ｔ２における床が無いとの検出結果が認識され、時刻ｔ９におけるカウンター部１８による“Ｎ”のカウントにともなって停止セット信号が出力され、ギヤ車輪部１７が停止する。
【００４４】
なお、時刻ｔ６におけるタイマーインタラプト信号の入力にともなう移動制御信号ラッチは時刻ｔ１０によってなされるが、時刻ｔ９における停止セット信号の出力によりギヤ車輪部１７は停止しているため、移動制御信号ラッチがなされる時刻ｔ１０ではギヤ車輪部１７の状態は変化しない。
【００４５】
また、図２に示すケース２は、時刻ｔ１からｔ１６まで、床センサー部１１により床があると判断された場合であり、時刻ｔ１においてタイマー部１３によるタイマーインタラプト信号の出力にともにリセット＆スタート信号が入力されると、時刻ｔ２において、前進を指示する移動制御信号ラッチなされ、これにともないギヤ車輪部１７が前進駆動する。そして、時刻ｔ９におけるカウンター部１８による“Ｎ”のカウントにともない停止セット信号の出力がなされ、ギヤ車輪部１７が停止する。
【００４６】
時刻ｔ６におけるタイマーインタラプト信号の入力にともなう移動制御信号ラッチは時刻ｔ１０においてなされる。時刻ｔ６におけるタイマーインタラプト信号の入力時に認識された床センサー部１１による検出信号は床の有ることを示す信号であり、本来ならばロボットを停止させる必要は無いが、時刻ｔ９に達した時点で許容待ち時間、つまりタイマーインタラプト信号出力から“Ｎ”のカウントまでの時間が経過してしまう。このため、停止セット信号の出力によりギヤ車輪部１７は停止してしまう。しかし、移動制御信号ラッチがなされる時刻ｔ１０においてギヤ車輪部１７が再び前進駆動を始めるため、停止するのは時刻ｔ９→ｔ１０間のみ、すなわち停止セット信号の出力から次のタイマーインタラプト信号の入力までの間であるので、実用上の問題は無い。
【００４７】
したがって、前記構成のロボットによれば、タイマー部１３からタイマーインタラプト信号が出力されると同時に、リセット＆スタート信号がカウンター部１８に出力され、ＣＰＵ部１２から移動制御信号ラッチ部１４に対する移動制御信号ラッチより早く、カウンター部１８によりカウント値“Ｎ”がカウントされた場合には、カウンター部１８より移動制御信号ラッチ部１４に対して停止セット信号が出力されて、ギヤ車輪部１７が停止するので、床センサー部１１により床が無いことが検出されてからギヤ車輪部１７が停止されるまでの時間を短縮することができ、タイマーインタラプト間隔と許容待ち時間との和が、停止余裕時間より短ければ、該ロボットの床や机からの転落をＣＰＵ部１２に負担をかけることなく確実に防止することができる。この際には、ＣＰＵ部１２に対する負担を少なくするために、タイマーインタラプト間隔と許容待ち時間との和を停止余裕時間に近付けることが望ましい。
【００４８】
なお、本実施形態においては、床センサー部１１をロボットの前方にだけ設ける構成としたが、該ロボットが、例えば左右にも移動することが出来る場合において、床センサー部１１を左右に設けて、それぞれの移動方向における床の有無を総合的に判断して検出信号をＣＰＵ部１２に出力する構成としてもよい。
【００４９】
また、本実施形態においては、床センサー部１１により進行方向に床が無いと判断された場合には、ギヤ車輪部１７を停止させることで落下を回避する構成としたが、ギヤ車輪部１７により後退および左右への方向転換などが出来る場合で、該後退および方向転換により落下を回避する構成としてもよい。
【００５０】
また、本実施形態においては、許容待ち時間つまりカウンター部１８にリセット＆スタート信号が入力されてから移動制御信号ラッチ部１４に停止セット信号が出力されるまでの時間は固定とする構成としたが、この許容待ち時間をＣＰＵ部１２に対する設定により自由に変更できる構成としてもよい。
【００５１】
また、本実施形態においては、タイマー部１３によるタイマーインタラプト間隔を自由に設定できる構成としたが、このタイマーインタラプト間隔の設定を固定として変更できない構成としてもよい。
【００５２】
また、本実施形態においては、ロボットは、ギヤ車輪部１７の駆動または停止により移動又は停止する構成としたが、ギヤ車輪部１７の代わりにキャタピラなどを用いる構成としてもよいし、プロペラの回転による風圧を推進力として移動する構成としてもよい。また、２足歩行または４足歩行として、それぞれの足にモーター部１６を設けて、それぞれのモーター部１６をモーター制御部１５により総合的に制御する構成としてもよい。
【００５３】
また、本実施形態においては、ロボットを、進行方向に床などの足場が無い場合における転落を防止する構成としたが、例えば壁などの障害物への接触防止、または小石などの進行方向の障害物による転倒防止のためのセンサーを設けて、このセンサーによる検出結果に基づいて駆動あるいは停止の制御をする構成としてもよい。
【００５４】
また、本実施形態においては、ロボット自体を、進行方向の床の有無により駆動または停止させる構成としたが、これに限らず、例えばロボットの一部分（例えば腕など）を駆動または停止させて障害物との接触を防止する構成としてもよい。
【００５５】
また、本実施形態においては、カウンター部１８からの停止セット信号の出力により、ギヤ車輪部１７に対してブレーキをかけて停止させる構成としたが、予めタイマー部３３におけるタイマーインタラプト間隔を長めに設定した上で、ブレーキに代えて、モーター部１６による駆動力の供給停止による慣性動作により減速停止させる構成としてもよい。これにより図２に示すケース２による停止セット信号の出力（時刻ｔ９）がなされてもすぐに停止状態とはならない利点が生じる。
【００５６】
また、本発明の実施形態はロボットの駆動制御回路としたが、これに限らず、進行方向の足場や障害物などの有無を検出して、この検出結果に基づいてソフトウェア処理により一定時間内における処理をなす必要がある装置であれば種類を問わずに適用することができる。
【００５７】
次に、本発明の第２実施形態について説明する。
【００５８】
この第２実施形態は、第１実施形態と比較して、ロボットの駆動速度を任意に設定できるようにしたものである。ここで、ロボットの駆動速度を速くすると、進行方向の足場が無くなった場合に、これを素早く検知して、ロボットを停止させなければならない。反対に、駆動速度が遅くした場合には、進行方向の足場が無くなっても、速度が速い場合と比較して停止させるまでの猶予時間が長いため、短い間隔で足場の有無の検出をしても無意味である。そこで、駆動速度の変化に応じて床の有無を検出する時間間隔を変更する機能が付加されている。なお、第１実施形態と同様の処理については、その説明を省略または簡略化して説明する。
【００５９】
図４は、本発明の第２実施形態に係わるロボットに搭載される駆動制御回路の構成を示したブロック図である。
【００６０】
図４に示すように、この駆動制御回路には、床センサー部１１、ＣＰＵ部１２、移動制御信号ラッチ部１４、モーター制御部１５、モーター部１６、ギヤ車輪部１７、カウンター部１８、可変クロック発生部１９および速度指定部２０が設けられ、ＣＰＵ部１２に移動制御信号ラッチ部１４、モーター制御部１５、モーター部１６およびギヤ車輪部１７が直列に接続され、床センサー部１１および速度指定部２０がＣＰＵ部１２にそれぞれ接続され、カウンター部１８が、ＣＰＵ部１２および移動制御信号ラッチ部１４に接続され、可変クロック発生部１９がカウンター部１８および移動制御信号ラッチ部１４に接続される。
【００６１】
床センサー部１１、モーター制御部１５、モーター部１６およびギヤ車輪部１７の動作は、図２に示す第１実施形態の場合と同様である。
【００６２】
速度指定部２０は、駆動速度の指定を受け付け、この指定された駆動速度の情報をＣＰＵ部１２に出力する。該駆動速度の情報は移動制御信号に反映される。
【００６３】
ＣＰＵ部１２は、カウンター部１８からの割込み信号であるインタラプト信号（第１実施形態で示したタイマーインタラプト信号に相当）の入力にともない、移動制御信号ラッチ部１４に対する移動制御信号ラッチをなすとともに、カウンター部１８に対してカウントの初期化およびカウント開始を要求するリセット＆スタート信号を出力する。
【００６４】
移動制御信号ラッチ部１４は、ＣＰＵ部１２から出力された移動制御信号をモーター制御部１５および可変クロック発生部１９に出力する。
【００６５】
可変クロック発生部１９は、移動制御信号ラッチ部１４から出力された移動制御信号に含まれる、速度指定部２０により指定された速度の情報に基づいた周波数のクロック信号をカウンター部１８に出力する。
【００６６】
カウンター部１８は、ＣＰＵ部１２から出力されたリセット＆スタート信号の入力にともない、可変クロック発生部１９から出力されたクロック信号に応じたカウントをし、所定のカウント値に達した時点で、ＣＰＵ部１２にインタラプト信号を出力し、別の所定のカウント値に達した時点で、移動制御信号ラッチ部１８に停止セット信号を出力する。
【００６７】
次に、前記構成による駆動制御回路を搭載したロボットの動作について説明する。
【００６８】
図５は、前記駆動制御回路による駆動制御処理を示すタイミングチャートである。
【００６９】
図６は、前記駆動制御回路による駆動制御処理を示すフローチャートである。
【００７０】
まず、速度制御部２０により、ロボットの前進駆動速度を指定する（ステップＢ１）。ここで指定された駆動速度の情報は、新たに別の駆動速度が指定されるまでＣＰＵ部１２内に保持される。
【００７１】
そして、カウンター部１８からＣＰＵ部１２にインタラプト信号が入力（このインタラプト信号の発生条件については後述する）されたら、このＣＰＵ部１２により、床センサー部１１により出力された検出信号が認識されて、移動制御信号、つまりステップＢ１により指定された駆動速度での前進を指示する前進信号あるいはロボットの停止を指示する停止信号が移動制御信号ラッチ部１４に出力されるとともに、該移動制御信号を保持するためのラッチ信号が移動制御信号ラッチ部１４に出力される（ステップＢ２）。この移動制御信号ラッチがなされると、モーター制御部１５およびモーター部１６を介してギヤ車輪部１７が前進駆動または停止される（ステップＢ３）。
【００７２】
移動制御信号ラッチに係るラッチ信号の出力にともない、カウンター部１８のカウント値の初期化およびカウント開始を指示するリセット＆スタート信号が出力される。このリセット＆スタート信号の入力にともない、カウンター部１８では、カウント値が“０”に設定されたのちに、所定のカウント間隔にしたがって所定のカウント単位毎のカウントが開始される。このカウントは、カウント値が所定の値（“Ｎ”）に達するか、移動制御信号ラッチにともないリセット＆スタート信号が再度入力されるまで継続される（ステップＢ４）。
【００７３】
移動制御信号ラッチ部１４に入力された移動制御信号は、モーター制御部１５に出力されるとともに可変クロック発生部１９にも出力され、この可変クロック発生部１９では、移動制御信号が前進信号または停止信号であるかが判断され、停止信号であれば、信号は何も出力されないが、前進信号と判断されれば、この前進信号に含まれる速度の情報に基づいて決定されたクロック周波数をもつクロック信号がカウンター部１８に出力される。
【００７４】
このクロック信号のクロック周波数の大小は、カウンター部１８によるカウント間隔を決定するものであり、クロック周波数が大きければカウント間隔は短くなり、小さければ逆に長くなる。かりに速度指定部２０で指定された前進駆動速度が大きいならば、床センサー部１１により床が無いことが検出されてからギヤ車輪部１７を停止させるまでの時間を短くしなければならないので、インタラプト信号の出力間隔（カウント値“Ｍ”までのカウント時間）及び停止セット信号出力までの時間（カウント値“Ｎ”までのカウント時間）を短くしなければならない。したがって、可変クロック発生部１９により認識された前進駆動速度が大きい場合には、カウンター部１８に出力するクロック信号のクロック周波数は自動的に大きく設定され、逆に、前進駆動速度が小さい場合には、クロック周波数は自動的に小さく設定される。
【００７５】
カウンター部１８では、ＣＰＵ部１２によるリセット＆スタート信号が入力された状態で、かつ可変クロック発生部１９によるクロック信号が入力されると、該クロック信号のクロック周波数の大小に基づいて設定されたカウント間隔にしたがって所定のカウント単位毎のカウントが開始される（ステップＢ５→Ｂ６）。
【００７６】
そして、カウンター部１８によるカウント値が、所定の値（“Ｍ”）に達した時点で、インタラプト信号がＣＰＵ部１２に出力される（ステップＢ７→Ｂ８）。
【００７７】
そして、前記第１実施形態と同様に、床センサー部１１による検出信号の内容が判断されて（ステップＢ９）、移動制御信号ラッチに移行するが、この移動制御信号ラッチが、カウンター部１８による“Ｎ”のカウントより先になされた場合には、移動制御信号の前進信号または停止信号の種別に基づいて、ギヤ車輪部１７が前進駆動または停止されて、カウンター部１８のカウント値がリセットされる（ステップＢ１０→Ｂ３，Ｂ４）。
【００７８】
一方、カウンター部１８によるカウント値“Ｎ”のカウントが、移動制御信号ラッチより早い場合には、第１実施形態のステップＡ７およびステップＡ８と同様に、停止セット信号が移動制御信号ラッチ部１４に出力されて、ギヤ車輪部１７が停止する（ステップＢ１１，Ｂ１２）。
【００７９】
この第２実施形態において、ロボットの転落を確実に防止するためには、インタラプト信号発生時間（図５参照）、許容待ち時間（図５参照）および停止余裕時間を考慮する必要がある。
【００８０】
インタラプト信号発生時間は、カウンター部１８によりカウントが開始されてからカウント値“Ｍ”がカウントされるまでの時間である。
【００８１】
停止余裕時間は、速度設定部２０により設定する前進駆動速度が速くなるにしたがって短くなり、速度が遅くなるにしたがって長くなる。つまり、前進駆動速度の変化に応じてインタラプト信号発生時間と許容待ち時間との和が停止余裕時間より短くなるように、カウント値の“Ｍ”および“Ｎ”までのカウント間隔が可変設定されればよいことになる。この際には、ＣＰＵ部１２に対する負担を少なくするために、インタラプト信号発生時間と許容待ち時間との和を、各前進駆動速度速度における停止余裕時間に近付けることが望ましい。
【００８２】
なお、図５に示すケース３およびケース４は、時刻ｔ１からｔ１６までにおいて床センサー部１１により検出された床の有無およびこの床の有無に対応するロボットの状態（前進または停止）をそれぞれ示している。ここで示される「３０Ｖで前進」とは、このロボットの最低速度である「Ｖ」の３０倍の速度で前進することを示す。
【００８３】
図５に示すケース３は、時刻ｔ５までは、床センサー部１１により床があると判断されて、時刻ｔ５以降は床が無いと判断された場合であり、時刻ｔ１における移動制御信号ラッチにより、速度３０Ｖによるギヤ車輪部１７の前進駆動が開始される。
【００８４】
時刻ｔ５における床の有無の検出結果は、時刻ｔ４におけるインタラプト信号の入力以後であるため、時刻ｔ５における移動制御信号ラッチには反映されない。したがって、ギヤ車輪部１７は、時刻ｔ１０におけるカウント値“Ｎ”のカウントにより出力される停止セット信号にしたがって停止される。
【００８５】
なお、時刻ｔ８におけるインタラプト信号の入力により、時刻ｔ１１において停止を指示するための移動制御信号ラッチがなされるが、時刻ｔ１０において停止セット信号の出力によりギヤ車輪部１７は既に停止しているので、時刻ｔ１１においては、ギヤ車輪部１７の状態は変化しない。また、時刻ｔ１１においてなされた移動制御信号ラッチは、時刻ｔ８におけるインタラプト信号出力時の床センサー部１１による検出結果（床が無い）に基づいて出力された停止信号であるため、可変クロック発生部１９からはクロック信号が出力されないので、カウンター部１８に対して、移動制御信号ラッチとともに出力されたリセット＆スタート信号が入力されてもカウント値は“０”のままとなり、この状態は、床センサー部１１により、前方に床があることを示す検出信号が出力された状態で、ＣＰＵ部１２にインタラプト信号が入力されて、この入力にともなう移動制御信号ラッチにしたがって可変クロック発生部１９によるクロック信号が供給されるまで継続される。
【００８６】
また、ケース４は、時刻ｔ１からｔ１６まで、床センサー部１１により床があると判断された場合であり、時刻ｔ１における移動制御信号ラッチにともないカウンター部１８にリセット＆スタート信号が入力されてカウントが開始されるとともに、同じ時刻ｔ１において、前進を指示する移動制御信号ラッチによってギヤ車輪部１７が前進駆動し、時刻ｔ９におけるカウンター部１８による“Ｎ”のカウントにともなう停止セット信号の出力にともなってギヤ車輪部１７が停止する。
【００８７】
ケース４では、床センサー部１１による検出信号が常に床の有ることを示す信号であるので、本来ならばロボットを停止する必要は無いが、時刻ｔ１０に達した時点で許容待ち時間、つまりインタラプト信号出力から“Ｎ”のカウントまでの時間が経過してしまうため、停止セット信号の出力によりギヤ車輪部１７は停止してしまう。しかし、時刻ｔ８におけるインタラプト信号の入力にともなう移動制御信号ラッチがなされる時刻ｔ１１ではギヤ車輪部１７が再び３０Ｖの速度で前進駆動を始めるため、停止するのは時刻ｔ１０→ｔ１１間のみ、すなわち停止セット信号の出力から次の移動制御信号ラッチまでの間であるので、実用上の問題は無い。
【００８８】
したがって、前記構成の駆動制御回路によれば、速度指定部２０によりロボットの前進駆動速度が指定された上で、ＣＰＵ部１２により移動制御信号ラッチがなされると、移動制御信号が可変クロック発生部１９に出力されて、この可変クロック発生部１９により移動制御信号に含まれた駆動速度の情報に基づいたクロック周波数をもつクロック信号がカウンター部１８に出力されて、カウント値が所定の値（“Ｍ”）になるとＣＰＵ部１２にインタラプト信号が出力される。そして、インタラプト信号の入力にともなう移動制御信号ラッチより早く、カウンター部１８におけるカウント値が所定の値（“Ｎ”）に達した時点で移動制御信号ラッチ部１４に停止セット信号が出力されて、ギヤ車輪部１７が停止する。よって、床センサー部１１により床が無いことが検出されてからギヤ車輪部１７が停止されるまでの時間を短縮することができ、インタラプト信号発生時間と許容待ち時間の和が停止余裕時間より短ければ、該ロボットの床や机からの転落をＣＰＵ部１２に負担をかけることなく確実に防止することができる。また、インタラプト信号の出力間隔をカウンター部１８により設定できるので、前期第１実施形態で用いていたタイマー部１３が不要となり、また、速度変化に対するインタラプト信号発生時間と許容待ち時間をカウンター部１８に対するカウント間隔の可変設定によりなすことができる。
【００８９】
なお、本実施形態では、可変クロック発生部１９に入力される移動制御信号（前進信号）に含まれる駆動速度の情報に基づいて、クロック信号の周波数を大小に変更する構成としたが、クロック信号の周波数を固定とした上で、駆動速度の情報をＣＰＵ部１２から直接取得してカウント間隔を変更する、またはカウント間隔を固定としてカウント単位を変更する構成としてもよい。
【００９０】
また、本実施形態では、速度設定部２０によりロボットの駆動速度を設定できる構成としたが、この速度設定部２０による速度設定は、前記第１実施形態にも適用することができる。例えば図７に示すような構成とすればよい。
【００９１】
本発明は前記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。更に、前記実施形態には、種々の段階の発明が含まれており、開示される複数の構成要件における適宣な組み合わせにより種々の発明が抽出され得る。例えば、実施形態で示される全構成要件から幾つかの構成要件が削除されても、「発明が解決しようとする課題」で述べた課題が解決でき、「発明の効果」の欄で述べられている効果が得られる場合には、この構成要件が削除された構成が発明として抽出されうる。
【００９２】
【発明の効果】
以上のように、本発明の請求項１に係わる制御装置によれば、制御手段に対して割込み手段による割込み信号が出力されることにより、検出手段により検出された外部環境の情報に基づいて、駆動制御信号の出力を要求する制御信号が駆動制御手段に出力され、この駆動制御手段により制御信号に基づいた駆動制御信号が出力されて、駆動手段による動作がなされる。そして、カウント手段に割込み信号が出力されると所定の時間のカウントが開始され、所定の時間がカウントされると、停止要求手段により、前記駆動制御手段に対して、前記駆動手段の動作を停止させる信号が出力されるので、装置を停止させる必要がある場合に、実際に停止されるまでの時間を短縮することができるようになる。
【００９３】
また、本発明の請求項２に係わる制御装置によれば、駆動速度指定手段により、自走式装置の駆動速度が指定され、制御手段に対して割込み手段による割込み信号が駆動速度指定手段で指定された速度に基づいた速度で出力されることにより、検出手段により検出された外部環境の情報に基づいて、駆動制御信号の出力を要求する制御信号が駆動制御手段に出力され、この駆動制御手段により制御信号に基づいた駆動制御信号が出力されて、駆動手段による動作がなされる。そして、カウント手段に割込み信号が出力されると駆動速度指定手段で指定された駆動速度に基づいた所定の時間のカウントが開始され、所定の時間がカウントされると、停止要求手段により、前記駆動制御手段に対して、前記駆動手段の動作を停止させる信号が出力されるので、装置の駆動速度を変化させた場合に、装置を停止させる必要がある場合に、実際に停止されるまでの最適な時間で停止させることができるようになる。
【００９４】
また、本発明の請求項３に係わる制御装置では、制御手段により、駆動出力手段により制御信号が出力されるとともに、前記カウント手段に対してカウントの停止が要求されるので、装置の不必要な停止を防ぐことができるようになる。
【００９５】
また、本発明の請求項４に係わる制御装置では、駆動制御手段により、駆動手段に駆動制御信号が出力されるとともに、カウント手段によるカウントが開始され、所定の第１の時間がカウントされた場合に、制御手段に割込み信号が出力されることにより、該制御手段により、検出手段により検出された外部環境の情報に基づいて、駆動制御信号の出力を要求する制御信号が駆動制御手段に出力され、所定の第２の時間がカウントされた場合に、駆動制御手段により、前記駆動手段の動作を停止させる信号が出力されるので、速度変化に対する割込み信号および停止を要求する駆動制御信号の出力間隔の設定カウント手段に対するカウント間隔の可変設定によりなすことができる。
【００９６】
したがって、本発明は、ロボットなどの自走式装置の足場からの転落および障害物の接触などを確実に防止することが可能になる。
【図面の簡単な説明】
【図１】本発明の第１実施形態に係わる自走式ロボットに搭載される駆動制御回路の構成を示したブロック図。
【図２】前記第１実施形態に係わる駆動制御回路による駆動制御処理を示すタイミングチャート。
【図３】前記第１実施形態に係わる駆動制御回路による駆動制御処理を示すフローチャート。
【図４】本発明の第２実施形態に係わる自走式ロボットに搭載される駆動制御回路の構成を示したブロック図。
【図５】前記第２実施形態に係わる駆動制御回路による駆動制御処理を示すタイミングチャート。
【図６】前記第２実施形態に係わる駆動制御回路による駆動制御処理を示すフローチャート。
【図７】前記第１実施形態に係わる駆動制御回路の変形例を示すブロック図。
【図８】従来の自走式ロボットに搭載される駆動制御回路の構成を示したブロック図。
【図９】従来の駆動制御回路による駆動制御処理を示すフローチャート。
【符号の説明】
１１・・・床センサー部
１２・・・ＣＰＵ部
１３・・・タイマー部
１４・・・移動制御信号ラッチ部
１５・・・モーター制御部
１６・・・モーター部
１７・・・ギヤ車輪部
１８・・・カウンター部
１９・・・可変クロック発生部
２０・・・速度指定部
【図１】
2004118554.tif 000003
【図２】
2004118554.tif 000004
【図３】
2004118554.tif 000005
【図４】
2004118554.tif 000006
【図５】
2004118554.tif 000007
【図６】
2004118554.tif 000008
【図７】
2004118554.tif 000009
【図８】
2004118554.tif 000010
【図９】
2004118554.tif 000011