JP4464893B2 - Mobile robot - Google Patents
Mobile robot Download PDFInfo
- Publication number
- JP4464893B2 JP4464893B2 JP2005262334A JP2005262334A JP4464893B2 JP 4464893 B2 JP4464893 B2 JP 4464893B2 JP 2005262334 A JP2005262334 A JP 2005262334A JP 2005262334 A JP2005262334 A JP 2005262334A JP 4464893 B2 JP4464893 B2 JP 4464893B2
- Authority
- JP
- Japan
- Prior art keywords
- obstacle
- information
- mobile robot
- detection
- sensor
- 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.)
- Expired - Fee Related
Links
- 238000001514 detection method Methods 0.000 claims description 289
- 238000004364 calculation method Methods 0.000 claims description 189
- 230000008859 change Effects 0.000 claims description 26
- 238000000605 extraction Methods 0.000 claims description 19
- 238000005259 measurement Methods 0.000 claims description 12
- 239000000284 extract Substances 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 45
- 238000000034 method Methods 0.000 description 18
- 238000012545 processing Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000006243 chemical reaction Methods 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000009434 installation Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 4
- 239000000463 material Substances 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Description
本発明は、移動ロボットに関する。 The present invention relates to a mobile robot.
従来、障害物が存在する環境下における移動ロボットの目的地への移動の方法として、移動ロボットに備えられた複数の障害物検出センサにより障害物の位置などを検出し、移動ロボットの現在の位置情報と障害物検出センサにより検出した障害物の位置情報とに基づいて、移動ロボットが障害物を回避する移動経路を算出し、移動ロボットをその経路に沿って移動させるものがある(例えば、特許文献1参照)。 Conventionally, as a method of moving a mobile robot to a destination in an environment where an obstacle exists, the position of the obstacle is detected by a plurality of obstacle detection sensors provided in the mobile robot, and the current position of the mobile robot is detected. Based on the information and the position information of the obstacle detected by the obstacle detection sensor, the mobile robot calculates a movement route that avoids the obstacle, and moves the mobile robot along the route (for example, patents). Reference 1).
ここで、特許文献1に記載されている従来例1の移動ロボットの概略を、図7A、図7B、図7C、図8A、図8Bを用いて説明する。図7A、図7B、図7Cは、特許文献1に記載されている移動ロボットの構成を示す。図8A、図8Bは、図7A、図7B、図7Cに示した移動ロボットの移動経路の決定方法を示す。
Here, the outline of the mobile robot of the prior art example 1 described in
図7A、図7B、図7Cに示すように、移動ロボット171は、ロボットの移動に必要な車輪178、補助車輪179や、モータなどの駆動装置175を具備する移動可能な本体部171aと、本体部171aの周囲に取り付けられて超音波や赤外線などを用いて周囲の任意の検出領域に存在する障害物を検出する障害物検出センサ177と、例えば車輪軸に取り付けられたエンコーダ161により計測されたエンコーダ値をオドメトリ計算機162を用いてロボットの現在位置(以下、自己位置と記す)の計測を行う自己位置計測装置172と、障害物検出センサ177によって検出した障害物の情報と自己位置計測装置172により計測した移動ロボット171の自己位置情報から検出した障害物を回避し移動目的地に移動するための経路を算出する経路計算装置174を有する。
As shown in FIGS. 7A, 7B, and 7C, the
このような、移動ロボット171の移動経路は、例えば、図8Aのように決定される。詳細には、例えば、図8Aのように移動ロボット171が目的地183に向かって移動している途中に、進行方向に障害物検出センサ177の検出領域182内に進入する障害物がない場合には、移動ロボット171は経路計算装置174において、自己位置計測装置172により計測される自己位置と目的地183の位置情報より目的地183に向かうように図8A中の実線の矢印にて示す経路185を算出し、この経路185に従って移動ロボット171は移動を行う。
Such a movement path of the
しかし、移動ロボット171が移動している途中に、例えば、図8Bのように障害物184が進行方向にあたる障害物検出センサ177の検出領域内182に進入した場合には、障害物検出センサ177によって移動ロボット171から障害物184の方向や距離を計測し、経路計算装置174では自己位置計測装置172により計測される自己位置情報と移動目的地183の位置情報に加え、障害物検出センサ177により計測された障害物184の情報に基づいて経路を算出する。算出される経路は、例えば、移動ロボット171と障害物184との距離に反比例した大きさで障害物184とは逆方向の障害物回避成分186と、前記の障害物がない場合の経路185を合成した経路187とする。このように移動ロボット171の周囲の障害物情報によりリアルタイムに算出される経路に従って移動ロボット171が移動することで、移動ロボット171は障害物184を回避し目的地183に到達する。
However, when the
また、図7A、図7B、図7C及び図8A、図8Bに示した移動ロボット171とは異なり、例えば、移動ロボットの移動目的地及び移動ロボットの移動範囲内の障害物情報を地図情報として具備し、その地図情報をそのまま用いて移動ロボットの移動経路を算出するものがある(例えば、特許文献2参照)。
Further, unlike the
ここで、特許文献2に記載されている従来例2の移動ロボットの概略を、図10A、図10B、図10C及び図11を用いて説明する。図10A、図10B、図10Cは、特許文献2に記載されている移動ロボットの構成を示す。図11は、図10A、図10B、図10Cに示した移動ロボットにおける移動経路の決定方法を示す。
Here, the outline of the mobile robot of the conventional example 2 described in the
図10A、図10B、図10Cに示すように、移動ロボット201は、ロボット201の移動に必要な車輪207、補助車輪208や、モータなどの駆動装置205を具備する移動可能な本体部201aと、例えば車輪軸に取り付けられたエンコーダ209により計測されたエンコーダ値をオドメトリ計算機230を用いてロボット201の現在位置(以下、自己位置と記す)の計測を行う自己位置計測装置202と、目的地がどこにあるのかという情報、障害物があらかじめどこに存在しているのかという位置情報、移動ロボット201の移動範囲の地図情報などを格納する地図データベース203と、自己位置計測装置202により計測された移動ロボット201の自己位置情報と地図データベース203の地図情報から障害物を回避し移動経路を算出する経路計算装置204を有する。
As shown in FIGS. 10A, 10B, and 10C, the
この移動ロボット201における移動経路は、図11に示すようにして決定される。地図情報301に、自己位置計測装置により計測された自己位置情報を基づいてロボット201と目的地303を設定する。ここで、例えば必要とする移動精度に従って地図情報301のように地図情報をメッシュ状に分割し、拡大図307に示すように移動ロボット201の存在するブロックから移動目的地303の存在するブロックまで障害物304のあるブロックに通らないように順次ブロックをたどって行く経路を決定する。ここで、各ブロックは308のように複数の移動可能方向が存在するためその移動可能方向をたどった例えば309で例示されるような経路が複数存在する。そのため、目的地303に到達する経路候補は305で示すように複数算出されるため、例えば最短到達経路などの条件によって一意に経路306を選定する。
The movement path in the
しかしながら、図7A、図7B、図7C、図8A及び図8Bに示した従来例1の移動ロボット171の場合、障害物検出センサ177が検出した障害物情報に基づいて経路の算出を行っているが、障害物検出センサ177の検出領域182の範囲には限界があるため、算出する経路の先を予測することができない。このため、移動ロボットが行き止まりのある通路や障害物の窪みに入り込んでしまうという非効率な移動となってしまう。さらに、最悪の場合にはこの行き止まりの箇所で身動きが取れなくなるといったいわゆるデッドロックの状態に陥るおそれがある。
However, in the case of the
その詳細を、図9を参照しながら説明する。図9は、従来例1の移動ロボット171が非効率な移動や、デッドロック状態に陥る場合を示す。
Details thereof will be described with reference to FIG. FIG. 9 shows a case where the
図9に示すように、例えば、移動ロボット171が通過できる程度の開口部197を有するとともに行き止まり198となっている窪みを有する障害物194が目的地183の方向に存在する場合、本来なら、移動ロボット171が目的地183に向かう経路195に従って移動してもその先が行き止まりとなるため、この移動ロボット171が事前に、障害物194全体を回避するような理想的な経路196を取りながら目的地183に向かうことが望ましい。
As shown in FIG. 9, for example, when an
しかし、前記のように、移動ロボット171の障害物検出センサ177の検出領域182は移動ロボット171における周囲の限られた範囲であるため、移動ロボット171は、障害物194の窪みの開口部197付近においては、移動ロボット171の両側に障害物があると検出して、その開口部197の幅が移動ロボット171の通過可能な幅であるならば、経路195に従って開口部197よりも奥側に入り込んでしまう。このとき、窪みの行き止まり198はまだ検出されていない。そして、移動ロボット171が経路195に従って進み、行き止まり198に到達してやっと通行不可能であることを検出し、窪みを抜け出して異なる経路を選択することができる。しかも、最悪の場合は行き止まりにおいて経路195の方向に従って移動しようとする移動成分と、行き止まりを回避しようとする成分とが合成されるなどして身動きが取れなくなり、デッドロック状態に陥ってしまうおそれがある。
However, since the
一方、図10A、図10B、図10C及び図11に示した従来例2の移動ロボット201では、地図データベース203に格納されている地図情報に基づいて経路の算出を行っているが、この地図情報を用いた経路計算は移動範囲全体を対象として計算が行われているため、例えば、障害物304が多かったり地図情報が広大なものであったりする場合には、経路計算における計算量は莫大なものとなり、小型の移動ロボットに搭載されるプロセッサでリアルタイムに処理を行うことは困難になってしまう。
On the other hand, in the
例えば、前記の例で挙げたように、ある点から移動目的地303までの最短経路の算出には、グラフ理論により参照点(参照面積/移動精度)の2乗に比例した計算量が必要であることが知られている。例えば、わずか1m四方を1cmの精度で移動するだけでも100×100すなわち10000点の参照点が必要となり、経路計算に必要な計算量はK×108(Kは比例定数)と膨大な計算量となる。一方、比較として従来例1のロボットの場合の計算量は、センサ数に比例する計算量となっている。
For example, as described in the above example, the calculation of the shortest route from a certain point to the moving
そこで、本発明の目的は、このような問題を解決するもので、障害物が存在する環境下で移動する移動ロボットにおいて、リアルタイムにかつ効率的な目的地への移動を実現することができる移動ロボットを提供することにある。 Accordingly, an object of the present invention is to solve such a problem, and in a mobile robot that moves in an environment where an obstacle exists, it is possible to realize a movement that can realize a real-time and efficient movement to a destination. To provide a robot.
前記目的を達成するために、本発明は以下のように構成する。 In order to achieve the above object, the present invention is configured as follows.
本発明の第1態様によれば、移動可能なロボット本体部と、
前記本体部の自己位置を計測する自己位置計測装置と、
前記本体部の移動範囲の地図情報を格納する地図データベースと、
前記自己位置計測装置により計測された自己位置情報と、前記地図データベースに格納された前記地図情報とに基づいて、前記地図情報上に設定されかつ前記本体部の移動に対して障害物となる障害物情報を検出可能な仮想センサの検出領域において前記障害物情報を抽出する障害物情報抽出部と、
前記障害物情報抽出部により抽出された前記障害物情報に基づいて、前記本体部が移動するための移動経路を算出する経路計算装置と、
前記障害物情報抽出部が前記障害物情報を抽出するための抽出条件を設定変更する仮想センサ設定変更装置と、
を備える移動ロボットを提供する。
According to the first aspect of the present invention, a movable robot body,
A self-position measuring device for measuring the self-position of the main body,
A map database for storing map information of the movement range of the main body,
An obstacle set on the map information based on the self-position information measured by the self-position measuring device and the map information stored in the map database and serving as an obstacle to the movement of the main body An obstacle information extraction unit that extracts the obstacle information in a detection area of a virtual sensor capable of detecting the object information;
A route calculation device that calculates a movement route for the main body to move based on the obstacle information extracted by the obstacle information extraction unit;
A virtual sensor setting change device for setting and changing an extraction condition for the obstacle information extraction unit to extract the obstacle information;
A mobile robot is provided.
本発明の第2態様によれば、前記本体部の周囲の検出領域における障害物を検出する障害物検出センサをさらに有し、前記経路計算装置が、前記障害物情報抽出部により抽出された前記障害物情報に加えて、前記障害物検出センサからの検出情報に基づいて前記本体部が移動するための移動経路を算出する第1の態様に記載の移動ロボットを提供する。 According to the second aspect of the present invention, it further includes an obstacle detection sensor that detects an obstacle in a detection region around the main body, and the route calculation device is extracted by the obstacle information extraction unit. In addition to obstacle information, the mobile robot according to the first aspect is provided that calculates a movement path for the main body to move based on detection information from the obstacle detection sensor.
本発明の第3態様によれば、前記仮想センサ設定変更装置が、前記地図データベースに格納された前記地図情報と、前記自己位置計測装置により計測された前記自己位置情報と、前記障害物情報抽出部により抽出された前記障害物情報と、前記障害物検出センサの検出情報と、前記経路計算装置により算出された移動経路との少なくとも1つに基づいて前記障害物情報抽出部が前記障害物情報を抽出するための抽出条件を変更する第1又は2の態様に記載の移動ロボットを提供する。
According to a third aspect of the present invention, the virtual sensor setting change device is configured to extract the map information stored in the map database, the self-position information measured by the self-position measurement device, and the obstacle information extraction. The obstacle information extraction unit performs the obstacle information based on at least one of the obstacle information extracted by a part, detection information of the obstacle detection sensor, and a movement route calculated by the route calculation device. The mobile robot according to the first or second aspect, in which the extraction condition for extracting the image is changed is provided.
このような構成によれば、地図情報より仮想的にセンサ情報を算出するため、「検出できる障害物までの距離や範囲に限界がある」とか「障害物の表面物性によって検出できない」とか「センサ同士が干渉して検出できない」などといった実際の障害物検出センサ特有の物理的制限を受けることがないため、障害物環境に応じた自由な検出領域を設定でき、精度良く障害物を検出することができる。従って、実際の障害物検出センサのみを用いる場合に較べて効率の良い目的地への移動を実現することができる。また、本発明の経路計算に必要な全計算量は、障害物情報抽出部における計算量は、検出領域に障害物があるかないかの計算となるため(センサの検出領域/移動精度)に比例した計算量と、従来例1の経路計算の計算量の和となるため、地図から経路を直接算出する場合に較べて大幅に計算量を削減することができ、小型の移動ロボットに搭載されるようなプロセッサでリアルタイムに処理を行うことも可能となる。 According to such a configuration, sensor information is calculated virtually from the map information, so that “there is a limit to the distance and range to the obstacle that can be detected” or “cannot be detected due to the surface physical properties of the obstacle” or “sensor Because there is no physical limitation peculiar to actual obstacle detection sensors such as `` cannot detect each other due to interference '', it is possible to set a free detection area according to the obstacle environment and detect obstacles with high accuracy Can do. Therefore, it is possible to realize an efficient movement to the destination as compared with a case where only an actual obstacle detection sensor is used. Further, the total calculation amount required for the route calculation of the present invention is proportional to the calculation amount in the obstacle information extraction unit because whether or not there is an obstacle in the detection region (sensor detection region / movement accuracy). This is the sum of the calculated amount and the calculated amount of the route calculation of the conventional example 1, so that the amount of calculation can be greatly reduced as compared with the case of calculating the route directly from the map, and it is mounted on a small mobile robot. It is also possible to perform processing in real time with such a processor.
以上のように本発明によると、地図情報から仮想センサの検出領域において障害物情報を抽出することで、実際の障害物センサの物理的制限によって検出できない障害物を検出することができる。さらに、地図情報から直接経路を算出する場合に較べて経路計算時の計算量を大幅に削減していることから、小型の移動ロボットに搭載されるプロセッサであっても、リアルタイムに処理を行うことができる。 As described above, according to the present invention, by extracting obstacle information in the detection area of the virtual sensor from the map information, it is possible to detect obstacles that cannot be detected due to physical limitations of the actual obstacle sensor. Furthermore, since the amount of calculation at the time of route calculation is greatly reduced compared to the case of calculating the route directly from the map information, even a processor mounted on a small mobile robot can perform processing in real time. Can do.
以下に、本発明にかかる実施の形態を図面に基づいて詳細に説明する。
本発明の記述を続ける前に、添付図面において同じ部品については同じ参照符号を付している。
Embodiments according to the present invention will be described below in detail with reference to the drawings.
Before continuing the description of the present invention, the same parts are denoted by the same reference numerals in the accompanying drawings.
本発明の1つの実施形態の移動ロボットを、図1A〜図1Eを参照しながら説明する。 A mobile robot according to an embodiment of the present invention will be described with reference to FIGS. 1A to 1E.
図1Aは、本実施形態の移動ロボット20の構成を示す図、図1Bは、実際の移動ロボット20とその障害物検出センサ4の第1の検出領域3を示す図、図1Cは、マップ13上における移動ロボット20とその仮想センサ(詳細は後述)の第2の検出領域21を示す図である。また、図1Dは、移動ロボット20が算出する回避経路Bを示す図、図1Fは、図1Aに示す移動ロボット20とは異なる移動ロボット20Bの構成を示す図である。
FIG. 1A is a diagram showing a configuration of the
図1Aに示すように、移動ロボット20は、移動可能な直方体形状の本体部2と、複数の(図1Aでは本体部2の両側の上部に4個ずつ配置された)障害物検出センサ4と、自己位置計測装置5と、地図データベース11と、障害物認識装置22と、経路計算装置6と、駆動装置7とを備えている。
As shown in FIG. 1A, the
前記本体部2は、ロボット20の移動に必要な4つの車輪2wや、モータなどの駆動装置7を具備する移動可能に構成されている。
The
前記複数の(図1Aでは本体部2の両側の上部に4個ずつ配置された)障害物検出センサ4は、本体部2の周囲に取り付けられて超音波や赤外線やレーザなどを用いて本体部2の周囲に形成された第1の検出領域3内に存在する障害物を検出する。
The plurality of obstacle detection sensors 4 (four in FIG. 1A arranged at the upper part on both sides of the main body 2) are attached to the periphery of the
前記自己位置計測装置5は、例えば車輪2wの車輪軸に取り付けられたエンコーダにより計測されたエンコーダ値をオドメトリ計算機を用いてロボット20の現在位置(以下、自己位置と記す)の計測を行う。
The self-
前記地図データベース11は、目的地8がどこにあるのかという情報、障害物9、16があらかじめどこに存在しているのかという位置情報、本体部2の移動範囲の地図情報を有する。
The
前記障害物認識装置22は、メモリ領域12において、地図データベース11に記録されかつ仮想センサの第2の検出領域21内に存在する既知の障害物9、16を検出する。
The
前記経路計算装置6は、障害物認識装置22により認識した障害物9、16についての情報と障害物検出センサ4により検出した本体部2の周囲に存在する未知の障害物23(図1B参照)の情報と自己位置計測装置5により計測した移動ロボット20の自己位置情報とに基づいて移動ロボット20における回避経路(障害物を回避し移動目的地に移動するための経路)Bを算出する。
The
前記駆動装置7は、算出された回避経路Bに基づいて本体部2を移動させる。
The driving
障害物認識装置22は、メモリ領域12において、地図の図形データとしてのマップ(地図情報)13を形成し、このマップ13上に、既知の障害物9、16、本体部2を形成し、かつ、この本体部2に第1の検出領域3とは別の第2の検出領域21に存在する既知の障害物9、16を検出可能な第2の検出領域21を有する仮想センサを設定することで、マップ13上において、この仮想センサの第2の検出領域21内に存在する障害物9、16を検出している。
The
前記仮想センサは、実際のセンサではなく、マップ13上で仮想的にセンサと同等の検出機能を有する第2の検出領域21を設定することができるものであって、障害物認識装置22はこの第2の検出領域21内に存在する既知の障害物9、16を認識して抽出することができるようにしている。より具体的には、仮想センサの第2の検出領域21は、移動ロボット20の前方に、移動ロボット20が旋回時(障害物などの回避のための旋回時)に必要な回転時に描く円が入るような幅(回転半径の2倍以上の幅)を持ち、マップ13上に予め既知となっている障害物のうち移動ロボット20からみて最大の窪みを持つ障害物の窪みの深さより長い距離を持つ三角形又は長方形の領域とするのが好ましい。この領域を最大領域とし、1つの態様としては、仮想センサの第2の検出領域21を常にこの最大領域に設定するものでもよい。又は、別の態様としては、詳しくは後述するように、障害物を検出していないときは、最大領域より小さく、移動ロボット20の移動経路に沿って移動しているとき移動ロボット20に停止指令を出して停止するまでに移動ロボット20が進む距離(ただし、移動ロボット20の速度により依存して距離が変わる。)の長さで、移動ロボット20の旋回時(障害物などの回避のための旋回時)の回転時に描く円が通る幅(回転半径の2倍以上の幅)を持つ領域を最低限の領域として、この最低限の領域を第2の検出領域21とし、障害物を検出したときなどにおいては、最大領域に変更するようにしてもよい。また、マップ13上で、仮想センサの第2の検出領域21を最小領域に設定する領域(例えば、障害物が比較的少ないと想定される領域)と、仮想センサの第2の検出領域21を最大領域に設定する領域(例えば、障害物が比較的多いと想定される領域)とを予め設定しておくようにしてもよい。
The virtual sensor is not an actual sensor, but can set a
このような仮想センサによれば、実際のセンサとは異なり、物理的な拘束条件にとらわれず、領域や検出精度の設定が自由にできる。例えば、実際のセンサであれば検出できない遠距離の領域や大きな領域や、物体の裏側の領域、複雑で入り組んだ領域などをも、仮想センサであれば検出することができる。さらに、実際のセンサでは不可能なほどの高い精度の情報の取得も仮想センサであれば可能である。また、仮想センサであれば、センサ同士の干渉を気にする必要が無く、また、実際のセンサを使用する際に生じる取付位置や、センサの駆動源や配線や、配管などの問題も仮想センサであれば考える必要が無い。さらに、仮想センサであれば、センサの設定、例えば検出領域や、検出精度などを、仮想センサを設定するプログラムを別のプログラムに切り替えたり、仮想センサを設定するプログラムで使用するパラメータの値を変更するなどすることにより、自由に設定変更することが可能である。従って、仮想センサを使用するとき、通常時は粗い精度での検出の設定にしておき、障害物の発見時には精度を上げた検出の設定に変更することができる。又は、仮想センサを使用するとき、通常では、ロボット20の狭い前方領域だけの検出の設定で、障害物が多いと予め判っている場所では、検出範囲を広げ、ロボット20の周囲全般に検出するような設定に変更したりすることができる。このように、必要に応じて、言い換えれば、時と場所などに応じて、仮想センサの検出精度や領域などを設定することが可能である。
According to such a virtual sensor, unlike an actual sensor, it is possible to freely set a region and detection accuracy regardless of physical constraint conditions. For example, a virtual sensor can detect a long-distance area or a large area that cannot be detected by an actual sensor, an area on the back side of an object, a complicated and complicated area, and the like. Furthermore, it is possible for a virtual sensor to acquire information with such high accuracy as impossible with an actual sensor. Also, with a virtual sensor, there is no need to worry about interference between sensors, and problems such as mounting positions, sensor drive sources, wiring, and piping that occur when using actual sensors are also virtual sensors. If so, there is no need to think about it. Furthermore, if it is a virtual sensor, the setting of the sensor, for example, the detection area and detection accuracy, the program for setting the virtual sensor is switched to another program, or the parameter value used in the program for setting the virtual sensor is changed. It is possible to change the setting freely by doing so. Therefore, when using a virtual sensor, it is possible to set detection settings with coarse accuracy during normal times, and to change detection settings with higher accuracy when obstacles are found. Or, when using a virtual sensor, the detection range is usually expanded in a place where it is known in advance that there are many obstacles by setting to detect only a narrow front region of the
このような構成の仮想センサによる障害物の検出は、マップ13における第2の検出領域21内のそれぞれの箇所の情報(それぞれの箇所での障害物の存在情報、例えば、第2の検出領域21内の障害物の有無、第2の検出領域21内に存在する障害物の形状、ロボット20から第2の検出領域21内の障害物までの距離及び方向などの情報)を、地図データベース11から部分的に取得するようにしていることで可能とされており、したがって、通常の障害物検出センサ4であれば、図1AのXで示すような、移動ロボット20に対して障害物9の背後となる領域を検出することができないことがあるが、前記のような仮想センサでは第2の検出領域21内の情報を地図データベース11から部分的に取得するようにしているので、障害物認識装置22は、このような移動ロボット20に対して障害物9の背後となる領域Xを検出することができる。すなわち、障害物認識装置22は、あらかじめ地図データベース11に登録されている既知の障害物9、16であれば、第2の検出領域21内に存在すれば、障害物9、16の位置関係にかかわらず(言い換えれば、移動ロボット20から見て、たとえ障害物同士が互いに重なっていたとしても)、全て検出することができる。なお、この仮想センサにおける第2の検出領域21は、例えば、第1の検出領域3よりも本体部2の進行方向側を検出可能なように、第1の検出領域3よりも本体部2の進行方向側に向けて遠くまで広がる三角形状に設定されている。
The obstacle detection by the virtual sensor having such a configuration is performed by detecting information on each location in the
また、上述のように、障害物認識装置22では、この第2の検出領域21内に存在する障害物のみを認識し、この第2の検出領域21外に存在する障害物に対しては認識を行わない。これにより、この第2の検出領域21の範囲内におけるマップ13の一部分のみを、移動ロボット20の回避経路の算出時の計算対象とすることができる。
Further, as described above, the
このような構成において、移動ロボット20が出口の無い障害物16の内部に入り込まないようにする回避経路Bの算出方法を説明する。なお、障害物16の位置情報は地図データベース11に登録されているとする。
A method of calculating the avoidance route B that prevents the
ここで、図1Bに示すように、実際に目的地8に向かって経路Aを進んでいる移動ロボット20では、自己位置計測装置5により移動ロボット20の現在位置が計測されており、得られた自己位置情報と地図データベース11における地図情報などが障害物認識装置22に送られている。障害物認識装置22では、図1Cに示すように、メモリ領域12において、送られた地図情報に基づいてマップ13が形成されるとともに、地図データベース11にあらかじめ登録されている目的地8および障害物9、16がマップ13上に形成される。また、自己位置計測装置5から送られた自己位置情報に基づいてマップ13上に移動ロボット20が形成されるとともにこの移動ロボット20に仮想センサが設定され、仮想センサの第2の検出領域21が設定されている。また、実際に移動中の移動ロボット20の周囲には、地図データベース11にあらかじめ登録されている既知の障害物9、障害物16、および地図データベース11に登録されていない未知の障害物23が存在しており、障害物16は、移動ロボット20が進入可能な開口部16aとこの開口部16aよりも奥側の行き止まり部16bとを有しており、目的地8は、この障害物16の背後に存在しているとする。
Here, as shown in FIG. 1B, in the
このような、移動ロボット20の移動経路は、例えば、移動ロボット20が目的地8に向かって移動している途中に、進行方向に障害物検出センサ4の第1の検出領域3内に進入する障害物がない場合には、移動ロボット20は経路計算装置6において、自己位置計測装置5により計測される自己位置と目的地8の位置情報より目的地8に向かうように経路を算出し、この経路に従って移動ロボット20は移動を行う。
Such a moving path of the
このとき、移動中の移動ロボット20の障害物検出センサ4が、障害物16の開口部16a側の一部と障害物23の一部を検出し、移動ロボット20における経路計算装置6が、障害物検出センサ4が検出した障害物23の情報のみに基づいて回避経路を算出する場合であれば、既に従来技術で述べたように、障害物検出センサ4の第1の検出領域3の範囲には限界があるため、算出する経路の先を予測することができず、図1Bに示すように、障害物16の内部に進んでしまうような回避経路、すなわち経路Aと同方向の回避経路を算出してしまい、移動ロボット20が障害物16の内部でデッドロックの状態や永久動作に陥るおそれがある。
At this time, the
しかし、この実施形態の移動ロボット20においては、図1Cに示すように、障害物認識装置22が、マップ13上の移動ロボット20に設定された仮想センサの第2の検出領域21内に存在する既知の障害物16を認識しており、この第2の検出領域21は任意に設定できるため、図1Cのように、第1の検出領域3よりも本体部2の進行方向側に向けて遠くまで広がる三角形状に第2の検出領域21を設定すれば、障害物16の内部の奥側まで検出することができて、障害物16の内部の奥側に行き止まり部16bが存在することを検出することができる。
However, in the
このように、実際の障害物検出センサ4を用いることで、仮想センサでは検出できない、すなわち地図データベース11に登録されていない未知の障害物23を検出することができ、かつ、仮想センサを用いることで、既知の障害物16における、障害物検出センサ4の第1の検出領域3が及ばない箇所を検出することができる。したがって、仮想センサを用いることで、障害物検出センサ4のみを用いる場合に比べて、精度の良い障害物検出を行うことができる。
As described above, by using the actual
そして、自己位置計測装置5により計測された自己位置情報と、障害物検出センサ4により得られたあらかじめ地図データベース11に登録されていない障害物23の情報と、障害物認識装置22によって検出された既知の障害物16の情報とが、経路計算装置6に送られる。
Then, the self-position information measured by the self-
そして、経路計算装置6において、図1Dに示すように、移動ロボット20の自己位置情報、および前記の障害物23と障害物16の位置情報とに基づいて、障害物23と内部の奥側に行き止まり部16bを有する障害物16とを回避することができる回避経路Bを算出する。
Then, in the
このとき、上述したように、障害物認識装置22では、第2の検出領域21内に存在する障害物のみを認識し、この第2の検出領域21外に存在する障害物に対しては認識を行わない。これにより、経路計算装置6は、第2の検出領域21の範囲内における、マップ13の一部分のみを、移動ロボット20の回避経路の算出時の計算対象とすることができ、例えば、マップ13の全範囲を計算の対象として回避経路の算出を行う場合に比べて、計算量を大幅に削減することができる。
At this time, as described above, the
これにより、小型の移動ロボットに搭載されるプロセッサであっても、迅速に回避経路の算出を行うことができる。また、移動中に新たな障害物を検出して、再び回避経路の算出を行う必要が生じても、上述の通り、計算量を大幅に削減していることから、迅速に新たな回避経路の算出を行うことができる。なお、経路計算については、仮想センサの検出情報も実際の障害物検出センサ4の検出情報も同様のセンサ情報として取り扱うことができ、センサ情報を入力とする関数(例えば、従来例1で挙げたように、目的地への移動成分に対して、センサ情報、すなわち障害物の方向や距離に応じて移動成分の補正量を加えていって移動ロボットの経路を算出するような関数)を解くことで経路の算出を行っている。このような関数の一例としては、以下のようなものである。
Thereby, even if it is a processor mounted in a small mobile robot, a avoidance path | route can be calculated rapidly. Even if it is necessary to detect a new obstacle while moving and calculate the avoidance route again, as described above, the calculation amount is greatly reduced. Calculations can be made. For the route calculation, the detection information of the virtual sensor and the detection information of the actual
(数1)
Do(ロボットの経路) =F([センサ情報])
例 :F([センサ情報]) =
Dt(目的地への移動成分)
+ G(回避ゲイン) * L1(障害物1までの距離)* D1(障害物1の方向)
+ G(回避ゲイン) * L2(障害物2までの距離)* D1(障害物2の方向)
+ ...
(障害物の数だけ続く)
なお、Do , Dt , D1, D2 ... はベクトルとする。
(Equation 1)
Do (robot path) = F ([sensor information])
Example: F ([Sensor information]) =
Dt (moving component to the destination)
+ G (avoidance gain) * L1 (distance to obstacle 1) * D1 (direction of obstacle 1)
+ G (avoidance gain) * L2 (distance to obstacle 2) * D1 (direction of obstacle 2)
+. . .
(Continued by the number of obstacles)
Do, Dt, D1, D2 ... are vectors.
なお、図1Aに示した移動ロボット20では、マップ13上において既知の障害物9を認識するデータ処理を障害物認識装置22により行い、回避経路の算出を行うデータ処理を経路計算装置6により行っているが、これらのデータ処理を一つの計算装置(図示は省略)によって行うようにしてもよい。この場合、仮想センサによる障害物の検出情報の受渡しは、前記装置内のメモリ、または内部通信機能を用いて行うようにする。
In the
また、図1Eに示すように、移動ロボット20Bの障害物認識装置22内に、仮想センサを用いて認識した既知の障害物9の情報を障害物検出センサ4が実際に障害物9を検出したときの出力信号と同じ信号、例えば、同じ種類の信号、に変換する変換装置24を具備させても良い。この場合、変換装置24により、仮想センサの出力信号を実際の障害物検出センサ4の出力信号と同様にすることができるため、例えば、仮想センサにおける第2検出領域21の設定などを変更することで、実際にセンサを追加したり、その設置位置を変更したりすることなく、センサを追加したり、その設置位置を変更したりした場合の効果を検証することができる。また、逆に、実際の障害物検出センサ4の代わりに、仮想センサを用いることも容易にできる。これにより、実験段階や調整中の移動ロボットにおいても、実際にセンサを追加したりその設置位置を変更したりすることなく、センサを追加などをした場合の効果を検証することができる。
Further, as shown in FIG. 1E, the
前記実施形態によれば、地図データベース11に基づいて、地図の図形データ(地図情報)を形成し、この図形データ上に、既知の障害物及び本体部2を形成するとともに、この本体部2に、実際のセンサによる第1の検出領域3とは別の第2の検出領域21に存在する既知の障害物9,16を検出可能な仮想センサを設定することで、例えば、本体部2に設けられた障害物検出センサ4の第1の検出領域3が及ばない箇所であっても、地図データベース11に位置情報が格納されている既知の障害物9,16であれば、この仮想センサにより検出することができ、仮想センサを用いることで、本体部2に設けられている障害物検出センサ4のみを用いる場合に比べて、精度の良い障害物検出を行うことができる。また、仮想センサにおける第2の検出領域21は、この第2の検出領域21内に入り込んだ既知の障害物9,16を検出し、この第2の検出領域21の外に存在する既知の障害物9,16については検出しないので、経路計算装置6が回避経路の算出を行う際には、仮想センサにおける第2の検出領域21内に入り込んだ既知の障害物9,16の情報と、本体部2における障害物検出センサ4が検出した障害物のうちの未知の障害物の情報とに基づいて、回避経路の算出を行うことができるので、例えば、地図の図形データの全てを、経路計算時の計算対象とする場合に比べて、計算量を大幅に削減することができる。
According to the embodiment, the map graphic data (map information) is formed based on the
従って、回避経路の算出を行うに際して仮想センサを設けたことで、経路計算時の計算量を大幅に削減していることから、小型の移動ロボットに搭載されるプロセッサであっても、リアルタイムに回避経路の算出を行うことができる。また、移動中に新たな障害物を検出して、再び回避経路の算出を行う必要が生じても、同様にリアルタイムに新たな回避経路の算出を行うことができる。 Therefore, by providing a virtual sensor when calculating the avoidance route, the amount of calculation at the time of route calculation is greatly reduced, so even a processor mounted on a small mobile robot can avoid it in real time. A route can be calculated. Further, even if it is necessary to detect a new obstacle during the movement and calculate the avoidance route again, the new avoidance route can be similarly calculated in real time.
次に、本発明の前記実施形態のより具体的な例の移動ロボットを、図1F〜図6B参照しながら説明する。 Next, a more specific example of the mobile robot according to the embodiment of the present invention will be described with reference to FIGS. 1F to 6B.
図1F、図1G及び、図1Hに示すように、本発明の上記実施形態のより具体的な例の移動ロボット51は、移動可能な直方体形状の本体部51aと、前記本体部51aの位置を計測する自己位置計測装置53と、前記本体部51aの移動目的地までの移動範囲の地図情報を格納する地図データベース52と、仮想センサ情報計算装置54が仮想センサの算出情報を算出するための算出条件を設定変更する仮想センサ設定変更装置57と、前記自己位置計測装置53により計測された自己位置情報73と前記地図データベース52に格納された前記地図情報に基づいて、地図情報上の任意の検出領域において本体部51aの移動に対して障害物となる障害物情報を抽出して前記設定された算出条件の下に仮想センサの算出情報を算出する仮想センサ情報計算装置54(言い換えれば、前記自己位置計測装置53により計測された自己位置情報73と前記地図データベース52に格納された前記地図情報に基づいて、地図情報上の任意の検出領域において本体部51aの移動に対して障害物となる障害物情報を抽出する障害物情報抽出部)と、前記仮想センサ情報計算装置54により算出された仮想センサの算出情報(言い換えれば、前記障害物情報抽出部54により抽出された障害物情報)に基づいて、前記本体部51aが移動するための移動経路を算出する経路計算装置55を有する。また、移動ロボット51には、さらに、地図データベース52と仮想センサ設定変更装置57とに障害物に関する障害物情報や仮想センサ設定に関する情報や目的地に関する情報を入力するための入力装置39と、各種の情報(例えば、地図情報、仮想センサの設定情報、移動経路情報など)を出力する例えばディスプレイのような出力装置38とを備えている。
As shown in FIG. 1F, FIG. 1G, and FIG. 1H, a
ここで、先の図1Aでの移動ロボット20の本体部2は、この移動ロボット51の本体部51aに相当し、以下同様に、障害物検出センサ4は障害物検出センサ56に相当し、自己位置計測装置5は自己位置計測装置53に相当し、地図データベース11は地図データベース52に相当し、障害物認識装置22は仮想センサ設定変更装置57と仮想センサ情報計算装置54に相当し、経路計算装置6は経路計算装置55に相当し、駆動装置7は駆動装置61に相当する。
Here, the
障害物検出センサ56は、本体部51aの周囲の任意の検出領域の障害物を検出し、前記経路計算装置55は仮想センサの算出情報に加えて障害物検出センサ56の検出情報に基づいて移動経路の算出を行うこともできるものとする。
The
また、仮想センサ情報計算装置54が仮想センサの算出情報を算出するための算出条件を設定変更する前記仮想センサ設定変更装置57をロボット51は有しており、この仮想センサ設定変更装置57によって、前記地図データベース52に格納された地図情報と、前記自己位置計測装置53により計測された自己位置情報73と、前記仮想センサ情報計算装置54により算出された仮想センサの算出情報と、前記障害物センサ56の検出情報と、前記経路計算装置55により算出された移動経路に基づいて仮想センサの算出情報を算出するための算出条件を変更することもできるものとする。
Further, the
ここで、前記ロボット51の具体的な仕様例として、図1F、図1G、図1Hの移動可能な本体部51aは、それぞれ独立に駆動可能な左右の2つの駆動車輪59とキャスター型の補助的な2つの小さな補助車輪60で構成された移動装置58で構成されているものとする。左右の駆動車輪59は左右のモータ61aを用いた駆動装置61により所定の回転速度でそれぞれ制御が可能であり、両駆動車輪59の回転速度の差によって方向転換や旋回を行うことが可能である。本体部51aは前後に縦長の直方体に近似される形状とし、左右の2つの駆動車輪59と左右の2つの補助車輪60は4隅に配置され、前方2輪を駆動車輪59、後方2輪を補助車輪60とする。これらの2つの駆動車輪59と2つの補助車輪60は、図1Aの4つの車輪2wに相当する。
Here, as a specific specification example of the
また、自己位置計測装置53は、2つの駆動車輪59の回転駆動軸に取り付けられたエンコーダ62と、エンコーダ62の値から自己位置を算出するオドメトリ計算装置63とを備えて構成されるものとし、経路計算装置55では、2つのエンコーダ62から得られた2つの駆動車輪59の回転速度を基にオドメトリ計算を行うことでリアルタイムなロボット51の自己位置情報73を算出する。算出される位置計測情報は、具体的にはロボット51の本体部51aの位置と、姿勢(進行方向)である。また、時系列な自己位置情報73の差分によってロボット51の速度情報の算出も加えて行うことができる。
The self-
また、障害物検出のための障害物検出センサ56として、複数の光電センサ64と超音波センサ65を用いている。
A plurality of
図2で示すように、個々に64sのような大略矩形の検出領域を検出可能な光電センサ64を、ロボット51の本体部51aの周囲に複数配置して(具体的には、本体部51aの前後面の中央部に1個ずつ、左右側面の中央部に2個ずつ配置して)、ロボット51の本体部51aの周囲を取り囲むような近接領域の検出を行っている。また、65sのような細長い検出領域の超音波センサ65を前方に複数配置して(具体的には、本体部51aの前面に2個配置して)、前方の障害物40を検出する。これら障害物検出センサ56による検出値としては、光電センサ64ではロボット51の進入不可領域40a−6を検出値とするとともに、超音波センサ65では障害物40までの距離Lを検出値としている。よって、これらの光電センサ64の検出領域64sと超音波センサ65の検出領域65sとより、障害物検出センサ56の第1の検出領域56s(図1Aの移動ロボット20の障害物検出センサ4の第1の検出領域3に相当。)を構成している。
As shown in FIG. 2, a plurality of
また、地図データベース52に格納されている地図情報70として、図4Aに示すように、障害物40の位置、大きさ、形状に関する障害物情報72と、目的地の情報71が登録されている。仮想センサの算出時には、この地図情報70の上に自己位置情報73を基に移動ロボット51の情報が重ねられる。
As
また、仮想センサの算出条件の設定(仮想センサの第2の検出領域41(図1Aの移動ロボット20の仮想センサの第2の検出領域21に相当。)の設定)の仕方についてであるが、図1Iに示すように仮想センサ設定変更装置57が無い移動ロボット51では、図3Aで示すように、第2の検出領域41は、移動ロボット51の前方に、移動ロボット51が旋回時(障害物などの回避のための旋回時)に必要な回転時に描く円が入るような幅(回転半径42の2倍以上の幅)を持ち、地図情報70に予め既知となっている障害物40のうち移動ロボット51からみて最大の窪みを持つ障害物40Gの窪みの深さ40G−1より長い距離を持つ長方形の領域としている。なお、ここでは、障害物40Gの窪みの深さ40G−1は、前記超音波センサ65の細長い検出領域65sでは届かないくらい深いものとする。なお、図1Iのロボット51では、入力装置39から仮想センサの設定情報を仮想センサ情報計算装置54に入力して、仮想センサの第2検出領域41を任意に設定することができる。ただし、この例では、ロボット移動中には仮想センサの設定を変更することはできない。
In addition, the calculation conditions of the virtual sensor are set (setting of the
また、移動ロボット51は、仮想センサ情報計算装置54が仮想センサの算出情報を算出するための算出条件を設定変更する前記仮想センサ設定変更装置57を具備しているため、移動ロボット51の移動開始時に仮想センサの第2検出領域41を一旦設定すれば、その領域を固定したものとすることもできる他、障害物検知センサ56から仮想センサ設定変更装置57に入力された障害物情報などの各種情報により仮想センサの第2検出領域41の設定を移動ロボット51の移動途中で仮想センサ設定変更装置57で変更することもできる。
In addition, since the
各種情報、例えば、障害物発見情報により仮想センサの第2検出領域41の設定を移動ロボット51の移動途中で仮想センサ設定変更装置57で変更する例について説明する。
An example in which the setting of the
仮想センサの第2検出領域41としては、例えば、図3Bで示すように、移動ロボット51の通常移動時(障害物発見前)では、ロボット51がその移動経路に沿って移動しているときロボット51に停止指令を出してロボット51が停止するまでに進む距離(ただし、移動ロボット51の速度により依存して距離が変わる。)の長さ43で、ロボット51の旋回時(障害物などの回避のための旋回時)の回転時に描く円が通る幅(回転半径42の2倍以上の幅)を持つ領域41gとすることができる。
As the
そして、図3Bのように、仮想センサの通常時(障害物発見前)の前記第2の検出領域41gに、例えば、障害物40Gが入った場合、その障害物40Gの検出位置より、地図情報70から検出した障害物40Gの形状や位置などを仮想センサ設定変更装置57で抽出し、今度は前記の通常時の検出領域41gに加えて、障害物40の周囲のロボット51の旋回時(障害物などの回避のための旋回時)の回転時に描く円が通る幅(回転半径42の2倍以上)の追加領域41hも第2の検出領域41に変更することができる。
Then, as shown in FIG. 3B, for example, when an
なお、ロボット51が障害物を回避した後、図3Bで示すように、移動ロボット51の通常移動時(障害物発見前)に戻った場合には、追加領域41hを無くし、通常時の検出領域41gのみとするようにしてもよい。
In addition, after the
そして、前記設定された仮想センサの第2の検出領域41により検出を行いつつ仮想センサ情報計算装置54により算出される仮想センサの算出情報は、前記自己位置計測装置53により計測されたロボット51の自己位置情報73と、前記地図データベース52に格納された前記地図情報70とに基づいて抽出され、前記地図情報70上に設定された仮想センサの第2の検出領域41において前記ロボット51の移動に対して障害物となる情報を意味する。この仮想センサの算出情報の具体的な例としては、障害物の情報を考慮して、障害物を回避可能でかつロボット51が移動可能な情報であり、移動ロボット51から障害物40までの距離と、移動ロボット51の移動可能な角度範囲とがある。このような、移動ロボット51から障害物40までの距離と、移動ロボット51の移動可能な角度範囲の情報は、以下のように、第2の検出領域41内での障害物の有無によって、図3C〜図3Fのように算出されたものであり、経路計算装置55へ入力される。なお、図3C〜図3Fは、仮想センサ設定変更装置57により仮想センサの第2の検出領域41を移動途中で変更しない場合として例示しているが、前記したように移動途中で変更する場合でも、同様の算出を行う。
Then, the virtual sensor calculation information calculated by the virtual sensor
(1) 図3Cのように、地図データベース52に格納されている地図情報70と自己位置計測装置53で計測された移動ロボット51の自己位置情報とに基づき、移動ロボット51が進む前方に障害物40が無いと仮想センサ情報計算装置54で判断できるときには、仮想センサ情報計算装置54は、障害物距離無限大(∞)で移動可能角度は41c−3のように移動ロボット51の前面の全方向とする算出情報を算出する。なお、ここでは、仮想センサの第2の検出領域41は、移動ロボット51の前方に伸びる長方形の検出領域41c−2となっており、以下の(2)〜(4)でも同様な領域となっている。
(1) Based on the
(2) 図3Dのように、地図データベース52に格納されている地図情報70と自己位置計測装置53で計測された移動ロボット51の自己位置情報とに基づき、移動ロボット51が進む前方に、2つの対向して配置された障害物40d−6,40d−7があると仮想センサ情報計算装置54で判断できるときであって、かつ、2つの障害物40d−6,40d−7間に通行可能な通路40d−5が形成されていると仮想センサ情報計算装置54で判断した場合、移動ロボット51から移動ロボット51の前面に近い障害物40d−6までの距離を、移動ロボット51から障害物40d−6までの距離40d−4とし、2つの障害物40d−6,40d−7間の通路40d−5内に入る角度方向と通路40d−5を回避する角度方向の2つの角度範囲40d−3を、移動ロボット51の移動可能角度とする算出情報を、仮想センサ情報計算装置54は算出する。ここで、2つの障害物40d−6,40d−7間にロボット51が通行可能な通路40d−5が形成されているか否かの判断は、以下のようにして仮想センサで行うことができる。例えば、アルゴリズム的には、もし、2つの対向して配置された障害物が存在する場合、その2つの障害物の間の距離が、(ロボット51の全体の幅)に(安全余裕分の寸法)を加えた幅寸法以上であるか否かを仮想センサ情報計算装置54で判断し、そのような幅寸法以上であると仮想センサ情報計算装置54で判断するならば、ロボット51は通行可として図3Dの処理を行う一方、そのような幅寸法未満であると仮想センサ情報計算装置54で判断するならばロボット51は通行不可として図3Fの処理を行う。また、ロボット51の幅及び長さ、旋回時の回転半径などの情報については、仮想センサを設定するときの情報の中に含まれているものとする。
(2) As shown in FIG. 3D, based on the
(3) 図3Eのように、地図データベース52に格納されている地図情報70と自己位置計測装置53で計測された移動ロボット51の自己位置情報とに基づき、移動ロボット51が進む前方の真正面に、障害物40e−6があると仮想センサ情報計算装置54で判断できるときは、移動ロボット51から移動ロボット51の前面方向の障害物40e−6までの距離を、移動ロボット51から障害物40e−6までの距離40e−4とし、移動ロボット51が障害物40e−6を回避する角度方向40e−3を移動可能角度とする算出情報を、仮想センサ情報計算装置54は算出する。
(3) As shown in FIG. 3E, based on the
(4) 図3Fのように、地図データベース52に格納されている地図情報70と自己位置計測装置53で計測された移動ロボット51の自己位置情報とに基づき、移動ロボット51が進む前方の真正面に、障害物40f−6があると仮想センサ情報計算装置54で判断できるときであって、かつ、移動ロボット51からみて障害物40f−6の窪みが行き止まり40f−7もしくは通行不可能な通路状40f−5になっていると仮想センサ情報計算装置54で判断できるときには、障害物40f−6の窪みの開口部が塞がったような障害物40f−6と考え、移動ロボット51の前面方向の移動ロボット51から障害物40f−6までの距離を、移動ロボット51から障害物40f−6までの距離40f−4とし、移動ロボット51が障害物40f−6を回避する角度方向40f−3を、移動ロボット51の移動可能角度とする算出情報を、仮想センサ情報計算装置54は算出する。
(4) As shown in FIG. 3F, based on the
次に、経路計算装置55では、図4B、図4Cのように移動ロボット51の移動経路を算出する。
Next, the
まず、地図データベース52に格納されている地図情報70と自己位置計測装置53で計測された移動ロボット51の自己位置情報とに基づき、ロボット51の進行方向に障害物の無いと仮想センサ情報計算装置54で判断されている場合(図3Cのような場合)は、図4Bで示すように、移動ロボット51と目的地71b−2を結ぶ目的地71b−2への方向71b−3と、自己位置計測装置53により計測された現在の移動ロボット51の進行方向51b−4の角度差を経路計算装置55で算出し、その角度差に比例した旋回速度成分51b−5を、直進速度成分に加えた移動経路51b−6を経路計算装置55で算出し、なお、ロボット51の直進速度成分は障害物や目的地までの距離及び前記旋回速度成分によって設定される。
First, based on the
以上のように、経路計算装置55において、このような移動速度を算出することによって移動経路51b−6で移動できる。経路計算装置55で算出された移動速度は、駆動装置61に入力されて、移動ロボット51が移動を行う。なお、障害物等が何も無ければロボット51の最大速度にて移動が行われる。
As described above, the
ここで、移動ロボット51と目的地71b−2を結ぶ目的地71b−2への方向71b−3は、仮想センサ情報計算装置54又は経路計算装置55で、必要に応じて個別に求めることができる。仮想センサ情報計算装置54では、仮想センサの検出設定が、目的地71b−2への方向71b−3の領域を第2検出領域41として検出する場合などにおいて、目的地71b−2への方向71b−3の算出を行う。この場合、仮想センサに送られた自己位置情報と地図情報の目的地の情報から仮想センサ情報計算装置54で目的地71b−2への方向71b−3を算出することができる。これに対して、経路計算装置55では、経路算出用として使用するために目的地71b−2への方向71b−3も算出する(ここでは、ロボット51の現在の進行方向と目標(目的地71b−2)との角度差の算出などにも使用する)。仮想センサ情報計算装置54の場合と同様に、自己位置情報と地図情報の目的地の情報からも経路計算装置55で算出することができる。また、自己位置計測装置53により、現在の移動ロボット51の進行方向51b−4を求めるとき、例えばオドメトリと呼ばれる方法で算出することができる。本例の場合は、ロボット51の両車輪の回転速度を積分することで、ロボット51の位置及び方向を算出することができる。
Here, the
また、旋回速度成分51b−5、及び、直進速度成分は、どちらも、経路計算装置55で求めることができる。ちなみに、各種ゲインなど設定については、パラメータとすることも可能であるが、ここでは、予め必要数値がアルゴリズムに含まれているものとし、説明を簡略化するため、設定装置等については説明を省略する。旋回速度成分については、本明細書に記載しているように、「現在の進行方向」と「目的地の方向」の差を求め(又は、「進行方向」と「移動可能で進入不可な領域を除き目的地方向に最も近い角度)」の差を求め)、
その差に比例ゲインを掛けた大きさを旋回速度成分とする。そうすることで、目的地の方向にロボット51が向くように方向の制御が行われる。また、直線速度成分は、以下のように算出することができる。まず、目的地との距離や障害物との距離に応じて進行速度を設定する。ここで、進行速度であるが、ロボットのモータが継続的に出しうる最大の回転速度時の速度を「最大速度」とすると、目的地付近や障害物が近い場合には、減速を始める距離をXdとして、例えば目的地や障害物の距離をxとすると、距離Xdの間に目的地や障害物が何も無ければその100%の速度を進行速度とする。距離Xdの間に目的地や障害物があれば以下の式で与えられるものとする。
Further, both the
The magnitude obtained by multiplying the difference by a proportional gain is defined as a turning speed component. By doing so, direction control is performed such that the
(数2)
[進行速度] = [最高速度] *( 1 − [減速ゲイン] * (Xd − x))
(Equation 2)
[Advance speed] = [Maximum speed] * (1-[Deceleration gain] * (Xd-x))
また、直線速度成分であるが、上記の旋回成分が大きい時に大きな直線速度で移動しようとすると、ロボットが遠心力により旋回方向外側に転倒する可能性があるので、以下の式で与えるとする。 Also, although it is a linear velocity component, if the robot tries to move at a large linear velocity when the above-mentioned turning component is large, the robot may fall to the outside in the turning direction due to centrifugal force.
(数3)
[直線速度成分] = [進行速度] * ( 1 − [旋回減速ゲイン] * | 旋回速度成分| )
(Equation 3)
[Linear speed component] = [Progression speed] * (1-[Swivel deceleration gain] * | Turning speed component |)
また、最大速度は、前記したように、ロボット51のモータが継続的に出しうる最大の回転速度時の速度を「最大速度」とする。具体的には、本例の場合以下の式で算出することができる。
Further, as described above, the maximum speed is defined as the “maximum speed”, which is the maximum speed at which the motor of the
(数4)
[最大速度] = [車輪の半径] * [モータの継続最大回転数] * [ギア比]
(Equation 4)
[Maximum speed] = [Wheel radius] * [Maximum motor speed] * [Gear ratio]
また、最大速度に関する設定は、前記したように経路計算装置55のアルゴリズム内に含まれているものとする。
Further, it is assumed that the setting relating to the maximum speed is included in the algorithm of the
また、図4Cで示すように、地図データベース52に格納されている地図情報70と自己位置計測装置53で計測された移動ロボット51の自己位置情報とに基づき、ロボット51の進行方向に障害物が存在していると仮想センサ情報計算装置54で判断されている場合で、かつ、障害物検出センサ56や仮想センサの算出情報に障害物40の情報がある場合(図3D〜図3Fのような場合)には、次のような経路を経路計算装置55で算出する。
Further, as shown in FIG. 4C, an obstacle is present in the traveling direction of the
図4Cで示すように、障害物40c−9が目的地方向やロボット51の近辺に存在する場合、仮想センサの算出情報として算出したロボット51の移動可能角度51c−7の中で、障害物検出センサ56が検出した進入不可領域40c−8を除く角度範囲でかつ、移動ロボット51と目的地71c−2を結ぶ目的地の方向71c−3に最も近い方向に向かうように、旋回速度成分51c−5を直進速度成分に加えることにより移動経路51c−6を経路計算装置55で算出する。また、移動ロボット51から障害物40までの距離に応じて減速させた速度を経路計算装置55で算出する。経路計算装置55で算出された移動速度は、駆動装置61に入力されて、移動ロボット51が駆動される。
As shown in FIG. 4C, when the
なお、旋回速度成分51c−5、及び、直進速度成分は、前記したのと同様に求められる。ただし、旋回速度成分については、本明細書に記載しているが、「現在の進行方向」と「移動可能で進入不可な領域を除き目的地方向に最も近い角度」の差を求め、その差に比例ゲインを掛けた大きさを旋回速度成分とする。
The
また、直線速度成分は、以下のように算出する。まず、目的地との距離や障害物との距離に応じて進行速度を設定する。ここで、進行速度であるが、ロボットのモータが継続的に出しうる最大の回転速度時の速度を「最大速度」とすると、目的地付近や障害物が近い場合には、減速を始める距離をXdとして、例えば目的地や障害物の距離をxとすると、距離Xdの間に目的地や障害物が何も無ければその100パーセントの速度を進行速度とする。距離Xdの間に目的地や障害物があれば、以下の式で与えられるものとする。 The linear velocity component is calculated as follows. First, the traveling speed is set according to the distance to the destination and the distance to the obstacle. Here, the traveling speed is the maximum rotational speed that the robot motor can continuously generate, and the maximum speed is defined as the distance at which deceleration starts when near the destination or near an obstacle. As Xd, for example, if the distance between the destination and the obstacle is x, if there is no destination or obstacle during the distance Xd, the speed of 100% is set as the traveling speed. If there is a destination or obstacle during the distance Xd, it is given by the following formula.
(数5)
[進行速度] = [最高速度] *( 1 − [減速ゲイン] * (Xd− x ) )
(Equation 5)
[Advance speed] = [Maximum speed] * (1-[Deceleration gain] * (Xd- x))
また、直線速度成分であるが、上記の旋回成分が大きい時に大きな直線速度で移動しようとすると、ロボット51が遠心力により旋回方向外側に転倒する可能性があるので、以下の式で与えるとする。
In addition, although it is a linear velocity component, if the
(数6)
[直線速度成分] = [進行速度] * ( 1 − [旋回減速ゲイン] * | 旋回速度成分| )
(Equation 6)
[Linear speed component] = [Progression speed] * (1-[Turning deceleration gain] * | Turning speed component |)
このように、障害物40が移動ロボット51の進行方向にある場合は、移動ロボット51が障害物40の回避を行うような移動経路をとり、障害物40を移動ロボット51が通り過ぎると(言い換えれば、第1、第2の検出領域から障害物が無くなると直ちに)、再び目的地71c−2に向かう経路をとって(図4Bのような算出を行って)目的地71c−2に向かう。
As described above, when the
なお、経路計算装置55で算出された移動経路に沿って移動ロボット51が移動するためには、駆動装置61の左右のモータ61aの左右の駆動車輪59の回転速度を次のように制御することで実現する。すなわち、直進速度成分については左右2つの駆動車輪59の平均速度で与え、旋回速度成分については左右2つの駆動車輪59の速度差によって与えるようにすればよい。
In order to move the
また、前記のような構成を持つ移動ロボット51の基本的な処理フローは、以下のように図6A及び図6Bに示すようなものとなる。
Further, the basic processing flow of the
仮想センサの第2の検出領域41の設定を移動途中で変更しない移動ロボット51では、図6Aのような基本のフローにより処理を行う。
In the
ステップS1: まず、入力装置39によりロボット51の移動目的地を地図データベース52に入力する。入力により地図情報70上の目的地を更新し、目的地到達まで以降のステップを実行する。なお、移動目的地の入力においては、目的地の座標と到達判定の際に用いる到達条件距離を入力するものとする。
Step S1: First, the moving destination of the
ステップS2: 自己位置計測装置53によりロボット51の自己位置情報73を取得する。
Step S2: Self-
ステップS3: ステップS2で取得された自己位置情報73と地図情報70に基づいて仮想センサの算出情報を仮想センサ情報計算装置54により算出する。
Step S3: The virtual sensor
ステップS4: ステップS2で取得されたロボット51の自己位置情報73と地図情報70の目的地の情報とを経路計算装置55により比較して、目的地に到達したか否かを判定する。この時、自己位置(現在位置)の座標と目的地の座標より、移動ロボット51の自己位置(現在位置)から目的地までの距離を経路計算装置55により算出し、その距離がステップS1にて入力された到達条件距離以内であると経路計算装置55により判定すれば、ロボット51は目的地へ到達したものとし、地図情報70より目的地の情報をクリアして、ロボット51の移動を駆動装置61により終了し(ステップS7)、新たな目的地入力(ステップS1)待ちとなる。
Step S4: The self-
ステップS5: もし、目的地に到達していなければ、すなわち、ロボット51の自己位置から目的地までの距離が到達条件距離より大きいと経路計算装置55により判定する場合には、ステップS2,3で算出された情報に基づいてロボット51の移動経路を経路計算装置55で算出する。
Step S5: If the
ステップS6: ステップS4で算出された移動経路に沿ったロボット51の移動を実現するように、駆動装置61によりロボット51の移動を制御する。ステップS5を実施後は、再びステップS2に戻る。
Step S6: The movement of the
さらに、障害物検出センサ56と仮想センサ設定変更装置57を用いて、仮想センサの第2の検出領域41の設定を移動途中で変更するような、移動ロボット51では、図6Bのようなフローにより処理を行う。
Further, in the
ステップS11: まず、入力装置39によりロボット51の移動目的地を地図データベース52に入力する。入力により地図情報70上の目的地を更新し、目的地到達まで以降のステップを実行する。なお、移動目的地の入力においては、目的地の座標と到達判定の際に用いる到達条件距離を入力するものとする。
Step S11: First, the moving destination of the
ステップS12: 障害物検出センサ56及び自己位置計測装置53により各種情報を取得する。具体的には、以下のステップS12−1とステップS12−2を行う。
ステップS12−1: 自己位置計測装置53によりロボット51の自己位置情報73を取得する。
ステップS12−2: 障害物検出センサ56により障害物の検出情報を取得する。
Step S12: Various information is acquired by the
Step S12-1: Self-
Step S12-2: Obstacle detection information is acquired by the
ステップS13: ステップS12で取得された情報を基に仮想センサの算出情報の算出条件を設定し、仮想センサの算出情報を仮想センサ情報計算装置54により算出する。具体的には、以下のステップS13−1とステップS13−2とステップS13−3を行う。
ステップS13−1: ステップS12で取得された自己位置情報73や障害物の検出情報、地図データベース52に格納された地図情報70を基に、必要であれば、仮想センサ設定変更装置57により仮想センサの算出情報の算出条件の設定を変更する。
ステップS13−2: ステップS12で取得された自己位置情報73を基に、仮想センサ設定変更装置57に従った算出条件によって、地図データベース52に格納された地図情報70より仮想センサの算出情報を仮想センサ情報計算装置54により算出する。
ステップS13−3: ステップS13−2で算出された仮想センサの算出情報を基に、必要であれば、仮想センサ設定変更装置57により仮想センサの算出情報の算出条件の設定を変更し、変更した仮想センサ設定変更装置57に従った算出条件によって地図データベース52に格納された地図情報70より、再度、仮想センサの算出情報を仮想センサ情報計算装置54により算出する。
Step S13: Based on the information acquired in step S12, the calculation conditions for the virtual sensor calculation information are set, and the virtual sensor calculation information is calculated by the virtual sensor
Step S13-1: Based on the self-
Step S13-2: Based on the self-
Step S13-3: Based on the virtual sensor calculation information calculated in step S13-2, if necessary, the virtual sensor setting
ステップS14: ステップS12で取得された自己位置情報73と地図情報70の目的地の情報とを経路計算装置55により比較して、目的地に到達したか否かを判定する。この時、自己位置(現在位置)の座標と目的地の座標より、移動ロボット51の自己位置(現在位置)から目的地までの距離を経路計算装置55により算出し、その距離がステップS11にて入力された到達条件距離以内であると経路計算装置55により判定すれば、ロボット51は目的地へ到達したものとし、地図情報70より目的地の情報をクリアして、ロボット51の移動を駆動装置61により終了し(ステップS17)、新たな目的地入力(ステップS1)待ちとなる。
Step S14: The self-
ステップS15: もし、目的地に到達していなければ、すなわち、ロボット51の自己位置から目的地までの距離が到達条件距離より大きいと経路計算装置55により判定する場合には、ステップS12,S13で取得された情報に基づいてロボット51の移動経路を経路計算装置55で算出する。
Step S15: If the
ステップS16: ステップS15で算出された移動経路に沿ったロボット51の移動を実現するように、駆動装置61によりロボット51の移動を制御する。ステップS16を実施後は、再びステップS12に戻る。
Step S16: The movement of the
以上のような、移動ロボット51とすれば、仮想センサの第2の検出領域41の設定を移動途中で変更しない基本的なフローにおいても、実際の障害物検出センサ56ではセンサの物理的な特性によって検出できないような、長距離で広範囲な障害物の検出を仮想センサの第2の検出領域41で行うことができ、例えば、行き止まりの通路を事前に仮想センサの第2の検出領域41で検出することができるようになり、事前に回避することができるため、誤って行き止まりの通路に入り込み非効率な移動を行ったり、デッドロックに陥ることを防ぐことができる。また、経路算出における計算量においても仮想的センサ算出時の計算量は、(仮想センサの第2の検出領域41の検出面積の検索計算=検出面積/精度)に比例となるため、最悪の場合でも、移動範囲全面を検出領域にとっても、(検出面積/精度)の2乗に比例する従来例2に比べて、非常に小さい計算量で算出が可能となる。従って、障害物が存在する環境下にある移動ロボットにおいて、リアルタイムにかつ効率的な目的地への移動を実現することができる。
With the
本発明では、仮想センサを設定することができるため、特に実際のセンサの物理的な検出特性に縛られることなく自由に特性(例えば検出領域の大きさや方向など)を設定することができるため、例えば、障害物の裏側や離れた個所の検索を行ったり、前記の例で挙げたように地図データベース52の地図情報70に基づいて障害物の形状を認識したり、その周囲を検出するなど実際のセンサには検出不可能な情報も取得することができる。さらに、実際のセンサを搭載する際に起こりうる、検出精度と検出領域の問題、センサ数や取付けに関する問題、センサ間の干渉の問題、周囲環境の影響の問題なども考える必要が無くなる。
In the present invention, since a virtual sensor can be set, characteristics (for example, the size and direction of a detection region) can be freely set without being particularly restricted by the physical detection characteristics of an actual sensor. For example, a search is performed on the back side of the obstacle or at a distant place, the shape of the obstacle is recognized based on the
また、仮想センサに、実際のセンサである障害物検出センサ56を組合わせることで、地図データベース52に登録されていない未知の障害物、及び、移動する障害物を障害物検出センサ56で検出することができて、これらの未知の障害物、及び、移動する障害物への対応が可能となる。そして、実際の障害物検出センサ56によって検出された障害物を地図データベース52の地図情報に地図登録装置69(図1H参照)により登録するようにしてもよく、このようにすれば、地図データベース52を更新することでより正確な仮想センサの算出情報を算出することが可能となる。
Further, the
また、仮想センサ設定変更装置57を搭載することでロボットや周囲の状態に応じた算出設定を変更を行うことができるため、障害物が少ない個所では検出領域を小さく精度を粗く設定することができ、必要な場合だけ検出領域を増やしたり精度を上げることで全体の計算量を抑えながら、高精度の検出を実現することができる。精度や検出領域だけでなく、必要に応じて特性を変える事もが可能となり、例えば、算出設定を切り替えるだけで複数のセンサの機能を兼ねることも可能となる。
In addition, by installing the virtual sensor setting
ここで、本発明の最適な仮想センサの設定方法であるが、前記例に挙げたようにロボットの移動特性及び障害物の特性に合わせて、必要最小限の検出領域と精度とするのが良い。検出領域は小さく、検出精度は粗いほど計算量が少なくなり、計算装置などの処理装置への負担が小さくなる。さらに、検出領域だけではなく、検出特性についても必要に応じて最適なものを設定すれば良い。 Here, the optimal virtual sensor setting method of the present invention is set to the minimum necessary detection area and accuracy in accordance with the movement characteristics of the robot and the characteristics of the obstacles as described in the above example. . The smaller the detection area and the coarser the detection accuracy, the smaller the amount of calculation and the smaller the burden on a processing device such as a computing device. Further, not only the detection area but also the detection characteristic may be set as appropriate as necessary.
ここで、検出特性とは、仮想センサにより、情報として「抽出(検出)できるもの」を意味し、例えば、以下のようなものがある。 Here, the detection characteristic means “what can be extracted (detected)” as information by a virtual sensor, and includes, for example, the following.
(1)仮想センサの第2の検出領域内の障害物の有無の情報。最も近い障害物の位置や方向の情報。
これは、仮想センサの、実際のセンサ的な使い方を可能とするものである。
(1) Information on the presence or absence of an obstacle in the second detection area of the virtual sensor. Information on the location and direction of the nearest obstacle.
This makes it possible to use the virtual sensor as an actual sensor.
(2)通路の通行の可否判定の情報。
仮想センサにより、袋小路や迷路でロボットが通行できるか否かの判定情報。
(ロボットの移動経路が続く方向に、第2の検出領域を順次伸ばして行き、通路の出口に達するか否かを検出する。)
(2) Information on whether passage is permitted or not.
Information for determining whether or not a robot can pass through a dead alley or a maze by a virtual sensor.
(The second detection area is sequentially extended in the direction in which the robot movement path continues to detect whether or not the exit of the passage is reached.)
(3)障害物の種類(例えば、重さや材質など)の情報。
地図データベース52に、障害物の位置や形状と同様に、障害物のプロパティとして登録すればよい。
軽い障害物であれば、ロボットにより押しのけるという選択ができる。
また、障害物が脆い材質なら、慎重にロボットがよける判断材料にもなる。
(3) Information on the type of obstacle (for example, weight, material, etc.).
What is necessary is just to register into the
If it is a light obstacle, you can choose to push it away by the robot.
In addition, if the obstacle is a brittle material, it can also be used as a judgment material for the robot to be careful.
また、障害物検出センサ56と仮想センサとが組み合わさった場合は、実際の障害物検出センサ56と仮想センサのお互いの長所をそれぞれ生かした役割分担を行うことができる。例えば、前記例にあるように実際の障害物検出センサ56は、最終的な安全確保のためのロボット51の周辺の検出領域と、未知の障害物に対する事前回避のためにロボット51の前方へのロングレンジの検出に用い、仮想センサではロボット51の移動状況に伴ったロボット51の移動経路上の障害物の検出や障害物検出時に障害物の周辺の詳細な情報収集など実際のセンサでは検出困難な領域を検出するのが良い。
Further, when the
また、最適な移動経路の算出方法であるが、これは、実際の障害物検出センサ56の情報に基づく経路計算方法をそのまま用いるのが良い。仮想センサの算出情報自体、実際の障害物検出センサ56と同じ情報内容となっていて区別する必要性が無いことと、逆に実際の障害物検出センサ56の代わりに仮想的なセンサを用いて開発していて、目的となる仕様のセンサが市販などにより入手できたときに、仮想的なセンサ(例えば図5の仮想センサ計算装置54と変換装置50とより構成される、置換可能な仮想的なセンサ56z)の実際のセンサへの置き換え(図5の矢印参照)が容易に行うことができるからである。
Further, although it is an optimal moving route calculation method, it is preferable to use a route calculation method based on the information of the actual
その特性を利用して、さらに図5のように仮想センサの算出情報を障害物検出センサ56が実際に障害物を検出したときの出力信号と同じ信号、例えば、同じ種類の信号、に変換する変換装置50を具備させても良い。この場合、変換装置50により、仮想センサの出力信号を実際の障害物検出センサ56の出力信号と同様にすることができるため、例えば、仮想センサにおける検出領域の設定などを変更することで、実際にセンサを追加したり、その実際のセンサの設置位置を変更したりすることなく、センサを追加したり、その設置位置を変更したりした場合の効果を検証することができる。また、逆に、実際の障害物検出センサ56の代わりに仮想センサを用いることも容易にできる。これにより、実験段階や調整中の移動ロボットにおいても、実際にセンサを追加したりその設置位置を変更したりすることなく、センサを追加などをした場合の効果を検証することができる。
Using the characteristics, the calculated information of the virtual sensor is further converted into the same signal as the output signal when the
ここで、仮想センサとの比較において、実際の障害物検出センサの代表的な例としては、以下のようなものが挙げられる。 Here, in the comparison with a virtual sensor, the following are mentioned as a typical example of an actual obstacle detection sensor.
(1) 領域の障害物の有無を判定するセンサ(例:エリアセンサなど)。
(2) 障害物までの距離を検出するセンサ(例:超音波センサ、レーザーセンサなど)。
(3) ある角度範囲における障害物の有無や距離情報を検出するセンサ(例:光電センサ、レーザースキャナ)。
(1) A sensor that determines the presence or absence of an obstacle in a region (eg, area sensor).
(2) A sensor that detects the distance to an obstacle (eg, ultrasonic sensor, laser sensor, etc.).
(3) A sensor that detects the presence or absence of obstacles and distance information in a certain angle range (eg, photoelectric sensor, laser scanner).
図5の本例で挙げられた仮想センサは、前記(3)のバリエーションとして機能するものである。例えば、仮想センサを、障害物が無い角度領域を検出するセンサとして使用するようにすれば、ロボットの移動可能な角度範囲の検出と同義となる。実際のセンサについては、単に物理的に値を検出するだけでなく、その値を、ある程度センサ内で意味ある形に計算して、出力を行うものも、センサとして考えることができる。例えば、前記(3)のスキャニングを行うセンサや、ステレオカメラを使った距離センサなどが、これに該当する。 The virtual sensor mentioned in this example in FIG. 5 functions as a variation of the above (3). For example, if a virtual sensor is used as a sensor that detects an angular region without an obstacle, it is synonymous with detection of an angular range in which the robot can move. As for an actual sensor, a sensor that not only physically detects a value but also calculates the value in a meaningful form within the sensor and outputs it can be considered as a sensor. For example, the sensor that performs the scanning of (3), a distance sensor that uses a stereo camera, and the like correspond to this.
すなわち、センサの物理的なデバイスにより検出された情報を基に得られた、検出情報が、センサによる「検出情報」と言うことができる。 That is, the detection information obtained based on the information detected by the physical device of the sensor can be referred to as “detection information” by the sensor.
一方、仮想センサの「算出情報」とは、「地図データベースに蓄積されている情報から抽出される情報」である。実際のセンサには、実際のセンサ自体の物理的制限が加わるのに対し、仮想センサであれば、地図データベースに情報さえあれば、何でも抽出することができ、逆に、必要となるデータをデータベースに登録しておけば良いので、検出できる情報に制限が無く、結果的に、仮想センサの「算出情報」は、実際のセンサの「検出情報」の内容を包含するものとなる。 On the other hand, “calculated information” of a virtual sensor is “information extracted from information stored in a map database”. The actual sensor is physically limited by the actual sensor, but if it is a virtual sensor, anything can be extracted as long as there is information in the map database. Conversely, the necessary data can be extracted from the database. The information that can be detected is not limited, and as a result, the “calculation information” of the virtual sensor includes the contents of the “detection information” of the actual sensor.
前述したように、仮想センサ設定変更装置57によって、前記地図データベース52に格納された地図情報と、前記自己位置計測装置53により計測された自己位置情報73と、前記仮想センサ情報計算装置54により算出された仮想センサの算出情報と、前記障害物センサ56の検出情報と、前記経路計算装置55により算出された移動経路に基づいて仮想センサの算出情報を算出するための算出条件を変更する例について、以下に、より具体的に例示する。
As described above, the map information stored in the
まず、地図情報に基づいて、仮想センサ設定変更装置57により算出条件を変更する場合について説明する。図3Aを通常の第2の検出領域41であるとするとき、図12Aに示されるように、地図データベース52に蓄積された地図情報中で障害物が多い領域IIIにロボット51が進入しかけたとき(ロボット51のIの状態)、仮想センサ設定変更装置57により算出条件を、通常の第2の検出領域41s−1の設定状態(図12B)から、障害物が多い領域用の第2の検出領域41s−2の設定状態(図12C)に変更する。通常の第2の検出領域41s−1の設定状態は、図12Bに示されるように、ロボット51の前方の領域のみで障害物の検出を行う。これに対して、障害物が多い領域用の第2の検出領域41s−2の設定状態は、図12Cに示されるように、ロボット51の前方の領域のみならず、ロボット51の周囲言い換えれば全方位に、現在の安全停止可能な距離(速度停止までに進む距離)を設定して、その設定された領域で障害物の検出を行う。一方、地図情報中で障害物が多い領域IIIからロボット51が出かけたとき(ロボット51のIIの状態)、仮想センサ設定変更装置57により算出条件を、障害物が多い領域用の第2の検出領域41s−2の設定状態(図12C)から、通常の第2の検出領域41s−1の設定状態(図12B)に戻すように変更する。
First, a case where the calculation condition is changed by the virtual sensor
次に、自己位置情報(例えば速度情報)に基づいて、仮想センサ設定変更装置57により算出条件を変更する場合について説明する。図3Aを通常の第2の検出領域41であるとするとき、ロボット51の移動速度が閾値以上になったとき、仮想センサ設定変更装置57により算出条件を、遅い速度用の第2の検出領域41s−3の設定状態(図13A)から、速い速度用の第2の検出領域41s−4の設定状態(図13B)に変更する。遅い速度用の第2の検出領域41s−3の設定状態は、図12Bの通常の第2の検出領域41s−1の設定状態と同様である。これに対して、速い速度用の第2の検出領域41s−4の設定状態は、図13Bに示されるように、ロボット51の前方に、ロボット51が現在の速度で安全停止可能な距離(速度停止までに進む距離)を設定して、その設定された領域で障害物の検出を行う。一方、ロボット51の移動速度が閾値未満になったとき、仮想センサ設定変更装置57により算出条件を、速い速度用の第2の検出領域41s−4の設定状態(図13B)から、遅い速度用の第2の検出領域41s−3の設定状態(図13A)に戻すように変更する。
Next, a case where the calculation condition is changed by the virtual sensor setting
次に、仮想センサの算出情報に基づいて、仮想センサ設定変更装置57により算出条件を変更する場合については、既に前述したように、仮想センサが障害物を検出した(第2の検出領域41に障害物が存在した)とき、仮想センサ設定変更装置57により算出条件を、通常の第2の検出領域41gの設定状態(図3A)から、追加領域41hを含む、障害物検出後用の第2の検出領域41の設定状態(図3B)に変更する。一方、仮想センサが障害物を検出しなくなった(第2の検出領域41に障害物が無くなった)とき、追加領域41hを含む、障害物検出後用の第2の検出領域41の設定状態(図3B)から、通常の第2の検出領域41gの設定状態(図3A)に戻すように変更する。
Next, when the calculation condition is changed by the virtual sensor setting
次に、移動経路に基づいて、仮想センサ設定変更装置57により算出条件を変更する場合については、図3Bに示されるように、ロボット51の移動経路に沿って、ロボット51に移動停止指令を出してロボット51が停止するまでに進む距離(速度に依存した距離)の長さにより、ロボット51の旋回時に、通常の第2の検出領域41gの設定状態(図3A)から、ロボット51が描く円軌道が通る幅(回転半径42の2倍以上)を含む検出領域に変更する。ロボット51の旋回動作が終了すると、ロボット51が描く円軌道が通る幅(回転半径42の2倍以上)を含む検出領域から、通常の第2の検出領域41gの設定状態(図3A)に戻すように変更する。
Next, in the case where the calculation conditions are changed by the virtual sensor
さらに、障害物検出センサ56の検出情報に基づいて、仮想センサ設定変更装置57により算出条件を変更する場合について説明する。図14Aは通常の設定領域であって、障害物検出センサ56の第1の検出領域56sと仮想センサの第2の検出領域41とが設定されている。図14Bに示されるように、障害物検出センサ56の第1の検出領域56sで障害物40が検出されたとき、仮想センサ設定変更装置57により算出条件を、図14Aは通常の設定領域から、図14Cに示されるように、ロボット51の前方の領域のみならず、ロボット51の周囲言い換えれば全方位に、現在の安全停止可能な距離(速度停止までに進む距離)を仮想センサとして追加設定して、その追加設定された領域と第1の検出領域56sとが合わさった検出領域56tと、第2の検出領域41とで、障害物の検出を行う。一方、図14Dに示すように、追加設定された領域と第1の検出領域56sとが合わさった検出領域56tで障害物40が検出されなくなったとき、仮想センサ設定変更装置57により算出条件を、図14Eに示すように、通常の設定領域に戻すように変更する。
Furthermore, a case where the calculation condition is changed by the virtual sensor setting
なお、本実施形態では、補助車輪付きの独立駆動2輪型の移動ロボットを想定したが、その他の移動機構を採用しても良い。例えば、自動車のような舵によって曲がる移動機構でも良いし、車輪を用いない足型の移動機構でも良い、さらに海上を移動する船舶型の移動ロボットにも適応しても良い。その場合は、個々の移動機構の特性に合わせた仮想センサの設定や、移動経路の算出方法を採用すれば良い。また、本実施形態では二次元の平面での移動を想定しているが3次元空間の移動に適応しても良い。この場合も、仮想センサの検出領域は3次元的に設定するだけで容易に適応できる。従って、本発明の技術は、飛行船や飛行機のような飛行体や、マニピュレータの先端部の移動にも適応することができる。 In the present embodiment, an independently driven two-wheeled mobile robot with auxiliary wheels is assumed, but other moving mechanisms may be employed. For example, a moving mechanism that bends by a rudder such as an automobile may be used, a foot-shaped moving mechanism that does not use wheels, or a ship-type moving robot that moves on the sea. In that case, a virtual sensor setting that matches the characteristics of each moving mechanism or a method for calculating a moving route may be employed. Further, in the present embodiment, it is assumed that the movement is in a two-dimensional plane, but it may be adapted to movement in a three-dimensional space. Also in this case, the detection area of the virtual sensor can be easily adapted only by setting it three-dimensionally. Therefore, the technology of the present invention can also be applied to the movement of a flying object such as an airship or an airplane, or the tip of a manipulator.
なお、前記様々な実施形態及びより具体的な例のうちの任意の実施形態及びより具体的な例を適宜組み合わせることにより、それぞれの有する効果を奏するようにすることができる。 It should be noted that, by appropriately combining any of the various embodiments and more specific examples and more specific examples, the respective effects can be achieved.
本発明の移動ロボットは、障害物が存在する環境下にある移動ロボットにおいて、リアルタイムにかつ効率的な目的地への移動を実現することができるため、工場や、駅、空港等の公共の場で自立的に作業を行うロボットや、家庭用ロボットなどにも適応することができる。 The mobile robot according to the present invention can realize real-time and efficient movement to a destination in a mobile robot in an environment where obstacles exist, so that it can be used in public places such as factories, stations, and airports. It can also be applied to robots that work independently and home robots.
本発明は、添付図面を参照しながら好ましい実施形態に関連して充分に記載されているが、この技術の熟練した人々にとっては種々の変形や修正は明白である。そのような変形や修正は、添付した請求の範囲による本発明の範囲から外れない限りにおいて、その中に含まれると理解されるべきである。 Although the present invention has been fully described in connection with preferred embodiments with reference to the accompanying drawings, various variations and modifications will be apparent to those skilled in the art. Such changes and modifications are to be understood as being included therein, so long as they do not depart from the scope of the present invention according to the appended claims.
2,51a…本体部、3,56s…第1の検出領域、4,56…障害物検出センサ、5,53…自己位置計測装置、6,55…経路計算装置、7,61…駆動装置、8,71b−2…目的地、9…障害物、11,52…地図データベース、12…メモリ領域、13…マップ、16…障害物、16a…開口部、16b…行き止まり部、20,20B,51…移動ロボット、21,41g…第2の検出領域、22…障害物認識装置、23…障害物、24…変換装置、38…出力装置、39…入力装置、40a−6…進入不可領域、
40d−4,40e−4…距離、40d−5…通行可能な通路、40d−6,40d−7,40e−6,40f−6…障害物、40e−3…角度方向、40f−7…行き止まり、40f−5…通路状、41s−1,41s−2,41s−3,41s−4…第2の検出領域、40G…障害物、40G−1…窪みの深さ、41h…追加領域、42…回転半径、51b−4…進行方向、51b−5…旋回速度成分、51b−6…移動経路、54…仮想センサ情報計算装置、56t,64s,65s…検出領域、57…仮想センサ設定変更装置、62…エンコーダ、63…オドメトリ計算装置、64…光電センサ、65…超音波センサ、70…地図情報、71b−3…方向、73…自己位置情報。
DESCRIPTION OF
40d-4, 40e-4 ... Distance, 40d-5 ... Passage, 40d-6, 40d-7, 40e-6, 40f-6 ... Obstacle, 40e-3 ... Angular direction, 40f-7 ... Dead end , 40f-5 ... passage shape, 41s-1, 41s-2, 41s-3, 41s-4 ... second detection region, 40G ... obstacle, 40G-1 ... depth of depression, 41h ... additional region, 42 ... turning radius, 51b-4 ... traveling direction, 51b-5 ... turning speed component, 51b-6 ... movement path, 54 ... virtual sensor information calculation device, 56t, 64s, 65s ... detection region, 57 ... virtual sensor
Claims (3)
前記本体部の自己位置を計測する自己位置計測装置と、
前記本体部の移動範囲の地図情報を格納する地図データベースと、
前記自己位置計測装置により計測された自己位置情報と、前記地図データベースに格納された前記地図情報とに基づいて、前記地図情報上に設定されかつ前記本体部の移動に対して障害物となる障害物情報を検出可能な仮想センサの検出領域において前記障害物情報を抽出する障害物情報抽出部と、
前記障害物情報抽出部により抽出された前記障害物情報に基づいて、前記本体部が移動するための移動経路を算出する経路計算装置と、
前記障害物情報抽出部が前記障害物情報を抽出するための抽出条件を設定変更する仮想センサ設定変更装置と、
を備える移動ロボット。 A movable robot body,
A self-position measuring device for measuring the self-position of the main body,
A map database for storing map information of the movement range of the main body,
An obstacle set on the map information based on the self-position information measured by the self-position measuring device and the map information stored in the map database and serving as an obstacle to the movement of the main body An obstacle information extraction unit that extracts the obstacle information in a detection area of a virtual sensor capable of detecting the object information;
A route calculation device that calculates a movement route for the main body to move based on the obstacle information extracted by the obstacle information extraction unit;
A virtual sensor setting change device for setting and changing an extraction condition for the obstacle information extraction unit to extract the obstacle information;
A mobile robot comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005262334A JP4464893B2 (en) | 2004-09-13 | 2005-09-09 | Mobile robot |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004264769 | 2004-09-13 | ||
JP2005262334A JP4464893B2 (en) | 2004-09-13 | 2005-09-09 | Mobile robot |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2006107475A JP2006107475A (en) | 2006-04-20 |
JP4464893B2 true JP4464893B2 (en) | 2010-05-19 |
Family
ID=36377046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005262334A Expired - Fee Related JP4464893B2 (en) | 2004-09-13 | 2005-09-09 | Mobile robot |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4464893B2 (en) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5083543B2 (en) * | 2008-01-23 | 2012-11-28 | 株式会社Ihi | Traveling area discrimination device and traveling area discrimination method for mobile robot |
WO2010004744A1 (en) | 2008-07-09 | 2010-01-14 | パナソニック株式会社 | Path danger evaluation device |
JP5287051B2 (en) * | 2008-09-04 | 2013-09-11 | 村田機械株式会社 | Autonomous mobile device |
KR101307299B1 (en) * | 2008-09-03 | 2013-09-11 | 무라다기카이가부시끼가이샤 | Autonomous mobile device |
JP2010117847A (en) * | 2008-11-12 | 2010-05-27 | Toyota Motor Corp | Moving object, moving object control system, and control method for moving object |
JP5310116B2 (en) * | 2009-03-06 | 2013-10-09 | トヨタ自動車株式会社 | Moving locus generator |
JP2011128899A (en) | 2009-12-17 | 2011-06-30 | Murata Machinery Ltd | Autonomous mobile device |
JP5498178B2 (en) * | 2010-01-21 | 2014-05-21 | 株式会社Ihiエアロスペース | Method for controlling unmanned mobile body and unmanned mobile body |
WO2012099694A1 (en) * | 2010-12-30 | 2012-07-26 | Irobot Corporation | Coverage robot navigation |
KR101341602B1 (en) | 2012-03-19 | 2013-12-16 | 노틸러스효성 주식회사 | Method of optmizing global path of a mobile robot |
JP6020326B2 (en) * | 2013-04-16 | 2016-11-02 | 富士ゼロックス株式会社 | Route search device, self-propelled working device, program, and recording medium |
KR101804184B1 (en) * | 2015-10-20 | 2017-12-05 | 한국해양과학기술원 | Apparatus for surveying the coastal topography using a drone with rotary-wings |
JP2017151499A (en) * | 2016-02-22 | 2017-08-31 | 株式会社Ihi | Obstacle avoidance method and device |
EP3422325A4 (en) | 2016-06-13 | 2019-04-24 | SZ DJI Technology Co., Ltd. | Unmanned aerial vehicle, delivery system, control method for unmanned aerial vehicle, and program for controlling unmanned aerial vehicle |
JP6809913B2 (en) * | 2017-01-26 | 2021-01-06 | パナソニック株式会社 | Robots, robot control methods, and map generation methods |
JP7281707B2 (en) * | 2018-07-06 | 2023-05-26 | パナソニックIpマネジメント株式会社 | Mobile robot and control method |
CN111714028A (en) * | 2019-03-18 | 2020-09-29 | 北京奇虎科技有限公司 | Method, device and equipment for escaping from restricted zone of cleaning equipment and readable storage medium |
JP6764138B2 (en) | 2019-03-28 | 2020-09-30 | 日本電気株式会社 | Management method, management device, program |
CN111775147B (en) * | 2020-06-10 | 2021-07-13 | 北京卫星制造厂有限公司 | Intelligent control system of mobile robot |
-
2005
- 2005-09-09 JP JP2005262334A patent/JP4464893B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2006107475A (en) | 2006-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4464893B2 (en) | Mobile robot | |
JP2761454B2 (en) | How to guide autonomous mobile machines | |
US20060058921A1 (en) | Mobile robot | |
JP5112666B2 (en) | Mobile device | |
JP4699426B2 (en) | Obstacle avoidance method and obstacle avoidance moving device | |
KR100520049B1 (en) | Path planning method for the autonomous mobile robot | |
KR102018832B1 (en) | Automatic driving cart | |
JP2012118909A (en) | Travel support device | |
CN109643128B (en) | Moving body and method for controlling moving body | |
KR102178992B1 (en) | Method and Apparatus for Planning Car Motion | |
JP2021503334A5 (en) | ||
JP2011054082A (en) | Autonomous moving apparatus | |
JP5085251B2 (en) | Autonomous mobile device | |
JP6094279B2 (en) | TRACKING DEVICE, TRACKING PROGRAM, AND TRACKING METHOD | |
JP5553220B2 (en) | Moving body | |
CN107421538B (en) | Navigation system and navigation method | |
Song et al. | Reactive navigation in dynamic environment using a multisensor predictor | |
JP2019053391A (en) | Mobile body | |
JP2013225253A (en) | Autonomous mobile device, autonomous mobile method, and program for autonomous mobile device | |
US20220024034A1 (en) | Method of predicting occupancy of unseen areas for path planning, associated device, and network training method | |
JP2020004095A (en) | Autonomous mobile body controller and autonomous mobile body | |
JP5314788B2 (en) | Autonomous mobile device | |
JP4774401B2 (en) | Autonomous mobile route setting device | |
Morales et al. | Safe and reliable navigation in crowded unstructured pedestrian areas | |
Hoang et al. | Proposal of algorithms for navigation and obstacles avoidance of autonomous mobile robot |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD03 | Notification of appointment of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7423 Effective date: 20061208 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20080207 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090722 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090728 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20090917 |
|
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: 20100126 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20100219 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130226 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4464893 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130226 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140226 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |