Ứng dụng giải thuật di truyền để tối ưu thông số bộ điều khiển PI

Một phần của tài liệu Nghiên cứu thiết kế bộ điều khiển động cơ ac servo (Trang 64 - 71)

CHƯƠNG V: TỐI ƯU THÔNG SỐ BỘ ĐIỀU KHIỂN PI

5.1 Ứng dụng giải thuật di truyền để tối ưu thông số bộ điều khiển PI

- Giải thuật di truyền (Genetic algorithms –GA) là một giải thuật mô phỏng theo quá trình chọn lọc tự nhiên, là kỹ thuật chung giúp giải quyết vấn đề bài toán bằng cách mô phỏng sự tiến hóa của con người hay của sinh vật nói chung (dựa trên thuyết tiến hóa muôn loài của Darwin) trong điều kiện qui định sẵn của môi trường.

- Lấy ý tưởng từ quá trình tiến hoá tự nhiên, xuất phát từ một lớp các lời giải tiềm năng ban đầu, GA tiến hành tìm kiếm trên không gian lời giải bằng cách xây dựng lớp lời giải mới tốt hơn (tối ưu hơn) lời giải cũ.

- Quá trình xây dựng lớp lời giải mới được tiến hành dựa trên việc chọn lọc, lai ghép, đột biến từ lớp lời giải ban đầu. Quần thể lời giải trải qua quá trình tiến hoá:

ở mỗi thế hệ lại tái sinh các lời giải tương đối tốt, trong khi các lời giải “xấu” thì chết đi.

- Trong GA, một tập các biến của bài toán đưa ra được mã hóa sang một chuỗi (hay một cấu trúc mã hóa khác) tương tự như một nhiễm sắc thể trong tự nhiên.

Mỗi chuỗi bao gồm một giải pháp có thể của bài toán.

5.1.2 Ứng dụng giải thuật di truyền để tối ưu thông số PI bài toán tốc độ.

- Đối với phương pháp điều khiển tốc độ theo phương pháp FOC, nó sử dụng 3 bộ PI để điều khiển tốc độ, dòng điện. Vì sử dụng phương pháp Ziegler–Nichols, Chien–Hrones–Reswick,Cohen–Coon để tìm các thông số PI rất khó và không chính xác nên chọn giải thuật di truyền GA để tối ưu thông số PI theo tiêu chuẩn chúng ta mong muốn.

- Vì giải thuật di truyền thông qua rất nhiều các phép toán, hàng trăm thậm chí đến hàng triệu các vòng lặp để tìm ra các bộ thông số đáp ứng hệ thống tốt nhất

NGHIÊN CỨU THIẾT KẾ BỘ ĐIỀU KHIỂN ĐỘNG CƠ Trang | 62

nên chúng ta chỉ có thể mô hình hóa và mô phỏng đáp ứng trên phần mềm, do đó chỉ có thể chạy Offline. Hình 5.1 mô tả sơ đồ khối quá trình tối ưu thông số PI.

Hình 5.1: Sơ đồ khối GA-PI Các bước thiết kế giải thuật di truyền:

Bước 1: Tạo 1 nhóm quần thể (Population ) bao gồm 500 bộ thông số PI:

KPω1 , KI ω1 , KPiq1 , KI iq1 , KPid1 , KI id1

………

KPω500 , KI ω500 , KPiq500 , KI iq500 , KPid500 , KI id500. Xác định các giới hạn cho thông số PI:

Min_KPω < KPω < Max_KPω ; Min_KIω < KIω < Max_KIω Min_KPiq < KPiq < Max_KPiq ; Min_KIiq < KIiq < Max_KIiq Min_KPid < KPid < Max_KPid ; Min_KIid < KIid < Max_KIid

Bước 2: Đánh giá hàm mục tiêu của từng bộ thông số PI: ( Evaluate) Thiết lập hàm mục tiêu:

- Hàm mục tiêu (f) = Lỗi + Độ vọt lố + Thời gian đáp ứng + Công suất - Vì mục tiêu điều khiển là tốc độ động cơ nên chọn trọng số theo thứ tự

độ quan trọng như sau:

NGHIÊN CỨU THIẾT KẾ BỘ ĐIỀU KHIỂN ĐỘNG CƠ Trang | 63

- Độ vọt lố : 3.|(ωref(t) – ω(t))| – Nếu ωref(t) – ω(t) < 0

- Sai số xác lập = 0.9|(ωref(t) – ω(t))| + 0.9 |(iqref(t) – iq(t))|

+ 0.9|(idref(t) – id(t))|

- Năng lượng = 0.01(P2) = 0.01(1.5(vd.id + vq.iq))2 - Thời gian đáp ứng = 0.2( tr)

- Vậy ta có thể thiết lập công thức tính hàm mục tiêu:

- Hàm mục tiêu (f) = 3.|(ωref(t) – ω(t))| + 0.9|(ωref(t) – ω(t))| + 0.9|(iqref(t) – iq(t))| + 0.9|(idref(t) – id(t))| + 0.2( tr) + 0.01(1.5(vd.id + vq.iq))2

=> Thiết kế để hàm mục tiêu đạt giá trị nhỏ nhất.

Đánh giá các hàm mục tiêu của mỗi bộ thông số PI

- Với từng bộ thông số PI ta lần lượt có giá trị hàm mục tiêu từ f1 => f500. - Thay vì tìm giá trị nhỏ nhất ta có thể chuyển đổi để tìm giá trị lớn nhất bằng cách đặt f’ = 1/ f .

- Xắp xếp các giá trị f’(1) => f’(500) từ nhỏ đến lớn.

- Bộ thông số PI tốt nhất chính là bộ thông số có hàm f’ có thứ tự 500.

Bước 3: Chọn lựa và tạo ra nhóm các bộ PI mới (Repopulation) Cách tái tạo thức hiện theo các bước hình 5.2

Bước 4: Lai các bộ thông số PI lại với nhau. ( Cossover ) Giải thuật lai thông số PI được biểu diễn trong hình 5.3 Bước 5: Thực hiện việc đột biến các bộ thông số PI. ( Mutation )

Giải thuật đột biến thông số PI được biểu diễn trong hình 5.4.

Bước 6: Kiểm tra xem đã thực hiện di truyền trong 300 vòng đời chưa.

- Nếu đúng thì kết thúc và xuất ra bộ thông số PI tốt nhất.

- Ngược lại thì quay lại bước 2.

NGHIÊN CỨU THIẾT KẾ BỘ ĐIỀU KHIỂN ĐỘNG CƠ Trang | 64 Evaluate

Sắp xếp giá trị hàm f’ theo thứ tự tăng dần.

Giá trị và số thứ tự lần lượt là Orderfi và Indexfi

Làm tròn r số có phần thập phân lớn nhất của phép toán fsize(i) – fi_S(i)

500 1

'

i

sum f

f

i/ sum.500

i Orderf f fsize

Làm tròn hàm fsize xuống và lưu theo thứ tự fi_S(i)

500 1

500

i

fsize r

Tạo nhóm thông số PI mới bằng cách: Bộ PI nào có giá trị fi_S > 0 sẽ được giữ lại và nhân lên bằng giá trị fi_S

của chính nó.

END

Hình 5.2 : Các bước thực hiện tái tạo bộ thông số PI mới

NGHIÊN CỨU THIẾT KẾ BỘ ĐIỀU KHIỂN ĐỘNG CƠ Trang | 65 Repopulation

Xác xuất lai : Pc = 0.9, i = 1

Kpi(i) = α.Kpi(i+1) + (1-α)Kpi(i) Kpi(i+1) = α.Kpi(i) + (1-α)Kpi(i+1)

Lưu giữ bộ thông số PI tốt nhất lại.

Kpi(500) = Best PI

END

Tạo giá trị ngẫu nhiên trong khoảng (0,1) = Temp

Pc > Temp

Tạo giá trị ngẫu nhiên trong khoảng (0,1) = α

i = i + 2

i > 499 Đ

S

Đ S

Hình 5.3: Các bước thực hiện lai các thông số PI

NGHIÊN CỨU THIẾT KẾ BỘ ĐIỀU KHIỂN ĐỘNG CƠ Trang | 66

Hình 5.4: Các bước thực hiện quá trình đột biến PI

NGHIÊN CỨU THIẾT KẾ BỘ ĐIỀU KHIỂN ĐỘNG CƠ Trang | 67

5.1.3 Ứng dụng giải thuật di truyền để tối ưu thông số PID bài toán vị trí

Hình 5.5: Sơ đồ khối GA-PID Các bước thiết kế giải thuật di truyền:

Lưu ý: Sử dụng 3 bộ thông số PI đã tối ưu ở mục 5.2 để đáp ứng vận tốc, do đó ta chỉ cần tối ưu thông số PID của bộ điều khiển vị trí.

Bước 1: Tạo 1 nhóm quần thể (Population ) bao gồm 30 bộ thông số PID:

KPθ1 , KIθ1 , Kdθ1 ……… KPθ500 , KIθ500 , Kdθ500 Xác định các giới hạn cho thông số PID:

Min_KPθ < KPθ < Max_KPθ Min_KIθ < KIθ < Max_KIθ Min_Kdθ < Kdθ < Max_Kdθ

Bước 2: Đánh giá hàm mục tiêu của từng bộ thông số PI: ( Evaluate) Thiết lập hàm mục tiêu:

- Hàm mục tiêu (f) = Lỗi + Thời gian đáp ứng + Độ vọt lố

- Vì mục tiêu điều khiển là vị trí động cơ nên chọn trọng số theo thứ tự độ quan trọng như sau:

- Độ vọt lố : 3.|(θref(t) – θ (t))| – Nếu θref(t) – θ (t) < 0

NGHIÊN CỨU THIẾT KẾ BỘ ĐIỀU KHIỂN ĐỘNG CƠ Trang | 68

- Sai số xác lập = 0,9.|(θref(t) – θ (t))|

- Thời gian đáp ứng = 0.2( tr)

- Vậy ta có thể thiết lập công thức tính hàm mục tiêu:

- Hàm mục tiêu (f) = 3.|(θref(t) – θ (t))| + 0,9.|(θref(t) – θ (t))| + 0.2( tr) => Thiết kế để hàm mục tiêu đạt giá trị nhỏ nhất.

Đánh giá các hàm mục tiêu của mỗi bộ thông số PI

- Với từng bộ thông số PI ta lần lượt có giá trị hàm mục tiêu từ f1 => f500. - Thay vì tìm giá trị nhỏ nhất ta có thể chuyển đổi để tìm giá trị lớn nhất bằng cách đặt f’ = 1/ f .

- Xắp xếp các giá trị f’(1) => f’(500) từ nhỏ đến lớn.

- Bộ thông số PID tốt nhất chính là bộ thông số có hàm f’ có thứ tự 500.

Bước 3: Chọn lựa và tạo ra nhóm các bộ PID mới (Repopulation) Cách tái tạo thức hiện tương tự theo các bước hình 5.2

Bước 4: Lai các bộ thông số PID lại với nhau. ( Cossover ) Giải thuật lai thông số PID được biểu diễn trong hình 5.3 Bước 5: Thực hiện việc đột biến các bộ thông số PID. ( Mutation )

Giải thuật đột biến thông số PID được biểu diễn trong hình 5.4.

Bước 6: Kiểm tra xem đã thực hiện di truyền trong 100 vòng đời chưa.

- Nếu đúng thì kết thúc và xuất ra bộ thông số PID tốt nhất.

- Ngược lại thì quay lại bước 2.

Một phần của tài liệu Nghiên cứu thiết kế bộ điều khiển động cơ ac servo (Trang 64 - 71)

Tải bản đầy đủ (PDF)

(121 trang)