JP6642026B2 - 自律移動体制御装置 - Google Patents

自律移動体制御装置 Download PDF

Info

Publication number
JP6642026B2
JP6642026B2 JP2016008425A JP2016008425A JP6642026B2 JP 6642026 B2 JP6642026 B2 JP 6642026B2 JP 2016008425 A JP2016008425 A JP 2016008425A JP 2016008425 A JP2016008425 A JP 2016008425A JP 6642026 B2 JP6642026 B2 JP 6642026B2
Authority
JP
Japan
Prior art keywords
estimated
value
coordinate
virtual value
output mode
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016008425A
Other languages
English (en)
Other versions
JP2017130006A (ja
Inventor
達也 古室
達也 古室
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Industries Corp
Original Assignee
Toyota Industries Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Industries Corp filed Critical Toyota Industries Corp
Priority to JP2016008425A priority Critical patent/JP6642026B2/ja
Publication of JP2017130006A publication Critical patent/JP2017130006A/ja
Application granted granted Critical
Publication of JP6642026B2 publication Critical patent/JP6642026B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Description

本発明は自律移動体制御装置に関する。
従来から、移動エリアに磁気テープやレール等を敷設することで特定の移動経路を形成し、この移動経路に沿って移動体を自動で移動させる技術が多々提案されている。これに対し、近年では、移動エリアに特定の移動経路を形成することなく、移動エリア内を自律移動する自律移動体の研究も行われている。このような自律移動体は、例えば特許文献1に開示されている。
特許文献1に開示された自律移動体は、駆動装置と、記憶装置と、自己移動量検出装置と、自律移動体制御装置とを備えている。駆動装置は、複数の車輪やモータ等で構成されている。自己移動量検出装置は、移動エリア内における自律移動体の移動量を検出する。記憶装置は移動エリアの地図情報を記憶している。環境情報検出装置は、移動エリア内における自己の周囲の環境情報を検出する。自律移動体制御装置は、駆動装置、記憶装置、自己移動量検出装置及び環境情報検出装置を制御する。
具体的には、自律移動体制御装置は、環境情報検出装置を作動させて環境情報を検出し、この環境情報から自律移動体の周囲の幾何学的特徴に基づく幾何学形状データを生成する。そして、この幾何学形状データと、記憶装置から読み込んだ地図情報とを照合し、確率的手法によって、地図情報のうちで幾何学形状データと最も重なり合う箇所の座標及び姿勢を求める。自律移動体制御装置は、上記のように求められた座標及び姿勢を移動エリア内における自律移動体の現在の座標及び姿勢として認識するとともに、駆動装置及び自己移動量検出装置を制御して自律移動体を移動エリア内で移動させる。これらの処理を繰り返すことにより、自律移動体制御装置は、移動エリア内における自律移動体の現在の座標及び姿勢を補正しつつ、移動エリア内で自律移動体を自律移動させる。
ところで、移動エリアには、幾何学的特徴が多数存在する環境のみで構成される場合に限らず、幾何学特徴が多数存在する環境と、幾何学形特徴に乏しいに環境とが混在し得る。このような幾何学形特徴に乏しいに環境では、自律移動体制御装置が確率的手法によって自律移動体の現在の座標及び姿勢を求めることは困難である。幾何学形特徴に乏しいに環境では、確率的手法によって複数の座標及び姿勢が演算されてしまうためである。
そこで、上記の自律移動体制御装置では、幾何学特徴が多数存在する環境においては、確率的手法によって移動エリア内における自律移動体の座標及び姿勢を求めて自律移動体を自律移動させる。一方、幾何学特徴が乏しい環境においては、確率的手法による自律移動体の座標及び姿勢の演算を行わず、環境情報から検出した移動エリア内の障害物に接触しないように自律移動体を進行方向に自律移動させる。
このように、自律移動体制御装置は、移動エリア内の環境に応じて、駆動装置、記憶装置、自己移動量検出装置及び環境情報検出装置の制御を切り替えることによって、移動エリア内における目的地まで自律移動体を自律移動させることが可能となっている。
特開2014−67223号公報
しかし、従来の自律移動体制御装置では、障害物に接触しないように自律移動体を移動させている時間や距離が長くなれば、移動エリア内における自律移動体の座標及び姿勢と、移動エリア内における自律移動体の真の座標及び姿勢とのずれが大きくなる。この結果、この自律移動体制御装置では、移動エリア内で自律移動体を精度高く自律移動させることができないおそれがある。
本発明は、上記従来の実情に鑑みてなされたものであって、移動エリア内で自律移動体を精度高く自律移動させることが可能な自律移動体制御装置を提供することを解決すべき課題としている。
本発明の自律移動体制御装置は、予め設定された移動エリア内を自律移動する自律移動体に用いられ、
前記自律移動体は、駆動装置と、前記移動エリアの地図情報を記憶する記憶装置と、前記移動エリア内における自己の移動量を検出する自己移動量検出装置と、前記移動エリア内における自己の周囲の環境情報を検出する環境情報検出装置とを備え、
前記移動エリア内における前記自律移動体のx座標、y座標及び姿勢を認識しつつ、前記駆動装置、前記記憶装置、前記自己移動量検出装置及び前記環境情報検出装置を制御する自律移動体制御装置であって、
前記自己移動量検出装置が検出した前記自律移動体の移動量に基づき、前記自律移動体の第1推定x座標、第1推定y座標及び第1推定姿勢からなる第1仮想値を演算する第1演算部と、
前記環境情報検出装置が検出した前記環境情報に基づき、確率的手法によって前記自律移動体の第2推定x座標、第2推定y座標及び第2推定姿勢からなる複数の第2仮想値を演算する第2演算部と、
各前記第2推定x座標の第1分散状態が第1基準状態を超えているか否かと、各前記第2推定y座標の第2分散状態が第2基準状態を超えているか否かと、各前記第2推定姿勢の第3分散状態が第3基準状態を超えているか否かとを判断する判断部と、
前記第1分散状態が前記第1基準状態を超えず、前記第2分散状態が前記第2基準状態を超えず、かつ前記第3分散状態が前記第3基準状態を超えていなければ、各前記第2仮想値と、各前記第2仮想値に対して前記第1仮想値とのマッチング率を加味したものとを重み付けすることにより、主特定第2仮想値を決定する主決定部と、
前記主特定第2仮想値を前記第1仮想値に置き換えて確定値とする第1出力モードを実行し、前記駆動装置に出力する第1出力モード部と、
前記第1分散状態が前記第1基準状態を超えている場合、又は前記第2分散状態が前記第2基準状態を超えている場合、又は前記第3分散状態が前記第3基準状態を超えている場合には、各前記第2仮想値と、各前記第2仮想値に対して前記第1仮想値とのマッチング率を加味したものとを重み付けするとともに、前記第1分散状態が前記第1基準状態を超えた各前記第2推定x座標、前記第2分散状態が前記第2基準状態を超えた各前記第2推定y座標及び前記第3分散状態が前記第3基準状態を超えた前記第2推定姿勢を除外することにより、副特定第2仮想値を決定する副決定部と、
前記副特定第2仮想値を前記第1仮想値に置き換えて確定値とする第2出力モードを実行し、前記駆動装置に出力する第2出力モード部とを有することを特徴とする。
本発明の自律移動体制御装置では、自己移動量検出装置が検出した移動量に基づき、第1演算部が自律移動体の第1仮想値を演算する。また、環境情報検出装置が検出した環境情報に基づき、第2演算部が確率的手法によって自律移動体の複数の第2仮想値を演算する。第2仮想値は、自律移動体の第2推定x座標、第2推定y座標及び第2推定姿勢からなる。このように確率的手法によって演算された各第2仮想値では、各第2推定x座標同士と、各第2推定y座標同士と、各第2推定姿勢同士とがそれぞれ一定の範囲で分散する。この分散状態は、環境情報検出装置が検出した環境情報、すなわち、移動エリア内における自律移動体の周囲の幾何学的特徴によって変化する。
ここで、この自律移動体制御装置では、各第2仮想値における各第2推定x座標の第1分散状態が第1基準状態を超えず、各第2推定y座標の第2分散状態が第2基準状態を超えず、各第2推定姿勢の第3分散状態が第3基準状態を超えていなければ、主決定部が各第2仮想値から主特定第2仮想値を決定する。また、第1出力モード部が第1出力モードを実行する。第1出力モードでは、主特定第2仮想値を第1仮想値に置き換えることによって、移動エリア内における自律移動体のx座標、y座標及び姿勢である確定値とするとともに、この確定値を駆動装置に出力する。こうして、自律移動体制御装置は、移動エリア内で自律移動体を自律移動させる。
一方、第1分散状態が第1基準状態を超えている場合、又は第2分散状態が第2基準状態を超えている場合、又は第3分散状態が第3基準状態を超えている場合は、確率的手法によって移動エリアにおける自律移動体のx座標、y座標及び姿勢を一意的に求めることが困難であることを意味する。そこで、このような場合には、自律移動体制御装置では、副決定部が各第2仮想値から副特定第2仮想値を決定する。そして、第2出力モード部が第2出力モードを実行する。第2出力モードでは、副特定第2仮想値を第1仮想値に置き換えて確定値とするとともに、この確定値を駆動装置に出力する。こうして、自律移動体制御装置は、移動エリア内で自律移動体を自律移動させる。
このように、この自律移動体制御装置では、幾何学的特徴が多数存在する場合に、確率的手法によって求められた各第2仮想値から主特定第2仮想値を決定するだけでなく、幾何学的特徴が乏しい場合であっても、各第2仮想値から副特定第2仮想値を決定する。これにより、この自律移動体制御装置では、自律移動体の移動量に基づく第1仮想値を演算しつつ、この第1仮想値を主特定第2仮想値又は副特定第2仮想値に置き換えて確定値とすることができる。このため、この自律移動体制御装置では、移動エリアにおける自律移動体のx座標、y座標及び姿勢を精度高く認識することが可能となる。
したがって、本発明の自律移動体制御装置によれば、移動エリア内で自律移動体を精度高く自律移動させることが可能である。
本発明の自律移動体制御装置は、確定値に基づき、確定値と第1仮想値との変位量を演算する第3演算部と、変位量が閾値を超えなければ、第1仮想値を確定値とする第3出力モードを実行し、駆動装置に出力する第3出力モード部と、変位量が閾値を超えれば、第1出力モード又は第2出力モードを実行させる補正モード部とを有することが好ましい。
第1出力モード又は第2出力モードにおいて得られた確定値に対して第1仮想値の変位量が閾値を超えない場合、すなわち、確定値に基づいた移動エリア内における自律移動体のx座標、y座標及び姿勢に対して、第1推定x座標、第1推定y座標及び第1推定姿勢の精度が高い場合には、さらに第1仮想値を主特定第2仮想値又は副特定第2仮想値に置き換えて確定値とする必要性が乏しい。そこで、確定値に対する第1仮想値の変位量が閾値を超えない場合には、第1仮想値をそのまま確定値とすることにより、自律移動体制御装置は処理負担を軽減しつつ、自律移動体を自律移動させることが可能となる。
主決定部は、各第2仮想値と、各第2仮想値に対して第1仮想値とのマッチング率を加味したものとを重み付けすることにより、主特定第2仮想値を決定する。同様に、副決定部は、各第2仮想値と、各第2仮想値に対して第1仮想値とのマッチング率を加味したものとを重み付けすることにより、副特定第2仮想値を決定する。このため、各第2仮想値のうち、最適な値を主特定第2仮想値や副特定第2仮想値とすることができる。このため、より精度高く確定値を求めることが可能となる。
確率的手法は、SLAMアルゴリズムに基づくパーティクルフィルタであることが好ましい。この場合には、比較的容易に精度の高い複数の第2仮想値を演算することが可能となる。
自律移動体は、自律走行する産業車両であることが好ましい。産業車両が自律走行する工場や倉庫等の移動エリアでは、そのレイアウトが頻繁に変化するために産業車両の周囲の環境の幾何学的特徴が乏しい場合が多く、確率的手法によって自律移動体のx座標、y座標及び姿勢を一意的に求めることが困難となる場合が生じ易い。このため、産業車両に本発明の自律移動体制御装置を用いれば、移動エリア内で産業車両を精度高く自律走行させることが可能となり、作業効率を向上させることが可能となる。
本発明の自律移動体制御装置によれば、移動エリア内で自律移動体を精度高く自律移動させることが可能である。
図1は、実施例の自律移動体制御装置が採用された産業車両を示す模式図である。 図2は、産業車両が移動エリア内を自律走行する状態を示す模式図である。 図3は、実施例の自律移動体制御装置が移動エリア内で産業車両を自律走行させる際の制御フローである。 図4は、図2のA地点における特定パーティクルの分散状態を示す模式図である。 図5は、図4における特定パーティクルの分散状態に基づき、各特定パーティクルにおける第2推定x座標、第2推定y座標及び第2推定姿勢を示す一覧表である。 図6は、図4における特定パーティクルの分散状態に基づき、各第2推定x座標の分布を示すグラフである。 図7は、図4における特定パーティクルの分散状態に基づき、各第2推定y座標の分布を示すグラフである。 図8は、図2のB地点における特定パーティクルの分散状態を示す模式図である。 図9は、図8における特定パーティクルの分散状態に基づき、各特定パーティクルにおける第2推定x座標、第2推定y座標及び第2推定姿勢を示す一覧表である。 図10は、図8における特定パーティクルの分散状態に基づき、各第2推定x座標の分布を示すグラフである。 図11は、図8における特定パーティクルの分散状態に基づき、各第2推定y座標の分布を示すグラフである。
以下、本発明を具体化した実施例を図面を参照しつつ説明する。
図1に示すように、実施例のCPU1は、自動搬送車3に搭載されている。CPU1は本発明の自律移動体制御装置の一例である。自動搬送車3は、作業者が運転を行うことなく、図2に示す倉庫5内を自律走行可能な産業車両であり、本発明の自律移動体の一例である。また、倉庫5は本発明の移動エリアの一例である。
倉庫5内は、複数の壁面50によって、互いに大きさが異なる第1〜4室51〜54が区画されている他、第1〜4室51〜54と接続する廊下55が区画されている。第1〜4室51〜54内には、各種の荷物棚56の他、作業机57等が配置されている。
廊下55は第1〜4廊下55a〜55dによって構成されている。第1廊下55aは、第1室51と接続して南北方向に延びている。第2廊下55bは、第3室53と接続するとともに、第1廊下55aと第3廊下55cと第4廊下55dとに接続しており、東西方向に延びている。第3廊下55cは、第4室54と接続するとともに第2廊下55bと接続しており、南北方向に延びている。第4廊下55dは、第2室52と接続するとともに第2廊下55bと接続しており、南北方向に延びている。
図1に示すように、自動搬送車3は、上記のCPU1の他に、複数の駆動輪7、ROM9、RAM11、エンコーダ13、外界センサ15及び情報入力部17を備えている。また、図示を省略するものの、自動搬送車3は、公知の操舵装置及び電動モータ等を備えている。
各駆動輪7は、操舵装置及び電動モータ等とともに駆動装置19を構成しており、倉庫5内で自動搬送車3を走行させることが可能となっている。
ROM9には、自動搬送車3を自律走行させるための制御プログラムが記録されている。制御プログラムは、具体的には、SLAM(Simultaneous Localization and Mapping)アルゴリズムであり、確率的手法としてのパーティクルフィルタを実行する。
RAM11は本発明における記憶装置の一例であり、倉庫5の地図情報を記憶している。この地図情報は、図2に示す倉庫5の東西方向をx軸とするとともに、倉庫5の南北方向をy軸とした際の倉庫5内の座標情報である。また、図1に示すRAM11は、後述する第1〜3基準状態や閾値を記憶している。さらに、RAM11は、後述する情報入力部17に入力された経路情報の他、第1、2仮想値や確定値等を一時的に記憶可能となっている。
エンコーダ13は、本発明における自己移動量検出装置の一例であり、各駆動輪7の回転数や操舵装置の舵角を計測することにより、倉庫5内における自動搬送車3移動量を検出可能となっている。なお、エンコーダ13は、電動モータの回転数を計測することにより、倉庫5内における自動搬送車3移動量を検出するように構成されても良い。また、エンコーダ13に換えて、自己移動量検出装置としてGPS装置等を採用しても良い。
外界センサ15は、本発明における環境情報検出装置の一例であり、倉庫5内における自動搬送車3の周囲の環境情報を検出可能となっている。具体的には、外界センサ15は自動搬送車3の下部に取り付けられており、図2のハッチングで示すように、自動搬送車3の進行方向における一定の範囲にレーザを照射する。そして、壁面50や荷物棚56等に反射して外界センサ15戻ってきたレーザにより、壁面50や荷物棚56等に基づく自動搬送車3の周囲の幾何学的特徴を環境情報として検出する。また同時に、外界センサ15は、壁面50等から自動搬送車3までの距離を計測する。
情報入力部17は、操作ディスプレイやキーボード等で構成されており、作業者が自動搬送車3の現在地及び目的地等の経路情報を入力することが可能となっている。
CPU1は、これらの駆動装置19、ROM9、RAM11、エンコーダ13、外界センサ15及び情報入力部17を制御して自動搬送車3を自律走行させる。具体的には、CPU1は、本発明における第1演算部、第2演算部、第3演算部、判断部、主決定部、副決定部、第1出力モード部、第2出力モード部、第3出力モード部及び補正モード部として各演算処理を行う。これにより、CPU1は、後述する第1出力モード又は第2出力モード又は第3出力モードを実行しつつ、倉庫5内で自動搬送車3を自律走行させる。
次に、第1室51内の荷物棚56にある荷物(図示略)を自動搬送車3が第4室54内の荷物棚56まで搬送する場合を例に、倉庫5内で自動搬送車3を自律走行させる際のCPU1の各演算処理を具体的に説明する。
図3に示すように、自動搬送車3を自律走行させるに当たっては、まず、CPU1は、RAM11に記憶された倉庫5の地図情報と、情報入力部17から入力された経路情報とに基づき、自動搬送車3の現在位置と、目的地である第4室54との地図情報上における座標を演算する。そして、CPU1は、駆動装置19を制御することにより、第4室54に向けて自動搬送車3の走行を開始する(ステップS101)。
自動搬送車3が走行することにより、エンコーダ13は、各駆動輪7の回転数や操舵装置の舵角を計測して自動搬送車3の移動量を検出する。そして、この移動量に基づき、CPU1は、自動搬送車3の第1推定x座標、第1推定y座標及び第1推定姿勢θからなる第1仮想値を演算する(ステップS102)。この姿勢θは、自動搬送車3の進行方向において、x軸方向に対するy軸方向への傾きである。なお、CPU1に演算された第1仮想値はRAM11に記憶される。
また、自動搬送車3が走行することにより、外界センサ15は、自動搬送車3の周囲の幾何学的特徴を検出する(ステップS103)。そして、CPU1は、幾何学的特徴に基づき、パーティクルフィルタによって自動搬送車3の第2推定x座標、第2推定y座標及び第2推定姿勢θからなる複数の第2仮想値を演算する。具体的には、CPU1は、自動搬送車3の仮想体である多数のパーティクルを自動搬送車3の周囲に分散させる。そして、各パーティクルから、外界センサ15によって検出された幾何学的特徴と一定の尤度でマッチングする特定パーティクルを複数個抽出する。こうして抽出された各特定パーティクルのx座標、y座標及び姿勢θから、上記の各第2仮想値、すなわち、各第2推定x座標、各第2推定y座標及び各第2推定姿勢θを演算する(ステップS104)。各第2仮想値についてもRAM11に記憶される。
次に、CPU1は、RAM11内に記憶された情報を基に、既に第1出力モード又は第2出力モードを実行したことがあるか否かを判断する(ステップS105)。そして、第1出力モード又は第2出力モードを実行したことがある場合(ステップS105:YES)には、CPU1は、既に行った第1出力モード又は第2出力モードで得られた確定値に基づいて、上記の第1仮想値の変位量を演算する(ステップS106)。この変位量の演算は、具体的には、第1推定x座標、第1推定y座標及び第1推定姿勢θと、確定値に基づく倉庫5内における現在の自動搬送車3のx座標、y座標及び姿勢θとを比較することによって行う。なお、第1出力モード、第2出力モード及び確定値についての詳細は後述する。
こうして演算された第1仮想値の変位量について、CPU1は、予め設定されてRAM11に記憶されている閾値を超えているか否かを判断する(ステップS107)。ここで、変位量が閾値を超えていなければ(ステップS107:NO)、倉庫5内における自動搬送車3の現在のx座標、y座標及び姿勢θに対して、第1推定x座標、第1推定y座標及び第1推定姿勢θの精度が高いことを意味する。このため、CPU1は、第3出力モードを実行する(ステップS108)。第3出力モードでは、CPU1は、第1仮想値の第1推定x座標、第1推定y座標及び第1推定姿勢θを倉庫5自動搬送車3の現在のx座標、y座標及び姿勢θである確定値とする。こうして、PCU1は、倉庫5内における自動搬送車3の現在のx座標、y座標及び姿勢θを認識する。そして、CPU1は、この確定値をRAM11に記憶させるともに、駆動装置19に出力することによって、自動搬送車3を自律走行させる。なお、第3出力モードでは、第1出力モード又は第2出力モードで得られた以前の確定値をRAM11から消去しない。
一方、変位量が閾値を超えている場合(ステップS107:YES)は、既に行った第1出力モード又は第2出力モードにおいて得られた確定値に対して、第1推定x座標、第1推定y座標及び第1推定姿勢θのずれが大きく、第1仮想値の精度が低いことを意味する。このような場合にまで第1仮想値を確定値とすれば、CPU1が認識する倉庫5内における自動搬送車3のx座標、y座標及び姿勢θと、倉庫5内における自動搬送車3の現在のx座標、y座標及び姿勢θとの誤差が大きくなる。そこで、変位量が閾値を超えている場合には、CPU1は、第3出力モードを実行せずに、補正モード部として後述するステップS109以降の処理を実行し、第1仮想値を第2仮想値に置き換えることで第1仮想値を補正して確定値を求める演算処理を行う。また、自動搬送車3を自律走行させた直後のように、第1出力モード又は第2出力モードを一度も実行したことがない場合(ステップS105:NO)についても、CPU1は、上記のステップS106〜S108の処理を行わずに、ステップS109以降の処理を実行する。
ところで、上記のステップS104で抽出された各特定パーティクルは一定の範囲で分散するため、パーティクルフィルタによって演算された各第2仮想値では、各第2推定x座標同士と、各第2推定y座標同士と、各第2推定姿勢θ同士とがそれぞれ一定の範囲で分散することとなる。この分散状態は、外界センサ15によって検出された自動搬送車3の周囲の幾何学的特徴によって変化する。
具体的には、図2に示す第1〜4室51〜54では、室内に多くの荷物棚56の他、作業机57等が配置されているため、外界センサ15によって検出される幾何学的特徴が多数存在する。このように、自動搬送車3の周囲に幾何学的特徴が多数存在する環境では、パーティクルフィルタによって演算された各第2仮想値の精度が高くなる。このため、例えば、地図情報上のx座標、y座標及び姿勢θが「xA:yA:θA」となる第1室51のA地点においてパーティクルフィルタを実行すれば、図4に示すように、抽出された各特定パーティクルP1〜P10は、A地点に近い範囲で分散する。つまり、第1室51のA地点のように、幾何学的特徴が多数存在する環境では、各第2推定x座標の分散状態である第1分散状態、各第2推定y座標の分散状態である第2分散状態及び各第2推定姿勢θの分散状態である第3分散状態がそれぞれ小さくなる。
一方、図2に示す廊下55のように、自動搬送車3の周囲に壁面50しか存在しない状態が長く続く環境では、外界センサ15によって検出される幾何学的特徴が乏しくなる。このように、自動搬送車3の周囲の幾何学的特徴が乏しい環境では、パーティクルフィルタによって演算された各第2仮想値の精度が低くなる。このため、例えば、地図情報上のx座標、y座標及び姿勢θが「xB:yB:θB」となる第2廊下55bのB地点においてパーティクルフィルタを実行すれば、図8に示すように、抽出された各特定パーティクルP1〜P10は、B地点から遠い範囲で分散する。つまり、幾何学的特徴が乏しい環境では、幾何学的特徴が多数存在する環境に比べて、各第2推定x座標の第1分散状態、各第2推定y座標の第2分散状態及び各第2推定姿勢θの第3分散状態がそれぞれ大きくなる。特に、第2廊下55bのように、倉庫5の東西方向に壁面50のみが連続して存在する環境では、自動搬送車3の進行方向である第2推定x座標の第1分散状態が大きくなる。なお、図4及び図8に示す各特定パーティクルP1〜P10の分散状態は一例であり、たとえ第1〜4室51〜54内であっても外界センサ15によって検出される幾何学的特徴が乏しい場合があり得る。同様に、廊下55であっても、外界センサ15が幾何学的特徴を多数検出する場合があり得る。
そこで、図3に示すように、CPU1は、各第2推定x座標の第1分散状態が第1基準状態を超えているか否かと、各第2推定y座標の第2分散状態が第2基準状態を超えているか否かと、各第2推定姿勢θの第3分散状態が第3基準状態を超えているか否かとを判断する(ステップS109)。
第1分散状態が第1基準状態を超えているか否かを判断するに当たって、本実施例では、まず初めにCPU1は、各第2推定x座標の平均値から絶対値で2以上離れて存在する第2推定x座標の割合を求める。そして、このようにして求められた第2推定x座標の割合について、CPU1は、「絶対値で2以上離れて存在する第2推定x座標の割合が5割以下」とする第1基準状態を満たしているか否かを判断する。この第1基準状態は予め設定されており、RAM11に記憶されている。ここで、絶対値で2以上離れて存在する第2推定x座標の割合が5割よりも少なければ、CPU1は、第1分散状態が第1基準状態を超えていないと判断する。なお、上記の絶対値や第1基準状態の数値は一例であり、他の数値を用いることも可能である。
同様に、第2分散状態が第1基準状態を超えているか否かを判断するに当たっても、CPU1は、各第2推定y座標の平均値から絶対値で2以上離れて存在する第2推定y座標の割合を求める。そして、このようにして求められた第2推定y座標の割合について、「絶対値で2以上離れて存在する第2推定y座標の割合が3割以下」とする第2基準状態を満たしているか否かを判断する。この第2基準状態も予め設定されており、RAM11に記憶されている。ここで、絶対値で2以上離れて存在する第2推定y座標の割合が3割よりも少なければ、CPU1は、第2分散状態が第2基準状態を超えていないと判断する。なお、上記の絶対値や第2基準状態の数値も一例であり、他の数値を用いることも可能である。
また、第3分散状態が第3基準状態を超えているか否かを判断するに当たっても、CPU1は、各第2推定姿勢θの平均値から絶対値で3以上離れて存在する第2推定姿勢θの割合を求める。そして、このようにして求められた第2推定姿勢θの割合について、「絶対値で3以上離れて存在する第2推定姿勢θの割合が1割以下」とする第3基準状態を満たしているか否かを判断する。この第3基準状態も予め設定されており、RAM11に記憶されている。ここで、絶対値で3以上離れて存在する第2推定姿勢θの割合が1割よりも少なければ、CPU1は、第3分散状態が第3基準状態を超えていないと判断する。なお、上記の絶対値や第3基準状態の数値も一例であり、他の数値を用いることも可能である。
これらを基に第1〜3分散状態が第1〜3基準状態をそれぞれ超えているか否を判断する。具体的には、A地点では、図5及び図6に示すように、A地点のx座標(xA)の値をゼロとした際の各第2推定x座標の平均値は「−0.2」となる。そして、この平均値から絶対値で2以上離れて存在する第2推定x座標の個数は1つであることから、その割合は1割である。このため、CPU1は、A地点では、第1分散状態は第1基準状態を超えていないと判断する。なお、このように判断するに際して、平均値における小数点以下は切り上げている。
また、図5及び図7に示すように、A地点のy座標(yA)の値をゼロとした際の各第2推定y座標の平均値は「ゼロ」となる。そして、この平均値から絶対値で2以上離れて存在する第2推定y座標の個数は2つであることから、その割合は2割である。このため、CPU1は、A地点では、第2分散状態は第2基準状態を超えていないと判断する。
さらに、図5に示すように、A地点の姿勢θ(θA)の値をゼロとした際の各第2推定姿勢θの平均値は「0.05」となる。そして、この平均値から絶対値で3以上離れて存在する第2推定姿勢θは存在しない。このため、CPU1は、A地点では、第3分散状態は第3基準状態を超えていないと判断する。
このように、A地点では、各第2仮想値における各第2推定x座標の第1分散状態が第1基準状態を超えておらず、また、各第2推定y座標の第2分散状態が第2基準状態を超えておらず、さらに、各第2推定姿勢θの第3分散状態が第3基準状態を超えていないことになる(ステップS109:NO)。
この場合、CPU1は、パーティクルフィルタによって演算された各第2仮想値、つまり、各第2推定x座標、各第2推定y座標及び各第2推定姿勢θから、主特定第2仮想値を決定する(ステップS110)。この主特定第2仮想値は、CPU1が各第2仮想値と、各第2仮想値に対して第1仮想値とのマッチング率を加味したものとを重み付けすることによって決定される。また、主特定第2仮想値はRAM11に記憶される。
そして、CPU1は第1出力モードを実行する(ステップS111)。第1出力モードでは、CPU1は、主特定第2仮想値を第1仮想値に置き換えることによって確定値とする。つまり、CPU1は、主特定第2仮想値における第2推定x座標、第2推定y座標及び第2推定姿勢θが倉庫5内における自動搬送車3の現在のx座標、y座標及び姿勢θであると認識する。そして、CPU1は、この確定値をRAM11に記憶させるともに、駆動装置19に出力することによって、自動搬送車3を自律走行させる。ここで、既にRAM11に以前の確定値が記憶されている場合には、新たに得られた確定値を上書きする。また、CPU1は、第1出力モードを実行したことについてもRAM11に記憶させる。
一方、B地点では、図9及び図10に示すように、B地点のx座標(xB)の値をゼロとした際の各第2推定x座標の平均は「ゼロ」となる。そして、この平均値から絶対値で2以上離れて存在する第2推定x座標の個数は7つであることから、その割合は7割である。このため、CPU1は、B地点では、第1分散状態が第1基準状態を超えていると判断する。
また、図9及び図11に示すように、B地点のy座標(yB)の値をゼロとした際の各第2推定y座標の平均は「ゼロ」となる。そして、この平均値から絶対値で2以上離れて存在する第2推定y座標の個数は2つであることから、その割合は2割である。このため、CPU1は、B地点では、第2分散状態は第2基準状態を超えていないと判断する。
さらに、図9に示すように、B地点の姿勢θ(θB)の値をゼロとした際の各第2推定姿勢θの平均は「0.05」となる。そして、この平均値から絶対値で3以上離れて存在する第2推定姿勢θは存在しない。このため、CPU1は、B地点では、第3分散状態は第3基準状態を超えていないと判断する。
このように、B地点では、各第2仮想値において、各第2推定y座標の第2分散状態が第2基準状態を超えておらず、また、各第2推定姿勢θの第3分散状態が第3基準状態を超えていないものの、各第2推定x座標の第1分散状態は、第1基準状態を超えていることとなる(ステップS109:YES)。
この場合、CPU1は、パーティクルフィルタによって演算された各第2仮想値のうち、各第2推定y座標及び各第2推定姿勢θから副特定第2仮想値を決定する(ステップS112)。つまり、上記の主特定第2仮想値を決定する場合と異なり、副特定第2仮想値を決定するに当たっては、第1分散状態が第1基準状態を超えた各第2推定x座標は除外される。また、副特定第2仮想値の決定に当たっても、CPU1は、各第2仮想値と、各第2仮想値に対して第1仮想値とのマッチング率を加味したものとを重み付けすることによって行う。この副特定第2仮想値はRAM11に記憶される。
そして、CPU1は第2出力モードを実行する(ステップS113)。第2出力モードでは、CPU1は、副特定第2仮想値を第1仮想値に置き換えることによって、倉庫5内における自動搬送車3の現在のx座標、y座標及び姿勢θである確定値とする。ここで、副特定第2仮想値の決定に当たって各第2推定x座標が除外されている。このため、CPU1は、副特定第2仮想値における第2推定y座標及び第2推定姿勢θが倉庫5内における自動搬送車3の現在のy座標及び姿勢θであると認識し、第1仮想値における第1推定x座標が倉庫5内における自動搬送車3の現在のx座標であると認識する。そして、CPU1は、この確定値をRAM11に記憶させるともに、駆動装置19に出力することによって、自動搬送車3を自律走行させる。この場合についても、既にRAM11に以前の確定値が記憶されていれば、新たに得られた確定値を上書きする。また、CPU1は、第2出力モードを実行したことについてもRAM11に記憶させる。
なお、上記のように、B地点では、第1分散状態のみが第1基準状態を超える結果となっているが、幾何学的特徴が乏しい他の地点では、例えば、第2分散状態のみが第2基準状態を超える結果となる場合もあり得る。このような場合には、副特定第2仮想値を決定するに当たって各第2推定y座標は除外され、各第2推定x座標及び各第2推定姿勢θから副特定第2仮想値が決定されることとなる。同様に、第3分散状態が第3基準状態を超えた場合には、副特定第2仮想値を決定するに際して各第2推定姿勢θは除外される。
こうして、CPU1は、自動搬送車3が目的地である第4室54に到達していなければ(ステップS114:NO)、上記のステップS102〜ステップS113を繰り返すことにより、第1〜3出力モードのいずれかを実行する。これにより、CPU1は、自動搬送車3について、図2の矢印で示すように、第1室51から第1廊下55aを通って第2廊下55bに至り、第2廊下55bから第3廊下55cを通って第4室54に至る経路を通って、第4室54まで自律走行させることが可能となっている。そして、自動搬送車3が第4室54に到達すれば(ステップS114:YES)、CPU1は自動搬送車3の制御を終了する。
このように、このCPU1では、第1室51のA地点のように、自動搬送車3の周囲に幾何学的特徴が多数存在する場合に、パーティクルフィルタによって求められた各第2仮想値から主特定第2仮想値を決定するだけでなく、第2廊下55bのB地点のように、自動搬送車3の周囲の幾何学的特徴が乏しい場合であっても、各第2仮想値から副特定第2仮想値を決定する。これにより、このCPU1では、自動搬送車3の移動量に基づく第1仮想値を演算しつつ、この第1仮想値を主特定第2仮想値又は副特定第2仮想値に置き換えて確定値とすることができる。
特に、CPU1が用いられている自動搬送車3では、自動走行する倉庫5等において、上記の第2廊下55bのように、自己の周囲の環境の幾何学的特徴が乏しい場合が多くなる。このような場合であっても、CPU1は、第1仮想値を副特定第2仮想値に置き換えて確定値とすることができる。ここで、第1仮想値を副特定第2仮想値に置き換えて確定値することにより、CPU1は、副特定第2仮想値における第2推定y座標及び第2推定姿勢θが倉庫5内における自動搬送車3の現在のy座標及び姿勢θであると認識するものの、倉庫5内における自動搬送車3の現在のx座標については、第1仮想値における第1推定x座標として認識する。このように、第1仮想値を副特定第2仮想値に置き換えて確定値する場合には、確定値の一部に、補正がされていない第1仮想値、換言すれば、変位量が閾値を超えた第1仮想値が含まれることとなる。しかし、この場合であっても、変位量が閾値を超えた第1仮想値のみで確定値とする場合に比べて、倉庫5内における自動搬送車3の真のx座標、y座標及び姿勢θとの誤差を小さくすることができる。この結果、このCPU1では、外界センサ15によって検出された自動搬送車3の周囲の幾何学的特徴が多数存在する場合だけでなく、自動搬送車3の周囲の幾何学的特徴が乏しい場合であっても、倉庫5内における自動搬送車3のx座標、y座標及び姿勢θを精度高く認識することが可能となる。このため、CPU1は、自動搬送車3の作業効率を向上させることが可能となっている。
したがって、本発明のCPU1によれば、倉庫5内で自動搬送車3を精度高く自律走行させることが可能である。
特に、CPU1は、既に第1出力モード又は第2出力モードを実行し、その際に得られた確定値をRAM11が記憶している場合には、その確定値に基づいて第1仮想値の変位量を演算する。そして、変位量が閾値を超えていなければ、第1仮想値を確定値とする第3出力モードを実行する。これにより、CPU1は、第1仮想値の精度が高く、第1仮想値を主特定第2仮想値又は副特定第2仮想値に置き換えて確定値とする必要性が乏しい場合には、処理負担を軽減しつつ、自動搬送車3を自律走行させることが可能となっている。
また、CPU1は、SLAMアルゴリズムに基づくパーティクルフィルタによって各第2仮想値を演算する。このため、CPU1は、比較的容易に精度の高い複数の第2仮想値を演算することが可能となっている。
さらに、CPU1は、主特定第2仮想値や副特定第2仮想値を決定するに当たり、パーティクルフィルタによって演算された各第2仮想値と、各第2仮想値に対して第1仮想値とのマッチング率を加味したものとを重み付けする。このため、各第2仮想値のうち、最適な値を主特定第2仮想値や副特定第2仮想値とすることができ、CPU1は、より精度高く確定値を求めることが可能となっている。
以上において、本発明を実施例に即して説明したが、本発明は上記実施例に制限されるものではなく、その趣旨を逸脱しない範囲で適宜変更して適用できることはいうまでもない。
例えば、CPU1を自動搬送車3の外部に設け、CPU1は、無線通信によって、駆動装置19、ROM9、RAM11、エンコーダ13、外界センサ15及び情報入力部17を遠隔制御する構成としても良い。
また、実施例では、1つのCPU1が第1演算部、第2演算部、第3演算部、判断部、主決定部、副決定部、第1出力モード部、第2出力モード部、第3出力モード部及び補正モード部として各演算処理を行う。しかし、これに限らずCPU1を複数とし、各CPU1に上記の演算処理を分担させても良い。
さらに、CPU1は、パーティクルフィルタ以外の確率的手法によって複数の第2仮想値を演算しても良く、複数の確率的手法を組み合わせることによって、各第2仮想値を演算しても良い。
また、自動搬送車3は、上記の自律走行を行う場合と、作業者の運転によって走行する場合とを切り替え可能に構成されても良い。
本発明は、自律移動が可能なロボット、自動車及び産業車両等に利用可能である。
1…CPU(自律移動体制御装置、第1演算部、第2演算部、第3演算部、判断部、主決定部、副決定部、第1出力モード部、第2出力モード部、第3出力モード部、補正モード部)
3…自動搬送車(自律移動体、産業車両)
5…倉庫(移動エリア)
11…RAM(記憶装置)
13…エンコーダ(自己移動量検出装置)
15…外界センサ(環境情報検出装置)
19…駆動装置

Claims (5)

  1. 予め設定された移動エリア内を自律移動する自律移動体に用いられ、
    前記自律移動体は、駆動装置と、前記移動エリアの地図情報を記憶する記憶装置と、前記移動エリア内における自己の移動量を検出する自己移動量検出装置と、前記移動エリア内における自己の周囲の環境情報を検出する環境情報検出装置とを備え、
    前記移動エリア内における前記自律移動体のx座標、y座標及び姿勢を認識しつつ、前記駆動装置、前記記憶装置、前記自己移動量検出装置及び前記環境情報検出装置を制御する自律移動体制御装置であって、
    前記自己移動量検出装置が検出した前記自律移動体の移動量に基づき、前記自律移動体の第1推定x座標、第1推定y座標及び第1推定姿勢からなる第1仮想値を演算する第1演算部と、
    前記環境情報検出装置が検出した前記環境情報に基づき、確率的手法によって前記自律移動体の第2推定x座標、第2推定y座標及び第2推定姿勢からなる複数の第2仮想値を演算する第2演算部と、
    各前記第2推定x座標の第1分散状態が第1基準状態を超えているか否かと、各前記第2推定y座標の第2分散状態が第2基準状態を超えているか否かと、各前記第2推定姿勢の第3分散状態が第3基準状態を超えているか否かとを判断する判断部と、
    前記第1分散状態が前記第1基準状態を超えず、前記第2分散状態が前記第2基準状態を超えず、かつ前記第3分散状態が前記第3基準状態を超えていなければ、各前記第2仮想値と、各前記第2仮想値に対して前記第1仮想値とのマッチング率を加味したものとを重み付けすることにより、主特定第2仮想値を決定する主決定部と、
    前記主特定第2仮想値を前記第1仮想値に置き換えて確定値とする第1出力モードを実行し、前記駆動装置に出力する第1出力モード部と、
    前記第1分散状態が前記第1基準状態を超えている場合、又は前記第2分散状態が前記第2基準状態を超えている場合、又は前記第3分散状態が前記第3基準状態を超えている場合には、各前記第2仮想値と、各前記第2仮想値に対して前記第1仮想値とのマッチング率を加味したものとを重み付けするとともに、前記第1分散状態が前記第1基準状態を超えた各前記第2推定x座標、前記第2分散状態が前記第2基準状態を超えた各前記第2推定y座標及び前記第3分散状態が前記第3基準状態を超えた前記第2推定姿勢を除外することにより、副特定第2仮想値を決定する副決定部と、
    前記副特定第2仮想値を前記第1仮想値に置き換えて確定値とする第2出力モードを実行し、前記駆動装置に出力する第2出力モード部とを有することを特徴とする自律移動体制御装置。
  2. 前記自律移動体制御装置は、前記確定値に基づき、前記確定値と前記第1仮想値との変位量を演算する第3演算部と、
    前記変位量が閾値を超えなければ、前記第1仮想値を確定値とする第3出力モードを実行し、前記駆動装置に出力する第3出力モード部と、
    前記変位量が前記閾値を超えれば、前記第1出力モード又は前記第2出力モードを実行させる補正モード部とを有する請求項1記載の自律移動体制御装置。
  3. 前記確率的手法は、SLAMアルゴリズムに基づくパーティクルフィルタである請求項1又は2記載の自律移動体制御装置。
  4. 前記自律移動体は、自律走行する産業車両である請求項1乃至3のいずれか1項記載の自律移動体制御装置。
  5. 前記駆動装置は、複数の駆動輪と、操舵装置と、電動モータとを有し、
    前記自己移動量検出装置は、各前記駆動輪の回転数、前記操舵装置の舵角及び前記電動モータの回転数の少なくとも1つを測定するエンコーダである請求項1乃至4のいずれか1項記載の自律移動体制御装置。
JP2016008425A 2016-01-20 2016-01-20 自律移動体制御装置 Active JP6642026B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016008425A JP6642026B2 (ja) 2016-01-20 2016-01-20 自律移動体制御装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016008425A JP6642026B2 (ja) 2016-01-20 2016-01-20 自律移動体制御装置

Publications (2)

Publication Number Publication Date
JP2017130006A JP2017130006A (ja) 2017-07-27
JP6642026B2 true JP6642026B2 (ja) 2020-02-05

Family

ID=59396262

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016008425A Active JP6642026B2 (ja) 2016-01-20 2016-01-20 自律移動体制御装置

Country Status (1)

Country Link
JP (1) JP6642026B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6642319B2 (ja) * 2016-07-19 2020-02-05 株式会社豊田自動織機 自律移動体制御装置
JPWO2019049864A1 (ja) * 2017-09-08 2020-08-27 株式会社オリジン ポリウレタン塗料組成物及び塗装製品の製造方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4696088B2 (ja) * 2007-03-20 2011-06-08 富士通株式会社 自律移動体および移動方法
DE102011000250A1 (de) * 2011-01-21 2012-07-26 Vorwerk & Co. Interholding Gmbh Verfahren zur Bestimmung der Position eines selbsttätig verfahrbaren Geräts
JP5909486B2 (ja) * 2011-06-29 2016-04-26 株式会社日立産機システム 自己位置姿勢推定システム
JP6074205B2 (ja) * 2012-09-26 2017-02-01 株式会社日立産機システム 自律移動体
JP6233706B2 (ja) * 2013-04-02 2017-11-22 パナソニックIpマネジメント株式会社 自律移動装置及び自律移動装置の自己位置推定方法

Also Published As

Publication number Publication date
JP2017130006A (ja) 2017-07-27

Similar Documents

Publication Publication Date Title
Sedighi et al. Guided hybrid A-star path planning algorithm for valet parking applications
CN110262495B (zh) 可实现移动机器人自主导航与精确定位的控制系统及方法
CN108762264B (zh) 基于人工势场与滚动窗口的机器人的动态避障方法
CN106022274B (zh) 一种避障方法、避障装置及无人驾驶机器
Vasiljević et al. High-accuracy vehicle localization for autonomous warehousing
US20060058921A1 (en) Mobile robot
JP2017182502A (ja) 移動体
US20090093907A1 (en) Robot System
KR101049906B1 (ko) 자율 이동 장치 및 이의 충돌 회피 방법
JP2006146491A (ja) 移動ロボットおよびその追従方法
JP5837902B2 (ja) 自律走行車両、自律走行車両の制御システム及び自律走行車両の制御方法
CN107560620B (zh) 一种路径导航方法和芯片及机器人
KR101245754B1 (ko) 자율주행 로봇 및 경로설정 방법
JP2006107475A (ja) 移動ロボット
JP4670807B2 (ja) 移動経路作成方法、自律移動体および自律移動体制御システム
JP5553220B2 (ja) 移動体
JP2020004095A (ja) 自律移動体制御装置及び自律移動体
JP6642319B2 (ja) 自律移動体制御装置
JP6642026B2 (ja) 自律移動体制御装置
JP2011141663A (ja) 無人搬送車、および、その走行制御方法
JP2007257200A (ja) 移動体及びその制御方法
JP2015055906A (ja) 移動体の走行制御手段に対して制御指令を出力する位置検出装置及び移動体システム
RU2749202C1 (ru) Способ планирования движения робота и мобильный робот
JP7396353B2 (ja) 地図作成システム、信号処理回路、移動体および地図作成方法
JP2019061452A (ja) 地図情報更新方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180405

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190305

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20190412

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191029

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191107

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: 20191203

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191216

R151 Written notification of patent or utility model registration

Ref document number: 6642026

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151