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

Ứng dụng mạng nơ ron điều khiển cánh tay máy ( Luận văn thạc sĩ)

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 (432.49 KB, 49 trang )

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP

NGUYỄN XUÂN QUANG

ỨNG DỤNG MẠNG NƠ -RON
ĐIỀU KHIỂN CÁNH TAY MÁY

LUẬN VĂN THẠC SĨ KỸ THUẬT
Chuyên ngành: Kỹ thuật điều khiển và Tự động hóa

Thái Nguyên - 2014
Số hóa bởi Trung tâm Học liệu

/>

2

ĐẠI HỌC THÁI NGUYÊN
TRƢỜNG ĐẠI HỌC KỸ THUẬT CÔNG NGHIỆP
*****

NGUYỄN XUÂN QUANG

ĐỀ TÀI
ỨNG DỤNG MẠNG NƠ RON ĐIỀU KHIỂN
CÁNH TAY MÁY

Chuyên ngành: Kỹ thuật điều khiển và Tự động hóa
Mã số: 6052 0216


LUẬN VĂN THẠC SĨ KỸ THUẬT

PHÒNG QUẢN LÝ ĐT SAU ĐẠI HỌC

NGƢỜI HƢỚNG DẪN KHOA HỌC

Thái Nguyên - 2013

Số hóa bởi Trung tâm Học liệu

/>

3

PHẦN MỞ ĐẦU
Tổng quan về phƣơng pháp điều khiển nơ-ron
Mạng nơ-ron nhân tạo (Artificial Neural Networks) được xây dựng dựa
trên những hiểu biết về bộ não của con người, giúp ta đưa ra một phương
pháp mới trong lĩnh vực tiếp cận hệ thống thông tin. Mạng nơ-ron nhân tạo có
thể được dùng để giải quyết bài toán nhận dạng mẫu (Recognition), tối ưu,
nhận dạng (Identification) và điều khiển cho các đối trong trường hợp ta
không biết mô hình toán của nó và chỉ biết thông tin vào và ra của đối tượng.
Từ năm 1943, Mc. Culloch Pitts đã đưa ra một số liên kết cơ bản của
mạng nơ-ron. Những năm sau đó đã có nhiều công trình nghiên cứu đề xuất
và phát triển các cấu trúc, luật học cho nhiều loại mạng nơ-ron truyền thẳng
và hồi quy mới có tính hiệu quả hơn.
Trong công nghiệp chế biến, lắp ráp và các loại rô bốt khác nhau, cánh
tay máy được sử dụng rất nhiều. Hiện tại có nhiều phương pháp điều khiển
khác nhau được áp dụng để điều khiển cánh tay máy.
Nhưng việc áp dụng mạng nơ-ron vào điều khiển hệ thống này còn rất

hạn chế. Với những mạng nơ-ron hồi qui thông thường hay gặp phải vấn đề
tối ưu cục bộ, tốc độ huấn luyện mạng chậm, khả năng thích nghi kém.
Để kiểm tra tính khả thi của mạng nơ-ron trong nhận dạng và điều
khiển cánh tay máy, tôi sẽ thiết kế và chế tạo thử nghiệm cánh tay máy một
bậc tự do và thử nghiệm các thuật toán điều khiển trong thời gian thực.
Song song với phương pháp điều khiển bằng mạng nơ-ron còn có
những phương pháp điều khiển khác có tính hiệu quả cao như phương pháp
điều khiển kinh điển PID (Proportional Integral Derivative), phương pháp
điều khiển thích nghi bền vững...
Điều khiển bám ổn định tốc độ động cơ, cơ cấu chấp hành là nhiệm vụ
hàng đầu đang được đặt ra cho bài toán điều khiển hệ thống.
Số hóa bởi Trung tâm Học liệu

/>

4

Để thực hiện được bài toán điều khiển ta cần xây dựng mô hình toán
mô tả tính chất động lực học của nó với đầy đủ những yếu tố kết cấu cơ khí,
vật liệu của nó. Từ mô hình toán cụ thể mới có thể phân tích được và lựa chọn
phương pháp điều khiển thích hợp. Nhìn chung, nhiệm vụ điều khiển bám ổn
định hay quỹ đạo góc của chuyển động là một bài toán rất phức tạp.

Mục tiêu nghiên cứu
Ứng dụng mạng nơ-ron nhận dạng và điều khiển cánh tay máy một bậc
tự do.
Thiết kế và chế tạo thử nghiệm cánh tay máy một bậc tự do.
Đối tƣợng và phạm vi nghiên cứu
Chạy thử nghiệm chương trình trên Matlab.
Thực nghiệm trên mô hình vật lý để kiểm nghiệm, hoàn thiện cấu trúc

và tham số bộ điều khiển.
Ý nghĩa khoa học và thực tiễn đề tài
Với phương pháp nhận dạng và điều khiển bằng mạng nơ-ron, chúng ta
không cần phải sử dụng mô hình toán của đối tượng mà chỉ cần quan tâm tới
tập tín hiệu mẫu vào và ra của đối tượng cũng như mô hình mẫu. Do đó sẽ
tránh được quá trình xây dựng mô hình toán rất là phức tạp và mất nhiều thời
gian và công sức.
Phƣơng pháp nghiên cứu
Nghiên cứu lý thuyết:
- Nghiên cứu mạng nơ-ron hồi qui, mạng RCN (Reservoir Computing
Networks) và các phương pháp huấn luyện mạng.
- Nghiên cứu các thuật toán điều khiển cánh tay máy.
- So sánh chất lượng của hệ thống điều khiển cánh tay máy với các
phương pháp điều khiển khác nhau.
Số hóa bởi Trung tâm Học liệu

/>

5

Nghiên cứu thực nghiệm:
- Chạy thử nghiệm chương trình trên Matlab.
- Thực nghiệm trên mô hình vật lý để kiểm nghiệm, hoàn thiện cấu trúc
và tham số bộ điều khiển.

Số hóa bởi Trung tâm Học liệu

/>

6


CHƢƠNG 1: CƠ SỞ LÝ THUYẾT MẠNG NƠ-RON
1.1. Giới thiệu mạng nơ-ron
1.1.1. Mạng nơ-ron nhân tạo
Để xây dựng một mạng nơ-ron nhân tạo giống như hệ nơ-ron con
người, vào năm 1943 Mc. Culloch và Pitts đề ra cấu trúc cơ bản của một nơron thứ i trong mô hình của mạng nơ-ron nhân tạo như hình 1.1.
x1
wi1
x2
wi2
a(.)
Σ

yi

θi

PEi
wim
xm

Hình 1.1. Mô hình nơ-ron của
Mc. Culloch và Pitts.
Trong đó:
- xj(k): Tín hiệu vào thứ j ở thời điểm k.
- yi(k): Tín hiệu ra thứ i ở thời điểm k.
- a(.): Hàm truyền:
Quan hệ vào ra của nơ ron thứ i như sau:
m


yi (k )  a ( w ij x j (k )  i )
j 1

Trong đó, wij biểu diễn cường độ kết nối giữa đầu vào thứ j và nơ-ron thứ i.
Số hóa bởi Trung tâm Học liệu

/>

7

1.1.2. Các thành phần cơ bản của mạng nơ-ron nhân tạo
Mạng nơ-ron nhân tạo được đặc trưng bởi 3 yếu tố: phần tử xử lý, cấu
trúc và ghép nối của các phần tử xử lý, phương pháp huấn luyện để cập nhập
các trọng số wij.
1.1.2.1. Nơ-ron
Mỗi nơ-ron có nhiều đầu vào và một đầu ra như hình 2.1. Hàm tác
động a(f) tạo tín hiệu ra.
x1
wi1
xi

xm

wij

wim

vi

Σ


yi

a(.)

bi

Hình 1.2. Mô hình nơ-ron thứ i.
xj: Tín hiệu đầu vào thứ j.
wij: Trọng số để kết nối giữa xj nơ-ron thứ j.
bi: Bias.
a(.): Hàm truyền.
1.1.2.2. Hàm truyền
Một số hàm thông dụng:
Hàm bước nhảy đơn vị:
Hàm dấu:

Hàm dốc:

Số hóa bởi Trung tâm Học liệu

1

nếu f ≥ 0

0
1

nếu f < 0
nếu f ≥ 0


-1
0
f
1

nếu f < 0
nếu f < 0
nếu 0 ≤ f ≤ 1
nếu f > 0

a(f) =
a(f) =

a(f) =

/>

8

Hàm tuyến tính:

a( f )  net  f

Hàm logsig:

a( f ) 

1
,  0

1  e  f

Hàm tansig:

a( f ) 

1
 1,   0
1  e  f

a

a
+1

0

a

+1

f

-1

+1

f

0


0

-1

-1

A

B

C

a

a

a

+1

0

+1

+1

f

f


0

0

-1

-1
D

f

f

-1

E

F

Hình 1.3. Đồ thị một số hàm truyền.
A. Hàm bước nhảy ; B. Hàm dấu; C. Hàm dốc; D. Hàm tuyến tính;
E. Hàm logsig đơn cực; F. Hàm tansig lưỡng cực.
1.1.3. Cấu trúc và ghép nối của các nơ-ron
Mô hình ghép nối của các mạng nơ-ron nhân tạo có thể chia ra làm 2
loại: Mạng truyền thẳng (Feedforward Network) và mạng hồi tiếp (Feedback
Network)
Mạng truyền thẳng là mạng được xây dựng bằng cách nối đầu ra của nơ-ron
của lớp đứng trước với đầu vào của các nơ-ron của lớp đứng sau nó. Mạng
truyền thẳng có mạng truyền hai lớp và mạng truyền thẳng nhiều lớp. Mạng

truyền thẳng đã được chứng minh là có khả năng xấp xỉ bất kỳ một hàm tĩnh
nào.
Số hóa bởi Trung tâm Học liệu

/>

9

Mạng hồi tiếp là mạng được xây dựng khi các đầu ra của lớp sau được
nối với các đầu vào cho các nơ-ron ở cùng lớp hoặc các lớp đứng trước nó.
x1

y1

x1

y1

x2

y2

x2

y2

x3

y3


x3

y3
Input layer

B

A
x1
x2

Hidden Output layer

y

x3

x1

y1

x2

y2

x3

y3

C

D

Hình 1.4. Các cấu trúc của mạng nơ-ron.
A. Mạng truyền thẳng một lớp; B. Mạng truyền thẳng nhiều lớp.
C. Nút đơn hồi tiếp; D. Mạng hồi quy nhiều lớp.
1.1.4. Phân loại mạng nơ-ron
Phân loại theo cấu trúc liên kết gồm có mạng truyền thẳng và mạng hồi
tiếp.
Phân loại theo số lớp gồm có mạng đơn và mạng đa lớp.
Phân loại theo phương pháp học gồm có học có giám sát, học tăng
cường và học không có giám sát.
1.2. Trình tự thiết kế mạng nơ-ron ứng dụng
Mạng nơ-ron là một công cụ tốt cho phép xấp xỉ lớp tương đối quan hệ
phụ thuộc hàm giữa tín hiệu ra y(n) và tín hiệu vào x(n) của một hệ thống nào
đó. Điểm mạnh của mạng nơ-ron là khả năng thích nghi khi tập dữ liệu huấn
luyện (x, d) được cập nhật thường xuyên.
Số hóa bởi Trung tâm Học liệu

/>

10

Quá trình thiết kế mạng nơ-ron thường trải qua các bước: Xác định bài
toán, xác định các biến vào ra, thu thập dữ liệu, tiền xử lý dữ liệu, lựa chọn
mô hình mạng nơ-ron, huấn luyện mạng, thử nghiệm mạng và cuối cùng là
tinh chỉnh mạng.
1.2.1. Xác định bài toán
Tùy theo yêu cầu bài toán cần giải quyết cụ thể mà có thể xác định
thuộc bài toán phân lớp dữ liệu hoặc nhận dạng đối tượng
1.2.2. Xác định các biến vào ra

Xác định các biến vào/ra và miền giá trị của các biến đó.
1.2.3. Thu thập dữ liệu
Thu thập một lượng lớn các mẫu dữ liệu đảm bảo nguyên tắc ngẫu
nhiên, khách quan và phủ toàn bộ không gian đầu vào. Đối với các dữ liệu
biến động kiểu chuỗi thời gian thì cần đảm bảo trình tự các sự kiện sao cho
tạo ra các thông tin cốt lõi về đối tượng. Đối với các dữ liệu ngẫu nhiên có
dạng hoàn toàn độc lập nhau thì phải bảo đảm đã quét hết các dạng cần thiết.
1.2.4. Tiền xử lý dữ liệu
Thông thường tập dữ liệu thu thập được cần phải xử lý để đảm bảo các
yêu cầu: Dữ liệu mẫu phân bố đồng đều, đủ đại diện cho tất cả các dạng trong
một phân hoạch không gian nào đó, dữ liệu được thu gọn trong mô hình mạng
nơ-ron phù hợp.
1.2.5. Lựa chọn mô hình mạng nơ-ron
Tùy theo bản chất xử lý dữ liệu của bài toán mà ta lựa chọn mạng nơron phù hợp.
1.2.6. Huấn luyện mạng
Các thao tác thực hiện bao gồm:
- Phần dữ liệu mẫu thành ba tập con: tập mẫu học, tập kiểm soát (để
xác định khi nào dừng quá trình học) và tập kiểm thử (để kiểm tra
khả năng đón nhận, dự đoán mạng). Trong đó tập mẫu học phải
Số hóa bởi Trung tâm Học liệu

/>

11

mang tính đại diện, còn tập kiểm thử gắn với dáng điệu thực của
môi trường đang xét.
- Xác định luật học
- Xác định cơ chế cập nhật trọng số các nơ-ron trong quá trình huấn
luyện.

- Khởi tạo các tham số (các loại mạng khác nhau tương ứng có các
tham số khác nhau. Các trọng số, tham số ban đầu xác định ngẫu
nhiên hay theo kinh nghiệm).
- Tốc độ học.
- Tiêu chuẩn dừng học.
1.2.7. Tinh chỉnh mạng
Muốn nâng cao hiệu quả sử dụng mạng cần phải cập nhật mẫu học, cải
tiến cơ chế huấn luyện, tinh chỉnh cấu trúc và tham số mạng.
Trong trường hợp mạng tuy đã huấn luyện tốt nhưng kết quả không đáp
ứng yêu cầu với các dữ liệu kiểm thử (hiện tượng học quá khít) thì tiến hành:
- Tăng số liệu mẫu và huấn luyện lại mạng.
- Xem xét lại tập dữ liệu mẫu với sự tư vấn của chuyên gia.

Số hóa bởi Trung tâm Học liệu

/>

12

CHƢƠNG 2: ỨNG DỤNG MẠNG NƠ-RON NHẬN DẠNG VÀ ĐIỀU
KHIỂN CÁNH TAY MÁY MỘT BẬC TỰ DO
Trong phần này, tôi sẽ ứng dụng mạng nơ-ron vào nhận dạng và điều
khiển mô hình cánh tay máy thực. Tôi đã thiết kế và chế tạo một mô hình
cánh tay máy một bậc tự do thực trong phòng thí nghiệm.
Để có thể nhận dạng được đối tượng bằng mạng nơ-ron chúng ta cần
phải có một tập mẫu vào ra để huấn luyện mạng. Tôi đã sử dụng hệ vi xử lý
Arduino 328 để kết nối giữa máy tính và cánh tay máy. Card Arduino này sẽ
thu thập giá trị góc từ encorder và đưa về máy tính, đồng thời phát tín hiệu
điện áp đưa ra động cơ để điều khiển cánh tay máy. Bộ dữ liệu mẫu sẽ được
lưu lại trong một tệp có tên là quang_data.mat.

Tôi sẽ phát một chuỗi các tín hiệu điện áp có dạng hàm bước nhẩy với
biện độ ngẫu nhiền (từ -12 đến 12 V) và độ dài của hàm bước nhẩy là ngẫu
nhiên tới động cơ. Sau đó sẽ thu thập giá trị góc của cánh tay máy. Chuỗi tín
hiệu này có độ dài là 100 giây và chu kỳ lấy mẫu được chọn là Ts = 0.05 giây.
Ở phần tiếp theo tôi sẽ trình bày quá trình nhận dạng mô hình cánh tay máy
thực bằng mạng nơ-ron.
2.1. Ứng dụng mạng nơ-ron nhận dạng mô hình cánh tay máy một bậc tự
do thực
Để nhận dạng mô hình cánh tay máy một bậc tự do thực, tôi chọn mạng
nơ-ron có cấu trúc như hình 2.4, với 6 nơ-ron ở lớp thứ nhất. Quá trình huấn
luyện mạng sẽ bao gồm 2 giai đoạn.
Giai đoạn thứ nhất sẽ huấn luyện vòng hở. Ở giai đoạn này, mạng nơron sẽ bị cắt đường phản hồi từ đầu ra của mạng trở về lớp 1 và khi đó cấu
trúc mạng sẽ như hình vẽ 2.1. Đầu vào thứ 2 bây giờ sẽ là tín hiệu ra mẫu.
Giai đoạn thứ hai sẽ huấn luyện mạng kín. Sau khi huấn luyện mạng
hở, tôi sẽ nối đầu ra của mạng hở với đầu vào thứ 2 của mạng sẽ được mạng
kín có cấu trúc như hình 2.4. Để huấn luyện mạng kín tôi sẽ chia tập dữ liệu
Số hóa bởi Trung tâm Học liệu

/>

Luận án đầy đủ ở file: Luận án Full















×