JP2017120551A - 自律走行装置 - Google Patents

自律走行装置 Download PDF

Info

Publication number
JP2017120551A
JP2017120551A JP2015257067A JP2015257067A JP2017120551A JP 2017120551 A JP2017120551 A JP 2017120551A JP 2015257067 A JP2015257067 A JP 2015257067A JP 2015257067 A JP2015257067 A JP 2015257067A JP 2017120551 A JP2017120551 A JP 2017120551A
Authority
JP
Japan
Prior art keywords
marker
information
autonomous traveling
camera
traveling device
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.)
Pending
Application number
JP2015257067A
Other languages
English (en)
Inventor
明 村形
Akira Muragata
明 村形
川合 義昭
Yoshiaki Kawai
義昭 川合
榎並 崇史
Takashi Enami
崇史 榎並
亮太 森本
Ryota Morimoto
亮太 森本
健太郎 黒巣
Kentaro Kurosu
健太郎 黒巣
美代 谷口
Miyo Taniguchi
美代 谷口
学 小玉
Manabu Kodama
学 小玉
真也 田中
Shinya Tanaka
真也 田中
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.)
Ricoh Co Ltd
Original Assignee
Ricoh 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 Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2015257067A priority Critical patent/JP2017120551A/ja
Publication of JP2017120551A publication Critical patent/JP2017120551A/ja
Pending legal-status Critical Current

Links

Landscapes

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

Abstract

【課題】マーカをよく認識できなかった場合でも、さらに探索して容易且つ迅速にマーカを認識して、自律走行装置の位置を精度よく推定可能にする。
【解決手段】操作部11から入力される初期位置と向き及びゴール地点の情報と、自律走行中にレーザレンジファインダ13、超音波センサ23等の検知手段に検知される周囲の情報とにより、PC10が移動方向と移動速度を決定し、駆動・IO制御部20がモータ24を駆動制御する。自律走行したい場所を予め手動操作で走行させ、PC10が検知手段によって周囲の情報を検知し、地図情報を作成して記憶する。自律走行時には、少なくともゴール地点の近傍の画像データをカメラ12で取得してマーカを検出し、自己位置を算出する。マーカを検出できない場合は、地図情報からマーカがある可能性が高い領域を特定し、その領域に対して画像の拡大処理を行って再びマーカの検知を行う。
【選択図】 図1

Description

この発明は、自律走行装置に関する。
目的地を指定するとその場所まで自律して走行する自律走行装置が、例えば無人搬送機等に使用されている。その自律走行装置においては、カメラを設置してマーカ検知を行い、数cm単位で自己位置を推定して高精度な位置合わせをする技術が既に知られている。
例えば、特許文献1には、カメラの座標から位置を推定する目的で、一定の決められた図形をマーカとして用い、自律走行装置に装着されているカメラでそのマーカを撮影する技術が開示されている。そして、そのマーカを撮影した画像データを解析して、カメラの座標を求めることによって自律走行装置の位置を推定する。
しかしながら、このような従来の自律走行装置におけるマーカ検知では、マーカを構成する図形を認識できなかった場合は認識しないという問題があった。また、認識精度を上げるために、さらに図形を検出する画像探索をしようとすると、全探索になって処理に時間がかかるという問題があった。
この発明は上記の問題を解決するためになされたものであり、マーカをよく認識できなかった場合でも、さらに探索して容易且つ迅速にマーカを認識できるようにし、自律走行装置の位置を精度よく推定可能にすることを目的とする。
この発明による自律走行装置は、上記の目的を達成するため、操作者が情報を入力するための入力手段と、周囲の情報を検知する検知手段と、モータの駆動によって移動するための駆動手段と、上記入力手段によって入力される初期位置及び向きとゴール地点の各情報と、自律走行中に上記検知手段によって検知される周囲の情報とに基づいて、移動方向と移動速度を決定し、上記モータを駆動制御する制御手段と、自律走行したい場所を予め手動操作で走行させる手動走行手段と、その手動走行手段による走行中に上記検知手段によって周囲の情報を検知し、地図情報を作成して記憶する地図情報作成・記憶手段とを有する。
そして、上記検知手段は、少なくとも上記ゴール地点の近傍の画像データを取得するカメラを有し、上記制御手段が、上記カメラによって取得した画像データによって、予め決められたマーカを検出して自己の位置を算出する機能を有する自律走行装置であって、
上記制御手段が、上記マーカを検出できない場合は、上記地図情報から上記マーカがある可能性が高い領域に対してマーカの画素を検索して上記マーカがありそうな領域を特定し、その領域に対して上記画像データによる画像の拡大処理を行って、再び上記マーカの検知を行うことを特徴とする。
この発明によれば、マーカをよく認識できなかった場合でも、さらに探索して容易且つ迅速にマーカを認識することができ、自律走行装置の位置を精度よく推定することが可能になる。
この発明による自律走行装置の一実施形態の構成を示すブロック図である。 図1におけるPC10側のCPUによって実行されるこの発明に関わる処理の第1実施例の流れを示すフローチャートである。 同じくこの発明に関わる処理の第2実施例の流れを示すフローチャートである。 同じくこの発明に関わる処理の第3実施例の流れを示すフローチャートである。 第1〜第3実施例に用いたマーカの図形例を示す図である。 マーカのコーナ位置検出について説明するための図である。 各実施例で用いた地図情報の一例を示す図である。 図7の地図情報にマーカの位置情報を上書き保存し、自律走行装置の初期位置及び向きとゴール地点の各情報を入力することを説明するための図である。 図5に示したマーカを認識するためのマーカ対応座標点の例を示す図である。
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
図1は、この発明による自律走行装置の一実施形態の構成を示すブロック図である。
この自律走行装置30は、パーソナルコンピュータ(以下「PC」と略称する)10と、駆動回路とIO制御回路を構成する駆動・IO制御部20とが、互いに信号及び情報の遣り取りが可能に接続されている。
そのPC10には操作部11を備えると共に、カメラ12とレーザレンジファインダ13を搭載している。操作部11は、操作者が情報を入力するための入力手段であり、カメラ12とレーザレンジファインダ13は、周囲の情報を検知する検知手段である。
そのカメラ12は、少なくともゴール地点の近傍の画像データを取得する。レーザレンジファインダ13は、レーザの送受信を行って目的物までの正確な距離を測定する小型の距離測定器(レーザ距離計)である。
駆動・IO制御部20には、電源であるバッテリ21と複数の超音波センサ23、複数のモータ24及びそれと同数のエンコーダ25が、給電線や信号線で接続されている。
複数のモータ24とその駆動力伝達機構及び車輪や操舵機構が、モータの駆動によって移動するための移動手段である。複数の超音波センサ23も、周囲の情報を検知する検知手段である。
PC10は、操作部11からの操作者の入力をトリガに、手動操作による走行中に地図情報を作成し、その地図情報を記憶(保存)する。そして、自律走行時には、PC10がその地図情報を用いて移動ルート及び移動速度を決定して、駆動・IO制御部20に対して駆動要求する。
PC10はまた、手動操作による地図情報の作成および自律走行時の障害物検知のため、駆動・IO制御部20を介して全ての超音波センサ23によって、自律走行装置の周辺情報をセンシングする。これらの処理はPC10が保有するCPUによってソフトウェア処理で実行する。
駆動・IO制御部20は、PC10からの移動ルートと移動速度の情報を受けて、複数のモータ24を駆動制御して車輪の回転や操舵等を実行し、実際に動作した値を複数のエンコーダ25によって検知してPC10にフィードバックする。
また、駆動・IO制御部20は、複数の超音波センサ23に対して周辺情報のセンシング要求を行なう。その結果、駆動・IO制御部20が各超音波センサ23から得る周辺情報を、PC10にフィードバックする。
予期しない障害物の接近に対しては、PC10からのルート情報に従って駆動・IO制御部20がモータ24を駆動制御する前に、PC10から超音波センサ23に周辺情報のセンシングを一定間隔で要求して、周辺情報を把握している。そのため、PC10側から駆動・IO制御部20側に、モータ24の減速指示や停止指示を直接行って、障害物との衝突回避を行なう。
駆動・IO制御部20もCPUを有しており、PC10側の処理と独立して制御するため、PC10側の処理にCPU処理が専有されてモータ24の駆動制御が待たされることはない。
バッテリ21は、各モジュールを動作させるために電気を供給する。
マーカを撮像して画像で取り込むためのカメラ12はPC10に接続されており、リアルタイムに、例えば640×480画素の画像を30FPS(フレーム/秒)で、RGB画像として取得する。
この自律走行装置が、目的地周辺の高精度な位置検知が必要な場所であるゴール地点の近傍に到達した場合、PC10がカメラ12から画像を取得する。そして、PC10側のCPUでその画像に対してマーカ検知処理を行ってルート決定を行ない、マーカがある目的地に向かって移動する。
この自律走行装置30においては、PC10と駆動・IO制御部20とが、制御手段と、手動走行手段と、地図情報作成・記憶手段の機能を果している。
その制御手段としての機能では、入力手段である操作部11によって入力される初期位置及び向きとゴール地点の各情報と、自律走行中に検知手段によって検知される周囲の情報とに基づいて、移動方向と移動速度を決定し、モータ24を駆動制御する。
手動走行手段としての機能は、自律走行したい場所を予め手動操作で走行させるための機能である。
PC10と駆動・IO制御部20による地図情報作成・記憶手段としての機能では、手動走行手段による走行中に検知手段によって周囲の情報を検知し、地図情報を作成して内部の不揮発性メモリに記憶する。
PC10と駆動・IO制御部20による制御手段としての機能はまた、カメラ12によって取得した画像データによって、予め決められたマーカを検出して自己の位置を算出する。しかし、その制御手段の機能でマーカを検出できない場合は、記憶した地図情報からマーカがある可能性が高い領域に対してマーカの画素を検索してマーカがありそうな領域を特定する。そして、その領域に対して上記画像データによる画像の拡大処理を行って、再びマーカの検知を行う。
以下に、いくつかの実施例を説明していくが、その自律走行装置のハード構成は、基本的に図1に示した構成と共通であり、PC10内のCPUによってソフトウェア処理されるルート決定や地図生成の処理内容が異なる例である。
その第1実施例を図2によって説明する。図2は、カメラ12から入力される画像(静止画像)に対して、PC10側のCPUによってなされる、この発明に関わる処理の第1実施例の流れを示すフローチャートである。
この第1実施例及び後に説明する第2、第3実施例でも、図5に示すように、正方形の黒枠内の白背景中に複数の黒の正方形の点がある図形(パターン)をマーカとして用いる。そして、カメラ12から入力される画像上にそのマーカを構成すると思われる黒画素の連続があるかどうか検索する。
図2のフローチャートにおいて、網点を施した部分すなわちステップS8とS10の処理が、この発明による特徴的な処理であり、それ以外の処理はマーカ検知の一般的な処理である。
PC10のCPUが図2のフローチャートに示す処理を開始すると、まずステップS1で、カメラ12から取得した画像データに対して四角形抽出の処理を行う。この四角形抽出では、取得した画像データの各画素を単純2値化し、その2値画像データに対して輪郭抽出して、その輪郭の直線近似を行なう。そして、コーナが4つあるかどうかによる四角形の特徴判断を行って、マーカを構成する四角形(正方形の黒枠及びその内部の黒の正方形の点)を抽出する。
CPUは次のステップS2で、マーカを構成する四角形を検知したか否かを判断し、検知したと判断した場合は、ステップS3で黒枠内に四角形が2個以上あるか否かを判断する。その結果、2個以上あると判断すると、CPUはステップS4へ進んで透視投影変換を行う。
その透視投影変換では、CPUは抽出した四角形のコーナ4点を用いて透視変換を行ない、黒の正方形をマーカが画像正面に来るように画像変換する。
その後、CPUはステップS5でマーカの方向確認を行う。そのため、黒枠内の正方形の点に相当すると思われる黒画素の塊について、100×100画素に正規化を行う。そして、その正規化した画像に対して左上隅(0°)、右上隅(90°)、右下隅(180°)、左下隅(270°)に分割して、その各分割画像の黒画素数をカウントする。
その結果、黒画素数のカウント値が最も多い分割画像の方向をマーカが向いている方向と判断する。
次に、CPUはステップS6でコーナ位置検知を行って、マーカを構成する各正方形のコーナ位置を高精度化する。それは、公知のcvFindCornerSubPix関数を用いて、サブピクセル精度のコーナあるいは鞍点を検出するために、繰り返し処理を行うことである。サブピクセル精度のコーナ位置決めは、近傍領域の中心からその領域内に位置する点に向かう各ベクトルが画像勾配と直交する原理に基づいて、探索窓の中心を新しい値に再設定し、値の変化量が与えられた閾値内に収まるようになるまで繰り返し計算を行う。
その後CPUは、ステップS7で3次元−2次元の対応点から物体(ここではカメラ12)の姿勢算出を行う。すなわち、後述するカメラ行列や歪み係数から、物体上の点座標とそれに対応する画像上の投影点の集合が与えられた場合、公知のsolvePnP関数を用いてカメラ座標(x,y,θ)を推低する。
カメラ座標は、再投影誤差を最小にするように求める。つまり、観測された投影点と物体座標空間における物体上の点座標の配列を投影した点との距離の二乗和を最小にして求める。また、後述する回転ベクトルと並進ベクトルもsolvePnP関数を用いて求める。
ソース的に記載すると、次のようになる。
cv::solvePnP(worldPoints,imagePoints,intrinsicMatrix,distortionCoeffs,rotationVector,translationVector)
worldPoints:正方形の黒枠と内部の正方形のコーナの両方の座標点(マーカによる固定値)
imagePoints:コーナ検出から得られた座標点
intrinsicMatrix:カメラ内部パラメータ(あらかじめ求める値)
distortionCoeffs:歪み系数(あらかじめ求める値)
rotationVector:回転ベクトル
translationVector:並進ベクトル
そして、CPUは最後のステップS8で、拡大処理の有無を考慮したカメラの自己位置推定情報算出を行った後、図2の処理を終了する。このステップS8では、ステップS7における物体の姿勢算出で求めた回転ベクトルと並進ベクトルから、カメラ座標(x,y,θ)を求める。θはYAW角(ヨー角)、すなわち上下軸まわりの回転角である。
また、マーカを検知するために拡大処理を行ったかどうか判断し、拡大処理を行なっている場合は、拡大処理に用いた倍率を考慮して、カメラ座標(x,y,θ)を算出する。
このカメラ座標が、自律走行装置に搭載しているカメラ12の座標情報であり、マーカまでの位置情報にも対応する。したがって、このカメラ座標(x,y,θ)を拡大処理に用いた倍率を考慮して算出することが、マーカまでの位置情報を拡大処理に用いた倍率を考慮して計算することになる。
PC10のCPUは、前述したステップS2でマーカを構成する四角形を検知したと判断できなかった場合、およびステップS3で黒枠内に四角形が2個以上あると判断できなかった場合は、マーカを検知できなかった場合である。その場合は、ステップS9へ進んで拡大処理をしたか否かを判断する。その結果、拡大処理をしたと判断しなかった(拡大処理していないと判断した)場合は、ステップS10へ進んで、拡大処理を行う。
その拡大処理では、記憶している地図情報から、マーカの座標情報(x,y,θ)を参照して、マーカがある可能性が高い領域に対してマーカの画素を検索してマーカがありそうな領域を特定する。そして、その特定した領域に対してカメラによって取得した画像データによる画像の拡大処理を行なう。この拡大処理の際に、四角形抽出がしやすくなるように、コーナの先鋭化やエッジ強調も行なうとよい。
その後、再びステップS1〜S3でマーカの検知を行う。それでもマーカを検知できず、ステップS9へ進んで拡大処理をしたと判断した場合は、ステップS11へ進んでマーカなしと認識して、処理を終了する。
この発明は、マーカを検知できなかった場合にマーカの検知精度を上げるため、予め作成した地図情報にマーカの位置情報を保存しておき、効率よくマーカがある可能性が高い領域に対して画像の拡大処理を行う。
たとえば、カメラ12によってマーカが全部撮像されていても、距離が遠いためマーカを構成する画素数が少なくてマーカを検知できない場合がある。そのような場合に、マーカがある可能性が高い領域を効率的に拡大処理してマーカを検知可能にすることができる。それによって、カメラ12の位置を確実に算出して、自律走行装置の自己位置を精度よく推定することができる。
このように、マーカを認識できなかった場合でも、拡大処理後にさらに探索して容易且つ迅速にマーカを認識し、自律走行装置の位置を精度よく推定することができる。
図3は、カメラ12から入力される画像(静止画像)に対して、PC10側のCPUによってなされるこの発明に関わる処理の第2実施例の流れを示すフローチャートである。
この第2実施例の図3に示すフローチャートの基本的な流れは、図2に示した第1実施例と同じであるが、カメラからの画像データを用いてマーカ検知を行うことを、おおよそのゴール地点に到着した場合にのみ行うようにしている点だけが相違する。
マーカはゴール地点付近にしか無いことと、自律走行装置がゴール地点に向かう途中にマーカに似た図形がある場合に、それを誤検知してゴールと認識しないようにするため、この第2実施例ではマーカ検知をする場所をゴール地点付近に限定している。
そのため、図3に示すフローチャートでは、PC10側のCPUが処理を開始すると、まずステップS0で地図情報によるルートに従い、おおよそのゴール地点に到着したか否かを判断する。その結果、おおよそのゴール地点に到着したと判断するまでは何もせずに処理を終了する。これを一定の時間間隔で繰り返し、ステップS0でおおよそのゴール地点に到着したと判断すると、ステップS1の四角形抽出以降の処理に進む。
ステップS1〜S11の各処理は、図2によって説明した実施例1と同じであるから説明を省略する。
このように、この第2実施例では、PC10側のCPUが予め記憶した地図情報に基づいて地図上のゴール地点を認識しておき、自律走行装置がゴール地点付近に到着した場合にのみ、第1実施例と同じ処理を実行する。すなわち、カメラ12によって取得した画像データによって、予め決められたマーカを検出して自己の位置を算出する。しかし、そのマーカを検出できない場合は、上記地図情報からマーカがある可能性が高い領域に対してマーカの画素を検索してマーカがありそうな領域を特定する。そして、その領域に対して画像データによる画像の拡大処理を行って、再びマーカの検知を行うことを実行する。
したがって、マーカを正確に検出してカメラ12の位置を算出し、自律走行装置の自己位置を精度よく推定でき、ゴール地点まで正確に走行させて停止させる制御を行うことができる。また、自律走行装置がゴール地点に向かう途中にマーカに似た図形があった場合でも、それを誤検知してゴールと認識する恐れがなくなる。
図4は、カメラから入力される画像(静止画像)に対して、PC10側のCPUによってなされるこの発明に関わる処理の第3実施例の流れを示すフローチャートである。
この第3実施例の図4に示すフローチャートの基本的な流れは、図3に示した第2実施例と同じである。しかし、ゴール地点付近でマーカがあるだろうと予想した方向に拡大処理を行ってマーカ検知を行なっても、マーカを検知できなかった場合は、別の検知方法に切り替えるようにした点が相違する。
この第3実施例では、PC10のCPUがステップS10で画像の拡大処理を行って、ステップS1〜S3で再度マーカ検知を行なってもマーカを検知できなかった場合には、ステップS11でマーカなしと認識した後、ステップS12での処理を行う。そのステップS12では、カメラ12を用いたマーカ検知からレーザレンジファインダ(LRF)13を用いた周囲情報の検知に切り替える。そして、この処理を終了する。
レーザレンジファインダ13による周囲情報の検知は、図1に示したレーザレンジファインダ13を用いた平面の形状認識により、ゴールの形状を予め保持しておき、その形状を使って、レーザレンジファインダ13がその反射波を検知した方向に近づくように制御する。
カメラを用いたマーカ検知は1秒間に数フレームの画像を取得できる。そのため、あるフレームでマーカを検知できなくてレーザレンジファインダ13を用いた周囲情報の検知に切替え、方向を決めた次のフレームで、再びカメラを用いたマーカ検知を行ってゴールに近づく方法も考えられる。
図1に示した自律走行装置は超音波センサ23も備えているので、レーザレンジファインダ(LRF)13を用いた周囲情報の検知に代えて、超音波センサ23を用いた周囲情報の検知に切り替えてもよい。
あるいは、レーザレンジファインダ(LRF)13と超音波センサ23を用いた周囲情報の検知に切り替えてもよい。レーザレンジファインダ(LRF)13と超音波センサ23の一方又は両方を使用して、PC10が周辺の障害物までの距離を算出して走行経路を決定することができる。
また、図1に示した自律走行装置は、レーザレンジファインダ(LRF)13と超音波センサ23とを備えているが、そのいずれか一方のみを備えるようにしてもよい。
図4におけるステップS0は図3によって説明した実施例2と同じであり、ステップS1〜S11は図2によって説明した実施例1と同じであるから説明を省略する。
このようにすれば、カメラによって取得した画像データではマーカを検知できなかった場合でも、自律走行装置がゴール地点へ精度よく到達できる可能性が高まる。
図5は、第1〜第3実施例に用いたマーカの図形例を示す。このマーカの図形は、白(背景)と黒の2値図形であり、黒を構成する外枠の中に複数個の黒の小さい正方形が存在する。図2〜図4のフローチャートに示したように、このマーカを構成する複数個の黒の正方形の四角形を抽出し、マーカを認識した後、透視変換を行って、このマーカを撮影したカメラ12の位置及び角度を示すカメラ座標(x,y,θ)を予測する。
図6によってコーナの位置検出について説明する。コーナ位置決めは、図6に示す近傍領域の中心qから、その領域内に位置する点pに向かう各ベクトルが、点pにおける画像勾配と直交するという考えに基づいて算出する。それは、数1で表現できる。
ここでDIpiは、近傍領域q内の点piにおける画像勾配である。qは、このεiを最小にする値として求められる。εiを0とすることで、数2との連立方程式が成り立つ。
ここで、画像勾配はqの近傍領域での総和をとられる。1次勾配をG、2次勾配をbとすると、qとの間に数3の関係が成り立つ。
なお、数1及び数2における「T]は転置行列であることを示している。
図6に示した探索窓の中心をこの新しい値qに再設定し、値の変化量が与えられた閾値内に収まるようになるまで繰り返し計算を行なって、マーカを構成する黒の正方形のコーナの位置(座標)を求める。
図2〜図4におけるステップS7の「3次元−2次元の対応点から物体の姿勢算出」の処理で、カメラの位置は、3次元位置が既知の点Pとその画像上での観測座標pの複数の対応から求めることができる。この問題はPerspective-n-Pont Problem(PnP問題)として知られている。
3次元位置が既知の点の配列とその画像上での観測座標の配列、カメラの内部パラメータ行列、歪み係数ベクトルをそれぞれ入力とし、カメラの外部パラメータ(回転ベクトルと並進ベクトル)を推定する。
カメラの内部パラメータ行列と歪み係数ベクトルは、カメラごとに予めキャリブレーション処理を行うことによって求めることができるパラメータであり、数4にその例を示す。
カメラ行列は、カメラ固有にもつカメラ内部パラメータ行列で、3×3のベクトルで表わせる。
歪み係数ベクトルは4、5または8個の要素を持つベクトルである。このベクトルがNULL又は空である場合、歪み係数は0であると見なされる。
カメラの外部パラメータ(回転ベクトルと並進ベクトル)から、カメラ位置(x,y,θ)を求める。
回転ベクトルと並進ベクトルは以下の様なベクトルで算出される。
回転ベクトル=(r1,r2,r3)
並進ベクトル=(h1,h2,h3)
x=h2/1000[mm]
y=h1/1000[mm]
θは、従来技術と同じクォータニオン(四元数)を回転ベクトルのr2を用いて求めて、YAW角(ヨー角)に変換する。
x,yにおいては、拡大処理を行わないでマーカを検知すれば上記の式から求められ、拡大処理を行った場合、その拡大率に対して予め用意した係数を掛けて求める。θは拡大処理に無関係なため、拡大処理の有無によって計算式が変わらない。
x=h2*KX/1000[mm] KX:拡大率に応じた係数
y=h1*KY/1000[mm] KY:拡大率に応じた係数
図7に前述した各実施例で用いた地図情報の例を示す。これは、自律走行装置が自律走行する上で必要な地図情報の例になる。この地図情報は、図7に示すように2次元上に表すことができる。
自律走行装置30を手動走行手段によってマニュアル(手動)走行させる。その手動走行中に、図1に示したPC10がレーザレンジファインダ13を用いて、レーザレンジファインダ13が設置されている平面上の障害物までの距離をスキャンする。それによって周囲の情報を検知し、自律走行装置30が走行可能な箇所(図7における白領域)と走行不可能な箇所(灰色領域)を識別して、地図情報として作成する。その地図情報をPC10がメモリに記憶する。
初期状態では全て走行不可能な箇所(灰色領域)のみの画像であるが、自律走行装置30のマニュアル走行の際に、レーザレンジファインダ13のスキャンにより、レーザ光が周辺の障害物に当たって戻ってくる時間によって距離を測定する。その情報によって、自律走行装置30が走行可能な箇所(白領域)を広げて地図情報を作成していく。
この地図情報に対して、図8に示すように複数のマーカの位置情報(x,y,θ)を上書きで保存しておく。
図8は、図7の地図情報にマーカの位置情報を上書き保存し、自律走行装置30の初期位置及び向きとゴール地点の各情報を入力することを説明するための図である。マーカA〜Cの位置情報を次のように表わす。
マーカA(x1,y1,θ1)
マーカB(x2,y2,θ2)
マーカC(x3,y3,θ3)
さらに他のマーカXがある場合の位置情報は、次のように表わす。
マーカX(xx,yx,θx)
これらの各マーカは、自律走行装置の選択可能な複数のゴール地点から所定距離の箇所にそれぞれ設置される。
上記マーカの位置情報(x,y,θ)は、ある原点からの予め設置しているマーカの座標情報(x,y,θ)であり、マーカがある数とマーカごとの原点からの座標が決まっているので、PC10のROMに保存しておくことができる。したがって、各マーカのパターンは、全て例えば図5に示したような同じパターンでよい。
ここで、マーカのパターン判別情報の例を説明する。例えば図5に示したマーカの場合、図9に示すように、黒い正方形の外枠とその内側の6個の小さい黒い正方形のパターンのうちの左下の1個の各コーナの座標点を認識する。
そのため、図9に丸付き数字1〜12で示す各コーナの座標点を、マーカ対応座標点(x,y,z)の情報として、例えば表1に示すようにPC10のROMに格納しておく。
この各コーナのマーカ対応座標点(x,y,z)は、丸付き数字1のマーカ対応座標点を原点(0,0,0)としている。
PC10が検知したパターンにおけるこの12箇所のコーナの座標点が、記憶している各マーカ対応座標点と一致すれば、所定のマーカであると認識できる。
その各マーカは、z軸座標が0であるから、z軸はカメラと同じ高さを想定しており、自律走行装置30が持つカメラ12と同じ高さで、壁や柱に貼られているものを想定している。
自律走行時には、図8に示すように、この地図上に自律走行装置30の初期位置及び向いている方向Fを入力し、自律走行させたいゴール地点Gを設定して自律走行を要求する。それによって、自律走行装置30は、内蔵のPC10が地図情報と自己位置情報によりルートを決めて、ゴール地点まで自律走行する。
マーカの座標情報(x,y,θ)は、地図上にあるどのマーカに近づいたのか把握するために用いる。カメラ座標(x,y,θ)は、最も近づいたマーカをカメラが画像で捉えて、マーカ検出処理を行ってマーカとして認識できた時、最も近づいたマーカとの相対座標をカメラから取得した画像データから算出して求める。
マーカを利用するのは、自律走行装置30が自律走行してゴール地点付近のマーカに近づき、設定されたマーカと対向するゴール地点に高精度(誤差数cm)に停止する際である。自律走行装置30が搭載しているカメラによってマーカがある可能性が高い領域を撮像し、その画像データに基づいてPC10がマーカ検知処理を行う。PC10がマーカを検知すると、その検知したマーカとの距離をカメラ座標から判断して、そのマーカの方向へ移動するように駆動・IO制御部20を制御する。
なお、この実施形態では、複数のマーカを地図情報に対して予め設定した位置情報によって識別するようにした。しかし、複数のマーカを識別する他の方法として、各マーカごとに正方形の黒枠の内側の小さい黒い正方形の大きさ、個数、配置等を変えておき、自律走行装置がそれを判別することによってマーカを識別することも可能である。
また、自律走行装置がゴール地点付近でマーカ検知する場合に限らず、自律走行中に通過あるは立ち寄るべき要所ごとにマーカを検知する場合にも、この発明を適用することができる。それによって、マーカをよく認識できなかった場合でも、さらに探索して容易且つ迅速にマーカを認識することができ、自律走行装置の位置を精度よく推定することが可能になる。
以上、この発明の実施形態について説明してきたが、その実施形態の各部の具体的な構成や処理の内容等は、そこに記載したものに限るものではない。
また、この発明は上述した実施形態に限定されるものではなく、特許請求の範囲の各請求項に記載された技術的特徴を有する以外は、何ら限定されないことは言うまでもない。
さらに、以上説明してきた実施形態の構成例、動作例及び変形例等は、適宜変更又は追加したり一部を削除してもよく、相互に矛盾しない限り任意に組み合わせて実施することも可能である。
10:パーソナルコンピュータ(PC) 11:操作部 12:カメラ
13:レーザレンジファインダ 20:駆動・IO制御部
21:バッテリ 23:超音波センサ 24:モータ
25:エンコーダ 30:自律走行装置
特開2014−21624号公報

Claims (5)

  1. 操作者が情報を入力するための入力手段と、
    周囲の情報を検知する検知手段と、
    モータの駆動によって移動するための駆動手段と、
    前記入力手段によって入力される初期位置及び向きとゴール地点の各情報と、自律走行中に前記検知手段によって検知される周囲の情報とに基づいて、移動方向と移動速度を決定し、前記モータを駆動制御する制御手段と、
    自律走行したい場所を予め手動操作で走行させる手動走行手段と、
    該手動走行手段による走行中に前記検知手段によって周囲の情報を検知し、地図情報を作成して記憶する地図情報作成・記憶手段と、
    を有し、
    前記検知手段は、少なくとも前記ゴール地点の近傍の画像データを取得するカメラを有し、
    前記制御手段が、前記カメラによって取得した画像データによって、予め決められたマーカを検出して自己の位置を算出する機能を有する自律走行装置であって、
    前記制御手段が、前記マーカを検出できない場合は、前記地図情報から前記マーカがある可能性が高い領域に対してマーカの画素を検索して前記マーカがありそうな領域を特定し、該領域に対して前記画像データによる画像の拡大処理を行って、再び前記マーカの検知を行うことを特徴とする自律走行装置。
  2. 前記制御手段が、前記拡大処理を行って前記マーカを検知した場合には、該マーカまでの位置情報の計算を、該拡大処理に用いた倍率を考慮して行うことを特徴とする請求項1に記載の自律走行装置。
  3. 前記制御手段は、前記地図情報に基づいて地図上の前記ゴール地点を認識しておき、該ゴール地点付近に到着した場合にのみ、前記カメラによって取得した画像データによって、前記マーカを検出して自己の位置を算出し、前記ゴール地点まで正確に走行させて停止させる制御を行い、前記マーカを検出できない場合は、前記地図情報から前記マーカがある可能性が高い領域に対してマーカの画素を検索して前記マーカがありそうな領域を特定し、該領域に対して前記画像データによる画像の拡大処理を行って、再び前記マーカの検知を行うことを実行することを特徴とする請求項1又は2に記載の自律走行装置。
  4. 前記検知手段は、レーザレンジファインダと超音波センサの少なくとも一方を備えていることを特徴とする請求項1から3のいずれか一項に記載の自律走行装置。
  5. 前記制御手段が、前記拡大処理を行っても前記マーカを検知できなかった場合は、前記カメラを用いたマーカ検知から、前記レーザレンジファインダ又は超音波センサを用いた周囲情報の検知に切り替える手段を有することを特徴とする請求項4に記載の自律走行装置。
JP2015257067A 2015-12-28 2015-12-28 自律走行装置 Pending JP2017120551A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015257067A JP2017120551A (ja) 2015-12-28 2015-12-28 自律走行装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015257067A JP2017120551A (ja) 2015-12-28 2015-12-28 自律走行装置

Publications (1)

Publication Number Publication Date
JP2017120551A true JP2017120551A (ja) 2017-07-06

Family

ID=59272328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015257067A Pending JP2017120551A (ja) 2015-12-28 2015-12-28 自律走行装置

Country Status (1)

Country Link
JP (1) JP2017120551A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109634165A (zh) * 2018-11-15 2019-04-16 南宁学院 一种基于stc单片机激光雕刻机和写字机的驱动控制电路
JP2019109775A (ja) * 2017-12-19 2019-07-04 株式会社ダイヘン 移動体、及び治具
JP2019109776A (ja) * 2017-12-19 2019-07-04 株式会社ダイヘン 移動体
KR102106858B1 (ko) * 2018-11-27 2020-05-06 노성우 하이브리드 타입의 물류로봇 위치추정방법
WO2020105125A1 (ja) * 2018-11-20 2020-05-28 本田技研工業株式会社 自律作業機、自律作業機の制御方法及びプログラム
CN111417911A (zh) * 2017-11-28 2020-07-14 Thk株式会社 图像处理装置、移动机器人的控制系统、移动机器人的控制方法
CN112101378A (zh) * 2020-08-20 2020-12-18 上海姜歌机器人有限公司 机器人重定位方法、装置及设备
WO2021158062A1 (ko) * 2020-02-05 2021-08-12 (주)에바 이동수단의 위치인식방법 및 위치인식시스템

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111417911B (zh) * 2017-11-28 2023-09-22 Thk株式会社 图像处理装置、移动机器人的控制系统、移动机器人的控制方法
CN111417911A (zh) * 2017-11-28 2020-07-14 Thk株式会社 图像处理装置、移动机器人的控制系统、移动机器人的控制方法
JP7153442B2 (ja) 2017-12-19 2022-10-14 株式会社ダイヘン 移動体
JP2019109775A (ja) * 2017-12-19 2019-07-04 株式会社ダイヘン 移動体、及び治具
JP2019109776A (ja) * 2017-12-19 2019-07-04 株式会社ダイヘン 移動体
JP7153443B2 (ja) 2017-12-19 2022-10-14 株式会社ダイヘン 移動体
CN109634165A (zh) * 2018-11-15 2019-04-16 南宁学院 一种基于stc单片机激光雕刻机和写字机的驱动控制电路
WO2020105125A1 (ja) * 2018-11-20 2020-05-28 本田技研工業株式会社 自律作業機、自律作業機の制御方法及びプログラム
JPWO2020105125A1 (ja) * 2018-11-20 2021-09-27 本田技研工業株式会社 自律作業機、自律作業機の制御方法及びプログラム
CN112996377A (zh) * 2018-11-20 2021-06-18 本田技研工业株式会社 自主作业机、自主作业机的控制方法以及程序
JP7201704B2 (ja) 2018-11-20 2023-01-10 本田技研工業株式会社 自律作業機、自律作業機の制御方法及びプログラム
CN112996377B (zh) * 2018-11-20 2023-11-28 本田技研工业株式会社 自主作业机、自主作业机的控制方法以及存储介质
KR102106858B1 (ko) * 2018-11-27 2020-05-06 노성우 하이브리드 타입의 물류로봇 위치추정방법
WO2021158062A1 (ko) * 2020-02-05 2021-08-12 (주)에바 이동수단의 위치인식방법 및 위치인식시스템
JP2022035936A (ja) * 2020-08-20 2022-03-04 上海姜歌机器人有限公司 ロボットの再位置決め方法、装置及び機器
CN112101378A (zh) * 2020-08-20 2020-12-18 上海姜歌机器人有限公司 机器人重定位方法、装置及设备

Similar Documents

Publication Publication Date Title
JP2017120551A (ja) 自律走行装置
US11320833B2 (en) Data processing method, apparatus and terminal
US9990726B2 (en) Method of determining a position and orientation of a device associated with a capturing device for capturing at least one image
JP5588812B2 (ja) 画像処理装置及びそれを用いた撮像装置
KR100773184B1 (ko) 자율 이동로봇
CN105486311B (zh) 室内机器人定位导航方法及装置
US9020301B2 (en) Method and system for three dimensional mapping of an environment
CN111238465A (zh) 地图建置设备及其地图建置方法
KR101853127B1 (ko) 구동형 마킹 시스템, 구동형 마킹 장치의 제어방법 및 컴퓨터 판독 가능한 기록매체
CN112013850A (zh) 定位方法、装置、自移动设备和存储介质
CN111914961A (zh) 信息处理装置及信息处理方法
CN108388244A (zh) 基于人工路标的移动机器人系统、停靠方法及存储介质
CN112013858A (zh) 定位方法、装置、自移动设备和存储介质
JP2003015739A (ja) 外環境地図、並びに自己位置同定装置および誘導制御装置
JP2001076128A (ja) 障害物検出装置及び方法
KR20160125803A (ko) 영역 추출 장치, 물체 탐지 장치 및 영역 추출 방법
JP2021047516A (ja) 情報処理装置、座標変換システム、座標変換方法、及び座標変換プログラム
Tsukiyama Global navigation system with RFID tags
KR20100096970A (ko) 위치 인식 시스템 및 그 방법
JP7278637B2 (ja) 自走式移動装置
KR100784125B1 (ko) 단일 카메라를 이용한 이동 로봇의 랜드 마크의 좌표 추출방법
KR20180127184A (ko) 구동형 마킹 장치, 구동형 마킹 장치의 안정화 시스템 및 방법
EP4443262B1 (en) Mobile unit control system
KR100991194B1 (ko) 이동 로봇의 물체 운반 시스템 및 방법
JP7657689B2 (ja) 処理システム、制御システム、移動体、撮影位置決定方法及び撮影位置決定プログラム