[go: up one dir, main page]

JP2017120551A - Autonomous traveling device - Google Patents

Autonomous traveling device 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
camera
autonomous traveling
detected
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
Japanese (ja)
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/en
Publication of JP2017120551A publication Critical patent/JP2017120551A/en
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で取得してマーカを検出し、自己位置を算出する。マーカを検出できない場合は、地図情報からマーカがある可能性が高い領域を特定し、その領域に対して画像の拡大処理を行って再びマーカの検知を行う。【選択図】 図1An object of the present invention is to easily and quickly recognize a marker by further searching even when a marker cannot be well recognized, and to accurately estimate the position of an autonomous mobile device. [Solution] A PC 10 uses information about the initial position, orientation, and goal point inputted from an operation unit 11, and surrounding information detected by detection means such as a laser range finder 13 and an ultrasonic sensor 23 during autonomous driving. determines the moving direction and moving speed, and the drive/IO control section 20 drives and controls the motor 24. The vehicle autonomously travels to a desired location by manual operation in advance, and the PC 10 detects surrounding information using a detection means, and creates and stores map information. During autonomous driving, the camera 12 acquires image data at least near the goal point, detects markers, and calculates the self-position. If the marker cannot be detected, an area where the marker is likely to be located is specified from the map information, the image is enlarged for that area, and the marker is detected again. [Selection diagram] Figure 1

Description

この発明は、自律走行装置に関する。   The present invention relates to an autonomous traveling device.

目的地を指定するとその場所まで自律して走行する自律走行装置が、例えば無人搬送機等に使用されている。その自律走行装置においては、カメラを設置してマーカ検知を行い、数cm単位で自己位置を推定して高精度な位置合わせをする技術が既に知られている。   An autonomous traveling device that autonomously travels to a place when a destination is specified is used in, for example, an automatic guided machine. In the autonomous traveling device, a technique is already known in which a camera is installed and marker detection is performed, self-position is estimated in units of several centimeters, and high-precision alignment is performed.

例えば、特許文献1には、カメラの座標から位置を推定する目的で、一定の決められた図形をマーカとして用い、自律走行装置に装着されているカメラでそのマーカを撮影する技術が開示されている。そして、そのマーカを撮影した画像データを解析して、カメラの座標を求めることによって自律走行装置の位置を推定する。   For example, Patent Document 1 discloses a technique in which a predetermined figure is used as a marker for the purpose of estimating the position from the coordinates of the camera, and the marker is photographed by a camera attached to the autonomous mobile device. Yes. And the image data which image | photographed the marker is analyzed, and the position of an autonomous traveling apparatus is estimated by calculating | requiring the coordinate of a camera.

しかしながら、このような従来の自律走行装置におけるマーカ検知では、マーカを構成する図形を認識できなかった場合は認識しないという問題があった。また、認識精度を上げるために、さらに図形を検出する画像探索をしようとすると、全探索になって処理に時間がかかるという問題があった。   However, the marker detection in such a conventional autonomous traveling device has a problem that it is not recognized when a figure constituting the marker cannot be recognized. Further, in order to increase the recognition accuracy, if an image search for detecting a figure is further attempted, there is a problem that the search becomes a full search and takes time.

この発明は上記の問題を解決するためになされたものであり、マーカをよく認識できなかった場合でも、さらに探索して容易且つ迅速にマーカを認識できるようにし、自律走行装置の位置を精度よく推定可能にすることを目的とする。   The present invention has been made to solve the above problem. Even when the marker cannot be recognized well, the marker can be easily and quickly recognized, and the position of the autonomous traveling device can be accurately determined. The purpose is to make estimation possible.

この発明による自律走行装置は、上記の目的を達成するため、操作者が情報を入力するための入力手段と、周囲の情報を検知する検知手段と、モータの駆動によって移動するための駆動手段と、上記入力手段によって入力される初期位置及び向きとゴール地点の各情報と、自律走行中に上記検知手段によって検知される周囲の情報とに基づいて、移動方向と移動速度を決定し、上記モータを駆動制御する制御手段と、自律走行したい場所を予め手動操作で走行させる手動走行手段と、その手動走行手段による走行中に上記検知手段によって周囲の情報を検知し、地図情報を作成して記憶する地図情報作成・記憶手段とを有する。
そして、上記検知手段は、少なくとも上記ゴール地点の近傍の画像データを取得するカメラを有し、上記制御手段が、上記カメラによって取得した画像データによって、予め決められたマーカを検出して自己の位置を算出する機能を有する自律走行装置であって、
上記制御手段が、上記マーカを検出できない場合は、上記地図情報から上記マーカがある可能性が高い領域に対してマーカの画素を検索して上記マーカがありそうな領域を特定し、その領域に対して上記画像データによる画像の拡大処理を行って、再び上記マーカの検知を行うことを特徴とする。
In order to achieve the above object, an autonomous traveling apparatus according to the present invention has an input means for an operator to input information, a detection means for detecting surrounding information, and a drive means for moving by driving a motor. Determining a moving direction and a moving speed based on the initial position and direction information input by the input means and each information of the goal point, and surrounding information detected by the detecting means during autonomous traveling, and the motor Control means for driving and controlling, manual traveling means for manually traveling a place where autonomous traveling is desired in advance, surrounding information is detected by the detecting means during traveling by the manual traveling means, and map information is created and stored Map information creating / storing means.
The detection means includes a camera that acquires at least image data in the vicinity of the goal point, and the control means detects a predetermined marker from the image data acquired by the camera and detects its own position. An autonomous traveling device having a function of calculating
If the control means cannot detect the marker, the pixel of the marker is searched for an area where the marker is likely to be found from the map information, and an area where the marker is likely to be specified is specified. On the other hand, an image enlargement process using the image data is performed, and the marker is detected again.

この発明によれば、マーカをよく認識できなかった場合でも、さらに探索して容易且つ迅速にマーカを認識することができ、自律走行装置の位置を精度よく推定することが可能になる。   According to the present invention, even when the marker cannot be recognized well, it is possible to recognize the marker easily and quickly by further searching, and it is possible to accurately estimate the position of the autonomous traveling device.

この発明による自律走行装置の一実施形態の構成を示すブロック図である。It is a block diagram which shows the structure of one Embodiment of the autonomous running apparatus by this invention. 図1におけるPC10側のCPUによって実行されるこの発明に関わる処理の第1実施例の流れを示すフローチャートである。It is a flowchart which shows the flow of 1st Example of the process in connection with this invention performed by CPU by the side of PC10 in FIG. 同じくこの発明に関わる処理の第2実施例の流れを示すフローチャートである。It is a flowchart which similarly shows the flow of 2nd Example of the process in connection with this invention. 同じくこの発明に関わる処理の第3実施例の流れを示すフローチャートである。It is a flowchart which similarly shows the flow of 3rd Example of the process in connection with this invention. 第1〜第3実施例に用いたマーカの図形例を示す図である。It is a figure which shows the example of a figure of the marker used for the 1st-3rd Example. マーカのコーナ位置検出について説明するための図である。It is a figure for demonstrating the corner position detection of a marker. 各実施例で用いた地図情報の一例を示す図である。It is a figure which shows an example of the map information used by each Example. 図7の地図情報にマーカの位置情報を上書き保存し、自律走行装置の初期位置及び向きとゴール地点の各情報を入力することを説明するための図である。It is a figure for demonstrating preserve | saving the marker positional information on the map information of FIG. 7, and inputting each information of the initial position and direction of an autonomous mobile device, and a goal point. 図5に示したマーカを認識するためのマーカ対応座標点の例を示す図である。It is a figure which shows the example of the marker corresponding coordinate point for recognizing the marker shown in FIG.

以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
図1は、この発明による自律走行装置の一実施形態の構成を示すブロック図である。
この自律走行装置30は、パーソナルコンピュータ(以下「PC」と略称する)10と、駆動回路とIO制御回路を構成する駆動・IO制御部20とが、互いに信号及び情報の遣り取りが可能に接続されている。
Hereinafter, embodiments for carrying out the present invention will be specifically described with reference to the drawings.
FIG. 1 is a block diagram showing a configuration of an embodiment of an autonomous mobile device according to the present invention.
In this autonomous traveling device 30, a personal computer (hereinafter abbreviated as "PC") 10 and a drive / IO control unit 20 constituting a drive circuit and an IO control circuit are connected to each other so that signals and information can be exchanged. ing.

そのPC10には操作部11を備えると共に、カメラ12とレーザレンジファインダ13を搭載している。操作部11は、操作者が情報を入力するための入力手段であり、カメラ12とレーザレンジファインダ13は、周囲の情報を検知する検知手段である。
そのカメラ12は、少なくともゴール地点の近傍の画像データを取得する。レーザレンジファインダ13は、レーザの送受信を行って目的物までの正確な距離を測定する小型の距離測定器(レーザ距離計)である。
駆動・IO制御部20には、電源であるバッテリ21と複数の超音波センサ23、複数のモータ24及びそれと同数のエンコーダ25が、給電線や信号線で接続されている。
The PC 10 includes an operation unit 11 and a camera 12 and a laser range finder 13. The operation unit 11 is input means for an operator to input information, and the camera 12 and the laser range finder 13 are detection means for detecting surrounding information.
The camera 12 acquires at least image data in the vicinity of the goal point. The laser range finder 13 is a small distance measuring device (laser distance meter) that transmits and receives a laser and measures an accurate distance to an object.
The drive / IO control unit 20 is connected to a battery 21 serving as a power source, a plurality of ultrasonic sensors 23, a plurality of motors 24, and the same number of encoders 25 through power supply lines and signal lines.

複数のモータ24とその駆動力伝達機構及び車輪や操舵機構が、モータの駆動によって移動するための移動手段である。複数の超音波センサ23も、周囲の情報を検知する検知手段である。
PC10は、操作部11からの操作者の入力をトリガに、手動操作による走行中に地図情報を作成し、その地図情報を記憶(保存)する。そして、自律走行時には、PC10がその地図情報を用いて移動ルート及び移動速度を決定して、駆動・IO制御部20に対して駆動要求する。
The plurality of motors 24, their driving force transmission mechanisms, wheels and steering mechanisms are moving means for moving by driving the motors. The plurality of ultrasonic sensors 23 are also detecting means for detecting surrounding information.
The PC 10 uses the operator's input from the operation unit 11 as a trigger to create map information during travel by manual operation and store (save) the map information. During autonomous traveling, the PC 10 determines the travel route and travel speed using the map information, and issues a drive request to the drive / IO control unit 20.

PC10はまた、手動操作による地図情報の作成および自律走行時の障害物検知のため、駆動・IO制御部20を介して全ての超音波センサ23によって、自律走行装置の周辺情報をセンシングする。これらの処理はPC10が保有するCPUによってソフトウェア処理で実行する。
駆動・IO制御部20は、PC10からの移動ルートと移動速度の情報を受けて、複数のモータ24を駆動制御して車輪の回転や操舵等を実行し、実際に動作した値を複数のエンコーダ25によって検知してPC10にフィードバックする。
The PC 10 also senses the peripheral information of the autonomous traveling device using all the ultrasonic sensors 23 via the drive / IO control unit 20 in order to create map information by manual operation and detect obstacles during autonomous traveling. These processes are executed by software processing by the CPU of the PC 10.
The drive / IO control unit 20 receives information on the movement route and the movement speed from the PC 10, drives and controls a plurality of motors 24 to execute wheel rotation, steering, and the like. 25 is detected and fed back to the PC 10.

また、駆動・IO制御部20は、複数の超音波センサ23に対して周辺情報のセンシング要求を行なう。その結果、駆動・IO制御部20が各超音波センサ23から得る周辺情報を、PC10にフィードバックする。   Further, the drive / IO control unit 20 makes a request for sensing peripheral information to the plurality of ultrasonic sensors 23. As a result, the drive / IO control unit 20 feeds back peripheral information obtained from each ultrasonic sensor 23 to the PC 10.

予期しない障害物の接近に対しては、PC10からのルート情報に従って駆動・IO制御部20がモータ24を駆動制御する前に、PC10から超音波センサ23に周辺情報のセンシングを一定間隔で要求して、周辺情報を把握している。そのため、PC10側から駆動・IO制御部20側に、モータ24の減速指示や停止指示を直接行って、障害物との衝突回避を行なう。   For unexpected obstacle approach, the drive / IO control unit 20 requests the ultrasonic sensor 23 to sense peripheral information at regular intervals before driving / controlling the motor 24 according to route information from the PC 10. To grasp the surrounding information. For this reason, an instruction to decelerate or stop the motor 24 is directly given from the PC 10 side to the drive / IO control unit 20 side to avoid collision with an obstacle.

駆動・IO制御部20もCPUを有しており、PC10側の処理と独立して制御するため、PC10側の処理にCPU処理が専有されてモータ24の駆動制御が待たされることはない。
バッテリ21は、各モジュールを動作させるために電気を供給する。
Since the drive / IO control unit 20 also has a CPU and is controlled independently of the process on the PC 10 side, the CPU process is exclusively used for the process on the PC 10 side and the drive control of the motor 24 is not awaited.
The battery 21 supplies electricity to operate each module.

マーカを撮像して画像で取り込むためのカメラ12はPC10に接続されており、リアルタイムに、例えば640×480画素の画像を30FPS(フレーム/秒)で、RGB画像として取得する。
この自律走行装置が、目的地周辺の高精度な位置検知が必要な場所であるゴール地点の近傍に到達した場合、PC10がカメラ12から画像を取得する。そして、PC10側のCPUでその画像に対してマーカ検知処理を行ってルート決定を行ない、マーカがある目的地に向かって移動する。
A camera 12 for capturing a marker and capturing it as an image is connected to the PC 10 and acquires an image of, for example, 640 × 480 pixels as an RGB image at 30 FPS (frame / second) in real time.
When this autonomous traveling device reaches the vicinity of the goal point where high-accuracy position detection around the destination is necessary, the PC 10 acquires an image from the camera 12. Then, the CPU on the PC 10 side performs marker detection processing on the image to determine the route, and moves toward the destination where the marker is located.

この自律走行装置30においては、PC10と駆動・IO制御部20とが、制御手段と、手動走行手段と、地図情報作成・記憶手段の機能を果している。
その制御手段としての機能では、入力手段である操作部11によって入力される初期位置及び向きとゴール地点の各情報と、自律走行中に検知手段によって検知される周囲の情報とに基づいて、移動方向と移動速度を決定し、モータ24を駆動制御する。
手動走行手段としての機能は、自律走行したい場所を予め手動操作で走行させるための機能である。
In the autonomous traveling device 30, the PC 10 and the drive / IO control unit 20 perform the functions of a control unit, a manual traveling unit, and a map information creation / storage unit.
In the function as the control means, based on each information of the initial position and direction and the goal point input by the operation unit 11 which is an input means, and the surrounding information detected by the detection means during autonomous traveling, The direction and moving speed are determined, and the motor 24 is driven and controlled.
The function as the manual travel means is a function for causing a place where autonomous travel is desired to travel in advance by manual operation.

PC10と駆動・IO制御部20による地図情報作成・記憶手段としての機能では、手動走行手段による走行中に検知手段によって周囲の情報を検知し、地図情報を作成して内部の不揮発性メモリに記憶する。
PC10と駆動・IO制御部20による制御手段としての機能はまた、カメラ12によって取得した画像データによって、予め決められたマーカを検出して自己の位置を算出する。しかし、その制御手段の機能でマーカを検出できない場合は、記憶した地図情報からマーカがある可能性が高い領域に対してマーカの画素を検索してマーカがありそうな領域を特定する。そして、その領域に対して上記画像データによる画像の拡大処理を行って、再びマーカの検知を行う。
In the function as the map information creation / storage means by the PC 10 and the drive / IO control unit 20, the surrounding information is detected by the detection means during the travel by the manual travel means, and the map information is created and stored in the internal nonvolatile memory. To do.
The function of the PC 10 and the drive / IO control unit 20 as control means also detects a predetermined marker from the image data acquired by the camera 12 and calculates its own position. However, if the marker cannot be detected by the function of the control means, the pixel of the marker is searched for the area where the marker is highly likely from the stored map information, and the area where the marker is likely is specified. Then, an image enlargement process using the image data is performed on the area, and the marker is detected again.

以下に、いくつかの実施例を説明していくが、その自律走行装置のハード構成は、基本的に図1に示した構成と共通であり、PC10内のCPUによってソフトウェア処理されるルート決定や地図生成の処理内容が異なる例である。
その第1実施例を図2によって説明する。図2は、カメラ12から入力される画像(静止画像)に対して、PC10側のCPUによってなされる、この発明に関わる処理の第1実施例の流れを示すフローチャートである。
Several embodiments will be described below. The hardware configuration of the autonomous mobile device is basically the same as the configuration shown in FIG. 1, and route determination or software processing by the CPU in the PC 10 is performed. This is an example in which the processing content of map generation is different.
The first embodiment will be described with reference to FIG. FIG. 2 is a flowchart showing the flow of the first embodiment of the process relating to the present invention, which is performed by the CPU on the PC 10 side for the image (still image) input from the camera 12.

この第1実施例及び後に説明する第2、第3実施例でも、図5に示すように、正方形の黒枠内の白背景中に複数の黒の正方形の点がある図形(パターン)をマーカとして用いる。そして、カメラ12から入力される画像上にそのマーカを構成すると思われる黒画素の連続があるかどうか検索する。
図2のフローチャートにおいて、網点を施した部分すなわちステップS8とS10の処理が、この発明による特徴的な処理であり、それ以外の処理はマーカ検知の一般的な処理である。
In the first embodiment and the second and third embodiments described later, as shown in FIG. 5, a graphic (pattern) having a plurality of black square points in a white background in a square black frame is used as a marker. Use. Then, the image input from the camera 12 is searched for whether there is a continuation of black pixels that are supposed to constitute the marker.
In the flowchart of FIG. 2, the half-dotted portion, that is, the processes of steps S8 and S10 are characteristic processes according to the present invention, and the other processes are general processes of marker detection.

PC10のCPUが図2のフローチャートに示す処理を開始すると、まずステップS1で、カメラ12から取得した画像データに対して四角形抽出の処理を行う。この四角形抽出では、取得した画像データの各画素を単純2値化し、その2値画像データに対して輪郭抽出して、その輪郭の直線近似を行なう。そして、コーナが4つあるかどうかによる四角形の特徴判断を行って、マーカを構成する四角形(正方形の黒枠及びその内部の黒の正方形の点)を抽出する。
CPUは次のステップS2で、マーカを構成する四角形を検知したか否かを判断し、検知したと判断した場合は、ステップS3で黒枠内に四角形が2個以上あるか否かを判断する。その結果、2個以上あると判断すると、CPUはステップS4へ進んで透視投影変換を行う。
When the CPU of the PC 10 starts the process shown in the flowchart of FIG. 2, first, in step S <b> 1, a square extraction process is performed on the image data acquired from the camera 12. In this quadrangular extraction, each pixel of the acquired image data is simply binarized, a contour is extracted from the binary image data, and a linear approximation of the contour is performed. Then, the feature determination of the quadrangle is performed based on whether there are four corners, and the quadrangle (square black frame and black square point inside it) constituting the marker is extracted.
In the next step S2, the CPU determines whether or not a square constituting the marker has been detected. If it is determined that it has detected, the CPU determines in step S3 whether or not there are two or more squares in the black frame. As a result, if it is determined that there are two or more, the CPU proceeds to step S4 to perform perspective projection conversion.

その透視投影変換では、CPUは抽出した四角形のコーナ4点を用いて透視変換を行ない、黒の正方形をマーカが画像正面に来るように画像変換する。
その後、CPUはステップS5でマーカの方向確認を行う。そのため、黒枠内の正方形の点に相当すると思われる黒画素の塊について、100×100画素に正規化を行う。そして、その正規化した画像に対して左上隅(0°)、右上隅(90°)、右下隅(180°)、左下隅(270°)に分割して、その各分割画像の黒画素数をカウントする。
その結果、黒画素数のカウント値が最も多い分割画像の方向をマーカが向いている方向と判断する。
In the perspective projection conversion, the CPU performs perspective conversion using the extracted four corners of the rectangle and converts the black square so that the marker is in front of the image.
Thereafter, the CPU confirms the marker direction in step S5. Therefore, normalization is performed to 100 × 100 pixels for a block of black pixels that seems to correspond to square points in the black frame. Then, the normalized image is divided into an upper left corner (0 °), an upper right corner (90 °), a lower right corner (180 °), and a lower left corner (270 °), and the number of black pixels of each divided image. Count.
As a result, the direction of the divided image with the largest count value of the number of black pixels is determined as the direction in which the marker is facing.

次に、CPUはステップS6でコーナ位置検知を行って、マーカを構成する各正方形のコーナ位置を高精度化する。それは、公知のcvFindCornerSubPix関数を用いて、サブピクセル精度のコーナあるいは鞍点を検出するために、繰り返し処理を行うことである。サブピクセル精度のコーナ位置決めは、近傍領域の中心からその領域内に位置する点に向かう各ベクトルが画像勾配と直交する原理に基づいて、探索窓の中心を新しい値に再設定し、値の変化量が与えられた閾値内に収まるようになるまで繰り返し計算を行う。   Next, the CPU performs corner position detection in step S <b> 6 to increase the accuracy of the corner positions of the squares constituting the marker. That is, using a known cvFindCornerSubPix function, iterative processing is performed in order to detect a corner or saddle point with sub-pixel accuracy. Corner positioning with subpixel accuracy is based on the principle that each vector from the center of a neighboring area to a point located in that area is orthogonal to the image gradient. Repeat the calculation until the quantity falls within the given threshold.

その後CPUは、ステップS7で3次元−2次元の対応点から物体(ここではカメラ12)の姿勢算出を行う。すなわち、後述するカメラ行列や歪み係数から、物体上の点座標とそれに対応する画像上の投影点の集合が与えられた場合、公知のsolvePnP関数を用いてカメラ座標(x,y,θ)を推低する。
カメラ座標は、再投影誤差を最小にするように求める。つまり、観測された投影点と物体座標空間における物体上の点座標の配列を投影した点との距離の二乗和を最小にして求める。また、後述する回転ベクトルと並進ベクトルもsolvePnP関数を用いて求める。
Thereafter, in step S7, the CPU calculates the posture of the object (here, the camera 12) from the corresponding 3D-2D points. That is, when a set of point coordinates on an object and a corresponding projection point on an image is given from a camera matrix and a distortion coefficient, which will be described later, the camera coordinates (x, y, θ) are calculated using a known solvePnP function. To lower.
Camera coordinates are determined to minimize reprojection errors. That is, the sum of squares of the distance between the observed projection point and the point on which the array of point coordinates on the object in the object coordinate space is projected is determined to be minimum. Further, a rotation vector and a translation vector, which will be described later, are also obtained using the solvePnP function.

ソース的に記載すると、次のようになる。
cv::solvePnP(worldPoints,imagePoints,intrinsicMatrix,distortionCoeffs,rotationVector,translationVector)
worldPoints:正方形の黒枠と内部の正方形のコーナの両方の座標点(マーカによる固定値)
imagePoints:コーナ検出から得られた座標点
intrinsicMatrix:カメラ内部パラメータ(あらかじめ求める値)
distortionCoeffs:歪み系数(あらかじめ求める値)
rotationVector:回転ベクトル
translationVector:並進ベクトル
The source code is as follows.
cv :: solvePnP (worldPoints, imagePoints, intrinsicMatrix, distortionCoeffs, rotationVector, translationVector)
worldPoints: Coordinate points of both the square black frame and the inner square corner (fixed value by marker)
imagePoints: Coordinate points obtained from corner detection
intrinsicMatrix: Camera internal parameters (values obtained in advance)
distortionCoeffs: Distortion coefficient (value obtained in advance)
rotationVector: rotation vector
translationVector: Translation vector

そして、CPUは最後のステップS8で、拡大処理の有無を考慮したカメラの自己位置推定情報算出を行った後、図2の処理を終了する。このステップS8では、ステップS7における物体の姿勢算出で求めた回転ベクトルと並進ベクトルから、カメラ座標(x,y,θ)を求める。θはYAW角(ヨー角)、すなわち上下軸まわりの回転角である。
また、マーカを検知するために拡大処理を行ったかどうか判断し、拡大処理を行なっている場合は、拡大処理に用いた倍率を考慮して、カメラ座標(x,y,θ)を算出する。
このカメラ座標が、自律走行装置に搭載しているカメラ12の座標情報であり、マーカまでの位置情報にも対応する。したがって、このカメラ座標(x,y,θ)を拡大処理に用いた倍率を考慮して算出することが、マーカまでの位置情報を拡大処理に用いた倍率を考慮して計算することになる。
Then, in the last step S8, the CPU calculates the camera self-position estimation information in consideration of the presence or absence of the enlargement process, and then ends the process of FIG. In this step S8, camera coordinates (x, y, θ) are obtained from the rotation vector and translation vector obtained in the object posture calculation in step S7. θ is a YAW angle (yaw angle), that is, a rotation angle around the vertical axis.
Also, it is determined whether or not enlargement processing has been performed in order to detect the marker. If enlargement processing is being performed, camera coordinates (x, y, θ) are calculated in consideration of the magnification used for the enlargement processing.
This camera coordinate is coordinate information of the camera 12 mounted on the autonomous mobile device, and corresponds to position information up to the marker. Therefore, calculating the camera coordinates (x, y, θ) in consideration of the magnification used for the enlargement process calculates the position information up to the marker in consideration of the magnification used for the enlargement process.

PC10のCPUは、前述したステップS2でマーカを構成する四角形を検知したと判断できなかった場合、およびステップS3で黒枠内に四角形が2個以上あると判断できなかった場合は、マーカを検知できなかった場合である。その場合は、ステップS9へ進んで拡大処理をしたか否かを判断する。その結果、拡大処理をしたと判断しなかった(拡大処理していないと判断した)場合は、ステップS10へ進んで、拡大処理を行う。   The CPU of the PC 10 can detect the marker if it cannot be determined that the square constituting the marker has been detected in step S2 described above, or if it cannot be determined in step S3 that there are two or more squares in the black frame. This is the case. In that case, the process proceeds to step S9 to determine whether or not enlargement processing has been performed. As a result, when it is not determined that the enlargement process has been performed (determined that the enlargement process has not been performed), the process proceeds to step S10 to perform the enlargement process.

その拡大処理では、記憶している地図情報から、マーカの座標情報(x,y,θ)を参照して、マーカがある可能性が高い領域に対してマーカの画素を検索してマーカがありそうな領域を特定する。そして、その特定した領域に対してカメラによって取得した画像データによる画像の拡大処理を行なう。この拡大処理の際に、四角形抽出がしやすくなるように、コーナの先鋭化やエッジ強調も行なうとよい。
その後、再びステップS1〜S3でマーカの検知を行う。それでもマーカを検知できず、ステップS9へ進んで拡大処理をしたと判断した場合は、ステップS11へ進んでマーカなしと認識して、処理を終了する。
In the enlargement process, the marker information is searched from the stored map information by referring to the coordinate information (x, y, θ) of the marker, and the marker pixel is searched for an area where the marker is likely to exist. Identify such areas. Then, an image enlargement process is performed on the specified area using image data acquired by the camera. In this enlargement process, it is preferable to sharpen corners and enhance edges so that quadrilateral extraction is easy.
Thereafter, the markers are detected again in steps S1 to S3. If the marker is still not detected, and the process proceeds to step S9 and it is determined that the enlargement process has been performed, the process proceeds to step S11, where no marker is recognized, and the process is terminated.

この発明は、マーカを検知できなかった場合にマーカの検知精度を上げるため、予め作成した地図情報にマーカの位置情報を保存しておき、効率よくマーカがある可能性が高い領域に対して画像の拡大処理を行う。
たとえば、カメラ12によってマーカが全部撮像されていても、距離が遠いためマーカを構成する画素数が少なくてマーカを検知できない場合がある。そのような場合に、マーカがある可能性が高い領域を効率的に拡大処理してマーカを検知可能にすることができる。それによって、カメラ12の位置を確実に算出して、自律走行装置の自己位置を精度よく推定することができる。
このように、マーカを認識できなかった場合でも、拡大処理後にさらに探索して容易且つ迅速にマーカを認識し、自律走行装置の位置を精度よく推定することができる。
In the present invention, in order to increase the detection accuracy of the marker when the marker cannot be detected, the position information of the marker is stored in the map information created in advance, and the image is efficiently displayed for the region where the marker is highly likely to exist. The enlargement process is performed.
For example, even if the entire marker is imaged by the camera 12, there are cases where the marker cannot be detected because the distance is long and the number of pixels constituting the marker is small. In such a case, the marker can be detected by efficiently enlarging the area where the marker is likely to be present. Thereby, the position of the camera 12 can be reliably calculated, and the self-position of the autonomous mobile device can be estimated with high accuracy.
As described above, even when the marker cannot be recognized, the marker can be recognized easily and quickly after the enlargement process, and the position of the autonomous mobile device can be estimated with high accuracy.

図3は、カメラ12から入力される画像(静止画像)に対して、PC10側のCPUによってなされるこの発明に関わる処理の第2実施例の流れを示すフローチャートである。
この第2実施例の図3に示すフローチャートの基本的な流れは、図2に示した第1実施例と同じであるが、カメラからの画像データを用いてマーカ検知を行うことを、おおよそのゴール地点に到着した場合にのみ行うようにしている点だけが相違する。
FIG. 3 is a flowchart showing the flow of a second embodiment of the process related to the present invention performed by the CPU on the PC 10 side for an image (still image) input from the camera 12.
The basic flow of the flowchart shown in FIG. 3 of the second embodiment is the same as that of the first embodiment shown in FIG. 2, but it is approximate that marker detection is performed using image data from the camera. The only difference is that it is performed only when it arrives at the goal point.

マーカはゴール地点付近にしか無いことと、自律走行装置がゴール地点に向かう途中にマーカに似た図形がある場合に、それを誤検知してゴールと認識しないようにするため、この第2実施例ではマーカ検知をする場所をゴール地点付近に限定している。
そのため、図3に示すフローチャートでは、PC10側のCPUが処理を開始すると、まずステップS0で地図情報によるルートに従い、おおよそのゴール地点に到着したか否かを判断する。その結果、おおよそのゴール地点に到着したと判断するまでは何もせずに処理を終了する。これを一定の時間間隔で繰り返し、ステップS0でおおよそのゴール地点に到着したと判断すると、ステップS1の四角形抽出以降の処理に進む。
ステップS1〜S11の各処理は、図2によって説明した実施例1と同じであるから説明を省略する。
In order to prevent the marker from being only near the goal point, and to detect a figure similar to the marker when the autonomous mobile device is on the way to the goal point, it will not be recognized as a goal. In the example, the place where the marker is detected is limited to the vicinity of the goal point.
Therefore, in the flowchart shown in FIG. 3, when the CPU on the PC 10 side starts processing, it is first determined in step S0 whether or not an approximate goal point has been reached according to the route based on the map information. As a result, the processing is terminated without doing anything until it is determined that it has arrived at the approximate goal point. This is repeated at regular time intervals, and if it is determined in step S0 that an approximate goal point has been reached, the process proceeds to the process after the quadrangle extraction in step S1.
Since each process of step S1-S11 is the same as Example 1 demonstrated by FIG. 2, description is abbreviate | omitted.

このように、この第2実施例では、PC10側のCPUが予め記憶した地図情報に基づいて地図上のゴール地点を認識しておき、自律走行装置がゴール地点付近に到着した場合にのみ、第1実施例と同じ処理を実行する。すなわち、カメラ12によって取得した画像データによって、予め決められたマーカを検出して自己の位置を算出する。しかし、そのマーカを検出できない場合は、上記地図情報からマーカがある可能性が高い領域に対してマーカの画素を検索してマーカがありそうな領域を特定する。そして、その領域に対して画像データによる画像の拡大処理を行って、再びマーカの検知を行うことを実行する。   As described above, in the second embodiment, only when the goal point on the map is recognized based on the map information stored in advance by the CPU on the PC 10 side and the autonomous mobile device arrives in the vicinity of the goal point, The same processing as in the first embodiment is executed. That is, a predetermined marker is detected from the image data acquired by the camera 12 to calculate its own position. However, if the marker cannot be detected, the pixel of the marker is searched for an area where there is a high possibility of the marker from the map information, and the area where the marker is likely to be identified. Then, an image enlargement process using image data is performed on the area, and marker detection is performed again.

したがって、マーカを正確に検出してカメラ12の位置を算出し、自律走行装置の自己位置を精度よく推定でき、ゴール地点まで正確に走行させて停止させる制御を行うことができる。また、自律走行装置がゴール地点に向かう途中にマーカに似た図形があった場合でも、それを誤検知してゴールと認識する恐れがなくなる。   Therefore, it is possible to accurately detect the marker, calculate the position of the camera 12, accurately estimate the self-position of the autonomous traveling device, and perform control to accurately travel to the goal point and stop. Moreover, even if there is a figure resembling a marker on the way of the autonomous traveling device toward the goal point, there is no risk of erroneously detecting it and recognizing it as a goal.

図4は、カメラから入力される画像(静止画像)に対して、PC10側のCPUによってなされるこの発明に関わる処理の第3実施例の流れを示すフローチャートである。
この第3実施例の図4に示すフローチャートの基本的な流れは、図3に示した第2実施例と同じである。しかし、ゴール地点付近でマーカがあるだろうと予想した方向に拡大処理を行ってマーカ検知を行なっても、マーカを検知できなかった場合は、別の検知方法に切り替えるようにした点が相違する。
FIG. 4 is a flowchart showing the flow of a third embodiment of the process related to the present invention performed by the CPU on the PC 10 side for an image (still image) input from the camera.
The basic flow of the flowchart shown in FIG. 4 of the third embodiment is the same as that of the second embodiment shown in FIG. However, if the marker is not detected even if the marker detection is performed by performing the enlargement process in the direction in which the marker is expected to be near the goal point, the difference is that the detection method is switched to another detection method.

この第3実施例では、PC10のCPUがステップS10で画像の拡大処理を行って、ステップS1〜S3で再度マーカ検知を行なってもマーカを検知できなかった場合には、ステップS11でマーカなしと認識した後、ステップS12での処理を行う。そのステップS12では、カメラ12を用いたマーカ検知からレーザレンジファインダ(LRF)13を用いた周囲情報の検知に切り替える。そして、この処理を終了する。
レーザレンジファインダ13による周囲情報の検知は、図1に示したレーザレンジファインダ13を用いた平面の形状認識により、ゴールの形状を予め保持しておき、その形状を使って、レーザレンジファインダ13がその反射波を検知した方向に近づくように制御する。
In the third embodiment, if the CPU of the PC 10 performs the image enlargement process in step S10 and no marker is detected even if the marker detection is performed again in steps S1 to S3, it is determined that there is no marker in step S11. After the recognition, the process at step S12 is performed. In step S12, the marker detection using the camera 12 is switched to the detection of ambient information using the laser range finder (LRF) 13. Then, this process ends.
The surrounding information is detected by the laser range finder 13 by preliminarily holding the shape of the goal by recognizing the shape of the plane using the laser range finder 13 shown in FIG. Control is performed so as to approach the direction in which the reflected wave is detected.

カメラを用いたマーカ検知は1秒間に数フレームの画像を取得できる。そのため、あるフレームでマーカを検知できなくてレーザレンジファインダ13を用いた周囲情報の検知に切替え、方向を決めた次のフレームで、再びカメラを用いたマーカ検知を行ってゴールに近づく方法も考えられる。
図1に示した自律走行装置は超音波センサ23も備えているので、レーザレンジファインダ(LRF)13を用いた周囲情報の検知に代えて、超音波センサ23を用いた周囲情報の検知に切り替えてもよい。
Marker detection using a camera can acquire several frames of images per second. For this reason, it is possible to switch to detection of surrounding information using the laser range finder 13 because the marker cannot be detected in a certain frame, and in the next frame in which the direction is determined, the marker detection using the camera is performed again to approach the goal. It is done.
Since the autonomous traveling apparatus shown in FIG. 1 also includes an ultrasonic sensor 23, switching to detection of ambient information using the ultrasonic sensor 23 instead of detection of ambient information using the laser range finder (LRF) 13 is performed. May be.

あるいは、レーザレンジファインダ(LRF)13と超音波センサ23を用いた周囲情報の検知に切り替えてもよい。レーザレンジファインダ(LRF)13と超音波センサ23の一方又は両方を使用して、PC10が周辺の障害物までの距離を算出して走行経路を決定することができる。
また、図1に示した自律走行装置は、レーザレンジファインダ(LRF)13と超音波センサ23とを備えているが、そのいずれか一方のみを備えるようにしてもよい。
図4におけるステップS0は図3によって説明した実施例2と同じであり、ステップS1〜S11は図2によって説明した実施例1と同じであるから説明を省略する。
このようにすれば、カメラによって取得した画像データではマーカを検知できなかった場合でも、自律走行装置がゴール地点へ精度よく到達できる可能性が高まる。
Or you may switch to the detection of the surrounding information using the laser range finder (LRF) 13 and the ultrasonic sensor 23. FIG. Using one or both of the laser range finder (LRF) 13 and the ultrasonic sensor 23, the PC 10 can calculate the distance to the surrounding obstacle and determine the travel route.
The autonomous traveling device shown in FIG. 1 includes the laser range finder (LRF) 13 and the ultrasonic sensor 23, but may include only one of them.
Step S0 in FIG. 4 is the same as that of the second embodiment described with reference to FIG. 3, and steps S1 to S11 are the same as those of the first embodiment described with reference to FIG.
This increases the possibility that the autonomous mobile device can accurately reach the goal point even when the marker cannot be detected from the image data acquired by the camera.

図5は、第1〜第3実施例に用いたマーカの図形例を示す。このマーカの図形は、白(背景)と黒の2値図形であり、黒を構成する外枠の中に複数個の黒の小さい正方形が存在する。図2〜図4のフローチャートに示したように、このマーカを構成する複数個の黒の正方形の四角形を抽出し、マーカを認識した後、透視変換を行って、このマーカを撮影したカメラ12の位置及び角度を示すカメラ座標(x,y,θ)を予測する。
図6によってコーナの位置検出について説明する。コーナ位置決めは、図6に示す近傍領域の中心qから、その領域内に位置する点pに向かう各ベクトルが、点pにおける画像勾配と直交するという考えに基づいて算出する。それは、数1で表現できる。
FIG. 5 shows an example of a marker graphic used in the first to third embodiments. The marker figure is a binary figure of white (background) and black, and a plurality of small black squares exist in the outer frame constituting the black. As shown in the flow charts of FIGS. 2 to 4, a plurality of black squares constituting the marker are extracted, and after the marker is recognized, perspective transformation is performed, and the camera 12 that captured the marker is captured. Predict camera coordinates (x, y, θ) indicating position and angle.
The corner position detection will be described with reference to FIG. Corner positioning is calculated based on the idea that each vector from the center q of the neighboring area shown in FIG. 6 toward the point p located in the area is orthogonal to the image gradient at the point p. It can be expressed by Equation 1.

ここでDIpiは、近傍領域q内の点piにおける画像勾配である。qは、このεiを最小にする値として求められる。εiを0とすることで、数2との連立方程式が成り立つ。 Here, DI pi is an image gradient at a point pi in the neighborhood region q. q is obtained as a value that minimizes this εi. By setting εi to 0, the simultaneous equations with Equation 2 are established.

ここで、画像勾配はqの近傍領域での総和をとられる。1次勾配をG、2次勾配をbとすると、qとの間に数3の関係が成り立つ。
なお、数1及び数2における「T]は転置行列であることを示している。
Here, the image gradient is summed in the region near q. When the primary gradient is G and the secondary gradient is b, the relationship of Equation 3 is established with q.
Note that “T” in Equations 1 and 2 indicates a transposed matrix.

図6に示した探索窓の中心をこの新しい値qに再設定し、値の変化量が与えられた閾値内に収まるようになるまで繰り返し計算を行なって、マーカを構成する黒の正方形のコーナの位置(座標)を求める。 The center of the search window shown in FIG. 6 is reset to the new value q, and the calculation is repeated until the change amount of the value falls within the given threshold value. Find the position (coordinates).

図2〜図4におけるステップS7の「3次元−2次元の対応点から物体の姿勢算出」の処理で、カメラの位置は、3次元位置が既知の点Pとその画像上での観測座標pの複数の対応から求めることができる。この問題はPerspective-n-Pont Problem(PnP問題)として知られている。
3次元位置が既知の点の配列とその画像上での観測座標の配列、カメラの内部パラメータ行列、歪み係数ベクトルをそれぞれ入力とし、カメラの外部パラメータ(回転ベクトルと並進ベクトル)を推定する。
カメラの内部パラメータ行列と歪み係数ベクトルは、カメラごとに予めキャリブレーション処理を行うことによって求めることができるパラメータであり、数4にその例を示す。
The position of the camera is a point P whose three-dimensional position is known and its observed coordinates p on the image in the process of “calculation of object posture from corresponding three-dimensional and two-dimensional points” in step S7 in FIGS. It can be obtained from a plurality of correspondences. This problem is known as the Perspective-n-Pont Problem.
The external parameters (rotation vector and translation vector) of the camera are estimated by inputting the array of points with known three-dimensional positions, the array of observation coordinates on the image, the internal parameter matrix of the camera, and the distortion coefficient vector, respectively.
The internal parameter matrix and the distortion coefficient vector of the camera are parameters that can be obtained by performing calibration processing for each camera in advance.

カメラ行列は、カメラ固有にもつカメラ内部パラメータ行列で、3×3のベクトルで表わせる。
歪み係数ベクトルは4、5または8個の要素を持つベクトルである。このベクトルがNULL又は空である場合、歪み係数は0であると見なされる。
The camera matrix is a camera internal parameter matrix inherent to the camera and can be represented by a 3 × 3 vector.
The distortion coefficient vector is a vector having 4, 5 or 8 elements. If this vector is NULL or empty, the distortion factor is considered to be zero.

カメラの外部パラメータ(回転ベクトルと並進ベクトル)から、カメラ位置(x,y,θ)を求める。
回転ベクトルと並進ベクトルは以下の様なベクトルで算出される。
回転ベクトル=(r1,r2,r3)
並進ベクトル=(h1,h2,h3)
The camera position (x, y, θ) is obtained from the external parameters (rotation vector and translation vector) of the camera.
The rotation vector and the translation vector are calculated by the following vectors.
Rotation vector = (r1, r2, r3)
Translation vector = (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:拡大率に応じた係数
x = h2 / 1000 [mm]
y = h1 / 1000 [mm]
θ is obtained using the same quaternion (quaternion) as in the prior art using the rotation vector r2 and converted to a YAW angle (yaw angle).
x and y can be obtained from the above equation if the marker is detected without performing the enlargement process, and when the enlargement process is performed, the enlargement ratio is obtained by multiplying the coefficient prepared in advance. Since θ is irrelevant to the enlargement process, the calculation formula does not change depending on the presence or absence of the enlargement process.
x = h2 * KX / 1000 [mm] KX: coefficient according to enlargement ratio y = h1 * KY / 1000 [mm] KY: coefficient according to enlargement ratio

図7に前述した各実施例で用いた地図情報の例を示す。これは、自律走行装置が自律走行する上で必要な地図情報の例になる。この地図情報は、図7に示すように2次元上に表すことができる。
自律走行装置30を手動走行手段によってマニュアル(手動)走行させる。その手動走行中に、図1に示したPC10がレーザレンジファインダ13を用いて、レーザレンジファインダ13が設置されている平面上の障害物までの距離をスキャンする。それによって周囲の情報を検知し、自律走行装置30が走行可能な箇所(図7における白領域)と走行不可能な箇所(灰色領域)を識別して、地図情報として作成する。その地図情報をPC10がメモリに記憶する。
FIG. 7 shows an example of the map information used in each embodiment described above. This is an example of map information necessary for the autonomous traveling device to autonomously travel. This map information can be expressed two-dimensionally as shown in FIG.
The autonomous traveling device 30 is manually traveled by manual travel means. During the manual travel, the PC 10 shown in FIG. 1 uses the laser range finder 13 to scan the distance to the obstacle on the plane where the laser range finder 13 is installed. Accordingly, surrounding information is detected, and a location where the autonomous traveling device 30 can travel (white region in FIG. 7) and a location where the autonomous traveling device 30 cannot travel (gray region) are identified and created as map information. The PC 10 stores the map information in the memory.

初期状態では全て走行不可能な箇所(灰色領域)のみの画像であるが、自律走行装置30のマニュアル走行の際に、レーザレンジファインダ13のスキャンにより、レーザ光が周辺の障害物に当たって戻ってくる時間によって距離を測定する。その情報によって、自律走行装置30が走行可能な箇所(白領域)を広げて地図情報を作成していく。
この地図情報に対して、図8に示すように複数のマーカの位置情報(x,y,θ)を上書きで保存しておく。
In the initial state, all images are only images where the vehicle cannot travel (gray area). However, when the autonomous traveling device 30 is traveling manually, the laser range finder 13 scans and the laser light hits the surrounding obstacles and returns. Measure distance by time. Based on the information, map information is created by expanding a portion (white region) where the autonomous traveling device 30 can travel.
With respect to this map information, as shown in FIG. 8, position information (x, y, θ) of a plurality of markers is overwritten and saved.

図8は、図7の地図情報にマーカの位置情報を上書き保存し、自律走行装置30の初期位置及び向きとゴール地点の各情報を入力することを説明するための図である。マーカA〜Cの位置情報を次のように表わす。
マーカA(x1,y1,θ1)
マーカB(x2,y2,θ2)
マーカC(x3,y3,θ3)
さらに他のマーカXがある場合の位置情報は、次のように表わす。
マーカX(xx,yx,θx)
FIG. 8 is a diagram for explaining that the position information of the marker is overwritten and saved in the map information of FIG. 7 and the initial position and orientation of the autonomous traveling device 30 and the goal point information are input. The position information of the markers A to C is expressed as follows.
Marker A (x1, y1, θ1)
Marker B (x2, y2, θ2)
Marker C (x3, y3, θ3)
The position information when there is another marker X is expressed as follows.
Marker X (xx, yx, θx)

これらの各マーカは、自律走行装置の選択可能な複数のゴール地点から所定距離の箇所にそれぞれ設置される。
上記マーカの位置情報(x,y,θ)は、ある原点からの予め設置しているマーカの座標情報(x,y,θ)であり、マーカがある数とマーカごとの原点からの座標が決まっているので、PC10のROMに保存しておくことができる。したがって、各マーカのパターンは、全て例えば図5に示したような同じパターンでよい。
Each of these markers is installed at a predetermined distance from a plurality of selectable goal points of the autonomous mobile device.
The marker position information (x, y, θ) is coordinate information (x, y, θ) of a marker set in advance from a certain origin. The number of markers and the coordinates from the origin for each marker are Since it is determined, it can be stored in the ROM of the PC 10. Therefore, the pattern of each marker may be the same pattern as shown in FIG.

ここで、マーカのパターン判別情報の例を説明する。例えば図5に示したマーカの場合、図9に示すように、黒い正方形の外枠とその内側の6個の小さい黒い正方形のパターンのうちの左下の1個の各コーナの座標点を認識する。
そのため、図9に丸付き数字1〜12で示す各コーナの座標点を、マーカ対応座標点(x,y,z)の情報として、例えば表1に示すようにPC10のROMに格納しておく。
この各コーナのマーカ対応座標点(x,y,z)は、丸付き数字1のマーカ対応座標点を原点(0,0,0)としている。
Here, an example of marker pattern discrimination information will be described. For example, in the case of the marker shown in FIG. 5, as shown in FIG. 9, the coordinate point of each corner at the lower left of the black square outer frame and the six small black square patterns inside it is recognized. .
Therefore, the coordinate points of each corner indicated by the circled numbers 1 to 12 in FIG. 9 are stored in the ROM of the PC 10 as information on the marker corresponding coordinate points (x, y, z) as shown in Table 1, for example. .
The marker corresponding coordinate point (x, y, z) of each corner has the origin (0, 0, 0) as the marker corresponding coordinate point of the circled number 1.

PC10が検知したパターンにおけるこの12箇所のコーナの座標点が、記憶している各マーカ対応座標点と一致すれば、所定のマーカであると認識できる。
その各マーカは、z軸座標が0であるから、z軸はカメラと同じ高さを想定しており、自律走行装置30が持つカメラ12と同じ高さで、壁や柱に貼られているものを想定している。
If the coordinate points of these 12 corners in the pattern detected by the PC 10 coincide with the stored marker corresponding coordinate points, it can be recognized as a predetermined marker.
Since each marker has a z-axis coordinate of 0, the z-axis is assumed to be the same height as the camera, and is attached to a wall or a pillar at the same height as the camera 12 of the autonomous mobile device 30. Assumes something.

自律走行時には、図8に示すように、この地図上に自律走行装置30の初期位置及び向いている方向Fを入力し、自律走行させたいゴール地点Gを設定して自律走行を要求する。それによって、自律走行装置30は、内蔵のPC10が地図情報と自己位置情報によりルートを決めて、ゴール地点まで自律走行する。
マーカの座標情報(x,y,θ)は、地図上にあるどのマーカに近づいたのか把握するために用いる。カメラ座標(x,y,θ)は、最も近づいたマーカをカメラが画像で捉えて、マーカ検出処理を行ってマーカとして認識できた時、最も近づいたマーカとの相対座標をカメラから取得した画像データから算出して求める。
At the time of autonomous traveling, as shown in FIG. 8, the initial position of the autonomous traveling device 30 and the facing direction F are input on this map, the goal point G to be autonomously traveled is set, and autonomous traveling is requested. As a result, the autonomous traveling device 30 autonomously travels to the goal point by the built-in PC 10 determining a route based on the map information and the self-location information.
The marker coordinate information (x, y, θ) is used to grasp which marker on the map is approached. The camera coordinates (x, y, θ) are images obtained by acquiring the relative coordinates of the closest marker from the camera when the closest marker is recognized by the camera and the marker detection process is performed. Calculated from data.

マーカを利用するのは、自律走行装置30が自律走行してゴール地点付近のマーカに近づき、設定されたマーカと対向するゴール地点に高精度(誤差数cm)に停止する際である。自律走行装置30が搭載しているカメラによってマーカがある可能性が高い領域を撮像し、その画像データに基づいてPC10がマーカ検知処理を行う。PC10がマーカを検知すると、その検知したマーカとの距離をカメラ座標から判断して、そのマーカの方向へ移動するように駆動・IO制御部20を制御する。   The marker is used when the autonomous traveling device 30 travels autonomously, approaches a marker near the goal point, and stops at a goal point opposite to the set marker with high accuracy (error number cm). An area where there is a high possibility that a marker is present is imaged by a camera mounted on the autonomous mobile device 30, and the PC 10 performs a marker detection process based on the image data. When the PC 10 detects the marker, the distance to the detected marker is determined from the camera coordinates, and the drive / IO control unit 20 is controlled to move in the direction of the marker.

なお、この実施形態では、複数のマーカを地図情報に対して予め設定した位置情報によって識別するようにした。しかし、複数のマーカを識別する他の方法として、各マーカごとに正方形の黒枠の内側の小さい黒い正方形の大きさ、個数、配置等を変えておき、自律走行装置がそれを判別することによってマーカを識別することも可能である。   In this embodiment, a plurality of markers are identified by position information set in advance for map information. However, as another method of identifying a plurality of markers, the size, number, arrangement, etc. of the small black squares inside the square black frame are changed for each marker, and the autonomous traveling device discriminates them to change the markers. Can also be identified.

また、自律走行装置がゴール地点付近でマーカ検知する場合に限らず、自律走行中に通過あるは立ち寄るべき要所ごとにマーカを検知する場合にも、この発明を適用することができる。それによって、マーカをよく認識できなかった場合でも、さらに探索して容易且つ迅速にマーカを認識することができ、自律走行装置の位置を精度よく推定することが可能になる。   Moreover, this invention is applicable not only when an autonomous running apparatus detects a marker in the vicinity of a goal point, but also when detecting a marker for each important point to pass or stop during autonomous running. Thereby, even when the marker cannot be recognized well, it is possible to recognize the marker easily and quickly by further searching, and it is possible to accurately estimate the position of the autonomous traveling device.

以上、この発明の実施形態について説明してきたが、その実施形態の各部の具体的な構成や処理の内容等は、そこに記載したものに限るものではない。
また、この発明は上述した実施形態に限定されるものではなく、特許請求の範囲の各請求項に記載された技術的特徴を有する以外は、何ら限定されないことは言うまでもない。
さらに、以上説明してきた実施形態の構成例、動作例及び変形例等は、適宜変更又は追加したり一部を削除してもよく、相互に矛盾しない限り任意に組み合わせて実施することも可能である。
As mentioned above, although embodiment of this invention was described, the specific structure of each part of the embodiment, the content of a process, etc. are not restricted to what was described there.
Further, the present invention is not limited to the above-described embodiment, and it is needless to say that the present invention is not limited in any way except for having the technical features described in the claims.
Furthermore, the configuration examples, operation examples, modification examples, and the like of the embodiments described above may be changed or added as appropriate, or some of them may be deleted, and any combination may be implemented as long as they do not contradict each other. is there.

10:パーソナルコンピュータ(PC) 11:操作部 12:カメラ
13:レーザレンジファインダ 20:駆動・IO制御部
21:バッテリ 23:超音波センサ 24:モータ
25:エンコーダ 30:自律走行装置
10: Personal computer (PC) 11: Operation unit 12: Camera
13: Laser range finder 20: Drive / IO control unit
21: Battery 23: Ultrasonic sensor 24: Motor
25: Encoder 30: Autonomous traveling device

特開2014−21624号公報JP 2014-21624 A

Claims (5)

操作者が情報を入力するための入力手段と、
周囲の情報を検知する検知手段と、
モータの駆動によって移動するための駆動手段と、
前記入力手段によって入力される初期位置及び向きとゴール地点の各情報と、自律走行中に前記検知手段によって検知される周囲の情報とに基づいて、移動方向と移動速度を決定し、前記モータを駆動制御する制御手段と、
自律走行したい場所を予め手動操作で走行させる手動走行手段と、
該手動走行手段による走行中に前記検知手段によって周囲の情報を検知し、地図情報を作成して記憶する地図情報作成・記憶手段と、
を有し、
前記検知手段は、少なくとも前記ゴール地点の近傍の画像データを取得するカメラを有し、
前記制御手段が、前記カメラによって取得した画像データによって、予め決められたマーカを検出して自己の位置を算出する機能を有する自律走行装置であって、
前記制御手段が、前記マーカを検出できない場合は、前記地図情報から前記マーカがある可能性が高い領域に対してマーカの画素を検索して前記マーカがありそうな領域を特定し、該領域に対して前記画像データによる画像の拡大処理を行って、再び前記マーカの検知を行うことを特徴とする自律走行装置。
An input means for an operator to input information;
Detecting means for detecting surrounding information;
Driving means for moving by driving the motor;
Based on each information of the initial position and direction and the goal point input by the input means, and surrounding information detected by the detection means during autonomous traveling, a moving direction and a moving speed are determined, and the motor is Control means for driving control;
Manual travel means for manually traveling in advance a place where you want to travel autonomously;
Map information creating / storing means for detecting surrounding information by the detecting means during traveling by the manual traveling means, and creating and storing map information;
Have
The detection means has a camera that acquires at least image data in the vicinity of the goal point,
The control means is an autonomous traveling device having a function of detecting a predetermined marker from the image data acquired by the camera and calculating its own position,
When the control unit cannot detect the marker, the pixel of the marker is searched for an area where the marker is highly likely from the map information to identify the area where the marker is likely to exist. On the other hand, an autonomous traveling device that performs image enlargement processing based on the image data and detects the marker again.
前記制御手段が、前記拡大処理を行って前記マーカを検知した場合には、該マーカまでの位置情報の計算を、該拡大処理に用いた倍率を考慮して行うことを特徴とする請求項1に記載の自律走行装置。   2. The control unit according to claim 1, wherein, when the enlargement process is performed and the marker is detected, the position information to the marker is calculated in consideration of a magnification used for the enlargement process. The autonomous traveling device described in 1. 前記制御手段は、前記地図情報に基づいて地図上の前記ゴール地点を認識しておき、該ゴール地点付近に到着した場合にのみ、前記カメラによって取得した画像データによって、前記マーカを検出して自己の位置を算出し、前記ゴール地点まで正確に走行させて停止させる制御を行い、前記マーカを検出できない場合は、前記地図情報から前記マーカがある可能性が高い領域に対してマーカの画素を検索して前記マーカがありそうな領域を特定し、該領域に対して前記画像データによる画像の拡大処理を行って、再び前記マーカの検知を行うことを実行することを特徴とする請求項1又は2に記載の自律走行装置。   The control means recognizes the goal point on the map based on the map information, and detects the marker by image data acquired by the camera only when it arrives in the vicinity of the goal point. If the marker cannot be detected, the pixel of the marker is searched from the map information for an area where the marker is highly likely to be calculated. 2. The method according to claim 1, further comprising: identifying an area where the marker is likely to be detected, performing an image enlargement process on the area based on the image data, and detecting the marker again. 2. The autonomous traveling device according to 2. 前記検知手段は、レーザレンジファインダと超音波センサの少なくとも一方を備えていることを特徴とする請求項1から3のいずれか一項に記載の自律走行装置。   The autonomous traveling device according to any one of claims 1 to 3, wherein the detection unit includes at least one of a laser range finder and an ultrasonic sensor. 前記制御手段が、前記拡大処理を行っても前記マーカを検知できなかった場合は、前記カメラを用いたマーカ検知から、前記レーザレンジファインダ又は超音波センサを用いた周囲情報の検知に切り替える手段を有することを特徴とする請求項4に記載の自律走行装置。   Means for switching from marker detection using the camera to detection of ambient information using the laser range finder or ultrasonic sensor when the control means fails to detect the marker even after performing the enlargement process; The autonomous traveling device according to claim 4, comprising:
JP2015257067A 2015-12-28 2015-12-28 Autonomous traveling device Pending JP2017120551A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015257067A JP2017120551A (en) 2015-12-28 2015-12-28 Autonomous traveling device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015257067A JP2017120551A (en) 2015-12-28 2015-12-28 Autonomous traveling device

Publications (1)

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

Family

ID=59272328

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015257067A Pending JP2017120551A (en) 2015-12-28 2015-12-28 Autonomous traveling device

Country Status (1)

Country Link
JP (1) JP2017120551A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109634165A (en) * 2018-11-15 2019-04-16 南宁学院 A kind of drive control circuit based on STC single-chip microcontroller laser engraving machine and writing machine
JP2019109776A (en) * 2017-12-19 2019-07-04 株式会社ダイヘン Moving body
JP2019109775A (en) * 2017-12-19 2019-07-04 株式会社ダイヘン Moving body and jig
KR102106858B1 (en) * 2018-11-27 2020-05-06 노성우 Logistic Robot Location Estimation Method of Hybrid Type
WO2020105125A1 (en) * 2018-11-20 2020-05-28 本田技研工業株式会社 Autonomous work machine, autonomous work machine control method, and program
CN111417911A (en) * 2017-11-28 2020-07-14 Thk株式会社 Image processing apparatus, control system for mobile robot, and control method for mobile robot
CN112101378A (en) * 2020-08-20 2020-12-18 上海姜歌机器人有限公司 Robot repositioning method, device and equipment
WO2021158062A1 (en) * 2020-02-05 2021-08-12 (주)에바 Position recognition method and position recognition system for vehicle

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111417911B (en) * 2017-11-28 2023-09-22 Thk株式会社 Image processing device, control system for mobile robot, and control method for mobile robot
CN111417911A (en) * 2017-11-28 2020-07-14 Thk株式会社 Image processing apparatus, control system for mobile robot, and control method for mobile robot
JP7153442B2 (en) 2017-12-19 2022-10-14 株式会社ダイヘン moving body
JP2019109776A (en) * 2017-12-19 2019-07-04 株式会社ダイヘン Moving body
JP2019109775A (en) * 2017-12-19 2019-07-04 株式会社ダイヘン Moving body and jig
JP7153443B2 (en) 2017-12-19 2022-10-14 株式会社ダイヘン moving body
CN109634165A (en) * 2018-11-15 2019-04-16 南宁学院 A kind of drive control circuit based on STC single-chip microcontroller laser engraving machine and writing machine
WO2020105125A1 (en) * 2018-11-20 2020-05-28 本田技研工業株式会社 Autonomous work machine, autonomous work machine control method, and program
JPWO2020105125A1 (en) * 2018-11-20 2021-09-27 本田技研工業株式会社 Autonomous work machine, control method and program of autonomous work machine
CN112996377A (en) * 2018-11-20 2021-06-18 本田技研工业株式会社 Autonomous working machine, control method for autonomous working machine, and program
JP7201704B2 (en) 2018-11-20 2023-01-10 本田技研工業株式会社 AUTONOMOUS WORKING MACHINE, CONTROL METHOD AND PROGRAM FOR AUTONOMOUS WORKING MACHINE
CN112996377B (en) * 2018-11-20 2023-11-28 本田技研工业株式会社 Autonomous working machine, control method of autonomous working machine and storage medium
KR102106858B1 (en) * 2018-11-27 2020-05-06 노성우 Logistic Robot Location Estimation Method of Hybrid Type
WO2021158062A1 (en) * 2020-02-05 2021-08-12 (주)에바 Position recognition method and position recognition system for vehicle
JP2022035936A (en) * 2020-08-20 2022-03-04 上海姜歌机器人有限公司 Robot repositioning method, device, and apparatus
CN112101378A (en) * 2020-08-20 2020-12-18 上海姜歌机器人有限公司 Robot repositioning method, device and equipment

Similar Documents

Publication Publication Date Title
JP2017120551A (en) Autonomous traveling device
US11320833B2 (en) Data processing method, apparatus and terminal
CN108474653B (en) Three-dimensional measurement device and measurement support processing method thereof
US9020301B2 (en) Method and system for three dimensional mapping of an environment
US9990726B2 (en) Method of determining a position and orientation of a device associated with a capturing device for capturing at least one image
JP4533659B2 (en) Apparatus and method for generating map image by laser measurement
KR100773184B1 (en) Autonomously moving robot
JP5588812B2 (en) Image processing apparatus and imaging apparatus using the same
CN111427360A (en) Map construction method, robot and robot navigation system based on landmark positioning
KR101880185B1 (en) Electronic apparatus for estimating pose of moving object and method thereof
CN111238465A (en) Map construction device and map construction method thereof
CN108388244A (en) Mobile-robot system, parking scheme based on artificial landmark and storage medium
KR101853127B1 (en) Movable Marking System, Controlling Method For Movable Marking Apparatus and Computer Readable Recording Medium
CN111914961A (en) Information processing apparatus and information processing method
JP2003015739A (en) Outside environment map, self-position identification device and guidance control device
CN114842106A (en) Method and apparatus for constructing grid map, self-walking apparatus, and storage medium
JP2001076128A (en) Obstacle detection apparatus and method
JP2021047516A (en) Information processing device, coordinate conversion system, coordinate conversion method, and coordinate conversion program
Tsukiyama Global navigation system with RFID tags
JP2021081852A (en) Movable body and system
KR100784125B1 (en) Method of Extracting Coordinates of Landmark of Mobile Robot Using Single Camera
KR20180127184A (en) Movable marking apparatus, stabilizing system for movable marking apparatus and method thereof
JP7278637B2 (en) Self-propelled moving device
EP4443262A1 (en) Mobile unit control system
JP7657689B2 (en) Processing system, control system, moving body, photographing position determining method, and photographing position determining program