(57)【要約】【課題】  危険な状況を確実かつ証明可能に検知および回避する、自律移動ロボット用の堅牢な安全機構を提供する。【解決手段】  自律移動ロボットであって、環境内で自律移動ロボットを移動させるように構成された駆動モジュールと、駆動モジュールに制御コマンドを送信するように構成された制御モジュールであって、制御コマンドは、自律移動ロボットの動きを制御するものである制御モジュールと、安全モジュールと、を有し、安全モジュールは、所定の基準に基づいて、自律移動ロボットの現在の動きを危険として分類することにより、危険な状況を検出し、現在の動きが危険として分類された場合に自律移動ロボットの動きを変更又は停止する。【選択図】図１
2020514858.tif 000002
【特許請求の範囲】
【請求項１】
自律移動ロボット（１００）であって、
環境内で前記自律移動ロボット（１００）を移動させるように構成された駆動モジュール（１７０）と、
前記駆動モジュール（１７０）に制御コマンドを送信するように構成された制御モジュール（１４０）であって、前記制御コマンドは、前記自律移動ロボット（１００）の動きを制御するものである制御モジュール（１４０）と、
安全モジュール（１５０）と、
を有し、
前記安全モジュール（１５０）は、
所定の基準に基づいて、前記制御モジュール（１４０）によって制御される前記自律移動ロボット（１００）の現在の動きを危険として分類することにより、危険な状況を検出し、
前記現在の動きが危険として分類された場合に前記自律移動ロボット（１００）の動きを変更又は停止する
自律移動ロボット（１００）。
【請求項２】
請求項１に記載の自律移動ロボット（１００）であって、
前記安全モジュール（１５０）は、さらに、
前記安全モジュール（１５０）によって危険な状況として検出された状況において、前記制御モジュール（１４０）によって引き起こされた前記自律移動ロボット（１００）の振る舞いを監視し、
前記振る舞いを所定の基準に基づいて適切又は不適切として分類する
ように構成される
自律移動ロボット（１００）。
【請求項３】
請求項２に記載の自律移動ロボット（１００）であって、
前記制御モジュール（１４０）の反応を監視することは、前記制御モジュール（１４０）により送信された制御コマンドを評価することを含み、前記制御コマンドから、前記自律移動ロボットの現在の動きが推測できる自律移動ロボット（１００）。
【請求項４】
請求項２又は請求項３に記載の自律移動ロボット（１００）であって、
前記制御モジュール（１４０）の反応を監視することは、前記駆動モジュール（１７０）から情報を受信することを含み、
この情報は、前記駆動モジュール（１７０）に送信される制御コマンド及び前記駆動モジュール（１７０）の現在の動作の少なくとも一方を示す
自律移動ロボット（１００）。
【請求項５】
請求項２乃至請求項４の何れか一項に記載の自律移動ロボット（１００）であって、
前記安全モジュール（１５０）は、前記動きが危険と分類され、かつ、前記制御モジュール（１４０）の反応が不適切として分類された場合にのみ、前記自律移動ロボット（１００）の動きを変更または停止するように構成される
自律移動ロボット（１００）。
【請求項６】
請求項１乃至請求項５の何れか一項に記載の自律移動ロボット（１００）であって、
前記自律移動ロボット（１００）は、さらに、センサモジュール（１２０）を有し、
前記センサモジュール（１２０）は、情報を提供し、
この情報は、前記自律移動ロボット（１００）の内部状態及び前記自律移動ロボット（１００）の前記環境の少なくとも一方に関係している
自律移動ロボット（１００）。
【請求項７】
請求項６に記載の自律移動ロボット（１００）であって、
前記安全モジュール（１５０）は、前記センサモジュール（１２０）の動作に誤りがあることが検出された場合に、前記センサモジュール（１２０）の動作を監視し、前記自律移動ロボット（１００）を停止するように構成される
自律移動ロボット（１００）。
【請求項８】
請求項６又は請求項７に記載の自律移動ロボット（１００）であって、
前記センサモジュール（１２０）は、フロアの立ち下がりエッジを検出するように構成された少なくとも１つのフロアクリアランスセンサ（１２１）を有する
自律移動ロボット（１００）。
【請求項９】
請求項８に記載の自律移動ロボット（１００）であって、
前記立ち下がりエッジを検出するために、前記少なくとも１つのフロアクリアランスセンサ（１２１）は、前記自律移動ロボット（１００）と前記自律移動ロボット（１００）の下のフロア面との間の距離が最大値を超えるか否かを判定するか、又は、前記自律移動ロボット（１００）と前記自律移動ロボット（１００）の下のフロア面との間の距離を測定するよう構成される
自律移動ロボット（１００）。
【請求項１０】
請求項８又は請求項９に記載の自律移動ロボット（１００）であって、
前記安全モジュール（１５０）は、前記少なくとも１つのフロアクリアランスセンサ（１２１）によって提供される情報に基づいて危険な状況を検出するように構成され、
及び／又は、
前記安全モジュール（１５０）は、前記少なくとも１つのフロアクリアランスセンサ（１２１）によって提供される情報に基づいて前記自律移動ロボット（１００）の現在の動きが不適切であると分類するように構成されている
自律移動ロボット（１００）。
【請求項１１】
請求項６乃至請求項１０の何れか一項に記載の自律移動ロボット（１００）であって、
前記センサモジュール（１２０）は、
障害物を非接触で検出するための光学センサ、
障害物を接触して検出するための接触センサ、
前記環境の画像をキャプチャーするためのカメラ、
加速度センサ、
回転速度センサ、
距離センサ、
電流センサ、
車輪接触スイッチ、及び、
位置センサ
のうち少なくとも１つを有する
自律移動ロボット（１００）。
【請求項１２】
請求項６乃至請求項１１の何れか一項に記載の自律移動ロボット（１００）であって、
前記センサモジュール（１２０）は、少なくとも１つの慣性測定ユニットを有し、前記少なくとも１つの慣性測定ユニットは、前記少なくとも１つの慣性測定ユニットの加速度及び角速度のうち少なくとも１つを検出するように構成されている
自律移動ロボット（１００）。
【請求項１３】
請求項１２に記載の自律移動ロボット（１００）であって、
前記安全モジュール（１５０）は、
前記慣性測定ユニットの加速度及び／又は角速度に基づいて前記自律移動ロボット（１００）の安定性を判定し、危険であるか又は危険でないかに分類し、
前記自律移動ロボット（１００）の前記安定性が危険であると分類された場合には、前記自律移動ロボット（１００）の動きを変更するか、又は、停止させる
ように構成されている
自律移動ロボット（１００）。
【請求項１４】
請求項１乃至請求項１３の何れか一項に記載の自律移動ロボット（１００）であって、
前記自律移動ロボット（１００）は、前記環境の地図に基づいて前記環境を移動し、前記地図は、前記環境内の障害物に関する情報を有するように構成されている
自律移動ロボット（１００）。
【請求項１５】
請求項６乃至請求項１４の何れか一項に記載の自律移動ロボット（１００）であって、
前記安全モジュール（１５０）は、さらに、
前記センサモジュール（１２０）によって提供される情報、及び
請求項１４を参照する限り、前記環境の前記地図に含まれる情報
のうちの少なくとも一方に基づいて危険な状況を検出するように構成されている
自律移動ロボット（１００）。
【請求項１６】
請求項１乃至請求項１５の何れか一項に記載の自律移動ロボット（１００）であって、
前記安全モジュール（１５０）は、前記安全モジュール（１５０）が前記自律移動ロボット（１００）の動きの変更又は停止をする場合には、前記制御モジュール（１４０）に通知するように構成されている
自律移動ロボット（１００）。
【請求項１７】
請求項１乃至請求項１６の何れか一項に記載の自律移動ロボット（１００）であって、
前記安全モジュール（１５０）による前記自律移動ロボット（１００）の動きの変更又は停止は、前記制御モジュール（１４０）により前記駆動モジュール（１７０）に送信された制御コマンドの書き換え又は却下を含む
自律移動ロボット（１００）。
【請求項１８】
請求項１乃至請求項１７の何れか一項に記載の自律移動ロボット（１００）であって、
前記自律移動ロボット（１００）は、内部電源を有し、前記内部電源は、前記駆動モジュール（１７０）に電力を供給し、前記自律移動ロボット（１００）の動きの変更又は停止をすることには、前記駆動モジュール（１７０）を前記内部電源から切り離すことが含まれる
自律移動ロボット（１００）。
【請求項１９】
請求項１乃至請求項１８の何れか一項に記載の自律移動ロボット（１００）であって、
前記駆動モジュール（１７０）は、少なくとも２つの駆動車輪（１７１）を有し、前記少なくとも２つの駆動車輪（１７１）は、電気駆動装置に接続され、前記自律移動ロボット（１００）を前記環境内で移動させるように構成されている
自律移動ロボット（１００）。
【請求項２０】
請求項１乃至請求項１９の何れか一項に記載の自律移動ロボット（１００）であって、
前記安全モジュール（１５０）が、
前記自律移動ロボット（１００）の前記環境内の障害物を検出し、
前記自律移動ロボット（１００）の前記環境内で障害物が検出された場合には、前記自律移動ロボット（１００）の最大許容速度を下げるように構成されるている
自律移動ロボット（１００）。
【請求項２１】
請求項１乃至請求項２０の何れか一項に記載の自律移動ロボット（１００）であって、
前記自律移動ロボット（１００）は、作業モジュール（１６０）をさらに有し、前記作業モジュール（１６０）は、フロア面の処理をするように構成されている
自律移動ロボット（１００）。
【請求項２２】
請求項１乃至請求項２０の何れか一項に記載の自律移動ロボット（１００）であって、
前記自律移動ロボット（１００）は、物体を運搬するための運搬台（１０４）又は把持アームを有する自律移動ロボット（１００）。
【請求項２３】
請求項１乃至請求項２２の何れか一項に記載の自律移動ロボット（１００）であって、さらに、通信モジュール（１３０）を有し、
前記通信モジュール（１３０）は、
ヒューマン・マシン・インターフェース（２００）、及び、
外部デバイス（３００）のうちの少なくとも１つへの通信接続を確立するように構成されている
自律移動ロボット（１００）。
【請求項２４】
請求項２３に記載の自律移動ロボット（１００）であって、
前記制御モジュール（１４０）は、前記通信接続を介して受信したデータに基づいて前記駆動モジュールのための制御コマンドを生成するように構成されている
自律移動ロボット（１００）。
【請求項２５】
請求項２３又は請求項２４に記載の自律移動ロボット（１００）であって、
前記通信接続は、
直接無線接続、
ローカル無線ネットワーク接続、及び
インターネット接続
のうちの少なくとも１つを有する
自律移動ロボット（１００）。
【請求項２６】
請求項１乃至請求項２５の何れか一項に記載の自律移動ロボット（１００）であって、
前記制御モジュール（１４０）は、プロセッサを有し、前記プロセッサは、制御ソフトウェアを実行するように構成され、
前記安全モジュール（１５０）は、さらに、別個のプロセッサを有し、前記別個のプロセッサは、危険な状況を検出するためのソフトウェアを実行するように構成されている
自律移動ロボット（１００）。
【請求項２７】
自律移動ロボット（１００）を制御する方法であって、
前記制御モジュール（１４０）によって前記自律移動ロボット（１００）の動きの制御をするステップであって、前記動きの前記制御は、制御モジュール（１４０）から駆動モジュール（１７０）に制御コマンドを送信することを含み、前記駆動モジュール（１７０）は、前記自律移動ロボット（１００）を環境内で移動させるように構成されているステップと、
安全モジュール（１５０）により危険な状況を検出するステップと、
危険な状況が検出された場合に、所定の基準に基づいて前記自律移動ロボット（１００）の現在の動きを危険として分類するステップと、
前記動きが危険として分類された場合に、前記安全モジュール（１５０）により前記自律移動ロボット（１００）の動きの変更又は停止をするステップと、
を有する方法。
【請求項２８】
請求項２７に記載の自律移動ロボット（１００）を制御する方法であって、
検出された危険な状況に対する前記制御モジュール（１４０）の反応を監視するステップと、
前記制御モジュール（１４０）の反応を、所定の基準に基づいて適切又は不適切として分類するステップと、
をさらに有する方法。
【請求項２９】
請求項２８に記載の自律移動ロボット（１００）を制御する方法であって、
前記動きが危険であると分類され、前記制御モジュール（１４０）の前記反応が不適切と分類される場合にのみ、前記自律移動ロボット（１００）の前記動きの変更又は停止をするステップをさらに有する方法。
【請求項３０】
請求項２７乃至請求項２９の何れか一項に記載の自律移動ロボット（１００）を制御する方法であって、
前記安全モジュール（１５０）が危険な状況を検出した場合に、前記制御モジュール（１４０）に通知するステップをさらに有する方法。
【請求項３１】
請求項２７乃至請求項３０の何れか一項に記載の自律移動ロボット（１００）を制御する方法であって、
前記安全モジュール（１５０）が前記自律移動ロボット（１００）の動きの変更又は停止をした場合に、前記制御モジュール（１４０）に通知するステップをさらに有する方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、表面処理（床の清掃）、例えば、物体の運搬または領域の監視および検査を行うロボットなどの自律移動サービスロボット、およびそのような自律移動ロボットの制御方法に関する。
【背景技術】
【０００２】
近年、自律移動式ロボット、特にサービスロボットは、家庭環境だけでなく職場環境でもますます使用されている。例えば、自律移動ロボットは、床面積の清掃、建物の監視、位置および活動に依存しない通信の実現、または物体の輸送に使用できる。
【０００３】
自律移動ロボットには、通常、レーザスキャナ、超音波センサ、触覚センサなどのさまざまなセンサが装備されており、周囲の障害物を検出し、例えば、物体や人との衝突を防ぐ。この場合、例えば可能性のある立ち下がりエッジ（例えば階段）を検出してロボットの転倒を防止するために、床に向けられたセンサが知られている。転倒すると、ロボットまたは近くの物に損傷を与える可能性がある。また、移動ロボットの転倒の際に、人への危険が発生する可能性もある。センサで環境を検知してデータを評価することにより、ロボットは潜在的な危険を適時に検出し、危険の状況に応じて動きを調整することで事故を回避できる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】ＵＳ  ２００２１０３５７５
【０００５】
【特許文献２】ＤＥ  １０２０１００３３７６８
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ますますインテリジェントなシステムを開発し市場に出すという要求と共に、自律移動ロボットで使用される行動ルーチンの複雑さは絶えず増大している。しかし、複雑さが増すと、通常は、多くの複雑なソフトウェアアプリケーションと同様に、エラーに対し動作異常を起こす可能性が高くなる。これは、ロボットが危険な状況を検出するためのセンサを有しているにもかかわらず、例えば故障、認識されないプログラミングエラーまたは外部からの望ましくない影響により、制御ソフトウェアが、検出された危険な状況に適切に応答しないことを意味する。ロボットが考えられるすべての危険な状況に適切かつ正確に反応するということを証明することは、制御ソフトウェアの複雑さが増すにつれてかなりの労力を要することになる。このような機能安全性の証明は、特定の用途では法律で要求される場合がある。機能安全性の要求もさまざまな規格の対象となっている（例えば、ＥＮ／ＩＥＣ  ６１５０８およびＥＮ／ＩＥＣ  ６２０６１）。
【０００７】
したがって、本発明の根底にある課題は、とりわけ、危険な状況を確実かつ証明可能に検知および回避する、自律移動ロボット用の堅牢な安全機構を提供することである。
【０００８】
この課題は、請求項１に記載の自律移動ロボットおよび請求項２７に記載の方法によって達成される。様々な実施形態およびさらなる発展は従属請求項の対象である。
【課題を解決するための手段】
【０００９】
自律移動ロボットが記載される。本発明の一実施形態は、自律移動ロボットであって、環境内で前記自律移動ロボットを移動させるように構成された駆動モジュールと、駆動モジュールに制御コマンドを送信するように構成された制御モジュールであって、前記制御コマンドは、前記自律移動ロボットの動きを制御するものである制御モジュールと、安全モジュールと、を有し、前記安全モジュールは、所定の基準に基づいて、自律移動ロボットの現在の動きを危険として分類することにより、危険な状況を検出し、前記現在の動きが危険として分類された場合に前記自律移動ロボットの動きを変更又は停止する。
【００１０】
自律移動ロボットを制御する方法が記載される。本発明の一実施形態は、自律移動ロボットを制御する方法であって、前記制御モジュールによって前記自律移動ロボットの動きの制御をするステップであって、前記動きの前記制御は、制御モジュールから駆動モジュールに制御コマンドを送信することを含み、前記駆動モジュールは、前記自律移動ロボットを環境内で移動させるように構成されるステップと、安全モジュールにより危険な状況を検出するステップと、危険な状況が検出された場合、所定の基準に基づいて前記自律移動ロボットの現在の動きを危険として分類するステップと、前記動きが危険として分類された場合に、前記安全モジュールにより前記自律移動ロボットの動きの変更又は停止をするステップと、を有する。
【発明の効果】
【００１１】
危険な状況を確実かつ証明可能に検知および回避する、自律移動ロボット用の堅牢な安全機構が提供できる。
【図面の簡単な説明】
【００１２】
【図１】例として、様々な自律移動ロボットならびに可能性のある様々な危険な状況を示す図である。
【図２】自律移動ロボットの一例の構成を示すブロック図である。
【図３】自律移動ロボットを制御する方法を示すフローチャートである。
【図４】自律移動ロボットの裏面の一例を示す平面図である。
【発明を実施するための形態】
【００１３】
本発明は、図面に示される実施形態を参照してより詳細に説明される。図は必ずしも一定の縮尺ではなく、本発明は提示された実施態様に限定されない。むしろ、本発明の根底にある原理を表すことに重点が置かれている。
【００１４】
図１は、自律移動ロボット１００の様々な例、ならびに起こり得る危険な状況を示している。図１（ａ）は、例えば、床面を掃除、特に床面のゴミを吸い取るために構成された掃除ロボットを示す図である。掃除ロボットは、通常、少なくとも３つの車輪（図１（ａ）には図示せず）で前方に移動する。さらに、掃除ロボットの裏側には、通常、ロボット１００が床面上を移動する間に汚れを集めるための回転ブラシなどが設けられている。図１（ｂ）に示すように、階段の段差のような立ち下がりエッジを越えて転倒すると、掃除ロボットが損傷する可能性がある。加えて、ロボット１００が、その上で落下したりそれにぶつかったりすると、床面、近くの物体、または人間にも損傷が生じる可能性がある。したがって、一部の自律移動ロボット１００は、転落を回避するために階段の段差などの立ち下がりエッジを適時に検出することができるフロアクリアランスセンサ（図１には図示せず）を有している。フロアクリアランスセンサは、フロア検出センサ又は、フロアセンサとも呼ばれる。
【００１５】
図１（ｃ）はテレプレゼンスロボットの一例を示す図である。テレプレゼンスロボットは、通常、例えば、ディスプレイ、スマートフォン、タブレットなどのようなインターフェース１０１（ヒューマン・マシン・インターフェース（ＨＭＩ）としても知られるユーザインターフェース）を有する。このインターフェース１０１は、ロボット１００の垂直アーム１０２の上端に取り付けられている。垂直アーム１０２の下端には、駆動モジュール１０３を有するロボット本体が取り付けられている。例えば、駆動モジュール１０３は、テレプレゼンスロボットが前進するための１つ以上のモータおよび２つ以上の車輪を含み得る。ロボット１００は独立してユーザを追跡することができるので、テレプレゼンスロボットは基本的に、ユーザの位置および活動に関係なく一方向のコミュニケーションを可能とする。ロボット１００のスリムな形状の構成およびインターフェース１０１の垂直アーム１０２の上端部への取り付けにより、このようなテレプレゼンスロボットは比較的高い重心を有する。このため、基本的に、ロボットは自身でバランスを取る。しかしながら、例えば、急勾配の表面上を移動するとき、ロボット１００はひっくり返る可能性があり、これにより装置が損傷を受ける可能性がある。加速度が高すぎたり、敷居や段差を超えたりした場合でも、ロボット１００の転倒が発生する可能性がある。また、ロボット１００が傾いたり、転倒したりすると、周囲の床面、近くのものや人が損傷する可能性がある。テレプレゼンスロボットの傾く一例は、図１（ｄ）に示されている。このため、テレプレゼンスロボットは、ロボット１００の状態（特に傾斜）、加速度および／または角速度を決定するように構成されたセンサ（図１には図示せず）を有することができる。同様に、テレプレゼンスロボットは、ロボットの走行挙動を適合させてロボットの傾きを回避するために敷居（例えば、ドア敷居）又は段差を検出するセンサを含むことができる。
【００１６】
図１（ｅ）は、補助ロボット、特に運搬ロボットの一例を示す図である。運搬ロボットは通常、運搬台１０４を有し、その上に、皿やグラスなどの搬送される物体が置かれる。運搬ロボットの裏面には、例えば車輪（図１（ｅ）には示されていない）が設けられ、これにより運搬ロボットは移動することができる。このようなロボット１００は、例えば、日常生活の中で高齢者を支援することができ、したがって高齢者が独立して生活することを可能にする。介護施設でも、看護職員を職場で支援するために運搬ロボットを使用することができる。運搬ロボットには他の多くの用途（例えば、倉庫、レストランなど）が考えられる。運搬ロボットにとって、通常、運搬台１０４上に置かれた物品がひっくり返ったり動いたりしないようにゆっくりとした加速を確実にすることが重要である。例えば、運搬台１０４の領域に、運搬されるべき対象物の重量を検出するセンサ（図１（ｅ）には示されていない）を配置することができる。どの種類の対象物が運搬台１０４上に配置されているかをセンサによって決定することもできる。さらに、輸送されるべき物体またはロボット１００全体の傾斜を回避するために衝突が回避されることが基本的に重要である。この目的のために、ロボット１００は、ロボット１００の環境内の静止または移動する物体または人を検出するように（場合によっては関連センサ信号処理を用いて）構成された多種多様なセンサ（例えばレーザ距離計、光学三角測量センサ、カメラなど）を有することができる。
【００１７】
したがって、基本的に、様々な方法を使用して、ロボットをその使用領域で自律的に移動させ、その際に自律移動ロボット１００にとって起こり得る危険な状況を認識し、認識された危険な状況に適切に対応することによって事故を回避することが可能である（それによって事故は回避されるか、少なくとも軽減される）。このようなロボット１００は通常、自律移動ロボット１００を制御するための制御ソフトウェアを含む。しかしながら、制御モジュール内のプロセッサによって実行されるそのような制御ソフトウェアは、ますます複雑になりつつある。制御ソフトウェアの複雑さが増すと、望ましくないプログラミングエラーのリスクが高まる。さらに、ますます多くの自律移動ロボット１００がインターネットに接続されている。これにより、例えばユーザがロボット１００の近くにいなくても、ロボット１００を制御することができる。同様に、ロボット１００のファームウェア、特に制御ソフトウェアはインターネットを介して更新することができる。たとえば、ソフトウェアアップデートは自動的に、または、ユーザの要求に応じて、ダウンロードすることもできる。この機能は、オーバ・ジ・エア・プログラミング（ＯＴＡプログラミング）、ＯＴＡアップグレード、またはファームウェア・オーバ・ジ・エア（ＦＯＴＡ）とも呼ばれる。
【００１８】
しかしながら、自律移動ロボット１００をインターネットに接続することは、見知らぬ人がロボット１００にアクセスする危険（例えば、ロボットのいわゆるハッキング、クラッキング、またはジェイルブレイク）をもたらし、自律移動ロボット１００が危険な状況に正しく反応しないように自律移動ロボット１００に影響を与え、それにより事故が発生する恐れがある。制御ソフトウェア全体は、ロボット１００自体、またはロボット内に配置された記憶媒体に格納することができる。しかしながら、制御ソフトウェアの一部をクラウドサーバ等の外部装置に保存することも可能である。制御ソフトウェアの一部が外部装置に格納されている場合、ロボット１００の一部は一般にもはやリアルタイム対応ではない。ロボット１００は、その制御ソフトウェアアルゴリズムが非決定論的モンテカルロ法または、例えばディープラーニング学習（ディープ機械学習としても知られる）などの機械学習を使用していることが知られている。モンテカルロアルゴリズムは、上限のある確率で誤った結果を出すことが許されているランダム化されたアルゴリズムである。通常は、決定論的アルゴリズムと比較して、モンテカルロアルゴリズムは効率的である。ディープラーニングは、通常、入力層と出力層との間に多数の隠れ層を有し、それによって大規模な内部構造を有する、人工ニューラルネットワークの一種の最適化方法である。モンテカルロアルゴリズムでも機械学習でも、因果関係は最初から決定されないため理解が困難である。このため、ロボット１００の安全な動作を証明し、事故を回避するためにロボット１００の制御ソフトウェアがいかなる危険な状況においても正しくかつ適時に反応することを保証することは非常に困難である。同時に、そのような新しいロボット制御方法の使用は、自律移動ロボット１００をより知的にするために必要である。改善された知能は、ロボット１００がユーザの生活およびそれらの環境により容易に適合することを可能にする。
【００１９】
したがって、ロボット１００の知能を制限することなく、安全が証明可能であるロボットの振る舞いを可能にすることが重要であるかまたは必要であり得る。一実施形態によれば、自律移動ロボット１００は、（上述の制御ソフトウェアが実行される）制御モジュールに加えて、リスク検出モジュールとも呼ばれることがある安全モジュール１５０を含む。これは図２のブロック図に例示されている。ここに記載の例では、安全モジュール１５０は制御モジュール１４０から独立して動作する。基本的に、安全モジュール１５０は、制御モジュールから独立してロボットの行動を監視し、危険な状況を認識するように構成されている。検出された危険状況におけるロボットの行動が「誤り」、「危険」、または「不適切」であると見なされた場合、安全モジュール１５０は適切な対策（安全対策）を開始することができる。対策としては、例えば、ロボット１００を停止させたり、ロボット１００の進行方向を変えたりすることが考えられる。この際、正しい動作を決定することよりも、安全ではないためどの動作を実行すべきでないかを決定することが通常容易であるという事実が利用される。
【００２０】
図２に示す例によれば、ロボット１００は他の様々なモジュールを有することができる。一般に、モジュールは、独立型アセンブリ（ハードウェア）、特定のロボット分野で所望のタスクを実行するロボット１００を制御するためのソフトウェアのコンポーネント、またはその両方の組み合わせ（例えば、周辺コンポーネントを取り付けた専用ハードウェアおよび適切なソフトウェアおよび／またはファームウェア）であり得る。ロボット１００の挙動を管理するソフトウェア（制御ソフトウェア）は、ロボット１００の制御モジュール１４０で（制御ソフトウェアを実行するプロセッサおよび制御ソフトウェアが格納されるメモリによって）実行され得る。このプロセッサは、例えば、マイクロコントローラに含まれ得る。制御ソフトウェアの実行は、例えばホームネットワーク（例えば、ＬＡＮ、ＷＬＡＮ）またはインターネット（クラウド）でアクセス可能な外部デバイス３００（例えば、パーソナルコンピュータ、サーバなど）に少なくとも部分的に外部委託することができる。制御モジュール１４０は、自律移動ロボット１００がその使用領域で自律的に移動し、タスクを実行することを可能にするために必要なすべての機能を有してもよい。特定の方法ステップまたは部分ステップがロボットによって実行される場合、方法ステップまたは部分ステップの全体が必ずしもロボットのハードウェアおよびソフトウェアのみによって実行される必要はない。また、ロボット１００（通常はロボットの制御モジュール１４０）が単に方法ステップまたは部分ステップの実行が行われるように指示し、方法ステップまたは部分ステップの実際の実行が外部ハードウェアおよび／またはソフトウェア（例えば、データ接続を介してロボットと通信する外部コンピュータ又はサーバ３３０）によって行われることもあり得る。ロボットの「知性」は、ロボットのさまざまなモジュールに分散することもでき、必ずしも中央制御モジュールに集中する必要はない。特定の方法ステップまたは部分ステップがロボットによって実行される場合、ロボットの１つのモジュール（たとえば、制御モジュール１４０）のこれらの方法ステップまたは部分ステップは、複数のモジュールが一緒に、および/または外部ハードウェアおよびソフトウェアによって実行することができる。
【００２１】
制御モジュール１４０は、センサモジュール１２０および／または通信モジュール１３０によって提供される情報に基づいて、駆動モジュール１７０および／または作業モジュール１６０のための制御コマンドを生成するように構成されている。さらに、制御ソフトウェアには、オブジェクト認識と作業計画の機能がある。さらに、制御モジュール１４０は、センサモジュール１２０によって提供される情報に基づいて危険な状況を認識し、危険を回避または軽減するのに適した制御コマンドを生成するように構成されてもよい。本実施形態では、自律移動ロボット１００は、例えば、電動機、変速機および車輪を有し得る駆動モジュール１７０を有する。駆動モジュール１７０により、ロボット１００は、理論的には、その使用領域のあらゆる点に到達することができる。ロボット１００は、ヒューマン・マシン・インターフェース２００（ＨＭＩ）および／または他の外部デバイス３００への通信接続を確立するための通信モジュール１３０をさらに含むことができる。通信接続は、例えば、直接無線接続（例えば、ブルートゥース（登録商標））、ローカル無線ネットワーク接続（例えば、ＷｉＦｉまたはＺｉｇ−Ｂｅｅ）、またはインターネット接続（例えば、クラウドサービスへ）であってもよい。例えば、ヒューマン・マシン・インターフェース２００は、自律移動ロボット１００に関する情報（例えば、バッテリー状態、現在の作業指示、地図情報など）をユーザに提供してもよく、例えば、自律移動ロボット１００の作業指示に関連するユーザーコマンドを受信してもよい。ヒューマン・マシン・インターフェース２００としては、例えば、タブレットＰＣ、スマートフォン、スマートウォッチ、コンピュータまたはスマートテレビが用いられる。場合によっては、ヒューマン・マシン・インターフェース２００は、ロボット１００に直接統合されてもよく、キー、ジェスチャ、および／または音声入出力を介して操作されてもよい。前述の外部ハードウェアおよびソフトウェアの少なくとも一部分がヒューマン・マシン・インターフェース２００に配置されてもよい。外部デバイス３００の例は、計算および／またはデータを交換できるコンピュータおよびサーバ、追加情報を提供する外部センサ、または自律移動ロボット１００が協力および／または情報を交換する他の家電製品（例えば、他のロボット）である。
【００２２】
ロボット１００は、例えば、床面の清掃またはアイテムの輸送などの特定のプロセスを実行する作業モジュール１６０（プロセスモジュール）をさらに含むことができる。作業モジュールは、例えば、床面を清掃するための清掃モジュール（例えば、ブラシ、吸塵装置）、トレイとして設計された高さ調整可能および/または旋回可能な運搬台、または物体をつかんで輸送するための把持アームであってもよい。テレプレゼンスロボットや監視ロボットなどの場合、作業モジュール１６０は必ずしも必要ではない。たとえば、テレプレゼンスロボットは通常、空間的に互いに離れた複数の人の間で通信するために、たとえばマイク、カメラ、画面などを有するマルチメディアユニット（図１、インターフェース１０１を参照）を備えたヒューマン・マシン・インターフェース２００に接続された複雑な通信モジュール１３０を備えている。別の例は、センサモジュール１２０を使用して監視走行で特定の（異常な）イベント（例えば、火災、光、無許可の人など）を検出し、それに応じて制御ステーションに通知できる監視ロボットである。
【００２３】
自律的にタスクを実行できるようにするために、ロボット１００は、オプションとして、自身の環境で自分自身の方向づけができるナビゲーションモジュールを備えていてもよい。ナビゲーションモジュールは、制御モジュール１４０の構成要素であってもよく、したがって図２には明示的に示されていない。方向付けとナビゲーションのために、ナビゲーションモジュールは、センサモジュール１２０により検出（及びローカライズ）できるランドマーク（家具、ドアフレーム、部屋のコーナーなど）のナビゲーション特徴（それによりロボットの方向づけができる特徴）を処理し、ロボットの使用領域のナビゲーションに使用できる。そのようなナビゲーションモジュールは、例えば、検出及び回避戦略（ｓｅｎｓｅ  ａｎｄ  ａｖｏｉｄ  ｓｔｒａｔｅｇｙ）および／または同時ローカリゼーションおよびマッピングアルゴリズム（ＳＬＡＭ，  Ｓｉｍｕｌｔａｎｅｏｕｓ  Ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  Ｍａｐｐｉｎｇ  Ａｌｇｏｒｉｔｈｍ）、および／またはロボット領域の１つまたは複数の地図を用いて動作することができる。このようなロボット使用領域の地図は、使用中にロボットが再作成したり、使用時にすでに存在する地図を使用したりできる。使用時にすでに存在する地図は、たとえば探査走行など、以前の使用中にロボットによって作成されたものでも、別のロボットおよび/または人間によって利用可能にされたものでもよく、メモリモジュール（図２に不図示）に永続的に保存されても良い。メモリモジュールは、多くの場合、不揮発性メモリ（ソリッドステートディスク（ＳＳＤ）など）で構成される。あるいは、ロボット使用領域の永続的に保存された地図は、ロボットの外部、たとえばロボットのユーザの家庭内のコンピュータ（タブレットＰＣ、ホームサーバなど）またはインターネット経由でアクセス可能なコンピューター（たとえばクラウドサーバ）に保存されても良い。
【００２４】
センサモジュール１２０は、例えば、ロボット１００の環境を検出するため、および／またはロボット１００の現在の状態を検出するための１つまたは複数のセンサを含むことができる。例えば、センサモジュール１２０は、送出された信号の三角測量または通過時間測定を用いて動作する光学および／または音響センサなどの環境内の物体までの距離を測定するための1つまたは複数のセンサ（例えば、三角測量センサ、飛行時間カメラ（Ｔｉｍｅ−Ｏｆ−Ｆｌｉｇｈｔ−Ｋａｍｅｒａ）、レーザスキャナ、超音波センサなど）を含み得る。適切なセンサの他の典型的な例は、環境の画像を取得するためのカメラ、物体との物理的接触に反応する触覚センサ、加速度センサ、回転速度センサ、走行距離計、および/または前述の表面までの距離を検出する地上高センサである。地上高センサは、たとえば、可能性のある立ち下がりエッジを検出できる。ロボット１００の現在の状態を検出するためのセンサの例は、アクチュエータ、特にモータの状態を決定するための電流センサ、ロボットが床面にしっかりと接触しているかどうかを決定するための車輪接触スイッチ、ロボット１００の傾きを検出するための姿勢センサ、ホイールエンコーダなどの走行距離計、たとえば、ロボット１００の動きを検出するための加速度センサ、回転率センサ（たとえば、慣性測定ユニット（ＦＭＵ）に組み込まれている）などの慣性センサもある。
【００２５】
さらに、自律移動ロボット１００は、バッテリ（図２には図示せず）などの電源を有してもよい。バッテリーは、例えば、自律移動ロボット１００が基地局（図示せず）にドッキングされたときに充電され得る。基地局は、例えば、電力網に接続されてもよい。自律移動ロボット１００は、バッテリーの充電が必要なとき、またはロボット１００がそのタスクを完了したときに、自主的に基地局を目指して進むように構成されてもよい。
【００２６】
安全モジュール１５０は、制御モジュール１４０とは無関係に独立してロボット１００の自律的な動きの選択された安全関連の観点を監視するように構成されている。安全モジュール１５０は、制御モジュール１４０が危険な状況で応答しないか不十分なときに介入するようにさらに構成される。不適切な反応とは、危険な状況を回避できないか、または別の危険な状況を引き起こす反応である。不適切な状況とは、たとえば、ロボット１００が傾斜または転倒する可能性があり、それにより人間の介入なしではロボット１００のさらなる動作が不可能になり、又は、ロボット、周囲の物体、床、又は、周りに立っている人に損傷が発生し得る反応である。制御モジュール１４０からの上述の独立性を達成するために、安全モジュール１５０は、例えば、独自のプロセッサとメモリモジュールを有してもよい。たとえば、安全モジュールはロボットの別の構成グループとして実現され得る。メモリモジュールには、プロセッサが実行できる危険検出用のソフトウェアを保存できる。この場合、安全モジュール１５０が独自の別個のプロセッサと独自の別個のメモリモジュールとを持つことも可能である。しかし、セキュリティモジュール１５０がプロセッサおよび／またはメモリモジュールをロボット１００の他の１つまたは複数のモジュールと共有することも可能である。一実施形態では、プロセッサの１つのプロセッサコアが安全モジュール１５０に割り当てられ、他のプロセッサコアが他のモジュール（例えば、制御モジュール１４０）によって使用される。例えば、制御モジュール１４０と安全モジュール１５０はプロセッサを共有してもよい。それにもかかわらず、安全モジュール１５０のソフトウェアは、制御モジュール１４０または他のモジュールのソフトウェアとは独立して動作してもよい。ただし、安全モジュール１５０が独自のプロセッサとメモリモジュールを持っている（またはプロセッサのプロセッサコアを独占的に使用している）場合、これにより干渉が減り、安全に関する安全モジュール１５０が確実に適時に応答できるようになる。
【００２７】
危険検出用のソフトウェアは、危険な状況および危険な状況での反応の、追跡可能な、したがって証明可能な、信頼できる検出を保証するために、可能な限り単純に構成され得る。一実施形態によれば、自律移動ロボット１００が複数の安全モジュール１５０を有し、安全モジュール１５０のそれぞれは、特定の危険な状況に対応するように構成された危険検出ソフトウェアを有し、特定の危険な状況に特化することも可能である。また、例えば、安全モジュール１５０の様々な態様およびタスクがハードウェアで（すなわち、特殊なソフトウェアなしで）実装されることも可能である。これにより、危険な出来事に対する非常に高速な応答が保証される。
【００２８】
例えば、安全モジュール１５０および危険検出ソフトウェアの簡単化という目標を達成する１つの方法は、安全モジュール１５０にさまざまな反応的および／または行動的ロボット工学の概念を適用することである。そのような概念では、例えば、ロボット１００の行動の仕方は、センサモジュール１２０の現在のセンサデータのみに基づいて決定される。しかし、そのような概念とは異なり、例外的な状況、例えば即時の危険が検出され、制御モジュール１４０が適切に応答しない場合には、安全モジュール１５０は、ロボット１００の制御に介入する。この目的のために、例えば（センサモジュール１２０によって供給される現在の情報に基づいて）、安全モジュール１５０の介入なしには事故につながる可能性のある禁止または潜在的に危険な動きを決定することが可能である。安全モジュール１５０は、ロボット１００がそのような禁止または危険な動きを実行するおよび／または実行すべきときに介入して、この禁止または危険な動きを阻止または変更するように構成される。例えば、安全モジュール１５０は、１つ以上のフロアクリアランスセンサ（例えば、センサモジュール１２０に含まれる）に結合されてもよい。フロアクリアランスセンサがフロアまでの異常に高い距離を示す場合（たとえば、ロボットが端を越えようとしているため、またはロボットが持ち上げられているため）、安全モジュール１５０はこの状況を危険な状況と判断する場合がある。問題のフロアクリアランスセンサがロボットの（進行方向の）正面にある場合、安全モジュール１５０は、現在の動きを潜在的に危険なものとして分類し、現在の動き停止又は変更（例えば、後退など、）することができる。この場合、安全モジュール１５０が危険な状況を検出するために使用する基準と、安全モジュール１５０が現在の動きを（危険または危険でないと）評価するために使用する基準は実質的に同じである。進行方向の前方にある落下センサが距離の増加を示している場合、危険な状況が検出され、現在の動きが危険であると評価される。安全モジュールは制御モジュールを「オーバライド」し（覆し）、駆動モジュールに現在の動作を停止または変更させる。特定の危険な状況の検出では（たとえば、エッジから急な下り坂が検出された場合）、安全モジュールはロボットの現在の動きを即座に停止し得る（実質的に現在の動きの継続は不適切／危険と見なされるため）。
【００２９】
自律移動ロボット１００の制御ソフトウェアは、通信モジュール１３０の接続（例えば、インターネット）を介して更新（ソフトウェアアップデート）され、又は、この接続を介して機能を追加（ソフトウェアアップグレード）してロボットの適用範囲を拡張され得る。ただし、通常、アップデートまたはアップグレードを行うと、制御ソフトウェアにエラーが追加されるリスクが生じる。加えて、例えば、ロボット１００のインターネットへの接続は、第三者への攻撃の可能性のあるポイントを表し、したがって第三者は、権限なくロボットへのアクセスを取得し、これを制御し、それにより損傷を引き起こす可能性がある。この理由のために、安全モジュール１５０の危険検出ソフトウェアの更新は、例えば、追加の安全対策の下でのみ、および／または例外的な状況でのみ実行することができ得る。たとえば、危険検出ソフトウェアのアップデートはできないか、アップデートは有線通信インターフェースを介してのみ行うことができるか、またはアップデートはアップデートされるソフトウェアのソースの予めの安全な認証後にのみ行うことができる（たとえば、ソフトウェア証明書の交換後のみ）ように構成することができる。アップデートされるソフトウェアのソースの認証後に危険検出ソフトウェアと制御ソフトウェアの両方がアップデートされる場合、危険検出ソフトウェアと制御ソフトウェアとで異なる認証方法を使用し得る。原則として、任意の適切な認証方法を使用し得る。
【００３０】
図３は、一例として、自律移動ロボット１００を制御する方法を示している。第１のステップ３０１において、安全モジュール１５０は情報を受け取ることができる。情報は、例えば、センサモジュール１２０から送信されてもよく、センサモジュール１２０からの情報は、例えば、ロボット１００の内部状態および／または環境に関連し得る。追加または代替として、安全モジュール１５０は、制御モジュール１４０によって駆動モジュール１７０に送信された制御コマンドに関する情報を受信してもよい。しかし、安全モジュール１５０は、追加的または代替的に、駆動モジュール１７０から情報を受け取ることも可能であり、駆動モジュール１７０からの情報は、例えば、現在の動き（例えば、方向および速度）および制御モジュール１４０から受け取った制御コマンドに関係し得る。追加または代替として、安全モジュール１５０は、制御モジュール１４０から作業モジュール１６０に送信された制御コマンドに関する情報を受信してもよい。このため、この情報は、例えば、ロボット１００の環境に関する情報（例えば、立ち下がりエッジ、敷居、又は、障害物、又は障害物（例えば、人）の移動の情報）を含み得る。ロボット１００の環境に関する受信された情報は、安全モジュール１５０によって、ロボット１００の現在の動きまたは計画された動きに関する情報と関連付けられ得る。この場合、情報は、受信後に安全モジュール１５０で直接処理され、及び／または処理前に事前定義可能な期間または事前定義された距離（ロボット１００が進む距離）保存され得る。
【００３１】
加えて、受信された情報はまた、例えばナビゲーションモジュールによって作成および使用されるロボット１００の環境の地図データに関連してもよい。たとえば、地図データには、立ち下がりエッジまたはその他の障害物に関する情報が含まれ得る。ロボット１００は、通常の動作では、地図上の現在の自身の位置を知っている。
【００３２】
受信された情報に基づいて、安全モジュール１５０は、危険な状況が存在するかどうかを確認することができる（ステップ３０２）。危険な状況とは、たとえば、立ち下がりエッジ、ロボット１００の不利な場所（たとえば、湿った、滑らかな、急傾斜な、または不均一な表面）、または、ロボット１００のすぐ近くの環境に障害物があること、又は、これらに向かう障害物（例えば、人）があることである。危険な状況が検出されない場合、何もせず、安全モジュール１５０はステップ３０１（情報の収集と分析）を続行する。
【００３３】
安全モジュール１５０が危険な状況を検出した場合、安全モジュール１５０は、まず、危険な状況を検出したことを制御モジュール１４０に通知することができる（ステップ３０３）。しかしながら、検出された危険状況について制御モジュール１４０に通知することは必ずしも必要ではない。安全モジュール１５０は、「サイレントオブザーバ」としても機能し、制御モジュール１４０に通知することなく危険状況を検査することができる。さらに、安全モジュール１５０は、制御モジュール１４０が、検出された危険状況に適切に応答しているかどうかを検査してもよい。すなわち、安全モジュール１５０は、制御モジュール１４０が、ロボット１００が障害物（または、立ち下がりエッジなど）に向う（それにより危険状況を悪化させる）ように駆動モジュール１７０を駆動しているか、またはロボット１００が危険な状況から離れ、減速し、または停止するように駆動モジュール１７０を駆動しているかを検査することができる。この目的のために、安全モジュール１５０は、識別された危険状況に応じて、最初に、どの動きが原則としてロボット１００の事故につながり得るかを判定することができる（ステップ３０４）。たとえば、事故につながる可能性のある動きは「危険な動き」に分類され、事故につながる可能性が低い動きは「安全な動き」と分類され得る。危険な動きは、例えば、ロボット１００が直接、立ち下がりエッジまたは障害物に向かって移動する動きである。また、ロボット１００が障害物にぶつかり、それにより、よろめき、落下、転倒するか、又は接触により障害物を損傷する可能性のある動きは、危険として分類することができる。
【００３４】
動きを安全または危険として分類した後、安全モジュール１５０は、ロボット１００の現在の動きが危険な動きまたは安全な動きであるかどうかを検査し得る（ステップ３０５）。安全モジュール１５０は、例えば、ロボット１００がまだ危険な状況に向かって動いているか、それとも障害物を通り抜ける可能性があるか、方向を変えて危険な状況から離れるかを検査することができる。この目的のために、セキュリティモジュール１５０は、例えば、制御モジュール１４０から駆動モジュール１７０に送信される制御信号を評価することができる。代わりに、または追加で、駆動モジュールの動きを直接評価することもできる（たとえば、ホイール位置、ホイールの回転速度など）。安全モジュール１５０が、ロボット１００が（さらに）危険な動きをしていないと判断した場合、何もせず、安全モジュール１５０はステップ３０１の動作に進む。しかしながら、ロボット１００が危険な動きをしていることを安全モジュールが認識すると、ロボット１００および周囲の物体の安全を確保し、事故を回避または少なくとも軽減する対策を開始する（ステップ３０６）。対策は、例えば、制御モジュール１４０の制御コマンドを安全モジュール１５０の制御コマンドで上書きすること、または駆動モジュール１７０をロボット１００の電源（バッテリー）から切断することを含み得る。駆動モジュール１７０が電源から切断されると、ロボット１００は現在の位置で停止する。安全モジュール１５０の制御コマンドは、例えば、ロボット１００を現在の位置で停止させる停止信号を含んでもよい。しかしながら、安全モジュール１５０の制御信号は、例えば、ロボット１００にその方向および／またはその速度を変化させる、方向および／または速度コマンドを含むこともできる。たとえば、移動する物体がロボットの意図した経路を横切るときに速度を下げることで、事故を回避できる。多くの場合、例えば、ロボット１００が速度を変えずに、わずかにまたはそれ以上に方向を変えれば十分である可能性がある。ロボット１００が完全に反対の方向に移動すること、すなわち、例えば、１８０°回転または逆走することも考えられる。ただし、速度の低下も方向の変更も事故状況の回避につながらない場合（たとえば、障害物がすでに近すぎる場合）、通常は、ロボット１００を停止（緊急停止）することで事故を確実に防止することができる。
【００３５】
制御モジュール１４０と安全モジュール１５０の両方が駆動コマンド１７０に制御コマンドを送信する場合、例えば、制御モジュールの制御コマンドは無視され、安全モジュール１５０の制御コマンドのみが考慮される。その結果、制御モジュール１４０の制御コマンドは、いわば上書きされたり、却下されたりする可能性がある。しかしながら、安全モジュール１５０が制御コマンドを送信しない限り、制御モジュール１４０の制御コマンドが考慮され得る。安全モジュール１５０は、検出された危険な状況で、特に、制御モジュール１４０が検出された危険な状況で適切に応答しない場合にのみ制御コマンドを送信するように構成されているため、制御モジュール１４０の制御コマンドは、そのような危険な状況でのみ安全モジュール１５０の制御コマンドによって却下される。
【００３６】
この場合、安全モジュール１５０は、対策についての情報を制御モジュール１４０に通知することが（オプションで）可能である（ステップ３０７）。制御モジュール１４０は、通知の確認をしてもよい（ステップ３０８）。通知の確認は、例えば、認識された危険な状況に適合した修正された制御コマンドを制御モジュール１４０が駆動モジュール１７０に送信することによって行うことができる。しかしながら、制御モジュール１４０が安全モジュール１５０に直接、確認を送信することも可能である。そのような確認時に、例えば、安全モジュール１５０によって中断された電源が復帰され得る。
【００３７】
例えば、所定の時間（例えば、１秒）後に制御モジュール１４０から応答がないか有効な応答がない場合、安全モジュール１５０は、ロボット１００の安全な動作がもはや保証されないと想定し得る。この場合、ロボット１００は、オプションで永久的に停止されてもよい（ステップ３０９）。ロボット１００が安全モジュール１５０への対策として以前に停止された場合、例えば再び動かされることなく、ロボット１００の電源がオフにされてもよい。対策として、ロボット１００の動きに変化をもたらす制御コマンドが安全モジュール１５０によって発行された場合、ロボット１００は、応答がない場合に停止およびスイッチオフすることができる。例えば、リスタートは、ユーザが積極的に許可していから、又は、ユーザまたは技術者によってロボット１００が修理されて（例えば、センサのクリーニング）から、可能となり得る。
【００３８】
本発明の実施形態によれば、制御モジュール１４０は、ロボット１００のさらなる動作を可能にするために、安全モジュール１５０により危険と分類される動きを実行させる要求を安全モジュール１５０に送信することができる。この要求は、制御モジュール１４０が安全モジュール１５０によって危険な動きに対する対策を通知された後に行われ得る。代替的または追加的に、要求を予防措置として行うことができ、これにより計画された動きについて安全モジュール１５０に事前に通知され得る。その結果、たとえば、計画された動きの中断を回避できる。安全モジュール１５０は、この要求を検査し、要求された動きが許可されるかどうかを制御モジュール１４０に通知し得る。センサモジュール１２０のセンサは、多くのロボットにおいて、ロボット１００の前方への移動、すなわち、通常の移動方向、すなわちロボット１００の前の領域の方向のみを測定するように構成されている。つまり、ロボット１００の背後の領域に関する情報をまったく提供しないか、非常に限られた情報のみを提供し得る。例えば、ロボット１００の逆方向の走行は、例えば、５ｃｍ未満または１０ｃｍ未満の非常に短い距離だけが安全であると考えられ得る。したがって、これより長い逆方向の走行は、例えば、安全モジュール１５０によって不許可とされ得る。しかし、ロボット１００がその電力供給を再充電できる基地局に到着するとき、又は離れるとき、例えば、より長い逆方向の走行が必要になる場合がある。原則として、安全モジュール１５０は、この場合、基地局への安全な到着および基地局からの離脱が可能なようにユーザによって基地局が適切に配置されたと想定することができる。ロボット１００が基地局に到着するか、基地局を離れるかしなければならず、このためにより長い逆方向の走行が必要な場合、制御モジュール１４０は安全モジュール１５０に対応する要求を送ることができる。次に、安全モジュール１５０は、例えば、ロボット１００が実際に基地局にいるかどうかを検査することができる。例えば、このために、ロボット１００の対応する充電接点に電圧が印加されているかどうかを確認できる。代替として、例えば、基地局にドッキングするとき、接触スイッチが閉じられるように構成できる。したがって、安全モジュール１５０は、接触スイッチが閉じているかどうかを検査することができる。これらは単なる例である。ロボット１００が基地局にいるかどうかは、さらに他の適切な方法で確認することができる。安全モジュール１５０は、ロボット１００が基地局にいることを検出すると、基地局を離れるのに必要な逆方向の走行の距離が通常の許容距離を超える場合であっても、それを許可し得る。しかしながら、ロボット１００が基地局にいないことを安全モジュール１５０が検出した場合、逆方向の走行の通常許可された距離のみが許可され得る。これは単なる例である。安全モジュール１５０が、危険であると分類された動きを例外的に安全であるとみなし、それを許可する様々な他の状況が考えられる。
【００３９】
本発明のさらなる実施形態によれば、安全モジュール１５０は、自己テストを実行するように構成されている。この場合、自己テストは、例えば、セキュリティモジュール１５０に属するメモリモジュールの読み取りおよび書き込みテストを有することができる。そのような自己テストが失敗した場合、ロボット１００の動作がユーザによって許可されるまで、ロボット１００は永久的に停止され、電源がオフにされ得る。自己テストに失敗した後は、原則としてロボット１００の安全な動作が保証されない。自己テストは、たとえば、様々な部品の冗長構成によって実現することもできる。したがって、例えば、安全モジュール１５０のプロセッサおよび／またはメモリモジュールが重複して有することができ、両方のプロセッサで危険検出ソフトウェアを実行することが可能である。両方のプロセッサの結果が同一であるか、許容できる偏差がわずかである限り、セキュリティモジュール１５０は適切に機能すると想定できる。
【００４０】
本発明の別の実施形態によれば、安全モジュール１５０は、センサモジュール１２０のセンサの信頼できる動作を監視するように構成されてもよい。この場合に、安全モジュール１５０に情報を提供するセンサのみを監視すれば十分であり得る。このセンサの監視により、センサが、たとえば欠陥または汚れによって、誤ったデータまたは信頼できないデータを供給しているかどうかを検出できる。この場合、監視されるセンサは、誤動作を個別に検出し、これらを安全モジュール１５０に報告するように構成され得る。代替的または追加的に、センサは、センサが完全に機能している限り、意味のある測定データのみを安全モジュール１５０に供給するように構成され得る。例えば、フロアまでの距離の一般的な値ではなく、フロアまでの距離がゼロ（または無限大）である場合、フロアクリアランスセンサは機能しないことがわかる。代替的または追加的に、セキュリティモジュール１５０は、センサから受信したデータの一貫性をチェックし得る。例えば、安全モジュール１５０は、ロボット１００の動きを決定するために使用されるセンサデータが、制御モジュール１４０によって送信された制御コマンドと一貫性があるかどうかを検査してもよい。１つまたは複数の障害のあるセンサ信号が検出された場合、ロボット１００の安全な動作を保証できないため、ユーザが再び動作を許可するまでロボットを永久に停止し、電源を切ることができる。
【００４１】
危険な動きは、直接のセンサ測定に基づいて安全モジュール１５０によって決定し得る。直接のセンサ測定は、例えば、フロアクリアランスセンサによる測定である。しかし、解釈されたセンサ測定に基づいて危険な動きを判断することもできる。解釈されたセンサ測定は、例えば、ロボット１００のカメラによる記録の画像認識によって検出されたオブジェクトである。例えば、ロボット１００は、ロボット１００の環境における標識または人物およびそれらの動きを検出するように構成されてもよい。標識は、例えば、新しく洗浄された、したがって滑りやすいフロアを警告する、設置された警告標識であり得る。そのような、主にフロアに設置された警告標識は、たとえばその形状に基づいて、そのように認識され得る。警告標識の表記（「注意、滑る危険」など）または警告標識に付けられたマーク、例えばＱＲコード（登録商標）（クイックレスポンスコード）等が検出され得る。検出された標識に関する情報は、安全モジュール１５０に送信される。安全モジュール１５０は、この情報を使用して状況を評価し、必要に応じて、ロボットの動きを評価するための基準を調整し得る。例えば、滑りやすい床が検出された場合、安全モジュール１５０は、安全と見なされるロボット１００の最大速度を低下させ得る。
【００４２】
しかしながら、ステップ３０４では、危険な動きの代わりに安全な動きが決定され得る。次に、ステップ３０５で、安全モジュール１５０は、ロボット１００がそのような安全な動きを行っているかどうかを確認することができる。安全と検出された動きと一致するいかなる動きもロボット１００が行っていないことが認識される場合、対策が開始され得る。
【００４３】
原則として、既知の危険な状況は、説明した方法で検出できる。既知の危険な状況は、ロボット１００の安全性を確認するためのテスト状況で目的に合致するように調整できる。例えば、そのような試験では、ロボット１００は、潜在的に危険な状況に意図的に持ち込まれ得る（例えば、ロボットを立ち下がりエッジの近くに配置する）。次に、制御モジュール１４０が駆動モジュール１７０に誤ったおよび／またはランダムな制御コマンドを送信する場合をシミュレートすることができる。その後、安全モジュール１５０が確実に事故を防止できるかどうかを観察することができる。
【００４４】
図４は、自律移動ロボット１００の下側の平面図を例示的に示している。図４は、清掃ロボットの一例を示しており、ロボットの清掃モジュールは、明確にするために示されていない。図示されたロボット１００は、駆動モジュール１７０に属する２つの駆動輪１７１と、前輪１７２とを有する。前輪１７２は、例えば従動車輪であってもよく、それ自体は駆動力を持たず、フロア上でのロボット１００の動きに伴って動くだけである。前輪１７２は、フロアに実質的に垂直な軸を中心に３６０°回転可能であり得る（回転方向は図４に破線の矢印で示されている）。駆動輪１７１はそれぞれ、電気駆動装置（例えば、電気モーター）に接続され得る。駆動輪１７１の回転により、ロボット１００は前進する。ロボット１００は、フロアクリアランスセンサ１２１をさらに含む。図４に示す例では、ロボット１００は、３つのフロアクリアランスセンサ１２１Ｒ、１２１Ｍ、１２１Ｌを有する。第の１フロアクリアランスセンサ１２１Ｒは、例えば、ロボット１００の右側（進行方向に見て）に配置される。このとき、第１のフロアクリアランスセンサ１２１Ｒは、ロボット１００を前部と後部とに等分する中心軸ｘ上に配置する必要はない。例えば、第１のフロアクリアランスセンサ１２１Ｒは、中心軸ｘからわずかに前方に配置され得る。例えば、第２のフロアクリアランスセンサ１２１Ｌは、ロボット１００の左側（移動方向に見て）に配置される。この場合、第２のフロアクリアランスセンサ１２１Ｌも中心軸ｘ上に配置する必要はない。第２のフロアクリアランスセンサ１２ＩＬも同様に、中心軸ｘからわずかに前方に位置してもよい。例えば、第３のフロアクリアランスセンサ１２１Ｍは、ロボット１００の正面中央に配置され得る。例えば、少なくとも１つのフロアクリアランスセンサ１２１が各車輪の前に配置されており、前方に走行するときに車輪が立ち下がりエッジを通過する前に立ち下がりエッジが検出されるようになっている。
【００４５】
フロアクリアランスセンサ１２１は、ロボット１００のフロアまでの距離を検出するように構成され、または少なくとも一定の間隔内にフロア表面が存在するかどうかを検出するように構成される。ロボット１００の通常の動作中、フロアクリアランスセンサ１２１の距離、すなわちロボット１００のフロアまでの距離はわずかしか変化しないため、フロアクリアランスセンサ１２１は通常、比較的均一な値を供給する。特に、滑らかなフロアでは、通常、広範囲でフロアまでの距離はほぼ同じままである。例えば、駆動輪１７１および前輪１７２が沈む得るカーペット上では、値のわずかな偏差が生じる可能性がある。その結果、フロアクリアランスセンサ１２１を備えたロボット本体の地面までの距離が減少し得る。階段などの立ち下がりエッジは、例えば、フロアクリアランスセンサ１２１の少なくとも１つによって供給される値が急激に増加したときに検出することができる。例えば、少なくとも１つのフロアクリアランスセンサ１２１によって測定された値が所定のしきい値を超えて増加する場合に、立ち下がりエッジを検出することができる。フロアクリアランスセンサ１２１は、例えば、光学信号または音響信号用の送信機と、送信された信号の反射を検出するように構成された受信機とを含み得る。可能な測定方法には、フロア面から反射された信号の強度の測定、三角測量、または送信された信号とその反射の通過時間の測定が含まれる。たとえば、本発明の一実施形態によれば、フロアクリアランスセンサ１２１は、フロア面までのセンサの正確な距離を決定せず、フロア面が所定の距離内で検出されたかどうかを示すブール信号を提供するだけである（たとえば、最大５ｃｍの距離で検出されるフロア面）。
【００４６】
自律移動ロボットによって実行される一般的な動きには、前方への動き、右または左の回転、およびこれらの動きの組み合わせが含まれる。ロボット１００がそのような運動を行う際に立ち下がりエッジに向かって動くとき、その運動は、少なくとも１つのフロアクリアランスセンサ１２１によって検出される。単純な幾何学的考察により、ロボット１００の事故（この場合は衝突）につながる可能性のある動きを決定することが可能である。
例えば、ロボット１００の横に配置された第１または第２のフロアクリアランスセンサ１２１Ｒ、１２１Ｌがトリガーされると、ロボット１００は最大で、駆動輪１７１（車輪支持点）とフロアクリアランスセンサ１２１Ｒ、１２１Ｌとの間の距離に対応する第１の距離Ｌ１だけ前方に移動する。たとえば、ロボット１００の前面にある第３のフロアクリアランスセンサ１２１Ｍがトリガーされた場合、ロボット１００は最大で、前輪１７２（車輪支持点）と第３のフロアクリアランスセンサ１２１Ｍに対応する第２の距離Ｌ２だけ前方に移動できる。したがって、ロボット１００は、全速力で走行中に立ち下がりエッジを検出し、減速のための制御信号を生成し、立ち下がりエッジの前で（すなわち、第１または第２の距離Ｌ１、Ｌ２内で）停止できなければならない。特に、必要な個々の部品の反応時間、すなわち センサモジュール１２０、制御モジュール１４０、安全モジュール１５０および駆動モジュール１７０、ならびにロボット１００の速度、ロボット１００を減速させる（負の）加速および関連する制動距離が考慮される。例えば、安全モジュール１５０は、地上クリアランスセンサ１２１の少なくとも１つがトリガーされる限り、ロボット１００の後退のみを可能にするように構成されてもよい。フロアクリアランスが許容最大値を超えていることが検出されると、フロアクリアランスセンサがトリガーされる。
【００４７】
図４に示す例では、第２の距離Ｌ２は第１の距離Ｌ１よりも短い。第３のフロアクリアランスセンサ１２１Ｍがトリガーされた後、立ち下がりエッジの前でロボット１００が適時に停止することを保証できるようにするために、安全モジュール１５０は、例えば、第３のフロアクリアランス１２１Ｍがトリガーされるやいなや、制御信号を出力してロボット１００を停止させる。例えば、安全モジュール１５０は、時間がかかりすぎる可能性があるため、最初に制御モジュール１４０の正しい挙動を検査しない場合がある。ロボット１００の停止後に初めて、安全モジュール１５０は、例えば、制御モジュール１４０が、認識された状況に適した制御コマンドを、同様に、駆動モジュール１７０に送信するかどうかを検査することができる。そのような状況に適した制御コマンドには、たとえば、ロボットを停止する、後退させる、または立ち下がりエッジから遠ざかるように方向転換するコマンドが含まれる。安全モジュール１５０は、制御モジュール１４０が適切な制御コマンドを発行していることを認識すると、ロボット１００の制御を完全に制御モジュール１４０に任すか、または制御モジュール１４０に返すことができる。しかしながら、安全モジュール１５０が、制御モジュール１４０が危険な動き（例えば、前進）を実行するための制御コマンドを発行していることを認識する場合、ロボットの制御を保持又は引き継ぎ得る。例えば、上記のように、安全モジュール１５０は、更に、ロボット１００に停止するように命令し、駆動モジュール１７０への電源を切断し、または制御モジュール１４０の制御コマンドを無効にしてロボット１００の安全な移動を引き起こす制御コマンドを発行する（例えば、後退の実行）。
【００４８】
第１または第２のフロアクリアランスセンサ１２１Ｒ、１２１Ｌがトリガーされる場合、例えば、危険を回避するためにロボット１００が停止するまでより多くの時間が利用可能であるため、危険な状況に対する制御モジュール１４０の反応を待つことで十分であり得る。例えば、そのような場合、安全モジュール１５０は、ロボット１００が第３の距離Ｌ３を移動するのを待つことができる（例えば、Ｌ３ ＝ Ｌ１−Ｌ２）。このとき、ロボット１００は、事故を回避するために利用可能な第２の距離Ｌ２に必要な時間のみを有する。したがって、第３の距離Ｌ３に必要な時間の間、安全モジュール１５０は、制御コマンドを上書きしたりロボット１００を停止したりすることなく、制御モジュール１４０を許可することができる。この間に制御モジュール１４０が適切に応答する場合、安全モジュール１５０の介入は不要であり、安全モジュール１５０は、受動的な状態のままである。第３の距離Ｌ３が既に走行されたかどうかは、例えば、経過時間および／または走行距離計により、ロボット１００の可能な最大速度に基づいて決定することができる。例えば、安全モジュール１５０は、制御モジュール１４０が第１または第２のフロアクリアランスセンサ１２１Ｒ、１２１Ｌによる立ち下がりエッジの検出の後１０ｍｓ以内にロボット１００を停止および／または立ち下がりエッジから遠ざかる向きに走行させない場合は、ロボット１００を停止し得る。
【００４９】
コストの理由から、図４に示すように、ロボット１００は、ロボット１００の前部に地上クリアランスセンサ１２１しか持たない場合も多く、その場合には、立ち下がりエッジはロボット１００が前進するときにのみ検出できる。ロボット１００は主に前進方向に前進するので、これは通常、立ち下がりエッジに関してロボット１００の安全な動作を確保するのに十分である。状況によっては、障害物や立ち下がりエッジによって前方への動きがブロックされる場合がある。そのような状況では、この状況から抜け出すために、ロボット１００は、全体として、またはその駆動輪１７１の少なくとも１つにより後方に移動することは避けられない可能性がある。しかし、ロボット１００がこの方向で自身の道を知っている限り、ロボット１００は、後方にしか走行できない。ロボット１００がその道を知らない場合、ロボット１００の後部にフロアクリアランスセンサがないため、例えば、ロボット１００の後ろの立ち下がりエッジを認識できず、事故の危険がある。ロボット１００が最後に移動した距離は、例えば直線として近似することができる。後進は、例えば、第４の距離Ｄに対して安全であると認識され得る。ここで、Ｄは、駆動輪１７１と、ロボット１００の前側領域で地上距離センサ１２１が配置される円周Ｓとの間の距離である。ロボットが最後に第４の距離Ｄ未満で前方に移動した場合、前方に移動した最後の距離よりも大きくない距離だけ後退しても良い。前進と後退を組み合わせた場合、実際に移動した距離を決定し、必要な後退移動を考慮に入れることができる。
【００５０】
例えば、安全モジュール１５０は、その環境に関する情報を持たず、その背後に立ち下がりエッジがあるかどうかを知らない可能性があるため、ロボット１００の電源投入直後に後方への移動を許可しないように構成され得る。例えば、ロボット１００は、ユーザによって、テーブルの端近くのテーブル上に、または階段や踊り場に置かれた可能性がある。この際に、例えば、前方方向が障害物または立ち下がりエッジによってブロックされている場合に、安全モジュール１５０は、ロボット１００の後方への動きをブロックすることができる。例えば、上述のように、制御モジュール１４０は、基地局から離れる向きにロボット１００を走行させようとする場合、対応する要求を安全モジュール１５０に送信することができる。安全モジュール１５０が、そのような要求に従ってロボット１００が実際に基地局にいることを検証する場合には、安全モジュール１５０は、基地局から離れる方向に移動するのに必要とされる距離を後退移動の際に許可する。
【００５１】
ロボット１００の動きは、例えば走行距離計（例えば、ホイールエンコーダ）などのさまざまなセンサによって決定され、および／または制御モジュール１４０によって生成され、安全モジュール１５０によって記録された制御コマンドに基づいて計算されてもよい。この場合、例えば、ロボット１００が移動した、所定の時間間隔および／または移動間隔ごとの距離が保存され得る。さらに、例えば、安全なフロアをより良く推定するために、フロアクリアランスセンサ１２１の位置または経路を保存することができる。
【００５２】
本発明の一実施形態によれば、ロボット１００が、予め、少なくとも円周Ｓの半径よりも大きい距離だけ前に移動した場合には、フロアクリアランスセンサ１２１が配置される円周Ｓは、安全に走行可能な領域と見なすことができる。この場合、安全モジュール１５０は、ロボット１００が後進駆動中（及び後進駆動と組み合わされた短い前進運動中）に後退方向の移動により周囲Ｓから離れることを（例えば、制御コマンドおよび／または走行距離計の読み取りに基づいて）検出したときには、ロボット１００を停止するように構成され得る。
【００５３】
衝突を避けるために、いくつかのセンサを共有して障害物を検出できる。例えば、センサモジュール１２０は、障害物を非接触で検出するように構成された光学センサ（例えば、レーザースキャナ）を含む。センサモジュール１２０は、例えば、接触した場合に視覚的に検出が困難な障害物（例えばガラスドア）を検出するように設計された触覚センサを備えてもよい。たとえば、触覚センサには、障害物に触れたときに閉じるように構成された接触スイッチを含み得る。例えば、触覚センサは、ロボット１００の本体が障害物に衝突する前にロボット１００が減速することを可能にするスプリング偏位をさらに含むことができる。このような場合、安全モジュール１５０は、立ち下がりエッジの検出時にフロアクリアランスセンサ１２１をトリガーするときと同様に振る舞う。
【００５４】
例えば、安全モジュール１５０は、ロボットの近くにある障害物を監視するように構成され得る。例えば、ロボット１００から所定の距離内に障害物が検出された場合、安全モジュール１５０は、制限速度を超える速度での動きを阻止し得る。所定の距離は、障害物が検出される方向に依存し得る。例えば、通常、ロボット１００の背後で検出された障害物によりロボット１００の前方への動きに制限が加えられない。制限速度は、障害物までの距離および／または障害物が検出される方向に依存し得る。
【００５５】
センサモジュール１００は、例えば、生物、特に人またはペットおよびそれらの動きを検出するように構成されたセンサを備え得る。このために、センサは、例えば、周囲の画像を撮るように構成されたカメラを有し得る。例えば、顔認識および／または放射赤外線により（人または動物の体温に基づいて）、記録された画像から人および／または動物を認識することができる。物体の位置は、１つの固有の時点で決定することも、複数回の時点で連続して決定することもできる。これにより、物体が動いているかどうか、物体が動いている場合には、どれくらいの速度で動いているかを判断できる。対象の現在の速度から、この対象の未来の時点の可能な位置を決定できる。次いで、このデータに基づいて、安全モジュール１５０は、物体および／またはロボット１００に対する脅威を判断し、決定された将来の位置へのロボット１００の移動を防止することができる。
【００５６】
安全モジュール１５０は、物体が検出されたときに、物体がどの速度でどの方向に移動するかに関係なく、所定の制限値より大きい速度および／または加速度を防ぐように構成することもできる。例えば、最大速度を制限することにより、物体の予期しない動きに応答するために、ロボット１００が利用できる時間が増加する。同時に、最高速度を制限すると、速度が低下によりロボット１００の運動エネルギーが低下するため、人や動物の負傷やロボットや物体の損傷のリスクが低減する。ロボット１００の加速を制限することにより、環境内の人々はロボット１００の挙動をよりよく評価し、ロボットの動きによりよく応答することができ、それによって事故のリスクも低減する。
【００５７】
例えば、運搬ロボットなどの自律移動ロボット１００のセンサモジュール１２０は、ロボット１００が、どんな物体（例えばグラスまたは皿）を運んでいるかを検出するように構成されたセンサを含み得る。この情報に基づいて、ロボットの動きが適合され得る。例えば、ロボット１００は、何も運ばない場合、より速く加速し、より速い速度で移動し得る。たとえば、皿などの平らな物体を運ぶ場合、グラスや瓶を運ぶ場合よりも速く加速し得る。
【００５８】
たとえばテレプレゼンスロボットなどの自律移動ロボット１００は、図１（ａ）、図１（ｂ）、および図４に示されるロボットとは対照的に、背が高くてスリムな構成を有し得る（図１（ｃ）および図１（ｄ）を参照）。しかしながら、この構成により、ロボット１００は転倒しやすい可能性がある。ここで、ロボット１００の安定性を決定するのは、その重心の位置、フロア表面との接触点、およびロボット１００に作用する力および回転モーメントである。接触点は、例えば、駆動モジュール１７０の駆動輪である。力および回転モーメントは、例えば、重力、平坦または傾斜したフロア表面でのロボット１００の加速力、衝撃などのロボット１００に作用する外力、ならびに平坦または傾斜したフロア表面でのロボットの位置により決定される。ロボット１００の位置の安定性に関する条件を分析する方法は一般に知られており、したがって、ここではさらに説明しない。
【００５９】
ロボット１００の現在の姿勢が安定しているかどうかは、例えば、ロボット１００の少なくとも１つの点での慣性測定ユニットＩＭＵ（ｉｎｅｒｔｉａｌ  ｍｅａｓｕｒｅｍｅｎｔ  ｕｎｉｔ）の現在の加速度および角速度の測定によって決定することができる。たとえば、慣性測定ユニットＩＭＵはロボットの重心の近くに配置され得る。さらに、ロボット１００の姿勢は、例えば、ロボット１００が平坦なフロア表面上にあるか傾斜したフロア表面上にあるかにより判定することができる。原則として、傾斜面上に立つロボット１００は転倒しやすくなる（ロボット１００の姿勢の安定性の損失、図１（ｃ）および図１（ｄ）を参照）。同様に、ロボット１００の重心の位置を決定することができる。例えば、テレプレゼンスロボットでは、上部に取り付けられたマルチメディアユニット１０１は、ユーザのニーズに合わせて（例えば、ユーザが立っているか、または座っているかにより）高さを変えることができる。その結果、ロボットの重心の位置が変化し、それによりロボット１００の動力学と姿勢安定性が変化する。
【００６０】
安全モジュール１５０は、制御モジュール１４０が、ロボット１００の姿勢の安定性を危険にする制御コマンドを駆動モジュール１７０に送信しないことを保証するように構成され得る。この目的のために、安全モジュール１５０は、例えば、制御モジュール１４０によって発行された制御コマンドに基づいてロボット１００に作用し得る力と回転モーメント、およびこれらがロボット１００の姿勢安定性に適合するかどうかを決定するように構成され得る。安全モジュール１５０は、ロボット１００の姿勢安定性を危険にする可能性のある制御コマンドを認識すると、例えば、対策（安全対策）を開始することができる。この対策には、たとえばロボット１００の停止が含まれ得る。加えて、制御モジュール１４０は、対策を通知され得る。ロボット１００の姿勢安定性を危険にしる可能性のある制御コマンドの例は、ロボット１００の加速が速すぎることである。これは、ロボット１００を転倒させる可能性があるためである。最大可能加速度は、ロボット１００の安定性の分析に基づいて比較的容易に決定され得る。最大可能加速度は、たとえば、ロボット１００の姿勢（傾斜）、支持点の位置に対する加速度の方向（前方加速、制動、円弧上の移動など）、およびロボットの重心の位置に依存する。例えば、ロボット１００は、斜面を下る場合の方が登る場合よりも加速が高くなり得る。ロボット１００は、一般に、ロボットの重心が低い場合の方が、ロボットの重心が高い場合よりも強く加速することができる。安全モジュール１５０によって防止できる動きの別の例は、急勾配の傾斜路の走行である。例えば、安全モジュール１５０は、ロボットが水平から所定の角度よりも大きく傾いたときに、ロボット１００のさらなる前方への動きを防止することができる。この傾斜角は、ロボットの重心の高さに依存し得る。
【００６１】
しかしながら、ロボット１００が予測できないほど不安定な姿勢になり、転倒する状況が生じ得る。例えば、人が通り過ぎることができるようにロボットが停止し、その際に人がロボットに衝突することもあり得る。この衝撃に対応するロボット１００の自発的な運動で、ロボット１００が転倒するのを防ぐことができる。例えば、安全モジュール１５０は、加速度および姿勢測定に基づいてそのような衝撃を検出するように構成され、その後、制御モジュール１４０が衝撃に適合した制御コマンドを送信しているかどうかを検査する。衝撃を補償し、ロボット１００を安定させるようなロボット１００の動きが必要であるため、制御コマンド「何もしない」または「停止」は、例えば、原則として、危険として分類し得る。例えば、安全モジュール１５０は、制御モジュール１４０の応答を待つのに時間がかかりすぎることを検出し、そのような場合には、制御モジュール１４０が応答するのを待たずに、衝撃に適合したロボット１００の動きをもたらす制御コマンドを駆動モジュール１７０に送信し得る。安全モジュール１５０は、制御モジュール１４０が衝撃に不正確に応答または応答していないことを検出した場合、駆動モジュール１７０に衝撃に適合した動きをもたらす制御コマンドを送信することができる。
【００６２】
安全モジュール１５０は、作業モジュール１６０の機能を監視するようにさらに構成されてもよい。これは、特に、作業モジュール１６０の活動が、作業モジュール１６０自体のより大きな動きおよび／または駆動モジュール１７０によるロボット１００の動きに関連する場合に有利となり得る。
【００６３】
例えば、作業モジュール１６０は、ごみを収集するためのブラシを含み得る。回転ブラシは、例えば、散らばっている靴の靴紐、カーペットの縁、または電化製品のケーブルを巻き込み、それによってブロックされるリスクがある。ブラシの回転は、例えば回転数エンコーダによって測定できる。ブラシの回転が検出されなくなることで、ブラシがブロックされたことを検出できる。また、たとえば、ブラシモータの電力消費を特定し、それによってブラシがブロックされたことを検出することもできる。
【００６４】
ブロックされたブラシを解放するためのさまざまな方法が知られている。例えば、制御モジュール１４０は、ブラシを空転させ、ロボット１００を逆走させ、その際にケーブルなどが再び巻き戻される。しかし、この方法には危険が伴う。ブラシがブロックされた状態でのロボット１００の走行は、基本的に事故につながる可能性がある。ブラシに巻き付けられたケーブルが、例えば電気機器のケーブルである場合、ロボットが逆走の際に電気機器を引っ張る危険性が基本的にある。このような電気機器が高い位置、たとえば棚に配置されている場合、これはフロアに落ちて損傷する可能性がある。したがって、安全モジュール１５０は、例えば、ブラシを解放する手順が実行されるときにブラシがまだブロックされているかどうかを検出するように構成されてもよい。このような場合、物体に損傷を与えることなく前進も後退もできないため、ロボット１００の移動が停止され得る。別の可能性は、ロボット１００がその位置を変えることなく、ケーブルなどをブラシから解放するために、通常の移動方向とは反対の方向にブラシを回転させることである。
【符号の説明】
【００６５】
１００…自律移動ロボット
１０４…運搬台
１２０…センサモジュール
１２１…フロアクリアランスセンサ
１３０…通信モジュール
１４０…制御モジュール
１５０…安全モジュール
１６０…作業モジュール
１７０…駆動モジュール
１７１…駆動車輪
２００…ヒューマン・マシン・インターフェース
３００…外部デバイス
【図１】
2020514858.tif 000003
【図２】
2020514858.tif 000004
【図３】
2020514858.tif 000005
【図４】
2020514858.tif 000006
【国際調査報告】
2020514858.tif 000007
2020514858.tif 000008
2020514858.tif 000009
2020514858.tif 000010
2020514858.tif 000011
2020514858.tif 000012
2020514858.tif 000013
2020514858.tif 000014