JP7429868B2 - mobile robot - Google Patents

mobile robot Download PDF

Info

Publication number
JP7429868B2
JP7429868B2 JP2020154374A JP2020154374A JP7429868B2 JP 7429868 B2 JP7429868 B2 JP 7429868B2 JP 2020154374 A JP2020154374 A JP 2020154374A JP 2020154374 A JP2020154374 A JP 2020154374A JP 7429868 B2 JP7429868 B2 JP 7429868B2
Authority
JP
Japan
Prior art keywords
mobile robot
camera
housing
calculation unit
speed
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.)
Active
Application number
JP2020154374A
Other languages
Japanese (ja)
Other versions
JP2022037843A (en
Inventor
リベラ ファビオ ダーラ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to US17/403,488 priority Critical patent/US20220066451A1/en
Priority to CN202110941387.0A priority patent/CN114098566A/en
Publication of JP2022037843A publication Critical patent/JP2022037843A/en
Application granted granted Critical
Publication of JP7429868B2 publication Critical patent/JP7429868B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

本発明は、所定の空間を自律走行する移動ロボットに関する。 The present invention relates to a mobile robot that autonomously moves in a predetermined space.

従来、自律的に移動する移動ロボットがある(例えば、特許文献1参照)。 Conventionally, there are mobile robots that move autonomously (for example, see Patent Document 1).

特許文献1に開示されている移動ロボットは、ホイールの回転を検知するためのセンサ等から検知される情報に基づいて、カーペット上での移動ロボットの走行状態を推定する。 The mobile robot disclosed in Patent Document 1 estimates the running state of the mobile robot on a carpet based on information detected by a sensor for detecting the rotation of a wheel.

国際公開第2013/185102号International Publication No. 2013/185102

この種の移動ロボットは、走行する空間における自己位置を推定しながら走行する。そのため、移動ロボットが推定する、当該空間における自己位置には、高い精度が要求される。 This type of mobile robot travels while estimating its own position in the space in which it travels. Therefore, high accuracy is required for the mobile robot's estimated self-position in the space.

本発明は、自己位置の推定精度を向上できる移動ロボットを提供する。 The present invention provides a mobile robot that can improve self-position estimation accuracy.

本発明の一態様に係る移動ロボットは、所定の空間を自律走行する移動ロボットであって、筐体と、前記筐体に取り付けられ、前記筐体の下方を撮影することで第1下方画像を生成する第1カメラと、前記筐体に取り付けられ、前記筐体の姿勢を検出するための検出部と、前記姿勢及び前記第1下方画像に基づいて前記移動ロボットの速度を算出する算出部と、前記速度に基づいて、前記所定の空間における前記移動ロボットの自己位置を推定する推定部と、前記自己位置に基づいて、前記移動ロボットを走行させる制御部と、を備える。 A mobile robot according to one aspect of the present invention is a mobile robot that autonomously travels in a predetermined space, and includes a housing, and a mobile robot that is attached to the housing and captures a first downward image by photographing the lower part of the housing. a first camera that generates the image; a detection unit that is attached to the casing and that detects the attitude of the casing; and a calculation unit that calculates the speed of the mobile robot based on the attitude and the first downward image. , an estimation unit that estimates the self-position of the mobile robot in the predetermined space based on the speed, and a control unit that causes the mobile robot to travel based on the self-position.

本発明の一態様に係る移動ロボットによれば、自己位置の推定精度を向上できる。 According to the mobile robot according to one aspect of the present invention, the accuracy of self-position estimation can be improved.

図1は、実施の形態1に係る移動ロボットを示す側面図である。FIG. 1 is a side view showing a mobile robot according to the first embodiment. 図2は、実施の形態1に係る移動ロボットを示す正面図である。FIG. 2 is a front view showing the mobile robot according to the first embodiment. 図3は、実施の形態1に係る移動ロボットの構成を示すブロック図である。FIG. 3 is a block diagram showing the configuration of the mobile robot according to the first embodiment. 図4は、実施の形態1に係る移動ロボットが備えるセンサ部の各構成要素の配置レイアウトを模式的に示す図である。FIG. 4 is a diagram schematically showing the arrangement layout of each component of the sensor unit included in the mobile robot according to the first embodiment. 図5は、実施の形態1に係る移動ロボットの処理手順の概要を示すフローチャートである。FIG. 5 is a flowchart showing an overview of the processing procedure of the mobile robot according to the first embodiment. 図6は、実施の形態1に係る移動ロボットの処理手順を示すフローチャートである。FIG. 6 is a flowchart showing the processing procedure of the mobile robot according to the first embodiment. 図7は、実施の形態2に係る移動ロボットの構成を示すブロック図である。FIG. 7 is a block diagram showing the configuration of a mobile robot according to the second embodiment. 図8は、実施の形態2に係る移動ロボットが備えるセンサ部の各構成要素の配置レイアウトを模式的に示す図である。FIG. 8 is a diagram schematically showing the arrangement layout of each component of the sensor unit included in the mobile robot according to the second embodiment. 図9は、実施の形態2に係る移動ロボットの処理手順を示すフローチャートである。FIG. 9 is a flowchart showing the processing procedure of the mobile robot according to the second embodiment. 図10は、実施の形態3に係る移動ロボットの構成を示すブロック図である。FIG. 10 is a block diagram showing the configuration of a mobile robot according to the third embodiment. 図11は、実施の形態3に係る移動ロボットが備えるセンサ部の各構成要素の配置レイアウトを模式的に示す図である。FIG. 11 is a diagram schematically showing the arrangement layout of each component of the sensor unit included in the mobile robot according to the third embodiment. 図12Aは、構造化光を説明するための図である。FIG. 12A is a diagram for explaining structured light. 図12Bは、構造化光を説明するための図である。FIG. 12B is a diagram for explaining structured light. 図13Aは、構造化光を説明するための図である。FIG. 13A is a diagram for explaining structured light. 図13Bは、構造化光を説明するための図である。FIG. 13B is a diagram for explaining structured light. 図14は、実施の形態3に係る移動ロボットの処理手順を示すフローチャートである。FIG. 14 is a flowchart showing the processing procedure of the mobile robot according to the third embodiment. 図15は、実施の形態4に係る移動ロボットの構成を示すブロック図である。FIG. 15 is a block diagram showing the configuration of a mobile robot according to the fourth embodiment. 図16は、実施の形態4に係る移動ロボットが備えるセンサ部の各構成要素の配置レイアウトを模式的に示す図である。FIG. 16 is a diagram schematically showing the arrangement layout of each component of the sensor unit included in the mobile robot according to the fourth embodiment. 図17は、実施の形態4に係る移動ロボットの処理手順を示すフローチャートである。FIG. 17 is a flowchart showing the processing procedure of the mobile robot according to the fourth embodiment. 図18は、実施の形態5に係る移動ロボットの構成を示すブロック図である。FIG. 18 is a block diagram showing the configuration of a mobile robot according to the fifth embodiment. 図19は、実施の形態5に係る移動ロボットが備えるセンサ部の各構成要素の配置レイアウトを模式的に示す図である。FIG. 19 is a diagram schematically showing the arrangement layout of each component of the sensor unit included in the mobile robot according to the fifth embodiment. 図20は、実施の形態5に係る移動ロボットが備えるカメラの撮影方向を模式的に示す図である。FIG. 20 is a diagram schematically showing the photographing direction of the camera included in the mobile robot according to the fifth embodiment. 図21は、実施の形態5に係る移動ロボットの処理手順を示すフローチャートである。FIG. 21 is a flowchart showing the processing procedure of the mobile robot according to the fifth embodiment. 図22は、実施の形態6に係る移動ロボットの構成を示すブロック図である。FIG. 22 is a block diagram showing the configuration of a mobile robot according to Embodiment 6. 図23は、実施の形態6に係る移動ロボットが備えるセンサ部の各構成要素の配置レイアウトを模式的に示す図である。FIG. 23 is a diagram schematically showing the arrangement layout of each component of the sensor unit included in the mobile robot according to the sixth embodiment. 図24は、実施の形態6に係る移動ロボットの処理手順を示すフローチャートである。FIG. 24 is a flowchart showing the processing procedure of the mobile robot according to the sixth embodiment. 図25は、実施の形態7に係る移動ロボットの構成を示すブロック図である。FIG. 25 is a block diagram showing the configuration of a mobile robot according to Embodiment 7. 図26は、実施の形態7に係る移動ロボットが備えるセンサ部の各構成要素の配置レイアウトを模式的に示す図である。FIG. 26 is a diagram schematically showing the arrangement layout of each component of the sensor unit included in the mobile robot according to Embodiment 7. 図27は、実施の形態7に係る移動ロボットの処理手順を示すフローチャートである。FIG. 27 is a flowchart showing the processing procedure of the mobile robot according to the seventh embodiment. 図28Aは、移動ロボットの検出範囲の第1例を説明するための図である。FIG. 28A is a diagram for explaining a first example of a detection range of a mobile robot. 図28Bは、移動ロボットの検出範囲の第2例を説明するための図である。FIG. 28B is a diagram for explaining a second example of the detection range of the mobile robot. 図28Cは、移動ロボットの検出範囲の第3例を説明するための図である。FIG. 28C is a diagram for explaining a third example of the detection range of the mobile robot. 図28Dは、移動ロボットの検出範囲の第4例を説明するための図である。FIG. 28D is a diagram for explaining a fourth example of the detection range of the mobile robot. 図28Eは、移動ロボットの走行状態を説明するための図である。FIG. 28E is a diagram for explaining the running state of the mobile robot.

(本開示の基礎となった知見)
移動ロボットは、例えば、算出した移動経路に沿って移動しながら、掃除、掃海、又は、データ収集のようなタスクを実行する。このようなタスクを実行しながら自律的に移動する移動ロボットにおいては、所定の領域内をくまなく移動することが要求される。そのため、移動ロボットには、精度よく自己位置を推定できることが要求される。例えば、LIDAR(Light Detection and Ranging)等のセンサを用いて、移動ロボットの周囲に位置する壁及び対象物等の位置を示す情報を検出し、検出した情報を用いて自己位置を推定する。移動ロボットは、例えば、局地化アルゴリズムを用いて、地図とLIDARで検出した情報とを比較することで、自己位置を推定する。
(Findings that formed the basis of this disclosure)
The mobile robot performs tasks such as cleaning, sweeping, or data collection while moving along a calculated movement path, for example. Mobile robots that move autonomously while performing such tasks are required to move throughout a predetermined area. Therefore, mobile robots are required to be able to accurately estimate their own position. For example, a sensor such as LIDAR (Light Detection and Ranging) is used to detect information indicating the positions of walls, objects, etc. located around the mobile robot, and the detected information is used to estimate the self-position. A mobile robot estimates its own position by, for example, using a localization algorithm and comparing a map with information detected by LIDAR.

図28Aは、移動ロボット1000の検出範囲の第1例を説明するための図である。具体的には、図28Aは、移動ロボット1000がLIDARを用いて周囲の物体を検出する際の検出範囲の第1例を説明するための概略上面図である。 FIG. 28A is a diagram for explaining a first example of the detection range of the mobile robot 1000. Specifically, FIG. 28A is a schematic top view for explaining a first example of a detection range when mobile robot 1000 detects surrounding objects using LIDAR.

移動ロボット1000は、例えば、LIDARを用いて壁等の物体までの距離を計測する。移動ロボット1000は、物体がLIDARで検出できる範囲内にある場合、LIDARが壁に含まれる角部等の特徴となる位置を検出する。例えば、移動ロボット1000は、LIDARから出力される光線(図28Aに示す破線)の反射光から、1以上の検出位置(図28Aに丸で示す位置)を検出し、検出した1以上の検出位置の中で、角部等の特徴となる位置(特徴点)を検出する。これにより、移動ロボット1000は、検出した角部の位置を基準にして、自己位置を推定(算出)する。 The mobile robot 1000 measures the distance to an object such as a wall using, for example, LIDAR. If the object is within a range that can be detected by LIDAR, the mobile robot 1000 uses LIDAR to detect a characteristic position, such as a corner included in a wall. For example, the mobile robot 1000 detects one or more detection positions (positions indicated by circles in FIG. 28A) from the reflected light of the light beam output from LIDAR (the broken line shown in FIG. 28A), and Among them, characteristic positions (feature points) such as corners are detected. Thereby, the mobile robot 1000 estimates (calculates) its own position based on the position of the detected corner.

図28Bは、移動ロボット1000の検出範囲の第2例を説明するための図である。具体的には、図28Bは、移動ロボット1000がLIDARを用いて周囲の物体を検出する際の検出範囲の第2例を説明するための概略上面図である。 FIG. 28B is a diagram for explaining a second example of the detection range of the mobile robot 1000. Specifically, FIG. 28B is a schematic top view for explaining a second example of the detection range when the mobile robot 1000 detects surrounding objects using LIDAR.

第1例と同様に、移動ロボット1000は、LIDARから出力される光線の反射光から、1以上の検出位置を検出し、検出した1以上の検出位置の中で、曲面部等の特徴となる位置(特徴点)を検出する。これにより、移動ロボット1000は、検出した曲面部の位置を基準にして、自己位置を推定する。 Similar to the first example, the mobile robot 1000 detects one or more detection positions from the reflected light of the light beam output from the LIDAR, and among the one or more detected positions, a characteristic such as a curved part etc. Detect the position (feature point). Thereby, the mobile robot 1000 estimates its own position based on the position of the detected curved surface portion.

このように、移動ロボット1000は、LIDARを用いて特徴点を検出できた場合、当該特徴点を基準として自己位置を推定する。 In this way, when the mobile robot 1000 is able to detect a feature point using LIDAR, it estimates its own position using the feature point as a reference.

しかしながら、移動ロボット1000は、LIDARから得られる情報では自己位置を推定できない場合がある。 However, the mobile robot 1000 may not be able to estimate its own position using information obtained from LIDAR.

図28Cは、移動ロボット1000の検出範囲の第3例を説明するための図である。具体的には、図28Cは、移動ロボット1000がLIDARを用いて周囲の物体を検出する際の検出範囲の第3例を説明するための概略上面図である。 FIG. 28C is a diagram for explaining a third example of the detection range of the mobile robot 1000. Specifically, FIG. 28C is a schematic top view for explaining a third example of the detection range when the mobile robot 1000 detects surrounding objects using LIDAR.

第3例では、移動ロボット1000は、LIDARで物体を検出できる範囲外に壁が位置する。そのため、移動ロボット1000は、壁の位置を検出できない。つまり、第3例では、移動ロボット1000は、LIDARを用いて自己位置を推定できない。 In the third example, the mobile robot 1000 has a wall located outside the range where objects can be detected by LIDAR. Therefore, the mobile robot 1000 cannot detect the position of the wall. That is, in the third example, the mobile robot 1000 cannot estimate its own position using LIDAR.

図28Dは、移動ロボット1000の検出範囲の第4例を説明するための図である。具体的には、図28Dは、移動ロボット1000がLIDARを用いて周囲の物体を検出する際の検出範囲の第4例を説明するための概略上面図である。 FIG. 28D is a diagram for explaining a fourth example of the detection range of the mobile robot 1000. Specifically, FIG. 28D is a schematic top view for explaining a fourth example of the detection range when the mobile robot 1000 detects surrounding objects using LIDAR.

第4例では、LIDARで物体を検出できる範囲内に壁が位置する。しかしながら、当該壁には、角部、曲面部等の、特徴点が含まれていない。そのため、第4例では、移動ロボット1000は、図28Dに示す一点鎖線上のいずれかの位置に位置していると自己位置を推定できるものの、一点鎖線上のいずれの位置に位置しているかまでは推定できない。つまり、第4例では、移動ロボット1000は、自己位置を正確に推定できない。 In the fourth example, a wall is located within a range where objects can be detected by LIDAR. However, the wall does not include feature points such as corners and curved surfaces. Therefore, in the fourth example, although the mobile robot 1000 can estimate its own position if it is located at any position on the dashed-dotted line shown in FIG. cannot be estimated. That is, in the fourth example, mobile robot 1000 cannot accurately estimate its own position.

このように、例えば、移動ロボット1000の周囲の環境が直線の通路のような、位置を特定するための角を有する壁又は対象物等が存在しない場合、移動ロボット1000が位置する場所では、LIDAR等のセンサから得られる情報が変化しないため、自己位置を正確に推定できない。 In this way, for example, if the environment around the mobile robot 1000 is a straight path, and there are no walls or objects with corners for specifying the position, the LIDAR Since the information obtained from sensors such as

また、例えば、移動ロボット1000が天井を撮影するカメラを備える場合、移動ロボット1000は、当該カメラに撮影された天井に位置する物体の位置に基づいて、自己位置を推定できる。しかしながら、このような場合、移動ロボット1000は、家具等の下に入りこむと、暗すぎる等により自己位置を正確に推定できない。 Further, for example, if the mobile robot 1000 is equipped with a camera that photographs the ceiling, the mobile robot 1000 can estimate its own position based on the position of an object located on the ceiling photographed by the camera. However, in such a case, if the mobile robot 1000 crawls under furniture or the like, it will not be able to accurately estimate its own position because it will be too dark.

そこで、移動ロボット1000は、LIDAR、カメラ等から得られる情報だけでなく、移動ロボット1000を移動させるためのホイール等から得られるオドメトリ情報に基づいて、自己位置を推定する。 Therefore, the mobile robot 1000 estimates its own position based not only on information obtained from LIDAR, a camera, etc., but also on odometry information obtained from wheels, etc. for moving the mobile robot 1000.

ここで、オドメトリ情報とは、移動ロボット1000の各ホイールがどの向きにどれだけ回転したかに関する情報である。なお、脚式ロボットの場合、オドメトリ情報とは、各脚がどのように動いたかを示す情報である。 Here, the odometry information is information regarding how much and in what direction each wheel of the mobile robot 1000 rotates. Note that in the case of a legged robot, odometry information is information indicating how each leg moves.

これにより、移動ロボット1000は、移動ロボット1000の周囲に位置する物体の情報を用いずに、移動ロボット1000が実行した移動動作に関する情報であるオドメトリ情報に基づいて、自己位置を推定できる。 As a result, the mobile robot 1000 can estimate its own position based on odometry information, which is information regarding the movement movement performed by the mobile robot 1000, without using information about objects located around the mobile robot 1000.

しかしながら、オドメトリ情報に基づいて推定される自己位置は、移動ロボット1000の実際の位置に対して誤差が大きい。 However, the self-position estimated based on the odometry information has a large error with respect to the actual position of the mobile robot 1000.

図28Eは、移動ロボット1000の走行状態を説明するための図である。具体的には、図28Eは、移動ロボット1000が推定した自己位置と実際の位置とのずれを説明するための概略上面図である。なお、図28Eに示す例では、移動ロボット1000は、図28Eの(a)に示す自己位置が正確に推定できているとする。 FIG. 28E is a diagram for explaining the running state of mobile robot 1000. Specifically, FIG. 28E is a schematic top view for explaining the deviation between the self-position estimated by the mobile robot 1000 and the actual position. In the example shown in FIG. 28E, it is assumed that the mobile robot 1000 can accurately estimate its own position shown in (a) of FIG. 28E.

移動ロボット1000は、走行し続けてしばらくすると、ホイールの回転に関するオドメトリ情報に基づいて、自己位置を推定できるようになる。 After the mobile robot 1000 continues to travel for a while, it becomes able to estimate its own position based on odometry information regarding the rotation of the wheels.

ここで、例えば、移動ロボット1000が走行中に、スリップ等によるずれ、横滑り等のドリフトにずれ等のヘディングドリフト(移動ロボット1000の意図しない進行方向の変化)が発生したとする。この場合、このようなずれは、ホイールの回転等の情報を示すオドメトリ情報からは検出されない。そのため、例えば、移動ロボット1000は、このようなずれが生じた場合、図28Eの(b)に示す位置に実際には位置しており、且つ、図28Eの(b)に示す向きに進行しているとしても、オドメトリ情報から自己位置を推定すると、図28Eの(c)に示す位置に位置しており、且つ、図28Eの(c)に示す向きに進行していると推定してしまう。つまり、オドメトリ情報のみから推定された自己位置は、実際の位置からずれる場合がある。 Here, for example, assume that while the mobile robot 1000 is running, a heading drift (unintended change in the moving direction of the mobile robot 1000) such as a deviation due to a slip, a drift such as a sideways slide, or a deviation occurs. In this case, such deviation is not detected from odometry information indicating information such as wheel rotation. Therefore, for example, when such a shift occurs, the mobile robot 1000 is actually located at the position shown in FIG. 28E (b) and moves in the direction shown in FIG. 28E (b). Even if the self-position is estimated from the odometry information, it will be estimated that it is located at the position shown in (c) of FIG. 28E and that it is moving in the direction shown in (c) of FIG. 28E. . That is, the self-position estimated only from odometry information may deviate from the actual position.

そのため、移動ロボット1000がオドメトリ情報を用いて自己位置を推定し続けると、実際の位置と推定した位置とのずれが大きくなり続ける。 Therefore, if the mobile robot 1000 continues to estimate its own position using odometry information, the deviation between the actual position and the estimated position will continue to increase.

このようなずれは、新たにLIDARから情報が得られた場合に、移動ロボット1000が当該情報に基づいて自己位置を推定することで小さくなる。しかしながら、長時間新たにLIDARから情報が得られない場合、移動ロボット1000の自己位置の推定精度は、低下し続ける。 Such a deviation can be reduced by the mobile robot 1000 estimating its own position based on new information obtained from LIDAR. However, if no new information is obtained from LIDAR for a long time, the accuracy of estimating the self-position of mobile robot 1000 continues to decrease.

本願発明者らは、鋭意検討した結果、移動ロボットが撮影した当該移動ロボットの下方の画像と移動ロボットの姿勢とに基づいて速度を算出し、算出した速度に基づいて自己位置を推定することで、自己位置の推定精度を向上できることを見出した。 As a result of intensive study, the inventors of the present application have determined that the mobile robot can calculate the speed based on the lower image of the mobile robot taken by the mobile robot and the posture of the mobile robot, and estimate the self-position based on the calculated speed. We found that the accuracy of self-position estimation can be improved.

以下では、本発明に係る移動ロボットの実施の形態について、図面を用いて詳細に説明する。なお、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置及び接続形態、ステップ、ステップの順序等は、一例であり、本発明を限定する主旨ではない。 DESCRIPTION OF THE PREFERRED EMBODIMENTS Below, embodiments of a mobile robot according to the present invention will be described in detail using the drawings. Note that the numerical values, shapes, materials, components, arrangement and connection forms of the components, steps, order of steps, etc. shown in the following embodiments are merely examples, and do not limit the present invention.

なお、当業者が本発明を十分に理解するために添付図面及び以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。 The accompanying drawings and the following description are provided to enable those skilled in the art to fully understand the present invention, and are not intended to limit the subject matter recited in the claims.

また、各図は、模式図であり、必ずしも厳密に図示されたものではない。また、各図において、実質的に同一の構成に対しては同一の符号を付しており、重複する説明は省略又は簡略化される場合がある。 Furthermore, each figure is a schematic diagram and is not necessarily strictly illustrated. Furthermore, in each figure, substantially the same configurations are denoted by the same reference numerals, and overlapping explanations may be omitted or simplified.

また、以下の実施の形態においては、所定の空間を走行する移動ロボットを鉛直上方側から見た場合を上面視とし、鉛直下方側から見た場合を底面視として記載する場合がある。また、移動ロボットが進行する向きを前方、移動ロボットが進行する向きの反対側を後方と記載する場合がある。 In the following embodiments, a mobile robot running in a predetermined space may be described as a top view when viewed from vertically above, and a bottom view when viewed from vertically below. Further, the direction in which the mobile robot moves may be referred to as the front, and the direction opposite to the direction in which the mobile robot moves may be referred to as the rear.

また、本明細書及び図面において、X軸、Y軸及びZ軸は、三次元直交座標系の三軸を示している。各実施の形態では、Z軸方向を鉛直方向とし、Z軸に垂直な方向(XY平面に平行な方向)を水平方向としている。 Furthermore, in this specification and the drawings, the X-axis, Y-axis, and Z-axis indicate three axes of a three-dimensional orthogonal coordinate system. In each embodiment, the Z-axis direction is the vertical direction, and the direction perpendicular to the Z-axis (direction parallel to the XY plane) is the horizontal direction.

なお、Z軸の正方向を鉛直上方とし、X軸正方向を移動ロボットが進行する向き(前方)としている。 Note that the positive direction of the Z axis is vertically upward, and the positive direction of the X axis is the direction in which the mobile robot moves (forward).

また、移動ロボットの前側から当該移動ロボットを見た場合を正面視ともいう。また、移動ロボットが進行する向き及び鉛直方向に対して直交する向きから当該移動ロボットを見た場合を側面視ともいう。 Also, the case where the mobile robot is viewed from the front side is also referred to as a front view. In addition, a view of the mobile robot from a direction perpendicular to the direction in which the mobile robot is moving and the vertical direction is also referred to as a side view.

また、移動ロボットが走行する面を単に床面と記載する場合がある。 Further, the surface on which a mobile robot runs may be simply referred to as a floor surface.

また、本明細書においては、移動ロボットが進んだ向きに対する速度を並進速度又は単に速度といい、回転に対する速度を角速度(回転速度)といい、並進速度と角速度とを合わせた速度を合成速度又は単に速度ともいう。 In addition, in this specification, the speed with respect to the direction in which the mobile robot moves is referred to as translational speed or simply speed, the speed with respect to rotation is referred to as angular velocity (rotational speed), and the speed that is the sum of translational speed and angular velocity is referred to as composite speed or Also simply called speed.

(実施の形態1)
[構成]
図1は、実施の形態1に係る移動ロボット100を示す側面図である。図2は、実施の形態1に係る移動ロボット100を示す正面図である。なお、図1及び図2では、移動ロボット100が備える構成要素の一部を省略して示している。
(Embodiment 1)
[composition]
FIG. 1 is a side view showing a mobile robot 100 according to the first embodiment. FIG. 2 is a front view showing the mobile robot 100 according to the first embodiment. Note that in FIGS. 1 and 2, some of the components included in the mobile robot 100 are omitted.

移動ロボット100は、例えば、SLAM(Simultaneous Localization and Mapping)技術を利用して自律移動しながら、掃除、掃海、又は、データ収集のようなタスクを実行する装置である。 The mobile robot 100 is a device that performs tasks such as cleaning, sweeping, or data collection while autonomously moving using, for example, SLAM (Simultaneous Localization and Mapping) technology.

移動ロボット100は、筐体10と、第1カメラ210と、ホイール20と、サスペンションアーム30と、ばね40と、を備える。 The mobile robot 100 includes a housing 10, a first camera 210, a wheel 20, a suspension arm 30, and a spring 40.

筐体10は、移動ロボット100の外郭筐体である。移動ロボット100が備える各構成要素は、筐体10に取り付けられている。 The housing 10 is an outer housing of the mobile robot 100. Each component included in the mobile robot 100 is attached to the housing 10.

第1カメラ210は、筐体10に取り付けられ、筐体10の下方を撮影するカメラである。より具体的には、第1カメラ210は、光軸(第1カメラ210が撮影する向き)が下方(より具体的には、移動ロボット100が走行する床面)に向けられるように、筐体10の下方に取り付けられている。 The first camera 210 is a camera that is attached to the housing 10 and takes a picture of the lower part of the housing 10. More specifically, the first camera 210 has a housing such that the optical axis (the direction in which the first camera 210 takes pictures) is directed downward (more specifically, toward the floor surface on which the mobile robot 100 travels). It is attached below 10.

なお、第1カメラ210は、移動ロボット100の下方を撮影できればよく、筐体10の側面、底面、内部等、任意の位置に取り付けられてよい。 Note that the first camera 210 only needs to be able to photograph the area below the mobile robot 100, and may be attached to any position such as the side surface, bottom surface, or inside of the housing 10.

また、第1カメラ210の撮影方向は、移動ロボット100の鉛直下方だけでなく、鉛直方向に対して傾いた斜め下方でもよい。 Furthermore, the shooting direction of the first camera 210 may be not only vertically below the mobile robot 100 but also diagonally downward with respect to the vertical direction.

ホイール20は、移動ロボット100を移動(走行)させるためのホイールである。筐体10には、キャスターホイール21と2つの牽引ホイール22とが取り付けられている。 The wheel 20 is a wheel for moving (running) the mobile robot 100. A caster wheel 21 and two traction wheels 22 are attached to the housing 10.

2つの牽引ホイール22は、それぞれ、ホイールハブ32及びサスペンションアーム30を介して筐体10に取り付けられており、サスペンションピボット31を回動軸として筐体10に対して移動可能となっている。サスペンションアーム30は、ばね40によって筐体10に取り付けられている。 The two traction wheels 22 are each attached to the housing 10 via a wheel hub 32 and a suspension arm 30, and are movable relative to the housing 10 about a suspension pivot 31 as a rotation axis. Suspension arm 30 is attached to housing 10 by a spring 40.

図3は、実施の形態1に係る移動ロボット100の構成を示すブロック図である。図4は、実施の形態1に係る移動ロボット100が備えるセンサ部200の各構成要素の配置レイアウトを模式的に示す図である。なお、図4では、センサ部200の一部の配置レイアウトを筐体10の底面側から見た場合を示しており、センサ部200の他の一部の構成要素及びホイール20等の図示を省略している。 FIG. 3 is a block diagram showing the configuration of mobile robot 100 according to the first embodiment. FIG. 4 is a diagram schematically showing the arrangement layout of each component of the sensor section 200 included in the mobile robot 100 according to the first embodiment. Note that FIG. 4 shows the arrangement layout of a part of the sensor unit 200 when viewed from the bottom side of the housing 10, and illustration of some other components of the sensor unit 200, the wheel 20, etc. is omitted. are doing.

移動ロボット100は、センサ部200と、周囲センサ部160と、算出部110と、SLAM部120と、制御部130と、駆動部140と、記憶部150と、を備える。 The mobile robot 100 includes a sensor section 200, a surrounding sensor section 160, a calculation section 110, a SLAM section 120, a control section 130, a drive section 140, and a storage section 150.

センサ部200は、移動ロボット100の速度を算出するための情報を検出するセンサ群である。本実施の形態では、センサ部200は、第1カメラ210と、光源220と、検出部230と、角速度センサ250と、オドメトリセンサ260と、を備える。 The sensor unit 200 is a group of sensors that detects information for calculating the speed of the mobile robot 100. In this embodiment, the sensor section 200 includes a first camera 210, a light source 220, a detection section 230, an angular velocity sensor 250, and an odometry sensor 260.

第1カメラ210は、筐体10に取り付けられ、筐体10の下方を撮影することで画像(第1下方画像)を生成するカメラである。第1カメラ210は、生成した第1下方画像を算出部110に定期的に繰り返し出力する。第1カメラ210は、後述する光源220に基づく光の分布を検出できればよく、検出する光の波長、ピクセル数等は特に限定されない。 The first camera 210 is a camera that is attached to the housing 10 and generates an image (first lower image) by photographing the lower part of the housing 10. The first camera 210 periodically and repeatedly outputs the generated first downward image to the calculation unit 110. The first camera 210 only needs to be able to detect the distribution of light based on a light source 220, which will be described later, and the wavelength of the light to be detected, the number of pixels, etc. are not particularly limited.

光源220は、筐体10に取り付けられ、筐体10の下方に向けて光を出射する光源である。例えば、第1カメラ210は、光源220が出射した光の、移動ロボット100が走行する床面での反射光を検出することで第1下方画像を生成する。光源220は、例えば、LED(Light Emitting Diode)、LD(Laser Diode)等の光源である。光源220が出力する光の波長は、第1カメラ210が検出できる波長であればよく、特に限定されない。 The light source 220 is a light source that is attached to the housing 10 and emits light toward the bottom of the housing 10. For example, the first camera 210 generates the first downward image by detecting the reflected light of the light emitted by the light source 220 on the floor surface on which the mobile robot 100 runs. The light source 220 is, for example, a light source such as an LED (Light Emitting Diode) or an LD (Laser Diode). The wavelength of the light output by the light source 220 is not particularly limited as long as it can be detected by the first camera 210.

検出部230は、筐体10に取り付けられ、筐体10の姿勢を検出するための装置である。具体的には、検出部230は、予め定められた基準方向に対しての筐体10の傾き(後述するα及びγ)と、筐体10と床面との距離(供述するh)とを検出するための装置である。 The detection unit 230 is a device that is attached to the housing 10 and detects the attitude of the housing 10. Specifically, the detection unit 230 detects the inclination of the housing 10 with respect to a predetermined reference direction (α and γ, which will be described later), and the distance between the housing 10 and the floor (h, which will be described later). This is a device for detection.

本実施の形態では、検出部230は、3つの測距センサ240を有する。 In this embodiment, the detection unit 230 includes three ranging sensors 240.

3つの測距センサ240は、それぞれ、移動ロボット100が走行する床面と筐体10との距離を計測するセンサである。測距センサ240は、例えば、アクティブ型の赤外線センサである。 The three distance measuring sensors 240 are sensors that each measure the distance between the housing 10 and the floor surface on which the mobile robot 100 runs. The distance sensor 240 is, for example, an active infrared sensor.

図4に示すように、例えば、筐体10を底面視した場合、第1カメラ210は、筐体10の中央部に取り付けられ、光源220は、第1カメラ210の近傍に取り付けられている。また、3つの測距センサ240は、例えば、筐体10を底面視した場合、筐体10の周縁部に、互いに距離が離れて取り付けられている。 As shown in FIG. 4, for example, when the housing 10 is viewed from the bottom, the first camera 210 is attached to the center of the housing 10, and the light source 220 is attached near the first camera 210. Further, the three distance measuring sensors 240 are attached to the peripheral edge of the housing 10 at a distance from each other, for example, when the housing 10 is viewed from the bottom.

3つの測距センサ240は、それぞれ、測定した距離(高さ)の情報(高さ情報)を算出部110に定期的に繰り返し出力する。 The three ranging sensors 240 each periodically and repeatedly output information (height information) on the measured distance (height) to the calculation unit 110.

なお、検出部230は、3つ以上の測距センサ240を有していればよく、4つ有してもよいし、5つ以上有してもよい。 Note that the detection unit 230 only needs to have three or more distance measuring sensors 240, and may have four or five or more distance measuring sensors 240.

再び図3を参照し、角速度センサ250は、筐体10に取り付けられ、移動ロボット100の角速度(回転速度)を計測するセンサである。角速度センサ250は、例えば、ジャイロセンサを含むIMU(Inertial Measurement Unit/慣性計測装置)である。角速度センサ250は、計測した角速度(角速度情報)を算出部110に定期的に繰り返し出力する。 Referring again to FIG. 3, the angular velocity sensor 250 is a sensor that is attached to the housing 10 and measures the angular velocity (rotational velocity) of the mobile robot 100. The angular velocity sensor 250 is, for example, an IMU (Inertial Measurement Unit) including a gyro sensor. The angular velocity sensor 250 periodically and repeatedly outputs the measured angular velocity (angular velocity information) to the calculation unit 110.

オドメトリセンサ260は、ホイール20の回転数(オドメトリ情報)を計測するためのセンサである。オドメトリセンサ260は、計測したオドメトリ情報を定期的に繰り返し算出部110に出力する。 The odometry sensor 260 is a sensor for measuring the rotation speed (odometry information) of the wheel 20. The odometry sensor 260 repeatedly outputs the measured odometry information to the calculation unit 110 at regular intervals.

第1カメラ210、検出部230、及び、オドメトリセンサ260は、例えば、算出部110等の処理部によって同期して動作され、同時刻における情報をそれぞれ定期的に繰り返し算出部110に出力する。 The first camera 210, the detection unit 230, and the odometry sensor 260 are operated in synchronization by, for example, a processing unit such as the calculation unit 110, and each periodically repeatedly outputs information at the same time to the calculation unit 110.

周囲センサ部160は、移動ロボット100が走行する所定の空間の情報を検出するセンサ群である。具体的には、周囲センサ部160は、所定の空間における障害物、壁等の位置、特徴点等を検出することで、移動ロボット100が自己位置を推定して走行するための情報を検出するためのセンサ群である。 The surrounding sensor unit 160 is a group of sensors that detects information about a predetermined space in which the mobile robot 100 runs. Specifically, the surrounding sensor unit 160 detects information for the mobile robot 100 to estimate its own position and travel by detecting the positions of obstacles, walls, etc., feature points, etc. in a predetermined space. This is a group of sensors for

周囲センサ部160は、周囲カメラ161と、周囲測距センサ162と、を備える。 The surrounding sensor section 160 includes a surrounding camera 161 and a surrounding distance measuring sensor 162.

周囲カメラ161は、移動ロボット100の側方及び上方等の周囲を撮影するカメラである。つまり、周囲カメラ161は、移動ロボット100が走行する所定の空間に位置する障害物、壁等の物体を撮影することで、所定の空間の画像を生成する。周囲カメラ161は、生成した画像(画像情報)をSLAM部120に出力する。 The surrounding camera 161 is a camera that photographs the surrounding area of the mobile robot 100, such as to the side and above. That is, the surrounding camera 161 generates an image of a predetermined space by photographing objects such as obstacles and walls located in the predetermined space in which the mobile robot 100 travels. The surrounding camera 161 outputs the generated image (image information) to the SLAM unit 120.

周囲測距センサ162は、移動ロボット100の側方等の周囲に位置する障害物、壁等の物体との距離を計測するLIDARである。周囲測距センサ162は、計測した距離(距離情報)をSLAM部120に出力する。 The surrounding distance measurement sensor 162 is a LIDAR that measures distances to objects such as obstacles and walls located around the sides of the mobile robot 100. The surrounding distance measuring sensor 162 outputs the measured distance (distance information) to the SLAM section 120.

算出部110は、筐体10の姿勢及び第1下方画像に基づいて移動ロボット100の速度(並進速度)を算出する処理部である。例えば、算出部110は、3つ以上の測距センサ240のそれぞれから得られる距離に基づいて、筐体10の姿勢を算出する。例えば、算出部110は、第1カメラ210から繰り返し第1下方画像を取得し、取得した画像の変化を比較することで、画像の移動速度、つまり、移動ロボット100の速度(並進速度)を算出する。 The calculation unit 110 is a processing unit that calculates the speed (translational speed) of the mobile robot 100 based on the attitude of the housing 10 and the first downward image. For example, the calculation unit 110 calculates the attitude of the housing 10 based on the distances obtained from each of the three or more distance measurement sensors 240. For example, the calculation unit 110 repeatedly acquires the first downward image from the first camera 210 and calculates the moving speed of the image, that is, the speed (translational speed) of the mobile robot 100 by comparing changes in the acquired images. do.

また、算出部110は、算出した並進速度と、角速度センサ250から取得した角速度とから、移動ロボット100が走行した向きも考慮された速度(合成速度)を算出する。算出部110は、算出した合成速度をSLAM部120に出力する。なお、算出部110は、算出した並進速度と、角速度センサ250から取得した角速度とのそれぞれの情報を、合成せずにSLAM部120に出力してもよい。 Further, the calculation unit 110 calculates a speed (synthetic speed) based on the calculated translational speed and the angular speed acquired from the angular speed sensor 250, taking into consideration the direction in which the mobile robot 100 traveled. The calculation unit 110 outputs the calculated combined speed to the SLAM unit 120. Note that the calculation unit 110 may output the respective information of the calculated translational velocity and the angular velocity acquired from the angular velocity sensor 250 to the SLAM unit 120 without combining them.

SLAM部120は、上記したSLAM技術を用いて移動ロボット100が走行する所定の空間の地図(地図情報)を生成したり、所定の空間における移動ロボット100の自己位置(より具体的には、所定の空間の地図における座標)を算出(推定)する処理部である。SLAM部120は、推定部121と、地図生成部122と、を有する。 The SLAM unit 120 uses the above-mentioned SLAM technology to generate a map (map information) of a predetermined space in which the mobile robot 100 runs, or to generate a self-position of the mobile robot 100 in a predetermined space (more specifically, a predetermined This is a processing unit that calculates (estimates) the coordinates of the space on the map. The SLAM section 120 includes an estimation section 121 and a map generation section 122.

推定部121は、所定の空間における移動ロボット100の自己位置を推定する。具体的には、算出部110が算出した速度(並進速度)に基づいて、所定の空間における移動ロボット100の自己位置を推定する。本実施の形態では、推定部121は、角速度センサ250が計測した角速度及び算出部が算出した並進速度に基づいて、移動ロボット100の自己位置を推定する。 The estimation unit 121 estimates the self-position of the mobile robot 100 in a predetermined space. Specifically, the self-position of the mobile robot 100 in a predetermined space is estimated based on the speed (translational speed) calculated by the calculation unit 110. In this embodiment, the estimation unit 121 estimates the self-position of the mobile robot 100 based on the angular velocity measured by the angular velocity sensor 250 and the translational velocity calculated by the calculation unit.

例えば、推定部121は、周囲センサ部160から取得した情報に基づいて、移動ロボット100の自己位置を推定する。或いは、推定部121は、周囲センサ部160から取得した情報に基づいて、移動ロボット100の自己位置を推定できない場合、算出部110から取得した移動ロボット100の並進速度及び角速度(つまり、合成速度)に基づいて、移動ロボット100の自己位置を推定する。例えば、推定部121は、初期位置、又は、周囲センサ部160から取得した情報に基づいて、移動ロボット100の自己位置を推定した後であれば、その後に移動ロボット100が走行したとしても、当該自己位置と合成速度とから、移動ロボット100の現在の自己位置を推定できる。 For example, the estimation unit 121 estimates the self-position of the mobile robot 100 based on information acquired from the surrounding sensor unit 160. Alternatively, if the self-position of the mobile robot 100 cannot be estimated based on the information acquired from the surrounding sensor unit 160, the estimation unit 121 estimates the translational velocity and angular velocity (that is, the combined velocity) of the mobile robot 100 acquired from the calculation unit 110. Based on this, the self-position of the mobile robot 100 is estimated. For example, if the estimation unit 121 estimates the self-position of the mobile robot 100 based on the initial position or the information acquired from the surrounding sensor unit 160, even if the mobile robot 100 subsequently moves, The current self-position of the mobile robot 100 can be estimated from the self-position and the combined speed.

地図生成部122は、上記したSLAM技術を用いて移動ロボット100が走行する所定の空間の地図を生成する。例えば、地図生成部122は、所定の空間の地図が記憶部150に記憶されていない場合、センサ部200及び周囲センサ部160から情報を取得しながら、制御部130に駆動部140を制御させて移動ロボット100を走行させることで、所定の空間の地図を生成し、記憶部150に記憶される。 The map generation unit 122 generates a map of a predetermined space in which the mobile robot 100 runs using the SLAM technology described above. For example, if a map of a predetermined space is not stored in the storage unit 150, the map generation unit 122 causes the control unit 130 to control the drive unit 140 while acquiring information from the sensor unit 200 and the surrounding sensor unit 160. By running the mobile robot 100, a map of a predetermined space is generated and stored in the storage unit 150.

なお、所定の空間の地図は、記憶部150に記憶されていてもよい。この場合、SLAM部120は、地図生成部122を有さなくてもよい。 Note that the map of the predetermined space may be stored in the storage unit 150. In this case, the SLAM section 120 does not need to include the map generation section 122.

制御部130は、駆動部140を制御することで、移動ロボット100を走行させる処理部である。具体的には、制御部130は、推定部121が推定した自己位置に基づいて、移動ロボット100を走行させる。例えば、制御部130は、地図生成部122が生成した地図に基づいて、走行経路を算出する。制御部130は、推定部121が推定した自己位置に基づいて、算出した走行経路に沿って移動ロボット100を走行させるように、駆動部140を制御する。 The control unit 130 is a processing unit that causes the mobile robot 100 to travel by controlling the drive unit 140. Specifically, the control unit 130 causes the mobile robot 100 to travel based on the self-position estimated by the estimation unit 121. For example, the control unit 130 calculates a driving route based on the map generated by the map generation unit 122. The control unit 130 controls the drive unit 140 to cause the mobile robot 100 to travel along the calculated travel route based on the self-position estimated by the estimation unit 121.

なお、走行経路(走行経路情報)は、記憶部150に予め記憶されていてもよい。 Note that the driving route (driving route information) may be stored in the storage unit 150 in advance.

算出部110、SLAM部120、及び、制御部130等の処理部は、例えば、上記した処理を実行するための制御プログラムと、当該制御プログラムを実行するCPU(Central Processing Unit)とから実現される。各種処理部は、1つのCPUで実現されてもよいし、複数のCPUで実現されてもよい。なお、それぞれの当該処理部の構成要素は、ソフトウェアではなく、それぞれ1つ又は複数の専用の電子回路等による専用のハードウェアで構成されてもよい。 The processing units such as the calculation unit 110, the SLAM unit 120, and the control unit 130 are realized by, for example, a control program for executing the above-described processing and a CPU (Central Processing Unit) that executes the control program. . The various processing units may be realized by one CPU, or may be realized by multiple CPUs. Note that the components of each of the processing units may be configured not by software but by dedicated hardware such as one or more dedicated electronic circuits.

駆動部140は、移動ロボット100を走行させるための装置である。駆動部140は、例えば、ホイール20、キャスターホイール21を回転させるための駆動モータ等を有する。制御部130は、例えば、当該駆動モータを制御することで、キャスターホイール21を回転させて移動ロボット100を走行させる。 The drive unit 140 is a device for causing the mobile robot 100 to travel. The drive unit 140 includes, for example, a drive motor for rotating the wheel 20 and the caster wheel 21. For example, the control unit 130 controls the drive motor to rotate the caster wheels 21 and cause the mobile robot 100 to travel.

記憶部150は、所定の空間の地図、算出部110、SLAM部120、及び、制御部130等の各種処理部が実行する制御プログラムを記憶する記憶装置である。記憶部150は、例えば、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。 The storage unit 150 is a storage device that stores a map of a predetermined space and control programs executed by various processing units such as the calculation unit 110, the SLAM unit 120, and the control unit 130. The storage unit 150 is realized by, for example, an HDD (Hard Disk Drive), a flash memory, or the like.

[速度算出処理]
続いて、移動ロボット100の合成速度の具体的な算出方法について説明する。具体的には、移動ロボット100の姿勢を示すα及びγ(ともに筐体10の向きを示す角度)と、h(筐体10と床面との距離(高さ))とに基づいて、移動ロボット100の速度(並進速度)の成分であるv及びvと、角速度の成分であるωと、を算出する手順について説明する。
[Speed calculation process]
Next, a specific method for calculating the composite speed of the mobile robot 100 will be explained. Specifically, the movement is determined based on α and γ (both angles indicating the orientation of the housing 10) indicating the posture of the mobile robot 100, and h (the distance (height) between the housing 10 and the floor surface). A procedure for calculating v x and v y , which are components of the velocity (translational velocity) of the robot 100, and ω, which is a component of the angular velocity, will be described.

移動ロボット100は、キャスターホイール21が筐体10に対して可動であることで、例えば、走行する床面に対して筐体10の姿勢が適宜変化されることで、小さな物体であれば簡単に乗り越えて走行したり、凸凹のある床面であっても適切に走行できる。 The mobile robot 100 has caster wheels 21 that are movable relative to the casing 10, so that, for example, the posture of the casing 10 can be appropriately changed with respect to the floor surface on which the mobile robot 100 is moving, so that it can easily move small objects. You can drive over uneven floors and drive appropriately.

ここで、筐体10は、キャスターホイール21が筐体10に対して可動となっているため、必ずしも床面に対して平行に位置しない。例えば、筐体10の底面は、移動ロボット100が走行中に床面に対して傾き方が随時変化する。つまり、筐体10の底面と床面との姿勢(より具体的には、距離)は、移動ロボット100が走行中に随時変化する。 Here, the casing 10 is not necessarily positioned parallel to the floor surface because the caster wheels 21 are movable relative to the casing 10. For example, the inclination of the bottom surface of the housing 10 with respect to the floor surface changes from time to time while the mobile robot 100 is running. That is, the attitude (more specifically, the distance) between the bottom surface of the housing 10 and the floor surface changes at any time while the mobile robot 100 is running.

そのため、例えば、光軸方向(撮影方向)が床面の法線に平行になるような初期位置で筐体10に配置された第1カメラ210は、走行中に筐体10の前後方向(例えば、筐体10の底面)が床面に対して傾くため、移動ロボット100が走行中に当該法線に対して傾く。 Therefore, for example, the first camera 210, which is placed in the housing 10 at an initial position where the optical axis direction (photographing direction) is parallel to the normal line of the floor surface, is moved in the front-back direction of the housing 10 (for example , the bottom surface of the housing 10) are tilted with respect to the floor surface, so that the mobile robot 100 is tilted with respect to the normal line while traveling.

例えば、第1カメラ210の光軸方向は、側面視した場合、図1に示すように、床面の法線に対して角度αで傾く。 For example, when viewed from the side, the optical axis direction of the first camera 210 is inclined at an angle α x with respect to the normal to the floor surface, as shown in FIG.

また、例えば、図2に示すように、移動ロボット100は、キャスターホイール21にサスペンションアーム30を介して接続されている左右両側のばね40の張力の違いにより、左右方向(移動ロボット100を上面した場合における移動ロボット100の進行方向に垂直な両方向)に傾く。 For example, as shown in FIG. (in both directions perpendicular to the direction of movement of the mobile robot 100).

例えば、第1カメラ210の光軸方向は、正面視した場合、図2に示すように、床面の法線に対して角度αで傾く。 For example, when viewed from the front, the optical axis direction of the first camera 210 is inclined at an angle α y with respect to the normal to the floor surface, as shown in FIG.

ここで、移動ロボット100が平らな床面を走行しているとする。また、床面に対する移動ロボット100の参照系(reference frame)は、床面からの距離(高さ)hにあり、rot[cos(γ)、sin(γ)、0]の軸の方向に平行な軸(回転軸)と、当該軸周りの角度α[rad]での回転とに対応する四元数(クォータニオン)は、下記の式(1)で表される。 Here, it is assumed that the mobile robot 100 is running on a flat floor surface. Further, the reference frame of the mobile robot 100 with respect to the floor is at a distance (height) h from the floor, and in the direction of the axis rot[cos(γ), sin(γ), 0] T . A quaternion corresponding to a parallel axis (rotation axis) and rotation at an angle α [rad] around the axis is expressed by the following equation (1).

Figure 0007429868000001
Figure 0007429868000001

ここで、γは、筐体10が床面に対して(より具体的には、筐体10が筐体10の基準となる姿勢に対して)どのように傾いているかを示す角度[rad]である。例えば、γ=0の場合、筐体10が左又は右に傾いていること(正面視した場合の傾き)を示し、γ=π/2の場合、筐体10が前又は後ろに傾いていること(側面視した場合の傾き)を示す。 Here, γ is an angle [rad] indicating how the housing 10 is inclined with respect to the floor (more specifically, with respect to the reference posture of the housing 10) It is. For example, when γ = 0, it indicates that the housing 10 is tilted to the left or right (tilt when viewed from the front), and when γ = π/2, the housing 10 is tilted forward or backward. (inclination when viewed from the side).

また、上記の式(1)における、i、j、及び、kは、それぞれ四元数の単位である。 Moreover, i, j, and k in the above formula (1) are each a quaternion unit.

また、参照系とは、移動ロボット100を基準として任意に定められる座標である。例えば、参照系では、移動ロボット100の重心位置を原点として、移動ロボット100の前後方向をX方向、移動ロボット100の左右方向をY方向、及び、移動ロボット100の上下方向をZ方向として定められる。なお、本明細書では、wは、世界座標系であることを示し、cは、本発明に係る移動ロボットが備えるカメラを基準として座標系であることを示す。 Further, the reference system is coordinates arbitrarily determined with the mobile robot 100 as a reference. For example, in the reference system, the center of gravity of the mobile robot 100 is set as the origin, the front-rear direction of the mobile robot 100 is determined as the X direction, the left-right direction of the mobile robot 100 is determined as the Y direction, and the vertical direction of the mobile robot 100 is determined as the Z direction. . Note that in this specification, w indicates a world coordinate system, and c indicates a coordinate system based on the camera provided in the mobile robot according to the present invention.

ここで、α≧0の場合における姿勢(-α、γ+π)と、α<0の場合における姿勢(α、γ)とが、等価であるとする。 Here, it is assumed that the posture (-α, γ+π) in the case of α≧0 and the posture (α, γ) in the case of α<0 are equivalent.

また、i個の第1カメラ210が、それぞれ移動ロボット100の参照系において位置[rcos(Ψ)、rsin(Ψ)、bで筐体10に取り付けられているとする。この場合、i番目の第1カメラ210の四元数は、下記の式(2)で表される。 In addition, the i first cameras 210 are each attached to the housing 10 at positions [r i cos (Ψ i ), r i sin (Ψ i ), b i ] T in the reference system of the mobile robot 100. shall be. In this case, the quaternion of the i-th first camera 210 is expressed by the following equation (2).

Figure 0007429868000002
Figure 0007429868000002

つまり、i番目の第1カメラ210の四元数は、i番目の第1カメラ210のZ座標における四元数と、i番目の第1カメラ210の床面における撮影位置との積によって表される。また、式(2)におけるzは、移動ロボット100のZ軸周りの回転を意味する。また、xyは、XY平面と平行となるように任意に設定された軸周りの回転を意味する。 In other words, the quaternion of the i-th first camera 210 is represented by the product of the quaternion at the Z coordinate of the i-th first camera 210 and the photographing position of the i-th first camera 210 on the floor. Ru. Further, z in equation (2) means rotation of the mobile robot 100 around the Z axis. Moreover, xy means rotation around an axis arbitrarily set to be parallel to the XY plane.

なお、Ψ、r、及び、bは、それぞれ移動ロボット100の構成要素の位置関係によって予め定まる設計パラメータである。Ψは、予め定められた基準原点(例えば、移動ロボット100の重心位置に対応する仮想点)からみて、予め定められた基準軸(例えば、基準原点を通過し、移動ロボット100の前方に平行な仮想軸)とのなす角度[rad]である。rは、当該基準原点と第1カメラ210(例えば、第1カメラ210における受光センサの中心)との距離である。及び、bは、基準軸が含まれる基準面(例えば、基準原点を通過し、且つ、移動ロボット100が動作していない場合における筐体10の底面に平行な仮想面)からの高さ方向における距離を示す。 Note that Ψ i , r i , and b i are each design parameters determined in advance based on the positional relationship of the components of the mobile robot 100. Ψ is a predetermined reference axis (for example, a point that passes through the reference origin and is parallel to the front of the mobile robot 100 when viewed from a predetermined reference origin (for example, a virtual point corresponding to the center of gravity of the mobile robot 100). It is the angle [rad] formed with the virtual axis). r is the distance between the reference origin and the first camera 210 (for example, the center of the light receiving sensor in the first camera 210). and b is the height in the height direction from the reference plane that includes the reference axis (for example, a virtual plane that passes through the reference origin and is parallel to the bottom surface of the housing 10 when the mobile robot 100 is not operating). Show distance.

また、

Figure 0007429868000003
は、それぞれ、下記の式(3)及び式(4)を満たす。 Also,
Figure 0007429868000003
satisfy the following equations (3) and (4), respectively.

Figure 0007429868000004
Figure 0007429868000004

なお、β、及び、θは、それぞれ移動ロボット100の構成要素の位置関係によって予め定まる設計パラメータである。βは、基準軸に対して、予め定められた、基準面内で基準軸が直交し、且つ、第1カメラ210(例えば、第1カメラ210における受光センサの中心)を通過する軸周りの回転角度[rad]を示す。また、θは、基準面に直交し、且つ、第1カメラ210(例えば、第1カメラ210における受光センサの中心)を通過する軸周りの回転角度[rad]を示す。 Note that β and θ are design parameters that are determined in advance depending on the positional relationship of the components of the mobile robot 100, respectively. β is a predetermined rotation about the reference axis that is orthogonal to the reference axis within the reference plane and that passes through the first camera 210 (for example, the center of the light receiving sensor in the first camera 210). Indicates the angle [rad]. Further, θ indicates a rotation angle [rad] around an axis that is perpendicular to the reference plane and passes through the first camera 210 (for example, the center of the light receiving sensor in the first camera 210).

このようにして、i番目の第1カメラ210は、下記の式(5)に示すように、世界座標系(予め任意に定められる座標系)に対する位置が定められる。 In this way, the position of the i-th first camera 210 with respect to the world coordinate system (a coordinate system arbitrarily determined in advance) is determined as shown in equation (5) below.

Figure 0007429868000005
Figure 0007429868000005

また、i番目の第1カメラ210の回転(予め定められた任意の方向からの回転)を表す四元数は、下記の式(6)で表される。 Further, a quaternion representing the rotation (rotation from any predetermined direction) of the i-th first camera 210 is expressed by the following equation (6).

Figure 0007429868000006
Figure 0007429868000006

また、この場合、i番目の第1カメラ210は、下記の式(7)に示す床面の位置であるpを撮影する。 Further, in this case, the i-th first camera 210 photographs p i , which is the position of the floor surface expressed by the following equation (7).

Figure 0007429868000007
Figure 0007429868000007

ここで、pi,x及びpi,yは、下記の式(8)及び式(9)を満たす。 Here, p i,x and p i,y satisfy the following equations (8) and (9).

Figure 0007429868000008
Figure 0007429868000008

また、κは、下記の式(10)を満たす。 Further, κ satisfies the following formula (10).

Figure 0007429868000009
Figure 0007429868000009

移動ロボット100が並進速度

Figure 0007429868000010
且つ角速度
Figure 0007429868000011
で床面に対して移動する場合、pの見かけの速度は、下記の式(11)で表される。 The mobile robot 100 has a translation speed
Figure 0007429868000010
and angular velocity
Figure 0007429868000011
When moving with respect to the floor surface, the apparent velocity of p i is expressed by the following equation (11).

Figure 0007429868000012
Figure 0007429868000012

また、i番目の第1カメラ210の撮影結果から算出されるi番目の第1カメラ210の速度(つまり、移動ロボット100の合成速度)は、下記の式(12)を満たす。 Furthermore, the speed of the i-th first camera 210 (that is, the combined speed of the mobile robot 100) calculated from the photographic results of the i-th first camera 210 satisfies the following equation (12).

Figure 0007429868000013
Figure 0007429868000013

なお、第1カメラ210がテレセントリックカメラである場合の行列Jは、下記の式(13)で表される。 Note that the matrix J i when the first camera 210 is a telecentric camera is expressed by the following equation (13).

Figure 0007429868000014
Figure 0007429868000014

ここで、mは、世界座標系から参照系に値を変換する回転並進行列を示す。 Here, m indicates a rotation-translation matrix that transforms values from the world coordinate system to the reference system.

なお、テレセントリックカメラとは、受光センサと、光源と、視差を除去するためのレンズであるテレセントリックレンズと、を備え、光源からテレセントリックレンズを介して光を出射し、床面等の対象物での反射光を受光センサで検出(つまり、撮影)するカメラである。 Note that a telecentric camera is equipped with a light receiving sensor, a light source, and a telecentric lens that is a lens for removing parallax, and emits light from the light source via the telecentric lens to capture images on objects such as floors. This is a camera that detects (that is, photographs) reflected light with a light receiving sensor.

或いは、第1カメラ210がピンホールカメラである場合の行列Jは、下記の式(14)で表される。 Alternatively, the matrix J i when the first camera 210 is a pinhole camera is expressed by the following equation (14).

Figure 0007429868000015
Figure 0007429868000015

なお、ピンホールカメラとは、レンズを用いず孔(ピンヒール)を利用したカメラである。 Note that a pinhole camera is a camera that uses a hole (spin heel) without using a lens.

ピンホールカメラ、及び、テレセントリックレンズではないいわゆる通常のレンズが採用されたカメラ等では、撮影された物体の画像における大きさは、物体とカメラとの距離に離れるにつれて小さくなる。本実施の形態では、第1カメラ210は、テレセントリックカメラでもよいし、テレセントリックカメラでなくてもよい。 In pinhole cameras and cameras that employ so-called normal lenses that are not telecentric lenses, the size of a photographed object in an image becomes smaller as the distance between the object and the camera increases. In this embodiment, the first camera 210 may or may not be a telecentric camera.

ここで、Jp11、Jp12、Jp13、及び、Jp14は、下記の式(15)、式(16)、式(17)、及び、式(18)を満たす。 Here, J p11 , J p12 , J p13 , and J p14 satisfy the following formulas (15), (16), (17), and (18).

Figure 0007429868000016
Figure 0007429868000016

なお、fは、第1カメラ210の焦点距離を示す。 Note that f indicates the focal length of the first camera 210.

また、各mは、下記の式(19)~式(28)で表される。 Further, each m is expressed by the following formulas (19) to (28).

Figure 0007429868000017
Figure 0007429868000017

Figure 0007429868000018
Figure 0007429868000018

Figure 0007429868000019
Figure 0007429868000019

Figure 0007429868000020
Figure 0007429868000020

上記した通り、第1カメラ210の撮影結果から算出される移動ロボット100の速度は、αとγとによって表される筐体10の向き、及び、hによって表される筐体10の高さに依存する。 As described above, the speed of the mobile robot 100 calculated from the photographic results of the first camera 210 depends on the direction of the housing 10 represented by α and γ and the height of the housing 10 represented by h. Dependent.

また、第1カメラ210の撮影結果から算出される移動ロボット100の並進速度は、移動ロボット100の設計パラメータであるr、Ψ、b、β、及び、θに依存する。なお、これらの設計パラメータは、移動ロボット100のサイズ、レイアウト等によって定められる値であり、予め定められる既知の値である。 Further, the translational speed of the mobile robot 100 calculated from the photographed result of the first camera 210 depends on the design parameters of the mobile robot 100, namely r i , Ψ i , b i , β i , and θ i . Note that these design parameters are values determined by the size, layout, etc. of the mobile robot 100, and are known values determined in advance.

つまり、算出部110は、αとγとhとが取得できれば、第1カメラ210から得られる情報(第1下方画像)を用いて移動ロボット100の並進速度(所定の基準軸に沿った方向の速度)を精度よく算出できる。さらに、算出部110は、αとγとhとを取得し、且つ、角速度(所定の基準軸からの回転速度)を算出することで、並進速度と角速度とから、所定の時刻における移動ロボット100の合成速度を精度よく算出できる。 In other words, if α, γ, and h can be obtained, the calculation unit 110 uses the information obtained from the first camera 210 (first lower image) to determine the translational speed of the mobile robot 100 (in the direction along the predetermined reference axis). speed) can be calculated with high accuracy. Furthermore, the calculation unit 110 acquires α, γ, and h, and calculates the angular velocity (rotational velocity from a predetermined reference axis), thereby determining the mobile robot 100 at a predetermined time from the translational velocity and the angular velocity. The synthesis speed of can be calculated with high accuracy.

なお、本実施の形態では、3つの測距センサ240を用いて、筐体10と床面との距離を計測する。 Note that in this embodiment, three distance measuring sensors 240 are used to measure the distance between the housing 10 and the floor surface.

ここで、Nd(≧3)個の測距センサ240が、それぞれ、移動ロボット100の参照系における位置(x,y,z)で筐体10に取り付けられているとする。 Here, it is assumed that Nd (≧3) distance measuring sensors 240 are respectively attached to the housing 10 at positions (x i , y i , z i ) in the reference system of the mobile robot 100.

なお、距離センサの数は、3個以上であればよく、特に限定されない。本実施の形態では、移動ロボットが備える距離センサの数は、3個である。 Note that the number of distance sensors is not particularly limited as long as it is three or more. In this embodiment, the number of distance sensors included in the mobile robot is three.

例えば、i番目の測距センサ240は、筐体10と床面との間の距離(h)を計測する。 For example, the i-th distance measurement sensor 240 measures the distance (h i ) between the housing 10 and the floor surface.

なお、以下では説明を簡単にするために、i番目の測距センサ240は、Z軸方向に沿ってhを測定するとする。 Note that, in order to simplify the explanation below, it is assumed that the i-th distance measurement sensor 240 measures h i along the Z-axis direction.

測距センサ240は、設計上又は製造上の許容誤差により、鉛直方向に対して傾いている場合がある。この場合、算出部110は、予め許容誤差がわかっているとき、当該許容誤差に基づいて測距センサ240から取得されるhを補正してもよい。 The distance sensor 240 may be tilted with respect to the vertical direction due to design or manufacturing tolerances. In this case, when the allowable error is known in advance, the calculation unit 110 may correct h i acquired from the ranging sensor 240 based on the allowable error.

算出部110は、i個の測距センサ240のそれぞれから得られるhに基づいて、1≦i≦Ndの条件から、h、α、及び、γを計算できる。 The calculation unit 110 can calculate h, α, and γ based on h i obtained from each of the i distance measuring sensors 240 under the condition of 1≦i≦Nd.

例えば、下記の式(29)及び式(30)のようにH及びXを定義する。 For example, H and X are defined as in the following formulas (29) and (30).

Figure 0007429868000021
Figure 0007429868000021

これにより、下記の式(31)が導出される。 As a result, the following equation (31) is derived.

Figure 0007429868000022
Figure 0007429868000022

上記した式(31)から、検出部230が測距センサ240を3つ以上有することにより、XXが非可逆行列とならずに算出できることがわかる。 From the above equation (31), it can be seen that when the detection unit 230 has three or more distance measuring sensors 240, XX T can be calculated without becoming an irreversible matrix.

また、以上の式(29)~式(31)から、下記の式(32)~式(34)が導出される。 Furthermore, the following equations (32) to (34) are derived from the above equations (29) to (31).

Figure 0007429868000023
Figure 0007429868000023

また、上記した式(12)の逆数から、下記の式(35)が導出される。 Further, the following equation (35) is derived from the reciprocal of the above equation (12).

Figure 0007429868000024
Figure 0007429868000024

なお、

Figure 0007429868000025
と仮定する。 In addition,
Figure 0007429868000025
Assume that

また、

Figure 0007429868000026
は、角速度センサ250から取得できる。 Also,
Figure 0007429868000026
can be obtained from the angular velocity sensor 250.

最後に、上記した式(11)の逆数から、下記の式(36)及び式(37)が導出される。 Finally, the following equation (36) and equation (37) are derived from the reciprocal of the above equation (11).

Figure 0007429868000027
Figure 0007429868000027

これにより、移動ロボット100の合成速度が算出される。 As a result, the combined speed of the mobile robot 100 is calculated.

なお、上記した式(36)及び式(37)のv及びvに付しているハットは、推定値であることを示すための符号である。以下で用いるハットについても同様である。 Note that the hats attached to v x and v y in equations (36) and (37) above are symbols to indicate that they are estimated values. The same applies to the hats used below.

[処理手順]
続いて、移動ロボット100の処理手順について説明する。
[Processing procedure]
Next, the processing procedure of the mobile robot 100 will be explained.

<概要>
図5は、実施の形態1に係る移動ロボット100の処理手順の概要を示すフローチャートである。なお、以下で説明するフローチャートでは、まず、移動ロボット100は、ステップS110(又は後述するステップS111若しくはステップS123)の前に、所定の空間における移動ロボット100の自己位置(第1自己位置と呼称する)を推定できているとする。また、第1カメラ210は、筐体10の下方を撮影することで、当該第1自己位置で、第1下方画像を生成する。第1カメラ210は、生成した第1下方画像を算出部110に出力する。また、制御部130は、駆動部140を制御することで、例えば記憶部150に記憶されている走行経路に沿って、当該第1自己位置から移動ロボット100を走行させる。
<Summary>
FIG. 5 is a flowchart showing an overview of the processing procedure of the mobile robot 100 according to the first embodiment. In the flowchart described below, the mobile robot 100 first determines the self-position of the mobile robot 100 in a predetermined space (referred to as a first self-position) before step S110 (or step S111 or step S123 described later). ) can be estimated. Furthermore, the first camera 210 generates a first downward image at the first self-position by photographing the downward direction of the housing 10 . The first camera 210 outputs the generated first downward image to the calculation unit 110. Further, the control unit 130 controls the drive unit 140 to cause the mobile robot 100 to travel from the first self-position, for example, along a travel route stored in the storage unit 150.

第1カメラ210は、移動ロボット100が走行中に、筐体10の下方を撮影することで、第1下方画像を生成する(ステップS110)。第1カメラ210は、生成した第1下方画像を算出部110に出力する。 The first camera 210 generates a first lower image by photographing the lower part of the housing 10 while the mobile robot 100 is running (step S110). The first camera 210 outputs the generated first downward image to the calculation unit 110.

次に、算出部110は、筐体10の姿勢を算出する(ステップS120)。本実施の形態では、算出部110は、3つの測距センサ240のそれぞれから距離を取得する。算出部110は、取得した距離から、筐体10の姿勢を示す筐体10の向き(α及びγ)と、高さ(h)と、を算出する。 Next, the calculation unit 110 calculates the attitude of the housing 10 (step S120). In this embodiment, calculation unit 110 obtains distances from each of three distance measurement sensors 240. The calculation unit 110 calculates the orientation (α and γ) of the housing 10 indicating the attitude of the housing 10 and the height (h) from the acquired distance.

次に、算出部110は、筐体10の姿勢及び第1下方画像に基づいて、移動ロボット100の並進速度を算出する(ステップS130)。具体的には、算出部110は、筐体10の姿勢と、第1自己位置で生成された第1下方画像と、移動ロボット100が走行中に生成された第1下方画像と、に基づいて、移動ロボット100の並進速度を算出する。 Next, the calculation unit 110 calculates the translation speed of the mobile robot 100 based on the attitude of the housing 10 and the first downward image (step S130). Specifically, the calculation unit 110 calculates the calculation result based on the posture of the housing 10, the first lower image generated at the first self-position, and the first lower image generated while the mobile robot 100 is running. , calculate the translation speed of the mobile robot 100.

次に、算出部110は、角速度を取得する(ステップS140)。本実施の形態では、算出部110は、移動ロボット100が走行中に角速度センサ250から角速度を取得する。 Next, the calculation unit 110 obtains the angular velocity (step S140). In this embodiment, calculation unit 110 acquires the angular velocity from angular velocity sensor 250 while mobile robot 100 is running.

次に、推定部121は、並進速度及び角速度に基づいて、所定の空間における移動ロボット100の自己位置を推定する(ステップS150)。具体的には、推定部121は、並進速度及び角速度と、第1自己位置とに基づいて、所定の空間における移動ロボット100の、第1自己位置から移動した後の自己位置(第2自己位置)を推定する。例えば、推定部121は、第1自己位置の座標及び当該第1自己位置に移動ロボット100が位置している時刻と、算出部110が算出した並進速度及び角速度、並びに、移動後の時刻(より具体的には、第2自己位置に移動ロボット100が位置している時刻)とに基づいて、第2自己位置の座標を算出する。或いは、推定部121は、第1自己位置の座標と、算出部110が算出した並進速度及び角速度と、第1自己位置から第2自己位置までの移動時間とに基づいて、当該第2自己位置の座標を算出する。 Next, the estimation unit 121 estimates the self-position of the mobile robot 100 in a predetermined space based on the translational velocity and the angular velocity (step S150). Specifically, the estimating unit 121 determines the self-position (second self-position) of the mobile robot 100 in a predetermined space after moving from the first self-position, based on the translational velocity, the angular velocity, and the first self-position. ) is estimated. For example, the estimation unit 121 calculates the coordinates of the first self-position, the time at which the mobile robot 100 is located at the first self-position, the translational velocity and angular velocity calculated by the calculation unit 110, and the time after movement (more Specifically, the coordinates of the second self-position are calculated based on the time at which the mobile robot 100 is located at the second self-position. Alternatively, the estimation unit 121 calculates the second self-position based on the coordinates of the first self-position, the translational velocity and angular velocity calculated by the calculation unit 110, and the travel time from the first self-position to the second self-position. Calculate the coordinates of

なお、移動ロボット100は、時間を取得するためにRTC(Real Time Clock)等の計時部を備えてもよい。 Note that the mobile robot 100 may include a clock unit such as an RTC (Real Time Clock) to obtain time.

次に、制御部130は、駆動部140を制御することで、推定部121が推定した自己位置に基づいて、移動ロボット100を走行させる(ステップS160)。具体的には、制御部130は、駆動部140を制御することで、例えば記憶部150に記憶されている走行経路に沿って、当該第2自己位置からさらに移動ロボット100を走行させる。 Next, the control unit 130 controls the drive unit 140 to cause the mobile robot 100 to travel based on the self-position estimated by the estimation unit 121 (step S160). Specifically, the control unit 130 controls the drive unit 140 to cause the mobile robot 100 to further travel from the second self-position, for example, along a travel route stored in the storage unit 150.

<具体例>
図6は、実施の形態1に係る移動ロボット100の処理手順を示すフローチャートである。
<Specific example>
FIG. 6 is a flowchart showing the processing procedure of the mobile robot 100 according to the first embodiment.

まず、第1カメラ210は、移動ロボット100が走行中に、筐体10の下方を撮影することで、第1下方画像を生成する(ステップS110)。 First, the first camera 210 generates a first lower image by photographing the lower part of the housing 10 while the mobile robot 100 is running (step S110).

次に、算出部110は、3つの測距センサ240のそれぞれから得られる距離に基づいて、筐体10の姿勢を算出する(ステップS121)。具体的には、算出部110は、取得した距離から、筐体10の姿勢を示す筐体10の向き(α及びγ)と、高さ(h)と、を算出する。 Next, the calculation unit 110 calculates the attitude of the housing 10 based on the distances obtained from each of the three distance measurement sensors 240 (step S121). Specifically, the calculation unit 110 calculates the orientation (α and γ) of the housing 10 indicating the attitude of the housing 10 and the height (h) from the acquired distance.

次に、算出部110は、筐体10の姿勢及び第1下方画像に基づいて、移動ロボット100の並進速度を算出する(ステップS130)。 Next, the calculation unit 110 calculates the translation speed of the mobile robot 100 based on the attitude of the housing 10 and the first downward image (step S130).

次に、算出部110は、移動ロボット100が走行中に角速度センサ250から角速度を取得する(ステップS141)。 Next, the calculation unit 110 acquires the angular velocity from the angular velocity sensor 250 while the mobile robot 100 is running (step S141).

次に、推定部121は、並進速度及び角速度に基づいて、所定の空間における移動ロボット100の自己位置を推定する(ステップS150)。 Next, the estimation unit 121 estimates the self-position of the mobile robot 100 in a predetermined space based on the translational velocity and the angular velocity (step S150).

次に、制御部130は、駆動部140を制御することで、推定部121が推定した自己位置に基づいて、移動ロボット100を走行させる(ステップS160)。 Next, the control unit 130 controls the drive unit 140 to cause the mobile robot 100 to travel based on the self-position estimated by the estimation unit 121 (step S160).

[効果等]
以上説明したように、実施の形態1に係る移動ロボット100は、所定の空間を自律走行する移動ロボットである。移動ロボット100は、筐体10と、筐体10に取り付けられ、筐体10の下方を撮影することで第1下方画像を生成する第1カメラ210と、筐体10に取り付けられ、筐体10の姿勢を検出するための検出部230と、筐体10の姿勢及び第1下方画像に基づいて移動ロボット100の速度(上記した並進速度)を算出する算出部110と、算出部110が算出した速度に基づいて、所定の空間における移動ロボット100の自己位置を推定する推定部121と、推定部121が推定した自己位置に基づいて、移動ロボット100を走行させる制御部130と、を備える。
[Effects etc.]
As explained above, the mobile robot 100 according to the first embodiment is a mobile robot that autonomously moves in a predetermined space. The mobile robot 100 includes a housing 10 , a first camera 210 that is attached to the housing 10 and generates a first downward image by photographing the lower part of the housing 10 , and a detection unit 230 for detecting the attitude of the mobile robot 100, a calculation unit 110 for calculating the velocity (the above-mentioned translational velocity) of the mobile robot 100 based on the attitude of the housing 10 and the first downward image; The mobile robot 100 includes an estimation unit 121 that estimates the self-position of the mobile robot 100 in a predetermined space based on the speed, and a control unit 130 that causes the mobile robot 100 to travel based on the self-position estimated by the estimation unit 121.

上記したように、算出部110は、筐体10の姿勢及び速度を算出することで、間接的に筐体10と相対的な姿勢及び位置関係が変わらないように取り付けられた第1カメラ210の姿勢及び速度を算出する。これによれば、算出部110は、第1カメラ210の姿勢を補正できるため、より正確な第1カメラ210の速度を算出できる。つまり、算出部110は、より正確な筐体10、言い換えると、移動ロボット100の速度を算出できる。これにより、移動ロボット100は、精度よく算出された速度を用いて、自己位置を精度よく算出できる。 As described above, by calculating the attitude and speed of the casing 10, the calculation unit 110 indirectly calculates the attitude and position of the first camera 210, which is attached so that the relative attitude and positional relationship with the casing 10 does not change. Calculate attitude and speed. According to this, the calculation unit 110 can correct the attitude of the first camera 210, and therefore can calculate the speed of the first camera 210 more accurately. In other words, the calculation unit 110 can more accurately calculate the speed of the housing 10, in other words, the speed of the mobile robot 100. Thereby, the mobile robot 100 can accurately calculate its own position using the accurately calculated speed.

また、例えば、検出部230は、移動ロボット100が走行する床面と筐体10との距離をそれぞれが計測する3つ以上の測距センサ240を備える。この場合、例えば、算出部110は、3つ以上の測距センサ240のそれぞれから得られる距離に基づいて、筐体10の姿勢を算出する。 Further, for example, the detection unit 230 includes three or more distance measuring sensors 240, each of which measures the distance between the floor surface on which the mobile robot 100 runs and the housing 10. In this case, for example, the calculation unit 110 calculates the attitude of the housing 10 based on the distances obtained from each of the three or more distance measuring sensors 240.

これによれば、算出部110は、3つ以上の測距センサ240のそれぞれから得られる距離に基づいて、簡便な算出処理で筐体10の姿勢を算出できる。 According to this, the calculation unit 110 can calculate the attitude of the housing 10 using a simple calculation process based on the distances obtained from each of the three or more distance measuring sensors 240.

また、例えば、移動ロボット100は、さらに、筐体10に取り付けられ、移動ロボット100の角速度を計測する角速度センサ250を備える。この場合、推定部121は、移動ロボット100の角速度及び速度(つまり、上記した合成速度)に基づいて、自己位置を推定する。 Furthermore, for example, the mobile robot 100 further includes an angular velocity sensor 250 that is attached to the housing 10 and measures the angular velocity of the mobile robot 100. In this case, the estimation unit 121 estimates the self-position based on the angular velocity and velocity (that is, the above-mentioned combined velocity) of the mobile robot 100.

これによれば、算出部110は、簡便な構成で移動ロボット100の角速度を取得でき、推定部121は、自己位置をさらに精度よく推定できる。また、推定部121は、当該自己位置における移動ロボット100(より具体的には、筐体10)の向きを精度よく推定できる。これによれば、移動ロボット100は、当該自己位置からさらに走行する際に、さらに適切な向きに走行を開始できる。 According to this, the calculation unit 110 can obtain the angular velocity of the mobile robot 100 with a simple configuration, and the estimation unit 121 can estimate the self-position with higher accuracy. Furthermore, the estimation unit 121 can accurately estimate the orientation of the mobile robot 100 (more specifically, the housing 10) at the self-position. According to this, when the mobile robot 100 further travels from the self-position, it can start traveling in a more appropriate direction.

(実施の形態2)
以下、実施の形態2に係る移動ロボットについて説明する。なお、実施の形態2の説明においては、実施の形態1に係る移動ロボット100との差異点を中心に説明し、移動ロボット100と実質的に同様の構成及び処理手順についてはそれぞれ同様の符号を付し、説明を一部簡略化又は省略する場合がある。
(Embodiment 2)
A mobile robot according to Embodiment 2 will be described below. In the description of the second embodiment, the differences from the mobile robot 100 according to the first embodiment will be mainly explained, and the configurations and processing procedures that are substantially the same as those of the mobile robot 100 will be designated by the same reference numerals. The explanation may be partially simplified or omitted.

[構成]
図7は、実施の形態2に係る移動ロボット101の構成を示すブロック図である。図8は、実施の形態2に係る移動ロボット101が備えるセンサ部201の各構成要素の配置レイアウトを模式的に示す図である。なお、図8では、センサ部201の一部の配置レイアウトを筐体10の底面側から見た場合を示しており、センサ部201の他の一部の構成要素及びホイール20等の図示を省略している。
[composition]
FIG. 7 is a block diagram showing the configuration of mobile robot 101 according to the second embodiment. FIG. 8 is a diagram schematically showing the arrangement layout of each component of the sensor unit 201 included in the mobile robot 101 according to the second embodiment. Note that FIG. 8 shows the arrangement layout of a part of the sensor unit 201 when viewed from the bottom side of the housing 10, and illustrations of some other components of the sensor unit 201, the wheel 20, etc. are omitted. are doing.

移動ロボット101は、3つの測距センサ240と1つの画像とに基づいて並進速度を算出し、2つの画像に基づいて角速度を算出する。 The mobile robot 101 calculates translational velocity based on three distance measuring sensors 240 and one image, and calculates angular velocity based on two images.

移動ロボット101は、センサ部201と、周囲センサ部160と、算出部111と、SLAM部120と、制御部130と、駆動部140と、記憶部150と、を備える。 The mobile robot 101 includes a sensor section 201, a surrounding sensor section 160, a calculation section 111, a SLAM section 120, a control section 130, a drive section 140, and a storage section 150.

センサ部201は、移動ロボット101の速度を算出するための情報を検出するセンサ群である。本実施の形態では、センサ部201は、第1カメラ210と、光源220と、検出部230と、第2カメラ251と、オドメトリセンサ260と、を備える。 The sensor unit 201 is a group of sensors that detects information for calculating the speed of the mobile robot 101. In this embodiment, the sensor section 201 includes a first camera 210, a light source 220, a detection section 230, a second camera 251, and an odometry sensor 260.

第2カメラ251は、筐体10に取り付けられ、筐体10の下方を撮影することで画像(第2下方画像)を生成するカメラである。第2カメラ251は、生成した第2下方画像を算出部111に定期的に繰り返し出力する。第2カメラ251は、後述する光源220に基づく光の分布を検出できればよく、検出する光の波長、ピクセル数等は特に限定されない。 The second camera 251 is a camera that is attached to the housing 10 and generates an image (second lower image) by photographing the lower part of the housing 10. The second camera 251 periodically and repeatedly outputs the generated second downward image to the calculation unit 111. The second camera 251 only needs to be able to detect the distribution of light based on the light source 220, which will be described later, and the wavelength of the light to be detected, the number of pixels, etc. are not particularly limited.

なお、本実施の形態では、移動ロボット101は、2台のカメラ(第1カメラ210及び第2カメラ251)を備えるが、3台以上のカメラを備えてもよい。 Note that in this embodiment, the mobile robot 101 includes two cameras (first camera 210 and second camera 251), but may include three or more cameras.

なお、図8には、第1カメラ210及び第2カメラ251のそれぞれに対応する光源220を1つずつ図示しているが、センサ部201が備える光源220の数は、1つでもよい。 Although FIG. 8 shows one light source 220 corresponding to each of the first camera 210 and the second camera 251, the number of light sources 220 included in the sensor unit 201 may be one.

図8に示すように、例えば、筐体10を底面視した場合、第1カメラ210及び第2カメラ251は、筐体10の中央部に並んで取り付けられている。 As shown in FIG. 8, for example, when the housing 10 is viewed from the bottom, the first camera 210 and the second camera 251 are installed side by side in the center of the housing 10.

第1カメラ210、検出部230、第2カメラ251、及び、オドメトリセンサ260は、例えば、算出部111等の処理部によって同期して動作され、同時刻における情報をそれぞれ定期的に繰り返し算出部111に出力する。 The first camera 210, the detection unit 230, the second camera 251, and the odometry sensor 260 are operated in synchronization by, for example, a processing unit such as the calculation unit 111, and each periodically repeats information at the same time. Output to.

算出部111は、筐体10の姿勢及び第1下方画像に基づいて移動ロボット101の速度(並進速度)を算出する処理部である。本実施の形態では、算出部111は、第1下方画像と第2下方画像とに基づいて、移動ロボット101の角速度を算出する。具体的な角速度の算出方法については、後述する。 The calculation unit 111 is a processing unit that calculates the speed (translational speed) of the mobile robot 101 based on the attitude of the housing 10 and the first downward image. In this embodiment, the calculation unit 111 calculates the angular velocity of the mobile robot 101 based on the first lower image and the second lower image. A specific method for calculating the angular velocity will be described later.

また、算出部111は、算出した並進速度と、算出した角速度とから、移動ロボット101が走行した向きも考慮された速度(合成速度)を算出する。算出部111は、算出した合成速度をSLAM部120に出力する。なお、算出部111は、算出した並進速度と、算出した角速度とのそれぞれの情報を、合成せずにSLAM部120に出力してもよい。 Further, the calculation unit 111 calculates a speed (composite speed) in which the direction in which the mobile robot 101 traveled is also taken into consideration from the calculated translational speed and the calculated angular speed. The calculation unit 111 outputs the calculated combined speed to the SLAM unit 120. Note that the calculation unit 111 may output the respective information of the calculated translational velocity and the calculated angular velocity to the SLAM unit 120 without combining them.

[速度算出処理]
続いて、移動ロボット101の合成速度の具体的な算出方法について説明する。なお、以下の説明では、移動ロボット101が筐体10の下方を撮影するNc(≧2)台のカメラ(第1カメラ210及び第2カメラ251の両方を含むカメラの台数)を備えるとして説明する。
[Speed calculation process]
Next, a specific method for calculating the composite speed of the mobile robot 101 will be described. In the following description, it is assumed that the mobile robot 101 is equipped with Nc (≧2) cameras (the number of cameras including both the first camera 210 and the second camera 251) that take pictures of the lower part of the housing 10. .

まず、上記した式(35)から、

Figure 0007429868000028
を算出できる。 First, from the above equation (35),
Figure 0007429868000028
can be calculated.

次に、下記の式(38)に示すように、行列Aを定義する。 Next, matrix A is defined as shown in equation (38) below.

Figure 0007429868000029
Figure 0007429868000029

これによれば、移動ロボット101の並進速度及び角速度は、下記の式(39)から算出できる。 According to this, the translational velocity and angular velocity of the mobile robot 101 can be calculated from the following equation (39).

Figure 0007429868000030
Figure 0007429868000030

このように、上記した式(39)によって、算出部111は、2台以上のカメラから得られる情報(画像)に基づいて、並進速度及び角速度を算出できる。より具体的には、算出部111は、2台以上のカメラから得られる画像の走行前後の相対的な位置関係の変化に基づいて、移動ロボット101の角速度を算出できる。 In this way, the calculation unit 111 can calculate the translational velocity and angular velocity based on the information (images) obtained from two or more cameras using the above equation (39). More specifically, the calculation unit 111 can calculate the angular velocity of the mobile robot 101 based on changes in the relative positional relationship before and after traveling of images obtained from two or more cameras.

[処理手順]
図9は、実施の形態2に係る移動ロボット101の処理手順を示すフローチャートである。
[Processing procedure]
FIG. 9 is a flowchart showing the processing procedure of the mobile robot 101 according to the second embodiment.

まず、第1カメラ210は、移動ロボット101が走行中に、筐体10の下方を撮影することで、第1下方画像を生成する(ステップS110)。 First, the first camera 210 generates a first lower image by photographing the lower part of the housing 10 while the mobile robot 101 is running (step S110).

次に、算出部111は、3つの測距センサ240のそれぞれから得られる距離に基づいて、筐体10の姿勢を算出する(ステップS121)。具体的には、算出部111は、取得した距離から、筐体10の姿勢を示す筐体10の向き(α及びγ)と、高さ(h)と、を算出する。 Next, the calculation unit 111 calculates the attitude of the housing 10 based on the distances obtained from each of the three distance measurement sensors 240 (step S121). Specifically, the calculation unit 111 calculates the orientation (α and γ) of the housing 10 indicating the attitude of the housing 10 and the height (h) from the acquired distance.

次に、算出部111は、筐体10の姿勢及び第1下方画像に基づいて、移動ロボット101の並進速度を算出する(ステップS130)。 Next, the calculation unit 111 calculates the translation speed of the mobile robot 101 based on the attitude of the housing 10 and the first downward image (step S130).

次に、第2カメラ251は、移動ロボット101が走行中に、筐体10の下方を撮影することで、第2下方画像を生成する(ステップS142)。第2カメラ251は、生成した第2下方画像を算出部111に出力する。 Next, the second camera 251 generates a second lower image by photographing the lower part of the housing 10 while the mobile robot 101 is running (step S142). The second camera 251 outputs the generated second downward image to the calculation unit 111.

なお、第2カメラ251は、移動ロボット101が走行を開始する前の地点(上記した第1自己位置)において、筐体10の下方を撮影することで、第2下方画像を生成している。この場合にも、第2カメラ251は、生成した第2下方画像を算出部111に出力する。 Note that the second camera 251 generates a second downward image by photographing the downward side of the housing 10 at a point before the mobile robot 101 starts traveling (the first self-position described above). Also in this case, the second camera 251 outputs the generated second lower image to the calculation unit 111.

なお、第1カメラ210が撮影するタイミング、及び、第2カメラ251が撮影するタイミングは、同じタイミングである。つまり、ステップS110、及び、ステップS142は、同時刻に行われる。 Note that the timing at which the first camera 210 takes an image and the timing at which the second camera 251 takes an image are the same timing. That is, step S110 and step S142 are performed at the same time.

次に、算出部111は、第1下方画像及び第2下方画像に基づいて、移動ロボット101の角速度を算出する(ステップS143)。 Next, the calculation unit 111 calculates the angular velocity of the mobile robot 101 based on the first lower image and the second lower image (step S143).

次に、推定部121は、並進速度及び角速度に基づいて、所定の空間における移動ロボット101の自己位置を推定する(ステップS150)。 Next, the estimation unit 121 estimates the self-position of the mobile robot 101 in a predetermined space based on the translational velocity and angular velocity (step S150).

次に、制御部130は、駆動部140を制御することで、推定部121が推定した自己位置に基づいて、移動ロボット101を走行させる(ステップS160)。 Next, the control unit 130 controls the drive unit 140 to cause the mobile robot 101 to travel based on the self-position estimated by the estimation unit 121 (step S160).

[効果等]
以上説明したように、実施の形態2に係る移動ロボット101は、筐体10と、第1カメラ210と、検出部230(3つ以上の測距センサ240)と、筐体10の姿勢及び第1下方画像に基づいて移動ロボット101の速度(上記した並進速度)を算出する算出部111と、推定部121と、制御部130と、を備える。また、移動ロボット101は、さらに、筐体10に取り付けられ、移動ロボット101(より具体的には、筐体10)の下方を撮影することで第2下方画像を生成する第2カメラ251を備える。この場合、例えば、算出部111は、第1下方画像と第2下方画像とに基づいて、移動ロボット101の角速度を算出する。
[Effects etc.]
As described above, the mobile robot 101 according to the second embodiment includes the housing 10, the first camera 210, the detection section 230 (three or more distance measuring sensors 240), the posture of the housing 10, and the first camera 210. The mobile robot 101 includes a calculation unit 111 that calculates the speed (translation speed described above) of the mobile robot 101 based on a lower image, an estimation unit 121, and a control unit 130. The mobile robot 101 further includes a second camera 251 that is attached to the housing 10 and generates a second downward image by photographing the lower part of the mobile robot 101 (more specifically, the housing 10). . In this case, for example, the calculation unit 111 calculates the angular velocity of the mobile robot 101 based on the first lower image and the second lower image.

これによれば、算出部111は、例えば、IMU等の角速度を検出するための装置を用いるよりも、2台のカメラから得られる画像に基づいて移動ロボット101の角速度を精度よく算出できる。 According to this, the calculation unit 111 can calculate the angular velocity of the mobile robot 101 with higher accuracy based on images obtained from the two cameras, for example, than using a device for detecting angular velocity such as an IMU.

(実施の形態3)
以下、実施の形態3に係る移動ロボットについて説明する。なお、実施の形態3の説明においては、実施の形態1、2に係る移動ロボット100、101との差異点を中心に説明し、移動ロボット100、101と実質的に同様の構成及び処理手順については同様の符号を付し、説明を一部簡略化又は省略する場合がある。
(Embodiment 3)
A mobile robot according to Embodiment 3 will be described below. In the description of the third embodiment, the differences from the mobile robots 100 and 101 according to the first and second embodiments will be mainly explained, and the configuration and processing procedure that are substantially the same as the mobile robots 100 and 101 will be explained. are given the same reference numerals, and some explanations may be simplified or omitted.

[構成]
図10は、実施の形態3に係る移動ロボット102の構成を示すブロック図である。図11は、実施の形態3に係る移動ロボット102が備えるセンサ部202の各構成要素の配置レイアウトを模式的に示す図である。なお、図11では、センサ部202の一部の配置レイアウトを筐体10の底面側から見た場合を示しており、センサ部202の他の一部の構成要素及びホイール20等の図示を省略している。
[composition]
FIG. 10 is a block diagram showing the configuration of mobile robot 102 according to the third embodiment. FIG. 11 is a diagram schematically showing the arrangement layout of each component of the sensor section 202 included in the mobile robot 102 according to the third embodiment. Note that FIG. 11 shows the arrangement layout of a part of the sensor unit 202 when viewed from the bottom side of the housing 10, and illustrations of some other components of the sensor unit 202, the wheel 20, etc. are omitted. are doing.

移動ロボット102は、構造化光を検出することで生成される画像に基づいて並進速度を算出し、角速度センサ250を用いて角速度を計測する。 The mobile robot 102 calculates a translational velocity based on an image generated by detecting structured light, and measures the angular velocity using an angular velocity sensor 250.

移動ロボット102は、センサ部202と、周囲センサ部160と、算出部112と、SLAM部120と、制御部130と、駆動部140と、記憶部150と、を備える。 The mobile robot 102 includes a sensor section 202, a surrounding sensor section 160, a calculation section 112, a SLAM section 120, a control section 130, a drive section 140, and a storage section 150.

センサ部202は、移動ロボット102の速度を算出するための情報を検出するセンサ群である。本実施の形態では、センサ部202は、第1カメラ210と、検出部231と、角速度センサ250と、オドメトリセンサ260と、を備える。 The sensor unit 202 is a group of sensors that detects information for calculating the speed of the mobile robot 102. In this embodiment, the sensor section 202 includes a first camera 210, a detection section 231, an angular velocity sensor 250, and an odometry sensor 260.

また、検出部231は、移動ロボット102の下方に向けて構造化光を出射する光源(構造化光源)241を有する。第1カメラ210は、光源241が出射した構造化光の、移動ロボット102が走行する床面での反射光を検出することで第1下方画像を生成する。 Furthermore, the detection unit 231 includes a light source (structured light source) 241 that emits structured light toward the lower side of the mobile robot 102 . The first camera 210 generates a first downward image by detecting the reflected light of the structured light emitted by the light source 241 on the floor surface on which the mobile robot 102 runs.

なお、本実施の形態では、第1カメラ210は、テレセントリックカメラである。 Note that in this embodiment, the first camera 210 is a telecentric camera.

構造化光とは、予め定められた特定の向きに出射された光であって、当該光の投影面において特定の光分布を有する光である。 Structured light is light that is emitted in a predetermined specific direction and has a specific light distribution on the projection plane of the light.

図11に示すように、例えば、光源241は、筐体10を底面視した場合、第1カメラ210を囲むように配置された3つのレーザ光源からなる。当該3つのレーザ光源から出射されるレーザ光は、それぞれ、予め定められた向きで床面に向けて出射される。 As shown in FIG. 11, for example, the light source 241 includes three laser light sources arranged to surround the first camera 210 when the housing 10 is viewed from the bottom. The laser beams emitted from the three laser light sources are each emitted toward the floor in a predetermined direction.

図12A~図13Bは、構造化光を説明するための図である。なお、図12Bは、図12Aに対応する、第1カメラ210における撮像中心を中央(原点)に位置させた場合の構造化光の各照射位置を示す図である。また、図13Bは、図13Aに対応する、第1カメラ210における撮像中心を中央(原点)に位置させた場合の構造化光の各照射位置を示す図である。 12A to 13B are diagrams for explaining structured light. Note that FIG. 12B corresponds to FIG. 12A and is a diagram showing each irradiation position of the structured light when the imaging center of the first camera 210 is located at the center (origin). Further, FIG. 13B is a diagram corresponding to FIG. 13A showing each irradiation position of structured light when the imaging center of the first camera 210 is located at the center (origin).

また、図12A及び図12Bは、筐体10が床面に対して傾いていない状態における、第1カメラ210及び光源241が有するレーザ光源241a、241b、241cと、構造化光の床面における光の照射位置とを模式的に示している。一方、図13A及び図13Bは、筐体10が床面に対して所定の角度で傾いている状態における、第1カメラ210及び光源241が有するレーザ光源241a、241b、241cと、構造化光の床面における光の照射位置とを模式的に示している。つまり、図13A及び図13Bに示す状態では、第1カメラ210の光軸及び光源241が有するレーザ光源241a、241b、241cの出射方向が、図12A及び図12Bに示す状態からそれぞれ傾いている。 Further, FIGS. 12A and 12B show the laser light sources 241a, 241b, 241c of the first camera 210 and the light source 241, and the light of the structured light on the floor surface when the housing 10 is not tilted with respect to the floor surface. The irradiation position is schematically shown. On the other hand, FIGS. 13A and 13B show the laser light sources 241a, 241b, 241c of the first camera 210 and the light source 241, and the structured light in a state where the housing 10 is tilted at a predetermined angle with respect to the floor surface. It schematically shows the irradiation position of light on the floor surface. That is, in the states shown in FIGS. 13A and 13B, the optical axis of the first camera 210 and the emission directions of the laser light sources 241a, 241b, and 241c included in the light source 241 are tilted from the states shown in FIGS. 12A and 12B, respectively.

図12Aに示すように、レーザ光源241a、241b、241cのそれぞれから出射されるレーザ光からなる構造化光は、第1カメラ210の光軸に対して傾いた光軸を有する少なくとも3つのレーザ光で構成される。 As shown in FIG. 12A, the structured light consisting of laser light emitted from each of the laser light sources 241a, 241b, and 241c is composed of at least three laser lights each having an optical axis tilted with respect to the optical axis of the first camera 210. Consists of.

なお、これらの3つのレーザ光は、本実施の形態のようにそれぞれ独立した光源から出射されてもよいし、ミラー、ハーフミラー、又は、ビームスプリッタ等の光学系によって単一の光源から出射されたレーザ光が複数に分割されることで生成されてもよい。 Note that these three laser beams may be emitted from independent light sources as in this embodiment, or may be emitted from a single light source using an optical system such as a mirror, a half mirror, or a beam splitter. The laser light may be generated by dividing the laser light into a plurality of parts.

レーザ光が照射された床面の位置(照射位置320、321、322)は、図12Bに示すように、第1カメラ210が生成する画像から座標が取得できる。これらの位置は、筐体10の高さ(h)と、筐体10の向き(α及びγ)とに依存する。つまり、これらの位置は、筐体10の姿勢に依存する。 The coordinates of the positions of the floor surface irradiated with the laser light (irradiation positions 320, 321, and 322) can be obtained from the image generated by the first camera 210, as shown in FIG. 12B. These positions depend on the height (h) of the housing 10 and the orientation (α and γ) of the housing 10. That is, these positions depend on the attitude of the housing 10.

例えば、筐体10が床面に対して傾いた場合、図13Aに示すように、レーザ光源241a、241b、241cのそれぞれから出射されたレーザ光の床面における照射位置320a、321a、322aは、図12Aに示す照射位置320、321、322から移動する。 For example, when the housing 10 is tilted with respect to the floor surface, as shown in FIG. 13A, the irradiation positions 320a, 321a, and 322a on the floor surface of the laser beams emitted from the laser light sources 241a, 241b, and 241c are as follows. It moves from the irradiation positions 320, 321, and 322 shown in FIG. 12A.

例えば、第1カメラ210の光軸と床面との交点である撮影中心位置310aと、照射位置320a、321a、322aとを、互いの位置関係を変えずに、撮影中心位置310aを図12Bに示す撮影中心位置310と重なるように移動させるとする。この場合、例えば、照射位置320aは、照射位置320に対して左に移動している。また、照射位置321aは、照射位置321に対して右下に移動している。また、照射位置322aは、照射位置322に対して左下移動している。 For example, without changing the positional relationship between the imaging center position 310a, which is the intersection of the optical axis of the first camera 210 and the floor surface, and the irradiation positions 320a, 321a, and 322a, the imaging center position 310a may be changed to FIG. 12B. It is assumed that the camera is moved so as to overlap with the photographing center position 310 shown in FIG. In this case, for example, the irradiation position 320a has moved to the left with respect to the irradiation position 320. Furthermore, the irradiation position 321a has moved to the lower right with respect to the irradiation position 321. Furthermore, the irradiation position 322a is moved to the lower left with respect to the irradiation position 322.

このように、構造化光を検出することで生成された画像における光の照射位置は、筐体10の姿勢に依存する。言い換えると、構造化光を検出することで生成された画像における光の照射位置に基づいて、筐体10の姿勢を算出することができる。 In this way, the irradiation position of light in an image generated by detecting structured light depends on the attitude of the housing 10. In other words, the attitude of the housing 10 can be calculated based on the light irradiation position in the image generated by detecting the structured light.

第1カメラ210、検出部231、角速度センサ250、及び、オドメトリセンサ260は、例えば、算出部112等の処理部によって同期して動作され、同時刻における情報をそれぞれ定期的に繰り返し算出部112に出力する。 The first camera 210, the detection unit 231, the angular velocity sensor 250, and the odometry sensor 260 are operated in synchronization by, for example, a processing unit such as the calculation unit 112, and each periodically repeatedly sends information at the same time to the calculation unit 112. Output.

算出部112は、筐体10の姿勢及び第1下方画像に基づいて移動ロボット102の速度(並進速度)を算出する処理部である。本実施の形態では、算出部112は、光源241が出射した構造化光の、移動ロボット102が走行する床面での反射光を検出することで生成された第1下方画像に基づいて、筐体10の姿勢及び速度を並進算出する。また、算出部112は、実施の形態1に係る算出部110と同様に、角速度センサ250から移動ロボット102の角速度を取得する。算出部112は、算出した並進速度と、角速度センサ250から取得した角速度とから、移動ロボット102の合成速度を算出する。 The calculation unit 112 is a processing unit that calculates the speed (translational speed) of the mobile robot 102 based on the attitude of the housing 10 and the first downward image. In the present embodiment, the calculation unit 112 calculates the size of the casing based on the first lower image generated by detecting the reflected light of the structured light emitted by the light source 241 on the floor surface on which the mobile robot 102 runs. The posture and velocity of the body 10 are calculated in translation. Further, like the calculation unit 110 according to the first embodiment, the calculation unit 112 obtains the angular velocity of the mobile robot 102 from the angular velocity sensor 250. The calculation unit 112 calculates the combined speed of the mobile robot 102 from the calculated translational speed and the angular speed acquired from the angular speed sensor 250.

算出部112は、算出した合成速度をSLAM部120に出力する。なお、算出部112は、算出した並進速度と、角速度センサ250から取得した角速度とのそれぞれの情報を、合成せずにSLAM部120に出力してもよい。 The calculation unit 112 outputs the calculated combined speed to the SLAM unit 120. Note that the calculation unit 112 may output the respective information of the calculated translational velocity and the angular velocity acquired from the angular velocity sensor 250 to the SLAM unit 120 without combining them.

[速度算出処理]
続いて、移動ロボット102の合成速度の具体的な算出方法について説明する。なお、以下の説明では、移動ロボット102がNl(≧3)個のレーザ光源を有するとして説明する。つまり、以下の説明では、光源241がNl個のレーザ光源からなるとして説明する。
[Speed calculation process]
Next, a specific method for calculating the composite speed of the mobile robot 102 will be explained. In the following description, it is assumed that the mobile robot 102 has Nl (≧3) laser light sources. That is, in the following description, it is assumed that the light source 241 is composed of Nl laser light sources.

なお、第1カメラ210の光軸とi番目のレーザ光源から出射されるレーザ光の光軸とのなす角度をηとする。ただし、1≦i≦Nlであるとする。 Note that the angle between the optical axis of the first camera 210 and the optical axis of the laser beam emitted from the i-th laser light source is η. However, it is assumed that 1≦i≦Nl.

この場合、移動ロボット102を上面視した場合における、i番目のレーザ光源と、当該i番目のレーザ光源から出射されるレーザ光の床面における照射位置の距離をlとすると、下記の式(40)からhを算出できる。 In this case, if the distance between the i-th laser light source and the irradiation position on the floor surface of the laser light emitted from the i-th laser light source is l i when the mobile robot 102 is viewed from above, then the following equation ( h i can be calculated from 40).

Figure 0007429868000031
Figure 0007429868000031

なお、ηは、設計パラメータ(第1カメラ210の光軸とi番目のレーザ光源の光軸とのなす角度)である。つまり、ηは、予め定められる定数である。 Note that η i is a design parameter (the angle between the optical axis of the first camera 210 and the optical axis of the i-th laser light source). That is, η i is a predetermined constant.

移動ロボット102を上面視した場合における、i番目のレーザ光源の位置は、筐体10に配置された第1カメラ210等の位置関係等の設計情報に基づいて算出できる。 The position of the i-th laser light source when the mobile robot 102 is viewed from above can be calculated based on design information such as the positional relationship of the first camera 210 and the like arranged in the housing 10.

また、上記した式(40)、及び、上記した式(29)~式(37)から、h、α、及び、γが算出できる。そのため、算出部112は、移動ロボット102の並進速度が算出できる。 Further, h, α, and γ can be calculated from the above equation (40) and the above equations (29) to (37). Therefore, the calculation unit 112 can calculate the translational speed of the mobile robot 102.

なお、この場合、上記した式に用いられるx、y、及び、zは、移動ロボット102の参照系で表される、第1カメラ210の平面(撮像面に平行な平面)上のレーザ光の照射位置から算出される。 In this case, x i , y i , and z i used in the above equation are on the plane of the first camera 210 (the plane parallel to the imaging plane), which is expressed in the reference system of the mobile robot 102. Calculated from the laser beam irradiation position.

また、本実施の形態では、構造化光は、床面において3つの光スポットを形成したが、床面でN個の離散的な点(つまり、複数の光スポット)になっている必要はない。例えば、構造化光は、環状、又は、移動ロボット102の高さと向きとに応じて床面において光スポットの形状が変化する光でもよい。 Furthermore, in this embodiment, the structured light forms three light spots on the floor surface, but it is not necessary that the structured light forms N discrete points (that is, multiple light spots) on the floor surface. . For example, the structured light may be annular, or light in which the shape of the light spot changes on the floor depending on the height and orientation of the mobile robot 102.

また、上記した説明では、1つのカメラ(第1カメラ210)から得られる情報(画像)に基づいて、筐体10の向き及び高さと、移動ロボット102の並進速度とを算出した。例えば、移動ロボット102は、1つのカメラを備え、且つ、構造化光を出射する光源241のオンとオフとを切り替え可能な構成でもよい。 Furthermore, in the above description, the orientation and height of the housing 10 and the translation speed of the mobile robot 102 were calculated based on information (image) obtained from one camera (first camera 210). For example, the mobile robot 102 may include one camera, and may have a configuration in which the light source 241 that emits structured light can be turned on and off.

これによれば、構造化光を検出することで生成した画像に基づいて筐体10の高さと向きとを算出し、且つ、構造化光を検出することで生成した画像と、構造化光以外の光(例えば、構造化光以外の光を出射する光源220)を検出することで生成した画像と、に基づいて、移動ロボット102の速度を算出してもよい。 According to this, the height and orientation of the housing 10 are calculated based on the image generated by detecting structured light, and the height and orientation of the housing 10 are calculated based on the image generated by detecting structured light and the image other than structured light. The speed of the mobile robot 102 may be calculated based on an image generated by detecting light (for example, the light source 220 that emits light other than structured light).

また、第1カメラ210が構造化光を検出することで画像を生成する場合、移動ロボット102は、移動していてもよいし、停止していてもよい。 Furthermore, when the first camera 210 generates an image by detecting structured light, the mobile robot 102 may be moving or may be stationary.

また、移動ロボット102は、構造化光を検出するカメラ(つまり、光源241と、テレセントリックカメラである第1カメラ210との組)を2つ備えてもよい。例えば、一の組では、算出部112が移動ロボット102の並進速度を算出するための画像を生成し、他の組では、算出部112が移動ロボット102の姿勢を算出するための画像を生成してもよい。この場合、それぞれのカメラは、移動ロボット102の状態に関する情報を出力するスタンドアロンセンサとみなすことができる。 Furthermore, the mobile robot 102 may include two cameras (that is, a set of the light source 241 and the first camera 210, which is a telecentric camera) that detect structured light. For example, in one set, the calculation unit 112 generates an image for calculating the translational speed of the mobile robot 102, and in the other set, the calculation unit 112 generates an image for calculating the posture of the mobile robot 102. It's okay. In this case, each camera can be considered a standalone sensor that outputs information regarding the state of the mobile robot 102.

[処理手順]
図14は、実施の形態3に係る移動ロボット102の処理手順を示すフローチャートである。
[Processing procedure]
FIG. 14 is a flowchart showing the processing procedure of the mobile robot 102 according to the third embodiment.

まず、第1カメラ210は、移動ロボット102が走行中に、光源241が出射した構造化光の、移動ロボット102が走行する床面での反射光を検出することで、第1下方画像を生成する(ステップS111)。 First, while the mobile robot 102 is running, the first camera 210 generates a first downward image by detecting the reflected light of the structured light emitted by the light source 241 on the floor surface on which the mobile robot 102 is running. (Step S111).

次に、算出部112は、第1カメラ210が、光源241が出射した構造化光の、移動ロボット102が走行する床面での反射光を検出することで生成した第1下方画像に基づいて、筐体10の姿勢を算出する(ステップS122)。具体的には、算出部112は、取得した第1下方画像に基づいて、筐体10の姿勢を示す筐体10の向き(α及びγ)と、高さ(h)と、を算出する。 Next, the calculation unit 112 uses the first downward image generated by the first camera 210 to detect the reflected light of the structured light emitted by the light source 241 on the floor surface on which the mobile robot 102 runs. , the attitude of the housing 10 is calculated (step S122). Specifically, the calculation unit 112 calculates the orientation (α and γ) of the housing 10 indicating the attitude of the housing 10 and the height (h) based on the acquired first lower image.

次に、算出部112は、筐体10の姿勢及び第1下方画像に基づいて、移動ロボット102の並進速度を算出する(ステップS130)。 Next, the calculation unit 112 calculates the translation speed of the mobile robot 102 based on the attitude of the housing 10 and the first downward image (step S130).

次に、算出部112は、移動ロボット102が走行中に角速度センサ250から角速度を取得する(ステップS141)。 Next, the calculation unit 112 acquires the angular velocity from the angular velocity sensor 250 while the mobile robot 102 is running (step S141).

次に、推定部121は、並進速度及び角速度に基づいて、所定の空間における移動ロボット102の自己位置を推定する(ステップS150)。 Next, the estimation unit 121 estimates the self-position of the mobile robot 102 in a predetermined space based on the translational velocity and angular velocity (step S150).

次に、制御部130は、駆動部140を制御することで、推定部121が推定した自己位置に基づいて、移動ロボット102を走行させる(ステップS160)。 Next, the control unit 130 controls the drive unit 140 to cause the mobile robot 102 to travel based on the self-position estimated by the estimation unit 121 (step S160).

[効果等]
以上説明したように、実施の形態3に係る移動ロボット102は、筐体10と、第1カメラ210と、検出部231と、筐体10の姿勢及び第1下方画像に基づいて移動ロボット102の速度(上記した並進速度)を算出する算出部112と、推定部121と、制御部130と、を備える。また、例えば、検出部231は、移動ロボット102の下方に向けて構造化光を出射する光源241を有する。この場合、例えば、第1カメラ210は、光源241が出射した構造化光の、移動ロボット102が走行する床面での反射光を検出することで第1下方画像を生成する。算出部112は、第1カメラ210が、光源241が出射した構造化光の、移動ロボット102が走行する床面での反射光を検出することで生成した第1下方画像に基づいて、筐体10の姿勢及び移動ロボット102の速度を算出する。
[Effects etc.]
As described above, the mobile robot 102 according to the third embodiment includes the housing 10, the first camera 210, the detection unit 231, and the mobile robot 102 based on the posture of the housing 10 and the first downward image. It includes a calculation unit 112 that calculates the speed (translational speed described above), an estimation unit 121, and a control unit 130. Further, for example, the detection unit 231 includes a light source 241 that emits structured light toward the lower side of the mobile robot 102. In this case, for example, the first camera 210 generates the first downward image by detecting the reflected light of the structured light emitted by the light source 241 on the floor surface on which the mobile robot 102 runs. The calculation unit 112 calculates the size of the housing based on the first downward image generated by the first camera 210 by detecting the reflected light of the structured light emitted by the light source 241 on the floor surface on which the mobile robot 102 runs. 10 and the speed of the mobile robot 102 are calculated.

これによれば、例えば、算出部112は、実施の形態1に係る移動ロボット100が備える検出部230が有する3つの測距センサ240を用いることなく筐体10の姿勢を算出できる。そのため、移動ロボット102の構造は、簡素化され得る。 According to this, for example, the calculation unit 112 can calculate the attitude of the housing 10 without using the three distance measuring sensors 240 included in the detection unit 230 included in the mobile robot 100 according to the first embodiment. Therefore, the structure of mobile robot 102 can be simplified.

(実施の形態4)
以下、実施の形態4に係る移動ロボットについて説明する。なお、実施の形態4の説明においては、実施の形態1~3に係る移動ロボット100~102との差異点を中心に説明し、移動ロボット100~102と実質的に同様の構成及び処理手順については同様の符号を付し、説明を一部簡略化又は省略する場合がある。
(Embodiment 4)
A mobile robot according to Embodiment 4 will be described below. In the description of the fourth embodiment, the differences from the mobile robots 100 to 102 according to the first to third embodiments will be mainly explained, and the configuration and processing procedures that are substantially the same as those of the mobile robots 100 to 102 will be explained. are given the same reference numerals, and some explanations may be simplified or omitted.

[構成]
図15は、実施の形態4に係る移動ロボット103の構成を示すブロック図である。図16は、実施の形態4に係る移動ロボット103が備えるセンサ部203の各構成要素の配置レイアウトを模式的に示す図である。なお、図16では、センサ部203の一部の配置レイアウトを筐体10の底面側から見た場合を示しており、センサ部203の他の一部の構成要素及びホイール20等の図示を省略している。
[composition]
FIG. 15 is a block diagram showing the configuration of mobile robot 103 according to the fourth embodiment. FIG. 16 is a diagram schematically showing the arrangement layout of each component of the sensor unit 203 included in the mobile robot 103 according to the fourth embodiment. Note that FIG. 16 shows the layout of a part of the sensor unit 203 when viewed from the bottom side of the housing 10, and illustrations of some other components of the sensor unit 203, the wheel 20, etc. are omitted. are doing.

移動ロボット103は、構造化光を検出することで生成される画像に基づいて並進速度を算出し、互いに異なるカメラで生成された2つの画像に基づいて角速度を算出する。 The mobile robot 103 calculates translational velocity based on an image generated by detecting structured light, and calculates angular velocity based on two images generated by different cameras.

移動ロボット103は、センサ部203と、周囲センサ部160と、算出部113と、SLAM部120と、制御部130と、駆動部140と、記憶部150と、を備える。 The mobile robot 103 includes a sensor section 203, a surrounding sensor section 160, a calculation section 113, a SLAM section 120, a control section 130, a drive section 140, and a storage section 150.

センサ部203は、移動ロボット103の速度を算出するための情報を検出するセンサ群である。本実施の形態では、センサ部203は、第1カメラ210と、検出部231と、第2カメラ251と、オドメトリセンサ260と、を備える。 The sensor unit 203 is a group of sensors that detects information for calculating the speed of the mobile robot 103. In this embodiment, the sensor section 203 includes a first camera 210, a detection section 231, a second camera 251, and an odometry sensor 260.

また、検出部231は、移動ロボット103の下方に向けて構造化光を出射する光源(構造化光源)241を有する。第1カメラ210は、光源241が出射した構造化光の、移動ロボット103が走行する床面での反射光を検出することで第1下方画像を生成する。 Furthermore, the detection unit 231 includes a light source (structured light source) 241 that emits structured light toward the lower side of the mobile robot 103 . The first camera 210 generates a first downward image by detecting the reflected light of the structured light emitted by the light source 241 on the floor surface on which the mobile robot 103 runs.

なお、本実施の形態では、第1カメラ210は、テレセントリックカメラである。 Note that in this embodiment, the first camera 210 is a telecentric camera.

図16に示すように、例えば、光源241は、筐体10を底面視した場合、第1カメラ210を囲むように配置された3つのレーザ光源からなる。また、例えば、筐体10を底面視した場合、第1カメラ210及び第2カメラ251は、筐体10の中央部に並んで取り付けられている。 As shown in FIG. 16, for example, the light source 241 includes three laser light sources arranged to surround the first camera 210 when the housing 10 is viewed from the bottom. Further, for example, when the housing 10 is viewed from the bottom, the first camera 210 and the second camera 251 are attached to the center of the housing 10 side by side.

第1カメラ210、検出部231、第2カメラ251、及び、オドメトリセンサ260は、例えば、算出部113等の処理部によって同期して動作され、同時刻における情報をそれぞれ定期的に繰り返し算出部113に出力する。 The first camera 210, the detection unit 231, the second camera 251, and the odometry sensor 260 are operated in synchronization by, for example, a processing unit such as the calculation unit 113, and the calculation unit 113 periodically repeats information at the same time. Output to.

算出部113は、筐体10の姿勢及び第1下方画像に基づいて移動ロボット103の速度(並進速度)を算出する処理部である。本実施の形態では、算出部113は、実施の形態3に係る算出部112と同様に、光源241が出射した構造化光の、移動ロボット103が走行する床面での反射光を検出することで生成された第1下方画像に基づいて、筐体10の姿勢及び速度を並進算出する。 The calculation unit 113 is a processing unit that calculates the speed (translational speed) of the mobile robot 103 based on the attitude of the housing 10 and the first downward image. In this embodiment, like the calculation unit 112 according to the third embodiment, the calculation unit 113 detects the reflected light of the structured light emitted by the light source 241 on the floor surface on which the mobile robot 103 runs. The posture and speed of the housing 10 are calculated based on the first lower image generated in the above.

具体的には、算出部113は、上記した式(39)から、構造化光を検出することで生成される画像に基づいて、高さhを算出する。ただし、1≦i≦Nlであり、Nl≧3であるとする。また、例えば、上記した式(29)~式(35)を用いて、算出部113は、2つのカメラ(第1カメラ210及び第2カメラ251)のそれぞれの速度を算出する。 Specifically, the calculation unit 113 calculates the height h i based on the image generated by detecting the structured light from the above equation (39). However, it is assumed that 1≦i≦Nl and Nl≧3. Further, for example, using the above equations (29) to (35), the calculation unit 113 calculates the respective speeds of the two cameras (the first camera 210 and the second camera 251).

また、算出部113は、実施の形態2に係る算出部111と同様に、第1下方画像及び第2下方画像に基づいて、移動ロボット103の角速度を算出する。 Further, similar to the calculation unit 111 according to the second embodiment, the calculation unit 113 calculates the angular velocity of the mobile robot 103 based on the first lower image and the second lower image.

算出部113は、算出した並進速度と、算出した角速度とから、移動ロボット103の合成速度を算出する。具体的には、上記した式(29)~式(35)を用いて算出される2つのカメラのそれぞれの速度から、上記した式(39)を用いて、移動ロボット103の角速度を算出する。 The calculation unit 113 calculates the combined speed of the mobile robot 103 from the calculated translational speed and the calculated angular speed. Specifically, the angular velocity of the mobile robot 103 is calculated using the above equation (39) from the respective velocities of the two cameras calculated using the above equations (29) to (35).

算出部113は、算出した合成速度をSLAM部120に出力する。なお、算出部113は、算出した並進速度と、算出した角速度とのそれぞれの情報を、合成せずにSLAM部120に出力してもよい。 The calculation unit 113 outputs the calculated combined speed to the SLAM unit 120. Note that the calculation unit 113 may output the respective information of the calculated translational velocity and the calculated angular velocity to the SLAM unit 120 without combining them.

なお、図16に示すように、第1カメラ210及び第2カメラ251のうち一方の近傍にのみ構造化光を出射する光源241が配置されているが、これに限定されない。第1カメラ210及び第2カメラ251のそれぞれの近傍に構造化光を出射する光源241がそれぞれ配置されていてもよい。 Note that, as shown in FIG. 16, the light source 241 that emits structured light is disposed only near one of the first camera 210 and the second camera 251, but the present invention is not limited thereto. Light sources 241 that emit structured light may be arranged near each of the first camera 210 and the second camera 251.

これによれば、算出部113は、第1カメラ210及び第2カメラ251のそれぞれにおいて、筐体10の高さ(上記したh)、及び、筐体10の姿勢(上記したα及びγ)を算出できるので、移動ロボット103の並進速度及び角速度をさらに精度よく算出できる。 According to this, the calculation unit 113 calculates the height of the housing 10 (h described above) and the attitude of the housing 10 (α and γ described above) in each of the first camera 210 and the second camera 251. Therefore, the translational velocity and angular velocity of the mobile robot 103 can be calculated with higher accuracy.

また、移動ロボット103は、2つのカメラ(第1カメラ210及び第2カメラ251)を備えるが、これに限定されない。移動ロボット103は、筐体10に取り付けられ、筐体10の下方を撮影することで画像を生成するカメラを3台以上を備えてもよい。 Furthermore, although the mobile robot 103 includes two cameras (a first camera 210 and a second camera 251), the present invention is not limited thereto. The mobile robot 103 may include three or more cameras that are attached to the housing 10 and generate images by photographing the area below the housing 10.

これによれば、算出部113は、それぞれのカメラから得られる画像それぞれについて速度を算出し、算出した複数の速度の平均値を移動ロボット103の速度とすることで、さらに精度よく移動ロボット103の速度を算出できる。 According to this, the calculation unit 113 calculates the speed of each image obtained from each camera, and sets the average value of the plurality of calculated speeds as the speed of the mobile robot 103. Speed can be calculated.

[処理手順]
図17は、実施の形態4に係る移動ロボット103の処理手順を示すフローチャートである。
[Processing procedure]
FIG. 17 is a flowchart showing the processing procedure of the mobile robot 103 according to the fourth embodiment.

まず、第1カメラ210は、移動ロボット103が走行中に、光源241が出射した構造化光の、移動ロボット103が走行する床面での反射光を検出することで、第1下方画像を生成する(ステップS111)。 First, while the mobile robot 103 is running, the first camera 210 generates a first downward image by detecting the reflected light of the structured light emitted by the light source 241 on the floor surface on which the mobile robot 103 is running. (Step S111).

次に、算出部113は、第1カメラ210が、光源241が出射した構造化光の、移動ロボット103が走行する床面での反射光を検出することで生成した第1下方画像に基づいて、筐体10の姿勢を算出する(ステップS122)。具体的には、算出部113は、取得した第1下方画像に基づいて、筐体10の姿勢を示す筐体10の向き(α及びγ)と、高さ(h)と、を算出する。 Next, the calculation unit 113 uses the first downward image generated by the first camera 210 by detecting the reflected light of the structured light emitted by the light source 241 on the floor surface on which the mobile robot 103 runs. , the attitude of the housing 10 is calculated (step S122). Specifically, the calculation unit 113 calculates the orientation (α and γ) of the housing 10 indicating the attitude of the housing 10 and the height (h) based on the acquired first lower image.

次に、算出部113は、筐体10の姿勢及び第1下方画像に基づいて、移動ロボット103の並進速度を算出する(ステップS130)。 Next, the calculation unit 113 calculates the translation speed of the mobile robot 103 based on the attitude of the housing 10 and the first downward image (step S130).

次に、第2カメラ251は、移動ロボット103が走行中に、筐体10の下方を撮影することで、第2下方画像を生成する(ステップS142)。 Next, the second camera 251 generates a second lower image by photographing the lower part of the housing 10 while the mobile robot 103 is running (step S142).

次に、算出部113は、第1下方画像及び第2下方画像に基づいて、移動ロボット103の角速度を算出する(ステップS143)。 Next, the calculation unit 113 calculates the angular velocity of the mobile robot 103 based on the first lower image and the second lower image (step S143).

次に、推定部121は、並進速度及び角速度に基づいて、所定の空間における移動ロボット103の自己位置を推定する(ステップS150)。 Next, the estimating unit 121 estimates the self-position of the mobile robot 103 in a predetermined space based on the translational velocity and angular velocity (step S150).

次に、制御部130は、駆動部140を制御することで、推定部121が推定した自己位置に基づいて、移動ロボット103を走行させる(ステップS160)。 Next, the control unit 130 controls the drive unit 140 to cause the mobile robot 103 to travel based on the self-position estimated by the estimation unit 121 (step S160).

[効果等]
以上説明したように、実施の形態4に係る移動ロボット103は、筐体10と、第1カメラ210と、検出部231と、算出部113と、推定部121と、制御部130と、第2カメラ251と、を備える。また、検出部231は、構造化光を出射する光源241を有する。例えば、第1カメラ210は、光源241が出射した構造化光の、移動ロボット103が走行する床面での反射光を検出することで第1下方画像を生成する。算出部113は、第1カメラ210が、光源241が出射した構造化光の、移動ロボット103が走行する床面での反射光を検出することで生成した第1下方画像に基づいて、筐体10の姿勢及び移動ロボット103の速度を算出する。また、算出部113は、第1下方画像と、第2カメラ251に生成された第2下方画像とに基づいて、移動ロボット103の角速度を算出する。
[Effects etc.]
As described above, the mobile robot 103 according to the fourth embodiment includes the housing 10, the first camera 210, the detection section 231, the calculation section 113, the estimation section 121, the control section 130, and the second camera 210. A camera 251 is provided. The detection unit 231 also includes a light source 241 that emits structured light. For example, the first camera 210 generates the first downward image by detecting the reflected light of the structured light emitted by the light source 241 on the floor surface on which the mobile robot 103 runs. The calculation unit 113 calculates the casing based on the first downward image generated by the first camera 210 detecting the reflected light of the structured light emitted by the light source 241 on the floor surface on which the mobile robot 103 runs. 10 and the speed of the mobile robot 103 are calculated. Further, the calculation unit 113 calculates the angular velocity of the mobile robot 103 based on the first downward image and the second downward image generated by the second camera 251.

これによれば、例えば、算出部113が、実施の形態3に係る移動ロボット102と同様に、3つの測距センサ240を用いることなく筐体10の姿勢を算出できるため、移動ロボット103の構造は、簡素化され得る。また、算出部113は、実施の形態2に係る算出部111と同様に、IMU等の角速度を検出するための装置を用いるよりも、2台のカメラから得られる画像に基づいて移動ロボット103の角速度を精度よく算出できる。 According to this, for example, like the mobile robot 102 according to the third embodiment, the calculation unit 113 can calculate the attitude of the housing 10 without using the three distance measuring sensors 240, so the structure of the mobile robot 103 can be simplified. Further, like the calculation unit 111 according to the second embodiment, the calculation unit 113 calculates the speed of the mobile robot 103 based on images obtained from two cameras, rather than using a device for detecting angular velocity such as an IMU. Angular velocity can be calculated with high accuracy.

このように、各実施の形態に係る移動ロボットの各構成要素が、任意に組み合わされてよい。 In this way, each component of the mobile robot according to each embodiment may be combined arbitrarily.

(実施の形態5)
以下、実施の形態5に係る移動ロボットについて説明する。なお、実施の形態5の説明においては、実施の形態1~4に係る移動ロボット100~103との差異点を中心に説明し、移動ロボット100~103と実質的に同様の構成及び処理手順については同様の符号を付し、説明を一部簡略化又は省略する場合がある。
(Embodiment 5)
A mobile robot according to Embodiment 5 will be described below. In addition, in the description of the fifth embodiment, the differences from the mobile robots 100 to 103 according to the first to fourth embodiments will be mainly explained, and the configurations and processing procedures that are substantially the same as those of the mobile robots 100 to 103 will be explained. are given the same reference numerals, and some explanations may be simplified or omitted.

[構成]
図18は、実施の形態5に係る移動ロボット104の構成を示すブロック図である。図19は、実施の形態5に係る移動ロボット104が備えるセンサ部204の各構成要素の配置レイアウトを模式的に示す図である。なお、図19では、センサ部204の一部の配置レイアウトを筐体10の底面側から見た場合を示しており、センサ部204の他の一部の構成要素及びホイール20等の図示を省略している。図20は、実施の形態5に係る移動ロボット104が備えるカメラの撮影方向を模式的に示す図である。具体的には、図20は、実施の形態5に係る移動ロボット104が備える第1カメラ210及び第2カメラ251それぞれの光軸方向を模式的に示す概略側面図である。
[composition]
FIG. 18 is a block diagram showing the configuration of mobile robot 104 according to the fifth embodiment. FIG. 19 is a diagram schematically showing the arrangement layout of each component of the sensor section 204 included in the mobile robot 104 according to the fifth embodiment. Note that FIG. 19 shows the arrangement layout of a part of the sensor unit 204 when viewed from the bottom side of the housing 10, and illustration of some other components of the sensor unit 204, the wheel 20, etc. is omitted. are doing. FIG. 20 is a diagram schematically showing the photographing direction of the camera included in the mobile robot 104 according to the fifth embodiment. Specifically, FIG. 20 is a schematic side view schematically showing the optical axis direction of each of the first camera 210 and the second camera 251 included in the mobile robot 104 according to the fifth embodiment.

移動ロボット104は、加速度センサが計測した移動ロボット104の加速度に基づいて筐体10の姿勢を算出し、当該姿勢、及び、筐体10の下方を撮像することで生成された画像に基づいて並進速度を算出し、互いに異なるカメラで生成された2つの画像に基づいて角速度を算出する。 The mobile robot 104 calculates the orientation of the housing 10 based on the acceleration of the mobile robot 104 measured by the acceleration sensor, and translates based on the orientation and an image generated by capturing an image below the housing 10. The velocity is calculated, and the angular velocity is calculated based on two images generated by different cameras.

移動ロボット104は、センサ部204と、周囲センサ部160と、算出部114と、SLAM部120と、制御部130と、駆動部140と、記憶部150と、を備える。 The mobile robot 104 includes a sensor section 204, a surrounding sensor section 160, a calculation section 114, a SLAM section 120, a control section 130, a drive section 140, and a storage section 150.

センサ部204は、移動ロボット104の速度を算出するための情報を検出するセンサ群である。本実施の形態では、センサ部204は、第1カメラ210と、光源220と、検出部232と、第2カメラ251と、オドメトリセンサ260と、を備える。 The sensor unit 204 is a group of sensors that detects information for calculating the speed of the mobile robot 104. In this embodiment, the sensor section 204 includes a first camera 210, a light source 220, a detection section 232, a second camera 251, and an odometry sensor 260.

第1カメラ210は、光源220が出射した光の、移動ロボット104が走行する床面での反射光を検出することで第1下方画像を生成する。第2カメラ251は、光源220が出射した光の、移動ロボット104が走行する床面での反射光を検出することで第2下方画像を生成する。 The first camera 210 generates a first downward image by detecting the reflected light of the light emitted by the light source 220 on the floor surface on which the mobile robot 104 runs. The second camera 251 generates a second downward image by detecting the reflected light of the light emitted by the light source 220 on the floor surface on which the mobile robot 104 runs.

また、第1カメラ210と第2カメラ251とは、光軸が平行にならないように筐体10に取り付けられている。具体的には、図20に示すように、第1カメラ210の光軸300と、第2カメラ251の光軸301とは、平行にならないように筐体10に取り付けられている。これによれば、後述する式(55)がFF0にならない。 Further, the first camera 210 and the second camera 251 are attached to the housing 10 so that their optical axes are not parallel to each other. Specifically, as shown in FIG. 20, the optical axis 300 of the first camera 210 and the optical axis 301 of the second camera 251 are attached to the housing 10 so as not to be parallel to each other. According to this, equation (55) described later does not become F T F0.

なお、本実施の形態では、第1カメラ210及び第2カメラ251は、テレセントリックカメラである。 Note that in this embodiment, the first camera 210 and the second camera 251 are telecentric cameras.

検出部232は、加速度センサ242を有する。 The detection unit 232 includes an acceleration sensor 242.

加速度センサ242は、移動ロボット104の加速度を計測するセンサである。具体的には、加速度センサ242は、移動ロボット104の重力方向を算出するため移動ロボット104の加速度を計測するセンサである。加速度センサ242は、例えば、アクセレロメータを含むIMUである。加速度センサ242は、計測した加速度(加速度情報)を算出部114に定期的に繰り返し出力する。 Acceleration sensor 242 is a sensor that measures the acceleration of mobile robot 104. Specifically, the acceleration sensor 242 is a sensor that measures the acceleration of the mobile robot 104 in order to calculate the direction of gravity of the mobile robot 104. Acceleration sensor 242 is, for example, an IMU including an accelerometer. The acceleration sensor 242 periodically and repeatedly outputs the measured acceleration (acceleration information) to the calculation unit 114.

第1カメラ210、光源220、検出部232、第2カメラ251、及び、オドメトリセンサ260は、例えば、算出部114等の処理部によって同期して動作され、同時刻における情報をそれぞれ定期的に繰り返し算出部114に出力する。 The first camera 210, light source 220, detection unit 232, second camera 251, and odometry sensor 260 are operated synchronously by a processing unit such as the calculation unit 114, and each periodically repeats information at the same time. It is output to the calculation unit 114.

算出部114は、筐体10の姿勢及び第1下方画像に基づいて移動ロボット104の速度(並進速度)を算出する処理部である。 The calculation unit 114 is a processing unit that calculates the speed (translational speed) of the mobile robot 104 based on the attitude of the housing 10 and the first downward image.

本実施の形態では、算出部114は、加速度センサ242から取得した加速度に基づいて移動ロボット104の姿勢を算出する。具体的には、まず、算出部114は、取得した加速度に基づいて移動ロボット104の重力方向を算出する。次に、算出部114は、算出した重力方向に基づいて、予め定められた筐体10の姿勢からの床面に対する傾き(つまり、姿勢)を算出する。具体的には、算出部114は、加速度センサ242から重力と移動ロボット104との加速度の和を示す情報を取得する。さらに、算出部114は、オドメトリ情報から、移動ロボット104の加速度を推定する。算出部114は、上記した和を示す情報と推定した加速度との差から、重力(重力方向)を算出する。算出部114は、算出した重力が加速度センサ242の各軸(X軸、Y軸、及び、Z軸)にどう現れるに基づいて、筐体10の傾きを推定する。 In this embodiment, calculation unit 114 calculates the posture of mobile robot 104 based on the acceleration acquired from acceleration sensor 242. Specifically, first, the calculation unit 114 calculates the direction of gravity of the mobile robot 104 based on the acquired acceleration. Next, the calculation unit 114 calculates the inclination (that is, the posture) of the housing 10 relative to the floor from the predetermined posture based on the calculated gravity direction. Specifically, the calculation unit 114 acquires information indicating the sum of gravity and the acceleration of the mobile robot 104 from the acceleration sensor 242. Furthermore, the calculation unit 114 estimates the acceleration of the mobile robot 104 from the odometry information. The calculation unit 114 calculates gravity (gravitational direction) from the difference between the information indicating the above-mentioned sum and the estimated acceleration. The calculation unit 114 estimates the inclination of the housing 10 based on how the calculated gravity appears on each axis (X-axis, Y-axis, and Z-axis) of the acceleration sensor 242.

また、算出部114は、算出した移動ロボット104の姿勢、第1下方画像、及び、第2下方画像に基づいて移動ロボット104の並進速度を算出する。 Further, the calculation unit 114 calculates the translation speed of the mobile robot 104 based on the calculated posture of the mobile robot 104, the first lower image, and the second lower image.

また、算出部114は、実施の形態2に係る算出部111と同様に、第1下方画像及び第2下方画像に基づいて、移動ロボット104の角速度を算出する。 Further, like the calculation unit 111 according to the second embodiment, the calculation unit 114 calculates the angular velocity of the mobile robot 104 based on the first lower image and the second lower image.

算出部114は、算出した並進速度と、算出した角速度とから、移動ロボット104の合成速度を算出する。 The calculation unit 114 calculates the combined speed of the mobile robot 104 from the calculated translational speed and the calculated angular speed.

算出部114は、算出した合成速度をSLAM部120に出力する。なお、算出部114は、算出した並進速度と、算出した角速度とのそれぞれの情報を、合成せずにSLAM部120に出力してもよい。 The calculation unit 114 outputs the calculated combined speed to the SLAM unit 120. Note that the calculation unit 114 may output the respective information of the calculated translational velocity and the calculated angular velocity to the SLAM unit 120 without combining them.

[速度算出処理]
続いて、移動ロボット104の合成速度の具体的な算出方法について説明する。
[Speed calculation process]
Next, a specific method for calculating the composite speed of the mobile robot 104 will be explained.

<カメラがテレセントリックカメラである場合>
上記した式(8)~式(10)に基づいて、下記の式(41)~式(45)を算出できる。
<If the camera is a telecentric camera>
Based on the above equations (8) to (10), the following equations (41) to (45) can be calculated.

Figure 0007429868000032
Figure 0007429868000032

なお、上記した式(41)~式(45)における各pは、それぞれ下記の式(46)~式(50)で算出される。 Note that each p in the above equations (41) to (45) is calculated using the following equations (46) to (50), respectively.

Figure 0007429868000033
Figure 0007429868000033

Figure 0007429868000034
Figure 0007429868000034

Figure 0007429868000035
Figure 0007429868000035

Figure 0007429868000036
Figure 0007429868000036

ここで、移動ロボット104が、それぞれが筐体10の下方を撮影するカメラであって、筐体10の下方に出射されて床面で反射された光を検出するNc個(Nc≧2)のテレセントリックカメラを備えるとする。この場合、複数のテレセントリックカメラのそれぞれについて、下記の式(51)に示す行列F(ただし、1≦i≦Nc)が定義される。 Here, the mobile robot 104 has Nc (Nc≧2) cameras, each of which is a camera that takes a picture of the lower part of the housing 10, and detects light emitted downward from the housing 10 and reflected on the floor surface. It is assumed that a telecentric camera is provided. In this case, a matrix F i (1≦i≦Nc) shown in the following equation (51) is defined for each of the plurality of telecentric cameras.

Figure 0007429868000037
Figure 0007429868000037

また、複数のテレセントリックそれぞれの速度は、下記の式(52)で表される。 Further, the speed of each of the plurality of telecentrics is expressed by the following equation (52).

Figure 0007429868000038
Figure 0007429868000038

また、下記の式(53)及び式(54)に示すように、行列F及び行列vを定義する。 Furthermore, a matrix F and a matrix vc are defined as shown in equations (53) and (54) below.

Figure 0007429868000039
Figure 0007429868000039

以上の各式から、下記の式(55)が導出される。 The following equation (55) is derived from each of the above equations.

Figure 0007429868000040
Figure 0007429868000040

以上のように、移動ロボット104は、第1カメラ210及び第2カメラ251がそれぞれテレセントリックカメラであれば、上記した式(55)を用いて並進速度及び角速度(つまり、合成速度)を算出できる。 As described above, if the first camera 210 and the second camera 251 are each telecentric cameras, the mobile robot 104 can calculate the translational velocity and the angular velocity (that is, the combined velocity) using the above equation (55).

上記のとおり、行列Fは、筐体10と床面との距離(h)に依存しない。また、行列Fは、筐体10の向き(α及びγ)に依存する。なお、行列Fは、移動ロボット104の設計パラメータにも依存するが、既知であるか、キャリブレーションによって取得できる。 As described above, the matrix F does not depend on the distance (h) between the housing 10 and the floor surface. Further, the matrix F depends on the orientation (α and γ) of the housing 10. Although the matrix F depends on the design parameters of the mobile robot 104, it is known or can be obtained through calibration.

具体的には、治具で移動ロボット104を予め定められた姿勢になるように、コンベヤーベルトのような、上下に可動な駆動体に配置する。次に、予め定められた速度及び角速度で移動ロボット104を上下に動かして、移動ロボット104に配置されたカメラ(例えば第1カメラ210)から速度を算出する。当該姿勢、並びに、当該速度及び当該角速度を変更しながら複数の条件から得られる移動ロボット104の速度に基づいて、設計パラメータ(上記したr、b、θ、及び、β)を算出できる。 Specifically, a jig is used to place the mobile robot 104 on a vertically movable driving body, such as a conveyor belt, so that it assumes a predetermined posture. Next, the mobile robot 104 is moved up and down at a predetermined velocity and angular velocity, and the velocity is calculated from a camera (for example, the first camera 210) disposed on the mobile robot 104. The design parameters (r i , b i , θ i , and β i described above) are calculated based on the speed of the mobile robot 104 obtained from a plurality of conditions while changing the posture, the speed, and the angular velocity. can.

また、移動ロボット104の加速度が無視できる場合又は測定されている場合、及び、床面が重力に対して垂直であることがわかっている場合、α及びγは、加速度センサ242から得られる加速度によって算出できる。 Furthermore, if the acceleration of the mobile robot 104 is negligible or measured, and if the floor surface is known to be perpendicular to gravity, α and γ are determined by the acceleration obtained from the acceleration sensor 242. It can be calculated.

また、例えば、移動ロボット104は、図示しない上向きカメラ(移動ロボット104の上方を撮影するカメラ)を備える場合、当該上向きカメラが移動ロボット104の上方を撮影することで生成した画像(上方画像)に基づいて、α及びγを算出できる。 For example, if the mobile robot 104 is equipped with an upward camera (not shown) (a camera that photographs the upper part of the mobile robot 104), the image (upper image) generated by the upward camera photographing the upper part of the mobile robot 104 may be Based on this, α and γ can be calculated.

いずれの場合でも、移動ロボット104は、α及びγが算出(又は取得)できれば、上記した式(54)から移動ロボット104の速度を算出できる。つまり、移動ロボット104は、IMU、上向きカメラ等、α及びγを算出するための情報を取得するセンサを備えてもよい。 In either case, if α and γ can be calculated (or obtained), the mobile robot 104 can calculate the speed of the mobile robot 104 from the above equation (54). That is, the mobile robot 104 may include a sensor, such as an IMU and an upward-facing camera, that acquires information for calculating α and γ.

また、移動ロボット104が算出する速度の精度は、上記した設計パラメータに依存する。移動ロボット104から見て全ての方向に対して精度を最適化するには、Ψ(Ψ=2πi/Nc[rad])の方向を除いて、各カメラの設計パラメータを等しくする必要がある。 Further, the accuracy of the speed calculated by the mobile robot 104 depends on the above-mentioned design parameters. In order to optimize accuracy in all directions as seen from the mobile robot 104, it is necessary to make the design parameters of each camera equal except for the direction Ψ ii = 2πi/Nc [rad]). .

より具体的には、θ=0の場合、移動ロボット104が算出する移動ロボット104の速度の精度が最もよい。 More specifically, when θ i =0, the accuracy of the velocity of the mobile robot 104 calculated by the mobile robot 104 is the best.

ここで、移動ロボット104の最大傾斜角(より具体的には、床面と筐体10の底面とのなす角度)が15deg(15[deg]=π/12[rad])であるとする。この場合、0≦γ≦2π、且つ、0≦α≦π/12の範囲において、移動ロボット104が備えるカメラの数(Nc)に依存するr/h及びβを最も精度よく算出できる。 Here, it is assumed that the maximum inclination angle of the mobile robot 104 (more specifically, the angle between the floor surface and the bottom surface of the housing 10) is 15 deg (15 [deg]=π/12 [rad]). In this case, in the range of 0≦γ≦2π and 0≦α≦π/12, r i /h and β i that depend on the number (Nc) of cameras included in the mobile robot 104 can be calculated with the highest accuracy.

一般に、βが36[deg.]~39[deg.]の範囲であり、且つ、r/hが1.1~1.2の範囲である場合、移動ロボット104は、移動ロボット104の速度を最も精度よく算出できる。 Generally, β i is 36 [deg. ] ~ 39 [deg. ] and r i /h is in the range of 1.1 to 1.2, the mobile robot 104 can calculate the speed of the mobile robot 104 with the highest accuracy.

なお、移動ロボット104の速度の算出するためには、α及びγが取り得る値に対して、上記した行列Fで表現されるFFが可逆行列のままであればよい。つまり、r、ψ、θ、及び、βが取り得る値の範囲は、上記に限定されない。 Note that in order to calculate the speed of the mobile robot 104, it is sufficient that F T F expressed by the matrix F described above remains an invertible matrix for the values that α and γ can take. That is, the range of values that r i , ψ i , θ i , and β i can take is not limited to the above.

<カメラがテレセントリックカメラでない場合>
また、移動ロボット104の構成及び移動ロボット104の速度の算出方法は、上記に限定されない。例えば、第1カメラ210及び第2カメラ251は、テレセントリックカメラでなくてもよい。
<If the camera is not a telecentric camera>
Further, the configuration of the mobile robot 104 and the method of calculating the speed of the mobile robot 104 are not limited to the above. For example, the first camera 210 and the second camera 251 may not be telecentric cameras.

例えば、移動ロボット104が、それぞれが筐体10の下方を撮影するNc台のカメラを備えるとする。例えば、移動ロボット104が備えるNc台のカメラのそれぞれから得られる画像に基づいて、vi,x、及び、vi,yを算出する。これによれば、移動ロボット104は、Nc台のカメラから得られる画像に基づいて、2Nc個の速度を算出できる。 For example, assume that the mobile robot 104 is equipped with Nc cameras, each of which takes pictures of the lower part of the housing 10. For example, v i,x and v i,y are calculated based on images obtained from each of the Nc cameras included in the mobile robot 104. According to this, the mobile robot 104 can calculate 2Nc velocities based on images obtained from Nc cameras.

これらの2Nc個の速度から、以下に示すように、6つの未知数を推定(算出)できる。 From these 2Nc velocities, six unknowns can be estimated (calculated) as shown below.

まず、下記の式(56)及び式(57)に示すように、G及びG(α、γ、h)を定義する。 First, G i and G (α, γ, h) are defined as shown in equations (56) and (57) below.

Figure 0007429868000041
Figure 0007429868000041

なお、上記した式(57)では、行列Gがα、γ、及び、hに依存することを説明するために行列GをG(α,γ,h)と記載している。 Note that in the above equation (57), the matrix G is written as G(α, γ, h) to explain that the matrix G depends on α, γ, and h.

また、G(α、γ、h)は、下記の式(58)に示す最小二乗問題から算出できる。具体的には、α、γ、h、v、v、及び、ωは、下記の式(58)に示す最小二乗問題から算出できる。 Further, G (α, γ, h) can be calculated from the least squares problem shown in Equation (58) below. Specifically, α, γ, h, v x , v y , and ω can be calculated from the least squares problem shown in equation (58) below.

Figure 0007429868000042
Figure 0007429868000042

G(α、γ、h)は、α、γ、及び、hのそれぞれと非線形に依存する。 G (α, γ, h) depends nonlinearly on each of α, γ, and h.

一般に、上記した式(58)には、複数の解がある。ここで、IMU等のセンサでは、それぞれの値の初期値を計測できる。これにより、移動ロボット104は、上記した式(58)から得られる複数の解の中から適切な解を決定する際、IMU等のセンサで計測した初期値の近傍に位置する解を適切な解とすることで、解を1つに決定できる。 In general, equation (58) above has multiple solutions. Here, a sensor such as an IMU can measure the initial value of each value. As a result, when determining an appropriate solution from among the multiple solutions obtained from equation (58) above, the mobile robot 104 selects a solution located near the initial value measured by a sensor such as an IMU as an appropriate solution. By doing so, one solution can be determined.

このような算出方法によれば、算出部114は、上記した式(56)及び式(57)を用いることで、並進速度及び角速度の両方を第1カメラ210及び第2カメラ251から得られる画像に基づいて移動ロボット104の速度を算出できる。そのため、移動ロボット104は、移動ロボット104の速度を算出するため構成を簡素化できる。また、上記した式(55)を用いて算出される速度よりも、α及びγの算出結果の精度を向上できるため、移動ロボット104の速度の算出結果の精度を向上できる。また、このような算出方法によれば、移動ロボット104が備えるカメラがテレセントリックカメラである必要がないため、構造をさらに簡素化できる。 According to such a calculation method, the calculation unit 114 calculates both the translational velocity and the angular velocity in the images obtained from the first camera 210 and the second camera 251 by using the above-mentioned equations (56) and (57). The speed of the mobile robot 104 can be calculated based on . Therefore, the configuration of the mobile robot 104 can be simplified because the speed of the mobile robot 104 is calculated. Further, since the accuracy of the calculation results of α and γ can be improved more than the speed calculated using the above-mentioned equation (55), the accuracy of the calculation result of the speed of the mobile robot 104 can be improved. Further, according to such a calculation method, the camera included in the mobile robot 104 does not need to be a telecentric camera, so that the structure can be further simplified.

テレセントリックカメラにより生成された画像における物体の大きさは、当該物体とテレセントリックカメラとの距離によらず変化しない。この影響は、上記した式(13)及び式(14)に現れる。 The size of an object in an image generated by a telecentric camera does not change regardless of the distance between the object and the telecentric camera. This effect appears in equations (13) and (14) above.

上記した式(13)に示すように、Ji,tは、hに依存しない。一方、Ji,pは、上記した式(28)から、

Figure 0007429868000043
に依存する。また、
Figure 0007429868000044
は、上記した式(5)から、hに依存する。 As shown in equation (13) above, J i,t does not depend on h. On the other hand, J i,p is given by the above equation (28),
Figure 0007429868000043
Depends on. Also,
Figure 0007429868000044
depends on h from the above equation (5).

これらのことから、第1カメラ210及び第2カメラ251がテレセントリックカメラの場合、hに無関係な行列で表現されるため、上記した式(55)によれば、移動ロボット104の並進速度及び角速度を算出できる。 For these reasons, when the first camera 210 and the second camera 251 are telecentric cameras, they are expressed by a matrix that is unrelated to h. According to the above equation (55), the translational velocity and angular velocity of the mobile robot 104 can be expressed as It can be calculated.

一方、上記した式(56)は、第1カメラ210及び第2カメラ251の種別によらず、どのような種別のカメラであっても(例えば、テレセントリックカメラ、及び、ピンホールカメラのいずれあっても)用いられ得る。 On the other hand, the above equation (56) applies regardless of the type of the first camera 210 and the second camera 251 (for example, whether it is a telecentric camera or a pinhole camera). ) can also be used.

また、Gは、hに依存する。そのため、第1カメラ210及び第2カメラ251それぞれがどのような種別のカメラであっても、上記した式(58)によれば、筐体10の姿勢(α、γ、h)、並進速度、及び、角速度を算出できる。 Furthermore, G depends on h. Therefore, no matter what type of camera each of the first camera 210 and the second camera 251 is, according to the above equation (58), the attitude (α, γ, h) of the housing 10, the translation speed, And angular velocity can be calculated.

[処理手順]
図21は、実施の形態5に係る移動ロボット104の処理手順を示すフローチャートである。
[Processing procedure]
FIG. 21 is a flowchart showing the processing procedure of the mobile robot 104 according to the fifth embodiment.

まず、加速度センサ242は、移動ロボット104の加速度を計測する(ステップS123)。加速度センサ242は、計測した加速度を算出部114に出力する。 First, the acceleration sensor 242 measures the acceleration of the mobile robot 104 (step S123). The acceleration sensor 242 outputs the measured acceleration to the calculation unit 114.

次に、算出部114は、加速度センサ242から取得した加速度に基づいて、筐体10の姿勢を算出する(ステップS124)。具体的には、算出部114は、取得した加速度に基づいて移動ロボット104の重力方向を算出し、算出した重力方向に基づいて、予め定められた筐体10の姿勢からの床面に対する傾き、つまり、筐体10の姿勢を算出する。なお、予め定められる筐体10の姿勢等の情報は、記憶部150に記憶されていればよい。 Next, the calculation unit 114 calculates the attitude of the housing 10 based on the acceleration acquired from the acceleration sensor 242 (step S124). Specifically, the calculation unit 114 calculates the direction of gravity of the mobile robot 104 based on the acquired acceleration, and based on the calculated direction of gravity, calculates the inclination of the housing 10 from a predetermined posture with respect to the floor surface, That is, the attitude of the housing 10 is calculated. Note that information such as the predetermined posture of the housing 10 may be stored in the storage unit 150.

次に、第1カメラ210及び第2カメラ251は、移動ロボット104が走行中に、光源220が出射した光の、移動ロボット104が走行する床面での反射光を検出することで、画像(第1下方画像及び第2下方画像)を生成する(ステップS125)。 Next, while the mobile robot 104 is running, the first camera 210 and the second camera 251 detect the reflected light of the light emitted by the light source 220 on the floor surface on which the mobile robot 104 is running, thereby creating an image ( A first lower image and a second lower image) are generated (step S125).

次に、算出部114は、筐体10の姿勢及び第1下方画像に基づいて、移動ロボット104の並進速度を算出する(ステップS130)。 Next, the calculation unit 114 calculates the translation speed of the mobile robot 104 based on the attitude of the housing 10 and the first downward image (step S130).

次に、算出部114は、第1下方画像及び第2下方画像に基づいて、移動ロボット104の角速度を算出する(ステップS143)。 Next, the calculation unit 114 calculates the angular velocity of the mobile robot 104 based on the first lower image and the second lower image (step S143).

次に、推定部121は、並進速度及び角速度に基づいて、所定の空間における移動ロボット104の自己位置を推定する(ステップS150)。 Next, the estimation unit 121 estimates the self-position of the mobile robot 104 in a predetermined space based on the translational velocity and angular velocity (step S150).

次に、制御部130は、駆動部140を制御することで、推定部121が推定した自己位置に基づいて、移動ロボット104を走行させる(ステップS160)。 Next, the control unit 130 controls the drive unit 140 to cause the mobile robot 104 to travel based on the self-position estimated by the estimation unit 121 (step S160).

[効果等]
以上説明したように、実施の形態5に係る移動ロボット104は、筐体10と、第1カメラ210と、検出部232と、算出部114と、推定部121と、制御部130と、第2カメラ251と、を備える。検出部232は、移動ロボット104の加速度を計測する加速度センサ242を有する。第1カメラ210と第2カメラ251とは、光軸が平行にならないように筐体10に取り付けられている。算出部114は、加速度センサ242が計測した移動ロボット104の加速度に基づいて筐体10の姿勢を算出し、算出した筐体10の姿勢及び第1下方画像に基づいて移動ロボット104の速度を算出し、且つ、第1下方画像及び第2下方画像に基づいて移動ロボット104の角速度を算出する。推定部121は、移動ロボット104の角速度及び速度に基づいて、自己位置を推定する。
[Effects etc.]
As described above, the mobile robot 104 according to the fifth embodiment includes the housing 10, the first camera 210, the detection section 232, the calculation section 114, the estimation section 121, the control section 130, and the second camera 210. A camera 251 is provided. The detection unit 232 includes an acceleration sensor 242 that measures the acceleration of the mobile robot 104. The first camera 210 and the second camera 251 are attached to the housing 10 so that their optical axes are not parallel to each other. The calculation unit 114 calculates the attitude of the casing 10 based on the acceleration of the mobile robot 104 measured by the acceleration sensor 242, and calculates the speed of the mobile robot 104 based on the calculated attitude of the casing 10 and the first downward image. Then, the angular velocity of the mobile robot 104 is calculated based on the first lower image and the second lower image. The estimation unit 121 estimates the self-position based on the angular velocity and velocity of the mobile robot 104.

これによれば、算出部114は、加速度センサ242から取得する加速度に基づいて筐体10の姿勢を算出するため、当該姿勢が精度よく算出される。そのため、算出部114は、移動ロボット104の速度をさらに精度よく算出できる。これにより、移動ロボット104によれば、自己位置がさらに精度よく算出できる。 According to this, the calculation unit 114 calculates the attitude of the housing 10 based on the acceleration acquired from the acceleration sensor 242, so the attitude is calculated with high accuracy. Therefore, the calculation unit 114 can calculate the speed of the mobile robot 104 with higher accuracy. As a result, the mobile robot 104 can calculate its own position with higher accuracy.

(実施の形態6)
以下、実施の形態6に係る移動ロボットについて説明する。なお、実施の形態6の説明においては、実施の形態1~5に係る移動ロボット100~104との差異点を中心に説明し、移動ロボット100~104と実質的に同様の構成については同様の符号を付し、説明を一部簡略化又は省略する場合がある。
(Embodiment 6)
A mobile robot according to Embodiment 6 will be described below. Note that in the description of the sixth embodiment, differences from the mobile robots 100 to 104 according to the first to fifth embodiments will be mainly explained, and configurations that are substantially the same as the mobile robots 100 to 104 will be explained in the same way. Reference numerals may be used to simplify or omit some of the explanations.

[構成]
図22は、実施の形態6に係る移動ロボット105の構成を示すブロック図である。図23は、実施の形態6に係る移動ロボット105が備えるセンサ部205の各構成要素の配置レイアウトを模式的に示す図である。なお、図23では、センサ部205の一部の配置レイアウトを筐体10の底面側から見た場合を示しており、センサ部205の他の一部の構成要素及びホイール20等の図示を省略している。
[composition]
FIG. 22 is a block diagram showing the configuration of mobile robot 105 according to the sixth embodiment. FIG. 23 is a diagram schematically showing the arrangement layout of each component of the sensor section 205 included in the mobile robot 105 according to the sixth embodiment. Note that FIG. 23 shows the arrangement layout of a part of the sensor unit 205 when viewed from the bottom side of the housing 10, and illustrations of some other components of the sensor unit 205, the wheel 20, etc. are omitted. are doing.

移動ロボット105は、加速度センサを用いて筐体10の姿勢を算出し、当該姿勢、及び、互いに異なるカメラで生成された複数の画像に基づいて並進速度、及び、角速度を算出する。 The mobile robot 105 calculates the attitude of the housing 10 using an acceleration sensor, and calculates the translational velocity and angular velocity based on the attitude and a plurality of images generated by different cameras.

移動ロボット105は、センサ部205と、周囲センサ部160と、算出部115と、SLAM部120と、制御部130と、駆動部140と、記憶部150と、を備える。 The mobile robot 105 includes a sensor section 205, a surrounding sensor section 160, a calculation section 115, a SLAM section 120, a control section 130, a drive section 140, and a storage section 150.

センサ部205は、移動ロボット105の速度を算出するための情報を検出するセンサ群である。本実施の形態では、センサ部205は、第1カメラ210と、光源220と、検出部232と、第2カメラ251と、第3カメラ252と、第4カメラ253と、オドメトリセンサ260と、を備える。 The sensor unit 205 is a group of sensors that detects information for calculating the speed of the mobile robot 105. In this embodiment, the sensor unit 205 includes a first camera 210, a light source 220, a detection unit 232, a second camera 251, a third camera 252, a fourth camera 253, and an odometry sensor 260. Be prepared.

第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253は、それぞれ、光源220が出射した光の、移動ロボット105が走行する床面での反射光を検出することで画像(第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像)を生成する。 The first camera 210, the second camera 251, the third camera 252, and the fourth camera 253 each detect the reflected light of the light emitted by the light source 220 on the floor surface on which the mobile robot 105 runs. Images (a first lower image, a second lower image, a third lower image, and a fourth lower image) are generated.

図23に示すように、本実施の形態では、光源220は、筐体10を底面視した場合、第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253のそれぞれの近傍に1つずつ配置されたLED等の光源からなる。 As shown in FIG. 23, in this embodiment, the light source 220 is connected to each of the first camera 210, the second camera 251, the third camera 252, and the fourth camera 253 when the housing 10 is viewed from the bottom. It consists of light sources such as LEDs placed one by one in the vicinity.

また、第1カメラ210と、第2カメラ251と、第3カメラ252と、第4カメラ253とは、光軸が平行にならないように筐体10に取り付けられている。具体的には、図23に示すように、第1カメラ210の光軸300と、第2カメラ251の光軸301と、第3カメラ252の光軸302と、第4カメラ253の光軸303とは、平行にならないように筐体10に取り付けられている。 Further, the first camera 210, the second camera 251, the third camera 252, and the fourth camera 253 are attached to the housing 10 so that their optical axes are not parallel to each other. Specifically, as shown in FIG. 23, an optical axis 300 of the first camera 210, an optical axis 301 of the second camera 251, an optical axis 302 of the third camera 252, and an optical axis 303 of the fourth camera 253. are attached to the housing 10 so that they are not parallel to each other.

なお、第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253のそれぞれのカメラの種別は、例えば、ピンホールカメラでもよいし、テレセントリックカメラでもよく、特に限定されない。 Note that the types of the first camera 210, second camera 251, third camera 252, and fourth camera 253 are not particularly limited, and may be, for example, a pinhole camera or a telecentric camera.

第1カメラ210、検出部232、第2カメラ251、第3カメラ252、第4カメラ253、及び、オドメトリセンサ260は、例えば、算出部115等の処理部によって同期して動作され、同時刻における情報をそれぞれ定期的に繰り返し算出部115に出力する。 The first camera 210, the detection unit 232, the second camera 251, the third camera 252, the fourth camera 253, and the odometry sensor 260 are operated synchronously by a processing unit such as the calculation unit 115, and are operated at the same time. Each piece of information is periodically output to the calculation unit 115 repeatedly.

算出部115は、筐体10の姿勢及び第1下方画像に基づいて移動ロボット105の速度(並進速度)を算出する処理部である。 The calculation unit 115 is a processing unit that calculates the speed (translational speed) of the mobile robot 105 based on the attitude of the housing 10 and the first downward image.

本実施の形態では、算出部115は、実施の形態5に係る算出部114と同様に、加速度センサ242から取得した加速度に基づいて移動ロボット105の姿勢を算出する。 In this embodiment, the calculation unit 115 calculates the posture of the mobile robot 105 based on the acceleration acquired from the acceleration sensor 242, similar to the calculation unit 114 according to the fifth embodiment.

また、算出部115は、算出した移動ロボット105の姿勢、第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像に基づいて移動ロボット105の並進速度を算出する。 Further, the calculation unit 115 calculates the translation speed of the mobile robot 105 based on the calculated posture of the mobile robot 105, the first lower image, the second lower image, the third lower image, and the fourth lower image.

また、算出部115は、第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像に基づいて、移動ロボット105の角速度を算出する。 Further, the calculation unit 115 calculates the angular velocity of the mobile robot 105 based on the first lower image, the second lower image, the third lower image, and the fourth lower image.

算出部115は、算出した並進速度と、算出した角速度とから、移動ロボット105の合成速度を算出する。 The calculation unit 115 calculates the combined speed of the mobile robot 105 from the calculated translational speed and the calculated angular speed.

算出部115は、算出した合成速度をSLAM部120に出力する。なお、算出部115は、算出した並進速度と、算出した角速度とのそれぞれの情報を、合成せずにSLAM部120に出力してもよい。 Calculation unit 115 outputs the calculated combined speed to SLAM unit 120. Note that the calculation unit 115 may output the respective information of the calculated translational velocity and the calculated angular velocity to the SLAM unit 120 without combining them.

[処理手順]
図24は、実施の形態6に係る移動ロボット105の処理手順を示すフローチャートである。
[Processing procedure]
FIG. 24 is a flowchart showing the processing procedure of the mobile robot 105 according to the sixth embodiment.

まず、加速度センサ242は、移動ロボット105の加速度を計測する(ステップS123)。加速度センサ242は、計測した加速度を算出部115に出力する。 First, the acceleration sensor 242 measures the acceleration of the mobile robot 105 (step S123). The acceleration sensor 242 outputs the measured acceleration to the calculation unit 115.

次に、算出部115は、加速度センサ242から取得した加速度に基づいて、筐体10の姿勢を算出する(ステップS124)。 Next, the calculation unit 115 calculates the attitude of the housing 10 based on the acceleration acquired from the acceleration sensor 242 (step S124).

次に、第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253は、それぞれ、移動ロボット105が走行中に、光源220が出射した光の、移動ロボット105が走行する床面での反射光を検出することで、画像(第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像)を生成する(ステップS125)。これにより、同時刻に撮影位置が異なる複数の画像が生成される。 Next, the first camera 210, the second camera 251, the third camera 252, and the fourth camera 253 each capture the light emitted from the light source 220 while the mobile robot 105 is traveling. Images (a first lower image, a second lower image, a third lower image, and a fourth lower image) are generated by detecting the reflected light on the floor (step S125). As a result, a plurality of images captured at different shooting positions are generated at the same time.

次に、算出部115は、筐体10の姿勢及び複数の画像に基づいて、移動ロボット105の並進速度を算出する(ステップS131)。 Next, the calculation unit 115 calculates the translational speed of the mobile robot 105 based on the posture of the housing 10 and the plurality of images (step S131).

次に、算出部115は、複数の画像に基づいて、移動ロボット105の角速度を算出する(ステップS144)。 Next, the calculation unit 115 calculates the angular velocity of the mobile robot 105 based on the plurality of images (step S144).

次に、推定部121は、並進速度、及び、角速度に基づいて、所定の空間における移動ロボット105の自己位置を推定する(ステップS150)。 Next, the estimation unit 121 estimates the self-position of the mobile robot 105 in a predetermined space based on the translational velocity and the angular velocity (step S150).

次に、制御部130は、駆動部140を制御することで、推定部121が推定した自己位置に基づいて、移動ロボット105を走行させる(ステップS160)。 Next, the control unit 130 controls the drive unit 140 to cause the mobile robot 105 to travel based on the self-position estimated by the estimation unit 121 (step S160).

[効果等]
以上説明したように、実施の形態6に係る移動ロボット105は、筐体10と、第1カメラ210と、光源220と、検出部232と、算出部115と、推定部121と、制御部130と、第2カメラ251と、第3カメラ252と、第4カメラ253と、を備える。また、検出部232は、移動ロボット105の加速度を計測する加速度センサ242を有する。第1カメラ210と第2カメラ251と第3カメラ252と第4カメラ253とは、それぞれ、光軸が平行にならないように筐体10に取り付けられている。算出部115は、加速度センサ242が計測した移動ロボット105の加速度に基づいて筐体10の姿勢を算出する。また、算出部115は、算出した筐体10の姿勢及びそれぞれのカメラから得られる複数の画像に基づいて移動ロボット105の並進速度を算出し、且つ、複数の画像に基づいて移動ロボット105の角速度を算出する。推定部121は、移動ロボット105の角速度、及び、並進速度に基づいて、自己位置を推定する。
[Effects etc.]
As described above, the mobile robot 105 according to the sixth embodiment includes the housing 10, the first camera 210, the light source 220, the detection section 232, the calculation section 115, the estimation section 121, and the control section 130. , a second camera 251 , a third camera 252 , and a fourth camera 253 . Furthermore, the detection unit 232 includes an acceleration sensor 242 that measures the acceleration of the mobile robot 105. The first camera 210, the second camera 251, the third camera 252, and the fourth camera 253 are each attached to the housing 10 so that their optical axes are not parallel to each other. The calculation unit 115 calculates the attitude of the housing 10 based on the acceleration of the mobile robot 105 measured by the acceleration sensor 242. Further, the calculation unit 115 calculates the translational velocity of the mobile robot 105 based on the calculated posture of the housing 10 and a plurality of images obtained from each camera, and calculates the angular velocity of the mobile robot 105 based on the plurality of images. Calculate. The estimation unit 121 estimates the self-position based on the angular velocity and translational velocity of the mobile robot 105.

これによれば、算出部115は、加速度センサ242から取得する加速度に基づいて筐体10の姿勢を算出するため、当該姿勢が精度よく算出される。そのため、算出部115は、移動ロボット105の速度をさらに精度よく算出できる。さらに、算出部115は、複数のカメラから得られる複数の画像に基づいて並進速度、及び、角速度を算出する。例えば、各カメラがテレセントリックカメラの場合、カメラが多い程、上記した式(55)におけるFの列の数、及び、vの行の数が増える。そのため、例えば、各行に誤差が含まれても、各誤差が独立であれば、行が多い程、算出する合成速度における当該誤差の影響が小さくできる。同様に、各カメラがピンホールカメラの場合、カメラが多い程、上記した式(58)における、v及びGそれぞれの行数が増える。そのため、各vの行で発生する誤差が独立であれば、行数が多い程、α、γ、h、v、v、及び、ωの推定誤差を小さくできる。これにより、推定部121は、自己位置をさらに精度よく算出できる。 According to this, the calculation unit 115 calculates the attitude of the housing 10 based on the acceleration acquired from the acceleration sensor 242, so the attitude is calculated with high accuracy. Therefore, the calculation unit 115 can calculate the speed of the mobile robot 105 with higher accuracy. Furthermore, the calculation unit 115 calculates translational velocity and angular velocity based on a plurality of images obtained from a plurality of cameras. For example, when each camera is a telecentric camera, the more cameras there are, the more the number of columns of F T and the number of rows of v c in the above equation (55) increase. Therefore, for example, even if each row contains an error, as long as each error is independent, the more rows there are, the smaller the influence of the error on the calculated composite speed can be. Similarly, when each camera is a pinhole camera, the more cameras there are, the more the number of rows for each of v c and G in the above equation (58) increases. Therefore, if the errors occurring in each v c row are independent, the larger the number of rows, the smaller the estimation error of α, γ, h, v x , v y , and ω can be. Thereby, the estimation unit 121 can calculate the self-position with higher accuracy.

(実施の形態7)
以下、実施の形態7に係る移動ロボットについて説明する。なお、実施の形態7の説明においては、実施の形態1~6に係る移動ロボット100~105との差異点を中心に説明し、移動ロボット100~105と実質的に同様の構成については同様の符号を付し、説明を一部簡略化又は省略する場合がある。
(Embodiment 7)
A mobile robot according to Embodiment 7 will be described below. In the explanation of Embodiment 7, differences from mobile robots 100 to 105 according to Embodiments 1 to 6 will be mainly explained, and configurations that are substantially the same as mobile robots 100 to 105 will be explained similarly. Reference numerals may be used to simplify or omit some of the explanations.

[構成]
図25は、実施の形態7に係る移動ロボット106の構成を示すブロック図である。図26は、実施の形態7に係る移動ロボット106が備えるセンサ部206の各構成要素の配置レイアウトを模式的に示す図である。なお、図26では、センサ部206の一部の配置レイアウトを筐体10の底面側から見た場合を示しており、センサ部206の他の一部の構成要素及びホイール20等の図示を省略している。
[composition]
FIG. 25 is a block diagram showing the configuration of mobile robot 106 according to the seventh embodiment. FIG. 26 is a diagram schematically showing the arrangement layout of each component of the sensor section 206 included in the mobile robot 106 according to the seventh embodiment. Note that FIG. 26 shows the arrangement layout of a part of the sensor unit 206 when viewed from the bottom side of the housing 10, and illustration of some other components of the sensor unit 206, the wheel 20, etc. is omitted. are doing.

移動ロボット106は、互いに異なるカメラ(本実施の形態では、第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253の4つのカメラ)のそれぞれで生成された複数の画像に基づいて筐体10の姿勢、並進速度、及び、角速度を算出する。 The mobile robot 106 captures a plurality of images generated by each of different cameras (in this embodiment, four cameras: a first camera 210, a second camera 251, a third camera 252, and a fourth camera 253). The posture, translational velocity, and angular velocity of the housing 10 are calculated based on the following.

移動ロボット106は、センサ部206と、周囲センサ部160と、算出部116と、SLAM部120と、制御部130と、駆動部140と、記憶部150と、を備える。 The mobile robot 106 includes a sensor section 206, a surrounding sensor section 160, a calculation section 116, a SLAM section 120, a control section 130, a drive section 140, and a storage section 150.

センサ部206は、移動ロボット106の速度を算出するための情報を検出するセンサ群である。本実施の形態では、センサ部206は、第1カメラ210と、光源220と、検出部233と、オドメトリセンサ260と、を備える。 The sensor unit 206 is a group of sensors that detects information for calculating the speed of the mobile robot 106. In this embodiment, the sensor section 206 includes a first camera 210, a light source 220, a detection section 233, and an odometry sensor 260.

また、検出部233は、第2カメラ251と、第3カメラ252と、第4カメラ253と、を備える。 Further, the detection unit 233 includes a second camera 251, a third camera 252, and a fourth camera 253.

第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253は、それぞれ、光源220が出射した光の、移動ロボット106が走行する床面での反射光を検出することで画像(第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像)を生成する。 The first camera 210, the second camera 251, the third camera 252, and the fourth camera 253 each detect the reflected light of the light emitted by the light source 220 on the floor surface on which the mobile robot 106 runs. Images (a first lower image, a second lower image, a third lower image, and a fourth lower image) are generated.

図25に示すように、本実施の形態では、光源220は、筐体10を底面視した場合、第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253のそれぞれの近傍に配置されたLED等の光源からなる。本実施の形態では、光源220は、第1カメラ210に対して配置された1つの光源と、第2カメラ251、第3カメラ252、及び、第4カメラ253に対して1つの光源と、からなる。 As shown in FIG. 25, in this embodiment, the light source 220 is connected to each of the first camera 210, the second camera 251, the third camera 252, and the fourth camera 253 when the housing 10 is viewed from the bottom. It consists of a light source such as an LED placed nearby. In this embodiment, the light source 220 includes one light source arranged for the first camera 210 and one light source arranged for the second camera 251, the third camera 252, and the fourth camera 253. Become.

また、第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253とのうちの3つのカメラは、それぞれ、光軸が所定の位置330を通過するように筐体10に取り付けられている。本実施の形態では、第2カメラ251と、第3カメラ252と、第4カメラ253とは、光軸(光軸301、302、及び303)が互いに平行にならないように筐体10に取り付けられている。具体的には、第2カメラ251と、第3カメラ252と、第4カメラ253とは、それぞれ、光軸(光軸301、302、及び303)が所定の位置330を通過するように筐体10に取り付けられている。具体的には、図26に示すように、第2カメラ251の光軸301と、第3カメラ252の光軸302と、第4カメラ253の光軸303とは、所定の位置330(図26に黒点で示す位置)を通過するように、筐体10に取り付けられている。所定の位置は、任意に定められてよく、特に限定されない。 Furthermore, the three cameras, the first camera 210, the second camera 251, the third camera 252, and the fourth camera 253, are attached to the housing 10 so that their optical axes pass through a predetermined position 330. installed. In this embodiment, the second camera 251, the third camera 252, and the fourth camera 253 are attached to the housing 10 so that their optical axes (optical axes 301, 302, and 303) are not parallel to each other. ing. Specifically, the second camera 251, the third camera 252, and the fourth camera 253 each have a housing such that their optical axes (optical axes 301, 302, and 303) pass through a predetermined position 330. It is attached to 10. Specifically, as shown in FIG. 26, the optical axis 301 of the second camera 251, the optical axis 302 of the third camera 252, and the optical axis 303 of the fourth camera 253 are located at a predetermined position 330 ( It is attached to the housing 10 so as to pass through the position shown by the black dot in . The predetermined position may be arbitrarily determined and is not particularly limited.

一方、第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253とのうちの上記した3つのカメラを除く1つのカメラは、光軸が所定の位置330を通過しないように筐体10に取り付けられている。本実施の形態では、第1カメラ210は、第1カメラ210の光軸が所定の位置330を通過しないように筐体10に取り付けられている。 On the other hand, one camera out of the first camera 210, second camera 251, third camera 252, and fourth camera 253 other than the above-mentioned three cameras is configured such that the optical axis does not pass through the predetermined position 330. is attached to the housing 10. In this embodiment, the first camera 210 is attached to the housing 10 such that the optical axis of the first camera 210 does not pass through a predetermined position 330.

なお、第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253のそれぞれのカメラの種別は、例えば、テレセントリックカメラである。 Note that the types of the first camera 210, the second camera 251, the third camera 252, and the fourth camera 253 are, for example, telecentric cameras.

第1カメラ210、検出部233(第2カメラ251、第3カメラ252、及び、第4カメラ253)、並びに、オドメトリセンサ260は、例えば、算出部116等の処理部によって同期して動作され、同時刻における情報をそれぞれ定期的に繰り返し算出部116に出力する。 The first camera 210, the detection unit 233 (the second camera 251, the third camera 252, and the fourth camera 253), and the odometry sensor 260 are operated synchronously by a processing unit such as the calculation unit 116, The information at the same time is periodically outputted to the calculation unit 116 repeatedly.

算出部116は、筐体10の姿勢及び第1下方画像に基づいて移動ロボット106の速度(並進速度)を算出する処理部である。 The calculation unit 116 is a processing unit that calculates the speed (translational speed) of the mobile robot 106 based on the attitude of the housing 10 and the first downward image.

本実施の形態では、算出部116は、第2カメラ251、第3カメラ252、及び、第4カメラ253のそれぞれが撮像した第2下方画像、第3下方画像、及び、第4下方画像に基づいて移動ロボット106の姿勢を算出する。 In the present embodiment, the calculation unit 116 is based on the second lower image, the third lower image, and the fourth lower image captured by the second camera 251, the third camera 252, and the fourth camera 253, respectively. Then, the posture of the mobile robot 106 is calculated.

また、算出部116は、算出した移動ロボット106(より具体的には、筐体10)の姿勢、第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像に基づいて移動ロボット106の並進速度を算出する。 The calculation unit 116 also calculates the calculated posture of the mobile robot 106 (more specifically, the housing 10) based on the first lower image, the second lower image, the third lower image, and the fourth lower image. The translation speed of the mobile robot 106 is calculated.

また、算出部116は、第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像に基づいて、移動ロボット106の角速度を算出する。 Further, the calculation unit 116 calculates the angular velocity of the mobile robot 106 based on the first lower image, the second lower image, the third lower image, and the fourth lower image.

算出部116は、算出した並進速度と、算出した角速度とから、移動ロボット106の合成速度を算出する。 The calculation unit 116 calculates the combined speed of the mobile robot 106 from the calculated translational speed and the calculated angular speed.

算出部116は、算出した合成速度をSLAM部120に出力する。なお、算出部116は、算出した並進速度と、算出した角速度とのそれぞれの情報を、合成せずにSLAM部120に出力してもよい。 The calculation unit 116 outputs the calculated combined speed to the SLAM unit 120. Note that the calculation unit 116 may output the respective information of the calculated translational velocity and the calculated angular velocity to the SLAM unit 120 without combining them.

[速度算出処理]
続いて、移動ロボット106の合成速度の具体的な算出方法について説明する。
[Speed calculation process]
Next, a specific method for calculating the composite speed of the mobile robot 106 will be described.

移動ロボット106は、少なくとも4台のカメラ(より具体的には、4つのテレセントリックカメラ)を備える。 Mobile robot 106 includes at least four cameras (more specifically, four telecentric cameras).

また、移動ロボット106が備える少なくとも3台のカメラの光軸は、同じ点を通過する。本実施の形態では、第2カメラ251、第3カメラ252、及び、第4カメラ253は、それぞれの光軸が所定の位置330を通過するように、筐体10に取り付けられている。 Furthermore, the optical axes of at least three cameras included in the mobile robot 106 pass through the same point. In this embodiment, the second camera 251, the third camera 252, and the fourth camera 253 are attached to the housing 10 so that their respective optical axes pass through a predetermined position 330.

また、移動ロボット106が備える少なくとも1つのカメラは、光軸が上記した同じ点を通過しない。本実施の形態では、第1カメラ210は、光軸が所定の位置330を通過しない。 Furthermore, the optical axis of at least one camera included in the mobile robot 106 does not pass through the same point as described above. In the present embodiment, the optical axis of the first camera 210 does not pass through the predetermined position 330.

移動ロボット106が備えるカメラがテレセントリックカメラであるとすると、以下の式(59)~式(66)が定義される。 Assuming that the camera included in the mobile robot 106 is a telecentric camera, the following equations (59) to (66) are defined.

Figure 0007429868000045
Figure 0007429868000045

Figure 0007429868000046
Figure 0007429868000046

Figure 0007429868000047
Figure 0007429868000047

なお、式(66)に示すIは、下記の式(67)で表される単位行列(identity matrix)である。 Note that I shown in equation (66) is an identity matrix expressed by equation (67) below.

Figure 0007429868000048
Figure 0007429868000048

上記した式(59)~式(67)から、行列F(上記した式(51))は、下記の式(68)で表される。 From the above equations (59) to (67), the matrix F i (the above equation (51)) is expressed by the following equation (68).

Figure 0007429868000049
Figure 0007429868000049

なお、式(68)に示す「×」は、外積を示す。 Note that "x" shown in equation (68) indicates an outer product.

次に、下記の式(69)及び式(70)を定義する。 Next, the following equations (69) and (70) are defined.

Figure 0007429868000050
Figure 0007429868000050

ここで、移動ロボット106における参照系での所定の位置330を点pとすると、点pの速度(並進速度)v及び距離(高さ)hは、下記の式(71)及び式(72)で表される。 Here, if the predetermined position 330 in the reference system of the mobile robot 106 is a point po , the velocity ( translational velocity) v o and distance (height) ho of the point po are calculated by the following equation (71) and It is expressed by equation (72).

Figure 0007429868000051
Figure 0007429868000051

次に、上記した式(52)、式(68)、式(71)及び式(72)から下記の式(73)が算出される。 Next, the following equation (73) is calculated from the above equation (52), equation (68), equation (71), and equation (72).

Figure 0007429868000052
Figure 0007429868000052

なお、上記した式(73)におけるPは、下記の式(74)で定義される。 Note that P i in the above equation (73) is defined by the following equation (74).

Figure 0007429868000053
Figure 0007429868000053

ここで、点pが移動ロボット106が備えるカメラの光軸上に位置するとする。この場合、上記した式(73)から、下記の式(75)が算出される。 Here, it is assumed that the point po is located on the optical axis of the camera included in the mobile robot 106. In this case, the following equation (75) is calculated from the above equation (73).

Figure 0007429868000054
Figure 0007429868000054

また、移動ロボット106が備える少なくとも3台のカメラの光軸が点pを通過するとする。一般性を損なわないようにするために、光軸が点pを通過する3台のカメラのインデックスを、1、2、及び、3とする。 It is also assumed that the optical axes of at least three cameras included in the mobile robot 106 pass through the point po . To avoid loss of generality, let the indices of the three cameras whose optical axes pass through point po be 1, 2, and 3.

また、下記の式(76)及び式(77)を定義する。 Furthermore, the following equations (76) and (77) are defined.

Figure 0007429868000055
Figure 0007429868000055

それから、下記の式(78)及び式(79)を定義する。 Then, the following equations (78) and (79) are defined.

Figure 0007429868000056
Figure 0007429868000056

外積の特性を利用することで、つまり、外積計算から、下記の式(80)及び式(81)を定義する。 By using the characteristics of the cross product, that is, from the cross product calculation, the following equations (80) and (81) are defined.

Figure 0007429868000057
Figure 0007429868000057

さらに、下記の式(82)及び式(83)を定義する。 Furthermore, the following equations (82) and (83) are defined.

Figure 0007429868000058
Figure 0007429868000058

次に、上記した式(81)から下記の式(84)を算出する。 Next, the following equation (84) is calculated from the above equation (81).

Figure 0007429868000059
Figure 0007429868000059

ここで、ω≠0且つh≠0として、下記の式(85)及び式(86)を定義する。 Here, the following equations (85) and (86) are defined as ω≠0 and h o ≠0.

Figure 0007429868000060
Figure 0007429868000060

ρ及びρの値は、設計パラメータ(ψ、β、及び、θ)並びに未知数であるα及びγにのみ依存する。一方、ρ及びρの値は、上記した式(61)、式(64)、式(76)、及び、式(77)から、未知数であるh、v、v、及び、ωから独立していることがわかる。 The values of ρ 1 and ρ 2 depend only on the design parameters (ψ i , β i , and θ i ) and the unknowns α and γ. On the other hand, the values of ρ 1 and ρ 2 are obtained from the above equations (61), (64), (76), and (77), which are unknowns h, v x , v y , and ω It can be seen that it is independent from

ρ及びρの各値は、2つの組である(α、γ)及び(α′、γ′)に対応する。具体的には、(ρ、ρ)は、未知数であるα及びγにのみに依存する。ここで、(ρ、ρ)とα及びγとは、一対一の関係性ではない。しかしながら、(ρ、ρ)の解が多数算出されるが、(α、γ)≠(α′、γ′)は、同じ(ρ、ρ)で算出される。つまり、(ρ、ρ)の値が既知であれば、(α、γ)は、多数の解の中から2つの解に絞られ得る。また、当該2つの解のうちの一方が正しい(つまり、移動ロボット106の実体の向き)から算出される値であり、他方は正しくない(つまり、移動ロボット106の実体に適さない)値である。 Each value of ρ 1 and ρ 2 corresponds to two sets: (α, γ) and (α', γ'). Specifically, (ρ 1 , ρ 2 ) depends only on the unknowns α and γ. Here, (ρ 1 , ρ 2 ) and α and γ do not have a one-to-one relationship. However, although many solutions of (ρ 1 , ρ 2 ) are calculated, (α, γ)≠(α′, γ′) are calculated using the same (ρ 1 , ρ 2 ). That is, if the values of (ρ 1 , ρ 2 ) are known, (α, γ) can be narrowed down to two solutions from a large number of solutions. Furthermore, one of the two solutions is a correct value (that is, the orientation of the mobile robot 106 entity), and the other is an incorrect value (that is, it is not suitable for the mobile robot 106 entity). .

なお、以下では、(α、γ)から算出される量をXとし、(α′、γ′)から算出される量をx′とする。 Note that in the following, the amount calculated from (α, γ) will be referred to as X, and the amount calculated from (α', γ') will be referred to as x'.

これらの2つの解は、u′=u′=u′を満たすことから、下記の式(87)、式(88)、及び、式(89)が算出される。 Since these two solutions satisfy u 1 u 1 ′=u 2 u 2 ′=u 3 u 3 ′, the following equations (87), (88), and (89) are calculated. Ru.

Figure 0007429868000061
Figure 0007429868000061

続いて、移動ロボット106の並進速度(v及びv)及び角速度(ω)を算出するための計算方法について説明する。 Next, a calculation method for calculating the translational velocity (v x and v y ) and angular velocity (ω) of the mobile robot 106 will be explained.

Figure 0007429868000062
の測定値から、式(70)を用いてq(1≦i≦3)を算出する。
Figure 0007429868000062
From the measured value, q i (1≦i≦3) is calculated using equation (70).

また、式(78)から、sを算出する。 Furthermore, s is calculated from equation (78).

ここで、

Figure 0007429868000063
であるとすると、
Figure 0007429868000064
それぞれの値は、加速度計等のセンサを用いてして計算する必要がある。一方、移動ロボット106(より具体的には、筐体10)の傾きが短時間であまり変化しないとすると、最後に算出した値を用いて、現在の値を近似した値として算出できる。 here,
Figure 0007429868000063
Assuming that,
Figure 0007429868000064
Each value must be calculated using a sensor such as an accelerometer. On the other hand, assuming that the inclination of the mobile robot 106 (more specifically, the housing 10) does not change much over a short period of time, the last calculated value can be used to calculate a value that approximates the current value.

また、

Figure 0007429868000065
であるとすると、上記した式(85)及び式(86)を用いて、(ρ、ρ)を算出できる。また、算出した(ρ、ρ)から、上記した式(80)又はルックアップテーブル(例えば、予め記憶部150に記憶される)を用いて、2つの解
Figure 0007429868000066
を算出できる。 Also,
Figure 0007429868000065
Assuming that, (ρ 1 , ρ 2 ) can be calculated using equation (85) and equation (86) described above. Also, from the calculated (ρ 1 , ρ 2 ), two solutions can be calculated using the above equation (80) or a lookup table (for example, stored in the storage unit 150 in advance).
Figure 0007429868000066
can be calculated.

当該2つの解が算出される(つまり、既知となる)ことで、

Figure 0007429868000067
を算出でき、さらに、
Figure 0007429868000068
を算出できる。 By calculating the two solutions (that is, becoming known),
Figure 0007429868000067
can be calculated, and furthermore,
Figure 0007429868000068
can be calculated.

続いて、上記した式(80)から下記の式(90)を定義する。 Next, the following equation (90) is defined from the above equation (80).

Figure 0007429868000069
Figure 0007429868000069

また、ωhは、下記の式(91)に示すように算出(推定)できる。 Further, ωh o can be calculated (estimated) as shown in equation (91) below.

Figure 0007429868000070
Figure 0007429868000070

次に、式(84)を用いて、2つの速度

Figure 0007429868000071
を算出する。 Next, using equation (84), the two speeds
Figure 0007429868000071
Calculate.

ここで、式(71)から、v

Figure 0007429868000072
に直交していることは、明らかである。 Here, from equation (71), v o is
Figure 0007429868000072
It is clear that it is orthogonal to

このことから、一般に、上記した2つの解のいずれかを除外して、正しい解を決定できる。 From this, in general, one of the two solutions mentioned above can be excluded to determine the correct solution.

しかしながら、v

Figure 0007429868000073
に比例する場合、言い換えると、v
Figure 0007429868000074
However, vo
Figure 0007429868000073
In other words, if v o is proportional to
Figure 0007429868000074

の両方に直交する場合、上記した2つの解のいずれが正しいかを判定できない。 is orthogonal to both, it is not possible to determine which of the above two solutions is correct.

実際には、測定誤差のために、

Figure 0007429868000075
は完全に0ではないため、
Figure 0007429868000076
は、
Figure 0007429868000077
のときに直交すると考えることができる。 In fact, due to measurement errors,
Figure 0007429868000075
is not completely 0, so
Figure 0007429868000076
teeth,
Figure 0007429868000077
It can be considered orthogonal when .

ここで、カメラN+1~カメラNのそれぞれの光軸が、点pを通過しないとする。 Here, it is assumed that the optical axes of cameras N o +1 to N c do not pass through point po .

この場合、上記した式(73)から、以下の式(92)~式(98)を定義する。 In this case, the following equations (92) to (98) are defined from the above equation (73).

Figure 0007429868000078
Figure 0007429868000078

Figure 0007429868000079
Figure 0007429868000079

次に、下記の式(99)からωを算出できる。 Next, ω can be calculated from the following equation (99).

Figure 0007429868000080
Figure 0007429868000080

次に、下記の式(100)からhの推定値を簡便に算出できる。 Next, the estimated value of ho can be easily calculated from the following equation (100).

Figure 0007429868000081
Figure 0007429868000081

理論的には、

Figure 0007429868000082
は、
Figure 0007429868000083
が解であれば0であり、
Figure 0007429868000084
が解でなければ0ではない。 Theoretically,
Figure 0007429868000082
teeth,
Figure 0007429868000083
is 0 if is a solution, and
Figure 0007429868000084
is not 0 unless is a solution.

この結果は、上記した2つの解のいずれが正しい解であるかを決定するために用いることができる。 This result can be used to determine which of the two solutions above is the correct one.

なお、ここでも、測定誤差のために、値が正確に0になることはなく、上記した閾値を用いることができる。 Note that here, too, the value will not be exactly 0 due to measurement errors, and the above-mentioned threshold value can be used.

また、上記した2つの解の両方の値が0になることもある。 Furthermore, the values of both of the above two solutions may be zero.

これは、下記の式(101)を満たす場合に発生する。 This occurs when the following equation (101) is satisfied.

Figure 0007429868000085
なお、
Figure 0007429868000086
については、速度v
Figure 0007429868000087
に比例する場合、上記した式(101)を満たさないように、移動ロボット106が備えるカメラの構成及び配置レイアウト等を適切に選択することで、算出できる。
Figure 0007429868000085
In addition,
Figure 0007429868000086
For, the velocity vo is
Figure 0007429868000087
If it is proportional to , it can be calculated by appropriately selecting the configuration and arrangement layout of the camera included in the mobile robot 106 so as not to satisfy the above equation (101).

このようにして、上記した2つの解のうち、正しい解が適切に選択され得る。 In this way, the correct solution can be appropriately selected from the above two solutions.

なお、移動ロボット106は、加速度センサ等のセンサを備えてもよい。この場合、移動ロボット106は、当該センサを用いてから得られる値、2つの解のうち、当該センサを用いてから得られる値にどちらが近いかを判定し、値が近い方の解を正しい解と判定してもよい。 Note that the mobile robot 106 may include a sensor such as an acceleration sensor. In this case, the mobile robot 106 determines which of the two solutions is closer to the value obtained by using the sensor, and selects the solution with the closer value as the correct solution. It may be determined that

また、上記したように、移動ロボット106(より具体的には、筐体10)の傾きが短時間であまり変化しないとして、最後に計算された値に最も近い解を正しい解として選択してもよい。 Furthermore, as described above, assuming that the tilt of the mobile robot 106 (more specifically, the housing 10) does not change much in a short period of time, even if the solution closest to the last calculated value is selected as the correct solution. good.

最後に、上記した式(71)及び式(72)を用いて、下記に示す式(102)及び式(103)の通り、v、v、及び、hを算出(推定)する。 Finally, using the above equations (71) and (72), v x , v y , and h are calculated (estimated) according to equations (102) and (103) shown below.

Figure 0007429868000088
Figure 0007429868000088

移動ロボット106によれば、例えば、ω=0等のいくつかの場合を除いて、カメラ以外にIMU等の他のセンサを用いずに精度よく速度(合成速度)を算出できる。さらに、上記した計算方法によれば、算出される値がオドメトリセンサ260等の他のセンサから完全に独立しているため、カメラが生成した画像から算出される値(推定値)の誤差は、オドメトリセンサ260等から得られる走行距離等の値の誤差から完全に独立されていると考えられる。したがって、これら2つの値を組み合わせることで、最終的に算出される自己位置の誤差は、これら2つのそれぞれから算出される自己位置の誤差よりも低くなることが期待される。 According to the mobile robot 106, the speed (synthetic speed) can be calculated with high accuracy without using any other sensor such as an IMU other than the camera, except for some cases such as ω=0. Furthermore, according to the calculation method described above, the calculated value is completely independent from other sensors such as the odometry sensor 260, so the error in the value (estimated value) calculated from the image generated by the camera is It is considered to be completely independent from errors in values such as travel distance obtained from the odometry sensor 260 and the like. Therefore, by combining these two values, it is expected that the finally calculated self-position error will be lower than the self-position error calculated from each of these two values.

[処理手順]
図27は、実施の形態7に係る移動ロボット106の処理手順を示すフローチャートである。
[Processing procedure]
FIG. 27 is a flowchart showing the processing procedure of the mobile robot 106 according to the seventh embodiment.

まず、第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253は、それぞれ、移動ロボット105が走行中に、光源220が出射した光の、移動ロボット105が走行する床面での反射光を検出することで、画像(第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像)を生成する(ステップS126)。これにより、同時刻に撮影位置が異なる複数の画像が生成される。 First, the first camera 210, the second camera 251, the third camera 252, and the fourth camera 253 each capture the light emitted from the light source 220 while the mobile robot 105 is traveling on the floor on which the mobile robot 105 is traveling. Images (a first lower image, a second lower image, a third lower image, and a fourth lower image) are generated by detecting the reflected light on the surface (step S126). As a result, a plurality of images captured at different shooting positions are generated at the same time.

次に、算出部116は、それぞれの光軸が所定の位置330を通過する複数のカメラで生成された複数の画像に基づいて、筐体10の姿勢を算出する(ステップS170)。具体的には、算出部116は、第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像に基づいて、筐体10の姿勢を算出する。 Next, the calculation unit 116 calculates the attitude of the housing 10 based on the plurality of images generated by the plurality of cameras whose respective optical axes pass through the predetermined position 330 (step S170). Specifically, the calculation unit 116 calculates the attitude of the housing 10 based on the first lower image, the second lower image, the third lower image, and the fourth lower image.

次に、算出部116は、筐体10の姿勢及び複数の画像に基づいて、移動ロボット106の並進速度を算出する(ステップS131)。 Next, the calculation unit 116 calculates the translation speed of the mobile robot 106 based on the posture of the housing 10 and the plurality of images (step S131).

次に、算出部116は、複数の画像に基づいて、移動ロボット106の角速度を算出する(ステップS144)。 Next, the calculation unit 116 calculates the angular velocity of the mobile robot 106 based on the plurality of images (step S144).

次に、推定部121は、並進速度、及び、角速度に基づいて、所定の空間における移動ロボット106の自己位置を推定する(ステップS150)。 Next, the estimation unit 121 estimates the self-position of the mobile robot 106 in a predetermined space based on the translational velocity and the angular velocity (step S150).

次に、制御部130は、駆動部140を制御することで、推定部121が推定した自己位置に基づいて、移動ロボット106を走行させる(ステップS160)。 Next, the control unit 130 controls the drive unit 140 to cause the mobile robot 106 to travel based on the self-position estimated by the estimation unit 121 (step S160).

[効果等]
以上説明したように、実施の形態7に係る移動ロボット106は、筐体10と、第1カメラ210と、光源220と、検出部233と、算出部116と、推定部121と、制御部130と、を備える。また、検出部233は、第2カメラ251と、第3カメラ252と、第4カメラ253と、を備える。具体的には、検出部233は、筐体10に取り付けられ、筐体10の下方を撮影することで第2下方画像を生成する第2カメラ251と、筐体10に取り付けられ、筐体10の下方を撮影することで第3下方画像を生成する第3カメラ252と、筐体10に取り付けられ、筐体10の下方を撮影することで第4下方画像を生成する第4カメラ253と、を有する。
[Effects etc.]
As described above, the mobile robot 106 according to the seventh embodiment includes the housing 10, the first camera 210, the light source 220, the detection section 233, the calculation section 116, the estimation section 121, and the control section 130. and. Further, the detection unit 233 includes a second camera 251, a third camera 252, and a fourth camera 253. Specifically, the detection unit 233 includes a second camera 251 that is attached to the housing 10 and generates a second downward image by photographing the lower part of the housing 10; a third camera 252 that generates a third lower image by photographing the lower part of the housing 10; and a fourth camera 253 that is attached to the housing 10 and generates a fourth lower image by photographing the lower part of the housing 10; has.

第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253のうちの3つのカメラ(本実施の形態では、第2カメラ251、第3カメラ252、及び、第4カメラ253)は、それぞれ、光軸が所定の位置330を通過するように筐体10に取り付けられている。一方、第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253のうちの当該3つのカメラを除く1つのカメラ(本実施の形態では、第1カメラ210)は、光軸が所定の位置330を通過しないように筐体10に取り付けられている。算出部116は、第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像に基づいて移動ロボット106の角速度及び筐体10の姿勢を算出する。 Three cameras among the first camera 210, second camera 251, third camera 252, and fourth camera 253 (in this embodiment, the second camera 251, the third camera 252, and the fourth camera 253) ) are each attached to the housing 10 so that the optical axis passes through a predetermined position 330. On the other hand, one camera (in this embodiment, the first camera 210) excluding the three cameras among the first camera 210, the second camera 251, the third camera 252, and the fourth camera 253 is The shaft is attached to the housing 10 so that it does not pass through a predetermined position 330. The calculation unit 116 calculates the angular velocity of the mobile robot 106 and the posture of the housing 10 based on the first lower image, the second lower image, the third lower image, and the fourth lower image.

推定部121は、移動ロボット106の角速度及び速度に基づいて、移動ロボット106の自己位置を推定する。 The estimation unit 121 estimates the self-position of the mobile robot 106 based on the angular velocity and velocity of the mobile robot 106.

これによれば、算出部116は、複数のカメラから取得する画像に基づいて筐体10の姿勢を算出するため、当該姿勢が精度よく算出される。さらに、移動ロボット106は、IMU等のセンサを備えないため、簡便な構造で実現される。 According to this, the calculation unit 116 calculates the attitude of the housing 10 based on images acquired from a plurality of cameras, so the attitude is calculated with high accuracy. Furthermore, since the mobile robot 106 does not include a sensor such as an IMU, it can be realized with a simple structure.

(その他の実施の形態)
以上、本発明に係る移動ロボットについて、上記各実施の形態に基づいて説明したが、本発明は、上記各実施の形態に限定されるものではない。
(Other embodiments)
Although the mobile robot according to the present invention has been described above based on the above embodiments, the present invention is not limited to the above embodiments.

例えば、上記したb、h等の距離を表す数値の単位は、それぞれ同じ単位が採用されていればよく、特に限定されない。 For example, the units of numerical values representing distances such as b and h described above are not particularly limited as long as the same units are adopted.

また、例えば、上記実施の形態では移動ロボットが備える算出部等の処理部は、それぞれCPUと制御プログラムとによって実現されると説明した。例えば、それぞれの当該処理部の構成要素は、それぞれ1つ又は複数の電子回路で構成されてもよい。1つ又は複数の電子回路は、それぞれ、汎用的な回路でもよいし、専用の回路でもよい。1つ又は複数の電子回路には、例えば、半導体装置、IC(Integrated Circuit)、又は、LSI(Large Scale Integration)等が含まれてもよい。IC又はLSIは、1つのチップに集積されてもよく、複数のチップに集積されてもよい。ここでは、IC又はLSIと呼んでいるが、集積の度合いによって呼び方が変わり、システムLSI、VLSI(Very Large Scale Integration)、又は、ULSI(Ultra Large Scale Integration)と呼ばれるかもしれない。また、LSIの製造後にプログラムされるFPGA(Field Programmable Gate Array)も同じ目的で使うことができる。 Furthermore, for example, in the above embodiment, it has been explained that the processing units such as the calculation unit included in the mobile robot are each realized by the CPU and the control program. For example, each of the components of the processing unit may be composed of one or more electronic circuits. Each of the one or more electronic circuits may be a general-purpose circuit or a dedicated circuit. The one or more electronic circuits may include, for example, a semiconductor device, an IC (Integrated Circuit), an LSI (Large Scale Integration), or the like. An IC or LSI may be integrated into one chip or into multiple chips. Here, it is called an IC or LSI, but the name changes depending on the degree of integration, and may be called a system LSI, VLSI (Very Large Scale Integration), or ULSI (Ultra Large Scale Integration). Furthermore, an FPGA (Field Programmable Gate Array) that is programmed after the LSI is manufactured can also be used for the same purpose.

また、上記した各処理部が実行する処理手順は、あくまで一例であって、特に限定されない。例えば、算出部は、合成速度を算出せず、推定部が、合成速度を算出してもよい。また、並進速度を算出する処理部と、角速度を算出する処理部とが、異なるCPU又は専用の電子回路で実現されてもよい。 Furthermore, the processing procedures executed by each of the processing units described above are merely examples, and are not particularly limited. For example, the calculation unit may not calculate the combined speed, but the estimation unit may calculate the combined speed. Furthermore, the processing section that calculates the translational velocity and the processing section that calculates the angular velocity may be implemented by different CPUs or dedicated electronic circuits.

また、例えば、算出部は、算出した姿勢、並進速度及び角速度を、オドメトリセンサから得られる情報に基づいて補正してもよい。或いは、例えば、算出部は、上記したカメラから得られる画像と、オドメトリセンサから得られる情報とに基づいて、移動ロボットの姿勢、並進速度及び角速度を算出してもよい。 Further, for example, the calculation unit may correct the calculated posture, translational velocity, and angular velocity based on information obtained from an odometry sensor. Alternatively, for example, the calculation unit may calculate the posture, translational velocity, and angular velocity of the mobile robot based on the image obtained from the above-described camera and the information obtained from the odometry sensor.

また、各実施の形態における構成要素は、任意に組み合わされてもよい。 Moreover, the components in each embodiment may be combined arbitrarily.

また、本発明の全般的又は具体的な態様は、システム、装置、方法、集積回路又はコンピュータプログラムで実現されてもよい。或いは、当該コンピュータプログラムが記憶された光学ディスク、HDD(Hard Disk Drive)若しくは半導体メモリ等のコンピュータ読み取り可能な非一時的記録媒体で実現されてもよい。また、システム、装置、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。 Further, general or specific aspects of the invention may be implemented in a system, apparatus, method, integrated circuit, or computer program product. Alternatively, the computer program may be realized by a computer-readable non-temporary recording medium such as an optical disk, an HDD (Hard Disk Drive), or a semiconductor memory in which the computer program is stored. Further, the present invention may be realized by any combination of a system, an apparatus, a method, an integrated circuit, a computer program, and a recording medium.

その他、各実施の形態に対して当業者が思いつく各種変形を施して得られる形態や、本発明の趣旨を逸脱しない範囲で各実施の形態における構成要素及び機能を任意に組み合わせることで実現される形態も本発明に含まれる。 In addition, forms obtained by applying various modifications to each embodiment that those skilled in the art can think of, or by arbitrarily combining the constituent elements and functions of each embodiment without departing from the spirit of the present invention. The form is also included in the present invention.

本発明は、自律移動しながら掃除する自律走行型掃除機に広く利用可能である。 INDUSTRIAL APPLICABILITY The present invention can be widely used in autonomous vacuum cleaners that clean while autonomously moving.

10 筐体
20 ホイール
21 キャスターホイール
22 牽引ホイール
30 サスペンションアーム
31 サスペンションピボット
32 ホイールハブ
40 ばね
100、101、102、103、104、105、106、1000 移動ロボット
110、111、112、113、114、115、116 算出部
120 SLAM部
121 推定部
122 地図生成部
130 制御部
140 駆動部
150 記憶部
160 周囲センサ部
161 周囲カメラ
162 周囲測距センサ
200、201、202、203、204、205、206 センサ部
210 第1カメラ
220 光源
241 光源(構造化光源)
230、231、232、233 検出部
240 測距センサ
241a、241b、241c レーザ光源
242 加速度センサ
250 角速度センサ
251 第2カメラ
252 第3カメラ
253 第4カメラ
260 オドメトリセンサ
300、301、302、303 光軸
310、310a 撮影中心位置
320、320a、321、321a、322、322a 照射位置
330 所定の位置
10 Housing 20 Wheel 21 Caster wheel 22 Traction wheel 30 Suspension arm 31 Suspension pivot 32 Wheel hub 40 Spring 100, 101, 102, 103, 104, 105, 106, 1000 Mobile robot 110, 111, 112, 113, 114, 115 , 116 calculation unit 120 SLAM unit 121 estimation unit 122 map generation unit 130 control unit 140 drive unit 150 storage unit 160 surrounding sensor unit 161 surrounding camera 162 surrounding distance measuring sensor 200, 201, 202, 203, 204, 205, 206 sensor unit 210 First camera 220 Light source 241 Light source (structured light source)
230, 231, 232, 233 Detection unit 240 Distance sensor 241a, 241b, 241c Laser light source 242 Acceleration sensor 250 Angular velocity sensor 251 Second camera 252 Third camera 253 Fourth camera 260 Odometry sensor 300, 301, 302, 303 Optical axis 310, 310a Shooting center position 320, 320a, 321, 321a, 322, 322a Irradiation position 330 Predetermined position

Claims (6)

所定の空間を自律走行する移動ロボットであって、
筐体と、
前記筐体に取り付けられ、前記筐体の下方を撮影することで第1下方画像を生成する第1カメラと、
前記筐体に取り付けられ、前記筐体の姿勢を検出するための検出部と、
前記姿勢及び前記第1下方画像に基づいて前記移動ロボットの速度を算出する算出部と、
前記速度に基づいて、前記所定の空間における前記移動ロボットの自己位置を推定する推定部と、
前記自己位置に基づいて、前記移動ロボットを走行させる制御部と、を備え
前記検出部は、前記移動ロボットが走行する床面と前記筐体との距離をそれぞれが計測する3つ以上の測距センサを備え、
前記算出部は、前記3つ以上の測距センサのそれぞれから得られる距離に基づいて、前記姿勢を算出する
移動ロボット。
A mobile robot that autonomously moves in a predetermined space,
A casing and
a first camera that is attached to the housing and generates a first downward image by photographing the lower part of the housing;
a detection unit attached to the housing to detect the attitude of the housing;
a calculation unit that calculates the speed of the mobile robot based on the posture and the first downward image;
an estimation unit that estimates the self-position of the mobile robot in the predetermined space based on the speed;
a control unit that causes the mobile robot to travel based on the self-position ;
The detection unit includes three or more distance measuring sensors each measuring a distance between the floor surface on which the mobile robot runs and the housing,
The calculation unit calculates the attitude based on the distance obtained from each of the three or more distance measuring sensors.
mobile robot.
所定の空間を自律走行する移動ロボットであって、
筐体と、
前記筐体に取り付けられ、前記筐体の下方を撮影することで第1下方画像を生成する第1カメラと、
前記筐体に取り付けられ、前記筐体の姿勢を検出するための検出部と、
前記姿勢及び前記第1下方画像に基づいて前記移動ロボットの速度を算出する算出部と、
前記速度に基づいて、前記所定の空間における前記移動ロボットの自己位置を推定する推定部と、
前記自己位置に基づいて、前記移動ロボットを走行させる制御部と、を備え
前記検出部は、前記移動ロボットの下方に向けて構造化光を出射する光源を有し、
前記第1カメラは、前記光源が出射した構造化光の、前記移動ロボットが走行する床面での反射光を検出することで前記第1下方画像を生成し、
前記算出部は、前記第1下方画像に基づいて、前記姿勢及び前記速度を算出する
移動ロボット。
A mobile robot that autonomously moves in a predetermined space,
A casing and
a first camera that is attached to the housing and generates a first downward image by photographing the lower part of the housing;
a detection unit attached to the housing to detect the attitude of the housing;
a calculation unit that calculates the speed of the mobile robot based on the posture and the first downward image;
an estimation unit that estimates the self-position of the mobile robot in the predetermined space based on the speed;
a control unit that causes the mobile robot to travel based on the self-position ;
The detection unit includes a light source that emits structured light toward below the mobile robot,
the first camera generates the first downward image by detecting reflected light of structured light emitted by the light source on a floor surface on which the mobile robot runs;
The calculation unit calculates the attitude and the speed based on the first lower image.
mobile robot.
さらに、前記筐体に取り付けられ、前記移動ロボットの角速度を計測する角速度センサを備え、
前記推定部は、前記角速度及び前記速度に基づいて、前記自己位置を推定する
請求項1又は2に記載の移動ロボット。
Furthermore, an angular velocity sensor is attached to the housing and measures the angular velocity of the mobile robot,
The mobile robot according to claim 1 or 2 , wherein the estimation unit estimates the self-position based on the angular velocity and the velocity.
前記移動ロボットは、さらに、前記筐体に取り付けられ、前記筐体の下方を撮影することで第2下方画像を生成する第2カメラを備え、
前記算出部は、前記第1下方画像と前記第2下方画像とに基づいて、前記移動ロボットの角速度を算出し、
前記推定部は、前記角速度及び前記速度に基づいて、前記自己位置を推定する
請求項1又は2に記載の移動ロボット。
The mobile robot further includes a second camera attached to the housing and generating a second downward image by photographing the lower part of the housing,
The calculation unit calculates an angular velocity of the mobile robot based on the first lower image and the second lower image,
The mobile robot according to claim 1 or 2 , wherein the estimation unit estimates the self-position based on the angular velocity and the velocity.
所定の空間を自律走行する移動ロボットであって、
筐体と、
前記筐体に取り付けられ、前記筐体の下方を撮影することで第1下方画像を生成する第1カメラと、
前記筐体に取り付けられ、前記筐体の姿勢を検出するための検出部と、
前記姿勢及び前記第1下方画像に基づいて前記移動ロボットの速度を算出する算出部と、
前記速度に基づいて、前記所定の空間における前記移動ロボットの自己位置を推定する推定部と、
前記自己位置に基づいて、前記移動ロボットを走行させる制御部と、を備え
前記移動ロボットは、さらに、前記筐体に取り付けられ、前記筐体の下方を撮影することで第2下方画像を生成する第2カメラを備え、
前記検出部は、前記移動ロボットの加速度を計測する加速度センサを有し、
前記第1カメラと前記第2カメラとは、光軸が平行にならないように前記筐体に取り付けられており、
前記算出部は、前記加速度に基づいて前記姿勢を算出し、算出した前記姿勢及び前記第1下方画像に基づいて前記速度を算出し、且つ、前記第1下方画像及び前記第2下方画像に基づいて前記移動ロボットの角速度を算出し、
前記推定部は、前記角速度及び前記速度に基づいて、前記自己位置を推定する
移動ロボット。
A mobile robot that autonomously moves in a predetermined space,
A casing and
a first camera that is attached to the housing and generates a first downward image by photographing the lower part of the housing;
a detection unit attached to the housing to detect the attitude of the housing;
a calculation unit that calculates the speed of the mobile robot based on the posture and the first downward image;
an estimation unit that estimates the self-position of the mobile robot in the predetermined space based on the speed;
a control unit that causes the mobile robot to travel based on the self-position ;
The mobile robot further includes a second camera attached to the housing and generating a second downward image by photographing the lower part of the housing,
The detection unit includes an acceleration sensor that measures acceleration of the mobile robot,
The first camera and the second camera are attached to the housing so that their optical axes are not parallel to each other,
The calculation unit calculates the posture based on the acceleration, calculates the speed based on the calculated posture and the first lower image, and calculates the speed based on the first lower image and the second lower image. calculate the angular velocity of the mobile robot,
The estimation unit estimates the self-position based on the angular velocity and the velocity.
mobile robot.
所定の空間を自律走行する移動ロボットであって、
筐体と、
前記筐体に取り付けられ、前記筐体の下方を撮影することで第1下方画像を生成する第1カメラと、
前記筐体に取り付けられ、前記筐体の姿勢を検出するための検出部と、
前記姿勢及び前記第1下方画像に基づいて前記移動ロボットの速度を算出する算出部と、
前記速度に基づいて、前記所定の空間における前記移動ロボットの自己位置を推定する推定部と、
前記自己位置に基づいて、前記移動ロボットを走行させる制御部と、を備え
前記検出部は、前記筐体に取り付けられ、前記筐体の下方を撮影することで第2下方画像を生成する第2カメラと、前記筐体に取り付けられ、前記筐体の下方を撮影することで第3下方画像を生成する第3カメラと、前記筐体に取り付けられ、前記筐体の下方を撮影することで第4下方画像を生成する第4カメラと、を有し、
前記第1カメラ、前記第2カメラ、前記第3カメラ、及び、前記第4カメラのうちの3つのカメラは、それぞれ、光軸が所定の位置を通過するように前記筐体に取り付けられており、
前記第1カメラ、前記第2カメラ、前記第3カメラ、及び、前記第4カメラのうちの前記3つのカメラを除く1つのカメラは、光軸が前記所定の位置を通過しないように前記筐体に取り付けられており、
前記算出部は、前記第1下方画像、前記第2下方画像、前記第3下方画像、及び、前記第4下方画像に基づいて前記移動ロボットの角速度及び前記姿勢を算出し、
前記推定部は、前記角速度及び前記速度に基づいて、前記自己位置を推定する
移動ロボット。
A mobile robot that autonomously moves in a predetermined space,
A casing and
a first camera that is attached to the housing and generates a first downward image by photographing the lower part of the housing;
a detection unit attached to the housing to detect the attitude of the housing;
a calculation unit that calculates the speed of the mobile robot based on the posture and the first downward image;
an estimation unit that estimates the self-position of the mobile robot in the predetermined space based on the speed;
a control unit that causes the mobile robot to travel based on the self-position ;
The detection unit includes a second camera that is attached to the housing and generates a second downward image by photographing the lower part of the housing, and a second camera that is attached to the housing and generates a second lower image by photographing the lower part of the housing. a third camera that generates a third downward image, and a fourth camera that is attached to the housing and generates a fourth downward image by photographing the lower side of the housing,
Three cameras among the first camera, the second camera, the third camera, and the fourth camera are each attached to the housing so that their optical axes pass through predetermined positions. ,
Of the first camera, the second camera, the third camera, and the fourth camera, one camera other than the three cameras is arranged in the housing so that the optical axis does not pass through the predetermined position. It is attached to
The calculation unit calculates the angular velocity and the attitude of the mobile robot based on the first lower image, the second lower image, the third lower image, and the fourth lower image,
The estimation unit estimates the self-position based on the angular velocity and the velocity.
mobile robot.
JP2020154374A 2020-08-25 2020-09-15 mobile robot Active JP7429868B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US17/403,488 US20220066451A1 (en) 2020-08-25 2021-08-16 Mobile robot
CN202110941387.0A CN114098566A (en) 2020-08-25 2021-08-17 Mobile robot

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2020141504 2020-08-25
JP2020141504 2020-08-25

Publications (2)

Publication Number Publication Date
JP2022037843A JP2022037843A (en) 2022-03-09
JP7429868B2 true JP7429868B2 (en) 2024-02-09

Family

ID=80494854

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020154374A Active JP7429868B2 (en) 2020-08-25 2020-09-15 mobile robot

Country Status (1)

Country Link
JP (1) JP7429868B2 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011203224A (en) 2010-03-26 2011-10-13 Shimizu Corp System and method for detection of moving body position

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011203224A (en) 2010-03-26 2011-10-13 Shimizu Corp System and method for detection of moving body position

Also Published As

Publication number Publication date
JP2022037843A (en) 2022-03-09

Similar Documents

Publication Publication Date Title
US9744670B2 (en) Systems and methods for use of optical odometry sensors in a mobile robot
ES2610755T3 (en) Robot positioning system
TWI634403B (en) An automatic cleaning robot and a controlling method of the same
JP6872159B2 (en) Autonomous traveling device and ranging device
US7507948B2 (en) Method of detecting object using structured light and robot using the same
US20200250843A1 (en) Device and method for indoor mobile mapping of an environment
JP2009136987A (en) Mobile robot and method of correcting floor surface shape data
JP5067215B2 (en) Mobile robot and environmental map generation method
JP7429868B2 (en) mobile robot
JP6180158B2 (en) Position / orientation measuring apparatus, control method and program for position / orientation measuring apparatus
JP2016218024A (en) Map generation device and map generation method
US20220066451A1 (en) Mobile robot
TWI711913B (en) Information processing device and mobile robot
JP4552907B2 (en) Form measuring device deviation amount acquisition method, deviation amount acquisition program, and deviation amount acquisition reference workpiece
JP2008264946A (en) Mobile robot and correcting method for data of floor surface shape
JP2021026302A (en) Information processing apparatus, information processing method, and program
JP2010020366A (en) Traveling boundary detection device and traveling boundary detection method
JP2008260117A (en) Leg-wheel type robot and leg-wheel device
TWI734465B (en) Optical navigation apparatus
WO2023017624A1 (en) Drive device, vehicle, and method for automated driving and/or assisted driving
Vila Clarà et al. A Method to Compensate for the Errors Caused by Temperature in Structured-Light 3D Cameras
JP2023019708A (en) Information processing device, information processing method, autonomous travel robot device, and computer program
JP2005351836A (en) Instrument for measuring position of moving body

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221206

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230929

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231017

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20231110

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240109

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240116

R151 Written notification of patent or utility model registration

Ref document number: 7429868

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151