1. Trang chủ
  2. » Luận Văn - Báo Cáo

TỔNG QUAN về ACROBOT

22 560 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 22
Dung lượng 2,21 MB

Nội dung

Vấn đề đặt ra là tìm thuật toán điều khiển cho khớp thứ 2 để lắc đưaacrobot từ điểm ban đầu bất kỳ lên vị trí thẳng đứng và điều khiểnduy trì nó ở trạng thái thẳng đứng cân bằng không ổn

Trang 1

CHƯƠNG I: TỔNG QUAN VỀ ACROBOT

Acrobot là rô bốt phẳng, hai bậc tự do nhưng chỉ có khớp thứhai được điều khiển như hình vẽ 1 Hệ phương trình động lực họccủa acrobot là một hệ phi tuyến có hai bậc tự do và một đầu vào Vấn

đề đặt ra là tìm thuật toán điều khiển cho khớp thứ 2 để lắc đưaacrobot từ điểm ban đầu bất kỳ lên vị trí thẳng đứng và điều khiểnduy trì nó ở trạng thái thẳng đứng cân bằng không ổn định này

Hình 1.1: Sơ đồ cấu trúc Acrobot

Trang 2

CHƯƠNG II MÔ HÌNH HÓA HỆ THỐNG ACROBOT 2.1 Hệ thống Acrobot

Sơ đồ cấu trúc của acrobot [3] được thể hiện như hình vẽ 2.1

Hình 2.1 Hệ thống AcrobotTrong đó thông số cho bởi bảng sau:

Than

h 2

Than

h 1 l

c 1

Trang 3

3 4 3 4

x x f f f

00

g g g

2.2 Luật điều khiển cho acrobot

Hệ thống có bốn điểm cân bằng xác định bởi:

Trang 4

.3

x c c + + cg c c + x = (2.5)

Phương trình (2.5) mô tả chuyển động của con lắc với độ dài

l chịu ảnh hưởng của trọng lực ĝ, trong đó l = (c 1 +c 2 +2c 3 )/(c 4 +c 5) và

Tại đó k p , k d và k e là những hằng số dương Chú ý V là hàm

số bán xác định dương Đạo hàm (2.6) theo quỹ đạo phương trình(2.2) ta có: V. = k x xp 2 4+ k x xd 4 .4+ keÊ( ) x x u4

Trang 5

2.3 Chương trình mô phỏng acrobot trong không gian 2 chiều

function [sys, x0, str, ts]=animdemo(t, x, u, flag)

l1 = 2;

l2 = 4;

global xP1 xP2 yP1 yP2 R P xLink1 xLink2 yLink1 yLink2 xCenter yCenter

global Link1 Link2 Center

if any(get(0, 'Children' )==AnimDemoFigure)

set(0, 'CurrentFigure' , AnimDemoFigure);

xP1new = l1*cos(u(1)+pi/2) + P0(1);

yP1new = l1*sin(u(1)+pi/2) + P0(2);

R = [cos(u(1)+pi/2) sin(u(1)+pi/2);-sin(u(1)+pi/2) cos(u(1)+pi/2)];

P = [l2*cos(u(2)) l2*sin(u(2))]*R+[xP1new yP1new];

xP2new = P(1);

yP2new = P(2);

xLink1 = [P0(1) xP1new];

yLink1 = [P0(2) yP1new];

xLink2 = [xP1new xP2new];

yLink2 = [yP1new yP2new];

n = 100;

t = 0:2*pi/n:2*pi*(1-1/n);

Trang 6

xCenter = xP1new + 02*cos(t);

yCenter = yP1new + 02*sin(t); set(Link1, 'XData' , xLink1, 'YData' , yLink1 ); set(Link2, 'XData' , xLink2, 'YData' , yLink2 ); set(Center, 'XData' ,xCenter, 'YData' ,yCenter); drawnow

Trang 7

Link1 =plot(xLink1, yLink1, 'b' , 'LineWidth' ,6);

Link2 =plot(xLink2, yLink2, 'r' , 'LineWidth' ,3);

Center = plot(xCenter,yCenter, 'g' , 'LineWidth' ,5)

Trang 8

CHƯƠNG III: THIẾT KẾ BỘ ĐIỀU KHIỂN 3.1 Tuyến tính hóa mô hình tại điểm cân bằng không ổn định

Hình 3.1 Điểm cân bằng không ổn định của hệ thốngTại điểm cân bằng không ổn định phía trên ta có:

8

Trang 9

1 2

20

q q

Các bước thiết kế bộ điều khiển:

- Bước 1: Chọn trước các điểm cực

- Bước 2: Xây dựng phương trình đặc tính

Trang 10

- Bước 3: Tìm K

3.2.2 Ứng dụng Matlab tìm bộ điều khiển cho acrobot

Ta có mô hình trạng thái xấp xỉ của acrobot xung quanh điểm cân bằng không ổn định là:

x J x J u & = x + u (3.2)

Chọn bộ điểm cực mong muốn của hệ kín là: p=[-4 -4 -4 -4]

Sử dụng lệnh acker trong Matlab ta có thể tìm được K:

K=acker(A,b,p)

Ta có bộ điều khiển dạng như sau:

K = [k1 k2 k3 k4]

3.3 Bộ điều khiển LQR

3.3.1 Phương trình Riccati đại số

Để đảm bảo hệ thống ổn định tại gốc tọa độ và có khả năngchống ảnh hưởng của nhiễu, một hàm mục tiêu được lựa chọn như sau:

Trong đó Q và R là các ma trận đối xứng xác định dương Chọn luật

điều khiển hồi tiếp trạng thái u = -Kx, K là véc tơ hằng số

0

1 2

Trang 11

( )

0

1 2

Trang 12

CHƯƠNG IV: MÔ PHỎNG 4.1 Bài toán 1

Trong phần này chúng tôi sẽ thiết kế bộ điều khiển phản hồitrạng thái, bộ điều khiển phi tuyến (2.11) cho acrobot với các thông

số đã cho trong bài báo [3]

Bảng 1: Các thông số của hệ thống Acrobot

Trang 13

x4

Trang 14

Dùng lệnh[ K P e , , ] = lqr A b Q R ( , , , ) ta thu được:

4.1.3 Bộ điều khiển phi tuyến

Dựa vào các thông số (4.1) chúng tôi thiết kế bộ điều khiểnphi tuyến theo luật (2.11) Trong quá trình mô phỏng, chúng tôi sửdụng một khâu chuyển mạch Khi hệ thống bắt đầu làm việc bộ điềukhiển phi tuyến sẽ được kết nối với hệ thống để điều khiển Khi màacrobot đạt tới vùng lân cận của điểm cân bằng không ổn định thì

-6 -4 -2 0 2 4 6 8 10

x4

Trang 15

khâu chuyển mạch sẽ ngắt bộ điều khiển phi tuyến ra khỏi hệ thống

và kết nối bộ điều khiển phản hồi trạng thái với hệ thống

Chúng tôi sẽ mô phỏng với điều kiện đầu ở gần điểm cânbằng ổn định Đây là vị trí gần như là xa điểm cân bằng không ổn

định nhất Điều kiện đầu như sau: x1= − π , x2= 0, x3= 0, x4= 0.1

-8 -6 -4 -2 0 2 4 6 8 10

-15 -10 -5 0 5 10 15 20

x4

Trang 16

số cho mô hình toán của nó Sau đó sẽ thiết kế bộ điều khiển và môphỏng kết quả trong Matlab/Simulink

Bảng 2: Các thông số của Acrobot thực

p=[-4 -4 -5 -5];

K=acker(A,b,p)

Ta tìm được bộ điều khiển K = [-0.7061 -0.2059 -0.2079 -0.1368]

-5 -4 -3 -2 -1 0 1

x2

Trang 17

Hệ thống đạt tới trạng thái ổn định sau khoảng 3 giây.

4.2.2 Khảo sát khi có nhiễu tác động

Mô phỏng với điều kiện đầu x1 = − π , x2 = 0, x3 = 0, x4 = 0.1

Ư

Chúng ta có thể thấy với mô hình toán này, chỉ cần bộ điềukhiển phản hồi trạng thái là đủ để đưa acrobot về trạng thái cân bằngkhông ổn định từ bất kỳ trạng thái ban đầu nào

-4 -2 0 2 4 6 8 10 12 14

-30 -20 -10 0 10 20 30 40

x4

Trang 18

CHƯƠNG V: GIẢI PHÁP THIẾT KẾ MÔ HÌNH THỰC CHO

ACROBOT 5.1 Thiết kế hệ thống điều khiển Acrobot

Để phục vụ cho việc nghiên cứu tôi đã thiết kế và chế tạo hệthống điều khiển Acrobot gồm có hai khớp, trong đó chỉ có khớp thứ

2 được điều khiển để lắc đưa Acrobot về vị trí cân bằng

5.2 Mô hình thí nghiệm Acrobot

Cấu trúc mô hình thí nghiệm Acrobot gồm:

- Máy tính xách tay: Core i5, 1,8Hz, Ram 4G – Phần mềmMatlab 2013a

- Card điều khiển Arduino

- Động cơ DC Encoder 334 xung

Trang 19

5.2.6 Thiết kế bộ điều khiển PI cho Acrobot

Sử dụng máy tính và Card Ardiuno điều khiển Acrobot.Các thông số được chọn bằng phương pháp thực nghiệm

Trang 20

CHƯƠNG 6: KẾT LUẬN VÀ KIẾN NGHỊ 6.1 Kết luận

- Viết được chương trình mô phỏng acrobot trong không gian

2 chiều

- Thiết kế, mô phỏng và kiểm tra được các kết quả trong bàibáo [3] là đúng và chính xác

- Thiết kế và chế tạo được một mô hình acrobot thực

- Thử nghiệm các thuật toán để điều khiển trên acrobot thực

- Điều khiển được Acrobot ở lân cận vị trí cân bằng về vị trícân bằng

6.2 Kiến nghị

Ứng dụng thuật toán điều khiển Acrobot để điều khiểncác robot 2 bậc 3 bậc tự do

20

Trang 21

TÀI LIỆU THAM KHẢO

1 Nguyễn Thương Ngô (2006) “Lý thuyết điều khiển tự động thông thường và hiện đại Quyển 3: Hệ phi tuyến & Hệ ngẫu nhiên”,

Nhà xuất bản khoa học và kỹ thuật

2 Nguyễn Thương Ngô (2006) “Lý thuyết điều khiển tự động thông thường và hiện đại Quyển 4: Hệ tối ưu & Hệ thích nghi”, Nhà xuất

bản khoa học và kỹ thuật

3 Arun D Mahindrakar and Ravi N Bnavar (2005) “A swing-up of

the acrobot based on a simple pendulum strategy”, International

Journal of Control, ( 6), 424 - 429.

4 R'emi Coulom CORTEX, Loria Nancy (2004) “High-AccuracyValue-Function Approximation with Neural Networks Applied to the

Acrobot”, European Symposium on Artificial Neural Networks, 28-30.

5 R M Murray and J Hauser (1991) “A case study in approximate

linearization: the acrobot example”, American control conference,

1-40

6 S A Bortoff (1992) “Pseudolinearization Using Spline FunctionsWith Application to the Acrobot” Ph.D thesis, Dept of Electricaland Computer Engineering, University of Illinois at Urbana- Champaign

7 Sam Chau Duong, Hiroshi Kinjo, Eiho Uezato and TetsuhikoYamamoto (2009) “On the Continuous Control of the Acrobot viaComputational Intelligence”, 231 – 241

Trang 22

8 Scott C Brown and Kevin M Passino (1997) “Intelligent Control

for an Acrobot”, Journal of Intelligent and Robotic Systems, (18), 209–

248

22

Ngày đăng: 15/08/2015, 15:54

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
1. Nguyễn Thương Ngô (2006) “Lý thuyết điều khiển tự động thông thường và hiện đại − Quyển 3: Hệ phi tuyến & Hệ ngẫu nhiên”, Nhà xuất bản khoa học và kỹ thuật Sách, tạp chí
Tiêu đề: “Lý thuyết điều khiển tự động thôngthường và hiện đại "−" Quyển 3: Hệ phi tuyến & Hệ ngẫu nhiên”
Nhà XB: Nhà xuất bản khoa học và kỹ thuật
2. Nguyễn Thương Ngô (2006) “Lý thuyết điều khiển tự động thông thường và hiện đại − Quyển 4: Hệ tối ưu & Hệ thích nghi”, Nhà xuất bản khoa học và kỹ thuật Sách, tạp chí
Tiêu đề: “Lý thuyết điều khiển tự động thôngthường và hiện đại "−" Quyển 4: Hệ tối ưu & Hệ thích nghi”
Nhà XB: Nhà xuấtbản khoa học và kỹ thuật
3. Arun D. Mahindrakar and Ravi N. Bnavar (2005) “A swing-up of the acrobot based on a simple pendulum strategy”, International Journal of Control, ( 6), 424 - 429 Sách, tạp chí
Tiêu đề: A swing-up ofthe acrobot based on a simple pendulum strategy”, "InternationalJournal of Control
4. R'emi Coulom CORTEX, Loria Nancy (2004) “High-Accuracy Value-Function Approximation with Neural Networks Applied to the Acrobot”, European Symposium on Artificial Neural Networks, 28-30 Sách, tạp chí
Tiêu đề: High-AccuracyValue-Function Approximation with Neural Networks Applied to theAcrobot”, "European Symposium on Artificial Neural Networks
5. R. M. Murray and J. Hauser (1991) “A case study in approximate linearization: the acrobot example”, American control conference, 1- 40 Sách, tạp chí
Tiêu đề: A case study in approximatelinearization: the acrobot example”, "American control conference
6. S. A. Bortoff (1992) “Pseudolinearization Using Spline Functions With Application to the Acrobot” Ph.D. thesis, Dept. of Electrical and Computer Engineering, University of Illinois at Urbana- Champaign Sách, tạp chí
Tiêu đề: Pseudolinearization Using Spline FunctionsWith Application to the Acrobot
7. Sam Chau Duong, Hiroshi Kinjo, Eiho Uezato and Tetsuhiko Yamamoto (2009) “On the Continuous Control of the Acrobot via Computational Intelligence”, 231 – 241 Sách, tạp chí
Tiêu đề: On the Continuous Control of the Acrobot viaComputational Intelligence

TỪ KHÓA LIÊN QUAN

w