JP7429868B2 - mobile robot - Google Patents
mobile robot Download PDFInfo
- 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
Links
- 238000004364 calculation method Methods 0.000 claims description 203
- 238000001514 detection method Methods 0.000 claims description 64
- 230000001133 acceleration Effects 0.000 claims description 55
- 230000003287 optical effect Effects 0.000 claims description 49
- 238000012545 processing Methods 0.000 description 56
- 238000010586 diagram Methods 0.000 description 48
- 238000000034 method Methods 0.000 description 45
- 238000003860 storage Methods 0.000 description 19
- 239000011159 matrix material Substances 0.000 description 18
- 238000013519 translation Methods 0.000 description 17
- 238000013461 design Methods 0.000 description 12
- 230000005484 gravity Effects 0.000 description 11
- 238000005259 measurement Methods 0.000 description 10
- 239000002131 composite material Substances 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 239000000203 mixture Substances 0.000 description 7
- 239000000725 suspension Substances 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000010408 sweeping Methods 0.000 description 2
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
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
この種の移動ロボットは、走行する空間における自己位置を推定しながら走行する。そのため、移動ロボットが推定する、当該空間における自己位置には、高い精度が要求される。 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.
(本開示の基礎となった知見)
移動ロボットは、例えば、算出した移動経路に沿って移動しながら、掃除、掃海、又は、データ収集のようなタスクを実行する。このようなタスクを実行しながら自律的に移動する移動ロボットにおいては、所定の領域内をくまなく移動することが要求される。そのため、移動ロボットには、精度よく自己位置を推定できることが要求される。例えば、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
移動ロボット1000は、例えば、LIDARを用いて壁等の物体までの距離を計測する。移動ロボット1000は、物体がLIDARで検出できる範囲内にある場合、LIDARが壁に含まれる角部等の特徴となる位置を検出する。例えば、移動ロボット1000は、LIDARから出力される光線(図28Aに示す破線)の反射光から、1以上の検出位置(図28Aに丸で示す位置)を検出し、検出した1以上の検出位置の中で、角部等の特徴となる位置(特徴点)を検出する。これにより、移動ロボット1000は、検出した角部の位置を基準にして、自己位置を推定(算出)する。
The
図28Bは、移動ロボット1000の検出範囲の第2例を説明するための図である。具体的には、図28Bは、移動ロボット1000がLIDARを用いて周囲の物体を検出する際の検出範囲の第2例を説明するための概略上面図である。
FIG. 28B is a diagram for explaining a second example of the detection range of the
第1例と同様に、移動ロボット1000は、LIDARから出力される光線の反射光から、1以上の検出位置を検出し、検出した1以上の検出位置の中で、曲面部等の特徴となる位置(特徴点)を検出する。これにより、移動ロボット1000は、検出した曲面部の位置を基準にして、自己位置を推定する。
Similar to the first example, the
このように、移動ロボット1000は、LIDARを用いて特徴点を検出できた場合、当該特徴点を基準として自己位置を推定する。
In this way, when the
しかしながら、移動ロボット1000は、LIDARから得られる情報では自己位置を推定できない場合がある。
However, the
図28Cは、移動ロボット1000の検出範囲の第3例を説明するための図である。具体的には、図28Cは、移動ロボット1000がLIDARを用いて周囲の物体を検出する際の検出範囲の第3例を説明するための概略上面図である。
FIG. 28C is a diagram for explaining a third example of the detection range of the
第3例では、移動ロボット1000は、LIDARで物体を検出できる範囲外に壁が位置する。そのため、移動ロボット1000は、壁の位置を検出できない。つまり、第3例では、移動ロボット1000は、LIDARを用いて自己位置を推定できない。
In the third example, the
図28Dは、移動ロボット1000の検出範囲の第4例を説明するための図である。具体的には、図28Dは、移動ロボット1000がLIDARを用いて周囲の物体を検出する際の検出範囲の第4例を説明するための概略上面図である。
FIG. 28D is a diagram for explaining a fourth example of the detection range of the
第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
このように、例えば、移動ロボット1000の周囲の環境が直線の通路のような、位置を特定するための角を有する壁又は対象物等が存在しない場合、移動ロボット1000が位置する場所では、LIDAR等のセンサから得られる情報が変化しないため、自己位置を正確に推定できない。
In this way, for example, if the environment around the
また、例えば、移動ロボット1000が天井を撮影するカメラを備える場合、移動ロボット1000は、当該カメラに撮影された天井に位置する物体の位置に基づいて、自己位置を推定できる。しかしながら、このような場合、移動ロボット1000は、家具等の下に入りこむと、暗すぎる等により自己位置を正確に推定できない。
Further, for example, if the
そこで、移動ロボット1000は、LIDAR、カメラ等から得られる情報だけでなく、移動ロボット1000を移動させるためのホイール等から得られるオドメトリ情報に基づいて、自己位置を推定する。
Therefore, the
ここで、オドメトリ情報とは、移動ロボット1000の各ホイールがどの向きにどれだけ回転したかに関する情報である。なお、脚式ロボットの場合、オドメトリ情報とは、各脚がどのように動いたかを示す情報である。
Here, the odometry information is information regarding how much and in what direction each wheel of the
これにより、移動ロボット1000は、移動ロボット1000の周囲に位置する物体の情報を用いずに、移動ロボット1000が実行した移動動作に関する情報であるオドメトリ情報に基づいて、自己位置を推定できる。
As a result, the
しかしながら、オドメトリ情報に基づいて推定される自己位置は、移動ロボット1000の実際の位置に対して誤差が大きい。
However, the self-position estimated based on the odometry information has a large error with respect to the actual position of the
図28Eは、移動ロボット1000の走行状態を説明するための図である。具体的には、図28Eは、移動ロボット1000が推定した自己位置と実際の位置とのずれを説明するための概略上面図である。なお、図28Eに示す例では、移動ロボット1000は、図28Eの(a)に示す自己位置が正確に推定できているとする。
FIG. 28E is a diagram for explaining the running state of
移動ロボット1000は、走行し続けてしばらくすると、ホイールの回転に関するオドメトリ情報に基づいて、自己位置を推定できるようになる。
After the
ここで、例えば、移動ロボット1000が走行中に、スリップ等によるずれ、横滑り等のドリフトにずれ等のヘディングドリフト(移動ロボット1000の意図しない進行方向の変化)が発生したとする。この場合、このようなずれは、ホイールの回転等の情報を示すオドメトリ情報からは検出されない。そのため、例えば、移動ロボット1000は、このようなずれが生じた場合、図28Eの(b)に示す位置に実際には位置しており、且つ、図28Eの(b)に示す向きに進行しているとしても、オドメトリ情報から自己位置を推定すると、図28Eの(c)に示す位置に位置しており、且つ、図28Eの(c)に示す向きに進行していると推定してしまう。つまり、オドメトリ情報のみから推定された自己位置は、実際の位置からずれる場合がある。
Here, for example, assume that while the
そのため、移動ロボット1000がオドメトリ情報を用いて自己位置を推定し続けると、実際の位置と推定した位置とのずれが大きくなり続ける。
Therefore, if the
このようなずれは、新たにLIDARから情報が得られた場合に、移動ロボット1000が当該情報に基づいて自己位置を推定することで小さくなる。しかしながら、長時間新たにLIDARから情報が得られない場合、移動ロボット1000の自己位置の推定精度は、低下し続ける。
Such a deviation can be reduced by the
本願発明者らは、鋭意検討した結果、移動ロボットが撮影した当該移動ロボットの下方の画像と移動ロボットの姿勢とに基づいて速度を算出し、算出した速度に基づいて自己位置を推定することで、自己位置の推定精度を向上できることを見出した。 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
移動ロボット100は、例えば、SLAM(Simultaneous Localization and Mapping)技術を利用して自律移動しながら、掃除、掃海、又は、データ収集のようなタスクを実行する装置である。
The
移動ロボット100は、筐体10と、第1カメラ210と、ホイール20と、サスペンションアーム30と、ばね40と、を備える。
The
筐体10は、移動ロボット100の外郭筐体である。移動ロボット100が備える各構成要素は、筐体10に取り付けられている。
The
第1カメラ210は、筐体10に取り付けられ、筐体10の下方を撮影するカメラである。より具体的には、第1カメラ210は、光軸(第1カメラ210が撮影する向き)が下方(より具体的には、移動ロボット100が走行する床面)に向けられるように、筐体10の下方に取り付けられている。
The
なお、第1カメラ210は、移動ロボット100の下方を撮影できればよく、筐体10の側面、底面、内部等、任意の位置に取り付けられてよい。
Note that the
また、第1カメラ210の撮影方向は、移動ロボット100の鉛直下方だけでなく、鉛直方向に対して傾いた斜め下方でもよい。
Furthermore, the shooting direction of the
ホイール20は、移動ロボット100を移動(走行)させるためのホイールである。筐体10には、キャスターホイール21と2つの牽引ホイール22とが取り付けられている。
The
2つの牽引ホイール22は、それぞれ、ホイールハブ32及びサスペンションアーム30を介して筐体10に取り付けられており、サスペンションピボット31を回動軸として筐体10に対して移動可能となっている。サスペンションアーム30は、ばね40によって筐体10に取り付けられている。
The two
図3は、実施の形態1に係る移動ロボット100の構成を示すブロック図である。図4は、実施の形態1に係る移動ロボット100が備えるセンサ部200の各構成要素の配置レイアウトを模式的に示す図である。なお、図4では、センサ部200の一部の配置レイアウトを筐体10の底面側から見た場合を示しており、センサ部200の他の一部の構成要素及びホイール20等の図示を省略している。
FIG. 3 is a block diagram showing the configuration of
移動ロボット100は、センサ部200と、周囲センサ部160と、算出部110と、SLAM部120と、制御部130と、駆動部140と、記憶部150と、を備える。
The
センサ部200は、移動ロボット100の速度を算出するための情報を検出するセンサ群である。本実施の形態では、センサ部200は、第1カメラ210と、光源220と、検出部230と、角速度センサ250と、オドメトリセンサ260と、を備える。
The
第1カメラ210は、筐体10に取り付けられ、筐体10の下方を撮影することで画像(第1下方画像)を生成するカメラである。第1カメラ210は、生成した第1下方画像を算出部110に定期的に繰り返し出力する。第1カメラ210は、後述する光源220に基づく光の分布を検出できればよく、検出する光の波長、ピクセル数等は特に限定されない。
The
光源220は、筐体10に取り付けられ、筐体10の下方に向けて光を出射する光源である。例えば、第1カメラ210は、光源220が出射した光の、移動ロボット100が走行する床面での反射光を検出することで第1下方画像を生成する。光源220は、例えば、LED(Light Emitting Diode)、LD(Laser Diode)等の光源である。光源220が出力する光の波長は、第1カメラ210が検出できる波長であればよく、特に限定されない。
The
検出部230は、筐体10に取り付けられ、筐体10の姿勢を検出するための装置である。具体的には、検出部230は、予め定められた基準方向に対しての筐体10の傾き(後述するα及びγ)と、筐体10と床面との距離(供述するh)とを検出するための装置である。
The
本実施の形態では、検出部230は、3つの測距センサ240を有する。
In this embodiment, the
3つの測距センサ240は、それぞれ、移動ロボット100が走行する床面と筐体10との距離を計測するセンサである。測距センサ240は、例えば、アクティブ型の赤外線センサである。
The three
図4に示すように、例えば、筐体10を底面視した場合、第1カメラ210は、筐体10の中央部に取り付けられ、光源220は、第1カメラ210の近傍に取り付けられている。また、3つの測距センサ240は、例えば、筐体10を底面視した場合、筐体10の周縁部に、互いに距離が離れて取り付けられている。
As shown in FIG. 4, for example, when the
3つの測距センサ240は、それぞれ、測定した距離(高さ)の情報(高さ情報)を算出部110に定期的に繰り返し出力する。
The three ranging
なお、検出部230は、3つ以上の測距センサ240を有していればよく、4つ有してもよいし、5つ以上有してもよい。
Note that the
再び図3を参照し、角速度センサ250は、筐体10に取り付けられ、移動ロボット100の角速度(回転速度)を計測するセンサである。角速度センサ250は、例えば、ジャイロセンサを含むIMU(Inertial Measurement Unit/慣性計測装置)である。角速度センサ250は、計測した角速度(角速度情報)を算出部110に定期的に繰り返し出力する。
Referring again to FIG. 3, the
オドメトリセンサ260は、ホイール20の回転数(オドメトリ情報)を計測するためのセンサである。オドメトリセンサ260は、計測したオドメトリ情報を定期的に繰り返し算出部110に出力する。
The
第1カメラ210、検出部230、及び、オドメトリセンサ260は、例えば、算出部110等の処理部によって同期して動作され、同時刻における情報をそれぞれ定期的に繰り返し算出部110に出力する。
The
周囲センサ部160は、移動ロボット100が走行する所定の空間の情報を検出するセンサ群である。具体的には、周囲センサ部160は、所定の空間における障害物、壁等の位置、特徴点等を検出することで、移動ロボット100が自己位置を推定して走行するための情報を検出するためのセンサ群である。
The surrounding
周囲センサ部160は、周囲カメラ161と、周囲測距センサ162と、を備える。
The surrounding
周囲カメラ161は、移動ロボット100の側方及び上方等の周囲を撮影するカメラである。つまり、周囲カメラ161は、移動ロボット100が走行する所定の空間に位置する障害物、壁等の物体を撮影することで、所定の空間の画像を生成する。周囲カメラ161は、生成した画像(画像情報)をSLAM部120に出力する。
The surrounding
周囲測距センサ162は、移動ロボット100の側方等の周囲に位置する障害物、壁等の物体との距離を計測するLIDARである。周囲測距センサ162は、計測した距離(距離情報)をSLAM部120に出力する。
The surrounding
算出部110は、筐体10の姿勢及び第1下方画像に基づいて移動ロボット100の速度(並進速度)を算出する処理部である。例えば、算出部110は、3つ以上の測距センサ240のそれぞれから得られる距離に基づいて、筐体10の姿勢を算出する。例えば、算出部110は、第1カメラ210から繰り返し第1下方画像を取得し、取得した画像の変化を比較することで、画像の移動速度、つまり、移動ロボット100の速度(並進速度)を算出する。
The
また、算出部110は、算出した並進速度と、角速度センサ250から取得した角速度とから、移動ロボット100が走行した向きも考慮された速度(合成速度)を算出する。算出部110は、算出した合成速度をSLAM部120に出力する。なお、算出部110は、算出した並進速度と、角速度センサ250から取得した角速度とのそれぞれの情報を、合成せずにSLAM部120に出力してもよい。
Further, the
SLAM部120は、上記したSLAM技術を用いて移動ロボット100が走行する所定の空間の地図(地図情報)を生成したり、所定の空間における移動ロボット100の自己位置(より具体的には、所定の空間の地図における座標)を算出(推定)する処理部である。SLAM部120は、推定部121と、地図生成部122と、を有する。
The
推定部121は、所定の空間における移動ロボット100の自己位置を推定する。具体的には、算出部110が算出した速度(並進速度)に基づいて、所定の空間における移動ロボット100の自己位置を推定する。本実施の形態では、推定部121は、角速度センサ250が計測した角速度及び算出部が算出した並進速度に基づいて、移動ロボット100の自己位置を推定する。
The
例えば、推定部121は、周囲センサ部160から取得した情報に基づいて、移動ロボット100の自己位置を推定する。或いは、推定部121は、周囲センサ部160から取得した情報に基づいて、移動ロボット100の自己位置を推定できない場合、算出部110から取得した移動ロボット100の並進速度及び角速度(つまり、合成速度)に基づいて、移動ロボット100の自己位置を推定する。例えば、推定部121は、初期位置、又は、周囲センサ部160から取得した情報に基づいて、移動ロボット100の自己位置を推定した後であれば、その後に移動ロボット100が走行したとしても、当該自己位置と合成速度とから、移動ロボット100の現在の自己位置を推定できる。
For example, the
地図生成部122は、上記したSLAM技術を用いて移動ロボット100が走行する所定の空間の地図を生成する。例えば、地図生成部122は、所定の空間の地図が記憶部150に記憶されていない場合、センサ部200及び周囲センサ部160から情報を取得しながら、制御部130に駆動部140を制御させて移動ロボット100を走行させることで、所定の空間の地図を生成し、記憶部150に記憶される。
The
なお、所定の空間の地図は、記憶部150に記憶されていてもよい。この場合、SLAM部120は、地図生成部122を有さなくてもよい。
Note that the map of the predetermined space may be stored in the
制御部130は、駆動部140を制御することで、移動ロボット100を走行させる処理部である。具体的には、制御部130は、推定部121が推定した自己位置に基づいて、移動ロボット100を走行させる。例えば、制御部130は、地図生成部122が生成した地図に基づいて、走行経路を算出する。制御部130は、推定部121が推定した自己位置に基づいて、算出した走行経路に沿って移動ロボット100を走行させるように、駆動部140を制御する。
The
なお、走行経路(走行経路情報)は、記憶部150に予め記憶されていてもよい。
Note that the driving route (driving route information) may be stored in the
算出部110、SLAM部120、及び、制御部130等の処理部は、例えば、上記した処理を実行するための制御プログラムと、当該制御プログラムを実行するCPU(Central Processing Unit)とから実現される。各種処理部は、1つのCPUで実現されてもよいし、複数のCPUで実現されてもよい。なお、それぞれの当該処理部の構成要素は、ソフトウェアではなく、それぞれ1つ又は複数の専用の電子回路等による専用のハードウェアで構成されてもよい。
The processing units such as the
駆動部140は、移動ロボット100を走行させるための装置である。駆動部140は、例えば、ホイール20、キャスターホイール21を回転させるための駆動モータ等を有する。制御部130は、例えば、当該駆動モータを制御することで、キャスターホイール21を回転させて移動ロボット100を走行させる。
The
記憶部150は、所定の空間の地図、算出部110、SLAM部120、及び、制御部130等の各種処理部が実行する制御プログラムを記憶する記憶装置である。記憶部150は、例えば、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
The
[速度算出処理]
続いて、移動ロボット100の合成速度の具体的な算出方法について説明する。具体的には、移動ロボット100の姿勢を示すα及びγ(ともに筐体10の向きを示す角度)と、h(筐体10と床面との距離(高さ))とに基づいて、移動ロボット100の速度(並進速度)の成分であるvx及びvyと、角速度の成分であるωと、を算出する手順について説明する。
[Speed calculation process]
Next, a specific method for calculating the composite speed of the
移動ロボット100は、キャスターホイール21が筐体10に対して可動であることで、例えば、走行する床面に対して筐体10の姿勢が適宜変化されることで、小さな物体であれば簡単に乗り越えて走行したり、凸凹のある床面であっても適切に走行できる。
The
ここで、筐体10は、キャスターホイール21が筐体10に対して可動となっているため、必ずしも床面に対して平行に位置しない。例えば、筐体10の底面は、移動ロボット100が走行中に床面に対して傾き方が随時変化する。つまり、筐体10の底面と床面との姿勢(より具体的には、距離)は、移動ロボット100が走行中に随時変化する。
Here, the
そのため、例えば、光軸方向(撮影方向)が床面の法線に平行になるような初期位置で筐体10に配置された第1カメラ210は、走行中に筐体10の前後方向(例えば、筐体10の底面)が床面に対して傾くため、移動ロボット100が走行中に当該法線に対して傾く。
Therefore, for example, the
例えば、第1カメラ210の光軸方向は、側面視した場合、図1に示すように、床面の法線に対して角度αxで傾く。
For example, when viewed from the side, the optical axis direction of the
また、例えば、図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に示すように、床面の法線に対して角度αyで傾く。
For example, when viewed from the front, the optical axis direction of the
ここで、移動ロボット100が平らな床面を走行しているとする。また、床面に対する移動ロボット100の参照系(reference frame)は、床面からの距離(高さ)hにあり、rot[cos(γ)、sin(γ)、0]Tの軸の方向に平行な軸(回転軸)と、当該軸周りの角度α[rad]での回転とに対応する四元数(クォータニオン)は、下記の式(1)で表される。
Here, it is assumed that the
ここで、γは、筐体10が床面に対して(より具体的には、筐体10が筐体10の基準となる姿勢に対して)どのように傾いているかを示す角度[rad]である。例えば、γ=0の場合、筐体10が左又は右に傾いていること(正面視した場合の傾き)を示し、γ=π/2の場合、筐体10が前又は後ろに傾いていること(側面視した場合の傾き)を示す。
Here, γ is an angle [rad] indicating how the
また、上記の式(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
ここで、α≧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の参照系において位置[ricos(Ψi)、risin(Ψi)、bi]Tで筐体10に取り付けられているとする。この場合、i番目の第1カメラ210の四元数は、下記の式(2)で表される。
In addition, the i
つまり、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
なお、Ψi、ri、及び、biは、それぞれ移動ロボット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
また、
なお、β、及び、θは、それぞれ移動ロボット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
このようにして、i番目の第1カメラ210は、下記の式(5)に示すように、世界座標系(予め任意に定められる座標系)に対する位置が定められる。
In this way, the position of the i-th
また、i番目の第1カメラ210の回転(予め定められた任意の方向からの回転)を表す四元数は、下記の式(6)で表される。
Further, a quaternion representing the rotation (rotation from any predetermined direction) of the i-th
また、この場合、i番目の第1カメラ210は、下記の式(7)に示す床面の位置であるpiを撮影する。
Further, in this case, the i-th
ここで、pi,x及びpi,yは、下記の式(8)及び式(9)を満たす。 Here, p i,x and p i,y satisfy the following equations (8) and (9).
また、κは、下記の式(10)を満たす。 Further, κ satisfies the following formula (10).
移動ロボット100が並進速度
また、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
なお、第1カメラ210がテレセントリックカメラである場合の行列Jiは、下記の式(13)で表される。
Note that the matrix J i when the
ここで、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がピンホールカメラである場合の行列Jiは、下記の式(14)で表される。
Alternatively, the matrix J i when the
なお、ピンホールカメラとは、レンズを用いず孔(ピンヒール)を利用したカメラである。 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
ここで、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).
なお、fは、第1カメラ210の焦点距離を示す。
Note that f indicates the focal length of the
また、各mは、下記の式(19)~式(28)で表される。 Further, each m is expressed by the following formulas (19) to (28).
上記した通り、第1カメラ210の撮影結果から算出される移動ロボット100の速度は、αとγとによって表される筐体10の向き、及び、hによって表される筐体10の高さに依存する。
As described above, the speed of the
また、第1カメラ210の撮影結果から算出される移動ロボット100の並進速度は、移動ロボット100の設計パラメータであるri、Ψi、bi、βi、及び、θiに依存する。なお、これらの設計パラメータは、移動ロボット100のサイズ、レイアウト等によって定められる値であり、予め定められる既知の値である。
Further, the translational speed of the
つまり、算出部110は、αとγとhとが取得できれば、第1カメラ210から得られる情報(第1下方画像)を用いて移動ロボット100の並進速度(所定の基準軸に沿った方向の速度)を精度よく算出できる。さらに、算出部110は、αとγとhとを取得し、且つ、角速度(所定の基準軸からの回転速度)を算出することで、並進速度と角速度とから、所定の時刻における移動ロボット100の合成速度を精度よく算出できる。
In other words, if α, γ, and h can be obtained, the
なお、本実施の形態では、3つの測距センサ240を用いて、筐体10と床面との距離を計測する。
Note that in this embodiment, three
ここで、Nd(≧3)個の測距センサ240が、それぞれ、移動ロボット100の参照系における位置(xi,yi,zi)で筐体10に取り付けられているとする。
Here, it is assumed that Nd (≧3)
なお、距離センサの数は、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と床面との間の距離(hi)を計測する。
For example, the i-th
なお、以下では説明を簡単にするために、i番目の測距センサ240は、Z軸方向に沿ってhiを測定するとする。
Note that, in order to simplify the explanation below, it is assumed that the i-th
測距センサ240は、設計上又は製造上の許容誤差により、鉛直方向に対して傾いている場合がある。この場合、算出部110は、予め許容誤差がわかっているとき、当該許容誤差に基づいて測距センサ240から取得されるhiを補正してもよい。
The
算出部110は、i個の測距センサ240のそれぞれから得られるhiに基づいて、1≦i≦Ndの条件から、h、α、及び、γを計算できる。
The
例えば、下記の式(29)及び式(30)のようにH及びXを定義する。 For example, H and X are defined as in the following formulas (29) and (30).
これにより、下記の式(31)が導出される。 As a result, the following equation (31) is derived.
上記した式(31)から、検出部230が測距センサ240を3つ以上有することにより、XXTが非可逆行列とならずに算出できることがわかる。
From the above equation (31), it can be seen that when the
また、以上の式(29)~式(31)から、下記の式(32)~式(34)が導出される。 Furthermore, the following equations (32) to (34) are derived from the above equations (29) to (31).
また、上記した式(12)の逆数から、下記の式(35)が導出される。 Further, the following equation (35) is derived from the reciprocal of the above equation (12).
なお、
また、
最後に、上記した式(11)の逆数から、下記の式(36)及び式(37)が導出される。 Finally, the following equation (36) and equation (37) are derived from the reciprocal of the above equation (11).
これにより、移動ロボット100の合成速度が算出される。
As a result, the combined speed of the
なお、上記した式(36)及び式(37)のvx及びvyに付しているハットは、推定値であることを示すための符号である。以下で用いるハットについても同様である。 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
<概要>
図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
第1カメラ210は、移動ロボット100が走行中に、筐体10の下方を撮影することで、第1下方画像を生成する(ステップS110)。第1カメラ210は、生成した第1下方画像を算出部110に出力する。
The
次に、算出部110は、筐体10の姿勢を算出する(ステップS120)。本実施の形態では、算出部110は、3つの測距センサ240のそれぞれから距離を取得する。算出部110は、取得した距離から、筐体10の姿勢を示す筐体10の向き(α及びγ)と、高さ(h)と、を算出する。
Next, the
次に、算出部110は、筐体10の姿勢及び第1下方画像に基づいて、移動ロボット100の並進速度を算出する(ステップS130)。具体的には、算出部110は、筐体10の姿勢と、第1自己位置で生成された第1下方画像と、移動ロボット100が走行中に生成された第1下方画像と、に基づいて、移動ロボット100の並進速度を算出する。
Next, the
次に、算出部110は、角速度を取得する(ステップS140)。本実施の形態では、算出部110は、移動ロボット100が走行中に角速度センサ250から角速度を取得する。
Next, the
次に、推定部121は、並進速度及び角速度に基づいて、所定の空間における移動ロボット100の自己位置を推定する(ステップS150)。具体的には、推定部121は、並進速度及び角速度と、第1自己位置とに基づいて、所定の空間における移動ロボット100の、第1自己位置から移動した後の自己位置(第2自己位置)を推定する。例えば、推定部121は、第1自己位置の座標及び当該第1自己位置に移動ロボット100が位置している時刻と、算出部110が算出した並進速度及び角速度、並びに、移動後の時刻(より具体的には、第2自己位置に移動ロボット100が位置している時刻)とに基づいて、第2自己位置の座標を算出する。或いは、推定部121は、第1自己位置の座標と、算出部110が算出した並進速度及び角速度と、第1自己位置から第2自己位置までの移動時間とに基づいて、当該第2自己位置の座標を算出する。
Next, the
なお、移動ロボット100は、時間を取得するためにRTC(Real Time Clock)等の計時部を備えてもよい。
Note that the
次に、制御部130は、駆動部140を制御することで、推定部121が推定した自己位置に基づいて、移動ロボット100を走行させる(ステップS160)。具体的には、制御部130は、駆動部140を制御することで、例えば記憶部150に記憶されている走行経路に沿って、当該第2自己位置からさらに移動ロボット100を走行させる。
Next, the
<具体例>
図6は、実施の形態1に係る移動ロボット100の処理手順を示すフローチャートである。
<Specific example>
FIG. 6 is a flowchart showing the processing procedure of the
まず、第1カメラ210は、移動ロボット100が走行中に、筐体10の下方を撮影することで、第1下方画像を生成する(ステップS110)。
First, the
次に、算出部110は、3つの測距センサ240のそれぞれから得られる距離に基づいて、筐体10の姿勢を算出する(ステップS121)。具体的には、算出部110は、取得した距離から、筐体10の姿勢を示す筐体10の向き(α及びγ)と、高さ(h)と、を算出する。
Next, the
次に、算出部110は、筐体10の姿勢及び第1下方画像に基づいて、移動ロボット100の並進速度を算出する(ステップS130)。
Next, the
次に、算出部110は、移動ロボット100が走行中に角速度センサ250から角速度を取得する(ステップS141)。
Next, the
次に、推定部121は、並進速度及び角速度に基づいて、所定の空間における移動ロボット100の自己位置を推定する(ステップS150)。
Next, the
次に、制御部130は、駆動部140を制御することで、推定部121が推定した自己位置に基づいて、移動ロボット100を走行させる(ステップS160)。
Next, the
[効果等]
以上説明したように、実施の形態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
上記したように、算出部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
また、例えば、検出部230は、移動ロボット100が走行する床面と筐体10との距離をそれぞれが計測する3つ以上の測距センサ240を備える。この場合、例えば、算出部110は、3つ以上の測距センサ240のそれぞれから得られる距離に基づいて、筐体10の姿勢を算出する。
Further, for example, the
これによれば、算出部110は、3つ以上の測距センサ240のそれぞれから得られる距離に基づいて、簡便な算出処理で筐体10の姿勢を算出できる。
According to this, the
また、例えば、移動ロボット100は、さらに、筐体10に取り付けられ、移動ロボット100の角速度を計測する角速度センサ250を備える。この場合、推定部121は、移動ロボット100の角速度及び速度(つまり、上記した合成速度)に基づいて、自己位置を推定する。
Furthermore, for example, the
これによれば、算出部110は、簡便な構成で移動ロボット100の角速度を取得でき、推定部121は、自己位置をさらに精度よく推定できる。また、推定部121は、当該自己位置における移動ロボット100(より具体的には、筐体10)の向きを精度よく推定できる。これによれば、移動ロボット100は、当該自己位置からさらに走行する際に、さらに適切な向きに走行を開始できる。
According to this, the
(実施の形態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
[構成]
図7は、実施の形態2に係る移動ロボット101の構成を示すブロック図である。図8は、実施の形態2に係る移動ロボット101が備えるセンサ部201の各構成要素の配置レイアウトを模式的に示す図である。なお、図8では、センサ部201の一部の配置レイアウトを筐体10の底面側から見た場合を示しており、センサ部201の他の一部の構成要素及びホイール20等の図示を省略している。
[composition]
FIG. 7 is a block diagram showing the configuration of
移動ロボット101は、3つの測距センサ240と1つの画像とに基づいて並進速度を算出し、2つの画像に基づいて角速度を算出する。
The
移動ロボット101は、センサ部201と、周囲センサ部160と、算出部111と、SLAM部120と、制御部130と、駆動部140と、記憶部150と、を備える。
The
センサ部201は、移動ロボット101の速度を算出するための情報を検出するセンサ群である。本実施の形態では、センサ部201は、第1カメラ210と、光源220と、検出部230と、第2カメラ251と、オドメトリセンサ260と、を備える。
The
第2カメラ251は、筐体10に取り付けられ、筐体10の下方を撮影することで画像(第2下方画像)を生成するカメラである。第2カメラ251は、生成した第2下方画像を算出部111に定期的に繰り返し出力する。第2カメラ251は、後述する光源220に基づく光の分布を検出できればよく、検出する光の波長、ピクセル数等は特に限定されない。
The
なお、本実施の形態では、移動ロボット101は、2台のカメラ(第1カメラ210及び第2カメラ251)を備えるが、3台以上のカメラを備えてもよい。
Note that in this embodiment, the
なお、図8には、第1カメラ210及び第2カメラ251のそれぞれに対応する光源220を1つずつ図示しているが、センサ部201が備える光源220の数は、1つでもよい。
Although FIG. 8 shows one
図8に示すように、例えば、筐体10を底面視した場合、第1カメラ210及び第2カメラ251は、筐体10の中央部に並んで取り付けられている。
As shown in FIG. 8, for example, when the
第1カメラ210、検出部230、第2カメラ251、及び、オドメトリセンサ260は、例えば、算出部111等の処理部によって同期して動作され、同時刻における情報をそれぞれ定期的に繰り返し算出部111に出力する。
The
算出部111は、筐体10の姿勢及び第1下方画像に基づいて移動ロボット101の速度(並進速度)を算出する処理部である。本実施の形態では、算出部111は、第1下方画像と第2下方画像とに基づいて、移動ロボット101の角速度を算出する。具体的な角速度の算出方法については、後述する。
The
また、算出部111は、算出した並進速度と、算出した角速度とから、移動ロボット101が走行した向きも考慮された速度(合成速度)を算出する。算出部111は、算出した合成速度をSLAM部120に出力する。なお、算出部111は、算出した並進速度と、算出した角速度とのそれぞれの情報を、合成せずにSLAM部120に出力してもよい。
Further, the
[速度算出処理]
続いて、移動ロボット101の合成速度の具体的な算出方法について説明する。なお、以下の説明では、移動ロボット101が筐体10の下方を撮影するNc(≧2)台のカメラ(第1カメラ210及び第2カメラ251の両方を含むカメラの台数)を備えるとして説明する。
[Speed calculation process]
Next, a specific method for calculating the composite speed of the
まず、上記した式(35)から、
次に、下記の式(38)に示すように、行列Aを定義する。 Next, matrix A is defined as shown in equation (38) below.
これによれば、移動ロボット101の並進速度及び角速度は、下記の式(39)から算出できる。
According to this, the translational velocity and angular velocity of the
このように、上記した式(39)によって、算出部111は、2台以上のカメラから得られる情報(画像)に基づいて、並進速度及び角速度を算出できる。より具体的には、算出部111は、2台以上のカメラから得られる画像の走行前後の相対的な位置関係の変化に基づいて、移動ロボット101の角速度を算出できる。
In this way, the
[処理手順]
図9は、実施の形態2に係る移動ロボット101の処理手順を示すフローチャートである。
[Processing procedure]
FIG. 9 is a flowchart showing the processing procedure of the
まず、第1カメラ210は、移動ロボット101が走行中に、筐体10の下方を撮影することで、第1下方画像を生成する(ステップS110)。
First, the
次に、算出部111は、3つの測距センサ240のそれぞれから得られる距離に基づいて、筐体10の姿勢を算出する(ステップS121)。具体的には、算出部111は、取得した距離から、筐体10の姿勢を示す筐体10の向き(α及びγ)と、高さ(h)と、を算出する。
Next, the
次に、算出部111は、筐体10の姿勢及び第1下方画像に基づいて、移動ロボット101の並進速度を算出する(ステップS130)。
Next, the
次に、第2カメラ251は、移動ロボット101が走行中に、筐体10の下方を撮影することで、第2下方画像を生成する(ステップS142)。第2カメラ251は、生成した第2下方画像を算出部111に出力する。
Next, the
なお、第2カメラ251は、移動ロボット101が走行を開始する前の地点(上記した第1自己位置)において、筐体10の下方を撮影することで、第2下方画像を生成している。この場合にも、第2カメラ251は、生成した第2下方画像を算出部111に出力する。
Note that the
なお、第1カメラ210が撮影するタイミング、及び、第2カメラ251が撮影するタイミングは、同じタイミングである。つまり、ステップS110、及び、ステップS142は、同時刻に行われる。
Note that the timing at which the
次に、算出部111は、第1下方画像及び第2下方画像に基づいて、移動ロボット101の角速度を算出する(ステップS143)。
Next, the
次に、推定部121は、並進速度及び角速度に基づいて、所定の空間における移動ロボット101の自己位置を推定する(ステップS150)。
Next, the
次に、制御部130は、駆動部140を制御することで、推定部121が推定した自己位置に基づいて、移動ロボット101を走行させる(ステップS160)。
Next, the
[効果等]
以上説明したように、実施の形態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
これによれば、算出部111は、例えば、IMU等の角速度を検出するための装置を用いるよりも、2台のカメラから得られる画像に基づいて移動ロボット101の角速度を精度よく算出できる。
According to this, the
(実施の形態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
[構成]
図10は、実施の形態3に係る移動ロボット102の構成を示すブロック図である。図11は、実施の形態3に係る移動ロボット102が備えるセンサ部202の各構成要素の配置レイアウトを模式的に示す図である。なお、図11では、センサ部202の一部の配置レイアウトを筐体10の底面側から見た場合を示しており、センサ部202の他の一部の構成要素及びホイール20等の図示を省略している。
[composition]
FIG. 10 is a block diagram showing the configuration of
移動ロボット102は、構造化光を検出することで生成される画像に基づいて並進速度を算出し、角速度センサ250を用いて角速度を計測する。
The
移動ロボット102は、センサ部202と、周囲センサ部160と、算出部112と、SLAM部120と、制御部130と、駆動部140と、記憶部150と、を備える。
The
センサ部202は、移動ロボット102の速度を算出するための情報を検出するセンサ群である。本実施の形態では、センサ部202は、第1カメラ210と、検出部231と、角速度センサ250と、オドメトリセンサ260と、を備える。
The
また、検出部231は、移動ロボット102の下方に向けて構造化光を出射する光源(構造化光源)241を有する。第1カメラ210は、光源241が出射した構造化光の、移動ロボット102が走行する床面での反射光を検出することで第1下方画像を生成する。
Furthermore, the
なお、本実施の形態では、第1カメラ210は、テレセントリックカメラである。
Note that in this embodiment, the
構造化光とは、予め定められた特定の向きに出射された光であって、当該光の投影面において特定の光分布を有する光である。 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
図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
また、図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
図12Aに示すように、レーザ光源241a、241b、241cのそれぞれから出射されるレーザ光からなる構造化光は、第1カメラ210の光軸に対して傾いた光軸を有する少なくとも3つのレーザ光で構成される。
As shown in FIG. 12A, the structured light consisting of laser light emitted from each of the
なお、これらの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
例えば、筐体10が床面に対して傾いた場合、図13Aに示すように、レーザ光源241a、241b、241cのそれぞれから出射されたレーザ光の床面における照射位置320a、321a、322aは、図12Aに示す照射位置320、321、322から移動する。
For example, when the
例えば、第1カメラ210の光軸と床面との交点である撮影中心位置310aと、照射位置320a、321a、322aとを、互いの位置関係を変えずに、撮影中心位置310aを図12Bに示す撮影中心位置310と重なるように移動させるとする。この場合、例えば、照射位置320aは、照射位置320に対して左に移動している。また、照射位置321aは、照射位置321に対して右下に移動している。また、照射位置322aは、照射位置322に対して左下移動している。
For example, without changing the positional relationship between the
このように、構造化光を検出することで生成された画像における光の照射位置は、筐体10の姿勢に依存する。言い換えると、構造化光を検出することで生成された画像における光の照射位置に基づいて、筐体10の姿勢を算出することができる。
In this way, the irradiation position of light in an image generated by detecting structured light depends on the attitude of the
第1カメラ210、検出部231、角速度センサ250、及び、オドメトリセンサ260は、例えば、算出部112等の処理部によって同期して動作され、同時刻における情報をそれぞれ定期的に繰り返し算出部112に出力する。
The
算出部112は、筐体10の姿勢及び第1下方画像に基づいて移動ロボット102の速度(並進速度)を算出する処理部である。本実施の形態では、算出部112は、光源241が出射した構造化光の、移動ロボット102が走行する床面での反射光を検出することで生成された第1下方画像に基づいて、筐体10の姿勢及び速度を並進算出する。また、算出部112は、実施の形態1に係る算出部110と同様に、角速度センサ250から移動ロボット102の角速度を取得する。算出部112は、算出した並進速度と、角速度センサ250から取得した角速度とから、移動ロボット102の合成速度を算出する。
The
算出部112は、算出した合成速度をSLAM部120に出力する。なお、算出部112は、算出した並進速度と、角速度センサ250から取得した角速度とのそれぞれの情報を、合成せずにSLAM部120に出力してもよい。
The
[速度算出処理]
続いて、移動ロボット102の合成速度の具体的な算出方法について説明する。なお、以下の説明では、移動ロボット102がNl(≧3)個のレーザ光源を有するとして説明する。つまり、以下の説明では、光源241がNl個のレーザ光源からなるとして説明する。
[Speed calculation process]
Next, a specific method for calculating the composite speed of the
なお、第1カメラ210の光軸とi番目のレーザ光源から出射されるレーザ光の光軸とのなす角度をηとする。ただし、1≦i≦Nlであるとする。
Note that the angle between the optical axis of the
この場合、移動ロボット102を上面視した場合における、i番目のレーザ光源と、当該i番目のレーザ光源から出射されるレーザ光の床面における照射位置の距離をliとすると、下記の式(40)からhiを算出できる。
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
なお、ηiは、設計パラメータ(第1カメラ210の光軸とi番目のレーザ光源の光軸とのなす角度)である。つまり、ηiは、予め定められる定数である。
Note that η i is a design parameter (the angle between the optical axis of the
移動ロボット102を上面視した場合における、i番目のレーザ光源の位置は、筐体10に配置された第1カメラ210等の位置関係等の設計情報に基づいて算出できる。
The position of the i-th laser light source when the
また、上記した式(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
なお、この場合、上記した式に用いられるxi、yi、及び、ziは、移動ロボット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
また、本実施の形態では、構造化光は、床面において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
また、上記した説明では、1つのカメラ(第1カメラ210)から得られる情報(画像)に基づいて、筐体10の向き及び高さと、移動ロボット102の並進速度とを算出した。例えば、移動ロボット102は、1つのカメラを備え、且つ、構造化光を出射する光源241のオンとオフとを切り替え可能な構成でもよい。
Furthermore, in the above description, the orientation and height of the
これによれば、構造化光を検出することで生成した画像に基づいて筐体10の高さと向きとを算出し、且つ、構造化光を検出することで生成した画像と、構造化光以外の光(例えば、構造化光以外の光を出射する光源220)を検出することで生成した画像と、に基づいて、移動ロボット102の速度を算出してもよい。
According to this, the height and orientation of the
また、第1カメラ210が構造化光を検出することで画像を生成する場合、移動ロボット102は、移動していてもよいし、停止していてもよい。
Furthermore, when the
また、移動ロボット102は、構造化光を検出するカメラ(つまり、光源241と、テレセントリックカメラである第1カメラ210との組)を2つ備えてもよい。例えば、一の組では、算出部112が移動ロボット102の並進速度を算出するための画像を生成し、他の組では、算出部112が移動ロボット102の姿勢を算出するための画像を生成してもよい。この場合、それぞれのカメラは、移動ロボット102の状態に関する情報を出力するスタンドアロンセンサとみなすことができる。
Furthermore, the
[処理手順]
図14は、実施の形態3に係る移動ロボット102の処理手順を示すフローチャートである。
[Processing procedure]
FIG. 14 is a flowchart showing the processing procedure of the
まず、第1カメラ210は、移動ロボット102が走行中に、光源241が出射した構造化光の、移動ロボット102が走行する床面での反射光を検出することで、第1下方画像を生成する(ステップS111)。
First, while the
次に、算出部112は、第1カメラ210が、光源241が出射した構造化光の、移動ロボット102が走行する床面での反射光を検出することで生成した第1下方画像に基づいて、筐体10の姿勢を算出する(ステップS122)。具体的には、算出部112は、取得した第1下方画像に基づいて、筐体10の姿勢を示す筐体10の向き(α及びγ)と、高さ(h)と、を算出する。
Next, the
次に、算出部112は、筐体10の姿勢及び第1下方画像に基づいて、移動ロボット102の並進速度を算出する(ステップS130)。
Next, the
次に、算出部112は、移動ロボット102が走行中に角速度センサ250から角速度を取得する(ステップS141)。
Next, the
次に、推定部121は、並進速度及び角速度に基づいて、所定の空間における移動ロボット102の自己位置を推定する(ステップS150)。
Next, the
次に、制御部130は、駆動部140を制御することで、推定部121が推定した自己位置に基づいて、移動ロボット102を走行させる(ステップS160)。
Next, the
[効果等]
以上説明したように、実施の形態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
これによれば、例えば、算出部112は、実施の形態1に係る移動ロボット100が備える検出部230が有する3つの測距センサ240を用いることなく筐体10の姿勢を算出できる。そのため、移動ロボット102の構造は、簡素化され得る。
According to this, for example, the
(実施の形態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
[構成]
図15は、実施の形態4に係る移動ロボット103の構成を示すブロック図である。図16は、実施の形態4に係る移動ロボット103が備えるセンサ部203の各構成要素の配置レイアウトを模式的に示す図である。なお、図16では、センサ部203の一部の配置レイアウトを筐体10の底面側から見た場合を示しており、センサ部203の他の一部の構成要素及びホイール20等の図示を省略している。
[composition]
FIG. 15 is a block diagram showing the configuration of
移動ロボット103は、構造化光を検出することで生成される画像に基づいて並進速度を算出し、互いに異なるカメラで生成された2つの画像に基づいて角速度を算出する。
The
移動ロボット103は、センサ部203と、周囲センサ部160と、算出部113と、SLAM部120と、制御部130と、駆動部140と、記憶部150と、を備える。
The
センサ部203は、移動ロボット103の速度を算出するための情報を検出するセンサ群である。本実施の形態では、センサ部203は、第1カメラ210と、検出部231と、第2カメラ251と、オドメトリセンサ260と、を備える。
The
また、検出部231は、移動ロボット103の下方に向けて構造化光を出射する光源(構造化光源)241を有する。第1カメラ210は、光源241が出射した構造化光の、移動ロボット103が走行する床面での反射光を検出することで第1下方画像を生成する。
Furthermore, the
なお、本実施の形態では、第1カメラ210は、テレセントリックカメラである。
Note that in this embodiment, the
図16に示すように、例えば、光源241は、筐体10を底面視した場合、第1カメラ210を囲むように配置された3つのレーザ光源からなる。また、例えば、筐体10を底面視した場合、第1カメラ210及び第2カメラ251は、筐体10の中央部に並んで取り付けられている。
As shown in FIG. 16, for example, the
第1カメラ210、検出部231、第2カメラ251、及び、オドメトリセンサ260は、例えば、算出部113等の処理部によって同期して動作され、同時刻における情報をそれぞれ定期的に繰り返し算出部113に出力する。
The
算出部113は、筐体10の姿勢及び第1下方画像に基づいて移動ロボット103の速度(並進速度)を算出する処理部である。本実施の形態では、算出部113は、実施の形態3に係る算出部112と同様に、光源241が出射した構造化光の、移動ロボット103が走行する床面での反射光を検出することで生成された第1下方画像に基づいて、筐体10の姿勢及び速度を並進算出する。
The
具体的には、算出部113は、上記した式(39)から、構造化光を検出することで生成される画像に基づいて、高さhiを算出する。ただし、1≦i≦Nlであり、Nl≧3であるとする。また、例えば、上記した式(29)~式(35)を用いて、算出部113は、2つのカメラ(第1カメラ210及び第2カメラ251)のそれぞれの速度を算出する。
Specifically, the
また、算出部113は、実施の形態2に係る算出部111と同様に、第1下方画像及び第2下方画像に基づいて、移動ロボット103の角速度を算出する。
Further, similar to the
算出部113は、算出した並進速度と、算出した角速度とから、移動ロボット103の合成速度を算出する。具体的には、上記した式(29)~式(35)を用いて算出される2つのカメラのそれぞれの速度から、上記した式(39)を用いて、移動ロボット103の角速度を算出する。
The
算出部113は、算出した合成速度をSLAM部120に出力する。なお、算出部113は、算出した並進速度と、算出した角速度とのそれぞれの情報を、合成せずにSLAM部120に出力してもよい。
The
なお、図16に示すように、第1カメラ210及び第2カメラ251のうち一方の近傍にのみ構造化光を出射する光源241が配置されているが、これに限定されない。第1カメラ210及び第2カメラ251のそれぞれの近傍に構造化光を出射する光源241がそれぞれ配置されていてもよい。
Note that, as shown in FIG. 16, the
これによれば、算出部113は、第1カメラ210及び第2カメラ251のそれぞれにおいて、筐体10の高さ(上記したh)、及び、筐体10の姿勢(上記したα及びγ)を算出できるので、移動ロボット103の並進速度及び角速度をさらに精度よく算出できる。
According to this, the
また、移動ロボット103は、2つのカメラ(第1カメラ210及び第2カメラ251)を備えるが、これに限定されない。移動ロボット103は、筐体10に取り付けられ、筐体10の下方を撮影することで画像を生成するカメラを3台以上を備えてもよい。
Furthermore, although the
これによれば、算出部113は、それぞれのカメラから得られる画像それぞれについて速度を算出し、算出した複数の速度の平均値を移動ロボット103の速度とすることで、さらに精度よく移動ロボット103の速度を算出できる。
According to this, the
[処理手順]
図17は、実施の形態4に係る移動ロボット103の処理手順を示すフローチャートである。
[Processing procedure]
FIG. 17 is a flowchart showing the processing procedure of the
まず、第1カメラ210は、移動ロボット103が走行中に、光源241が出射した構造化光の、移動ロボット103が走行する床面での反射光を検出することで、第1下方画像を生成する(ステップS111)。
First, while the
次に、算出部113は、第1カメラ210が、光源241が出射した構造化光の、移動ロボット103が走行する床面での反射光を検出することで生成した第1下方画像に基づいて、筐体10の姿勢を算出する(ステップS122)。具体的には、算出部113は、取得した第1下方画像に基づいて、筐体10の姿勢を示す筐体10の向き(α及びγ)と、高さ(h)と、を算出する。
Next, the
次に、算出部113は、筐体10の姿勢及び第1下方画像に基づいて、移動ロボット103の並進速度を算出する(ステップS130)。
Next, the
次に、第2カメラ251は、移動ロボット103が走行中に、筐体10の下方を撮影することで、第2下方画像を生成する(ステップS142)。
Next, the
次に、算出部113は、第1下方画像及び第2下方画像に基づいて、移動ロボット103の角速度を算出する(ステップS143)。
Next, the
次に、推定部121は、並進速度及び角速度に基づいて、所定の空間における移動ロボット103の自己位置を推定する(ステップS150)。
Next, the estimating
次に、制御部130は、駆動部140を制御することで、推定部121が推定した自己位置に基づいて、移動ロボット103を走行させる(ステップS160)。
Next, the
[効果等]
以上説明したように、実施の形態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
これによれば、例えば、算出部113が、実施の形態3に係る移動ロボット102と同様に、3つの測距センサ240を用いることなく筐体10の姿勢を算出できるため、移動ロボット103の構造は、簡素化され得る。また、算出部113は、実施の形態2に係る算出部111と同様に、IMU等の角速度を検出するための装置を用いるよりも、2台のカメラから得られる画像に基づいて移動ロボット103の角速度を精度よく算出できる。
According to this, for example, like the
このように、各実施の形態に係る移動ロボットの各構成要素が、任意に組み合わされてよい。 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
[構成]
図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
移動ロボット104は、加速度センサが計測した移動ロボット104の加速度に基づいて筐体10の姿勢を算出し、当該姿勢、及び、筐体10の下方を撮像することで生成された画像に基づいて並進速度を算出し、互いに異なるカメラで生成された2つの画像に基づいて角速度を算出する。
The
移動ロボット104は、センサ部204と、周囲センサ部160と、算出部114と、SLAM部120と、制御部130と、駆動部140と、記憶部150と、を備える。
The
センサ部204は、移動ロボット104の速度を算出するための情報を検出するセンサ群である。本実施の形態では、センサ部204は、第1カメラ210と、光源220と、検出部232と、第2カメラ251と、オドメトリセンサ260と、を備える。
The
第1カメラ210は、光源220が出射した光の、移動ロボット104が走行する床面での反射光を検出することで第1下方画像を生成する。第2カメラ251は、光源220が出射した光の、移動ロボット104が走行する床面での反射光を検出することで第2下方画像を生成する。
The
また、第1カメラ210と第2カメラ251とは、光軸が平行にならないように筐体10に取り付けられている。具体的には、図20に示すように、第1カメラ210の光軸300と、第2カメラ251の光軸301とは、平行にならないように筐体10に取り付けられている。これによれば、後述する式(55)がFTF0にならない。
Further, the
なお、本実施の形態では、第1カメラ210及び第2カメラ251は、テレセントリックカメラである。
Note that in this embodiment, the
検出部232は、加速度センサ242を有する。
The
加速度センサ242は、移動ロボット104の加速度を計測するセンサである。具体的には、加速度センサ242は、移動ロボット104の重力方向を算出するため移動ロボット104の加速度を計測するセンサである。加速度センサ242は、例えば、アクセレロメータを含むIMUである。加速度センサ242は、計測した加速度(加速度情報)を算出部114に定期的に繰り返し出力する。
第1カメラ210、光源220、検出部232、第2カメラ251、及び、オドメトリセンサ260は、例えば、算出部114等の処理部によって同期して動作され、同時刻における情報をそれぞれ定期的に繰り返し算出部114に出力する。
The
算出部114は、筐体10の姿勢及び第1下方画像に基づいて移動ロボット104の速度(並進速度)を算出する処理部である。
The
本実施の形態では、算出部114は、加速度センサ242から取得した加速度に基づいて移動ロボット104の姿勢を算出する。具体的には、まず、算出部114は、取得した加速度に基づいて移動ロボット104の重力方向を算出する。次に、算出部114は、算出した重力方向に基づいて、予め定められた筐体10の姿勢からの床面に対する傾き(つまり、姿勢)を算出する。具体的には、算出部114は、加速度センサ242から重力と移動ロボット104との加速度の和を示す情報を取得する。さらに、算出部114は、オドメトリ情報から、移動ロボット104の加速度を推定する。算出部114は、上記した和を示す情報と推定した加速度との差から、重力(重力方向)を算出する。算出部114は、算出した重力が加速度センサ242の各軸(X軸、Y軸、及び、Z軸)にどう現れるに基づいて、筐体10の傾きを推定する。
In this embodiment,
また、算出部114は、算出した移動ロボット104の姿勢、第1下方画像、及び、第2下方画像に基づいて移動ロボット104の並進速度を算出する。
Further, the
また、算出部114は、実施の形態2に係る算出部111と同様に、第1下方画像及び第2下方画像に基づいて、移動ロボット104の角速度を算出する。
Further, like the
算出部114は、算出した並進速度と、算出した角速度とから、移動ロボット104の合成速度を算出する。
The
算出部114は、算出した合成速度をSLAM部120に出力する。なお、算出部114は、算出した並進速度と、算出した角速度とのそれぞれの情報を、合成せずにSLAM部120に出力してもよい。
The
[速度算出処理]
続いて、移動ロボット104の合成速度の具体的な算出方法について説明する。
[Speed calculation process]
Next, a specific method for calculating the composite speed of the
<カメラがテレセントリックカメラである場合>
上記した式(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.
なお、上記した式(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.
ここで、移動ロボット104が、それぞれが筐体10の下方を撮影するカメラであって、筐体10の下方に出射されて床面で反射された光を検出するNc個(Nc≧2)のテレセントリックカメラを備えるとする。この場合、複数のテレセントリックカメラのそれぞれについて、下記の式(51)に示す行列Fi(ただし、1≦i≦Nc)が定義される。
Here, the
また、複数のテレセントリックそれぞれの速度は、下記の式(52)で表される。 Further, the speed of each of the plurality of telecentrics is expressed by the following equation (52).
また、下記の式(53)及び式(54)に示すように、行列F及び行列vcを定義する。 Furthermore, a matrix F and a matrix vc are defined as shown in equations (53) and (54) below.
以上の各式から、下記の式(55)が導出される。 The following equation (55) is derived from each of the above equations.
以上のように、移動ロボット104は、第1カメラ210及び第2カメラ251がそれぞれテレセントリックカメラであれば、上記した式(55)を用いて並進速度及び角速度(つまり、合成速度)を算出できる。
As described above, if the
上記のとおり、行列Fは、筐体10と床面との距離(h)に依存しない。また、行列Fは、筐体10の向き(α及びγ)に依存する。なお、行列Fは、移動ロボット104の設計パラメータにも依存するが、既知であるか、キャリブレーションによって取得できる。
As described above, the matrix F does not depend on the distance (h) between the
具体的には、治具で移動ロボット104を予め定められた姿勢になるように、コンベヤーベルトのような、上下に可動な駆動体に配置する。次に、予め定められた速度及び角速度で移動ロボット104を上下に動かして、移動ロボット104に配置されたカメラ(例えば第1カメラ210)から速度を算出する。当該姿勢、並びに、当該速度及び当該角速度を変更しながら複数の条件から得られる移動ロボット104の速度に基づいて、設計パラメータ(上記したri、bi、θi、及び、βi)を算出できる。
Specifically, a jig is used to place the
また、移動ロボット104の加速度が無視できる場合又は測定されている場合、及び、床面が重力に対して垂直であることがわかっている場合、α及びγは、加速度センサ242から得られる加速度によって算出できる。
Furthermore, if the acceleration of the
また、例えば、移動ロボット104は、図示しない上向きカメラ(移動ロボット104の上方を撮影するカメラ)を備える場合、当該上向きカメラが移動ロボット104の上方を撮影することで生成した画像(上方画像)に基づいて、α及びγを算出できる。
For example, if the
いずれの場合でも、移動ロボット104は、α及びγが算出(又は取得)できれば、上記した式(54)から移動ロボット104の速度を算出できる。つまり、移動ロボット104は、IMU、上向きカメラ等、α及びγを算出するための情報を取得するセンサを備えてもよい。
In either case, if α and γ can be calculated (or obtained), the
また、移動ロボット104が算出する速度の精度は、上記した設計パラメータに依存する。移動ロボット104から見て全ての方向に対して精度を最適化するには、Ψi(Ψi=2πi/Nc[rad])の方向を除いて、各カメラの設計パラメータを等しくする必要がある。
Further, the accuracy of the speed calculated by the
より具体的には、θi=0の場合、移動ロボット104が算出する移動ロボット104の速度の精度が最もよい。
More specifically, when θ i =0, the accuracy of the velocity of the
ここで、移動ロボット104の最大傾斜角(より具体的には、床面と筐体10の底面とのなす角度)が15deg(15[deg]=π/12[rad])であるとする。この場合、0≦γ≦2π、且つ、0≦α≦π/12の範囲において、移動ロボット104が備えるカメラの数(Nc)に依存するri/h及びβiを最も精度よく算出できる。
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
一般に、βiが36[deg.]~39[deg.]の範囲であり、且つ、ri/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
なお、移動ロボット104の速度の算出するためには、α及びγが取り得る値に対して、上記した行列Fで表現されるFTFが可逆行列のままであればよい。つまり、ri、ψi、θi、及び、βiが取り得る値の範囲は、上記に限定されない。
Note that in order to calculate the speed of the
<カメラがテレセントリックカメラでない場合>
また、移動ロボット104の構成及び移動ロボット104の速度の算出方法は、上記に限定されない。例えば、第1カメラ210及び第2カメラ251は、テレセントリックカメラでなくてもよい。
<If the camera is not a telecentric camera>
Further, the configuration of the
例えば、移動ロボット104が、それぞれが筐体10の下方を撮影するNc台のカメラを備えるとする。例えば、移動ロボット104が備えるNc台のカメラのそれぞれから得られる画像に基づいて、vi,x、及び、vi,yを算出する。これによれば、移動ロボット104は、Nc台のカメラから得られる画像に基づいて、2Nc個の速度を算出できる。
For example, assume that the
これらの2Nc個の速度から、以下に示すように、6つの未知数を推定(算出)できる。 From these 2Nc velocities, six unknowns can be estimated (calculated) as shown below.
まず、下記の式(56)及び式(57)に示すように、Gi及びG(α、γ、h)を定義する。 First, G i and G (α, γ, h) are defined as shown in equations (56) and (57) below.
なお、上記した式(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、vx、vy、及び、ωは、下記の式(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.
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
このような算出方法によれば、算出部114は、上記した式(56)及び式(57)を用いることで、並進速度及び角速度の両方を第1カメラ210及び第2カメラ251から得られる画像に基づいて移動ロボット104の速度を算出できる。そのため、移動ロボット104は、移動ロボット104の速度を算出するため構成を簡素化できる。また、上記した式(55)を用いて算出される速度よりも、α及びγの算出結果の精度を向上できるため、移動ロボット104の速度の算出結果の精度を向上できる。また、このような算出方法によれば、移動ロボット104が備えるカメラがテレセントリックカメラである必要がないため、構造をさらに簡素化できる。
According to such a calculation method, the
テレセントリックカメラにより生成された画像における物体の大きさは、当該物体とテレセントリックカメラとの距離によらず変化しない。この影響は、上記した式(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)から、
これらのことから、第1カメラ210及び第2カメラ251がテレセントリックカメラの場合、hに無関係な行列で表現されるため、上記した式(55)によれば、移動ロボット104の並進速度及び角速度を算出できる。
For these reasons, when the
一方、上記した式(56)は、第1カメラ210及び第2カメラ251の種別によらず、どのような種別のカメラであっても(例えば、テレセントリックカメラ、及び、ピンホールカメラのいずれあっても)用いられ得る。
On the other hand, the above equation (56) applies regardless of the type of the
また、Gは、hに依存する。そのため、第1カメラ210及び第2カメラ251それぞれがどのような種別のカメラであっても、上記した式(58)によれば、筐体10の姿勢(α、γ、h)、並進速度、及び、角速度を算出できる。
Furthermore, G depends on h. Therefore, no matter what type of camera each of the
[処理手順]
図21は、実施の形態5に係る移動ロボット104の処理手順を示すフローチャートである。
[Processing procedure]
FIG. 21 is a flowchart showing the processing procedure of the
まず、加速度センサ242は、移動ロボット104の加速度を計測する(ステップS123)。加速度センサ242は、計測した加速度を算出部114に出力する。
First, the
次に、算出部114は、加速度センサ242から取得した加速度に基づいて、筐体10の姿勢を算出する(ステップS124)。具体的には、算出部114は、取得した加速度に基づいて移動ロボット104の重力方向を算出し、算出した重力方向に基づいて、予め定められた筐体10の姿勢からの床面に対する傾き、つまり、筐体10の姿勢を算出する。なお、予め定められる筐体10の姿勢等の情報は、記憶部150に記憶されていればよい。
Next, the
次に、第1カメラ210及び第2カメラ251は、移動ロボット104が走行中に、光源220が出射した光の、移動ロボット104が走行する床面での反射光を検出することで、画像(第1下方画像及び第2下方画像)を生成する(ステップS125)。
Next, while the
次に、算出部114は、筐体10の姿勢及び第1下方画像に基づいて、移動ロボット104の並進速度を算出する(ステップS130)。
Next, the
次に、算出部114は、第1下方画像及び第2下方画像に基づいて、移動ロボット104の角速度を算出する(ステップS143)。
Next, the
次に、推定部121は、並進速度及び角速度に基づいて、所定の空間における移動ロボット104の自己位置を推定する(ステップS150)。
Next, the
次に、制御部130は、駆動部140を制御することで、推定部121が推定した自己位置に基づいて、移動ロボット104を走行させる(ステップS160)。
Next, the
[効果等]
以上説明したように、実施の形態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
これによれば、算出部114は、加速度センサ242から取得する加速度に基づいて筐体10の姿勢を算出するため、当該姿勢が精度よく算出される。そのため、算出部114は、移動ロボット104の速度をさらに精度よく算出できる。これにより、移動ロボット104によれば、自己位置がさらに精度よく算出できる。
According to this, the
(実施の形態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
[構成]
図22は、実施の形態6に係る移動ロボット105の構成を示すブロック図である。図23は、実施の形態6に係る移動ロボット105が備えるセンサ部205の各構成要素の配置レイアウトを模式的に示す図である。なお、図23では、センサ部205の一部の配置レイアウトを筐体10の底面側から見た場合を示しており、センサ部205の他の一部の構成要素及びホイール20等の図示を省略している。
[composition]
FIG. 22 is a block diagram showing the configuration of
移動ロボット105は、加速度センサを用いて筐体10の姿勢を算出し、当該姿勢、及び、互いに異なるカメラで生成された複数の画像に基づいて並進速度、及び、角速度を算出する。
The
移動ロボット105は、センサ部205と、周囲センサ部160と、算出部115と、SLAM部120と、制御部130と、駆動部140と、記憶部150と、を備える。
The
センサ部205は、移動ロボット105の速度を算出するための情報を検出するセンサ群である。本実施の形態では、センサ部205は、第1カメラ210と、光源220と、検出部232と、第2カメラ251と、第3カメラ252と、第4カメラ253と、オドメトリセンサ260と、を備える。
The
第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253は、それぞれ、光源220が出射した光の、移動ロボット105が走行する床面での反射光を検出することで画像(第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像)を生成する。
The
図23に示すように、本実施の形態では、光源220は、筐体10を底面視した場合、第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253のそれぞれの近傍に1つずつ配置されたLED等の光源からなる。
As shown in FIG. 23, in this embodiment, the
また、第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
なお、第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253のそれぞれのカメラの種別は、例えば、ピンホールカメラでもよいし、テレセントリックカメラでもよく、特に限定されない。
Note that the types of the
第1カメラ210、検出部232、第2カメラ251、第3カメラ252、第4カメラ253、及び、オドメトリセンサ260は、例えば、算出部115等の処理部によって同期して動作され、同時刻における情報をそれぞれ定期的に繰り返し算出部115に出力する。
The
算出部115は、筐体10の姿勢及び第1下方画像に基づいて移動ロボット105の速度(並進速度)を算出する処理部である。
The
本実施の形態では、算出部115は、実施の形態5に係る算出部114と同様に、加速度センサ242から取得した加速度に基づいて移動ロボット105の姿勢を算出する。
In this embodiment, the
また、算出部115は、算出した移動ロボット105の姿勢、第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像に基づいて移動ロボット105の並進速度を算出する。
Further, the
また、算出部115は、第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像に基づいて、移動ロボット105の角速度を算出する。
Further, the
算出部115は、算出した並進速度と、算出した角速度とから、移動ロボット105の合成速度を算出する。
The
算出部115は、算出した合成速度をSLAM部120に出力する。なお、算出部115は、算出した並進速度と、算出した角速度とのそれぞれの情報を、合成せずにSLAM部120に出力してもよい。
[処理手順]
図24は、実施の形態6に係る移動ロボット105の処理手順を示すフローチャートである。
[Processing procedure]
FIG. 24 is a flowchart showing the processing procedure of the
まず、加速度センサ242は、移動ロボット105の加速度を計測する(ステップS123)。加速度センサ242は、計測した加速度を算出部115に出力する。
First, the
次に、算出部115は、加速度センサ242から取得した加速度に基づいて、筐体10の姿勢を算出する(ステップS124)。
Next, the
次に、第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253は、それぞれ、移動ロボット105が走行中に、光源220が出射した光の、移動ロボット105が走行する床面での反射光を検出することで、画像(第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像)を生成する(ステップS125)。これにより、同時刻に撮影位置が異なる複数の画像が生成される。
Next, the
次に、算出部115は、筐体10の姿勢及び複数の画像に基づいて、移動ロボット105の並進速度を算出する(ステップS131)。
Next, the
次に、算出部115は、複数の画像に基づいて、移動ロボット105の角速度を算出する(ステップS144)。
Next, the
次に、推定部121は、並進速度、及び、角速度に基づいて、所定の空間における移動ロボット105の自己位置を推定する(ステップS150)。
Next, the
次に、制御部130は、駆動部140を制御することで、推定部121が推定した自己位置に基づいて、移動ロボット105を走行させる(ステップS160)。
Next, the
[効果等]
以上説明したように、実施の形態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
これによれば、算出部115は、加速度センサ242から取得する加速度に基づいて筐体10の姿勢を算出するため、当該姿勢が精度よく算出される。そのため、算出部115は、移動ロボット105の速度をさらに精度よく算出できる。さらに、算出部115は、複数のカメラから得られる複数の画像に基づいて並進速度、及び、角速度を算出する。例えば、各カメラがテレセントリックカメラの場合、カメラが多い程、上記した式(55)におけるFTの列の数、及び、vcの行の数が増える。そのため、例えば、各行に誤差が含まれても、各誤差が独立であれば、行が多い程、算出する合成速度における当該誤差の影響が小さくできる。同様に、各カメラがピンホールカメラの場合、カメラが多い程、上記した式(58)における、vc及びGそれぞれの行数が増える。そのため、各vcの行で発生する誤差が独立であれば、行数が多い程、α、γ、h、vx、vy、及び、ωの推定誤差を小さくできる。これにより、推定部121は、自己位置をさらに精度よく算出できる。
According to this, the
(実施の形態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
[構成]
図25は、実施の形態7に係る移動ロボット106の構成を示すブロック図である。図26は、実施の形態7に係る移動ロボット106が備えるセンサ部206の各構成要素の配置レイアウトを模式的に示す図である。なお、図26では、センサ部206の一部の配置レイアウトを筐体10の底面側から見た場合を示しており、センサ部206の他の一部の構成要素及びホイール20等の図示を省略している。
[composition]
FIG. 25 is a block diagram showing the configuration of
移動ロボット106は、互いに異なるカメラ(本実施の形態では、第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253の4つのカメラ)のそれぞれで生成された複数の画像に基づいて筐体10の姿勢、並進速度、及び、角速度を算出する。
The
移動ロボット106は、センサ部206と、周囲センサ部160と、算出部116と、SLAM部120と、制御部130と、駆動部140と、記憶部150と、を備える。
The
センサ部206は、移動ロボット106の速度を算出するための情報を検出するセンサ群である。本実施の形態では、センサ部206は、第1カメラ210と、光源220と、検出部233と、オドメトリセンサ260と、を備える。
The
また、検出部233は、第2カメラ251と、第3カメラ252と、第4カメラ253と、を備える。
Further, the
第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253は、それぞれ、光源220が出射した光の、移動ロボット106が走行する床面での反射光を検出することで画像(第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像)を生成する。
The
図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
また、第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
一方、第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
なお、第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253のそれぞれのカメラの種別は、例えば、テレセントリックカメラである。
Note that the types of the
第1カメラ210、検出部233(第2カメラ251、第3カメラ252、及び、第4カメラ253)、並びに、オドメトリセンサ260は、例えば、算出部116等の処理部によって同期して動作され、同時刻における情報をそれぞれ定期的に繰り返し算出部116に出力する。
The
算出部116は、筐体10の姿勢及び第1下方画像に基づいて移動ロボット106の速度(並進速度)を算出する処理部である。
The
本実施の形態では、算出部116は、第2カメラ251、第3カメラ252、及び、第4カメラ253のそれぞれが撮像した第2下方画像、第3下方画像、及び、第4下方画像に基づいて移動ロボット106の姿勢を算出する。
In the present embodiment, the
また、算出部116は、算出した移動ロボット106(より具体的には、筐体10)の姿勢、第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像に基づいて移動ロボット106の並進速度を算出する。
The
また、算出部116は、第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像に基づいて、移動ロボット106の角速度を算出する。
Further, the
算出部116は、算出した並進速度と、算出した角速度とから、移動ロボット106の合成速度を算出する。
The
算出部116は、算出した合成速度をSLAM部120に出力する。なお、算出部116は、算出した並進速度と、算出した角速度とのそれぞれの情報を、合成せずにSLAM部120に出力してもよい。
The
[速度算出処理]
続いて、移動ロボット106の合成速度の具体的な算出方法について説明する。
[Speed calculation process]
Next, a specific method for calculating the composite speed of the
移動ロボット106は、少なくとも4台のカメラ(より具体的には、4つのテレセントリックカメラ)を備える。
また、移動ロボット106が備える少なくとも3台のカメラの光軸は、同じ点を通過する。本実施の形態では、第2カメラ251、第3カメラ252、及び、第4カメラ253は、それぞれの光軸が所定の位置330を通過するように、筐体10に取り付けられている。
Furthermore, the optical axes of at least three cameras included in the
また、移動ロボット106が備える少なくとも1つのカメラは、光軸が上記した同じ点を通過しない。本実施の形態では、第1カメラ210は、光軸が所定の位置330を通過しない。
Furthermore, the optical axis of at least one camera included in the
移動ロボット106が備えるカメラがテレセントリックカメラであるとすると、以下の式(59)~式(66)が定義される。
Assuming that the camera included in the
なお、式(66)に示すIは、下記の式(67)で表される単位行列(identity matrix)である。 Note that I shown in equation (66) is an identity matrix expressed by equation (67) below.
上記した式(59)~式(67)から、行列Fi(上記した式(51))は、下記の式(68)で表される。 From the above equations (59) to (67), the matrix F i (the above equation (51)) is expressed by the following equation (68).
なお、式(68)に示す「×」は、外積を示す。 Note that "x" shown in equation (68) indicates an outer product.
次に、下記の式(69)及び式(70)を定義する。 Next, the following equations (69) and (70) are defined.
ここで、移動ロボット106における参照系での所定の位置330を点poとすると、点poの速度(並進速度)vo及び距離(高さ)hoは、下記の式(71)及び式(72)で表される。
Here, if the
次に、上記した式(52)、式(68)、式(71)及び式(72)から下記の式(73)が算出される。 Next, the following equation (73) is calculated from the above equation (52), equation (68), equation (71), and equation (72).
なお、上記した式(73)におけるPiは、下記の式(74)で定義される。 Note that P i in the above equation (73) is defined by the following equation (74).
ここで、点poが移動ロボット106が備えるカメラの光軸上に位置するとする。この場合、上記した式(73)から、下記の式(75)が算出される。
Here, it is assumed that the point po is located on the optical axis of the camera included in the
また、移動ロボット106が備える少なくとも3台のカメラの光軸が点poを通過するとする。一般性を損なわないようにするために、光軸が点poを通過する3台のカメラのインデックスを、1、2、及び、3とする。
It is also assumed that the optical axes of at least three cameras included in the
また、下記の式(76)及び式(77)を定義する。 Furthermore, the following equations (76) and (77) are defined.
それから、下記の式(78)及び式(79)を定義する。 Then, the following equations (78) and (79) are defined.
外積の特性を利用することで、つまり、外積計算から、下記の式(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.
さらに、下記の式(82)及び式(83)を定義する。 Furthermore, the following equations (82) and (83) are defined.
次に、上記した式(81)から下記の式(84)を算出する。 Next, the following equation (84) is calculated from the above equation (81).
ここで、ω≠0且つho≠0として、下記の式(85)及び式(86)を定義する。 Here, the following equations (85) and (86) are defined as ω≠0 and h o ≠0.
ρ1及びρ2の値は、設計パラメータ(ψi、βi、及び、θi)並びに未知数であるα及びγにのみ依存する。一方、ρ1及びρ2の値は、上記した式(61)、式(64)、式(76)、及び、式(77)から、未知数であるh、vx、vy、及び、ωから独立していることがわかる。 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
ρ1及びρ2の各値は、2つの組である(α、γ)及び(α′、γ′)に対応する。具体的には、(ρ1、ρ2)は、未知数であるα及びγにのみに依存する。ここで、(ρ1、ρ2)とα及びγとは、一対一の関係性ではない。しかしながら、(ρ1、ρ2)の解が多数算出されるが、(α、γ)≠(α′、γ′)は、同じ(ρ1、ρ2)で算出される。つまり、(ρ1、ρ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
なお、以下では、(α、γ)から算出される量を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つの解は、u1u1′=u2u2′=u3u3′を満たすことから、下記の式(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.
続いて、移動ロボット106の並進速度(vx及びvy)及び角速度(ω)を算出するための計算方法について説明する。
Next, a calculation method for calculating the translational velocity (v x and v y ) and angular velocity (ω) of the
また、式(78)から、sを算出する。 Furthermore, s is calculated from equation (78).
ここで、
また、
当該2つの解が算出される(つまり、既知となる)ことで、
続いて、上記した式(80)から下記の式(90)を定義する。 Next, the following equation (90) is defined from the above equation (80).
また、ωhoは、下記の式(91)に示すように算出(推定)できる。 Further, ωh o can be calculated (estimated) as shown in equation (91) below.
次に、式(84)を用いて、2つの速度
ここで、式(71)から、voが
このことから、一般に、上記した2つの解のいずれかを除外して、正しい解を決定できる。 From this, in general, one of the two solutions mentioned above can be excluded to determine the correct solution.
しかしながら、voが
の両方に直交する場合、上記した2つの解のいずれが正しいかを判定できない。 is orthogonal to both, it is not possible to determine which of the above two solutions is correct.
実際には、測定誤差のために、
ここで、カメラNo+1~カメラNcのそれぞれの光軸が、点poを通過しないとする。 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).
次に、下記の式(99)からωを算出できる。 Next, ω can be calculated from the following equation (99).
次に、下記の式(100)からhoの推定値を簡便に算出できる。 Next, the estimated value of ho can be easily calculated from the following equation (100).
理論的には、
この結果は、上記した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.
このようにして、上記した2つの解のうち、正しい解が適切に選択され得る。 In this way, the correct solution can be appropriately selected from the above two solutions.
なお、移動ロボット106は、加速度センサ等のセンサを備えてもよい。この場合、移動ロボット106は、当該センサを用いてから得られる値、2つの解のうち、当該センサを用いてから得られる値にどちらが近いかを判定し、値が近い方の解を正しい解と判定してもよい。
Note that the
また、上記したように、移動ロボット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)の通り、vx、vy、及び、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.
移動ロボット106によれば、例えば、ω=0等のいくつかの場合を除いて、カメラ以外にIMU等の他のセンサを用いずに精度よく速度(合成速度)を算出できる。さらに、上記した計算方法によれば、算出される値がオドメトリセンサ260等の他のセンサから完全に独立しているため、カメラが生成した画像から算出される値(推定値)の誤差は、オドメトリセンサ260等から得られる走行距離等の値の誤差から完全に独立されていると考えられる。したがって、これら2つの値を組み合わせることで、最終的に算出される自己位置の誤差は、これら2つのそれぞれから算出される自己位置の誤差よりも低くなることが期待される。
According to the
[処理手順]
図27は、実施の形態7に係る移動ロボット106の処理手順を示すフローチャートである。
[Processing procedure]
FIG. 27 is a flowchart showing the processing procedure of the
まず、第1カメラ210、第2カメラ251、第3カメラ252、及び、第4カメラ253は、それぞれ、移動ロボット105が走行中に、光源220が出射した光の、移動ロボット105が走行する床面での反射光を検出することで、画像(第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像)を生成する(ステップS126)。これにより、同時刻に撮影位置が異なる複数の画像が生成される。
First, the
次に、算出部116は、それぞれの光軸が所定の位置330を通過する複数のカメラで生成された複数の画像に基づいて、筐体10の姿勢を算出する(ステップS170)。具体的には、算出部116は、第1下方画像、第2下方画像、第3下方画像、及び、第4下方画像に基づいて、筐体10の姿勢を算出する。
Next, the
次に、算出部116は、筐体10の姿勢及び複数の画像に基づいて、移動ロボット106の並進速度を算出する(ステップS131)。
Next, the
次に、算出部116は、複数の画像に基づいて、移動ロボット106の角速度を算出する(ステップS144)。
Next, the
次に、推定部121は、並進速度、及び、角速度に基づいて、所定の空間における移動ロボット106の自己位置を推定する(ステップS150)。
Next, the
次に、制御部130は、駆動部140を制御することで、推定部121が推定した自己位置に基づいて、移動ロボット106を走行させる(ステップS160)。
Next, the
[効果等]
以上説明したように、実施の形態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
第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
推定部121は、移動ロボット106の角速度及び速度に基づいて、移動ロボット106の自己位置を推定する。
The
これによれば、算出部116は、複数のカメラから取得する画像に基づいて筐体10の姿勢を算出するため、当該姿勢が精度よく算出される。さらに、移動ロボット106は、IMU等のセンサを備えないため、簡便な構造で実現される。
According to this, the
(その他の実施の形態)
以上、本発明に係る移動ロボットについて、上記各実施の形態に基づいて説明したが、本発明は、上記各実施の形態に限定されるものではない。
(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
230, 231, 232, 233
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.
前記算出部は、前記第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.
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)
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 |
-
2020
- 2020-09-15 JP JP2020154374A patent/JP7429868B2/en active Active
Patent Citations (1)
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 |