PIC Vietnam

Go Back   PIC Vietnam > Robotics > Điều khiển

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Tìm Kiếm Bài Trong Ngày Ðánh Dấu Ðã Ðọc Vi điều khiển

Điều khiển Lý thuyết điều khiển và ứng dụng lý thuyết điều khiển trong những trường hợp thực tế

 
 
Ðiều Chỉnh Xếp Bài
Prev Previous Post   Next Post Next
Old 31-05-2006, 08:43 AM   #1
HaiAu2005
Đệ tử 9 túi
 
Tham gia ngày: May 2006
Bài gửi: 150
:
Điều khiển gán điểm cực và điều khiển gán điểm cực tự điều chỉnh

Xin trao đổi sơ bộ về thuật toán điều khiển đặt điểm cực (pole placement control) hoặc điều khiển gán điểm cực (pole assignment control). Tuy hai tên gọi khác nhau bằng tiếng Anh, nhưng bản chất thuật toán là một.

Vậy điều khiển gán điểm cực là gì? Nói nôm na, thuật toán điều khiển gán điểm cực là thuật toán tính toán khuếch đại điều khiển hồi tiếp trạng thái (state feedback control gains) dựa trên việc gán (đặt lại) điểm cực của hệ hồi tiếp với điểm cực mong muốn.

Khi thuật toán gán điểm cực được biến đổi sao cho các cực thay đổi hoặc tham số hệ thống thay đổi sẽ làm khuếch đại phản hồi trạng thái thay đổi. Trong trường hợp này chúng ta có thuật toán gán điểm cực thích nghi.

Trong các thuật toán điều khiển thích nghi (adaptive control) - thuật ngữ này thường dùng cho hệ tuyến tính có tham số thay đổi theo thời gian - có một số thuật toán điều khiển tự điều hưởng (self-tuning control) là kết hợp một thuật toán ước lượng để tìm tham số hệ thống với một luật điều khiển. Trong các thuật toán tự điều chỉnh có thuật toán gán điểm cực tự điều chỉnh là một thuật toán thích nghi đơn giản. Thuật toán self-tuning control thường dùng cho hệ rời rạc theo thời gian (discrete-time system hoặc digital system), các tài liệu ở VN gọi là "hệ xung số".

Trong chủ đề này sẽ trình bày: 1. thuật toán gán điểm cực áp dụng cho hệ tuyến tính có các tham số không thay đổi và 2. thuật toán điều khiển 'gán điểm cực tự điều chỉnh' (self-tuning pole assignment control) cho đối tượng tàu thủy. Thuật toán gán điểm cực tự điều chỉnh là sự kết hợp của thuật toán ước lượng tham số (the recursive least squares algorithm) và thuật toán gán điểm cực.

Ví dụ sau minh họa hệ máy lái tự động cho tàu thủy dùng thuật toán gán điểm cực (pole placement control). Mô hình toán của tàu thủy giống mô hình toán dùng minh họa trong thuật toán điều khiển tối ưu. Trong MATLAB Control System Toolbox có hai hàm tính khuếch đại điều khiển hồi tiếp trạng thái K: place (dựa trên phương pháp dùng ma trận biến đổi) và acker (phương pháp dùng công thức Ackermann). Bạn đọc dùng lệnh > help để xem mô tả hai hàm trên.

Mô hình tàu (Nomoto's first order model):




trong đó T, K là chỉ số điều động tàu (hằng số, T = 7.5 sec, K = 0.11), r là tốc độ quay trở của tàu (yaw rate or turning rate, rad/sec), delta là góc bánh lái (rudder angle, rad), và psi là hướng mũi tàu (heading angle, hoặc yaw angle, rad). Viết lại phương trình này dưới dạng mô hình không gian trạng thái như sau:




trong đó:
là véc tơ trạng thái:

u là tín hiệu điều khiển (góc bánh lái):

y là tín hiệu ra (hướng mũi tàu):

A, B, C, D là các ma trận tham số của mô hình không gian trạng thái (bạn đọc tự tính các ma trận này giùm).

Điểm cực mong muốn là: J(1) = -10+j*5 và J(2) = -10-j*5 (J = [-10+j*5 -10-j*5], hai số phức liên hợp - conjugate complex numbers) (với điểm cực mong muốn này hệ hồi tiếp dù phức tạp bao nhiêu đi chăng nữa thì sau khi đặt lại điểm cực hệ thống trở thành hệ bậc hai, mà hệ bậc hai thì có lẽ nhiều người trong chúng ta đều biết!).

Trước khi thiết kế hệ điều khiển gán điểm cực, một công việc đơn giản là phải kiểm tra xem đối tượng điều khiển (hệ động) có đảm bảo điều kiện cần và đủ để gán được điểm cực hay không, tức là hệ động phải là hệ 'có thể điều khiển trạng thái hoàn toàn' (completely state controllable). Hay nói cách khác là phải kiểm tra tính điều khiển được (controllability) của hệ động. Hệ tàu thủy này có véc tơ trạng thái gồm hai phần tử (n = 2), chúng ta tính ma trận tính điều khiển được (controllability matrix):

>> M = [B A*B]

M =

0 0.0147
0.0147 0

Rank (hạng) của ma trận này là:

>> rank(M)

ans =

2

Hạng của M là 2, bằng số phần tử của véc tơ trạng thái, vậy hệ này là 'completely state controllable'.

Codes mẫu cho hệ máy lái tự động tàu thủy như sau:

Code:
% PoleAssignmentAutopilot.m
%

clear

T = 7.5;
K = 0.11;

A = [0 1;0 -1/T];
B = [0 K/T]';
J = [-10+j*5 -10-j*5]; % điểm cực mong muốn (desired poles)
C = [1 0]; D = 0;

KK = acker(A,B,J)

%KK2 = place(A,B,J)

AA = A-B*KK;BB=B*KK(1);CC = C;DD=D;

Nomoto = ss(AA,BB,CC,DD);

[y,t,x] = step(Nomoto,10);

%subplot(211);
plot(t,y*180/pi);grid
title('Ship heading');
xlabel('Time (sec)');
ylabel('Heading (deg)');

% End of program
Kết quả chạy chương trình này (đáp ứng của hệ thống) cho trong file gửi kèm.

Trong ứng dụng thiết kế hệ điều khiển, thuật toán điều khiển gán điểm cực tự điều chỉnh nói riêng và điều khiển thích nghi nói chung thường được áp dụng cho hệ tuyến tính hoặc phi tuyến có các tham số biến đổi (thay cho hệ tuyến tính có các hệ số không đổi như ở ví dụ trên). Thuật toán điều khiển thích nghi này thường được kết hợp với một phương pháp ước lượng trực tuyến (online estimation algorithm, được dùng để ước lượng các tham số hệ thống). Phần sau sẽ xin trình bày ví dụ minh họa thuật toán điều khiển gán cực tự điều hưởng PID (three term (PID) self-tuning pole assignment control algorithm).

Lý thuyết và thực hành thiết kế hệ thống điều khiển thích nghi sẽ được trình bày trên trang web www.dieukhien.net trong thời gian tới, xin mời mọi người đón đọc!

H.A.
Hình Kèm Theo
File Type: jpg poleassignmentcontroller.jpg (30.5 KB, 247 lần tải)

thay đổi nội dung bởi: HaiAu2005, 14-10-2007 lúc 07:20 PM.
HaiAu2005 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
 

Ðiều Chỉnh
Xếp Bài

Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến

Similar Threads
Ðề tài Người gửi Chuyên mục Trả lời Bài mới
Báo cáo hội nghi Cơ điện tử toàn quốc butu Công nghệ robot 4 07-11-2008 09:00 AM
de nghi! lamhoang Cơ bản về vi điều khiển và PIC 3 28-09-2006 11:57 AM
Điều khiển thích nghi tham chiếu theo mô hình mẫu (MRAS) Mecha Điều khiển 2 20-06-2006 01:15 AM
Tiện nghi đây ! PIC-NGHEO Các ngôn ngữ lập trình khác (CCS C, HT PIC,...) 0 25-06-2005 09:44 PM


Múi giờ GMT. Hiện tại là 03:11 AM.


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam