• 검색 결과가 없습니다.

Dynamic Object Tracking of a Quad-rotor with Image Processing and an Extended Kalman Filter

N/A
N/A
Protected

Academic year: 2021

Share "Dynamic Object Tracking of a Quad-rotor with Image Processing and an Extended Kalman Filter"

Copied!
7
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

Journal of Institute of Control, Robotics and Systems (2015) 21(7):641-647

http://dx.doi.org/10.5302/J.ICROS.2015.14.0138 ISSN:1976-5622 eISSN:2233-4335

영상처리와 확장칼만필터를 이용한 쿼드로터의 동적 물체 추종

Dynamic Object Tracking of a Quad-rotor with Image Processing and an Extended Kalman Filter

김 기 정, 유 호 윤, 이 장 명

* (Ki-jung Kim 1 , Ho-Yun Yu 2 , and Jangmyung Lee 2,* )

1 Department Interdisciplinary Program in Robotics, Pusan National University, South Korea

2 Depart of Electrical Engineering, Pusan National University, South Korea

Abstract: This paper proposes a new strategy for a quad-rotor to track a moving object efficiently by using image processing and an extended Kalman filter. The goal of path planning for the quad-rotor is to design an optimal path from the start point to the destination point. To lengthen the freight time of the quad-rotor, an optimal path is required to reduce the energy consumption. To track a moving object, the mark signed on the moving object has been detected by a camera mounted first on the quad-rotor. The center coordinates of the mark and its area are calculated through the blob analysis which is one type of image processing. The mark coordinates are utilized to obtain information on the motion direction and the area of the mark is utilized to recognize whether the object moves backward or forward from the camera on the quad-rotor. In addition, an extended Kalman filter has been applied to predict the direction and speed of the dynamically moving object. Through these schemes, it is aimed that the quad-rotor can track the dynamic object efficiently in terms of flight distance and time. Through the two different route freights of the quad-rotor, the performance of the proposed system has been demonstrated.

Keywords: quad-rotor, image processing, blob analysis, extended Kalman filter, tracking control

I. 서론

이동로봇은 주행을 하며 주어진 임무를 수행하는 로봇을 말 하는데 무인 지상차량(UGV), 무인 비행기(UAV) 그리고 무인 잠수정(AUV) 등이 연구되고 있다. 무인비행기(UAV)는 재난 감시, 인명구조, 환경감시, 군사정찰 등을 효과적으로 수행할 수 있기 때문에 관심이 높아지고 있는데[1,2], 그 중 제작 비용 이 적고 소형인 쿼드로터(Quad-rotor)는 4개의 로터를 이용하여 수직이착륙, 정지비행, 전 방향 이동이 가능한 장점을 가지고 있어서 도심 지역 및 위험지역에서 많이 사용되고 있고, 사람 의 손이 닿지 않는 곳이나 사각지역 정찰 용도로 사용될 뿐 아니라 음식 서빙, 물건 배달, 조깅 도우미 등과 같은 실생활 에 밀접한 분야로 활용 영역이 확대되고 있다[3-5].

쿼드로터의 실생활 적용 분야가 확대됨에 따라 인간의 일상 생활을 보조하기 위해 사람과의 자연스러운 근접동반이동 기 능이 요구되고, 이러한 기능 구현을 위하여 쿼드로터와 사람의 근접동반이동 제어기술 연구가 진행되고 있다. 또한 대기에 떠 있는 쿼드로터의 에너지 공급문제로 인한 비행시간의 제한으 로 인하여 사람과 동반 이동 시 사람의 이동을 최소한의 시 간과 거리를 가지고 효율적으로 추종할 필요가 있다[6,7].

본 연구에서는 사람과 쿼드로터의 근접동반이동을 하기 위하여 영상처리를 통해 사람을 인식한 후 사람의 이동 경로 를 확장칼만필터로 예측함으로써 효율적으로 사람을 추적하 는 기법을 제안한다. 먼저 쿼드로터에 장착된 단일 카메라로 부터 직교 평면상의 이동물체에 부착된 마크를 인식한 후 위 치와 거리를 구하고 비선형 상태추정기인 확장칼만필터 (EKF: Extended Kalman Filter) 를 이용하여 이동물체의 회전각 속도 및 선형 속도를 추정한다[8]. 추정된 이동물체의 선형속 도와 회전각속도는 이동물체의 궤적을 추정하는데 이용되어 지고, 쿼드로터가 추적된 궤적을 주행함으로써 이동물체를 효율적으로 추종할 수 있도록 하게 한다. 제안된 기법의 효 율성을 검증하기 위하여 실험환경은 □, ○ 자 코스를 선택 하였다.

논문은 다음과 같이 구성된다. II 장에서 쿼드로터의 동역학 모델을 설명하고, III, IV 장에서는 각각 영상처리 기법인 Blob analysis, EKF 기반의 동적 물체 상태 추정 방법을 서술한다.

그리고 V 장에서는 실험을 통해 제안된 시스템의 성능을 검 증하며. 마지막으로 VI 장에서 본 논문의 결론을 맺는다.

II. 쿼드로터의 동역학 모델

시스템의 구성과 쿼드로터의 하드웨어가 그림 1에 나타나 있다. 실제 시스템에서는 (주)Varam System사의 DRC V3.0 카 메라를 사용하였지만 연구에서는 최적의 성능을 위하여 Logitech 사의 C920 모델을 이용하였다. 카메라로 인식된 영 상정보는 Laptop (NT900X4C-A58)에서 동적 물체의 이동경로 를 계산하는데 사용되고, 계산된 이동정보는 Zig-Bee를 통하

Copyright© ICROS 2015

* Corresponding Author

Manuscript received December 13, 2014 / revised December 29, 2014 / accepted February 16, 2015

김기정: 부산대학교 로봇 협동과정([email protected]) 유호윤, 이장명: 부산대학교 전자전기공학과

([email protected]/[email protected])

※ 본 연구는 산업통상자원부가 지원하는 산업융합 · 연계형 로봇창

의인재양성사업의 연구결과로 수행되었음(N0001126).

(2)

김 기 정, 유 호 윤, 이 장 명 642

여 쿼드로터의 제어부로 전송된다. 제어부가 이동명령을 받 아서 모터 제어 명령을 생성시키면, ESC (Electronic Speed Controller) 가 명령을 받아 모터를 회전시킴으로써 동적 물체 를 추종하기 위한 쿼드로터의 이동이 제어된다.

쿼드로터의 동역학을 모델링 하기 위해서는 항체좌표계와 관성좌표계의 관계를 알아야 되는데, 이 관계는 다음과 같은 회전 행렬로 표현된다[7].

1 0 0 cos 0 sin

( ) 0 cos sin , ( ) 0 1 0

0 sin cos sin 0 cos

cos sin 0 ( ) sin cos 0

0 0 1

x y

z

R R

R

θ θ

φ φ φ θ

φ φ θ θ

ψ ψ

ψ ψ ψ

⎡ ⎤ ⎡ ⎤

⎢ ⎥ ⎢ ⎥

= ⎢ − ⎥ = ⎢ ⎥

⎢ ⎥ ⎢ − ⎥

⎣ ⎦ ⎣ ⎦

⎡ − ⎤

⎢ ⎥

= ⎢ ⎥

⎢ ⎥

⎣ ⎦

(1)

( ) ( ) ( )

cos cos sin sin cos cos sin cos sin sin sin sin cos cos

sin sin cos

cos sin cos sin sin cos sin sin sin cos

cos cos

b E z y x

R R ψ R θ R φ

θ ψ φ θ ψ φ ψ

θ ψ φ θ ψ φ ψ

θ φ θ

φ θ ψ φ ψ

φ θ ψ φ ψ

φ θ

=

⎡ −

= ⎢ ⎢ +

⎢ − ⎣

+ ⎤

− ⎥ ⎥

⎥⎦

(2)

관성좌표계에서 쿼드로터의 위치와 오일러각은 항체좌표계 상의 속도와 각속도 값과 함께 다음의 식으로 나타내어 진다.

[ ] T

p E = x y z (3)

[ ] T

η E = φ θ ψ (4)

[ ] T

b x y z

ν = ν ν ν (5)

E

E b b

p  = R ν (6)

b R ω E

ω = η  (7)

E :

p 로봇의 위치, η 오일러각, : E : ν b 속도, ω 각속도, b : R ω 는 관성좌표계상 오일러각의 속도 성분과 항체좌표계의 각속도 벡터간의 관계를 표현한 행렬을 말하며 다음과 같이 나타낼 수 있다[10].

0 0

( ) ( ) ( ) 0 ( ) ( ) ( ) 0

0 0

x

z y x y x z y

z

R R R R R R

ω φ

ψ θ φ ω ψ θ ψ θ

ω ψ

⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤

⎢ ⎥ ⎢ ⎥ = + ⎢ ⎥ + ⎢ ⎥ ⎢ ⎥

⎢ ⎥ ⎢ ⎥ ⎢ ⎥

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥

⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦







(8)

0 0

0 ( ) ( ) ( ) 0

0 0

x

T T T

y x x y

z

R R R

ω φ

ω φ θ φ θ

ω ψ

⎡ ⎤ ⎡ ⎤ ⎡ ⎤ ⎡ ⎤

⎢ ⎥ = ⎢ ⎥ ⎢ ⎥ + ⎢ ⎥ + ⎢ ⎥

⎢ ⎥ ⎢ ⎥ ⎢ ⎥

⎢ ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ ⎥

⎣ ⎦ ⎣ ⎦ ⎣ ⎦ ⎣ ⎦







(9)

x y z

R ω

ω φ

ω θ

ω ψ

⎡ ⎤ ⎡ ⎤

⎢ ⎥ = ⎢ ⎥ ⎢ ⎥

⎢ ⎥ ⎢ ⎥

⎢ ⎥ ⎣ ⎦ ⎣ ⎦







(10)

1 0 sin

0 cos sin cos 0 sin cos cos R ω

θ

φ φ θ

φ φ θ

⎡ − ⎤

⎢ ⎥

= ⎢ ⎥

⎢ − ⎥

⎣ ⎦

(11)

관성좌표계상의 쿼드로터의 가속도와 항체의 각가속도를 구하기 위해 식 (6)과 (7)을 미분을 하면 식 (12)와 (13)과 같 이 표현된다.

E E

E b b b b

p = R ν  +  R v

 (12)

b R ω E R ω E

ω  = η  +  η  (13)

그리고 쿼드로터에 작용하는 힘과 모멘트와의 관계를 통 해 아래와 같은 식으로 나타낼 수 있다[10].

( )

external g b

F = + F F = mV + ω × mV

 (14)

( )

external G T b b T

T = − Q Q = I ω + ω × I ω

 (15)

여기서

1 2 3 4

[0 0 ] T

F = F F F F + + + (16)

4 2 3 1 1 2 3 4

[ ( ) ( ) ] T

Q l F F = − l F F − τ τ − + − τ τ (17)

2

i t i

F K = Ω (18)

2

i K d i

τ = Ω (19)

G R G

Q = × Ω (20) ω I

1 2 3 4

[0 0 ] T

Ω = G Ω − Ω +Ω − Ω (21)

위 식에서 사용한 변수들이 의미하는 것은 표 1에 나타나 있다.

식 (12)~(15)를 이용하면 관성좌표계에서 기체의 가속도및 각 가속도가 식 (22), (23) 같이 유도된다.

그림 1. 시스템구성 및 쿼드로터의 하드웨어.

Fig. 1. System Configuration and Hardware of Quad-rotor.

그림 2. 관성좌표계와 항체좌표계의 관계.

Fig. 2. Relation between navigation and body coordinates.

Ki-jung Kim, Ho-Yun Yu, and Jangmyung Lee

(3)

영상처리와 확장칼만필터를 이용한 쿼드로터의 동적 물체 추종 643

표 1. 변수목록.

Table 1. Variable list.

Specification Content

external

F External Force

F Force for Control of Quad-rotor F g Gravity for Quad-rotor m Mass of Quad-rotor

external

T External Moment

Q Moment for Control of Quad-rotor

Q G Gyro Effect

l Length between two rotors τ Torque of rotor Ω Angular velocity K t Correlation coefficient for throttle K d Correlation coefficient for torque

I Moment of Inertia for body I R Moment of Inertia for rotor

1 E

E E b

P g R F

= + m

 (22)

( ) ( 1 ( ))

E IR ω Q IR ω R ω IR ω I R G

η  = −  η  − η  × η  + Ω (23) 관성좌표계에서의 중력벡터는 g E = [0 0 − g ] T 로 표기된 다[11]. 자세한 제어 방법은 참고문헌[9]을 보면 알 수 있다.

III. BLOB ANALYSIS

Blob Analysis 는 레이블된 영역 크기 및 중심점을 계산하는 기법이다. 연구에서는 동적 물체의 인식성능을 높이기 위하 여 특정 색깔을 가진 표지를 붙였고, 표지를 인식하는데 Blob Analysis 기법이 사용되었으며, 그림 3과 같은 순서로 이 미지를 분석한다.

1. 2진화

카메라로 인식된 연속적인 이미지는 유한개의 픽셀로 분 할하는 표준화를 거친다. 그리고 연속적인 농담 값을 가지는 분할된 픽셀의 농담 값을 결정 하기 위하여 이것을 이산적인 정수 값으로 표현하는 양자화를 진행한다. 양자화로 얻어진 각 픽셀은 일정 범위의 정수 값을 가지는데, 이미지의 정보를 유지하며 화상의 메모리 크기를 줄이기 위해 식 (23)으로 2진 화가 된다. (Z thr = 2진화된 농담 값, Z = 농담 값, P = 임계 값)

1 2

1 [ , ]

[ , ]

thr 0

if P Z i j P Z i j

else

≤ ≤

⎧ ⎫

= ⎨ ⎬

⎩ ⎭ (24)

2. 라벨링

각각의 물체를 이미지상에서 구분하려면 픽셀들이 연결되

어 있는지의 여부를 판단 해야 한다. 이미지의 배열 속에서 서로 연결되어 있는 픽셀들의 집합인 연결성분을 찾고, 같은 연결성분을 가지는 픽셀들에게 번호를 지정해주는 라벨링을 함으로써 각각의 물체들이 구분 된다.

이미지 정보는 조명과 카메라의 성능으로 인하여 규칙성 이 없는 잡음이 생길 수가 있기 때문에 라벨링된 이미지는 특정 픽셀수를 정하여 그것보다 적은 영역을 제거하는 크기 필터링을 수행한다. 양자화, 이진화, 라벨링 그리고 크기 필 터링을 거쳐 인식된 물체의 이동여부를 판단하기 위해서는 물체의 중심점을 계산하여야 하는데, 그림 4와 같은 화상은 식 (24) ~ (25)를 통해 중심점이 계산된다[12].

3. 이미지 중심좌표 계산

1 2

( )/( )

(6 5 7 7 8 7 9 5 10 3 11 12)/ 29 8.0345

i i i

x = x a x × + + × + b x + × ⋅⋅⋅ c a b c + + ⋅⋅⋅

= × + × + × + ×

+ × + + =

(25)

1 2

( )/( )

(5 3 6 3 7 5 8 7 9 5 10 3 11 3)/ 29 8

j j j

y = y × + d y + × + e y + × ⋅⋅⋅ f d + + ⋅⋅⋅ e f

= × + × + × + × + × + × + × =

(26)

그림 4는 20×16 해상도를 가진 화면상에서 29픽셀 크기로 인식된 사물이 라벨링된 것을 나타낸다. 라벨링된 영역의 시 작 부분에는 대표화소의 좌표가 표시되어 있고, x i 와 y j 는 픽 셀의 위치를 나타내며, x 와 y 는 면적상의 중심좌표로써 (8.0345, 8) 이 된다. 앞서 설명한 방식으로 계산된 중심 좌표 는 그림 5와 같이 나타난다.

중심점이 계산된 동적 물체가 이동을 하면, 이동으로 생긴 중심점의 변위는 실제 영역으로 변환시키는 과정을 거친 후, 인식되는 동적 물체의 좌우 이동 각을 판단하는데 사용된다.

실제 물리적 좌표를 계산하기 위해서는 카메라의 해상도 ,

X Y × 픽셀배열상 인식된 색의 중심점 (x, y), 인식되는 영상 평면의 실제 넓이를 W cm Lcm × 그리고 인식된 영상의 실 제 길이 x d × y d 를 알아야 한다. 이때 x d 와 y d 는 정확한 기 그림 3. Blob Analysis의 영상처리 순서도.

Fig. 3. Flow chart of Process for Blob Analysis.

그림 4. 인식된 물체의 픽셀 위치 정보.

Fig. 4. Pixel location information of a recognized object.

Dynamic Object Tracking of a Quad-rotor with Image Processing and an Extended Kalman Filter

(4)

김 기 정, 유 호 윤, 이 장 명 644

준이 있어야 하는데 좌우 회전 시 x d 는 기준이 바뀌기 때문 에 정확하게 기준을 잡을 수 있는 y d 값 만을 사용하여 방향 각과 이동 거리를 계산한다[13].

: :

d p R

y y = L Y (27)

2

d R

p y Y

y N pixel radius L

= × = × × (28)

2

d R

y Y pixel radius

N L

= ×

× (29)

Y R 은 카메라의 Y 축 해상도, y d 는 측정되는 물체의 세로 길이, pixel radius 는 영상에서 픽셀의 반지름이 나타내는 실제 거리이다. 픽셀당 거리정보와 샘플링 시간을 계산하여 이동 방위의 각속도가 계산된다.

동적 물체와 카메라간의 거리 D는 카메라의 화각 과 표적 의 크기, 영상의 해상도를 이용하여 계산한다.

4 tan( / 2)

R d

Y y D pixel radius V θ

= ×

× × (30)

V θ 는 카메라의 화각을 나타낸다[14].

IV. EKF 기반의 동적 물체 상태추정

쿼드로터가 동적 물체를 추정하려면 물체의 실제 이동상 태를 알아야 하는데, 영상으로 얻게 되는 동적 물체의 이동 정보는 영상의 잡음과 이동상태천이의 불확실성을 가지고 있기 때문에 비선형 상태에서도 강인하게 상태를 추정할 수

있는 기법이 필요하다. 연구에서는 비선형 상태공간에서 사 용하는 칼만필터인 EKF를 카메라로 검출된 동적 물체의 상 태를 추정하기 위하여 사용한다.

1. 쿼드로터의 고도

xy-평면상에서 주행하는 AGV와는달리 비행을 하는 쿼드 로터는 xyz-공간을 고려해야 되는데, 시스템의 단순화를 위해 서 고도를 약 50cm로 고정하여 xy-공간상에서의 위치만 제어 를 한다. 고도 측정을 위해서 사용한 초음파센서는 바닥의 상태에 따라 고도정보가 끊기거나 오차가 발생한다. 안정적 인 고도 제어를 위해서 칼만필터를 이용하여 오차를 보정하 는데 보정된 고도정보는 그림 7이 보여준다.

쿼드로터의 고도 유지를 Laptop 기반의 시스템에서 처리하 기에는 통신과 데이터 처리과정의 시간지연으로 인해 어렵 다. 그러므로 고도에 대한 제어는 On-board 시스템에서 독립 적으로 수행하였다.

2. 동적 물체의 이동 상태 추정

동적 물체의 이동에 따른 시스템 모델은 입력인 속도 I v

와 이동방향 I ψ , 입력에 대한 제어기의 출력인 속도 ν 와 이동방향 ψ 그리고 xy 평면상의 위치인 x 와 y 로 그림 8 과 같이 구성된다.

그림 8의 동적 물체의 운동방정식은 물체의 속도와 이동 방향을 이용하여 xy 평면상에서 쿼드로터가 이동해야 할 위 치를 계산하는데 사용하고 식 (28), (29) 과 같이 쓸 수 있으 며 식 (30)과 같은 비선형이다[15,16].

( 1) ( ) s ( )cos ( )

x t + = x t + T t ν ψ t (31) ( 1) ( ) s ( )sin ( )

y t + = x t + T t ν ψ t (32) ( 1) [ ( ), ( )]

p p o p

X t + = F X t X t (33)

[ ] T

X o = ψ ν (34)

[ ] T

X p = x y (35)

그림 5. 실제 영상의 blob analysis 처리결과.

Fig. 5. Result of blob analysis process for real image.

그림 6. 픽셀당 거리를 구하기 위한 필요 요소.

Fig. 6. Necessary elements for calculating distance per a pixel.

0 1 2 3 4 5 6 7 8 9 10

-10 0 10 20 30 40 50 60

Time(sec) At tit

ud e(

cm )

Sonar Sonar with Kalman

그림 7. 칼만필터를 이용한 고도 보정.

Fig. 7. Attitude correction with Kalman Filter.

Dynamic of Quadrotor Dynamic of

Quadrotor Motion

Equations Motion Equations I v

I ψ

O v

O ψ

x y 그림 8. 시스템 모델.

Fig. 8. System model.

(5)

영상처리와 확장칼만필터를 이용한 쿼드로터의 동적 물체 추종 645

3. EKF 알고리즘

EKF 는 다음과 같은 비선형 시스템 모델을 고려한다.

( 1) [ ( )] ( )

X t + = F X t + ω t (36)

( ) [ ( )] ( )

Z t = H X t + q t (37)

여기서 X 는 상태 벡터, Z 는 출력 벡터 그리고 w 와 q 는 모델과 측정치들의 불확실성을 나타낸다.

EKF 알고리즘을 수행하기 위해서는 비선형인 시스템을 선 형화된 시스템으로 나타내어야 한다. 시스템 행렬을 얻기 위 하여 식 (30)을 편미분하는 과정을 거쳐 식 (38)과 (39)의식과 같은 결과를 얻는다.

1 1 1 1

cos 0

sin 0

t t s t t

t t s t t

t t

t t

x x T

y y T

w w

ψ ν

ν ψ

ν ψ

ψ ψ

ν ν

+ + + +

⎛ ⎞ ⎛ + ⎞ ⎛ ⎞

⎜ ⎟ ⎜ + ⎟ ⎜ ⎟

⎜ ⎟ ⎜ = ⎟ ⎜ + ⎟

⎜ ⎟ ⎜ ⎟ ⎜ ⎟

⎜ ⎟ ⎜ ⎟ ⎜ ⎟

⎜ ⎟ ⎜ ⎟ ⎜ ⎟

⎝ ⎠ ⎝ ⎠ ⎝ ⎠

(38)

( 1 1 1 1 )

( 1) t t t t T ( )

z t + = x + y + ψ + ν + + q t (39)

ˆ

( ) ˆ ,

k k

x

F x F x

≡ ∂

1 1

ˆ

( ˆ )

k k

x

H x h

x +

+ ≡ ∂

∂ (40)

1 0 sin( ) cos( ) 0 1 cos( ) sin( ) ( ) ˆ

0 0 1 0

0 0 0 1

k k s k s

k k s k

k

T T

T T

F x

ν ψ ψ

ν ψ ψ

⎡ − ⎤

⎢ ⎥

⎢ ⎥

= ⎢ ⎥

⎢ ⎥

⎢ ⎥

⎣ ⎦

(41)

1 1 1

1 1

ˆ 0 0 0

0 ˆ 0 0

ˆ ( )

0 0 ˆ 0

0 0 0 ˆ

k

k s

k

k k

x H x y

ψ ν

− +

− +

+ −

+

− +

⎡ ⎤

⎢ ⎥

⎢ ⎥

= ⎢ ⎥

⎢ ⎥

⎢ ⎥

⎣ ⎦

(42)

시스템 모델 잡음 w 는 시스템의 모델링과 프로세서 처리 과정에서 생기는 오차의 행렬이다. w ψ 와 w ν 는 EKF의 결과 와 실제값을 비교하여 구하였다. 그리고 측정 잡음 q 는 카 메라의 측정 오차 공 분산 행렬로서, 쿼드로터와 동적물체동 정지하였을 때 측정오차를 분석하여 구한 분산 q x , q q y , ψ

그리고 q v 로 이루어져 있다. 시스템과 측정 잡음은 아래와 같다.

EKF 의 알고리즘은 먼저 초기 추정값 ˆX 과 공분산 0 P 0 을 결정하고, 다음 식을 통해 추정값과 오차 공분산을 예측한다.

ˆ k

X = f X ( ˆ k − 1 ) (43)

1 T

k k

P = AP A − + (44) Q

추정오차를 최소로 하는 최적의 필터이득은 식 (38)과 같 이 계산된다.

[ ] 1

T T

k k k

K = P H HP H + R (45) 필터이득이 구해지면 추정벡터의 상태방정식과 이전 샘플

시간에서 구한 추정벡터와 측정벡터 사이의 오차에 필터이 득이 곱해진 항을 더하여 최적의 상태를 추정하는데 그 과정 은 식 (39)과 같다.

ˆ k

X = ˆ X k + K z k ( k – h X ( ˆ k )) (46)

표 2. 시스템과 측정 잡음.

Table 2. Noise of system and measurement.

Specification Value Specification Value

w ψ 0.139 w ν 0.273

q x 0.337 q y 0.684

q ψ 0.079 q ν 0.251

그 후 추정된 오차의 공분산 행렬을 계산한 뒤 다시 추정 값과 오차 공분산 예측을 수행한다[17].

k k k k

P = P − K HP (47)

V. 실험 및 결과

수행한 연구는 쿼드로터가 동적 물체를 추종하는데 있어 서 Blob analysis 기법으로 사람을 인식하고 확장칼만필터 알 고리즘을 이용하여 추종성능을 향상시키는데 목적이 있다.

제안된 시스템의 성능 평가를 위해 □, ○ 자 형태의 경로로 이동중인 사람을 추종하여 쿼드로터의 비행시간과 거리를 측정한다. 실험은 본교에 있는 건물 안에서 수행하였고  형 태는 가로 세로가 각각 3m터로 총 9m, ○ 형태는 반지름이 1.5 로 약 9.42미터의 거리를 가진다.

쿼드로터의 추종성능 평가를 위한 실험궤적 위 4m 상공에 카메라를 달고 쿼드로터를 인식할 수 있도록 파란색 마크를 부착해 연구에서 적용시킨 Blob Analysis 기법으로 인식되는 쿼드로터의 궤적을 MATL AB으로 그렸다.

사용된 카메라의 성능은 다음과 같다.

그림 10와 11은 사각과 원형 궤적으로 움직이는 사람을 쿼 드로터가 추종하는 것을 나타낸 그래프이다. 그래프를 보면 논문에서 제안된 Tracking + EKF 추종궤적의 거리가 일반 Tracking 보다 짧은 것을 볼 수 있다.

그림 9. 사각 경로에서의 실험결과.

Fig. 9. Experimental result on a square path.

표 3. 카메라 사양.

Table 3. Camera specification.

C920 Specification

Frame Maximum 30 frame/s

Resolution 1280 x 1024

Angle of View 77°

(6)

김 기 정, 유 호 윤, 이 장 명 646

0 0.5 1 1.5 2 2.5 3

0 0.5 1 1.5 2 2.5 3

X-axis (m)

Y- ax is ( m ) Moving Path

Tracking+EKF Tracking

START

그림 10. 사각 경로에서의 실험결과.

Fig. 10. Experimental result on a square path.

0 0.5 1 1.5 2 2.5 3

0 0.5 1 1.5 2 2.5 3

X-axis (m)

Y- ax is ( m ) Moving Path

Tracking+EKF Tracking START

그림 11. 원형 경로에서의 실험결과.

Fig. 11. Experimental result on a circular path.

표 4. 평균 거리 및 시간.

Table 4. Average distance and time.

Distance(m) Time(s)

Tracking on a square path 9.25 18.43 Tracking + EKF on a square path 8.62 17.82 Tracking on a circular path 11.17 20.52 Tracking + EKF 10.23 19.43

실험은 확장칼만필터를 적용시켜 사람을 추종하는 것이 일반적인 추종방법보다 시간과 거리적인 면에서 효율적인지 보여주기 위하여 사각과 원형 궤적에서 각각 50번씩 실행하 였고, 사람은 대략 0.53m/s의 속도를 유지하며 이동하였다.

그에 대한 평균 거리 및 시간을 표 4가 보여준다. Tracking on a square path 는 확장칼만필터를 적용하지 않고 쿼드로터가 사 람을 추종한 궤적을 나타내고 Tracking + EKF on a square path 는 확장칼만필터를 적용하여 쿼드로터가 사람을 추종한 궤 적을 나타낸다.

표를 보면 사각형 경로에서는 제안된 시스템의 이동거리 0.63m, 이동시간이 0.71초 줄어드는 것을 볼 수 있고 원형 경 로에서는 이동거리가 1.24m, 이동시간이 1.09초 줄어 드는 것 을 알 수 있다.

VI. 결론

본 논문에서는 쿼드로터가 가지는 제한된 에너지문제를 고려하여 사람과 동반 이동할 때 이동시간과 거리를 줄이는 기법을 제안한다. 사람을 추종하기 위해 컬러마크를 부착하 여 사람인식 성능을 향상 시키고 영상처리 기법 중 하나인 Blob analysis 를 통해 사람의 이동방향을 계산한다. 계산된 이 동정보는 영상처리의 잡음과 이동상태천이의 불확실성을 가 지고 있기 때문에 비선형 시스템에서도 추정할 수 있는 확장 칼만필터를 적용하여 사람의 이동상태를 추정한다. 이러한 일련의 과정을 거쳐서 쿼드로터가 사람을 추종하게 되면, 실 험결과에서 알 수 있듯이 이동거리와 이동시간이 줄게 됨으 로써 쿼드로터가 불필요한 에너지를 쓰지 않고, 이로 인해 좀 더 오래 비행을 할 수 있도록 하였다. 논문에서 사용한 시스템은 영상처리와 확장칼만필터의 계산량의 문제로 On- board 시스템에서 구현하기가 어려워 블루투스를 사용해 PC 기반 시스템을 구현하였다. 앞으로 연구에서는 계산량이 적 은 알고리즘과 성능 좋은 MCU를 선택하여 On-board 에서 동작시켜 통신으로 인한 데이터 전송에 따른 시간지연 문제 를 극복하는 것과 추가적으로 영상처리가 가지는 불확실성 을 줄여야 할 것이다.

REFERENCES

[1] M. G. Kim and Y. D. Kim, “Multiple UAVs nonlinear guidance laws for stationary target observation with waypoint incidence angle constraint,” International Journal of Aeronautical &

Space Sciences, vol. 14, no. 1, pp. 67-74, 2013.

[2] S. W. Cho, D. S. Lee, Y. D. Jung, U. H. Lee, and H. C. Shim,

“Development of a cooperative heterogeneous unmanned system for delivery services,” Journal of Institute of Control, Robotics and Systems (in Korean), vol. 20, no. 12. pp. 1181- 1188, 2014.

[3] H. B. Lee, S. W. Moon, W. J. Kim, and H. J. Kim, “Cooperative surveillance and boundary tracking with multiple quadrotor UAVs,” Journal of Institute of Control, Robotics and Systems (in Korean), vol. 19, no. 5. pp. 423-428, 2013.

[4] M. Y. Chen and D. H. Edwards, “Designing a spatially aware and autonomous quadcopter,” IEEE Systems. Inform. Engine.

Design. Symposium, Charlottesville, VA, USA, pp. 213-218, Apr. 2013.

[5] D.-J. Lee, B. J. Tippetts, and K. D. Lillywhite, “Vision aided stabilization and the development of a quad-rotor micro UAV,”

Computational Intelligence in Robotics and Automation, 2007.

International Symposium, Jacksonville, FI, USA, pp. 143-148, Jun. 2007.

[6] H. Yu, C. Choi, and R. Thompson, “Pursuing a dynamic target through motion prediction and follow boundary repair,” Proc. of the IASTED International Conference of Robotics and Applications, pp. 58-62, 2000.

[7] A. Elnagar, “Motion prediction of moving objects,” Proc. Of the

second IASTED International Conference of Control and

Ki-jung Kim, Ho-Yun Yu, and Jangmyung Lee

(7)

영상처리와 확장칼만필터를 이용한 쿼드로터의 동적 물체 추종 647

Application, pp. 448-451, 1999.

[8] H. S. Lim, D. H. Lee, and J. M. Lee “Moving object following by a mobile robot using a single curvature trajectory,” Journal of Institute of Control, Robotics and Systems (in Korean), vol. 19, no. 7, pp. 599-604, 2013.

[9] H. Kim, H. S. Jeong, K. T. Chong, and D. J. Lee, “Dynamic modeling and control techniques for multi-rotor frying robots,”

Trans. Korean Soc. Mech. Eng. A, vol. 38, no. 2, pp. 137-148, 2014.

[10] T. I. Fossen, Guidance and control of Ocean Vehicles, John Wiley & Sons Ltd., 1994.

[11] J. H. Kim and M. S. Kang, “Dynamic modeling and robust hovering control of a quad-rotor VTOL aircraft,” Journal of Institute of Control, Robotics and Systems (in Korean), vol. 14, no. 12. pp. 1260-1265, 2008.

[12] Q. Zhong, Z. Chen, X. Zhang, and G. Hu, “Feature-based object location of IC pins by using fast run length encoding BLOB analysis,” IEEE Transactions on Components, Packaging And Manufacturing Technology, vol. 4, no. 11, pp. 1887-1898, Nov.

2014.

[13] J. W. Lee, “Stop-line and crosswalk detection based on blob- coloring,” Journal of Institute of Control, Robotics and Systems (in Korean), vol. 17, no. 8, pp. 799-806, 2011.

[14] D. L. Kim, D. M. Kim, and J. Y. Seok, “A study on vision-based distance measurement technique,” Proc. of the Korean Society for Aero. Space. Sci, pp. 1203-1206, Nov. 2007.

[15] J. Lee, M. Kim, and I. Kweon, “A Kalman filter based visual tracking algorithm for an object moving in 3D,” Proc. of the IEEE/RSJ International Conference on Intelligent Robots and Systems, vol. 1, pp. 342-347.

[16] C. G. Prevost, A. Desbiens, and E. Gagnon, “Extended Kalman filter for state estimation and trajectory prediction of a moving object detected by an unmanned aerial vehicle,” Proc. of American Control Conference, Marriot Marquis Holtel at Times Square, New York, USA, Jul. 2007.

[17] S. P. Kim, Matlab Application, Understanding Kalman Filter, Published by A-Jin, Seoul, Sep. 2010.

김 기 정

2013 년 동아대학교 전자공학과 졸업(공 학사). 2013년 부산대학교 대학원 로봇 협동과정 입학(공학석사). 현재 동 대학 원 로봇협동과정 석사 재학 중. 관심분 야는 머니퓰레이터, Navigation and Localization 시스템, Quad rotor.

유 호 윤

2014 년 인제대학교 전자지능로봇공학과 졸업(공학사). 2014년 부산대학교 대학 원 전자전기컴퓨터공학과 석사과정 입 학(공학석사). 현재 동 대학원 전자전기 공학전공 석사 재학 중. 관심분야는 관 성항법시스템, Navigation and Localization 시스템, Quad rotor.

이 장 명

1980 년 서울대학교 전자공학과 졸업.

1982 년 동 대학원 공학석사. 1990년 UCS ( 미국 남가주대학교) 공학박사.

1992 년~현재 부산대학교 전자전기공학 과 교수. 관심분야는 지능로봇시스템 설계 및 제어, 마이크로프로세서 응용, 특수환경 Navigation and Localization.

Dynamic Object Tracking of a Quad-rotor with Image Processing and an Extended Kalman Filter

수치

그림 2. 관성좌표계와  항체좌표계의  관계.
표      1. 변수목록.
그림 6. 픽셀당  거리를  구하기  위한  필요  요소.
Table 2. Noise of system and measurement.
+2

참조

관련 문서

Woods, Digital Image Processing (2nd Edition),

Filter >

Front oblique view Side view Near the rotor blade. Streamlines past the

So, we proposed a novel method for video event analysis and description on the fundamental of the Domain Knowledge object ontology, the MPEG-7 standard is extended

The thickness of the maxillary sinus lateral wall according to tooth site and measurement level was measured by using image-processing software and its histologic

The Acquisition of French Subject, Direct Object and Genitive Restrictive Relative Clauses by Second Language Learners.. Processing relative clauses

The stereoscopic microscope image of gold particles in the leaching residue from Geumsan sample as a function of nitric acid concentration on the filter papers by lead

Creative activities of expressing internal world of human beings have meanings in expressing the internal meaning beyond expressing the image of an object,