JPWO2019241811A5 - - Google Patents

Download PDF

Info

Publication number
JPWO2019241811A5
JPWO2019241811A5 JP2020570544A JP2020570544A JPWO2019241811A5 JP WO2019241811 A5 JPWO2019241811 A5 JP WO2019241811A5 JP 2020570544 A JP2020570544 A JP 2020570544A JP 2020570544 A JP2020570544 A JP 2020570544A JP WO2019241811 A5 JPWO2019241811 A5 JP WO2019241811A5
Authority
JP
Japan
Prior art keywords
sensor
autonomous mobile
mobile robot
robot
navigation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020570544A
Other languages
Japanese (ja)
Other versions
JP2021527889A (en
Publication date
Priority claimed from DE102018114892.5A external-priority patent/DE102018114892B4/en
Application filed filed Critical
Publication of JP2021527889A publication Critical patent/JP2021527889A/en
Publication of JPWO2019241811A5 publication Critical patent/JPWO2019241811A5/ja
Pending legal-status Critical Current

Links

Description

本発明の実施形態は、表面処理(例えば、床の清掃)、例えば、物体の運搬または領域の監視および検査を行うロボットなどの自律移動サービスロボット、およびそのような自律移動ロボットの制御方法に関する。 Embodiments of the present invention relate to autonomous mobile service robots such as robots that perform surface treatment (eg, floor cleaning), such as transporting objects or monitoring and inspecting areas, and control methods for such autonomous mobile robots.

近年、自律移動式ロボット、特にサービスロボットは、家庭環境だけでなく職場環境でもますます使用されている。例えば、自律移動ロボットは、床面の清掃、建物の監視、位置および活動に依存しない通信の実現、または物体の輸送に使用できる。 In recent years, autonomous mobile robots, especially service robots, are increasingly used not only in home environments but also in work environments. For example, autonomous mobile robots can be used to clean floors, monitor buildings, enable position- and activity-independent communications, or transport objects.

その際に、SLAM(Simultaneous Localization and Mapping:同時位置特定およびマッピング)アルゴリズムを使用してターゲットのナビゲーションをするため環境の地図を生成するシステムがますます使用されている(例えば、非特許文献1参照)。ロボットの制御と監視に使用されるアルゴリズムは、使用されるセンサとアクチュエータ、およびロボットの特定の形状に関して高度に最適化され得る。これには、実装されたソフトウェアが大規模な適応開発でしか再利用できないという欠点がある。別のアプローチでは、さまざまなハードウェア構成をサポートするため、ソフトウェアに様々なレベルの抽象化が組み込まれる。これらの解決は、多くの場合、計算量が多いため、より高価なハードウェアが必要になる。 In doing so, systems that generate maps of the environment for target navigation using the SLAM (Simultaneus Localization and Mapping) algorithm are increasingly being used (see, eg, Non-Patent Document 1). ). The algorithms used to control and monitor the robot can be highly optimized with respect to the sensors and actuators used and the particular shape of the robot. This has the disadvantage that the implemented software can only be reused in large-scale adaptive development. Another approach incorporates different levels of abstraction into the software to support different hardware configurations. These solutions are often computationally intensive and require more expensive hardware.

BH Durrant-Whyte and T. Bailey著、「Simultaneous Localization and Mapping (SLAM): Part I The Essential Algorithms」、IEEE Robotics and Automation Magazine、第13巻、第2号、99~110頁、2006年6月BH Durrant-Whyte and T.D. Bailey, "Simultaneus Localization and Mapping (SLAM): Part I The Essential Algorithms", IEEE Robotics and Automation Magazine, Vol. 2, pp. 6, 1999, pp. 13-99,

ますますインテリジェントなシステムを開発し市場に出すという要求と共に、自律移動ロボットで使用される行動ルーチンの複雑さは絶えず増大している。しかし、複雑さが増すと、通常は、多くの複雑なソフトウェアアプリケーションと同様に、エラーに対し動作異常を起こす可能性が高くなる。これは、ロボットが危険な状況を検出するためのセンサを有しているにもかかわらず、例えば故障、認識されないプログラミングエラーまたは外部からの望ましくない影響により、ナビゲーションソフトウェア及び制御ソフトウェアが、検出された危険な状況に適切に応答しないことを意味する。ロボットが考えられるすべての危険な状況に適切かつ正確に反応するということを証明することは、ナビゲーションソフトウェア及び制御ソフトウェアの複雑さが増すにつれてかなりの労力を要することになる。このような機能安全性の証明は、特定の用途では法律で要求される場合がある。機能安全性の要求もさまざまな規格の対象となっている(例えば、EN/IEC 61508およびEN/IEC 62061)。 With the demand to develop and market increasingly intelligent systems, the complexity of behavioral routines used in autonomous mobile robots is constantly increasing. However, as complexity increases, it is usually more likely to malfunction in response to an error, as with many complex software applications. This is because the navigation software and control software have been detected, for example due to a failure, unrecognized programming error or unwanted external influence, even though the robot has sensors to detect dangerous situations. It means not responding properly to dangerous situations. Proving that a robot responds appropriately and accurately to all possible dangerous situations will require considerable effort as the complexity of navigation and control software increases. Proof of such functional safety may be required by law for certain applications. Functional safety requirements are also subject to various standards (eg EN / IEC 61508 and EN / IEC 62061).

したがって、本発明の基礎となる目的は、とりわけ、安価で再利用可能なナビゲーションソリューション、および自律移動ロボットのための堅牢な安全機構を有する自律移動ロボット及び対応する制御方法を提供することである。 Therefore, an object underlying the present invention is, among other things, to provide an inexpensive and reusable navigation solution, and an autonomous mobile robot having a robust safety mechanism for the autonomous mobile robot and a corresponding control method.

上記目的は、請求項1に記載の自律移動ロボット及び請求項12に記載の方法によって達成される。様々な例示的な実施形態及びさらなる開発は、従属請求項の主題である。 The above object is achieved by the autonomous mobile robot according to claim 1 and the method according to claim 12. Various exemplary embodiments and further developments are the subject of the dependent claims.

以下に、自律移動ロボットが記載される。一実施形態によれば、自律移動ロボットは、制御信号を受信し、前記制御信号に従って前記自律移動ロボットを動かすように構成された駆動ユニットと、ナビゲーション特徴を検出するためのナビゲーションセンサと、ナビゲーションセンサに結合されたナビゲーションユニットと、を有する。このナビゲーションユニットは、ナビゲーションセンサから情報を受信し、自律移動ロボットの動きを計画するように構成される。自律移動ロボットは、さらに、ナビゲーションユニットによって計画された動きを表す動き情報を受信し、動き情報に基づいて制御信号を生成するように構成された制御ユニットを有する。自律移動ロボットは、さらに、制御ユニットに結合され、更なるセンサを有し、制御ユニットは、更なるセンサから更なるセンサ情報を受信する。制御ユニットは、更なるセンサ情報を前処理し、前処理されたセンサ情報を予め定義されたフォーマットでナビゲーションユニットに提供する。ナビゲーションユニットによる自律移動ロボットの動きの計画は、ナビゲーションセンサからの情報と、制御ユニットから提供された前処理されたセンサ情報に基づいて行われる。このように構成されたロボットは、ナビゲーションユニットと制御ユニットを完全に機能的に分離することができる。さらに、対応する方法が記載される。 The autonomous mobile robot is described below. According to one embodiment, the autonomous mobile robot receives a control signal and is configured to move the autonomous mobile robot according to the control signal, a navigation sensor for detecting navigation features, and a navigation sensor. It has a navigation unit, and is coupled to. This navigation unit is configured to receive information from the navigation sensor and plan the movement of the autonomous mobile robot. The autonomous mobile robot further has a control unit configured to receive motion information representing the motion planned by the navigation unit and generate a control signal based on the motion information. The autonomous mobile robot is further coupled to the control unit and has additional sensors, which receive additional sensor information from the additional sensors. The control unit preprocesses further sensor information and provides the preprocessed sensor information to the navigation unit in a predefined format. The planning of the movement of the autonomous mobile robot by the navigation unit is performed based on the information from the navigation sensor and the preprocessed sensor information provided by the control unit. The robot configured in this way can completely functionally separate the navigation unit and the control unit. In addition, the corresponding method is described.

安価で再利用可能なナビゲーションソリューション、および自律移動ロボットのための堅牢な安全機構を有する自律移動ロボット及び対応する制御方法が提供できる。 Inexpensive and reusable navigation solutions, and autonomous mobile robots with robust safety mechanisms for autonomous mobile robots and corresponding control methods can be provided.

例として、様々な自律移動ロボット及び様々な起こり得る危険な状況を示している。As an example, various autonomous mobile robots and various possible dangerous situations are shown. 自律移動ロボットの構成を例示するブロック図である。It is a block diagram which illustrates the structure of the autonomous mobile robot. 自律移動ロボットの制御ユニットの例示的な構造と、ナビゲーションユニットとモータ制御とのインターフェースのブロック図である。It is a block diagram of the exemplary structure of the control unit of an autonomous mobile robot, and the interface between the navigation unit and the motor control. 自律移動ロボットの下面の一例を示す上面図である。It is a top view which shows an example of the lower surface of an autonomous mobile robot.

本発明は、図に示される実施形態を用いて、以下でより詳細に説明される。図は必ずしも縮尺通りではなく、本発明は示されている態様に限定されない。むしろ、本発明の基礎となる原理を説明することに重点が置かれている。 The present invention will be described in more detail below with reference to the embodiments shown in the figure. The figures are not necessarily on scale and the invention is not limited to the embodiments shown. Rather, the emphasis is on explaining the underlying principles of the invention.

図1は、自律的に活動を実行し、地図によりその環境をナビゲートする自律移動ロボット100の様々な例、ならびに起こり得る危険な状況を示している。本願の意味における活動は、その環境におけるロボットの単なるナビゲーションを超えたものであり、例えば、床処理、床清掃、検査および監視活動、搬送作業、またはユーザの娯楽のための活動などが含まれる。 FIG. 1 shows various examples of an autonomous mobile robot 100 that autonomously executes activities and navigates its environment by a map, as well as possible dangerous situations. Activities in the sense of the present application go beyond the mere navigation of a robot in its environment and include, for example, floor treatment, floor cleaning, inspection and monitoring activities, transport operations, or activities for user entertainment.

図1(a)は、例えば、床面を掃除、特に床面のゴミを吸い取るために構成された掃除ロボットを示す図である。掃除ロボットは、通常、少なくとも3つの車輪(通常、そのうち2つが駆動される)で前方に移動する(図1(a)には図示せず)。さらに、掃除ロボットの裏側には、通常、ロボット100が床面上を移動する間に汚れを集めるための回転ブラシ及び/又は吸引ユニットなどが設けられている。図1(b)に示すように、階段の段差のような立ち下がりエッジを越えて転倒すると、掃除ロボットが損傷する可能性がある。加えて、ロボット100が、床面上に落下したり近くの物体又は人間にぶつかったりすると、床面、近くの物体、又は人間にも損傷が生じる可能性がある。したがって、一部の自律移動ロボット100は、転落を回避するために階段の段差などの立ち下がりエッジを適時に検出することができる床面距離センサ(図1には図示せず)を有している。床面距離センサは、床検出センサ又は、床センサとも呼ばれる。 FIG. 1A is a diagram showing, for example, a cleaning robot configured to clean a floor surface, particularly to suck up dust on the floor surface. The cleaning robot typically moves forward on at least three wheels (usually two of which are driven) (not shown in FIG. 1 (a)). Further, the back side of the cleaning robot is usually provided with a rotating brush and / or a suction unit for collecting dirt while the robot 100 moves on the floor surface. As shown in FIG. 1 (b), if the robot falls over a falling edge such as a step on a staircase, the cleaning robot may be damaged. In addition, if the robot 100 falls on the floor or hits a nearby object or human, the floor, nearby object, or human may also be damaged. Therefore, some autonomous mobile robots 100 have a floor distance sensor (not shown in FIG. 1) that can timely detect falling edges such as steps of stairs in order to avoid falling. There is. The floor distance sensor is also called a floor detection sensor or a floor sensor.

図1(c)はテレプレゼンスロボットの一例を示す図である。テレプレゼンスロボットは、通常、例えば、ディスプレイ、スマートフォン、タブレットなどのようなインターフェース101(ヒューマン・マシン・インターフェース(HMI)としても知られるユーザインターフェース)を有する。このインターフェース101は、ロボット100の垂直アーム102の上端に取り付けられている。垂直アーム102の下端には、駆動モジュール103を有するロボット本体が取り付けられている。ロボット100のスリムな形状の構成およびインターフェース101の垂直アーム102の上端部への取り付けにより、このようなテレプレゼンスロボットは比較的高い重心を有する。基本的に、ロボットは自身でバランスを取る。しかしながら、例えば、急勾配の表面上を移動するとき、ロボット100はひっくり返る可能性があり、これにより装置が損傷を受ける可能性がある。加速度が高すぎたり、敷居や段差を超えたりした場合でも、ロボット100の転倒が発生する可能性がある。また、ロボット100が傾いたり、転倒したりすると、周囲の床面、近くの物や人が損傷する可能性がある。テレプレゼンスロボットの傾く一例は、図1(d)に示されている。このため、テレプレゼンスロボットは、ロボット100の状態(特に傾斜)、加速度および/または角速度を決定するように構成されたセンサ(図1には図示せず)を有することができる。同様に、テレプレゼンスロボットは、ロボットの走行挙動を適合させてロボットの傾きを回避するために敷居(例えば、ドア敷居)又は段差を検出するセンサを含むことができる。 FIG. 1 (c) is a diagram showing an example of a telepresence robot. Telepresence robots typically have an interface 101, such as a display, smartphone, tablet, etc. (a user interface also known as a human-machine interface (HMI)). The interface 101 is attached to the upper end of the vertical arm 102 of the robot 100. A robot body having a drive module 103 is attached to the lower end of the vertical arm 102. Due to the slim shape of the robot 100 and the attachment of the interface 101 to the upper end of the vertical arm 102, such a telepresence robot has a relatively high center of gravity. Basically, the robot balances itself. However, for example, when moving over a steep surface, the robot 100 can tip over, which can damage the device. Even if the acceleration is too high, or if the threshold or step is exceeded, the robot 100 may fall. Further, if the robot 100 is tilted or overturned, the surrounding floor surface, nearby objects and people may be damaged. An example of tilting the telepresence robot is shown in FIG. 1 (d). For this reason, the telepresence robot can have sensors (not shown in FIG. 1) configured to determine the state (particularly tilt), acceleration and / or angular velocity of the robot 100. Similarly, the telepresence robot can include sensors that detect thresholds (eg, door thresholds) or steps to adapt the robot's running behavior and avoid the robot's tilt.

図1(e)は、補助ロボット、特に運搬ロボットの一例を示す図である。運搬ロボットは通常、運搬台104を有し、その上に、皿やグラスなどの搬送される物体が置かれる。運搬ロボットの裏面には、例えば車輪(図1(e)には示されていない)が設けられ、これにより運搬ロボットは移動することができる。このようなロボット100は、例えば、日常生活の中で高齢者を支援することができ、したがって高齢者が独立して生活することを可能にする。運搬ロボットにとって、輸送されるべき物体またはロボット100全体の傾斜を回避するために衝突が回避されることが基本的に重要である。この目的のために、ロボット100は、ロボット100の環境内の静止または移動する物体または人を検出するように(場合によっては関連センサ信号処理を用いて)構成された多種多様なセンサ(例えばレーザ距離計、光学三角測量センサ、カメラなど)を有することができる。 FIG. 1 (e) is a diagram showing an example of an auxiliary robot, particularly a transport robot. The transport robot usually has a transport table 104 on which a transported object such as a plate or a glass is placed. On the back surface of the transport robot, for example, wheels (not shown in FIG. 1 (e)) are provided, whereby the transport robot can move. Such a robot 100 can, for example, support the elderly in their daily lives, thus allowing them to live independently. It is fundamentally important for the transporting robot to avoid collisions in order to avoid tilting the object to be transported or the entire robot 100. To this end, the robot 100 is configured with a wide variety of sensors (eg, lasers) configured to detect stationary or moving objects or people in the robot 100's environment (possibly with associated sensor signal processing). It can have a rangefinder, an optical triangulation sensor, a camera, etc.).

したがって、基本的に、様々な方法を使用して、ロボットをその使用領域で自律的に移動させ、その際に自律移動ロボット100にとって起こり得る危険な状況を認識し、認識された危険な状況に適切に対応することによって事故を回避することが可能である(それによって事故は回避されるか、少なくとも軽減される)。このようなロボット100は通常、自律移動ロボット100を制御するためのナビゲーションソフトウェア及び制御ソフトウェアを含む。しかしながら、制御モジュール内のプロセッサによって実行されるそのようなナビゲーションソフトウェア及び制御ソフトウェアは、ますます複雑になりつつある。ナビゲーションソフトウェア及び制御ソフトウェアの複雑さが増すと、望ましくないプログラミングエラーのリスクが高まる。さらに、ますます多くの自律移動ロボット100がインターネットに接続されている。これにより、例えばユーザがロボット100の近くにいなくても、ロボット100を制御することができる。同様に、ロボット100のファームウェア、特にナビゲーションソフトウェア及び制御ソフトウェアはインターネットを介して更新することができる。たとえば、ソフトウェアアップデートは自動的に、または、ユーザの要求に応じて、ダウンロードすることもできる。この機能は、オーバ・ジ・エア・プログラミング(OTAプログラミング)、OTAアップグレード、またはファームウェア・オーバ・ジ・エア(FOTA)とも呼ばれる。 Therefore, basically, various methods are used to autonomously move the robot in the area of use, recognize the dangerous situation that may occur for the autonomous mobile robot 100 at that time, and make the recognized dangerous situation. Accidents can be avoided by taking appropriate action (which avoids, or at least mitigates) accidents. Such a robot 100 usually includes navigation software and control software for controlling the autonomous mobile robot 100. However, such navigation and control software executed by the processors in the control module is becoming more and more complex. Increasing the complexity of navigation and control software increases the risk of unwanted programming errors. In addition, more and more autonomous mobile robots 100 are connected to the Internet. Thereby, for example, the robot 100 can be controlled even if the user is not near the robot 100. Similarly, the robot 100's firmware, especially navigation software and control software, can be updated via the Internet. For example, software updates can be downloaded automatically or at the request of the user. This feature is also known as Over the Air Programming (OTA Programming), OTA Upgrade, or Firmware Over the Air (FOTA).

しかしながら、自律移動ロボット100をインターネットに接続することは、見知らぬ人がロボット100にアクセスする危険(例えば、ロボットのいわゆるハッキング、クラッキング、またはジェイルブレイク)をもたらし、自律移動ロボット100が危険な状況に正しく反応しないように自律移動ロボット100に影響を与え、それにより事故が発生する恐れがある。ナビゲーションソフトウェア及び制御ソフトウェア全体は、ロボット100自体、またはロボット内に配置された記憶媒体に格納することができる。しかしながら、ナビゲーションソフトウェア及び制御ソフトウェアの一部をクラウドサーバ等の外部装置に保存することも可能である。ナビゲーションソフトウェア及び制御ソフトウェアの一部が外部装置に格納されている場合、ロボット100の一部は一般にもはやリアルタイム対応ではない。ロボット100は、そのナビゲーションソフトウェア及び制御ソフトウェアのアルゴリズムが非決定論的モンテカルロ法または、例えばディープラーニング学習(ディープ機械学習としても知られる)などの機械学習を使用していることが知られている。モンテカルロアルゴリズムは、上限のある確率で誤った結果を出すことが許されているランダム化されたアルゴリズムである。通常は、決定論的アルゴリズムと比較して、モンテカルロアルゴリズムは効率的である。ディープラーニングは、通常、入力層と出力層との間に多数の隠れ層を有し、それによって大規模な内部構造を有する、人工ニューラルネットワークの一種の最適化方法である。モンテカルロアルゴリズムでも機械学習でも、因果関係は最初から決定されないため理解が困難である。このため、ロボット100の安全な動作を証明し、事故を回避するためにロボット100のナビゲーションソフトウェア及び制御ソフトウェアがいかなる危険な状況においても正しくかつ適時に反応することを保証することは非常に困難である。同時に、そのような新しいロボット制御方法の使用は、自律移動ロボット100をより知的にするために必要である。改善された知能は、ロボット100がユーザの生活およびそれらの環境により容易に適合することを可能にする。 However, connecting the autonomous mobile robot 100 to the Internet poses a danger of strangers accessing the robot 100 (eg, so-called hacking, cracking, or jailbreaking of the robot), and the autonomous mobile robot 100 is correctly in a dangerous situation. It affects the autonomous mobile robot 100 so that it does not react, which may cause an accident. The entire navigation software and control software can be stored in the robot 100 itself or a storage medium arranged in the robot. However, it is also possible to store a part of the navigation software and the control software in an external device such as a cloud server. When part of the navigation software and control software is stored in an external device, part of the robot 100 is generally no longer real-time capable. The robot 100 is known to use non-deterministic Monte Carlo methods or machine learning such as, for example, deep learning learning (also known as deep machine learning) for its navigation and control software algorithms. The Monte Carlo algorithm is a randomized algorithm that is allowed to give false results with a certain upper probability. Monte Carlo algorithms are usually more efficient than deterministic algorithms. Deep learning is a type of optimization method for artificial neural networks, which usually has a large number of hidden layers between the input layer and the output layer, thereby having a large internal structure. Neither the Monte Carlo algorithm nor machine learning is difficult to understand because the causal relationship is not determined from the beginning. For this reason, it is very difficult to prove the safe operation of the robot 100 and ensure that the navigation software and control software of the robot 100 respond correctly and in a timely manner in any dangerous situation in order to avoid accidents. be. At the same time, the use of such new robot control methods is necessary to make the autonomous mobile robot 100 more intelligent. The improved intelligence allows the robot 100 to more easily adapt to the user's life and their environment.

したがって、ロボット100の知能を制限することなく、安全が証明可能であるロボットの振る舞いを可能にすることが重要であるかまたは必要であり得る。一実施形態によれば、自律移動ロボット100は、前記ナビゲーションソフトウェアを使用して経路及び作業計画を実行するナビゲーションユニットに加えて、リスク検出モジュールとも呼ばれる安全モジュールを含んでいる。ここに記載の例では、安全モジュールはナビゲーションモジュールから機能的に独立して動作する。基本的に、安全モジュールは、ナビゲーションモジュールから独立してロボットの行動を監視し、危険な状況を認識するように構成されている。検出された危険状況におけるロボットの行動が「誤り」、「危険」、または「不適切」であると見なされた場合、安全モジュールは適切な対策(安全対策)を開始することができる。対策としては、例えば、ロボット100を停止させたり、ロボット100の進行方向を変えたりすることが考えられる。この際、正しい動作を決定することよりも、安全ではないためどの動作を実行すべきでないかを決定することが通常容易であるという事実が利用される。 Therefore, it may be important or necessary to enable robot behavior whose safety is provable without limiting the intelligence of the robot 100. According to one embodiment, the autonomous mobile robot 100 includes a safety module, also called a risk detection module, in addition to a navigation unit that executes routes and work plans using the navigation software. In the example described here, the safety module operates functionally independently of the navigation module. Basically, the safety module is configured to monitor the robot's behavior and recognize dangerous situations independently of the navigation module. If the robot's behavior in the detected danger situation is considered to be "wrong", "dangerous", or "inappropriate", the safety module can initiate appropriate measures (safety measures). As a countermeasure, for example, it is conceivable to stop the robot 100 or change the traveling direction of the robot 100. This takes advantage of the fact that it is usually easier to determine which action should not be performed because it is unsafe than to determine the correct action.

自律移動ロボットは、プライベート及びジネスの環境でますますサービスを提供している。基本的な機能の一つは、適切なセンサを用いて環境の地図を作成し、その地図を利用して自律的にナビゲーションを行うことである。ロボット工学のさらなる開発における根本的な問題は、使用されるソフトウェアとアルゴリズムが、駆動装置のモータ又はその他活動に必要な作業ユニット及びロボットに組み込まれたセンサなどの基盤となるハードウェアと強く結びついていることである。新しいロボットの構築におけるソフトウェアの再利用は、このような強い結びつきによって困難になっている。 Autonomous mobile robots are increasingly providing services in private and business environments. One of the basic functions is to create a map of the environment using appropriate sensors and use the map for autonomous navigation. A fundamental problem in the further development of robotics is that the software and algorithms used are strongly tied to the underlying hardware such as drive motors or other work units required for activity and sensors built into the robot. It is that you are. Reuse of software in the construction of new robots is difficult due to such strong ties.

この問題には2つのアプローチが知られている。1つは、ロボットの移動に必要なすべての要件を提供するモバイルプラットフォームを利用できるようにすることである。新しいアプリケーションは、このプラットフォーム上に構築する必要があり、このアプローチは柔軟性に欠けるものとなる。もう1つのアプローチは、ハードウェアに依存したモジュールとハードウェアに依存しないモジュールを分離して、ソフトウェアを強力にモジュール化することである。これは、高レベルのハードウェア抽象化が必要となる場合があり、通常、システムのパフォーマンスに悪影響を及ぼす。 Two approaches are known to this problem. One is to make available a mobile platform that provides all the requirements for moving a robot. New applications will need to be built on this platform, making this approach inflexible. Another approach is to separate hardware-dependent and hardware-independent modules and strongly modularize the software. This may require a high level of hardware abstraction and usually has a negative impact on system performance.

対照的に、本発明の一実施形態に従って追求されるアプローチは、特定のハードウェアと関連するアルゴリズムの機能的な分離を目指している。これは、先に説明したナビゲーションユニットと安全モジュールの分離と組み合わせることができる。 In contrast, the approach pursued according to one embodiment of the invention aims at the functional separation of algorithms associated with specific hardware. This can be combined with the navigation unit and safety module separation described above.

図2は、機能的に分離された複数のユニットを有する自律移動ロボット100の例示的な構造をブロック図で示している。一般に、ユニットは、独立したアセンブリ(ハードウェア)、特定のロボット使用領域で所望のタスクを実行するロボット100を制御するためのソフトウェアのコンポーネント、又は、両方の組み合わせ(例えば、接続された周辺コンポーネントを備えた専用ハードウェア及び適切なソフトウェア及び/又はファームウェア)である。 FIG. 2 shows a block diagram of an exemplary structure of an autonomous mobile robot 100 having a plurality of functionally separated units. In general, a unit may be an independent assembly (hardware), a component of software for controlling a robot 100 to perform a desired task in a particular area of robot use, or a combination of both (eg, connected peripheral components). Dedicated hardware and appropriate software and / or firmware provided.

本実施形態では、自律移動ロボット100は、駆動ユニット170を含み、この駆動ユニット170は、例えば、電動モータ、歯車、車輪などを含み得る。ロボット100は、例えば、床面の清掃またはアイテムの輸送などの特定のプロセスを実行する作業ユニット160(プロセスユニット)をさらに含むことができる。作業ユニット160は、例えば、床面を清掃するための清掃ユニット(例えば、ブラシ、吸塵装置)、トレイとして設計された高さ調整可能及び/又は旋回可能な運搬台、または物体をつかんで輸送するための把持アームであってもよい。テレプレゼンスロボットや監視ロボットなどの場合、作業ユニット160は必ずしも必要ではない。例えば、テレプレゼンスロボットは通常、空間的に互いに離れた複数の人の間で通信するために、たとえばマイク、カメラ、画面などを有するマルチメディアユニットを備え、ヒューマン・マシン・インターフェース200に接続された複雑な通信ユニット130を備えている。別の例は、特別なセンサ(例えば、カメラ、モーションセンサ、マイクロフォン)を使用して監視走行で特定の(異常な)イベント(例えば、火災、光、無許可の人など)を検出し、それに応じて制御ステーションに通知できる監視ロボットである。 In the present embodiment, the autonomous mobile robot 100 includes a drive unit 170, and the drive unit 170 may include, for example, an electric motor, gears, wheels, and the like. The robot 100 may further include a work unit 160 (process unit) that performs a particular process, such as cleaning the floor or transporting items. The work unit 160 grabs and transports, for example, a cleaning unit (eg, a brush, a dust collector) for cleaning the floor, a height-adjustable and / or swivel carrier designed as a tray, or an object. It may be a gripping arm for the purpose. In the case of a telepresence robot, a monitoring robot, or the like, the work unit 160 is not always necessary. For example, a telepresence robot would typically have a multimedia unit with , for example, a microphone, camera, screen, etc., connected to a human-machine interface 200 to communicate between multiple people spatially separated from each other. It is equipped with a complicated communication unit 130. Another example is to use special sensors (eg cameras, motion sensors, microphones) to detect certain (abnormal) events (eg fires, lights, unauthorized persons, etc.) in surveillance driving and to it. It is a monitoring robot that can notify the control station accordingly.

ロボット100は、ヒューマン・マシン・インターフェース(HMI)200及び/又は他の外部デバイス300への通信接続を確立するための通信ユニット130をさらに含むことができる。通信接続は、例えば、直接無線接続(例えば、ブルートゥース(登録商標))、ローカル無線ネットワーク接続(例えば、WiFiまたはZig-Bee)、またはインターネット接続(例えば、クラウドサービスへ)であってもよい。ヒューマン・マシン・インターフェース200としては、例えば、タブレットPC、スマートフォン、スマートウォッチ、コンピュータ又はスマートテレビが用いられる。場合によっては、ヒューマン・マシン・インターフェース200は、ロボット100に直接統合されてもよく、キー、ジェスチャ、及び/又は音声入出力を介して操作されてもよい。前述の外部ハードウェア及びソフトウェアの少なくとも一部分がヒューマン・マシン・インターフェース200に配置されてもよい。外部デバイス300の例は、計算および/またはデータを交換できるコンピュータおよびサーバ、追加情報を提供する外部センサ、または自律移動ロボット100が恊働及び/又は情報を交換する他の家電製品(例えば、他のロボット)である。例えば、通信ユニット130を介して、自律移動ロボット100に関する情報(例えば、バッテリ状態、現在の作業指示、地図情報など)が提供されてもよく、又は、例えば、自律移動ロボット100の作業指示に関連する命令(例えば、ユーザコマンド)が受信されてもよい。 The robot 100 may further include a communication unit 130 for establishing a communication connection to a human-machine interface (HMI) 200 and / or another external device 300. The communication connection may be, for example, a direct wireless connection (eg, Bluetooth®), a local wireless network connection (eg, WiFi or Zig-Bee), or an internet connection (eg, to a cloud service). As the human machine interface 200, for example, a tablet PC, a smartphone, a smart watch, a computer or a smart TV is used. In some cases, the human-machine interface 200 may be integrated directly into the robot 100 and may be operated via keys, gestures, and / or voice inputs and outputs. At least a portion of the aforementioned external hardware and software may be located at the human-machine interface 200. Examples of the external device 300 are computers and servers capable of exchanging calculations and / or data, external sensors providing additional information, or other home appliances (eg, other appliances) with which the autonomous mobile robot 100 interacts and / or exchanges information. Robot). For example, information about the autonomous mobile robot 100 (eg, battery status, current work instructions, map information, etc.) may be provided via the communication unit 130, or, for example, related to the work instructions of the autonomous mobile robot 100. An instruction to be executed (for example, a user command) may be received.

図2に図示された例によれば、ロボット100は、情報を交換するように構成されたナビゲーションユニット140及び制御ユニット150を有し得る。この際に、制御ユニット150は、ナビゲーションユニット140によって生成された移動情報(動き情報)及び作業情報を受信する。移動情報は、例えば、計画された経路ポイント、経路セグメント(例えば円弧)、または速度情報である。経路ポイントは、例えば、現在のロボットの姿勢(姿勢は位置と向きを表す)を基準に指定することができる。例えば、経路セグメントの場合は、移動すべき距離と回転角度を指定することができる(距離がゼロの場合はその場で回転し、回転角度がゼロの場合は直進する)。速度情報としては、例えば、予め定められた時間駆動される並進速度と角速度とを用いることができる。このように、ナビゲーションユニット140は、特定の移動(例えば、特定の経路セグメント)を前もって計画し、これを(移動情報として)制御ユニット150に伝達する。制御ユニット150は、移動情報から駆動ユニット170に対する制御信号を生成するように構成されている。これらの制御信号は、駆動部のアクチュエータ(特にモータ)を制御するのに適した全ての信号とすることができる。例えば、差動駆動装置の左右の車輪の必要回転数であってもよい。代替的に、電圧及び/又は電流を変更することにより、モータを直接制御することができる。原則として、ナビゲーションユニット140から受信した移動情報から制御信号を生成するためには、ロボットの特定のハードウェア構成(アクチュエータの種類および位置)が知られていなければならないが、移動情報は、より抽象的なレベルで、主として使用されているハードウェアとは独立して決定される。このように、駆動ユニット170が変更された場合、必要な適応開発は制御ユニット150に限定される。 According to the example illustrated in FIG. 2, the robot 100 may have a navigation unit 140 and a control unit 150 configured to exchange information. At this time, the control unit 150 receives the movement information (movement information) and the work information generated by the navigation unit 140. The travel information is, for example, a planned route point, route segment (eg, arc), or velocity information. The path point can be specified, for example, based on the current posture of the robot (the posture represents the position and the direction). For example, in the case of a path segment, the distance to be moved and the rotation angle can be specified (when the distance is zero, the vehicle rotates on the spot, and when the rotation angle is zero, the vehicle goes straight). As the velocity information, for example, a translational velocity and an angular velocity driven for a predetermined time can be used. In this way, the navigation unit 140 plans a specific movement (eg, a specific route segment) in advance and transmits this to the control unit 150 (as movement information). The control unit 150 is configured to generate a control signal for the drive unit 170 from the movement information. These control signals can be all signals suitable for controlling the actuator (particularly the motor) of the drive unit. For example, it may be the required rotation speed of the left and right wheels of the differential drive device. Alternatively, the motor can be controlled directly by changing the voltage and / or current. In principle, the specific hardware configuration of the robot (actuator type and position) must be known in order to generate control signals from the movement information received from the navigation unit 140, but the movement information is more abstract. At a high level, it is determined primarily independently of the hardware used. Thus, if the drive unit 170 is modified, the required adaptive development is limited to the control unit 150.

移動情報と同様に、作業情報を作業ユニット160の制御信号に変換してもよい。作業情報は、例えば、作業ユニットがアクティブであるか、どのような能力でアクティブであるかを記述することができる。例えば、作業ユニット160は、回転ブラシや吸引ユニットを備えた清掃ユニットであってもよい。作業情報には、清掃ユニットが現在アクティブであるかどうか、どの程度の強さで作業すべきかなどが含まれている。これにより発生した制御信号は、例えば、ブラシや吸引ユニットのモータの動力を直接制御する。ナビゲーションユニット140は、特に、ナビゲーションセンサ125から提供された情報を、前述した移動計画の立案や、ロボット使用領域の地図の構築・更新に利用する。このようなナビゲーションセンサ125は、例えば、非接触型の光センサ(例えば、三角測量センサ)であり得る。 Similar to the movement information, the work information may be converted into a control signal of the work unit 160. The work information can describe, for example, whether the work unit is active and with what ability it is active. For example, the work unit 160 may be a cleaning unit including a rotating brush and a suction unit. The work information includes whether the cleaning unit is currently active, how strong it should be, and so on. The control signal generated by this directly controls, for example, the power of the motor of the brush or the suction unit. In particular, the navigation unit 140 uses the information provided by the navigation sensor 125 for planning the movement plan described above and for constructing / updating a map of the robot use area. Such a navigation sensor 125 can be, for example, a non-contact optical sensor (eg, a triangulation sensor).

さらに、制御ユニット150は、ロボットに固有のセンサ情報を収集する制御センサ120から情報を収集し得る。これには、例えば、ロボットの近くの環境における安全上重要な状況を検出するための安全センサ122が含まれる。安全センサの一例としては、前述した立ち下がりエッジを検出するための床面距離センサが挙げられる。他の安全センサ122は、障害物との接触を検出するための触覚センサ(例えば、接触スイッチ)、またはロボットの近くの障害物を検出するための近距離センサ(例えば、赤外線センサ)であり得る。これにより、障害物との意図しない衝突を良好に検出することができる。制御センサ120の別の例としては、モーションセンサ123があり、これは、制御ユニット150によって特別に制御されるロボット100の動きを監視するために使用され、この動きは、実際には、ナビゲーションユニット140によって計画された動きと正確には一致しない。これには、例えば、ホイールエンコーダなどの走行距離計、加速度計、ジャイロスコープ(例えば、慣性計測ユニット(IMU)に統合されたもの)などが含まれる。制御センサ120の別の例は、ロボット100の傾き及びその変化を決定するための姿勢(位置)センサである。制御センサ120の他の例としては、ロボットの各部の状態を検知するためのステータスセンサ124が挙げられる。これには、例えば、駆動ユニットの消費電力が決定される電流計や電圧計などが含まれる。他のステータスセンサ(状態センサ)は、ロボットが床面に接触しているかどうかを判断するための車輪接触スイッチや、ブラシやゴミ入れなどの部品の有無を示すスイッチを含んでもよい。 Further, the control unit 150 may collect information from the control sensor 120, which collects sensor information unique to the robot. This includes, for example, a safety sensor 122 for detecting safety-critical situations in an environment near the robot. An example of the safety sensor is the floor distance sensor for detecting the falling edge described above. The other safety sensor 122 may be a tactile sensor (eg, a contact switch) for detecting contact with an obstacle, or a short range sensor (eg, an infrared sensor) for detecting an obstacle near the robot. .. This makes it possible to satisfactorily detect an unintended collision with an obstacle. Another example of the control sensor 120 is the motion sensor 123, which is used to monitor the movement of the robot 100 specifically controlled by the control unit 150, which movement is actually a navigation unit. It does not exactly match the movement planned by 140. This includes, for example, mileage meters such as wheel encoders, accelerometers, gyroscopes (eg, integrated into an inertial measurement unit (IMU)) and the like. Another example of the control sensor 120 is a posture (position) sensor for determining the tilt of the robot 100 and its change. Another example of the control sensor 120 is a status sensor 124 for detecting the state of each part of the robot. This includes, for example, ammeters and voltmeters that determine the power consumption of the drive unit. Other status sensors (status sensors) may include a wheel contact switch for determining whether the robot is in contact with the floor surface, or a switch for indicating the presence or absence of parts such as brushes and dust bins.

制御センサ120の測定値は、制御ユニット150によって検知され、評価される。その結果は、標準化された形式でナビゲーションユニット140に提供され得る。これは、規則的な間隔で行ってもよいし、周期的な間隔で行ってもよいし、ナビゲーションユニット140からの要求があった後に行ってもよい。情報の種類はセンサに依存し、センサに典型的なセンサモデルにマッピングすることができる。例えば、差動駆動装置の場合、オドメトリデータには、車輪の1回転(ホイールエンコーダ)の端数を記述することができる。これにより、エンコーダに属する車輪がどれだけ距離を移動したかを判断することができる。差動駆動装置の両輪の組み合わせとその位置によって、走行距離と向きの変化が生じる。ナビゲーションモジュール140に渡されるオドメトリ情報は、最後の情報以降のロボットの位置及び向きの変化を示している。例えば、床面距離センサを用いて立ち下がりエッジを判定することができ、この判定には、多くの測定原理を用いることが可能である。制御ユニット150は、床面距離センサからの生データに基づいて、いずれかのセンサが立ち下がりエッジを検出したか否かを判定する。検出された立ち下がりエッジの位置は、ロボットの(例えば、差動駆動装置の運動中心から始まる)固定座標系に対する、トリガーされた床面距離センサの位置の形でナビゲーションユニット140に送信されてもよい。あるいは、センサに関連付けられた番号(ID)をナビゲーションユニット140に送信してもよい。ナビゲーションユニット140において、この番号(ID)から、予め決定されたパラメータからの、トリガーされた床面距離センサに関連付けられた位置が決定される。関連するパラメータ(センサの番号と位置)は、例えばナビゲーションユニットの初期化中にロードすることができる。これにより、データトラフィックが削減され、計算はナビゲーションユニット内のより強力なプロセッサに移行される。このように、制御センサ120によって提供される情報は、特定のセンサとは独立した抽象化された形でナビゲーションユニット140に渡される。 The measured value of the control sensor 120 is detected and evaluated by the control unit 150. The result may be provided to the navigation unit 140 in a standardized format. This may be done at regular intervals, at periodic intervals, or after a request from the navigation unit 140. The type of information depends on the sensor and can be mapped to a sensor model typical of the sensor. For example, in the case of a differential drive device, the odometry data can describe the fraction of one rotation (wheel encoder) of the wheel. This makes it possible to determine how far the wheels belonging to the encoder have traveled. The combination of the two wheels of the differential drive and its position causes changes in mileage and orientation. The odometry information passed to the navigation module 140 indicates changes in the position and orientation of the robot since the last information. For example, a floor distance sensor can be used to determine the falling edge, and many measurement principles can be used for this determination. The control unit 150 determines whether or not any of the sensors has detected a falling edge based on the raw data from the floor distance sensor. Even if the detected falling edge position is transmitted to the navigation unit 140 in the form of a triggered floor distance sensor position with respect to the robot's fixed coordinate system (eg, starting from the center of motion of the differential drive). good. Alternatively, the number (ID) associated with the sensor may be transmitted to the navigation unit 140. In the navigation unit 140, this number (ID) determines the position associated with the triggered floor distance sensor from a predetermined parameter. Relevant parameters (sensor numbers and positions) can be loaded, for example, during navigation unit initialization. This reduces data traffic and shifts computation to the more powerful processors in the navigation unit. In this way, the information provided by the control sensor 120 is passed to the navigation unit 140 in an abstract form independent of the specific sensor.

このようなセンサの他の例としては、障害物(例えば、衝突)との接触を検出するための触覚センサが挙げられる。検出された接触に関する対応する情報は、イベントが検出された場合に、(立ち下がりエッジが検出された場合と同様に)トリガーされたセンサの位置または番号(ID)を用いて送信できる。衝突を回避するセンサは、接触することなく近接する障害物を検出できる。このために、例えば、赤外線信号を発する赤外線センサが使用される。その反射から障害物の有無や距離を推測することができる。これらのセンサについては、センサ位置に加えて、例えば、障害物が確実に存在しない距離をナビゲーション装置に送信することができる。 Other examples of such sensors include tactile sensors for detecting contact with obstacles (eg, collisions). Corresponding information about the detected contact can be transmitted using the position or number (ID) of the triggered sensor (as if a falling edge was detected) when an event is detected. Sensors that avoid collisions can detect nearby obstacles without contact. For this purpose, for example, an infrared sensor that emits an infrared signal is used. The presence or absence of obstacles and the distance can be inferred from the reflection. For these sensors, in addition to the sensor position, for example, a distance that is reliably free of obstacles can be transmitted to the navigation device.

図2に示された例によれば、制御ユニット150からのセンサ情報に加えて、ナビゲーションユニット140はまた、ロボットが自分自身を方向付けるために使用することができるロボットの環境に関する情報を提供する1つ以上のナビゲーションセンサ125からの直接的なセンサ測定値を受信する。これは、(単数又は複数の)センサ125を用いて、地図を構築するのに適したナビゲーション特徴の位置が決定され得ることを意味す
る。このようなナビゲーションセンサ125は、例えば、より長い距離の物体までの距離を非接触で測定するためのセンサであり、例えば、特にレーザ距離センサまたは3Dカメラのように、三角測量または飛行時間測定によって距離を決定するセンサである。これらのセンサは、障害物の位置に関する情報を提供し、地図上に記録することができる。追加的に又は代替的に、ナビゲーションセンサ125は、ロボットの周囲の環境の画像を提供するカメラであってもよい。画像は直接ナビゲーション特徴として機能し得る。追加的に又は代替的に、物体認識及び画像処理により、ナビゲーション特徴として機能する周囲の画像のコーナやエッジなどの特徴を検出し得る。特に、制御ユニット150からのオドメトリ情報(走行距離情報)とナビゲーション特徴とを組み合わせることにより、それ自体既知のSLAMアルゴリズムを用いて環境の地図を構築することができ、地図内のロボットの位置を決定し、ナビゲーションおよび作業計画のために使用することができる。このような地図は、一時的に(つまり、使用するたびに)構築することもできるし、繰り返し使用するために保存し、必要に応じてロードすることもできる。このソリューションの利点は、ナビゲーションセンサとそれに関連するアルゴリズムが密接に統合されることである。したがって、ナビゲーションユニット140とナビゲーションセンサ125との組み合わせは、新しいロボットアプリケーションに比較的容易に組み込むことができる。必要な条件は、前述の標準化された形式(標準化されたフォーマット)でデータを交換するための所定のインターフェースを有する制御ユニット150のみである。さらに、ロボット内のナビゲーションセンサ125の位置及び向きのようないくつかのパラメータは、予め定められ、及び/又は(例えば、較正によって)決定されなければならない。
According to the example shown in FIG. 2, in addition to the sensor information from the control unit 150, the navigation unit 140 also provides information about the robot's environment that the robot can use to orient itself. Receives direct sensor measurements from one or more navigation sensors 125. This means that sensors 125 (s) can be used to determine the location of suitable navigation features for building a map. Such a navigation sensor 125 is, for example, a sensor for non-contact measuring the distance to a longer distance object, for example by triangulation or flight time measurement, especially such as a laser distance sensor or a 3D camera. It is a sensor that determines the distance. These sensors can provide information about the location of obstacles and record them on a map. Additionally or additionally, the navigation sensor 125 may be a camera that provides an image of the environment around the robot. The image can serve as a direct navigation feature. Additional or alternative, object recognition and image processing can detect features such as corners and edges of the surrounding image that serve as navigation features. In particular, by combining odometry information (mileage information) from the control unit 150 with navigation features, it is possible to build a map of the environment using an SLAM algorithm known per se and determine the position of the robot in the map. And can be used for navigation and work planning. Such maps can be built temporarily (ie, each time they are used), saved for repeated use, and loaded as needed. The advantage of this solution is the tight integration of the navigation sensor and its associated algorithms. Therefore, the combination of the navigation unit 140 and the navigation sensor 125 can be relatively easily incorporated into a new robot application. The only requirement is a control unit 150 having a predetermined interface for exchanging data in the standardized format described above (standardized format). In addition, some parameters such as the position and orientation of the navigation sensor 125 in the robot must be predetermined and / or determined (eg by calibration).

また、環境を検出するためのセンサの他に、ナビゲーションに不可欠な他のセンサをナビゲーションユニットに密接に接続し、その信号をナビゲーションユニットにより直接評価することができる。その一例として、加速度や角速度を測定するための慣性計測ユニット(IMU)がある。これにより、制御ユニットから受信したオドメトリ情報の整合性を判断して、地図上でのロボットの位置決定性を向上させることができる。特に、車輪が空転する際に発生するような、計画された動きから逸脱した加速度を検出するためにIMUを使用することができる。また、重力による加速度に対するロボットの相対的な位置を求めることができる。これは、環境情報を解釈し、ナビゲーションセンサの測定方向を決定するために使用される。 Further, in addition to the sensor for detecting the environment, other sensors essential for navigation can be closely connected to the navigation unit, and the signal can be directly evaluated by the navigation unit. One example is an inertial measurement unit (IMU) for measuring acceleration and angular velocity. This makes it possible to determine the consistency of the odometry information received from the control unit and improve the position determination of the robot on the map. In particular, the IMU can be used to detect accelerations that deviate from the planned movement, such as those that occur when the wheels spin. In addition, the relative position of the robot with respect to the acceleration due to gravity can be obtained. It is used to interpret environmental information and determine the measurement direction of the navigation sensor.

例えば、ナビゲーションユニット140は、障害物回避戦略(sense and avoid strategy)及び/又は同時局在化及びマッピング(Simultaneous Localization and Mapping)(SLAM)アルゴリズム、及び/又はロボット使用領域の1つ以上の地図を使用して動作し得る。ロボットは、使用中にこのようなロボット使用領域の地図(複数可)を作成したり、使用開始時に既存の地図を使用したりすることができる。既存の地図は、偵察走行のような以前の使用中にロボット自身が作成したものであってもよいし、他のロボットや人間が提供したものであってもよい。例えば、ナビゲーションユニット140のナビゲーション及び作業計画は、目的地点を作成すること、目的地点間の経路を計画すること、および目的地への経路中または目的地での作業ユニット160の活動を決定することを含む。また、ナビゲーションユニット140は、予め計画されたアクティビティが入力されたカレンダー(スケジューラ)を管理し得る。例えば、ユーザは、毎日決まった時間に清掃ロボットが清掃を開始する旨を登録することができる。 For example, the navigation unit 140 maps one or more of the sense and aid strategy and / or the Simultaneous Localization and Mapping (SLAM) algorithm and / or the robot use area. Can be used and worked. The robot can create a map (s) of such robot use areas during use, or use an existing map at the start of use. The existing map may have been created by the robot itself during previous use, such as reconnaissance travel, or may have been provided by another robot or human. For example, the navigation and work plan of the navigation unit 140 is to create a destination, to plan a route between destinations, and to determine the activity of the work unit 160 in or at the route to the destination. including. Further, the navigation unit 140 may manage a calendar (scheduler) in which a predetermined activity is input. For example, the user can register that the cleaning robot starts cleaning at a fixed time every day.

なお、図2に示す実施形態のように、通信ユニット130と、ナビゲーションユニット140と、制御ユニット150とを有するシステムは、通信ユニット130とナビゲーションユニット140との間、およびナビゲーションユニット140と制御ユニット150との間でのみ情報を交換するように構成されていてもよい。特に、高速でデータ量の多い通信を通信ユニット130で処理する場合に有用である。これにより、データの流れも単純化される。 As in the embodiment shown in FIG. 2, the system having the communication unit 130, the navigation unit 140, and the control unit 150 is between the communication unit 130 and the navigation unit 140, and the navigation unit 140 and the control unit 150. It may be configured to exchange information only with. In particular, it is useful when the communication unit 130 processes high-speed communication with a large amount of data. This also simplifies the flow of data.

後でより詳細に説明するように、ナビゲーションセンサ125を含むナビゲーションユニット140は、制御センサ120によって提供されるセンサ情報を加工する制御ユニット150とは機能的に独立している。ナビゲーションユニット140と制御ユニット150との間で交換されるデータ/情報は、使用されるセンサハードウェアに依存しない定義されたフォーマットで送信される。異なるナビゲーションセンサ125がロボット100の後継モデルで使用される場合、ナビゲーションユニット140のソフトウェア(および場合によってはいくつかのハードウェアコンポーネント)のみが新しいナビゲーションセンサに適合される必要があるが、この変更は制御ユニット150には影響を与えない。同様に、異なるまたは追加の制御センサ120又は異なる駆動ユニット170又は異なる作業ユニット160がロボット100の後継モデルで使用される場合には、制御ユニット150のソフトウェア(特にドライバおよび場合によってはいくつかのハードウェアコンポーネント)のみを適合させる必要がある。したがって、使用されるナビゲーションユニット140及びナビゲーションセンサ125は、制御ユニット150及び制御ユニットに接続されたハードウェア(制御センサ120、作業ユニット160、駆動ユニット170)から機能的に完全に切り離されている。制御ユニット150およびナビゲーションユニット140の両方は、前述したように、少なくとも部分的にソフトウェアによって実装されてもよく、これらのソフトウェアは、異なるプロセッサ(計算ユニット)又はプロセッサコア上で互いに独立して実行され得る。さらに、別個のメモリデバイスまたは別個の(例えば、保護された)メモリ領域が、異なるプロセッサ又はプロセッサコアに割り当てられ、制御ユニット150のソフトウェア及びナビゲーションユニット140のソフトウェアが互いに独立して実行され得る。 As will be described in more detail later, the navigation unit 140 including the navigation sensor 125 is functionally independent of the control unit 150 that processes the sensor information provided by the control sensor 120. The data / information exchanged between the navigation unit 140 and the control unit 150 is transmitted in a defined format independent of the sensor hardware used. If a different navigation sensor 125 is used in the successor model of the robot 100, only the software of the navigation unit 140 (and possibly some hardware components) needs to be adapted to the new navigation sensor, but this change It does not affect the control unit 150. Similarly, if different or additional control sensors 120 or different drive units 170 or different working units 160 are used in the successor model of the robot 100, the software of the control unit 150 (especially the driver and possibly some hardware). Only the wear component) needs to be adapted. Therefore, the navigation unit 140 and the navigation sensor 125 used are functionally completely separated from the control unit 150 and the hardware connected to the control unit (control sensor 120, work unit 160, drive unit 170). Both the control unit 150 and the navigation unit 140 may be implemented, at least in part, by software, as described above, which may run independently of each other on different processors (computational units) or processor cores. obtain. In addition, separate memory devices or separate (eg, protected) memory areas may be allocated to different processors or processor cores, allowing the software in control unit 150 and the software in navigation unit 140 to run independently of each other.

制御ユニット150及びナビゲーションユニット140によるセンサ情報及び他のイベント(例えば、ユーザ入力)の別個の処理のため、時間の割り当ては簡単にはできない。データ処理、ナビゲーション、経路計画、作業計画を簡素化するために、各測定と検出された各イベントにタイムスタンプを割り当てることができる。これは、少なくともナビゲーションユニット140によって曖昧さなく解釈されるべきである。このためには、制御ユニット150とナビゲーションユニットの両方が、クロックジェネレータ145を介して同期したクロックを使用することが必要である。クロックジェネレータは、例えば、ナビゲーションユニット140と制御ユニット150の両方が受信する時刻信号を一定の間隔で出力するシステムクロックであってもよい。あるいは、ナビゲーションユニット140又は制御ユニット150の演算ユニット内のクロックジェネレータを使用してもよい。 Due to the separate processing of sensor information and other events (eg, user input) by the control unit 150 and the navigation unit 140, time allocation is not easy. Timestamps can be assigned to each measurement and each event detected to simplify data processing, navigation, route planning, and work planning. This should be interpreted at least unambiguously by the navigation unit 140. For this, both the control unit 150 and the navigation unit need to use clocks synchronized via the clock generator 145. The clock generator may be, for example, a system clock that outputs time signals received by both the navigation unit 140 and the control unit 150 at regular intervals. Alternatively, a clock generator in the arithmetic unit of the navigation unit 140 or the control unit 150 may be used.

例えば、ナビゲーションユニット140のクロックジェネレータを用いてもよい。このクロックに基づいて、ナビゲーションユニット140は、内部的に与えるタイムスタンプを決定する。周期的な間隔(例えば、1秒毎)で、クロックジェネレータ145から制御ユニット150にクロック信号が送信される。このクロック信号は、制御ユニット150の内部クロックをナビゲーションユニットで使用されているクロックと同期させるために使用される。このようにして、制御ユニット150は、ナビゲーションユニット140のタイムスタンプと同期するタイムスタンプをセンサ情報および他の検出されたイベントに割り当てることができる。例えば、制御ユニット150は、走行距離計(オドメータ)からの測定値に基づいて走行距離情報(オドメトリ情報)を決定する。これらは、タイムスタンプが付与され、ナビゲーションユニット140に送信される。ナビゲーションユニット140は、ナビゲーションセンサ(特に、ナビゲーション特徴)からの、同様にタイムスタンプが押されたセンサ情報を受信する。タイムスタンプに基づいて、ナビゲーションユニット140は、現在、必要な走行距離情報を既に受信したかどうかを判断し、必要に応じて、新しい走行距離情報を受信するのを待つことができる。タイムスタンプに基づいて、測定値は時間順に並べられ、SLAMアルゴリズムのフレームワーク内で一緒に扱われ、地図の状態とその地図内のロボットの位置(姿勢)が更新される。 For example, the clock generator of the navigation unit 140 may be used. Based on this clock, the navigation unit 140 determines the time stamp to be given internally. A clock signal is transmitted from the clock generator 145 to the control unit 150 at periodic intervals (for example, every second). This clock signal is used to synchronize the internal clock of the control unit 150 with the clock used in the navigation unit. In this way, the control unit 150 can assign a time stamp synchronized with the time stamp of the navigation unit 140 to the sensor information and other detected events. For example, the control unit 150 determines the mileage information (odometry information) based on the measured value from the odometer. These are time stamped and transmitted to the navigation unit 140. The navigation unit 140 receives similarly time-stamped sensor information from navigation sensors (particularly navigation features). Based on the time stamp, the navigation unit 140 can now determine if it has already received the required mileage information and, if necessary, wait to receive new mileage information. Based on the time stamps, the measurements are sorted in chronological order and treated together within the framework of the SLAM algorithm to update the map state and the position (posture) of the robot in the map.

さらに、自律移動ロボット100は、バッテリ(図2には図示せず)などの電源を有してもよい。バッテリは、例えば、自律移動ロボット100が基地局(図示せず)にドッキングされたときに充電され得る。基地局は、例えば、電力網に接続されてもよい。自律移動ロボット100は、バッテリの充電が必要なとき、またはロボット100がそのタスクを完了したときに、自主的に基地局を目指して進むように構成されてもよい。 Further, the autonomous mobile robot 100 may have a power source such as a battery (not shown in FIG. 2). The battery may be charged, for example, when the autonomous mobile robot 100 is docked to a base station (not shown). The base station may be connected to, for example, a power grid. The autonomous mobile robot 100 may be configured to voluntarily proceed toward the base station when the battery needs to be charged or when the robot 100 completes the task.

図3は、制御ユニット150の実施形態をより詳細に示す。制御ユニット150は、例えば、安全モジュール151と、モータコントローラ152と、予測モジュール153とを有していてもよい。モータコントローラ152は、ナビゲーションユニット140から受信した移動情報および作業情報から、駆動ユニット70および作業ユニット160のモータおよびアクチュエータを制御するための具体的な信号を生成するように構成されている。このため、予め定められた期間だけ制御信号を一時的に記憶するバッファを構築し得る。この場合、移動情報にはロボットの即時停止を含めることができ、その際に、バッファに含まれるすべての制御信号は削除され、アクティブなブレーキ制御信号に置き換え得る。制御のために、電流や電圧の測定情報(ステータスセンサ124)及びエンコーダ情報(モーションセンサ123)も制御ループで利用することができる。 FIG. 3 shows a more detailed embodiment of the control unit 150. The control unit 150 may include, for example, a safety module 151, a motor controller 152, and a prediction module 153. The motor controller 152 is configured to generate specific signals for controlling the motors and actuators of the drive unit 70 and the work unit 160 from the movement information and the work information received from the navigation unit 140. Therefore, it is possible to construct a buffer that temporarily stores the control signal for a predetermined period. In this case, the movement information can include an immediate stop of the robot, at which time all control signals contained in the buffer can be removed and replaced with the active brake control signal. For control, current and voltage measurement information (status sensor 124) and encoder information (motion sensor 123) can also be used in the control loop.

制御信号を生成するとき、ハードウェア固有の適応が必要となる場合があり、これは、実際に制御される動きとナビゲーションユニット140によって最初に計画された動きとの間に特定の偏差をもたらす。また、駆動ユニット170で使用される駆動部材(モータ、パワードライバ等)の制限(最小曲線半径、最大加速度、制御精度の制限等)も、このような逸脱につながる可能性がある。このため、予測モジュール153は、制御信号のバッファに基づいて、ロボットの将来の動きを決定し得る。その際、計算モデルを使用することができ、この計算モデルは、ロボットの慣性、駆動電子回路の特性、及び/又は駆動ユニットの特定の構成(車輪の位置及びサイズなど)を考慮に入れることができる。その結果は、例えば、1以上の予め定められた時間間隔での位置や向きの変更である。この予測は、ナビゲーションユニット140に伝達され、ナビゲーションや作業計画の際に考慮され得る。 When generating control signals, hardware-specific adaptations may be required, which results in certain deviations between the movements actually controlled and the movements originally planned by the navigation unit 140. In addition, restrictions on the drive members (motor, power driver, etc.) used in the drive unit 170 (minimum curve radius, maximum acceleration, restrictions on control accuracy, etc.) may also lead to such deviations. Therefore, the prediction module 153 can determine the future movement of the robot based on the buffer of the control signal. A computational model can be used in doing so, which may take into account the inertia of the robot, the characteristics of the drive electronics, and / or the specific configuration of the drive unit (wheel position and size, etc.). can. The result is, for example, a change of position or orientation at one or more predetermined time intervals. This prediction is transmitted to the navigation unit 140 and can be taken into consideration during navigation and work planning.

安全モジュール151は、ナビゲーションユニット140とは無関係に独立してロボット100の自律的な動きの選択された安全関連の観点を監視するように構成されている。安全モジュール151は、ナビゲーションユニット140が危険な状況で応答しないか不適切な反応の際に介入するようにさらに構成される。不適切な反応とは、危険な状況を回避できないか、または別の危険な状況を引き起こす反応である。不適切な状況とは、たとえば、ロボット100が傾斜または転倒する可能性があり、それにより人間の介入なしではロボット100のさらなる動作が不可能になり、又は、ロボット、周囲の物体、床、又は、周りに立っている人に損傷が発生し得る反応である。この点において、安全モジュール151は、ナビゲーションユニット140によって計画されたロボットの動きを「フィルタリング」、すなわち拒否又は修正し得る。 The safety module 151 is configured to monitor selected safety-related perspectives of the autonomous movement of the robot 100 independently of the navigation unit 140. The safety module 151 is further configured to intervene in the event that the navigation unit 140 does not respond or responds inappropriately in dangerous situations. Inappropriate reactions are reactions that cannot avoid a dangerous situation or cause another dangerous situation. Inappropriate situations are, for example, the possibility of the robot 100 tilting or tipping over, which makes it impossible for the robot 100 to move further without human intervention, or the robot, surrounding objects, floors, or. , A reaction that can cause damage to those standing around. In this regard, the safety module 151 may "filter", ie reject or correct, the robot movements planned by the navigation unit 140.

ナビゲーションユニット140からの制御ユニット150の上述の機能的な独立性を達成するために、安全モジュール151を有する制御ユニット150は、上述のように独自のプロセッサとメモリモジュールを有してもよい。メモリモジュールには、プロセッサによって実行される危険検出用のソフトウェアを保存できる。しかし、安全モジュール151を有する制御ユニット150がプロセッサ及び/又はメモリモジュールをロボット100の他の1つまたは複数のユニットと共有することも可能である。一実施形態では、マルチコアプロセッサの1つのプロセッサコアが安全モジュール151を有する制御ユニット150に割り当てられ、他のプロセッサコアがロボット100の他のユニット(例えば、ナビゲーションユニット140)によって使用され得る。それにもかかわらず、安全モジュール151のソフトウェアは、ナビゲーションユニット140または他のユニットのソフトウェアとは機能的に独立して動作してもよい。制御ユニット150が独自のプロセッサとメモリモジュールを持っている(又はマルチコアプロセッサのプロセッサコアを独占的に使用している)場合、これにより干渉が減り、制御ユニット150の安全に関する安全モジュール151が高い信頼性で適時に応答できることがより容易に確実となる。制御センサ120からの情報を必ずしもリアルタイムで受信しないナビゲーションユニット140とは異なり、制御ユニット150ひいては安全モジュール151は、制御センサ120からのセンサ情報をリアルタイムで利用可能な状態にしており、したがって、危険な状況を迅速かつ確実に検出して対応することができる。 In order to achieve the above-mentioned functional independence of the control unit 150 from the navigation unit 140, the control unit 150 having the safety module 151 may have its own processor and memory module as described above. The memory module can store the danger detection software executed by the processor. However, it is also possible for the control unit 150 with the safety module 151 to share the processor and / or memory module with one or more other units of the robot 100. In one embodiment, one processor core of a multi-core processor may be assigned to a control unit 150 having a safety module 151, and the other processor core may be used by another unit of the robot 100 (eg, a navigation unit 140). Nevertheless, the software in safety module 151 may operate functionally independently of the software in the navigation unit 140 or other units . If the control unit 150 has its own processor and memory module (or exclusively uses the processor core of a multi-core processor), this reduces interference and the safety module 151 for the safety of the control unit 150 is highly reliable. It is easier and more reliable to be able to respond in a timely manner by sex. Unlike the navigation unit 140, which does not necessarily receive the information from the control sensor 120 in real time, the control unit 150 and thus the safety module 151 makes the sensor information from the control sensor 120 available in real time and is therefore dangerous. The situation can be detected and responded to quickly and reliably.

安全モジュール151の危険検出用のソフトウェアは、危険な状況および危険な状況での反応の、追跡可能な、したがって証明可能な、信頼できる検出を保証するために、可能な限り単純に構成され得る。一実施形態によれば、自律移動ロボット100の制御ユニット150が複数の安全モジュール151を有し、安全モジュール151のそれぞれは、特定の危険な状況に対応するように構成された危険検出ソフトウェアを有し、特定の危険な状況(例えば、階段から落下する差し迫った危険)に特化することも可能である。 The hazard detection software for the safety module 151 may be configured as simply as possible to ensure traceable, and thus provable, reliable detection of dangerous situations and reactions in dangerous situations. According to one embodiment, the control unit 150 of the autonomous mobile robot 100 has a plurality of safety modules 151, and each of the safety modules 151 has danger detection software configured to correspond to a specific dangerous situation. However, it is also possible to specialize in a particular dangerous situation (eg, the imminent danger of falling off a staircase).

例えば、安全モジュール151及び危険検出ソフトウェアの簡単化という目標を達成(し、したがって、安全モジュールの機能の簡単な検証を可能に)する1つの方法は、安全モジュール151に反応的及び/又は行動的ロボット工学の様々な概念を適用することである。そのような概念では、例えば、ロボット100の行動の仕方は、センサモジュール120の現在のセンサデータのみに基づいて決定される。そのような概念では、例えば、ロボット100の行動の仕方は、現在のセンサデータのみに基づいて決定される。しかし、そのような概念とは異なり、例外的な状況、例えば即時の危険が検出され、ナビゲーションモジュール140が適切に応答しない場合には、安全モジュール151は、ロボット100の計画された行動に介入するように構成されている。この目的のために、安全モジュール151は、ナビゲーションユニット140から動き及び作業情報並びに予測モジュール153の将来の動きの予測を受け取ることができる。動作情報が安全な動作を示す場合には、それはモータコントローラ152に渡される。安全でない動作の場合、動作情報は、モータコントローラ152に渡される前に、安全モジュール151によって変更または破棄され得る。追加的又は代替的に、安全モジュール151は、「緊急停止」のためのコマンドをモータコントローラ152に送信することができる。これにより、バッファに格納されたすべての制御信号が破棄され、ロボット100のブレーキの起動(及び場合によっては後方への移動)のための新しい制御信号が生成される。この目的のために、安全モジュール151は、制御センサ120によって供給される現在の(ナビゲーションユニット140から受信される)情報に基づいて禁止される又は潜在的に危険な動作情報であって、安全モジュール151の介入なしには事故につながる可能性がある動作情報を認識するように構成され得る。あるいは、安全モジュール151は、モータコントローラ152をバイパスして駆動ユニットを直接制御して、ロボットの動きにブレーキをかけてもよい。さらに、安全モジュール151は、駆動ユニットへの電流又は駆動ユニット内のモータを遮断してもよい。 For example, one way to achieve the goal of simplifying the safety module 151 and the hazard detection software (and thus allowing a simple verification of the function of the safety module) is responsive and / or behavioral to the safety module 151. Applying various concepts of robotics. In such a concept, for example, how the robot 100 behaves is determined based solely on the current sensor data of the sensor module 120. In such a concept, for example, how the robot 100 behaves is determined based solely on current sensor data. However, unlike such a concept, if an exceptional situation, such as an immediate danger, is detected and the navigation module 140 does not respond appropriately, the safety module 151 intervenes in the planned action of the robot 100. It is configured as follows. For this purpose, the safety module 151 can receive movement and work information as well as predictions of future movements of the prediction module 153 from the navigation unit 140. If the motion information indicates safe operation, it is passed to the motor controller 152. In the case of unsafe operation, the operation information may be modified or destroyed by the safety module 151 before being passed to the motor controller 152. Additional or alternative, the safety module 151 can send a command for "emergency stop" to the motor controller 152. As a result, all the control signals stored in the buffer are discarded, and a new control signal for activating the brake (and possibly moving backward) of the robot 100 is generated. For this purpose, the safety module 151 is prohibited or potentially dangerous operating information based on the current information (received from the navigation unit 140) supplied by the control sensor 120 and is a safety module. It may be configured to recognize motion information that may lead to an accident without the intervention of 151. Alternatively, the safety module 151 may bypass the motor controller 152 and directly control the drive unit to brake the movement of the robot. Further, the safety module 151 may cut off the current to the drive unit or the motor in the drive unit.

例えば、安全モジュール151は、安全センサ122として1つ以上の床距離センサに結合されてもよい。床距離センサが床までの距離が異常に高いことを示している場合(例えば、ロボットが縁を越えて走行しようとしている、又はロボットが高く持ち上げられているため)、安全モジュール151は、この状況を危険な状況であると判断し得る。関係するセンサがロボットの(進行方向の)正面にある場合、安全モジュール151は、現在の動きを潜在的に危険なものとして分類し、現在の動きの停止又は変更(例えば、後退など)することができる。この場合、安全モジュール151が危険な状況を検出するために使用する基準と、安全モジュール151が現在の動きを(危険又は危険でないと)評価するために使用する基準は実質的に同じである。進行方向の前方にある落下センサが距離の増加を示している場合、危険な状況が検出され、現在の動きが危険であると評価される。安全モジュールは、ナビゲーションユニット140によって計画された前方移動を破棄し、現在の移動を停止する。特定の危険な状況が検出された際には(たとえば、エッジからの差し迫った落下が検出された場合)、安全モジュールはロボットの現在の動きを即座に停止し得る(実質的に現在の動きのいかなる継続も不適切/危険と見なされるため)。 For example, the safety module 151 may be coupled to one or more floor distance sensors as a safety sensor 122. If the floor distance sensor indicates that the distance to the floor is unusually high (eg, because the robot is trying to travel across the edge, or because the robot is lifted high), the safety module 151 will be in this situation. Can be judged to be a dangerous situation. If the sensor involved is in front of the robot (in the direction of travel), the safety module 151 classifies the current movement as potentially dangerous and stops or changes the current movement (eg, retreat). Can be done. In this case, the criteria used by the safety module 151 to detect a dangerous situation and the criteria used by the safety module 151 to evaluate the current movement (not dangerous or dangerous) are substantially the same. If the drop sensor in front of the direction of travel indicates an increase in distance, a dangerous situation is detected and the current movement is evaluated as dangerous. The safety module discards the forward movement planned by the navigation unit 140 and stops the current movement. When a particular dangerous situation is detected (for example, when an imminent fall from the edge is detected), the safety module can immediately stop the robot's current movement (substantially the current movement). Any continuation is considered inappropriate / dangerous).

ナビゲーションユニット140が送信した移動情報を評価するために制御センサ120が出力する情報が評価され得る。例えば、制御センサ120の情報は、ロボット100の内部状態(ステータスセンサ124)及び/又は環境(安全センサ122)に関連し得る。したがって、この情報は、例えば、ロボット100の環境に関連する情報、例えば、立ち下がりエッジ、敷居、障害物の位置、または障害物(例えば、人)の移動などを含み得る。ロボット100の環境に関して受信された情報は、安全モジュール151によって、ロボット100の現在の動き(モーションセンサ123)又は計画された動き(予測モジュール153)に関する情報と結合され得る。情報は、受信された直後に安全モジュール151内で処理されてもよく、及び/又は、処理及び/又は考慮される前に、最初に、予め定められた期間又は予め定められた距離(ロボット100によって移動された距離)の間、安全モジュール151に格納されてもよい。 The information output by the control sensor 120 may be evaluated in order to evaluate the movement information transmitted by the navigation unit 140. For example, the information in the control sensor 120 may be related to the internal state of the robot 100 (status sensor 124) and / or the environment (safety sensor 122). Thus, this information may include, for example, information related to the environment of the robot 100, such as falling edges, thresholds, the location of obstacles, or the movement of obstacles (eg, people). The information received about the environment of the robot 100 can be combined by the safety module 151 with the information about the current movement (motion sensor 123) or the planned movement (prediction module 153) of the robot 100. The information may be processed within the safety module 151 immediately after it is received and / or before it is processed and / or considered, first for a predetermined period or a predetermined distance (robot 100). It may be stored in the safety module 151 during the distance traveled by.

加えて、受信された情報はまた、例えばナビゲーションユニット140によって作成及び使用されるロボット100の環境の地図データに関連してもよい。たとえば、地図データには、立ち下がりエッジまたはその他の障害物に関する情報が含まれ得る。ロボット100は、通常の動作では、地図上の現在の自身の位置を「知って」いる。 In addition, the received information may also relate to, for example, map data of the environment of the robot 100 created and used by the navigation unit 140. For example, map data may contain information about falling edges or other obstacles. In normal operation, the robot 100 "knows" its current position on the map.

受信された情報に基づいて、安全モジュール151は、危険な状況が存在するかどうかを確認し得る。危険な状況とは、たとえば、立ち下がりエッジ、ロボット100の不利な場所(たとえば、湿った、滑らかな、急傾斜な、または不均一な表面)、または、ロボット100のすぐ近くの環境に障害物があること、又は、これらに向かう障害物(例えば、人)があることである。危険な状況が検出されない場合、何もせず、安全モジュール151は、移動情報を変更せずにモータコントローラ152に渡す。 Based on the information received, the safety module 151 may check if a dangerous situation exists. Dangerous situations are, for example, falling edges, disadvantaged locations of Robot 100 (eg, damp, smooth, steep or uneven surfaces), or obstacles to the environment in the immediate vicinity of Robot 100. There are, or there are obstacles (eg, people) towards them. If no dangerous situation is detected, nothing is done and the safety module 151 passes the movement information unchanged to the motor controller 152.

安全モジュール151が危険な状況を検出した場合、安全モジュール151は、まず、危険な状況を検出したことをナビゲーションユニット140に通知することができる。例えば、検出された立ち下がりエッジ又は切迫した衝突に関する情報がナビゲーションユニット140に送信されてもよい。しかしながら、検出された危険状況についてナビゲーションユニット140に通知することは必ずしも必要ではない。安全モジュール151は、「サイレントオブザーバ」としても機能し、ナビゲーションユニット140に通知することなく危険状況を検査することができる。この場合、前述したように、センサ情報(例えば、タイムスタンプ付きのオドメトリ情報)のみが送信されることになる。さらに、安全モジュール151は、ナビゲーションユニット140が、検出された危険状況に適切に応答しているかどうかを検査してもよい。すなわち、安全モジュール151は、ナビゲーションユニット140の移動情報が、ロボット100を障害物(または、立ち下がりエッジなど)に向わせる(それにより危険状況を悪化させる)か、又はロボット100を危険な状況から遠ざけるように操舵、減速、又は停止させているかを検査し得る。この目的のために、安全モジュール151は、識別された危険状況に応じて、最初に、どの動きが原則としてロボット100の事故につながり得るかを判定し得る。たとえば、事故につながる可能性のある動きは「危険な動き」に分類され、事故につながる可能性が低い動きは「安全な動き」と分類され得る。危険な動きは、例えば、ロボット100が直接、立ち下がりエッジ又は障害物に向かって移動する(又はそこから離れない)動きである。また、ロボット100が障害物にぶつかり、それにより、よろめき、落下、転倒するか、又は接触により障害物を損傷する可能性のある動きは、危険として分類することができる。 When the safety module 151 detects a dangerous situation, the safety module 151 can first notify the navigation unit 140 that the dangerous situation has been detected. For example, information about detected falling edges or imminent collisions may be transmitted to the navigation unit 140. However, it is not always necessary to notify the navigation unit 140 of the detected danger situation. The safety module 151 also functions as a "silent observer" and can inspect the danger situation without notifying the navigation unit 140. In this case, as described above, only the sensor information (for example, the odometry information with a time stamp) will be transmitted. In addition, the safety module 151 may inspect whether the navigation unit 140 is responding appropriately to the detected hazard situation. That is, in the safety module 151, the movement information of the navigation unit 140 directs the robot 100 to an obstacle (or a falling edge, etc.) (thus exacerbating the dangerous situation), or makes the robot 100 a dangerous situation. It can be inspected for steering, deceleration, or stopping to keep away from. For this purpose, the safety module 151 may first determine which movement, in principle, could lead to an accident on the robot 100, depending on the identified hazard situation. For example, movements that may lead to an accident may be classified as "dangerous movements" and movements that are unlikely to lead to an accident may be classified as "safe movements". A dangerous movement is, for example, a movement in which the robot 100 moves (or does not leave) directly toward (or stays at) a falling edge or obstacle. Also, movements in which the robot 100 hits an obstacle and thereby staggers, falls, falls, or may damage the obstacle by contact can be classified as dangerous.

動きを安全又は危険として分類した後、安全モジュール151は、ロボット100の現在の動きが危険な動き又は安全な動きであるかどうかを検査し得る。安全モジュール151は、例えば、ロボット100がまだ危険な状況に向かって動いているか、それとも障害物を通り抜ける可能性があるか、方向を変えて危険な状況から離れるかを検査することができる。この目的のために、安全モジュール151は、例えば、予測モジュール153の予測、オドメトリ情報(モーションセンサ123)及び/又はナビゲーションユニット140から送信された移動情報を使用して、解析してもよい。ロボット100が危険な動きをしていることを安全モジュールが認識すると、ロボット100および周囲の物体の安全を確保し、事故を回避又は少なくとも軽減する対策(安全対策)を開始する。対策としては、例えば、ナビゲーションユニット140の移動情報を破棄したり、変更したりすることが挙げられる。安全モジュール151の制御信号は、例えば、ロボット100に対してその方向及び/又はその速度を変化させる、方向及び/又は速度コマンドを含むこともできる。たとえば、移動する物体がロボットの予定している経路を横切るときに速度を下げることで、事故を回避できる。多くの場合、例えば、ロボット100が速度を変えずに、わずかに又はそれ以上に方向を変えれば十分であり得る。同様に、ロボット100が完全に反対の方向に移動すること、すなわち、例えば、180°回転又は逆走することも考えられる。通常は、ロボット100を停止(緊急停止)することで事故を確実に防止することができる。 After classifying the movement as safe or dangerous, the safety module 151 may inspect whether the current movement of the robot 100 is a dangerous or safe movement. The safety module 151 can, for example, inspect whether the robot 100 is still moving towards a dangerous situation, or is likely to pass through an obstacle, or turn around to leave the dangerous situation. For this purpose, the safety module 151 may be analyzed using, for example, the prediction, odometry information (motion sensor 123) of the prediction module 153 and / or the movement information transmitted from the navigation unit 140. When the safety module recognizes that the robot 100 is making dangerous movements, it secures the safety of the robot 100 and surrounding objects, and starts measures (safety measures) for avoiding or at least mitigating accidents. As a countermeasure, for example, the movement information of the navigation unit 140 may be discarded or changed. The control signal of the safety module 151 may also include, for example, a direction and / or speed command that changes its direction and / or its speed with respect to the robot 100. For example, accidents can be avoided by slowing down when a moving object crosses the robot's planned path. In many cases, for example, it may be sufficient for the robot 100 to change direction slightly or more without changing speed. Similarly, it is conceivable that the robot 100 will move in the completely opposite direction, i.e., for example, rotate 180 ° or run backwards. Normally, an accident can be reliably prevented by stopping the robot 100 (emergency stop).

上述したように、安全モジュール151がナビゲーションユニットからの移動情報を破棄又は修正した場合、安全モジュール151がナビゲーションユニット140に対策を通知することが(任意に)可能である。ナビゲーションユニット140は、この情報の受信を確認し得る。この確認は、例えば、ナビゲーションユニット140が、検出された危険な状況に適合して修正された移動情報を送信することによってなされ得る。しかし、ナビゲーションユニット140が安全モジュール151に直接確認応答を送信するようにしてもよい。 As described above, when the safety module 151 discards or modifies the movement information from the navigation unit, the safety module 151 can (arbitrarily) notify the navigation unit 140 of the countermeasure. The navigation unit 140 may confirm receipt of this information. This confirmation may be made, for example, by the navigation unit 140 transmitting modified travel information adapted to the dangerous situation detected. However, the navigation unit 140 may send the acknowledgment directly to the safety module 151.

例えば、所定の時間(例えば、1秒)後にナビゲーションユニット140から応答がないか有効な応答がない場合、安全モジュール151は、ロボット100の安全な動作がもはや保証されないと想定し得る。この場合、ロボット100は、オプションで永久的に停止されてもよい。例えば、リスタートは、ユーザが積極的に許可してから、又は、ユーザ又は技術者によってロボット100が修理されて(例えば、センサのクリーニング)から、可能となり得る。 For example, if there is no response or valid response from the navigation unit 140 after a predetermined time (eg, 1 second), the safety module 151 can assume that the safe operation of the robot 100 is no longer guaranteed. In this case, the robot 100 may optionally be permanently stopped. For example, restart may be possible after the user has actively authorized or the robot 100 has been repaired by the user or technician (eg, cleaning the sensor).

本発明の実施形態によれば、ナビゲーションユニット140は、ロボット100のさらなる動作を可能にするために、安全モジュール151により危険と分類される動きを、それにもかかわらず実行させる要求を安全モジュール151に送信することができる。この要求は、ナビゲーションユニット140が安全モジュール151によって危険な動きに対する対策を通知された後に行われ得る。代替的または追加的に、要求を予防措置として行うことができ、これにより計画された動きについて安全モジュール151に事前に通知され得る。その結果、たとえば、計画された動きの中断を回避できる。安全モジュール151は、この要求を検査し、要求された動きが許可されるかどうかをナビゲーションユニット140に通知し得る。 According to an embodiment of the invention, the navigation unit 140 makes a request to the safety module 151 to nevertheless perform a movement classified as dangerous by the safety module 151 in order to allow further movement of the robot 100. Can be sent. This request may be made after the navigation unit 140 has been notified by the safety module 151 of countermeasures against dangerous movements. Alternatively or additionally, the request can be made as a precautionary measure, whereby the safety module 151 may be notified in advance of the planned movement. As a result, for example, interruptions in planned movements can be avoided. The safety module 151 may inspect this request and notify the navigation unit 140 whether the requested movement is permitted.

ロボットのセンサ(特にセンサモジュール122)は、多くのロボットにおいて、ロボット100の前方への移動、すなわち、通常の移動方向、すなわちロボット100の前の領域の方向のみを測定するように構成されている。つまり、ロボット100の背後の領域に関する情報をまったく提供しないか、非常に限られた情報のみを提供し得る。例えば、ロボット100の逆方向の走行は、例えば、5cm未満又は10cm未満の非常に短い距離だけが安全であると考えられ得る。したがって、これより長い逆方向の走行は、例えば、安全モジュール151によって不許可とされ得る。しかし、ロボット100がその電力供給手段を再充電できる基地局に到着するとき、又は離れるとき、例えば、より長い逆方向の走行が必要になる場合がある。原則として、安全モジュール150は、この場合、基地局への安全な到着及び基地局からの離脱が可能なようにユーザによって基地局が適切に配置されたと想定することができる。ロボット100が基地局に到着するか、基地局を離れるかしなければならず、このためにより長い逆方向の走行が必要な場合、ナビゲーションユニット140は安全モジュール151に対応する要求を送ることができる。次に、安全モジュール151は、例えば、ロボット100が実際に基地局にいるかどうかを検査することができる。例えば、このために、ロボット100の対応する充電接点に電圧が印加されているかどうかを確認できる。この場合、充電接点は、ロボットが充電ステーションにドッキングしたかどうかを検出することができる一種のステータスセンサ124を形成する。代替として、例えば、基地局にドッキングするとき、接触スイッチが閉じられるように構成できる。したがって、安全モジュール151は、接触スイッチが閉じているかどうかを検査することができる。これらは単なる例である。ロボット100が基地局にいるかどうかは、さらに他の適切な方法で確認することができる。安全モジュール151は、ロボット100が基地局にいることを検出すると、基地局を離れるのに必要な逆方向の走行の距離が通常の許容距離を超える場合であっても、それを許可し得る。しかしながら、ロボット100が基地局にいないことを安全モジュール151が検出した場合、逆方向の走行の通常許可された距離のみが許可され得る。これは単なる例である。安全モジュール151が、危険であると分類された動きを例外的に安全であるとみなし、それを許可する様々な他の状況が考えられる。 The robot's sensors (particularly the sensor module 122) are configured in many robots to measure only the forward movement of the robot 100, i.e., the normal direction of travel, i.e. the direction of the region in front of the robot 100. .. That is, it may provide no information about the area behind the robot 100 or only very limited information. For example, the reverse travel of the robot 100 may only be considered safe for very short distances of less than 5 cm or less than 10 cm, for example. Therefore, traveling in the opposite direction longer than this may be disallowed, for example, by the safety module 151. However, when the robot 100 arrives at or leaves a base station capable of recharging its power supply means, it may require, for example, a longer reverse travel. In principle, the safety module 150 can be assumed in this case to have the base station properly arranged by the user so that it can safely arrive at and leave the base station. If the robot 100 has to arrive at or leave the base station and thus requires longer reverse travel, the navigation unit 140 can send a request corresponding to the safety module 151. .. Next, the safety module 151 can inspect, for example, whether the robot 100 is actually at the base station. For example, for this purpose, it is possible to confirm whether or not a voltage is applied to the corresponding charging contact of the robot 100. In this case, the charging contacts form a kind of status sensor 124 that can detect whether the robot has docked to the charging station. Alternatively, for example, the contact switch can be configured to close when docked to a base station. Therefore, the safety module 151 can inspect whether the contact switch is closed. These are just examples. Whether or not the robot 100 is at the base station can be confirmed by yet another appropriate method. When the safety module 151 detects that the robot 100 is at the base station, it may allow it even if the reverse travel distance required to leave the base station exceeds the normal permissible distance. However, if the safety module 151 detects that the robot 100 is not at the base station, only normally permitted distances for traveling in the opposite direction may be permitted. This is just an example. There are various other situations in which the safety module 151 considers movements classified as dangerous to be exceptionally safe and allows them.

本発明のさらなる実施形態によれば、安全ユニット150、特に安全モジュール151は、自己テストを実行するように構成されている。この場合、自己テストは、例えば、安全モジュール150に属するメモリモジュールの読み取りテスト及び書き込みテストを有することができる。そのような自己テストが失敗した場合、ロボット100の動作がユーザによって許可されるまで、ロボット100は永久的に停止され、電源がオフにされ得る。自己テストに失敗した後は、原則としてロボット100の安全な動作が保証されない。自己テストは、たとえば、様々な部品の冗長構成によって実現することもできる。したがって、例えば、安全モジュール150のプロセッサ及び/又はメモリモジュールを重複して有することができ、両方のプロセッサで危険検出ソフトウェアを実行することが可能である。両方のプロセッサの結果が同一であるか、許容できる僅かな偏差である限り、安全モジュール151は適切に機能していると想定できる。 According to a further embodiment of the invention, the safety unit 150, in particular the safety module 151, is configured to perform a self-test. In this case, the self-test can have, for example, a read test and a write test of the memory module belonging to the safety module 150. If such a self-test fails, the robot 100 may be permanently stopped and powered off until the operation of the robot 100 is permitted by the user. After the self-test fails, the safe operation of the robot 100 is not guaranteed in principle. Self-testing can also be achieved, for example, by redundant configurations of various components. Thus, for example, the processor and / or memory module of the safety module 150 can be duplicated and the hazard detection software can be run on both processors. As long as the results of both processors are the same or have a small acceptable deviation, it can be assumed that the safety module 151 is functioning properly.

本発明の別の実施形態によれば、安全モジュール151は、制御センサ120の信頼できる動作を監視するように構成されてもよい。この際、安全に関係する情報を提供するセンサのみを監視すれば十分であり得る。このセンサの監視により、センサが、たとえば欠陥又は汚れによって、誤ったデータまたは信頼できないデータを供給しているかどうかを検出できる。この場合、監視されるセンサは、誤動作を個別に検出し、これらを安全モジュール151に報告するように構成され得る。代替的または追加的に、センサは、センサが完全に機能している間だけ、意味のある測定データを供給するように構成され得る。例えば、床面までの距離の一般的な値ではなく、床面までの距離がゼロ(または無限大)である場合、床面距離センサは機能しないことが検知される。代替的または追加的に、安全モジュール151は、センサから受信したデータの一貫性をチェックし得る。例えば、安全モジュール151は、ロボット100の動きを決定するために使用されるセンサデータ(モーションセンサ123、特にホイールエンコーダ)が、駆動ユニットの測定された消費電力(ステータスセンサ124、電流計、電圧計)と一致しているかどうかをチェックしてもよい。1つまたは複数の障害のあるセンサ信号が検出された場合、ロボット100の安全な動作を保証できないため、ユーザが再び動作を許可するまでロボットを永久に停止し、電源を切ることができる。 According to another embodiment of the invention, the safety module 151 may be configured to monitor the reliable operation of the control sensor 120. At this time, it may be sufficient to monitor only the sensors that provide safety-related information. Monitoring of this sensor can detect whether the sensor is supplying erroneous or unreliable data, for example due to defects or stains. In this case, the monitored sensors may be configured to individually detect the malfunctions and report them to the safety module 151. Alternatively or additionally, the sensor may be configured to supply meaningful measurement data only while the sensor is fully functional. For example, if the distance to the floor is zero (or infinite) rather than the general value of the distance to the floor, the floor distance sensor is detected to be non-functional. Alternatively or additionally, the safety module 151 may check the consistency of the data received from the sensor. For example, in the safety module 151, the sensor data (motion sensor 123, particularly the wheel encoder) used to determine the movement of the robot 100 is the measured power consumption of the drive unit (status sensor 124, ammeter, voltmeter). ) May be checked. If one or more faulty sensor signals are detected, the safe operation of the robot 100 cannot be guaranteed, so the robot can be permanently stopped and turned off until the user permits the operation again.

原則として、既知の危険な状況は、説明した方法で検出できる。既知の危険な状況は、ロボット100の安全性を確認するためのテスト状況で目的に合致するように調整できる。例えば、そのようなテストでは、ロボット100は、潜在的に危険な状況に意図的に持ち込まれ得る(例えば、ロボットを立ち下がりエッジの近くに配置する)。次に、ナビゲーションユニット140が誤った及び/又はランダムな移動情報を制御ユニット150に送信する場合をシミュレートすることができる。その後、安全モジュール151が確実に事故を防止できるかどうかを観察することができる。このために、ナビゲーションユニット140は、特別なテスト動作を可能にしてもよく、特別なテスト動作では、予め定義された移動パターンが生成され、及び/又は移動情報が通信ユニット130を介して(例えば、遠隔制御により)予め与えられ得る。 In principle, known dangerous situations can be detected by the methods described. The known dangerous situations can be adjusted to suit the purpose in the test situation to confirm the safety of the robot 100. For example, in such a test, the robot 100 can be deliberately brought into a potentially dangerous situation (eg, place the robot near the falling edge). Next, it is possible to simulate the case where the navigation unit 140 transmits erroneous and / or random movement information to the control unit 150. After that, it is possible to observe whether the safety module 151 can surely prevent the accident. To this end, the navigation unit 140 may allow a special test operation, in which a predefined movement pattern is generated and / or movement information is transmitted via the communication unit 130 (eg,). Can be given in advance (by remote control).

図4は、自律移動ロボット100の下側の平面図を例示的に示している。図4は、清掃ロボットの一例を示しており、ロボットの清掃モジュールは、明確にするために示されていない。図示されたロボット100は、駆動モジュール170に属する2つの駆動輪171(差動駆動)と、前輪172とを有する。前輪172は、例えば従動車輪であってもよく、それ自体は駆動力を持たず、床面上でロボット100の動きに伴って動くだけである。前輪172は、床面に実質的に垂直な軸を中心に360°回転可能であり得る(回転方向は図4に破線の矢印で示されている)。駆動輪171はそれぞれ、電気駆動装置(例えば、電気モータ)に接続され得る。駆動輪171の回転により、ロボット100は前進する。ロボット100は、床面距離センサ121を(安全センサ122の一部として)さらに有する。図4に示す例では、ロボット100は、3つの床面距離センサ121R、121M、121Lを有する。第1の床面距離センサ121Rは、例えば、ロボット100の右側(進行方向に見て)に配置される。このとき、第1の床面距離センサ121Rは、ロボット100を前部と後部とに等分する中心軸x上に配置する必要はない。例えば、第1の床面距離センサ121Rは、中心軸xからわずかに前方に配置され得る。例えば、第2の床面距離センサ121Lは、ロボット100の左側(移動方向に見て)に配置される。この場合、第2の床面距離センサ121Lも中心軸x上に配置する必要はない。第2の床面距離センサ12ILも同様に、中心軸xからわずかに前方に位置し得る。例えば、第3の床面距離センサ121Mは、ロボット100の正面中央に配置され得る。例えば、少なくとも1つの床面距離センサ121が各車輪の前に配置されており、前方に走行するときに車輪が立ち下がりエッジを通過する前に立ち下がりエッジが検出されるようになっている。 FIG. 4 schematically shows a plan view of the lower side of the autonomous mobile robot 100. FIG. 4 shows an example of a cleaning robot, the cleaning module of the robot is not shown for clarity. The illustrated robot 100 has two drive wheels 171 (differential drive) belonging to the drive module 170 and front wheels 172. The front wheel 172 may be, for example, a driven wheel, which itself has no driving force and only moves with the movement of the robot 100 on the floor surface. The front wheel 172 may be rotatable 360 ° about an axis substantially perpendicular to the floor (direction of rotation is indicated by the dashed arrow in FIG. 4). Each drive wheel 171 may be connected to an electric drive (eg, an electric motor). The rotation of the drive wheels 171 causes the robot 100 to move forward. The robot 100 further has a floor distance sensor 121 (as part of the safety sensor 122). In the example shown in FIG. 4, the robot 100 has three floor distance sensors 121R, 121M, and 121L. The first floor distance sensor 121R is arranged, for example, on the right side (viewed in the traveling direction) of the robot 100. At this time, the first floor distance sensor 121R does not need to arrange the robot 100 on the central axis x that equally divides the front part and the rear part. For example, the first floor distance sensor 121R may be located slightly anterior to the central axis x. For example, the second floor distance sensor 121L is arranged on the left side (viewed in the moving direction) of the robot 100. In this case, it is not necessary to arrange the second floor distance sensor 121L on the central axis x as well. Similarly, the second floor distance sensor 12IL may be located slightly anterior to the central axis x. For example, the third floor distance sensor 121M may be located in the center of the front of the robot 100. For example, at least one floor distance sensor 121 is arranged in front of each wheel so that the falling edge is detected before the wheel passes the falling edge when traveling forward.

床面距離センサ121は、ロボット100の床面までの距離を検出するように構成され、または少なくとも一定の間隔内に床面が存在するかどうかを検出するように構成される。ロボット100の通常の動作中、床面距離センサ121の距離、すなわちロボット100の床面までの距離はわずかしか変化しないため、床面距離センサ121は通常、比較的均一な値を供給する。特に、滑らかな床面では、通常、広範囲で床面までの距離はほぼ同じままである。例えば、駆動輪171および前輪172が沈む得るカーペット上では、値のわずかな偏差が生じる可能性がある。その結果、床面距離センサ121を備えたロボット本体の床面までの距離が減少し得る。階段などの立ち下がりエッジは、例えば、床面距離センサ121の少なくとも1つによって供給される値が急激に増加したときに検出することができる。例えば、少なくとも1つの床面距離センサ121によって測定された値が所定のしきい値を超えて増加する場合に、立ち下がりエッジを検出することができる。床面距離センサ121は、例えば、光学信号又は音響信号用の送信機と、送信された信号の反射を検出するように構成された受信機とを含み得る。可能な測定方法には、床面から反射された信号の強度の測定、三角測量、又は送信された信号とその反射の通過時間の測定が含まれる。たとえば、本発明の一実施形態によれば、床面距離センサ121は、床面までのセンサの正確な距離を決定せず、床面が所定の距離内で検出されたかどうかを示すブール信号を提供するだけである(たとえば、床面距離センサ121まで最大5cmの距離で検出される床面)。なお、センサ信号の実際の評価及び解釈は、制御ユニット150において行われ得る。 The floor distance sensor 121 is configured to detect the distance of the robot 100 to the floor surface, or to detect whether or not the floor surface is present at least within a certain interval. Since the distance of the floor distance sensor 121, that is, the distance to the floor of the robot 100, changes only slightly during the normal operation of the robot 100, the floor distance sensor 121 usually supplies a relatively uniform value. Especially on smooth floors, the distance to the floor usually remains about the same over a wide area. For example, on carpets where the drive wheels 171 and front wheels 172 can sink, slight deviations in values can occur. As a result, the distance to the floor surface of the robot body provided with the floor surface distance sensor 121 can be reduced. Falling edges such as stairs can be detected, for example, when the value supplied by at least one of the floor distance sensors 121 increases sharply. For example, a falling edge can be detected when the value measured by at least one floor distance sensor 121 increases beyond a predetermined threshold. The floor distance sensor 121 may include, for example, a transmitter for optical or acoustic signals and a receiver configured to detect reflections of the transmitted signal. Possible measurement methods include measuring the intensity of the signal reflected from the floor, triangulation, or measuring the transmitted signal and the transit time of the reflection. For example, according to one embodiment of the invention, the floor distance sensor 121 does not determine the exact distance of the sensor to the floor, but a Boolean signal indicating whether the floor is detected within a predetermined distance. It only provides (eg, a floor surface detected at a distance of up to 5 cm to the floor surface distance sensor 121). The actual evaluation and interpretation of the sensor signal may be performed in the control unit 150.

自律移動ロボットによって実行される一般的な動き(又は、ナビゲーションユニット140により計画され、移動情報の形式で制御ユニット140に送られる動き)には、前方への動き、右又は左の回転、およびこれらの動きの組み合わせが含まれる。ロボット100がそのような運動を行う際に立ち下がりエッジに向かって動くと、その運動は、少なくとも1つの床面距離センサ121によって検出される。単純な幾何学的考察により、ロボット100の事故(この場合は衝突)につながる可能性のある動きを決定することが可能である。例えば、ロボット100のサイドに配置された第1又は第2の床面距離センサ121R、121Lがトリガーされると、ロボット100は最大で、駆動輪171(車輪支持点)と床面距離センサ121R、121Lとの間の距離に対応する第1の距離L1だけ前方に移動しても良い。たとえば、ロボット100の前面にある第3の床面距離センサ121Mがトリガーされた場合、ロボット100は最大で、前輪172(車輪支持点)と第3の床面距離センサ121Mに対応する第2の距離L2だけ前方に移動しても良い。したがって、ロボット100は、全速力で走行中に立ち下がりエッジを検出し、減速のための制御信号を生成し、立ち下がりエッジの前で(すなわち、第1又は第2の距離L1、L2内で)停止できなければならない。特に、必要な個々の部品の反応時間、すなわち関係する安全センサ122、ナビゲーションユニット140、安全モジュール151を有する安全ユニット及び駆動ユニット170、並びにロボット100の速度、ロボット100を減速させる(負の)加速及び関連する制動距離が考慮される。例えば、安全モジュール151は、床面距離センサ121の少なくとも1つがトリガーされる限り、ロボット100の後退のみを許可にするように構成されてもよい。床面距離が許容最大値を超えていることが検出されると、床面距離センサがトリガーされる。 Common movements performed by autonomous mobile robots (or movements planned by the navigation unit 140 and sent to the control unit 140 in the form of movement information) include forward movements, right or left rotations, and these. Includes a combination of movements. When the robot 100 makes such a movement, it moves toward the falling edge, and the movement is detected by at least one floor distance sensor 121. With simple geometric considerations, it is possible to determine movements that could lead to an accident (in this case a collision) of the robot 100. For example, when the first or second floor distance sensors 121R, 121L arranged on the side of the robot 100 are triggered, the robot 100 has the maximum drive wheel 171 (wheel support point) and the floor distance sensor 121R. You may move forward by the first distance L1 corresponding to the distance between 121L. For example, when the third floor distance sensor 121M on the front surface of the robot 100 is triggered, the robot 100 has a maximum of a second wheel corresponding to the front wheel 172 (wheel support point) and the third floor distance sensor 121M. You may move forward by the distance L2. Therefore, the robot 100 detects the falling edge while traveling at full speed, generates a control signal for deceleration, and is in front of the falling edge (that is, within the first or second distances L1 and L2). You must be able to stop. In particular, the reaction times of the required individual parts, ie the safety sensors 122 involved, the navigation unit 140, the safety and drive units 170 with the safety module 151, and the speed of the robot 100, the (negative) acceleration that slows down the robot 100. And the associated braking distance are taken into account. For example, the safety module 151 may be configured to only allow the robot 100 to retreat as long as at least one of the floor distance sensors 121 is triggered. When it is detected that the floor distance exceeds the maximum allowable value, the floor distance sensor is triggered.

図4に示す例では、第2の距離L2は第1の距離L1よりも短い。第3の床面距離センサ121Mがトリガーされた後、立ち下がりエッジの前でロボット100が適時に停止することを保証できるようにするために、安全モジュール151は、例えば、第3の床面距離センサ121Mがトリガーされるやいなや、ナビゲーションユニット140からの全ての移動情報を破棄し、ロボット100を停止させる制御信号をモータコントローラに出力させるように構成されても良い。例えば、安全モジュール151は、時間がかかりすぎる可能性があるため、最初にナビゲーションユニット140の正しい挙動を検査しない場合がある。ロボット100の停止後に初めて、安全モジュール151は、例えば、ナビゲーションユニット140が、認識された状況に適した移動情報を、同様に、送信するかどうかを検査することができる。そのような状況に適した移動情報には、たとえば、ロボットを停止する、後退させる、又は立ち下がりエッジから遠ざかるように方向転換するコマンドが含まれる。このような移動情報は、安全モジュール151によってモータコントローラにそのまま(異議無しに)渡されることになる。しかしながら、安全モジュール151が、ナビゲーションユニット140によって危険な動き(例えば、前進)を実行するための移動情報が生成されていることを検知する場合、この移動情報を破棄することによりロボットの制御を保持又は引き継ぎ得る。 In the example shown in FIG. 4, the second distance L2 is shorter than the first distance L1. In order to ensure that the robot 100 stops in a timely manner in front of the falling edge after the third floor distance sensor 121M is triggered, the safety module 151 may, for example, provide a third floor distance. As soon as the sensor 121M is triggered, all movement information from the navigation unit 140 may be discarded and a control signal for stopping the robot 100 may be output to the motor controller. For example, the safety module 151 may not first check the correct behavior of the navigation unit 140 because it may take too long. Only after the robot 100 is stopped can the safety module 151, for example, inspect whether the navigation unit 140 also transmits movement information suitable for the perceived situation. Mobility information suitable for such situations includes, for example, commands to stop, retract, or turn the robot away from the falling edge. Such movement information will be passed as is (without objection) to the motor controller by the safety module 151. However, if the safety module 151 detects that the navigation unit 140 has generated movement information for performing dangerous movements (eg, forward movements), it retains control of the robot by discarding this movement information. Or it can be taken over.

第1又は第2の床面距離センサ121R、121Lがトリガーされる場合、例えば、危険を回避するためにロボット100が停止するまでより多くの時間が利用可能であるため、危険な状況に対するナビゲーションユニット140の反応を待つことで十分であり得る。例えば、そのような場合、安全モジュール151は、ロボット100が第3の距離L3を移動するのを待つことができる(例えば、L3=L1-L2)。このとき、ロボット100は、事故を回避するために利用可能な第2の距離L2に必要な時間のみを有する。したがって、第3の距離L3に必要な時間の間、安全モジュール151は、その移動情報を破棄したり、ロボット100を停止したりすることなく、ナビゲーションユニット140の自由にさせる得る。この間にナビゲーションユニット140が適切に応答する場合(ロボット100が検知された立ち下がりエッジから遠ざかる移動情報の場合)、安全モジュール151の介入は不要であり、安全モジュール151は、受動的な状態のままである(移動情報を変更せずに渡す)。第3の距離L3が既に走行されたかどうかは、例えば、経過時間及び/又は走行距離計により、ロボット100の可能な最大速度に基づいて決定することができる。例えば、安全モジュール151は、ナビゲーションユニット140が第1又は第2の床面距離センサ121R、121Lによる立ち下がりエッジの検出の後10ms以内にロボット100の停止及び/又は立ち下がりエッジから遠ざかる向きに走行させない場合は、ロボット100を停止し得る。距離L3の決定と、この距離を移動した時を判断する際には、予測モジュール153の移動予測を利用し得る。 When the first or second floor distance sensors 121R, 121L are triggered, for example, a navigation unit for dangerous situations because more time is available until the robot 100 stops to avoid danger. Waiting for 140 reactions may be sufficient. For example, in such a case, the safety module 151 can wait for the robot 100 to travel a third distance L3 (eg, L3 = L1-L2). At this time, the robot 100 has only the time required for the second distance L2 available to avoid the accident. Therefore, during the time required for the third distance L3, the safety module 151 can free the navigation unit 140 without discarding its movement information or stopping the robot 100. If the navigation unit 140 responds appropriately during this time (in the case of movement information moving away from the detected falling edge of the robot 100), no intervention by the safety module 151 is required and the safety module 151 remains passive. (Pass the movement information unchanged). Whether or not the third distance L3 has already been traveled can be determined based on the maximum possible speed of the robot 100, for example, by means of elapsed time and / or mileage meter. For example, the safety module 151 travels in a direction in which the navigation unit 140 stops and / or moves away from the falling edge of the robot 100 within 10 ms after the detection of the falling edge by the first or second floor distance sensors 121R, 121L. If not allowed, the robot 100 may be stopped. The movement prediction of the prediction module 153 can be used in determining the distance L3 and determining when the distance is traveled.

コストの理由から、図4に示すように、ロボット100は、ロボット100の前部に床面距離センサ121しか持たない場合も多く、その場合には、立ち下がりエッジはロボット100が前進するときにのみ検出できる。ロボット100は主に前進方向に移動するので、これは通常、立ち下がりエッジに関してロボット100の安全な動作を確保するのに十分である。状況によっては、障害物や立ち下がりエッジによって前方への動きがブロックされる場合がある。そのような状況では、この状況から抜け出すために、ロボット100は、全体として、またはその駆動輪171の少なくとも1つにより後方に移動することは避けられない可能性がある。しかし、ロボット100が自身の後方の経路を知っていれば、それだけ確かにロボット100は後方に走行できる。ロボット100がその経路を知らない場合、ロボット100の後部に床面距離センサがないため、例えば、ロボット100の後ろの立ち下がりエッジを認識できず、事故の危険がある。ロボット100が最後に移動した距離は、例えば直線として近似することができる。後進は、例えば、第4の距離Dに対して安全であると認識され得る。ここで、距離Dは、駆動輪171と、ロボット100の前側領域で床面距離センサ121が配置される円周Sとの間の距離である。ロボットが最後に第4の距離Dよりも短い距離だけ前方に移動した場合、前方に移動した最後の距離よりも大きくない距離だけ後退しても良い。前進と後退を組み合わせた場合、実際に移動した距離を(例えば、モーションセンサ123で)決定し、必要な後退移動を考慮し得る。 For cost reasons, as shown in FIG. 4, the robot 100 often has only the floor distance sensor 121 in front of the robot 100, in which case the falling edge is when the robot 100 moves forward. Can only be detected. This is usually sufficient to ensure safe movement of the robot 100 with respect to the falling edge, as the robot 100 moves primarily in the forward direction. In some situations, obstacles and falling edges may block forward movement. In such a situation, in order to get out of this situation, the robot 100 may inevitably move backwards as a whole or by at least one of its drive wheels 171. However, if the robot 100 knows the path behind itself, the robot 100 can certainly travel backward. If the robot 100 does not know the route, for example, the falling edge behind the robot 100 cannot be recognized because there is no floor distance sensor at the rear of the robot 100, and there is a risk of an accident. The distance that the robot 100 last traveled can be approximated as, for example, a straight line. The reverse can be perceived as safe, for example, for a fourth distance D. Here, the distance D is the distance between the drive wheel 171 and the circumference S in which the floor surface distance sensor 121 is arranged in the front region of the robot 100. If the robot finally moves forward by a distance shorter than the fourth distance D, it may retreat by a distance not greater than the last distance moved forward. When forward and backward are combined, the actual distance traveled (eg, with the motion sensor 123) can be determined and the required backward movement can be considered.

例えば、安全モジュール151は、その環境に関する情報を持たず、その背後に立ち下がりエッジがあるかどうかを知らない可能性があるため、ロボット100の電源投入直後に後方への移動を許可しないように構成され得る。例えば、ロボット100は、ユーザによって、テーブルの端近くのテーブル上に、または階段や踊り場に置かれた可能性がある。この際に、例えば、前方方向が障害物又は立ち下がりエッジによってブロックされている場合に、安全モジュール150は、ロボット100の後方への動きもブロックすることができる。例えば、上述のように、ナビゲーションユニット140は、基地局から離れる向きにロボット100を走行させようとする場合、対応する要求を安全モジュール151に送信することができる。安全モジュール151が、そのような要求に続いてロボット100が実際に基地局にいることを確認する場合には、安全モジュール151は、基地局から離れる方向に移動するのに必要とされる距離の後退移動を許可する。 For example, the safety module 151 does not have information about its environment and may not know if there is a falling edge behind it, so it should not allow backward movement immediately after the robot 100 is powered on. Can be configured. For example, the robot 100 may have been placed by the user on a table near the edge of the table, or on stairs or landings. At this time, for example, when the forward direction is blocked by an obstacle or a falling edge, the safety module 150 can also block the backward movement of the robot 100. For example, as described above, when the navigation unit 140 intends to drive the robot 100 away from the base station, the navigation unit 140 can transmit the corresponding request to the safety module 151. If the safety module 151 confirms that the robot 100 is actually at the base station following such a request, then the safety module 151 is the distance required to move away from the base station. Allow backward movement.

ロボット100の動きは、例えば走行距離計(例えば、ホイールエンコーダ)などのさまざまなセンサによって決定され、及び/又は予測モジュール153の制御信号に基づいて計算され得る。この場合、例えば、ロボット100が移動した、所定の時間間隔及び/又は移動間隔ごとの距離が保存され得る。さらに、例えば、安全な床面をより良く推定するために、床面距離センサ121の位置又は経路を保存することができる。 The movement of the robot 100 can be determined by various sensors such as, for example, a mileage meter (eg, a wheel encoder) and / or calculated based on the control signal of the prediction module 153. In this case, for example, the distance traveled by the robot 100 at predetermined time intervals and / or movement intervals may be stored. Further, for example, the position or path of the floor distance sensor 121 can be stored in order to better estimate the safe floor surface.

本発明の一実施形態によれば、ロボット100が、以前に、少なくとも円周Sの半径よりも大きい距離だけ前に移動した場合には、床面距離センサ121が配置される円周Sは、安全に走行可能な領域と見なすことができる。この場合、安全モジュール151は、ロボット100が後進駆動中(及び後進駆動と組み合わされた短い前進移動中)に後退方向の移動により円周Sから離れることを(例えば、制御コマンド及び/又は走行距離計の読み取りに基づいて)検出したときには、ロボット100を停止するように構成され得る。 According to one embodiment of the present invention, if the robot 100 has previously moved forward by at least a distance greater than the radius of the circumference S, the circumference S on which the floor distance sensor 121 is located will be: It can be regarded as a safe driving area. In this case, the safety module 151 causes the robot 100 to move away from the circumference S due to backward movement (eg, control command and / or mileage) during reverse drive (and short forward movement combined with reverse drive). Upon detection (based on meter readings), the robot 100 may be configured to stop.

衝突を避けるために、いくつかのセンサを共有して障害物を検出できる。例えば、安全センサ122は、障害物をロボットの近接領域において非接触で検出するように構成された光学センサ(例えば、床面距離センサとは異なる測定原理の赤外線センサ)を含む。安全センサ122は、例えば、接触した場合に視覚的に検出が困難な障害物(例えばガラスドア)を検出するように構成された触覚センサを備えてもよい。たとえば、触覚センサには、障害物に触れたときに閉じるように構成された接触スイッチを含み得る。例えば、触覚センサは、ロボット100の本体が障害物に衝突する前にロボット100が減速することを可能にするスプリング偏位手段をさらに含み得る。このような場合、安全モジュール151は、立ち下がりエッジの検出時に床面距離センサ121をトリガーするときと同様に振る舞う。 Obstacles can be detected by sharing several sensors to avoid collisions. For example, the safety sensor 122 includes an optical sensor configured to non-contactly detect an obstacle in the proximity region of the robot (eg, an infrared sensor with a measurement principle different from the floor distance sensor). The safety sensor 122 may include, for example, a tactile sensor configured to detect an obstacle (eg, a glass door) that is visually difficult to detect when in contact. For example, a tactile sensor may include a contact switch configured to close when touching an obstacle. For example, the tactile sensor may further include a spring displacement means that allows the robot 100 to decelerate before the body of the robot 100 collides with an obstacle. In such a case, the safety module 151 behaves in the same manner as when the floor distance sensor 121 is triggered when the falling edge is detected.

例えば、安全モジュール151は、ロボットの近くにある障害物を監視するように構成され得る。例えば、ロボット100から所定の距離内に障害物が検出された場合、安全モジュール151は、制限速度を超える速度での動きを阻止し得る。所定の距離は、障害物が検出される方向に依存し得る。例えば、通常、ロボット100の背後で検出された障害物によりロボット100の前方への動きに制限が加えられない。制限速度は、障害物までの距離及び/又は障害物が検出される方向に依存し得る。 For example, the safety module 151 may be configured to monitor obstacles near the robot. For example, if an obstacle is detected within a predetermined distance from the robot 100, the safety module 151 may prevent the robot from moving at a speed exceeding the speed limit. The predetermined distance may depend on the direction in which the obstacle is detected. For example, normally, an obstacle detected behind the robot 100 does not limit the forward movement of the robot 100. The speed limit may depend on the distance to the obstacle and / or the direction in which the obstacle is detected.

安全モジュール151は、生物(人間、ペット)がロボットの環境で適切な安全センサ122(例えば、温度画像)により検出されたときに、生物がどの速度でどの方向に移動するかに関係なく、所定の制限値より大きい速度及び/または加速度を防ぐように構成することもできる。例えば、最大速度を制限することにより、物体の予期しない動きに応答するために、ロボット100が利用できる時間が増加する。同時に、最高速度を制限すると、速度の低下によりロボット100の運動エネルギーが低下するため、人や動物の負傷やロボットや物体の損傷のリスクが低減する。ロボット100の加速を制限することにより、環境内の人々はロボット100の挙動をよりよく判断でき、ロボットの動きによりよく応答することができ、それによって事故のリスクも低減する。 The safety module 151 is predetermined regardless of the speed and direction in which the organism moves when the organism (human, pet) is detected by an appropriate safety sensor 122 (eg, temperature image) in the robot environment. It can also be configured to prevent speeds and / or accelerations greater than the limit of. For example, limiting the maximum speed increases the time available to the robot 100 to respond to unexpected movements of the object. At the same time, if the maximum speed is limited, the kinetic energy of the robot 100 is reduced due to the decrease in speed, so that the risk of injury to humans and animals and damage to the robot and objects is reduced. By limiting the acceleration of the robot 100, people in the environment can better judge the behavior of the robot 100 and respond better to the movement of the robot, thereby reducing the risk of accidents.

例えば、運搬ロボットなどの自律移動ロボット100のステータスセンサ124は、ロボット100が、物体を運んでいるか、及び、どんな物体(例えばグラスまたは皿)を運んでいるかを検出するように構成されたセンサを含み得る。この情報に基づいて、ロボットの動きが適合され制限され得る。例えば、ロボット100は、何も運ばない場合、より速く加速し、より速い速度で移動し得る。たとえば、皿などの平らな物体を運ぶ場合、グラスや瓶を運ぶ場合よりも速く加速し得る。 For example, the status sensor 124 of an autonomous mobile robot 100, such as a transport robot, is a sensor configured to detect whether the robot 100 is carrying an object and what object (eg, glass or dish) is being carried. Can include. Based on this information, the movement of the robot can be adapted and restricted. For example, the robot 100 can accelerate faster and move at a faster speed if it does not carry anything. For example, carrying a flat object such as a plate can accelerate faster than carrying a glass or bottle.

安全モジュール151は、作業ユニット160の機能を監視するようにさらに構成され得る。これは、特に、作業ユニット160の活動が、作業ユニット160自体のより大きな動き及び/又は駆動ユニット170によるロボット100の動きに関連する場合に有利となり得る。 The safety module 151 may be further configured to monitor the function of the work unit 160. This can be particularly advantageous if the activity of the work unit 160 is related to the larger movement of the work unit 160 itself and / or the movement of the robot 100 by the drive unit 170.

例えば、作業ユニット160は、ごみを収集するためのブラシを含み得る。回転ブラシは、例えば、散らばっている靴の靴紐、カーペットの縁、または電化製品のケーブルを巻き込み、それによってブロックされるリスクがある。ブラシの回転は、例えば回転数エンコーダによって測定できる。ブラシの回転が検出されなくなることで、ブラシがブロックされたことを検出できる。また、たとえば、ブラシモータの電力消費を特定し、それによってブラシがブロックされたことを検出することもできる。 For example, the working unit 160 may include a brush for collecting debris. Rotating brushes are at risk of being blocked by, for example, entwining the laces of scattered shoes, the edges of carpet, or the cables of appliances. The rotation of the brush can be measured, for example, by a rotation speed encoder. It can be detected that the brush is blocked by not detecting the rotation of the brush. It is also possible, for example, to identify the power consumption of the brush motor and thereby detect that the brush has been blocked.

ブロックされたブラシを解放するためのさまざまな方法が知られている。例えば、ブラシが空転に切り替わり、ロボット100が逆走し、その際にケーブルなどが再び巻き戻される。しかし、この方法には危険が伴う。ブラシがブロックされた状態でのロボット100の走行は、基本的に事故につながる可能性がある。ブラシに巻き付けられたケーブルが、例えば電気機器のケーブルである場合、ロボットが逆走の際にロボットと一緒に電気機器を引っ張る危険性が基本的にある。このような電気機器が高い位置、たとえば棚に配置されている場合、これは床に落ちて損傷する可能性がある。したがって、安全モジュール151は、例えば、ブラシを解放する手順が実行されるときにブラシがまだブロックされているかどうかを検出するように構成されてもよい。このような場合、物体に損傷を与えることなく前進も後退もできないため、ロボット100の移動が停止され得る。別の可能性は、ロボット100がその位置を変えることなく、ケーブルなどをブラシから解放するために、通常の移動方向とは反対の方向にブラシを回転させることである。 Various methods are known for releasing blocked brushes. For example, the brush switches to idling, the robot 100 runs in the reverse direction, and at that time, the cable or the like is rewound again. However, this method is dangerous. Running the robot 100 with the brush blocked may basically lead to an accident. If the cable wrapped around the brush is, for example, an electrical device cable, there is basically a risk that the robot will pull the electrical device with the robot when it runs backwards. If such electrical equipment is placed in a high position, eg on a shelf, it can fall to the floor and be damaged. Thus, the safety module 151 may be configured, for example, to detect if the brush is still blocked when the procedure for releasing the brush is performed. In such a case, the movement of the robot 100 may be stopped because neither forward nor backward can be performed without damaging the object. Another possibility is for the robot 100 to rotate the brush in a direction opposite to the normal direction of movement in order to release the cable or the like from the brush without changing its position.

次に、本発明の構成例を記載する。Next, a configuration example of the present invention will be described.

構成例1: Configuration example 1:
自律移動ロボットであって、 An autonomous mobile robot
制御信号を受信し、前記制御信号に従って前記自律移動ロボットを動かすように構成された駆動ユニット(170)と、 A drive unit (170) configured to receive a control signal and move the autonomous mobile robot according to the control signal, and a drive unit (170).
ナビゲーション特徴を検出するためのナビゲーションセンサ(125)と、 A navigation sensor (125) for detecting navigation features and
前記ナビゲーションセンサ(125)に結合され、前記ナビゲーションセンサ(125)から情報を受信し、前記自律移動ロボットの動きを計画するように構成されたナビゲーションユニット(140)と、 A navigation unit (140) coupled to the navigation sensor (125), receiving information from the navigation sensor (125), and configured to plan the movement of the autonomous mobile robot.
前記ナビゲーションユニット(140)によって計画された動きを表す動き情報を受信し、前記動き情報に基づいて前記制御信号を生成するように構成された制御ユニット(150)と、 A control unit (150) configured to receive motion information representing a motion planned by the navigation unit (140) and generate the control signal based on the motion information.
前記制御ユニット(150)に結合された更なるセンサ(120)と、 With a further sensor (120) coupled to the control unit (150),
を有し、 Have,
前記制御ユニット(150)は、前記更なるセンサ(120)から更なるセンサ情報を受信し、前記更なるセンサ情報を前処理し、前処理された前記センサ情報を予め定義されたフォーマットで前記ナビゲーションユニット(140)に提供し、 The control unit (150) receives further sensor information from the further sensor (120), preprocesses the further sensor information, and preprocesses the preprocessed sensor information in a predefined format. Provided to the unit (140)
前記ナビゲーションユニット(140)による前記自律移動ロボットの動きの計画は、前記ナビゲーションセンサ(125)からの情報と、前記制御ユニット(150)から提供された前処理されたセンサ情報に基づいて行われる The planning of the movement of the autonomous mobile robot by the navigation unit (140) is performed based on the information from the navigation sensor (125) and the preprocessed sensor information provided by the control unit (150).
自律移動ロボット。 Autonomous mobile robot.

構成例2: Configuration example 2:
構成例1に記載の自律移動ロボットであって、 The autonomous mobile robot according to the configuration example 1.
前記ナビゲーションユニット(140)及び前記制御ユニット(150)は機能的に独立しており、前記前処理されたセンサ情報のための前記予め定義されたフォーマットは、前記更なるセンサ(120)の実装とは独立している The navigation unit (140) and the control unit (150) are functionally independent, and the predefined format for the preprocessed sensor information is with the implementation of the further sensor (120). Is independent
自律移動ロボット。 Autonomous mobile robot.

構成例3: Configuration example 3:
構成例1又は構成例2に記載の自律移動ロボットであって、 The autonomous mobile robot according to the configuration example 1 or the configuration example 2.
前記制御ユニット(150)と前記ナビゲーションユニット(140)の両方が、同期したクロックジェネレータをそれぞれ有しており、 Both the control unit (150) and the navigation unit (140) each have a synchronized clock generator.
前記前処理されたセンサ情報のための前記予め定義されたフォーマットは、前記前処理されたセンサ情報に関連付けられたタイムスタンプを有し、及び/又は、前記ナビゲーションユニット(140)によって提供された前記動き情報は、計画された動きに関連付けられたタイムスタンプを有する The predefined format for the preprocessed sensor information has a time stamp associated with the preprocessed sensor information and / or the said provided by the navigation unit (140). The movement information has a time stamp associated with the planned movement.
自律移動ロボット。 Autonomous mobile robot.

構成例4: Configuration example 4:
構成例1乃至構成例3の何れか一項に記載の自律移動ロボットであって、 The autonomous mobile robot according to any one of the first to third configurations.
前記制御ユニット(150)及び前記ナビゲーションユニット(140)の両方は、異なるプロセッサ又はプロセッサコア上で実行されるソフトウェアによって少なくとも部分的に実装されている Both the control unit (150) and the navigation unit (140) are at least partially implemented by software running on different processors or processor cores.
自律移動ロボット。 Autonomous mobile robot.

構成例5: Configuration example 5:
構成例1乃至構成例3の何れか一項に記載の自律移動ロボットであって、 The autonomous mobile robot according to any one of the first to third configurations.
前記ナビゲーションユニット(140)は、第1のメモリ又はメモリ領域が割り当てられた第1の計算ユニットを有し、前記制御ユニット(150)は、第2のメモリ又はメモリ領域が割り当てられた第2の計算ユニットを有し、 The navigation unit (140) has a first memory or a first calculation unit to which a memory area is allocated, and the control unit (150) has a second memory or a second memory area to which the memory area is allocated. Has a calculation unit,
前記第1の計算ユニットは、前記自律移動ロボットの環境の地図を使用するナビゲーションソフトウェアを実行するように構成されている The first computing unit is configured to run navigation software that uses a map of the environment of the autonomous mobile robot.
自律移動ロボット。 Autonomous mobile robot.

構成例6: Configuration example 6:
構成例5に記載の自律移動ロボットであって、 The autonomous mobile robot according to the configuration example 5.
前記ナビゲーションソフトウェアは、前記第1の計算ユニット上で実行されると、前記ナビゲーションユニット(140)が、前記ナビゲーションセンサ(125)から受信した情報に基づいて前記自律移動ロボットの環境の地図を作成し、前記自律移動ロボットの前記地図上での位置及び向きを決定する When the navigation software is executed on the first calculation unit, the navigation unit (140) creates a map of the environment of the autonomous mobile robot based on the information received from the navigation sensor (125). , Determines the position and orientation of the autonomous mobile robot on the map.
自律移動ロボット。 Autonomous mobile robot.

構成例7: Configuration example 7:
構成例1乃至構成例6の何れか一項に記載の自律移動ロボットであって、 The autonomous mobile robot according to any one of the first to sixth configurations.
前記ナビゲーションユニット(140)は、特に前記自律移動ロボットの地図情報やステータス情報の提供のために外部デバイスとの通信を可能にする通信ユニット(130)のインターフェースを有する The navigation unit (140) has an interface of a communication unit (130) that enables communication with an external device, particularly for providing map information and status information of the autonomous mobile robot.
自律移動ロボット。 Autonomous mobile robot.

構成例8: Configuration example 8:
構成例7に記載の自律移動ロボットであって、 The autonomous mobile robot according to the configuration example 7.
前記ナビゲーションユニット(140)は、前記通信ユニット(130)を介して受信したコマンドに応じて、前記自律移動ロボットの動きの計画を実行するように構成されている自律移動ロボット。 The navigation unit (140) is an autonomous mobile robot configured to execute a movement plan of the autonomous mobile robot in response to a command received via the communication unit (130).

構成例9: Configuration example 9:
構成例1乃至構成例8の何れか一項に記載の自律移動ロボットであって、 The autonomous mobile robot according to any one of Configuration Example 1 to Configuration Example 8.
前記更なるセンサ(120)は、前記自律移動ロボットに近接する環境に関する情報を検出する安全センサ(122)を含み、及び/又は、 The additional sensor (120) includes a safety sensor (122) that detects information about the environment in close proximity to the autonomous mobile robot and / or.
前記更なるセンサ(120)は、前記自律移動ロボットの現在の動きに関する情報を検出するモーションセンサ(123)を含み、及び/又は、 The additional sensor (120) includes a motion sensor (123) that detects information about the current movement of the autonomous mobile robot and / or.
前記更なるセンサ(120)は、前記自律移動ロボットの状態に関する情報を検出するステータスセンサ(124)を含む The additional sensor (120) includes a status sensor (124) that detects information about the state of the autonomous mobile robot.
自律移動ロボット。 Autonomous mobile robot.

構成例10: Configuration example 10:
構成例9に記載の自律移動ロボットであって、 The autonomous mobile robot according to the configuration example 9.
前記モーションセンサ(123)が距離センサであり、前処理された前記センサ情報が、距離センサによって提供されたセンサ信号に依存する情報を含む The motion sensor (123) is a distance sensor, and the preprocessed sensor information includes information depending on a sensor signal provided by the distance sensor.
自律移動ロボット。 Autonomous mobile robot.

構成例11: Configuration example 11:
構成例1乃至構成例10の何れか一項に記載の自律移動ロボットであって、 The autonomous mobile robot according to any one of the first to tenth configurations.
前記制御ユニット(150)は、前記ナビゲーションユニット(140)から受信した動き情報をチェックして、前記計画された動きが危険な状況を引き起こすかどうか、又は危険な状況を引き起こす可能性があるかどうかを、前記更なるセンサ情報を考慮して決定するように構成された安全モジュール(151)を含む The control unit (150) checks the motion information received from the navigation unit (140) to see if the planned motion causes or may cause a dangerous situation. Includes a safety module (151) configured to take into account the additional sensor information.
自律移動ロボット。 Autonomous mobile robot.

構成例12: Configuration example 12:
自律移動ロボットのための方法であって、 A method for autonomous mobile robots
ナビゲーション特徴を検出するナビゲーションセンサによって提供される情報に基づいて、前記自律移動ロボットのナビゲーションユニット(140)で前記自律移動ロボットの動きを計画するステップと、 A step of planning the movement of the autonomous mobile robot in the navigation unit (140) of the autonomous mobile robot based on the information provided by the navigation sensor that detects the navigation feature.
前記ナビゲーションユニット(140)によって計画された動きを表す動き情報を前記自律移動ロボットの制御ユニット(150)に送信するステップと、 A step of transmitting motion information representing a motion planned by the navigation unit (140) to the control unit (150) of the autonomous mobile robot, and
前記制御ユニット(150)において、送信された前記動き情報に基づいて前記自律移動ロボットの駆動ユニット(170)の制御信号を生成するステップと、 A step of generating a control signal of the drive unit (170) of the autonomous mobile robot based on the transmitted motion information in the control unit (150).
更なるセンサ(120)から更なるセンサ情報を受信し、前記制御ユニット(150)によって前記更なるセンサ情報を前処理し、前処理された前記センサ情報を予め定義されたフォーマットで準備するステップと、 A step of receiving further sensor information from a further sensor (120), preprocessing the further sensor information by the control unit (150), and preparing the preprocessed sensor information in a predefined format. ,
前記前処理されたセンサ情報を前記予め定義されたフォーマットで前記ナビゲーションユニット(150)に送信するステップと、 A step of transmitting the preprocessed sensor information to the navigation unit (150) in the predefined format.
を有し、 Have,
前記ナビゲーションユニット(140)による前記自律移動ロボットの動きの計画は、前記ナビゲーションセンサ(125)からの情報と前記制御ユニット(150)によって提供された前記前処理されたセンサ情報に基づいて行われる The planning of the movement of the autonomous mobile robot by the navigation unit (140) is performed based on the information from the navigation sensor (125) and the preprocessed sensor information provided by the control unit (150).
方法。 Method.

100…自律移動ロボット
120…センサ
122…安全センサ
123…モーションセンサ
124…ステータスセンサ
125…ナビゲーションセンサ
130…通信ユニット
140…ナビゲーションユニット
145…クロックジェネレータ
150…制御ユニット
151…安全モジュール
170…駆動ユニット
300…外部デバイス
100 ... Autonomous mobile robot 120 ... Sensor 122 ... Safety sensor 123 ... Motion sensor 124 ... Status sensor 125 ... Navigation sensor 130 ... Communication unit 140 ... Navigation unit 145 ... Clock generator 150 ... Control unit 151 ... Safety module 170 ... Drive unit 300 ... External device

Claims (12)

自律移動ロボットであって、
制御信号を受信し、前記制御信号に従って前記自律移動ロボットを動かすように構成された駆動ユニット(170)と、
ナビゲーション特徴を検出するためのナビゲーションセンサ(125)と、
前記ナビゲーションセンサ(125)に結合され、前記ナビゲーションセンサ(125)から情報を受信し、前記自律移動ロボットの動きを計画するように構成されたナビゲーションユニット(140)と、
前記ナビゲーションユニット(140)によって計画された動きを表す動き情報を受信し、前記動き情報に基づいて前記制御信号を生成するように構成された制御ユニット(150)と、
前記制御ユニット(150)に結合された更なるセンサ(120)と、
を有し、
前記制御ユニット(150)は、前記更なるセンサ(120)から更なるセンサ情報を受信し、前記更なるセンサ情報を前処理し、前処理された前記センサ情報を予め定義されたフォーマットで前記ナビゲーションユニット(140)に提供し、
前記ナビゲーションユニット(140)による前記自律移動ロボットの動きの計画は、前記ナビゲーションセンサ(125)からの情報と、前記制御ユニット(150)から提供された前処理されたセンサ情報に基づいて行われる
自律移動ロボット。
An autonomous mobile robot
A drive unit (170) configured to receive a control signal and move the autonomous mobile robot according to the control signal, and a drive unit (170).
A navigation sensor (125) for detecting navigation features and
A navigation unit (140) coupled to the navigation sensor (125), receiving information from the navigation sensor (125), and configured to plan the movement of the autonomous mobile robot.
A control unit (150) configured to receive motion information representing a motion planned by the navigation unit (140) and generate the control signal based on the motion information.
With a further sensor (120) coupled to the control unit (150),
Have,
The control unit (150) receives further sensor information from the further sensor (120), preprocesses the further sensor information, and preprocesses the preprocessed sensor information in a predefined format. Provided to the unit (140)
The planning of the movement of the autonomous mobile robot by the navigation unit (140) is performed autonomously based on the information from the navigation sensor (125) and the preprocessed sensor information provided by the control unit (150). Mobile robot.
請求項1に記載の自律移動ロボットであって、
前記ナビゲーションユニット(140)及び前記制御ユニット(150)は機能的に独立しており、前記前処理されたセンサ情報のための前記予め定義されたフォーマットは、前記更なるセンサ(120)の実装とは独立している
自律移動ロボット。
The autonomous mobile robot according to claim 1.
The navigation unit (140) and the control unit (150) are functionally independent, and the predefined format for the preprocessed sensor information is with the implementation of the further sensor (120). Is an independent autonomous mobile robot.
請求項1又は請求項2に記載の自律移動ロボットであって、
前記制御ユニット(150)と前記ナビゲーションユニット(140)の両方が、同期したクロックジェネレータをそれぞれ有しており、
前記前処理されたセンサ情報のための前記予め定義されたフォーマットは、前記前処理されたセンサ情報に関連付けられたタイムスタンプを有し、及び/又は、前記ナビゲーションユニット(140)によって提供された前記動き情報は、計画された動きに関連付けられたタイムスタンプを有する
自律移動ロボット。
The autonomous mobile robot according to claim 1 or 2.
Both the control unit (150) and the navigation unit (140) each have a synchronized clock generator.
The predefined format for the preprocessed sensor information has a time stamp associated with the preprocessed sensor information and / or the said provided by the navigation unit (140). Motion information is an autonomous mobile robot with a time stamp associated with a planned motion.
請求項1乃至請求項3の何れか一項に記載の自律移動ロボットであって、
前記制御ユニット(150)及び前記ナビゲーションユニット(140)の両方は、異なるプロセッサ又はプロセッサコア上で実行されるソフトウェアによって少なくとも部分的に実装されている
自律移動ロボット。
The autonomous mobile robot according to any one of claims 1 to 3.
Both the control unit (150) and the navigation unit (140) are autonomous mobile robots that are at least partially implemented by software running on different processors or processor cores.
請求項1乃至請求項3の何れか一項に記載の自律移動ロボットであって、
前記ナビゲーションユニット(140)は、第1のメモリ又はメモリ領域が割り当てられた第1の計算ユニットを有し、前記制御ユニット(150)は、第2のメモリ又はメモリ領域が割り当てられた第2の計算ユニットを有し、
前記第1の計算ユニットは、前記自律移動ロボットの環境の地図を使用するナビゲーションソフトウェアを実行するように構成されている
自律移動ロボット。
The autonomous mobile robot according to any one of claims 1 to 3.
The navigation unit (140) has a first memory or a first calculation unit to which a memory area is allocated, and the control unit (150) has a second memory or a second memory area to which the memory area is allocated. Has a calculation unit,
The first calculation unit is an autonomous mobile robot configured to execute navigation software that uses a map of the environment of the autonomous mobile robot.
請求項5に記載の自律移動ロボットであって、
前記ナビゲーションソフトウェアは、前記第1の計算ユニット上で実行されると、前記ナビゲーションユニット(140)が、前記ナビゲーションセンサ(125)から受信した情報に基づいて前記自律移動ロボットの環境の地図を作成し、前記自律移動ロボットの前記地図上での位置及び向きを決定する
自律移動ロボット。
The autonomous mobile robot according to claim 5.
When the navigation software is executed on the first calculation unit, the navigation unit (140) creates a map of the environment of the autonomous mobile robot based on the information received from the navigation sensor (125). , An autonomous mobile robot that determines the position and orientation of the autonomous mobile robot on the map.
請求項1乃至請求項6の何れか一項に記載の自律移動ロボットであって、
前記ナビゲーションユニット(140)は、特に前記自律移動ロボットの地図情報やステータス情報の提供のために外部デバイスとの通信を可能にする通信ユニット(130)のインターフェースを有する
自律移動ロボット。
The autonomous mobile robot according to any one of claims 1 to 6.
The navigation unit (140) is an autonomous mobile robot having an interface of a communication unit (130) that enables communication with an external device, particularly for providing map information and status information of the autonomous mobile robot.
請求項7に記載の自律移動ロボットであって、
前記ナビゲーションユニット(140)は、前記通信ユニット(130)を介して受信したコマンドに応じて、前記自律移動ロボットの動きの計画を実行するように構成されている自律移動ロボット。
The autonomous mobile robot according to claim 7.
The navigation unit (140) is an autonomous mobile robot configured to execute a movement plan of the autonomous mobile robot in response to a command received via the communication unit (130).
請求項1乃至請求項8の何れか一項に記載の自律移動ロボットであって、
前記更なるセンサ(120)は、前記自律移動ロボットに近接する環境に関する情報を検出する安全センサ(122)を含み、及び/又は、
前記更なるセンサ(120)は、前記自律移動ロボットの現在の動きに関する情報を検出するモーションセンサ(123)を含み、及び/又は、
前記更なるセンサ(120)は、前記自律移動ロボットの状態に関する情報を検出するステータスセンサ(124)を含む
自律移動ロボット。
The autonomous mobile robot according to any one of claims 1 to 8.
The additional sensor (120) includes a safety sensor (122) that detects information about the environment in close proximity to the autonomous mobile robot and / or.
The additional sensor (120) includes a motion sensor (123) that detects information about the current movement of the autonomous mobile robot and / or.
The further sensor (120) is an autonomous mobile robot including a status sensor (124) that detects information about the state of the autonomous mobile robot.
請求項9に記載の自律移動ロボットであって、
前記モーションセンサ(123)が距離センサであり、前処理された前記センサ情報が、距離センサによって提供されたセンサ信号に依存する情報を含む
自律移動ロボット。
The autonomous mobile robot according to claim 9 .
An autonomous mobile robot in which the motion sensor (123) is a distance sensor, and the preprocessed sensor information includes information depending on a sensor signal provided by the distance sensor.
請求項1乃至請求項10の何れか一項に記載の自律移動ロボットであって、
前記制御ユニット(150)は、前記ナビゲーションユニット(140)から受信した動き情報をチェックして、前記計画された動きが危険な状況を引き起こすかどうか、又は危険な状況を引き起こす可能性があるかどうかを、前記更なるセンサ情報を考慮して決定するように構成された安全モジュール(151)を含む
自律移動ロボット。
The autonomous mobile robot according to any one of claims 1 to 10.
The control unit (150) checks the motion information received from the navigation unit (140) to see if the planned motion causes or may cause a dangerous situation. An autonomous mobile robot comprising a safety module (151) configured to take into account the further sensor information.
自律移動ロボットのための方法であって、
ナビゲーション特徴を検出するナビゲーションセンサによって提供される情報に基づいて、前記自律移動ロボットのナビゲーションユニット(140)で前記自律移動ロボットの動きを計画するステップと、
前記ナビゲーションユニット(140)によって計画された動きを表す動き情報を前記自律移動ロボットの制御ユニット(150)に送信するステップと、
前記制御ユニット(150)において、送信された前記動き情報に基づいて前記自律移動ロボットの駆動ユニット(170)の制御信号を生成するステップと、
更なるセンサ(120)から更なるセンサ情報を受信し、前記制御ユニット(150)によって前記更なるセンサ情報を前処理し、前処理された前記センサ情報を予め定義されたフォーマットで準備するステップと、
前記前処理されたセンサ情報を前記予め定義されたフォーマットで前記ナビゲーションユニット(150)に送信するステップと、
を有し、
前記ナビゲーションユニット(140)による前記自律移動ロボットの動きの計画は、前記ナビゲーションセンサ(125)からの情報と前記制御ユニット(150)によって提供された前記前処理されたセンサ情報に基づいて行われる
方法。
A method for autonomous mobile robots
A step of planning the movement of the autonomous mobile robot in the navigation unit (140) of the autonomous mobile robot based on the information provided by the navigation sensor that detects the navigation feature.
A step of transmitting motion information representing a motion planned by the navigation unit (140) to the control unit (150) of the autonomous mobile robot, and
A step of generating a control signal of the drive unit (170) of the autonomous mobile robot based on the transmitted motion information in the control unit (150).
A step of receiving further sensor information from a further sensor (120), preprocessing the further sensor information by the control unit (150), and preparing the preprocessed sensor information in a predefined format. ,
A step of transmitting the preprocessed sensor information to the navigation unit (150) in the predefined format.
Have,
The planning of the movement of the autonomous mobile robot by the navigation unit (140) is performed based on the information from the navigation sensor (125) and the preprocessed sensor information provided by the control unit (150). ..
JP2020570544A 2018-06-20 2019-06-05 Control method of autonomous mobile robot and autonomous mobile robot Pending JP2021527889A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102018114892.5A DE102018114892B4 (en) 2018-06-20 2018-06-20 Autonomous mobile robot and method for controlling an autonomous mobile robot
DE102018114892.5 2018-06-20
PCT/AT2019/060186 WO2019241811A1 (en) 2018-06-20 2019-06-05 Autonomous mobile robot and method for controlling an autonomous mobile robot

Publications (2)

Publication Number Publication Date
JP2021527889A JP2021527889A (en) 2021-10-14
JPWO2019241811A5 true JPWO2019241811A5 (en) 2022-05-11

Family

ID=67060208

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020570544A Pending JP2021527889A (en) 2018-06-20 2019-06-05 Control method of autonomous mobile robot and autonomous mobile robot

Country Status (6)

Country Link
US (1) US20210271262A1 (en)
EP (1) EP3811174A1 (en)
JP (1) JP2021527889A (en)
CN (1) CN112352207A (en)
DE (1) DE102018114892B4 (en)
WO (1) WO2019241811A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11685053B1 (en) * 2014-11-24 2023-06-27 AI Incorporated Edge detection system
WO2020127530A1 (en) * 2018-12-18 2020-06-25 Trinamix Gmbh Autonomous household appliance
DE102020107899A1 (en) 2020-03-23 2021-09-23 Technische Universität Darmstadt Körperschaft des öffentlichen Rechts Device for correcting deviations in localization information of a planning level and an execution level
WO2022136572A2 (en) * 2020-12-24 2022-06-30 Robotise Ag Service robot
US11803188B1 (en) * 2021-03-12 2023-10-31 Amazon Technologies, Inc. System for docking an autonomous mobile device using inductive sensors
DE102021205620A1 (en) 2021-06-02 2022-12-08 Robert Bosch Gesellschaft mit beschränkter Haftung Method for determining a movement path on a background
CN116098536A (en) * 2021-11-08 2023-05-12 青岛海尔科技有限公司 Robot control method and device
CN114035569B (en) * 2021-11-09 2023-06-27 中国民航大学 Navigation station building manned robot path expanding and passing method

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0680203A (en) * 1992-03-24 1994-03-22 East Japan Railway Co Control method for floor surface cleaning robot
WO2003026474A2 (en) * 2001-09-26 2003-04-03 Friendly Robotics Ltd. Robotic vacuum cleaner
US20050010331A1 (en) * 2003-03-14 2005-01-13 Taylor Charles E. Robot vacuum with floor type modes
JP3841220B2 (en) * 2004-01-30 2006-11-01 船井電機株式会社 Autonomous traveling robot cleaner
US7441298B2 (en) * 2005-12-02 2008-10-28 Irobot Corporation Coverage robot mobility
JP2011128899A (en) * 2009-12-17 2011-06-30 Murata Machinery Ltd Autonomous mobile device
KR101850386B1 (en) * 2011-04-19 2018-04-19 엘지전자 주식회사 Robot cleaner and controlling method of the same
US8798840B2 (en) * 2011-09-30 2014-08-05 Irobot Corporation Adaptive mapping with spatial summaries of sensor data
US9919425B2 (en) * 2015-07-01 2018-03-20 Irobot Corporation Robot navigational sensor system
JP6831210B2 (en) * 2016-11-02 2021-02-17 東芝ライフスタイル株式会社 Vacuum cleaner
JP6640777B2 (en) * 2017-03-17 2020-02-05 株式会社東芝 Movement control system, movement control device and program
US10496104B1 (en) * 2017-07-05 2019-12-03 Perceptin Shenzhen Limited Positional awareness with quadocular sensor in autonomous platforms

Similar Documents

Publication Publication Date Title
JP2021527889A (en) Control method of autonomous mobile robot and autonomous mobile robot
JP2020514858A (en) Autonomous mobile robot and control method for autonomous mobile robot
US11016493B2 (en) Planning robot stopping points to avoid collisions
US11709489B2 (en) Method for controlling an autonomous, mobile robot
CN109154827B (en) Positioning of robotic vehicles
US10296012B2 (en) Pre-computation of kinematically feasible roadmaps
US20200041274A1 (en) Boolean Satisfiability (SAT) Reduction for Geometry and Kinematics Agnostic Multi-Agent Planning
KR102118278B1 (en) Coordinating multiple agents under sparse networking
US20210154840A1 (en) Movement Planning For Autonomous Robots
CN110998471A (en) Robot motion control system and method
JP6853832B2 (en) Position measurement using negative mapping
Harapanahalli et al. Autonomous Navigation of mobile robots in factory environment
KR20180039977A (en) Assistant robot for airport and method thereof
JP2019534516A (en) How to operate an autonomous mobile robot
JPWO2019241811A5 (en)
US11353880B2 (en) Autonomous moving body and control program for autonomous moving body
CN115885226A (en) Method and apparatus for simulating an Automated Guided Vehicle (AGV) system
US20230128959A1 (en) Processing device, mobile robot, movement control system, processing method, and storage medium
KR102366333B1 (en) Method for providing artificial intelligence platform
CN114852809B (en) Autonomous moving system, autonomous moving method, and storage medium
Turek Extensible multi-robot system
US20220197304A1 (en) Systems and methods for centralized control of a fleet of robotic devices
TW202303326A (en) Modular control system and method for controlling automated guided vehicle
WO2023192272A1 (en) A hybrid, context-aware localization system for ground vehicles
Venator A Low-cost Mobile Manipulator for Industrial and Research Applications