JP5723182B2 - 自律移動体、自律移動体の向き補正方法及び自律移動体の向き補正プログラム - Google Patents

自律移動体、自律移動体の向き補正方法及び自律移動体の向き補正プログラム Download PDF

Info

Publication number
JP5723182B2
JP5723182B2 JP2011050137A JP2011050137A JP5723182B2 JP 5723182 B2 JP5723182 B2 JP 5723182B2 JP 2011050137 A JP2011050137 A JP 2011050137A JP 2011050137 A JP2011050137 A JP 2011050137A JP 5723182 B2 JP5723182 B2 JP 5723182B2
Authority
JP
Japan
Prior art keywords
correction
vector data
angle
correction angle
degrees
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
JP2011050137A
Other languages
English (en)
Other versions
JP2012185776A (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.)
SOHGO SECURITY SERVICES CO.,LTD.
Original Assignee
SOHGO SECURITY SERVICES CO.,LTD.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SOHGO SECURITY SERVICES CO.,LTD. filed Critical SOHGO SECURITY SERVICES CO.,LTD.
Priority to JP2011050137A priority Critical patent/JP5723182B2/ja
Publication of JP2012185776A publication Critical patent/JP2012185776A/ja
Application granted granted Critical
Publication of JP5723182B2 publication Critical patent/JP5723182B2/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によれば、平行な壁が複数近距離に存在する場合に、間違った壁にマッチングするおそれを低減することができる。
特開2009−129277号公報
しかしながら、この特許文献1に代表される従来技術は、あくまでも自律移動体の走行経路上の特定の位置や状況に対して適用されるべき技術であり、様々な位置及び状況に共通的に適用できるものではない。その結果、自律移動体が走行経路上を走行する場合に、ある位置では補正技術1を適用し、他の位置では補正技術2を適用すると言うように、走行経路上の各位置でどの補正技術を適用するかを事前に設定しなければならない。かかる設定は、人手を介して行われるため、この種の設定を行うための人的労力が大きくなると言う問題がある。
図17は、従来技術の課題を説明するための説明図であり、ここでは自律移動体がT字路に向けて走行する過程を示している。同図では、対象物体にレーザ光を当て、反射される光の到着時刻を測ることによって対象物体までの距離を計測するレーザレンジセンサ(Laser Range Sensor)を用いて、前方の障害物までの方向と距離を検知し、これらの情報を利用して自装置の位置及び向きを補正する場合を想定している。
図17(a)に示すように、自律移動体からT字路までに十分な距離がある場合には、上記特許文献1により通路側面の2つの並行な壁を利用した位置及び向きの補正を行うことができる。ところが、同図(b)に示すように、自律移動体がある程度T字路に接近した時点では、通路側面の2つの並行な壁の情報量が低下するため、上記特許文献1をそのまま適用すると精度が低下する。このため、通路側面の2つの並行な壁を用いた補正処理を行うか若しくは正面の壁を用いた補正処理を行うのかを設定しなければならない。また、同図(c)に示すように、自律移動体がT字路に最接近した時点では、通路側面の2つの並行な壁の情報量がかなり低下するため、正面の壁を用いた補正処理を行うよう設定する必要が生じる。
このように、自律移動体が走行経路を走行するにつれて壁を含めた障害物の状況が変化するため、自律移動体のプログラマは、あらかじめ自律移動体の走行経路上のポイントを設定するとともに、各ポイントにおいていかなる位置及び向きの補正処理を行うかをプログラミングしなければならなくなる。これらのことから、自律移動体が走行する走行経路のいずれのポイントであっても、同一の処理内容を用いて簡易かつ効率的に自装置の位置及び向きを補正できるようにすることが望まれている。特に、自律移動体の向きに誤差が存在すると、自律移動体が走行すればするほど位置ずれが大きくなってしまうため、自律移動体の向きを適正な方向に向けるよう補正することがより重要となる。
本発明は、上述した従来技術の課題を解消するためになされたものであって、走行経路上の位置が異なる場合であっても、同一の処理内容で簡易かつ効率的に自装置の向きを補正することができる自律移動体、自律移動体の向き補正方法及び自律移動体の向き補正プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するため、本発明は、互いに略平行な第1の壁により形成された通路並びに該第1の壁と直交する方向に設けられた互いに略平行な第2の壁により形成された通路上を自装置の向きを補正しつつ走行する自律移動体であって、前記第1の壁及び前記第2の壁の一方若しくは双方を含む自装置の走行経路方向に所在する障害物の複数の計測点を取得し、取得した複数の計測点のうちの隣接する2つの計測点を始点及び終点とする複数のベクトルデータを生成するベクトルデータ生成部と、前記ベクトルデータ生成部により生成された各ベクトルデータの向きを直角の整数倍分回転補正して±45度の範囲内の向きを持つ各ベクトルデータに変換処理するベクトル変換処理部と、前記ベクトル変換処理部により変換された各ベクトルデータの向きと自装置の向きを示す0度とのなす角度を補正角度として算出する補正角度算出部と、前記補正角度算出部により算出された補正角度に基づいて自装置の向きを補正する向き補正部とを備えたことを特徴とする。
本発明によれば、第1の壁及び第2の壁の一方若しくは双方を含む自装置の走行経路方向に所在する障害物の複数の計測点を取得し、取得した複数の計測点のうちの隣接する2つの計測点を始点及び終点とする複数のベクトルデータを生成し、生成した各ベクトルデータの向きを直角の整数倍分回転補正して±45度の範囲内の向きを持つ各ベクトルデータに変換処理し、変換処理された各ベクトルデータの向きと自装置の向きを示す0度とのなす角度を補正角度として算出する補正角度算出部と、前記補正角度算出部により算出された補正角度に基づいて自装置の向きを補正するよう構成したので、走行経路を形成する壁が平行若しくは直交関係にあると言う性質を利用し、走行経路上の位置が異なる場合であっても、同一の処理内容で簡易かつ効率的に自装置の向きを補正することが可能となる。
図1は、本実施例1に係る移動ロボットの構成を示す機能ブロック図である。 図2は、本実施例1に係る移動ロボットの外観の一例を示す図である。 図3は、図1に示した制御部による処理の概念を説明するための説明図である。 図4は、図1に示した移動ロボットによる向き補正手順を示すフローチャートである。 図5は、障害物データの生成を説明するための説明図である。 図6は、ヒストグラムの一例並びに補正角度を用いた向き補正を説明するための説明図である。 図7は、本実施例1に係る移動ロボットによる効果を説明するための説明図である。 図8は、本実施例2に係る移動ロボットの構成を示す機能ブロック図である。 図9は、図8に示した補正角度算出部による処理の概念を説明するための説明図である。 図10は、図8に示した移動ロボットによる向き補正手順を示すフローチャートである。 図11は、本実施例3に係る移動ロボットの構成を示す機能ブロック図である。 図12は、図11に示した移動ロボットの処理の概念を説明するための説明図である。 図13は、図11に示した移動ロボットによる向き補正手順を示すフローチャートである。 図14は、本実施例4に係る移動ロボットの構成を示す機能ブロック図である。 図15は、図14に示した移動ロボットによる向き補正手順を示すフローチャートである。 図16は、測定誤差が生じた場合のベクトルデータの平均化を説明するための説明図である。 図17は、従来技術の課題を説明するための説明図である。
以下に、添付図面を参照して、本発明に係る自律移動体、自律移動体の向き補正方法及び自律移動体の向き補正プログラムの好適な実施例を詳細に説明する。以下に示す実施例1〜4では、2つの平行な壁並びにこの壁と垂直な方向の2つの壁により形成された通路上を走行する移動ロボットに対して本発明に係る自律移動体、自律移動体の向き補正方法及び自律移動体の向き補正プログラムを適用した場合を示すこととする。
まず、本実施例1に係る移動ロボット100の構成について説明する。図1は、本実施例1に係る移動ロボット100の構成を示す機能ブロック図であり、図2は、本実施例1に係る移動ロボット100の外観の一例を示す図である。また、図3は、図1に示した制御部109による処理の概念を説明するための説明図である。
図1に示すように、移動ロボット100は、レーザレンジセンサ(以下、「LRS」と言う)101と、監視カメラ102と、操作パネル部103と、スピーカ104と、通信部105と、駆動部106と、ジャイロセンサ107と、記憶部108と、制御部109とを有する。
LRS101は、対象物体にレーザ光を当て、反射される光の到着時刻を測ることによって対象物体までの距離を計測する距離センサである。具体的には、移動ロボット100の走行方向を0度とした場合に、−90度から90度の角度範囲で順次レーザ光を照射し、各壁面を含む障害物から反射される反射光の到着時刻とレーザ光の照射時刻の時間差から各角度における障害物までの距離を計測する。なお、レーザ光を照射する角度範囲は、−90度から90度に限定されるものではない。
このLRS101は、レーザ光の照射角度をずらしながら該レーザ光が障害物で反射する点(以下、「計測点」と言う)までの距離を計測し、計測した各計測点に関する情報(角度及び距離)を制御部109に出力する。なお、この障害物には、移動ロボット100が走行する通路を形成する並行な2つの壁並びにこの通路と直交する方向に設けられた通路を形成する2つの壁が含まれる。図2に示すように、このLRS101は、移動ロボット100の前方の足下に設置されている。ただし、このLRS101は、前方の足下だけではなく後方の足下等に併設することもできる。
監視カメラ102は、監視領域の撮像を行うCCDイメージセンサ(Charge Coupled Device Image Sensor)等からなる撮像装置である。図2に示すように、この監視カメラ102は、移動ロボット100の頭部に設置されている。
操作パネル部103は、移動ロボット100に対する操作指示を行う操作部であり、タッチ式の液晶パネル等からなる。操作者は、この操作パネル部103の操作メニューから所望の項目を選択して操作入力する。また、この操作パネル部103には、各種の警報メッセージも表示される。図2に示すように、この操作パネル部103は、移動ロボット100の胸部に設置されている。
スピーカ104は、警報メッセージを含む各種の音声メッセージを出力する出力デバイスである。図2に示すように、このスピーカ104は、移動ロボット100の胸部に設置されている。通信部105は、図示しない監視装置との間で無線等によりデータ通信を行うための通信部である。具体的には、この通信部105を介して管理装置から巡回経路上の巡回の開始指示又は停止指示などを受信する。また、この通信部105を介して監視カメラ102で撮像した画像データや警報メッセージ等を管理装置に送信することもできる。
駆動部106は、移動ロボット100に設けられた車輪(図示省略)を回転駆動する車輪モータであり、この駆動部106により移動ロボット100が前進駆動、後退駆動及び回転駆動される。この駆動部106には、車輪の回転数を検知する回転数センサが併設されており、この回転数センサで検知した車輪の回転数が制御部109に出力される。
ジャイロセンサ107は、角速度を検知して制御部109に出力するセンサである。移動ロボット100は、このジャイロセンサ107により検知された角速度によって自装置の向きを判定することになる。ここで、ジャイロセンサ107による検知された角速度の誤差が累積すると、移動ロボット100の本来の向きと、移動ロボット100が判定する向きとの間で誤差が生ずる結果となる。このため、この移動ロボット100は、定期的又は所定のタイミングで自装置の向きを補正している。
記憶部108は、ハードディスク装置や不揮発性メモリなどからなる記憶デバイスであり、地図データ108aを記憶する。地図データ108aは、移動ロボット100による監視領域の地図データである。この地図データ108aは、後述する走行制御部109d等によって参照される。
制御部109は、移動ロボット100の全体制御を行う制御部であり、障害物データ生成部109a、ベクトル変換処理部109b、補正角度算出部109c及び走行制御部109dを有する。なお、この制御部109は、監視カメラ102への撮像指示、監視カメラ102からの画像データの受信、操作パネル部103の表示制御、操作パネル部103からの操作入力データの受付、スピーカ104への音声データの出力、通信部105のデータ送受信制御及び駆動部106の駆動制御等についても行うが、ここでは本発明の特徴部分についてのみ図示説明している。
障害物データ生成部109aは、LRS101から受け取った複数の計測点に関する情報(角度及び距離)を利用して、障害物表面のベクトルデータを生成する処理部である。具体的には、LRS101から複数の計測点に関する情報(角度及び距離)を受け取った際に、隣接する2つの計測点間の距離が所定の範囲内であれば、隣接する2つの計測点を始点及び終点としたベクトルデータを生成する。なお、かかるベクトルデータの生成については、各種の従来技術を用いることができる。例えば、図3(a)に斜線で示す壁が存在する場合には、図中に黒点で示した位置が計測点の位置となり、図3(b)に示すように、隣接する2つの計測点を始点及び終点としたものがベクトルデータとなる。
ベクトル変換処理部109bは、障害物データ生成部109aで生成された各ベクトルデータの向きを直角分回転補正して±45度の範囲内の向きを持つベクトルデータに変換処理する処理部である。具体的には、ベクトルデータの向きが45度よりも大きく135度以下である場合には−90度回転させ、該ベクトルデータの向きが135度よりも大きく225度以下である場合には−180度回転させ、該ベクトルデータの向きが225度よりも大きく315度以下である場合には−270度回転させる。なお、ベクトルデータの向きが±45度の範囲内であれば回転補正を行わない。このベクトル変換処理部109bの処理により、全てのベクトルの向きが±45度の範囲内となる。
例えば、図3(b)に示すベクトルa1〜a3は、ベクトルの向きだけを考えると図3(c)に示すようになる。ここで、ベクトルa1は、±45度の範囲内であるために回転されず、ベクトルa2は、45度よりも大きく135度以下であるため−90度回転される。同様に、ベクトルa3は、135度よりも大きく225度以下であるため−180度回転される。その結果、ベクトルa1〜a3は、図3(d)に示すようになる。なお、ここでは説明の便宜上、ベクトルa1〜a3についてのみ説明したが、全てのベクトルについて同様の回転補正が行われる。
このように、ベクトル変換処理部109bによるベクトル変換を行う理由は、できるだけ多くの壁の情報を自装置の向きの補正に利用するためである。また、移動ロボット100が所在する走行経路上の位置がどの位置であっても、同じ処理内容で簡易かつ的率的に自装置の向きを補正できるようにするためである。言い換えると、移動ロボット100は、現在走行中の通路の壁と並行な向きに、またこの通路と直交する方向の通路の壁と直交する向きに自装置を向ける必要があるため、各通路の壁表面のベクトルデータを最大限利用している。
これにより、移動ロボット100が例えば図17(a)〜(c)のいずれの位置に所在する場合であっても、同じ処理内容で自装置の向きを補正することができる。なお、移動ロボット100の通路上には、ロッカーや棚などの矩形物品が配設されることが多い点も考慮している。これらの矩形物品の表面は、いずれかの壁と並行又は直交するため、これらの矩形物品の表面のベクトルデータを利用すれば、正しい向きを向くために必要な情報を多数入手できることになる。その結果、通路を通行する人などの外乱が存在したとしても、移動ロボット100は自装置を正しい向きに補正することが可能となる。
補正角度算出部109cは、移動ロボット100の向きを補正する補正角度を算出する。具体的には、この補正角度算出部109cは、ベクトル変換処理部109bにより変換されたベクトルデータを、±45度の範囲の角度を横軸として縦軸を度数としたヒストグラムにそれぞれ投票し、ヒストグラムの度数が最大となる角度を補正角度として算出する。例えば、図3(d)に示すように、走行方向(0度)から角度θ分ずれた度数が最も高い場合には、この角度θが補正角度となる。
走行制御部109dは、移動ロボット100を走行制御する制御部である。具体的には、この走行制御部109dは、ジャイロセンサ107により検知した角速度及び駆動部106から受信した車輪の回転数により地図データ108a上の現在地を認識しつつ、あらかじめ決められた経路に沿って自装置を走行制御する。
この走行制御部109dには、補正角度算出部109cにより算出された補正角度に基づいて自装置の向きを補正する向き補正部109eが設けられている。かかる向き補正部109eは、定期的又は所定のタイミングで自装置の向きを補正する。ただし、走行経路上のどの地点であっても、補正角度算出部109cにより算出された補正角度に基づく同一の処理を行っている。なお、補正角度算出部109cによる補正角度の算出についても、走行経路上のどの地点であっても同じ処理を行う。
なお、上記一連の説明では、移動ロボット100を各機能の観点から説明したが、これらの各機能は移動ロボット100に搭載したCPU(Central Processing Unit)の処理によって実現される。例えば、障害物データ生成ルーチン、ベクトル変換処理ルーチン、補正角度算出ルーチン及び走行制御ルーチンを含むプログラムを不揮発性メモリやROM(Read Only Memory)に記憶しており、このプログラムをCPUに読み込んで実行することにより、上記障害物データ生成部109a、ベクトル変換処理部109b、補正角度算出部109c及び走行制御部109dの処理を実行することができる。
次に、図1に示した移動ロボット100による向き補正手順について説明する。図4は、図1に示した移動ロボット100による向き補正手順を示すフローチャートである。同図に示すように、移動ロボット100は、LRS101により−90度から90度の角度範囲で順次レーザ光を照射して、走行方向の障害物表面の計測点に関する情報(角度及び距離)を取得する(ステップS101)。例えば、図5(a)に示すT字路の手前の通路を走行している場合には、図中に斜線で示した走行方向の両側の壁及びT字路正面の壁を障害物として検知し、図中に黒点で示した該障害物の計測点に関する情報を取得する。なお、実際には、移動ロボット100が図5(b)に示した計測点の点列を取得する。
その後、隣接する計測点間の距離が所定の範囲内である場合に、該隣接する計測点を始点及び終点とした複数のベクトルデータを生成し、これを障害物データとする(ステップS102)。例えば、図5(b)に示す計測点の点列により、図5(c)に示すベクトルデータが得られる。
そして、障害物データをなす各ベクトルデータの向きを直角分回転補正して±45度の範囲内の向きを持つベクトルデータに変換処理する(ステップS103)。具体的には、ベクトルデータの向きが45度よりも大きく135度以下である場合には−90度回転させ、該ベクトルデータの向きが135度よりも大きく225度以下である場合には−180度回転させ、該ベクトルデータの向きが225度よりも大きく315度以下である場合には−270度回転させる。なお、ベクトルデータの向きが±45度の範囲内であれば回転補正を行わない。
その後、±45度の範囲の角度を横軸として縦軸を度数としたヒストグラムに対して各ベクトルデータを投票し(ステップS104)、未処理のベクトルデータが存在する場合には(ステップS105;Yes)、ステップS103に移行する。また、全てのベクトルデータの処理を終えたならば(ステップS105;No)、例えば図6(a)に示すヒストグラムが得られる。
その後、このヒストグラムのうち最も度数の高い角度θを補正角度として算出する(ステップS106)。図6(a)のヒストグラムでは、角度「5度」の度数が最も高くなっているため、補正角度θは「5度」となる。
そして、この補正角度θを用いて移動ロボット100の向きを補正する(ステップS107)。例えば、図6(a)のヒストグラムでは補正角度θ(=5度)分のずれがあるため、図6(b)に示すように、補正角度θだけ自装置を回転させることで自装置の向きを各壁と並行又は垂直の方向に補正できる。
上述してきたように、本実施例1では、LRS101が自装置の走行経路方向に所在する壁を含む障害物の複数の計測点に関する情報を取得し、障害物データ生成部109aが隣接する2つの計測点を始点及び終点とする複数のベクトルデータを生成し、ベクトル変換処理部109bが各ベクトルデータの向きを直角分回転補正して±45度の範囲内の向きを持つ各ベクトルデータに変換処理し、補正角度算出部109cが各ベクトルデータの向きと自装置の向きを示す0度とのなす角度を補正角度として算出し、向き補正部109eが補正角度に基づいて自装置の向きを補正するよう構成したので、移動ロボット100の向きを該移動ロボット100が所在する通路の壁面と並行になるよう補正することができる。また、移動ロボット100が走行経路上のどの地点に位置する場合であっても、異なるアルゴリズムを導入することなく同一の処理で簡易かつ効率的に自装置の向きを補正することができる。
また、上記構成を採用することにより、移動ロボット100が所在する通路の壁面だけではなく、該壁面と直交する方向の壁面をも利用して自装置の向きを補正することができる。これにより、柱、障害物及び歩行者が存在する場合であっても、自装置の向きを正確に補正することが可能となる。具体的には、図7(a)の場合には、柱などの突起物や障害物の存在によって、移動ロボット100が所在する通路の壁面の情報の一部が欠落するが、該壁面と直交する方向の壁面の情報により正しい向きに関する情報を十分取得することができる。また、図7(b)に示すように、移動ロボット100の近傍に歩行者が存在する場合であっても、移動ロボット100が所在する通路の壁面と直交する方向の壁面の情報全てが欠落するわけではないので、正しい向きに関する情報を十分取得することができる。
なお、移動ロボット100が走行する通路上には、ロッカーや本棚等の矩形の障害物が設置されるのが一般的である。そして、かかる矩形の障害物の表面は、通路の壁と並行又は直交する方向になる。これらのことから、移動ロボット100が走行する通路上に様々な障害物が配設された場合であっても、現実的には、移動ロボット100の正しい向きに関する情報を十分取得することが可能である。
ところで、上記実施例1では、移動ロボット100の補正角度が大きい場合であっても補正角度に基づいた向きの補正を行うこととしたが、実際には、移動ロボット100の補正角度は所定の角度範囲内に収まるのが通常である。ジャイロセンサ107により生ずる誤差は微細なものであり、その微細な誤差が徐々に積み重なって移動ロボット100の向きの誤差が生ずる点を考慮すると、移動ロボット100が通常の走行を行う限り、補正角度が大きくなることは考え難いからである。このため、本実施例2では、補正角度が所定の角度範囲内に収まらない場合には自装置の向きを補正しないこととしている。
まず、本実施例2に係る移動ロボット200の構成について説明する。図8は、本実施例2に係る移動ロボット200の構成を示す機能ブロック図であり、図9は、図8に示した補正角度算出部201による処理の概念を説明するための説明図である。なお、上記実施例1に係る移動ロボット100の機能部と同様の部位については、同一の符号を付すこととしてその詳細な説明を省略する。また、本実施例2並びに後述する実施例3及び4に係る移動ロボットの外観構成は、実施例1のものと同様となる。
図8に示すように、移動ロボット200の制御部109には、補正角度算出部201及び向き補正部202が設けられている。補正角度算出部201は、移動ロボット200の向きを補正するための補正角度を算出する処理部である。具体的には、この補正角度算出部201は、ベクトル変換処理部109bにより変換されたベクトルデータのうち所定の角度範囲内(例えば±15度)のベクトルデータのみをヒストグラムに投票し、このヒストグラムの度数が最大となる角度を補正角度として算出する。
このように、所定の角度範囲内(例えば±15度)のベクトルデータのみを用いることとしたのは、移動ロボット200の向きが大きくずれることは考え難く、所定の角度範囲外のベクトルデータを外乱と考えることができるからである。その結果、図9(a)に示すように、所定の角度範囲外のベクトルデータがヒストグラムに投票されないので、処理の高速化を図ることができる。
向き補正部202は、補正角度算出部201により算出された補正角度が所定の角度範囲内(例えば±15度)である場合に、この補正角度に基づいて自装置の向きを補正する処理部である。なお、この補正角度が所定の角度範囲内でない場合には、自装置の向きを補正しない。
9(b)に示すように、補正角度算出部201により算出された補正角度θが±15度の範囲外である場合には、大幅に向きは変わらない実情を考慮して自装置の向きの補正を行わないなお、全てのベクトルデータをヒストグラムに投票し、補正角度が所定の角度範囲内(例えば±15度)でない場合に、警報を出力することもできる。かかる警報の出力としては、移動ロボット200の操作パネル部103に対する異常発生の表示、スピーカ104からの異常が発生した旨の音声ガイダンス又は通信部105を介して監視装置への異常発生の通知等がなされる。
次に、図8に示した移動ロボット200による向き補正手順について説明する。図10は、図8に示した移動ロボット200による向き補正手順を示すフローチャートである。同図に示すように、移動ロボット200は、LRS101により−90度から90度の角度範囲で順次レーザ光を照射して、走行方向の障害物の計測点に関する情報(角度及び距離)を取得する(ステップS201)。
その後、隣接する計測点を始点及び終点とする複数のベクトルデータを生成し、これを障害物データとする(ステップS202)。そして、障害物データをなす各ベクトルデータの向きを直角分回転補正して±45度の範囲内の向きを持つベクトルデータに変換処理する(ステップS203)。
その後、ベクトルデータの角度が所定の角度範囲内である場合には(ステップS204;Yes)、このベクトルデータを±45度の範囲の角度を横軸として縦軸を度数としたヒストグラムに投票する(ステップS205)。なお、所定の角度範囲内でない場合には(ステップS204;No)、ヒストグラムには投票しない。
そして、未処理のベクトルデータが存在する場合には(ステップS206;Yes)、ステップS203に移行する。また、全てのベクトルデータの処理を終えたならば(ステップS206;No)、このヒストグラムのうち最も度数の高い角度θを補正角度として算出する(ステップS207)。
そして、この補正角度θを用いて移動ロボット200の向きを補正し(ステップS209)、処理を終了する
上述してきたように、本実施例2では、補正角度算出部201が、ベクトルデータのうち所定の角度範囲内(例えば±15度)のベクトルデータのみをヒストグラムに投票するとともに、この補正角度算出部201により算出された補正角度が所定の角度範囲内である場合にのみ向き補正部202により自装置の向きを補正するよう構成したので、高速な処理が可能になるとともに、異常な補正角度が算出された場合の補正を抑制することができる。
ところで、上記実施例1及び2では、各壁から正しい向きに関する情報を十分に取得できる場合を前提としたが、通路上に多数の人物が存在するような場合には、一時的に正しい向きに関する情報を十分に取得することができない。そこで、本実施例3では、各壁等から正しい向きに関する情報を十分に取得することができない場合について説明する。
まず、本実施例3に係る移動ロボット300の構成について説明する。図11は、本実施例3に係る移動ロボット300の構成を示す機能ブロック図であり、図12は、図11に示した移動ロボット300の処理の概念を説明するための説明図である。なお、上記実施例1及び2に係る移動ロボット100及び200の機能部と同様の部位については、同一の符号を付すこととしてその詳細な説明を省略する。
図11に示すように、移動ロボット300の制御部109には、向き補正部302及び小移動制御部303を有する走行制御部301が設けられている。この走行制御部301は、補正角度算出部109cにより算出された補正角度が所定の範囲(例えば±15度)を超えない場合に、補正角度に基づいて自装置の向きを補正する向き補正部302と、自装置を現在の向きのまま小移動させる小移動制御部303とを有する。
そして、図12(a)に示すように、補正角度算出部109cにより算出された補正角度θが所定の角度範囲を超える場合には、同図(b)に示すように、小移動制御部303によって自装置を現在の向きのまま小移動させる。かかる自装置の小移動に応答して、LRS101による計測点に関する情報の取得から補正角度算出部109cによる補正角度の算出が実行され、補正角度θが再度所定の角度範囲を超過した場合には警報出力部203による警報を行う。一方、補正角度θが所定の角度範囲内になったならば、あらためて自装置の向きを補正させる。
本実施例3に係る移動ロボット300は、このように補正角度が所定の角度範囲を超える場合に、自装置を小移動させて再度補正角度を求めることで、一時的に正しい向きに関する情報を十分に取得することができないケースに柔軟に対応できるようにしている。
なお、ここでは自装置を現在の向きのまま小移動させることとしたが、本発明はこれに限定されるものではなく、現在の向きと異なる方向に小移動させることもできる。また、小移動ではなく通常の移動をさせることもできる。
次に、図11に示した移動ロボット300による向き補正手順について説明する。図13は、図11に示した移動ロボット300による向き補正手順を示すフローチャートである。同図に示すように、移動ロボット300は、LRS101により−90度から90度の角度範囲で順次レーザ光を照射して、移動方向の障害物の計測点に関する情報(角度及び距離)を取得する(ステップS301)。
その後、隣接する計測点を始点及び終点とする複数のベクトルデータを生成し、これを障害物データとする(ステップS302)。そして、障害物データをなす各ベクトルデータの向きを直角分回転補正して±45度の範囲内の向きを持つベクトルデータに変換処理する(ステップS303)。
その後、このベクトルデータを±45度の範囲の角度を横軸として縦軸を度数としたヒストグラムに投票し(ステップS304)、未処理のベクトルデータが存在する場合には(ステップS305;Yes)、ステップS303に移行する。また、全てのベクトルデータの処理を終えたならば(ステップS305;No)、このヒストグラムのうち最も度数の高い角度θを補正角度として算出する(ステップS306)。
ここで、この補正角度θが所定の角度範囲内である場合には(ステップS307;Yes)、この補正角度θを用いて移動ロボット200の向きを補正する(ステップS308)。これに対して、この補正角度θが所定の角度範囲外である場合には(ステップS307;No)、自装置が小移動をしたか否かを判定する(ステップS309)。そして、自装置が小移動を行っていない場合には(ステップS309;No)、移動ロボット300を小移動させた後に(ステップS310)、ステップS301に移行する。一方、自装置がすでに小移動を行っていた場合には(ステップS309;Yes)、警報出力部203により警報を出力する(ステップS311)。
上述してきたように、本実施例3では、補正角度が所定の角度範囲を超える場合に、直ちに警報を出力するのではなく、自装置を小移動させて再度補正角度を求めるよう構成したので、一時的に正しい向きに関する情報を十分に取得することができないケースに柔軟に対応することが可能となる。
ところで、上記実施例2に示したように、ジャイロセンサ107により生ずる誤差は微細なものであるため、原則としては移動ロボット200の補正角度は所定の角度範囲内に収まるのが通常である。しかしながら、人手によって移動ロボット200が動かされたような場合は、補正角度が大きくなってしまう。このような場合には、算定された補正角度が正常な結果であると判定することが望ましい。そこで、本実施例4では、補正角度が所定の角度範囲内でない場合であっても、特定の条件を満たせばこの補正角度を正常なものとみなして自装置の向きを補正することとしている。
まず、本実施例4に係る移動ロボット400の構成について説明する。図14は、本実施例4に係る移動ロボット400の構成を示す機能ブロック図である。なお、上記実施例1及び2に係る移動ロボット100及び200の機能部と同様の部位については、同一の符号を付すこととしてその詳細な説明を省略する。
図14に示すように、移動ロボット400の制御部109には、移動ロボット400の向きを補正する向き補正部401が設けられている。この向き補正部401は、補正角度算出部201により算出された補正角度が所定の角度範囲内(例えば±15度)であるか否かを判定し、補正角度が所定の角度範囲内である場合には、補正角度を用いて自装置の向きを補正する。
一方、補正角度が所定の角度範囲内でない場合であっても、記憶部108に記憶した前回の補正角度(θp)402と同じ補正角度θが算定されたならば、この補正角度θが正しい値であるとみなして、自装置の向きを補正する。かかる補正を行う理由を具体的に説明する。(n−1)回目の処理で正常に補正が行われ、n回目の処理で補正角度θpが所定の角度範囲を超え、(n+1)回目の処理で補正角度θが所定の角度範囲を超えた場合には、(n−1)回目とn回目の間に一時的な要因(人が移動ロボット400に衝突するケース等)により移動ロボット400の向きが大きく変化したと考えられる。つまり、このような場合には、補正角度θが所定の角度範囲を超える場合であっても、この補正角度θを正常なものと判定すべきである。このため、本実施例4では、今回の補正角度θが所定の角度範囲を超えたとしても、この補正角度θが記憶部108に記憶した前回の補正角度(θp)402と等しい場合には、該補正角度θが正常なものであるとみなして自装置の向きを補正することとしている。
次に、図14に示した移動ロボット400による向き補正手順について説明する。図15は、図14に示した移動ロボット400による向き補正手順を示すフローチャートである。同図に示すように、移動ロボット400は、LRS101により−90度から90度の角度範囲で順次レーザ光を照射して、走行方向の障害物の計測点に関する情報(角度及び距離)を取得する(ステップS401)。
その後、隣接する計測点を始点及び終点とする複数のベクトルデータを生成し、これを障害物データとする(ステップS402)。そして、障害物データをなす各ベクトルデータの向きを直角分回転補正して±45度の範囲内の向きを持つベクトルデータに変換処理する(ステップS403)。
その後、このベクトルデータを±45度の範囲の角度を横軸として縦軸を度数としたヒストグラムに投票し(ステップS404)、未処理のベクトルデータが存在する場合には(ステップS405;Yes)、ステップS403に移行する。また、全てのベクトルデータの処理を終えたならば(ステップS405;No)、このヒストグラムのうち最も度数の高い角度θを補正角度として算出する(ステップS406)。
ここで、この補正角度θが所定の角度範囲内である場合には(ステップS407;Yes)、この補正角度θを用いて移動ロボット400の向きを補正する(ステップS408)。これに対して、この補正角度θが所定の角度範囲外である場合には(ステップS407;No)、記憶部108に記憶した前回の処理で求めた補正角度(θp)402と今回の処理で求めた補正角度θが等しいか否かを判定する(ステップS409)。
その結果、補正角度(θp)402と補正角度θが等しい場合には(ステップS409;Yes)、たとえ補正角度θが所定の角度範囲を超える場合であっても、この補正角度θを用いて移動ロボット400の向きを補正する(ステップS408)。一方、補正角度(θp)402と補正角度θが等しくない場合には(ステップS409;No)、警報を出力するとともに(ステップS410)、この補正角度θを前回の補正角度(θp)402として記憶部108に記憶する(ステップS411)。
上述してきたように、本実施例4では、補正角度θが所定の角度範囲外であり、かつ、この補正角度θが前回の処理で求めた補正角度(θp)402と等しい場合には、この補正角度θを用いて自装置の向きを補正するよう構成したので、一時的に移動ロボット400の向きが大きく変動した場合であっても、移動ロボット400の向きを正しく補正することが可能となる。
なお、上記実施例1〜4では、同じ壁から得られるベクトルデータの向きが同一であるものとしたが、現実的には、図16(a)に示すように、測定誤差によって同じ壁から得られるベクトルデータの向きにバラツキが生じる。かかる測定誤差を考慮して、図16(b)に示すように、ヒストグラムの所定の角度範囲を平均化することもできる、これにより、測定誤差の補正角度への影響を低減することができる。
また、上記実施例1〜4では、レーザレンジセンサ(LRS)101を用いて計測点に関する情報を取得する場合を示したが、本発明はこれに限定されるものではなく、光センサ、超音波センサ、レーダなどを用いることもできる。また、CCDで撮像した距離画像から観測点の角度及び距離を求めることもできる。
本発明に係る自律移動体、自律移動体の向き補正方法及び自律移動体の向き補正プログラムは、走行経路上の位置が異なる場合であっても、同一の処理内容で簡易かつ効率的に自装置の向きを補正する場合に適している。
100 移動ロボット
101 レーザレンジセンサ(LRS)
102 監視カメラ
103 操作パネル部
104 スピーカ
105 通信部
106 駆動部
107 ジャイロセンサ
108 記憶部
108a 地図データ
109 制御部
109a 障害物データ生成部
109b ベクトル変換処理部
109c 補正角度算出部
109d 走行制御部
109e 向き補正部
200 移動ロボット
201 補正角度算出部
202 向き補正部
203 警報出力部
300 移動ロボット
301 走行制御部
302 向き補正部
303 小移動制御部
400 移動ロボット
401 向き補正部
402 前回の補正角度(θp)

Claims (9)

  1. 互いに略平行な第1の壁により形成された通路並びに該第1の壁と直交する方向に設けられた互いに略平行な第2の壁により形成された通路上を自装置の向きを補正しつつ走行する自律移動体であって、
    前記第1の壁及び前記第2の壁の一方若しくは双方を含む自装置の走行経路方向に所在する障害物の複数の計測点を取得し、取得した複数の計測点のうちの隣接する2つの計測点を始点及び終点とする複数のベクトルデータを生成するベクトルデータ生成部と、
    前記ベクトルデータ生成部により生成された各ベクトルデータの向きを直角の整数倍分回転補正して±45度の範囲内の向きを持つ各ベクトルデータに変換処理するベクトル変換処理部と、
    前記ベクトル変換処理部により変換処理された各ベクトルデータの向きと自装置の向きを示す0度とのなす角度を補正角度として算出する補正角度算出部と、
    前記補正角度算出部により算出された補正角度に基づいて自装置の向きを補正する向き補正部と
    を備えたことを特徴とする自律移動体。
  2. 前記ベクトルデータ生成部により生成されたベクトルデータの向きが45度よりも大きく135度以下である場合には−90度回転補正し、該ベクトルデータの向きが135度よりも大きく225度以下である場合には−180度回転補正し、該ベクトルデータの向きが225度よりも大きく315度以下である場合には−270度回転補正して、±45度の範囲内の向きを持つ各ベクトルデータに変換処理することを特徴とする請求項1に記載の自律移動体。
  3. 前記補正角度算出部は、±45度の範囲の角度を横軸として縦軸を度数としたヒストグラムに対して前記ベクトル変換処理部により変換処理された各ベクトルデータを投票し、該ヒストグラムの度数が最大となる角度を補正角度として算出することを特徴とする請求項1又は2に記載の自律移動体。
  4. 前記補正角度算出部は、前記ベクトル変換処理部により変換処理された各ベクトルデータが所定の角度の範囲内である場合にのみ、該ベクトルデータの向きを前記ヒストグラムに投票することを特徴とする請求項3に記載の自律移動体。
  5. 前記補正角度算出部により算出された補正角度が所定の角度範囲内でない場合に、所定の警報を報知する警報報知部をさらに備えたことを特徴とする請求項に記載の自律移動体。
  6. 前記補正角度算出部により算出された補正角度が所定の角度範囲内でなく、かつ、自装置が小移動した後に前記補正角度算出部により新たに算出された補正角度が所定の角度範囲内でない場合に、所定の警報を報知する警報報知部をさらに備えたことを特徴とする請求項1〜のいずれか一つに記載の自律移動体。
  7. 前記向き補正部は、前記補正角度算出部により算出された補正角度並びに前記補正角度算出部により前回算出された補正角度が同一であり、かつ、両者がともに所定の角度範囲内でない場合に、前記補正角度が正常な補正角度であるとみなして自装置の向きを補正することを特徴とする請求項1に記載の自律移動体。
  8. 互いに略平行な第1の壁により形成された通路並びに該第1の壁と直交する方向に設けられた互いに略平行な第2の壁により形成された通路上を走行する自律移動体の向き補正方法であって、
    前記第1の壁及び前記第2の壁の一方若しくは双方を含む自装置の走行経路方向に所在する障害物の複数の計測点を取得し、取得した複数の計測点のうちの隣接する2つの計測点を始点及び終点とする複数のベクトルデータを生成するベクトルデータ生成工程と、
    前記ベクトルデータ生成工程により生成された各ベクトルデータの向きを直角の整数倍分回転補正して±45度の範囲内の向きを持つ各ベクトルデータに変換処理するベクトル変換処理工程と、
    前記ベクトル変換処理工程により変換処理された各ベクトルデータの向きと自装置の向きを示す0度とのなす角度を補正角度として算出する補正角度算出工程と、
    前記補正角度算出工程により算出された補正角度に基づいて自装置の向きを補正する向き補正工程と
    を含んだことを特徴とする自律移動体の向き補正方法。
  9. 互いに略平行な第1の壁により形成された通路並びに該第1の壁と直交する方向に設けられた互いに略平行な第2の壁により形成された通路上を走行する自律移動体の向き補正プログラムであって、
    前記第1の壁及び前記第2の壁の一方若しくは双方を含む自装置の走行経路方向に所在する障害物の複数の計測点を取得し、取得した複数の計測点のうちの隣接する2つの計測点を始点及び終点とする複数のベクトルデータを生成するベクトルデータ生成手順と、
    前記ベクトルデータ生成手順により生成された各ベクトルデータの向きを直角の整数倍分回転補正して±45度の範囲内の向きを持つ各ベクトルデータに変換処理するベクトル変換処理手順と、
    前記ベクトル変換処理手順により変換処理された各ベクトルデータの向きと自装置の向きを示す0度とのなす角度を補正角度として算出する補正角度算出手順と、
    前記補正角度算出手順により算出された補正角度に基づいて自装置の向きを補正する向き補正手順と
    をコンピュータに実行させることを特徴とする自律移動体の向き補正プログラム。
JP2011050137A 2011-03-08 2011-03-08 自律移動体、自律移動体の向き補正方法及び自律移動体の向き補正プログラム Active JP5723182B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2011050137A JP5723182B2 (ja) 2011-03-08 2011-03-08 自律移動体、自律移動体の向き補正方法及び自律移動体の向き補正プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011050137A JP5723182B2 (ja) 2011-03-08 2011-03-08 自律移動体、自律移動体の向き補正方法及び自律移動体の向き補正プログラム

Publications (2)

Publication Number Publication Date
JP2012185776A JP2012185776A (ja) 2012-09-27
JP5723182B2 true JP5723182B2 (ja) 2015-05-27

Family

ID=47015796

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011050137A Active JP5723182B2 (ja) 2011-03-08 2011-03-08 自律移動体、自律移動体の向き補正方法及び自律移動体の向き補正プログラム

Country Status (1)

Country Link
JP (1) JP5723182B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6517482B2 (ja) 2014-08-29 2019-05-22 東芝ライフスタイル株式会社 自律走行体および電気掃除機
CN105425214B (zh) * 2015-11-09 2018-04-20 零度智控(北京)智能科技有限公司 一种旋转雷达的检测散点过滤的方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5032953B2 (ja) * 2007-11-26 2012-09-26 パナソニック株式会社 自己位置認識システム
JP5448429B2 (ja) * 2008-11-28 2014-03-19 綜合警備保障株式会社 移動体検知装置および移動体検知方法
JP5319255B2 (ja) * 2008-12-03 2013-10-16 綜合警備保障株式会社 自律移動体および速度制御方法
JP2010217995A (ja) * 2009-03-13 2010-09-30 Mitsubishi Electric Corp 探索装置及び探索方法及び探索プログラム

Also Published As

Publication number Publication date
JP2012185776A (ja) 2012-09-27

Similar Documents

Publication Publication Date Title
US11493924B2 (en) Fixed segmented lattice planning for a mobile automation apparatus
JP6233706B2 (ja) 自律移動装置及び自律移動装置の自己位置推定方法
Básaca-Preciado et al. Optical 3D laser measurement system for navigation of autonomous mobile robot
US11279045B2 (en) Robot pose estimation method and apparatus and robot using the same
JP6711138B2 (ja) 自己位置推定装置、及び、自己位置推定方法
US9043132B2 (en) Apparatus for estimating travel path of a vehicle
EP2821875A2 (en) Route planning method, route planning unit, and autonomous mobile device
US9126338B2 (en) Robot system and method for driving the same
EP4300237A1 (en) Robot traveling method and apparatus, and electronic device, storage medium and program product
JP2006177926A (ja) カメラの位置及び姿勢情報補正方法及びその装置
US11300973B2 (en) Control method and system of movable device
JP5287060B2 (ja) 経路計画装置及び自律移動装置
JP5902275B1 (ja) 自律移動装置
JP2016103158A (ja) 移動量推定装置、自律移動体、及び移動量の推定方法
JP2010102485A (ja) 自律型移動体
US20230071953A1 (en) Systems, and methods for real time calibration of multiple range sensors on a robot
JP5723182B2 (ja) 自律移動体、自律移動体の向き補正方法及び自律移動体の向き補正プログラム
JP4645542B2 (ja) 駐車空間検出装置
JP2020024618A (ja) 移動経路取得方法、及び、移動経路取得装置
CN114185337B (zh) 一种车辆、车辆预碰撞检测方法及装置
KR102241997B1 (ko) 위치 판단 시스템, 방법 및 컴퓨터 판독 가능한 기록매체
JP2012137361A (ja) 軌跡情報補正装置、方法およびプログラム
JP2009104444A (ja) 自律走行装置およびプログラム
JP2010238217A (ja) 移動ロボットの自己位置同定方法及び移動ロボット
CN109959935B (zh) 一种地图建立方法、地图建立装置及机器人

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150120

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150225

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150327

R150 Certificate of patent or registration of utility model

Ref document number: 5723182

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250