Tải bản đầy đủ (.pdf) (9 trang)

Proceedings VCM 2012 97 một số kết quả nghiên cứu mới trong phát triển hệ robot tự hành

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (887.87 KB, 9 trang )

708 Ngô Mạnh Tiến, Phan Xuân Minh, Phạm Ngọc Minh, Hà Thị Kim Duyên
VCM2012
Một số kết quả nghiên cứu mới trong phát triển hệ Robot tự hành
có gắn camera tự động tìm kiếm và bám mục tiêu di động
Some of new research results in the Deverlopment
of Mobile Robot mounted Camera automatically
Seaching and Tracking Moving Target
Ngô Mạnh Tiến
Viện Vật Lý, Viện KH&CN Việt Nam, Email:
Phan Xuân Minh
Đại Học Bách Khoa Hà Nội, Email :
Phạm Ngọc Minh
Viện Công nghệ thông tin, Viện KH&CN Việt Nam, Email:
Hà Thị Kim Duyên
Khoa Điện tử, ĐH Công Nghiệp Hà Nộim Email:
Tóm tắt:
Bài báo này trình bày một số kết quả mới (phiên bản hai) trong việc xây dựng và phát triển một hệ robot tự
hành có gắn camera tự động bám mục tiêu di động, bao gồm các bước: mô hình hóa, mô phỏng, thiết kế thuật
toán điều khiển bám ảnh tự động, thiết kế và chế tạo phần cứng, lập trình phần mềm điều khiển và chạy thử
nghiệm. Các kết quả cho thấy hệ robot tự hành đã hoạt động đạt được các chỉ tiêu chất lượng tốt hơn so với
phiên bản trước [1], Robot đã bám và gắp được vật trên sàn phẳng, bên cạnh đó về phần cứng phiên bản mới
đã đạt được đầy đủ các chỉ tiêu cho các ứng dụng thực tế. Những kết quả nghiên cứu này là cơ sở đưa Robot
gần hơn đến các ứng dụng thực tế.
Abstract:
This paper presents some new results (version two) in the construction and development of of a self
propelled robot mounted camera as follows: modeling, simulation, automatic image alignment control
algorithms, design and manufacture hardware, control software programming and testing. The results show
that the Mobile Robot has been in operation to achieve quality targets better than the previous version [1],
Robot track and pick up objects on the floor flat. besides, hardware of the new version has achieved full
specifications for the actual application . These researching resuls are bases for actual applications
Keywords: Camshift, OpenCV, Robot mobile, ARM Cortex M3, LM3S8971, Computer Vision.



Ký hiệu
Ký hi
ệu

Đơn v


Ý ngh
ĩa

0
l
,
1
l
,
2
l

cm

chiều dài các khớp
D

cm

chi
ều ngang của xe Robot


1 2
, ,
m m m

g

kh
ối l
ư
ợng tổng xe
Robot, khối lượng các
khớp Pal/Till
1

,
2


rad

góc quay các kh
ớp

Pal/Till
R

,
P

,

Y


rad

góc quay Roll
,
Pitch,
Yaw




1. Tổng quan hệ thống
Ngày nay việc xây dựng một hệ thống robot di
động thông minh và có khả năng thay thế con
người làm việc trong các điều kiện khắc nghiệt và
nguy hiểm là rất cần thiết. Các Robot này thường
hoạt động bằng các cảm biến như cảm biến màu
sắc, hồng ngoại, cảm biến dò đường, siêu âm. Gần
đây các robot loại này được phát triển và tích hợp
thêm “thị giác”, việc tích hợp trên Robot hệ thống
camera và ứng dụng xử lý ảnh sẽ tăng khả năng tự
động, giúp robot thông minh hơn [1,6,7].
Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 709
Mã bài: 153






H. 1 Sơ đồ hệ thống Robot và camera di chuyển

Trong bài báo này hệ thống được thiết kế dựa trên
cấu trúc như trong H.1: hệ có camera gắn trên
Robot và cả hệ Robot và camera sẽ di chuyển.
Mục đích của cấu trúc này là điều khiển Robot sao
cho ảnh của mục tiêu di động hoặc cố định được
duy trì ở vị trí mong muốn trên mặt phẳng ảnh thu
được.
Mục đích của hệ thống bám tự động là để duy trì
một “đường ngắm” viết tắt là LOS (Line Of Sight)
cảm biến - mục tiêu một cách ổn định và hoàn toàn
tự động trong khi tồn tại cả chuyển động tương đối
của mục tiêu và chuyển động của đế gắn cảm biến
làm nhiễu loạn tới dữ liệu cảm biến hình ảnh. Mục
tiêu thường được định vị ban đầu, bởi hoặc là
người điều khiển hoặc là hệ thống nhận dạng mục
tiêu tự động. Sau đó, hệ thống bám sẽ khoá chặt
mục tiêu và duy trì LOS tự động. Hệ thống tổng
quan bao gồm có 3 bộ phận chính H. 2: (1) bộ cảm
biến hình ảnh (camera), (2) bộ chấp hành là các
trục khớp quay (gimbal) và bánh xe có gắn động
cơ điện 1 chiều, và (3) máy tính PC và vi điều
khiển (bộ vi xử lý). Một vòng điều khiển phản hồi,
được gọi là vòng bám, liên tục hiệu chỉnh bộ chấp
hành để giữ trọng tâm của mục tiêu vào tâm của
trường nhìn viết tắt là FOV (Field Of View) của bộ
cảm biến. Bộ vi xử lý sẽ khép kín vòng này bằng
cách tính toán độ lệch để điều khiển cơ cấu chấp

hành. Các thành phần hoạt động theo thứ tự: (1) bộ
vi xử lý định vị tín hiệu mục tiêu trong các dòng
hình ảnh từ bộ cảm biến, (2) bộ vi xử lý ước lượng
trạng thái mục tiêu và tạo ra các lệnh điều khiển cơ
cấu chấp hành trên cơ sở các thông tin trạng thái,
(3) lệnh điều khiển được áp dụng vào LOS cảm
biến, (4) bộ cảm biến tạo ra một vòng video mới,
và (5) quá trình được lặp lại.








H. 2 Sơ đồ tổng quan của hệ thống Robot tự
hành bám mục tiêu di động

2. Mối quan hệ giữa camera và tọa độ thực

H. 3 Mô hình Robot tự hành có gắn đế xoay
Pal/Tilt
Gọi Cc (
, ,
ccd ccd ccd
x y z
) là điểm cuối cho một
vector từ vị trí trung tâm của robot di động đến
tâm của ống kính camera. khi đó vị trí này có thể

được tính theo hai góc quay
1 2
,
 
của đế xoay
Pal/Tilt như sau:


2 1 2
2 1 2
0 1 2 2
l cos( )cos( ),
l sin( )cos( ),
l l l sin( ),
ccd
ccd
ccd
x
y
z
q q
q q
q


  
(1)
Ở đây
0
l

là chiều cao của xe tính đến vị trí đặt
đế xoay Pal/Tilt.
Tương tự, véc tơ Trạng thái của ma trận đồng
nhất đã đại diện là các góc: Roll (
R

), Pitch (
P

)
và góc độ Yaw (
Y

) được tính như sau:

1
1 2
2 2 2
1 2 2
1
1 2
2 2 2
1 2 2
2
sin( )sin( )
tan ,
cos ( )sin ( ) cos ( )
sin( )cos( )
tan ,
cos ( )cos ( ) sin ( )

.
R
P
Y
q q
q
q q q
q q
q
q q q
q q


 













 
 














 

(2)
Để thực hiện bám đối tượng theo thời gian thực ta
cần có thông số khoảng cách từ camera đến đối
tượng cũng như kích thước thật của đối tượng
trong không gian 3D. Việc này cần thiết phải có
hai camera, tuy nhiên nếu dùng phương pháp này
khối lượng tính toán sẽ rất lớn và ảnh hưởng đến
tốc độ bám, do đó ở đây chúng tôi chỉ dùng một
camera và khoảng cách đến đối tượng chúng tôi
xác định bằng sensor siêu âm và giả thiết kích
thước của đối tượng là cố định. Vị trí của tâm đối
tượng trong tọa độ ảnh là (j, k), khi chuyển về hệ
tọa độ (j′, k′) là tâm của khung ảnh sẽ được tính
theo góc quay Roll
R
q

và kích thước khung hình
ảnh P
x
và P
y
.
Động cơ
xe
Robot
mobile

camera

V
ật thể cần giám sát

710 Ngô Mạnh Tiến, Phan Xuân Minh, Phạm Ngọc Minh, Hà Thị Kim Duyên
VCM2012

'
'
cos( ) sin( )
2
sin( ) cos( )
2
x
R R
y
R R
P

j
j
P
k
k
 
 
 

 

 
 
 

 
 
 
 
 

 
 
(3)
Để tính vị trí thực tế
0 0
( , )
x y
,


0



0
r
được ước
tính bằng cách sử dụng mối quan hệ tuyến tính
giữa đối tượng thực sự trong góc nhìn và khung
hình ảnh. Khi một điểm ảnh được chụp tại (j′, k′)
trên trung tâm của khung hình ảnh, vị trí đối tượng
thực sự,
0



0
r

có thể được tính toán như sau
(H.4):

H. 4 Tính toán vị trí đối tượng theo tọa độ
robot

H. 5 Tính toán động học ngược cho vị trí thực
camera

0
'

cos( )
2
ccd
P ry
y
z
r
k
P
 



 
(4)

'
0
rx
x
j
P
 

 (5)
Với
rx


ry


là các góc hướng nhìn x- và y- của
camera CCD, tương ứng. Khi đó vị trí của đối
tượng trong hệ tọa độ của robot (x,y), là:

0
0 0
.cos( ) .cos( ),
ccd Y Y
x r r
  
  
   (6)

0 0
0
.sin( ) .sin( ),
ccd Y Y
y r r
  
  
   (7)
Với
Y

là góc quay giữa robot và camera, và
2 2
( )
ccd ccd ccd
r x y  là khoảng cách từ tâm robot

tới tâm ống kính camera.
3. Tính toán thiết kế bộ điều khiển
2.1 Xe Robot tự hành [4,5]
Xây dựng mô hình động lực học xe Robot:

H. 6 Mô hình hóa hệ đế xoay Pal/Tilt
Biến điều khiển là vận tốc 2 bánh xe (
t
V
,
p
V
), biến
được điều khiển chính là tọa độ của xe (
0
x
,
0
y
).
Phương trình động học của xe:

os( ) 0
sin( ) 0
w
0 1
x c
v
y




   
 
   

 
   
 
   
   



(8)
Trong đó: v là vận tốc thẳng của xe, w là vận tốc
quay của xe. Và có:

2 2
w 2 2
t
p
r r
V
v
V
r r
D D
 
 

 
 
 
 
 

 
 
 
 
 
 
 

 
 
 
(9)
Trong đó, r là bán kính bánh xe, D là khoảng cách
giữa 2 bánh xe. Kết hợp (8) và (9), ta được:

os( ) os( )
2 2
r r
sin( ) sin( )
2 2
2r 2r
D D
t
p

r r
c c
x
V
y
V
q q
q q
q
 
 
 
 
 
 
 
 
 
 

 
 
 
 
 
 
 
 
 
 


 
 
 



(10)
Xe Robot thuộc lớp đối tượng non- holonomic,
theo Euler-Lagrange có phương trình dạng [4,5]:

( ). ( , ). ( ) ( ). ( ).
T
M q q C q q q G q B q J q
t l
   
  
(11)
Thực tế với đối tượng Robot di động:
( , ) 0
C q q


,
( ) 0
G q

,
( ). 0
J q q




Từ đó, hệ phương trình động lực học của đối
tượng Robot di động được viết lại như sau, với
( , , )
T
q x y
q

:

1
2
0 0 os( ) os( ) sin( )
1
0 0 sin( ) sin( ) os( )
0 0 D 0
m x c c
m y c
r
I D
q q q
t
q q q l
t
q
       
       
 

       
 
  
       
 
 
       

       



(12)
Đặt:

1 2
1
( )
l
R
t t t
 
;
1 2
1
( )
a
R
t t t
 


Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 711
Mã bài: 153
Trong đó: m là khối lượng của xe, I là momen
quán tính của xe

Hệ phương trình (11) trở thành (12):

os( )+ sin( )
m
os( )- sin( )
m
l
l
a
x c
m
y c
m
I
t
l
q q
t
l
q q
t
q







(13)
Trong đó
l
t

a
t
là mô men tịnh tiến và mô men
quay tương ứng. Đạo hàm 2 vế của các phương
trình hệ động học (8), ta được:

.sin( ) . os( )
. os( ) .sin( )
w
x v vc
y v c v
q q q
q q q
q
  
 


 

 



(14)
So sánh các vế của các phương trình (13), (14):

a
;w =
l
v
m I
t t

 
(15)
Các phương trình động học của xe Robot được
viết lại:

cos
sin
w
x v
y v










(16)
Điều khiển bám Robot di động đơn giản thành vấn
để điều khiển các biến sai lệch trong mô hình động
học. Một phần định hướng bài toán là định nghĩa
quỹ đạo bám như là các biến thời gian được xác
định bởi vectơ
( )
T
r r r r
q x y
q
 . Quỹ đạo này cần
thỏa mãn không chỉ các phương trình động học mà
còn cả các điều kiện ràng buộc non-holonomic:

cos ,
sin ,
w
sin os
r r r
r r r
r r
r r r r
x v
y v
x y c




 







 
(17)
Sai số động lực học thì được viết độc lập so với hệ
quy chiếu quán tính bởi phép chuyển đổi
Kanayama [8]:

os sin 0
sin os 0
0 0 1
e r
e r
e r
x c x x
y c y y
 
 
  

 
   
 
   

  
 
   
 
   

   
 
(18)
( , , )
e e e
x y
q
là các biến sai số trong hệ quy chiếu di
động gắn trên robot. Đạo hàm vế trái của (18) và
sử dụng công thức (16) (17) và (8) thì sai số động
lực học được viết trong hệ tọa độ mới:

os 1
sin 0
w 0 1
e r e e
e r e e
e r
x v c y
v
y v x
w





     
 
     
  
 
     
 
     

    



(19)
( )
T
v w
là vec tơ điều khiển của mô hình động
học.
Để gán luật điều khiển, các biến v và w sẽ được
viết lại là
d
v

d
w
để phân biệt chúng với các vận
tốc tịnh tiến và vận tốc góc thực tế đo được. Chú ý

rằng
d
v

d
w
là các vận tốc mong muốn làm ổn
định động học. Bộ điều khiển động lực học được
thiết kế dựa trên công thức (15) và (19) trong đó
e
x
,
e
y

e

là các biến trạng thái,
l


a

là các
tín hiệu điều khiển.
Theo [8] thì bộ điều khiển động học phi tuyến sẽ
được chọn là:

cos
sin

d r e x e
d r r y e e
v v k x
w w v k y k



 
  
(20)
Các trọng số của bộ điều khiển sẽ là
( , , )
x y
k k k


2.2 Hệ đế xoay Pal/Tilt [4,5]

H. 7 Mô hình hóa hệ đế xoay Pal/Tilt
- Phương trình động lực học của hệ Pan-Tilt:
- Dạng phương trình :

( ) ( ). ( ) ( , ) ( )
M
F t D t h C
    
  
 
(21)


1 11 12 1 1
1
2 21 22 2 2
2
M
M
F D D h C
F D D h C


 
       
  
 
       
       
 


(22)

2 2
2 2 2
1
1
2
2
2
2 2
2

2 2 2 2 1 2 2 2 1 2
2 2
2 2 2 2 1 2 2 1 2
1
0
3
1
0
3
1
1
3 2
1 1
3 2
M
M
m l C
F
F
m l
m l C S gm l C C
m l C S gm l S S


 

 
 
 
 

 
 
 
 
 
 
 
 
 
 
 

 
 

 
 
 
 

 
 
 
 


 

(23)


- Điều khiển đế xoay Pal/Tilt [4]
ở đây ta dùng bộ điều khiển PD:
( ) ( )
P d D
u g q K q q K q
   


712 Ngô Mạnh Tiến, Phan Xuân Minh, Phạm Ngọc Minh, Hà Thị Kim Duyên
VCM2012
Tay m¸y
g(.)
P
K
+
+
q
q

d
q
u
D
K
-
-
+ +
q
~


H. 8 Sơ đồ điều khiển PD có bù trọng lực

H. 9 Kết quả mô phỏng điều khiển hệ đế xoay
Pal/Tilt bằng bộ điều khiển PD: khớp 1

H. 10 Kết quả mô phỏng điều khiển hệ đế xoay
Pal/Tilt bằng bộ điều khiển PD: khớp 2
4. Thuật toán xử lý ảnh bám mục tiêu tự
động
Thuật toán Camshift [3,6,7] được phát triển trên cơ
sở thuật toán Meanshift. Camshift viết tắt của
“Continuously Adaptive Meanshift”. Nó bao gồm
thuật toán cơ sở Meanshift với thích ứng các bước
thay đổi kích cỡ của vùng. Các bước thực thi thuật
toán:
- Các bước tiến hành thuật toán Camshift:
1/. Kích chọn kích thước khung bám: khung bám
W có kích thước là s
2/. Chọn vị trí khởi tạo của khung bám (cửa sổ
bám): Tâm của khung bám ở điểm P
k

3/. Tính giá trị trung bình bên trong khung bám:
giá trị trung bình bên trong khung bám

1
ˆ
( ) .
k
j W

p W p j
W



(24)
sự thay đổi là gradien của
( )
k
f p


( )
ˆ
( )
( )
k
k k
k
f p
p W p
f p

  (25)
4/. Đặt tâm khung bám ở vị trí trung bình đã tính
trong bước 3:

ˆ
( )
k

p W
(26)
5/. Lặp lại bước 3 và bước 4 cho đến khi hội tụ
hoặc
( ) 0
f p


:
Đối với ảnh 2D rời rạc thì vị trí tâm của khung
bám được tính như sau:
tìm Moment bậc không

00
( , )
x y
M I x y


(27)
sau đó tính moment bậc 1 cho x và y:

00 01
( , ); ( , )
x y x y
M xI x y M yI x y
 
 
(28)
và vị trí tâm của khung bám là:


10 01
00 00
;
c c
M M
x y
M M
  (29)
ở đây
( , )
I x y
là giá trị điểm ảnh (xác suất phân bố)
tại vị trí (x,y) và x, y nằm trong khung bám.
- Lưu đồ thuật toán Camshift:
Đầu tiên là một Histogram được tạo ra, Histogram
này chứa các thuộc tinh liên quan đến màu sắc và
tiếp theo tâm và kích cỡ của mục tiêu được tinh
toán để theo dõi mục tiêu khi hình dạng và kích cỡ
của nó thay đổi. Tính xác suất phân bố mục tiêu
căn cứ và Histogram nhận được. Dịch chuyển đến
vị trí mới với mỗi khung hình vừa nhận được từ
video. Camshift sẽ dịch chuyển đến vị trí mà nó
ước lượng trên đối tượng nó mà nó tập trung nhiều
điểm sáng nhất trong bức ảnh xác suất. nó tìm vị
trí mới bắt đầu từ vị trí trước đó và tính toán giá trị
trọng tâm vừa tìm được.



















H. 11 Lưu đồ thuật toán Camshift
ảnh HSV
Tính Histogram
của vùng tính toán
Xác xuất phân bố mầu
Tính trọng tâm
đ
ối t
ư
ợng

Đặt tâm khung
bám vào tâm đối
tượng và tính diện
tích l

ại

Hội tụ
kích chọn khởi tạo
vị trí và kích thước
khung bám
thiết lập vùng tính
tại tâm khung bám
nhưng kích thước
lớn hơn khung
bám
Sử dụng (X,Y) là tâm
của khung bám, diện
tích khung là kích thước
của khung bám
Kết quả X, Y, Z và
Roll
Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 713
Mã bài: 153
- Kết hợp bộ lọc Kalman với thuật toán bám ảnh
Camshift
Trong thuật toán bám đối tượng trong ảnh
Camshift được giới thiệu ở trên có thể thấy đối
tượng được bám tốt khi nền ảnh không ảnh hưởng
đến đối tượng, như lẫn màu hay che khuất đối
tượng. Khi đối tượng bám bị che khuất hay lẫn
màu với nền ảnh, sẽ gây ra hiện tượng mất bám.
Để khắc phục nhược điểm này và nâng cao chất
lượng bám, bộ lọc Kalman được sử dụng [3,6,7].
Sau khi tiến hành thuật toán Camshift ta sẽ có

đượng trạng thái hệ thống x
k,
, y
k
, vị trí x và y của
đối tượng tại thời điểm k. Sự đánh giá được đề cập
phía trên ta có thể sử dụng bộ lọc Kalman để tạo ra
phương pháp giới hạn vị trí của đối tượng hiệu quả
hơn, điều đó là để nói thay vì tìm kiếm đối tượng
trong toàn bộ mặt phẳng ảnh ta sẽ định nghĩa một
cửa sổ tìm kiếm (hay cửa sổ mục tiêu được dề cập
trong phần 1) tập trung vào giá trị dự đoán

x
k

của
bộ lọc.

H. 12 Sơ đồ kết hợp bộ lọc Kalman và Camshift
Các bước sử dụng bộ lọc Kalman cho việc bám
đối tượng là:
Bước 1: Khởi tạo (k=0). Trong bước này nó sẽ tìm
kiếm đối tượng trong toàn bộ bức ảnh do chúng ta
không biết vị trí trước của bức ảnh. Theo cách này
ta nhận được x
0
. Tương tự ta có thể đánh giá một
lượng dung sai lớn ban đầu (P
0

).
Bước 2: Dự đoán (k>0). Trong giai đoạn này sử
dụng bộ lọc Kalman ta dự đoán vị trí tương đối
của đối tượng, như vậy vị trí

x
k

được coi như
trung tâm tìm kiếm để tìm kiếm đối tượng.
Bước 3: Hiệu chỉnh (k>0). Trong phần này ta đặt
đối tượng (là một chuỗi điểm được dự đoán trong
trạng thái tiên nghiệm

x
k

) và ta sử dụng vị trí thực
của nó (đo đạc) để thực hiện việc hiệu chỉnh trạng
thái bằng cách sử dụng bộ lọc kalman tìm kiếm

x
k


Bước 2 và 3 được thực hiện trong khi việc bám đối
tượng vẫn đang tiến hành.
Cả hai thuật toán trên đều có thư viện các hàm tính
toán trong OpenCV và nhóm tác giả đã chọn lập
trình phần bám ảnh trên Visual C 6.0 có sử dụng

thư viện mã nguồn mở OpenCV của Intel.
5. Thiết kế phần cứng và phần mềm cho hệ
thống
Cấu trúc của hệ bám gồm hai phần chính:
- Phần 1: xử lý ảnh dựa vào chuỗi hình ảnh thu
được từ camera để nhận dạng và tính toán vị trí
của đối tượng mục tiêu.
- Phần 2: là phần điều khiển, dựa vào thông số vị
trí đối tượng nhận được trong mặt phẳng ảnh, tính
toán tín hiệu điều khiển robot sao cho đối tượng di
chuyển được duy trì ở một vị trí nhất định trên mặt
phẳng ảnh và ở một khoảng cách nhất định.
Trong hệ thống này ngoài bộ vi xử lý chung là
máy tính laptop còn có một khối giao tiếp để thực
hiện bắt tay giữa camera, cơ cấu chấp hành và máy
tính. Để đáp ứng đủ yêu cầu về khả năng điều
khiển cơ cấu chấp hành và vừa có khả năng xử lý,
chống nhiễu tốt nhóm tác giả sử dụng vi điều
khiển ARM Cortext M3 LM3S8971của hãng
Texas Instruments vì nó có đầy đủ tính năng, tốc
độ tính toán và có khả năng chống nhiễu tốt.
Cấu trúc thiết kế phần cứng có hai lựa chọn tùy
loại ứng dụng: có thể tích hợp bộ xử lý trung tâm
(ở đây dùng máy tính PC Laptop) ngay trên xe
Robot, và cấu trúc thứ hai là để bộ xử lý trung tâm
này tại trạm điều khiển, lúc đó bộ điều khiển trung
tâm sẽ giao tiếp với camera và bộ vi điều khiển cơ
cấp chấp hành qua mạng không dây RF.




H. 13 Cấu trúc tổng thể phần cứng khi gắn liền
bộ xử lý trung tâm trên xe Robot
Camsifht Kalman
D
ữ liệu ảnh

mô hình
chuyển động
Vector đo lư
ờng v
à tín hi
ệu
không chắc chắn
ư
ớc l
ư
ợng trạng
thái và phương
sai

714 Ngô Mạnh Tiến, Phan Xuân Minh, Phạm Ngọc Minh, Hà Thị Kim Duyên
VCM2012


H. 14 Cấu trúc tổng thể phần cứng khi tách bộ
xử lý trung tâm đặt riêng tại trung tâm điều
khiển
Để sử dụng điều khiển các cơ cấu chấp hành (ở
đây là các động cơ DC Servo có Encorder 100ppr)

và kiểm soát tốc độ và góc quay một cách chính
xác, nhóm tác giả đã sử dụng một số linh kiện
chuyên dụng điều khiển cầu động cơ đó là dòng
MC của Freescale và DVR của Texas Intrument.
Bộ điều khiển sử dụng LM3S8971 được xây dựng
như một kit vi điều khiển đa năng có thể vừa thực
hiện nhiệm vụ điều khiển cơ cấu chấp hành vừa có
khả năng thực hiện nhiệm vụ xử lý tín hiệu từ các
cảm biến trong công nghiệp như PIR, IR của
Sharp, cảm biến gia tốc và độ nghiêng Gyro
sensor, ADXL203 và MMA7455… và có thể giao
tiếp RS232, RS 485, giao tiếp không dây RF
CC2500 của TI tần số 2,4GHz để phục vụ quá
trình truyền và xử lý tín hiệu.
Lưu đồ thuật toán điều khiển tổng thể hệ thống:

H. 15 Lưu đồ thuật toán\


6. Kết quả chạy thử nghiệm

H. 16 Ảnh chụp Robot sản phẩm


H. 17 Ảnh chụp Robot tự hành sản phẩm
Chúng tôi đã xây dựng hoàn chỉnh một hệ thống
robot bám mục tiêu di động, cả về phần cứng lẫn
chương trình phần mềm và giao diện điều khiển.
Hệ thống bao gồm phần mềm trên máy tính điều
khiển tại trung tâm có thể sử dụng Joystic để điều

khiển Robot qua mạng không dây RF bằng tay, và
phần mềm cho hệ vi điều khiển trên robot. Hệ
thống được chạy thử nghiệm bám theo mục tiêu là
đối tượng màu sẫm.

H. 18 Giao diện phần mềm trên trung tâm xử lý
Một số hình ảnh thực nghiệm (xem bên dưới).
Ngoài việc tự động bám mục tiêu di động, hệ
thống còn cho phép người điều khiển bằng tay
bằng Joystik từ xa qua sóng RF với khoảng cách là
<500m, và có thể quan sát cũng như lưu trữ hình
Start
Ch
ụp ảnh


Lấy mẫu
Histogram
Lọc nhiễu
Camshift
Tính

toán đ
ộng
học ngược=>Quỹ
đạo đặt
Giao ti
ếp
RS232,RF
Đi

ều kiện
dừng
Khởi tạo
Dừng
đi
ều khiển bám

(điều khiển các
động cơ)
Tính t
ọa độ
tâm, hướng
Tuyển tập công trình Hội nghị Cơ điện tử toàn quốc lần thứ 6 715
Mã bài: 153
ảnh và video thu được trên máy tính tại trung tâm
điều khiển.
7. Kết Luận
Bài báo trình bày một số kết quả mới từ nghiên
cứu lý thuyết, xây dựng các sơ đồ cấu trúc, thiết kế
phần cứng và lập trình phần mềm cho một robot tự
hành bám mục tiêu di động. Có thể kể ra những cải
tiến đáng kể mới: mô hình hóa và đồng nhất hệ
trục tọa độ về tâm xe Robot làm cơ sở cho các bài
toán điều khiển Robot, đưa thêm bộ lọc kalman
vào vòng dự đoán vị trí mục tiêu bám tăng độ bền
vững và chất lượng bám, thiết kế phần cứng cơ
khí và kiểu dáng Robot theo hướng ứng dụng
thực tế, trang bị truyền động bằng các động cơ
Servo DC và trang bị thêm cảm biến nhằm tăng
độ chính xác và cơ động cho Robot, thiết kế chế

tạo mới và lập trình nhúng mạch điện tử điều
khiển sử dụng lõi ARM Cortex M3 để để điều
khiển xe robot, đưa thêm giao tiếp không dây vào
Robot nhằm đa dạng cho các ứng dụng của
Robot.
Trong quá trình thực nghiệm, tốc độ và chất lượng
bám đã được cải thiện (xem hình chụp chạy thực
nghiệm ở dưới), nhưng vì nhiều lý do (đặc biệt là
hạn chế vì sự chưa đồng bộ các tác vụ trong khi xử
lý tín hiệu thời gian thực) tốc độ bám vẫn còn
chậm (khoảng 10 frame/s). Một số hạn chế khác
mang tính khách quan như hệ thống bám chưa
được trang bị các đo lường quan trọng khác như:
đo xác định vị trí trong không gian qua Gyro
sensor, đo xa xác định chiều sâu thông tin. Việc đo
lường này trước hết phục vụ tính toán LOS và
động học ngược cũng như điều khiển các động cơ.
Tuy còn một số vấn đề cần được nâng cấp, nhưng
hệ thống của chúng tôi đã thu được kết quả chấp
nhận được và ổn định, cho thấy sự tiếp cận đến các
ứng dụng thực tế là không còn xa. Các vần đề tồn
tại sẽ được khắc phục và nâng cấp trong hướng
phát triển tiếp theo, khi đã có những ứng dụng cụ
thể được gắn với sản phẩm.
Tài liệu tham khảo
[1]. N.M.Tiến, P.X.Minh: ‘Nghiên cứu phát triển
hệ Robot tự hành có gắn camera tự động tìm
kiếm và bám mục tiêu di động’, VCCA 2011.
[2]. Carlo Tomasi, Takeo Kanade: Detection and
Tracking of Point Features; Technical Report

CMU-CS-91-132; April 1991
[3]. Gary Bradski and Adrian Kaehler: Learning
OpenCV Computer Vision with the OpenCV
Library; O’Reilly; 2008
[4]. Mark W. Spong, Seth Hutchinson, and M.
Vidyasagar; Robot Dynamics and Control;
Addison – Wesley Publishing Company; 2004
[5]. Frank L.Lewis, Darren M.Dawson, Chaouki
T.Abdallah: Robot Manipulator Control Theory
and Practice; MARCEL DEKKER, INC, 2004
[6]. Gary R. Bradski: Computer Vision Face
Tracking For Use in a Perceptual User
Interface, Microcomputer Research Lab, Santa
Clara, CA, Intel Corporation, 2005
[7]. Sang-joo Kim, Jin-woo Park, and Jang-Myung
Lee: Implementation of Tracking and Capturing
a Moving Object using a Mobile Robot,
International Journal of Control, Automation,
and Systems, vol. 3, 2005
[8]. Ali Gholipour, M.J.Yazdanpanah, “Dynamic
tracking control of nonholonomic mobile robot
with model reference adaption for uncertain
parameters”, 2005.

Phan Xuân Minh: Nhận bằng
Thạc sĩ kỹ thuật (1976) và Tiến
sĩ kỹ thuật (1989) - chuyên
nghành: Điều khiển học tại
trường Ilmenau University of
Technology – Ilmenau, Đức.

Hiện là Phó Giáo sư, công tác và
giảng dạy tại Bộ môn Điều khiển tự động – Viện
Điện - Trường Đại học Bách Khoa Hà Nội.
Hướng nghiên cứu chính: Điều khiển tối ưu và
bền vững, diều khiển thích nghi,
hệ mờ và mạng Nơron, điều
khiển quá trình.
Ngô Mạnh Tiến: Học Đại học
Bách Khoa Hà Nội, chuyên
ngành Điều khiển tự động từ
năm 1996-2001. Bảo vệ Thạc sỹ
năm 2004 và hiện nay đang theo học Tiến sỹ tại
Đại Học Bách Khoa Hà Nội.
Hiện tại công tác tại phòng Quang điện tử - Viện
Vật Lý-Viện Khoa Học và Công Nghệ Việt Nam.
Hướng nghiên cứu chính: Điều khiển quá trình,
điều khiển thông minh và thích nghi, hệ Mờ và
mạng Neuron, điều khiển Robot, Robot tự hành,
hệ thống quang điện tử nhìn đêm, xử lý ảnh.
Hà Thị Kim Duyên: Học Đại Học Bách khoa Hà
Nội, chuyên ngành điều khiển tự
động từ năm 1996-2001, Bảo vệ
Thạc sỹ tại Học Viện kỹ Thuật
quân sự 2007.
Hiện công tác và giảng dạy tại
Khoa Điện tử - trường Đại Học
Công Nghiệp Hà Nội.
Chuyên môn nghiên cứu chính: Điều khiển quá
trình, Các bộ điều khiển khả trình PLC và mạng
716 Ngô Mạnh Tiến, Phan Xuân Minh, Phạm Ngọc Minh, Hà Thị Kim Duyên

VCM2012
truyền thông công nghiệp, Bộ điều khiển thông
minh và thích nghi, Mờ và mạng Neuron, Xử lý
ảnh.


Phạm Ngọc Minh: Tốt nghiệp
chuyên ngành Điều khiển Tự
động (1994-1999) tại Trường
Đại học Bách khoa Hà Nội. Bảo
vệ thành công Luận án Thạc sỹ khoa học ngành
Kỹ thuật Đo lường và Điều khiển Tự động (2004)
và hiện nay đang theo học Tiến sỹ tại Viện Công
nghệ thông tin (Viện CNNT) – Viện KHCNVN.
Hiện tại đang công tác tại Phòng Công nghệ Tự
động hóa – Viện CNTT. Hướng nghiên cứu chính
: Hệ thống nhúng, Điều khiển quá trình, Mạng
truyền thông công nghiệp, Mạng không dây băng
thông rộng, Điều khiển robot và Xử lý ảnh.

















H. 19 Một số hình ảnh chạy thực nghiệm Robot di động bám và gắp đối tượng là quả bóng màu đỏ
R=5cm. Kết quả Robot bám và gắp vật tốt, tuy nhiên mới chỉ thử nghiệm trong phạm vi <1m
2
, bối
cảnh (nền và nhiễu) ảnh hưởng rất lớn đến kết quả.













H. 20 Một số hình ảnh chạy thực nghiệm Robot di động bám đối tượng là quả bóng màu vàng R=5cm.
Tốc độ bám chậm (<10 hình/giây) và phụ thuộc nhiều vào nền và nhiễu xung quanh.








×