Tuy nhiên, nó có các phương trình toán học phi tuyến phức tạp đủ để nghiên cứu về các thuật toán điều khiển tự động có thể sử dụng để xác minh.. Tuy nhiên, các bộ điều khiển tuyến tính h
TỔNG QUAN
ĐẶT VẤN ĐỀ
RIP là một đối tượng điều khiển quen thuộc trong lĩnh vực điều khiển tự động Nó có cấu trúc cơ khí đơn giản, dễ chế tạo, chi phí thấp Tuy nhiên, nó có các phương trình toán học phi tuyến phức tạp đủ để nghiên cứu về các thuật toán điều khiển tự động có thể sử dụng để xác minh Ở nước ngoài, các thuật toán điều khiển LQR [ 2] và PID [ 2] đã được áp dụng thành công trên đối tượng này Các thuật toán trên đều là các thuật toán tuyến tính với lợi thế của cấu trúc đơn giản Cấu trúc đơn giản giúp cho các bộ điều khiển trên dễ thiết kế và tích hợp vào vi điều khiển cho thử nghiệm vì những câu hỏi không quá phức tạp Tuy nhiên, các bộ điều khiển tuyến tính hoặc không được đảm bảo toán học (như trường hợp của điều khiển PID) hoặc chỉ ổn định toán học ở một vùng rất nhỏ xung quanh vị trí cân bằng (như trường hợp của bộ điều khiển SMC) Do đó, một hướng khác đã được chọn để vượt qua nhược điểm của các bộ điều khiển tuyến tính là áp dụng các bộ điều khiển phi tuyến như backstepping [ 2], linearization in-out [ 2], Swing Up [ 2] Ưu điểm của các bộ điều khiển phi tuyến là tính ổn định của hệ thống được đảm bảo thông qua tiêu chuẩn ổn định Lyapunov Một nhược điểm lớn của các thuật toán phi tuyến là tín hiệu điều khiển được tính toán dựa trên các phương trình toán học của hệ thống Do đó, việc xác định hệ phương trình động học của hệ thống phải chính xác Ngoài ra, các thông số hệ thống cũng phải được xác định chính xác để thuật toán hoạt động Đồng thời, bộ điều khiển SMC cũng có một nhược điểm khác là hiện tượng chattering Điều này là do trong công thức tính toán tín hiệu điều khiển trượt, có một dấu hàm Tín hiệu này làm cho tín hiệu điều khiển trượt liên tục khi hệ thống đạt đến vị trí cân bằng Mặc dù vào thời điểm đó, giá trị tín hiệu điều khiển không lớn (vì hệ thống gần với vị trí cân bằng), nhưng sự đảo ngược liên tục cũng ảnh hưởng đến phần cứng của hệ thống (đảo ngược liên tục có thể làm hao mòn động cơ cũng như làm hỏng trình điều khiển H-bridge) Do đó, hiện tượng chattering cần được khắc phục để cải thiện chất lượng điều khiển
Trong các nghiên cứu trong nước, các đề tài về RIP cũng đã thành công khi sử dụng các thuật toán điều khiển PID [ 2], Swing Up [ 2] cả trong mô phỏng và thử nghiệm Thuật toán backstepping cũng đã ổn định theo cách thực nghiệm trên mô hình [ 2] Thuật toán trượt cũng đã được triển khai thành công trên mô hình RIP [ 2] Tuy nhiên, hiện tượng
2 chattering vẫn chưa được khắc phục trong các nghiên cứu trên Trong nghiên cứu này, việc triển khai điều khiển LQR cho hệ thống RIP nhằm mục tiêu cân bằng tại điểm làm việc tĩnh để ổn định hệ thống
Hình 1.1.1: mô hình của Quanser’s RIP
MỤC TIÊU
Mục tiêu chính của sinh viên khi thực hiện luận văn là để hiểu về thuật toán LQR cân bằng cho hệ thống RIP Ngoài ra, sinh viên tìm cách khảo sát các thông số của kết quả nghiên cứu vừa tìm được để tạo ra một bộ điều khiển ổn định tối ưu tại điểm làm việc tĩnh cân bằng của RIP Việc điều khiển thành công của LQR cho mô hình (cả thực nghiệm và mô phỏng) giúp sinh viên mài giũa kỹ năng trong thiết kế điều khiển cũng như đóng góp tài liệu cho sinh viên/ sau đại học/ Nghiên cứu sinh trong lĩnh vực Tự động hóa và Khoa Điện - Điện tử.
HƯỚNG TIẾP CẬN
Đầu tiên, sinh viên sẽ học và phân tích các phương trình toán học của hệ thống RIP Thông qua các phương trình toán học đó, sinh viên sẽ xây dựng thuật toán LQR để ổn định hệ thống ở vị trí mong muốn Tiếp theo, sinh viên thực hiện các mô phỏng trên MATLAB/Simulink để cố gắng chứng minh tính ổn định của thuật toán LQR Cuối cùng,
3 sinh viên tìm cách áp dụng thuật toán trên vào một mô hình thực nghiệm để chứng minh rằng thuật toán hoạt động tốt trên hệ thống.
ĐỐI TƯỢNG NGHIÊN CỨU
Trong nghiên cứu này, hệ thống RIP là chủ đề chính Ngoài ra, thuật toán LQR là đối tượng của thuật toán mà sinh viên đề cập đến Phần mềm MATLAB/Simulink là công cụ mô phỏng được quan tâm Board STM32F407-DISC1 là bộ điều khiển cho mô hình thực nghiệm trong luận văn này.
NỘI DUNG NGHIÊN CỨU
Chương 2: Cơ sở lý thuyết
Chương 3: Tính toán và thiết kế
Chương 4: Thi cong hệ thống
Chương 5: Kết quả thực hiện
Chương 6: Kết luận và hướng phát triển
GIỚI HẠN
Phạm vi nghiên cứu của sinh viên chỉ tập trung vào đối tượng RIP với loại 1 liên kết (single) Sinh viên không xem xét các loại có 2 hoặc cao hơn Thuật toán tuyến tính được áp dụng trong đề tài là để điều khiển sự cân bằng của con lắc xoay ngược bằng phương pháp LQR, tác giả không đề cập đến các dạng thuật toán tuyến tính hoặc phi tuyến khác Thuật toán LQR trong đề tài chỉ được áp dụng để điều khiển sự cân bằng ổn định tại vị trí mong muốn, không điều khiển tính ổn định quỹ đạo Việc kiểm soát cân bằng là điểm được quan tâm, thuật toán "swing up" - thuật toán được sử dụng để đưa con lắc từ vị trí tự do xuống trên lên vị trí cân bằng trên trước khi được kiểm soát cân bằng - không được đề cập
CƠ SỞ LÝ THUYẾT
TỔNG QUAN VỀ HỆ THỐNG RIP
Hệ thống RIP là một mô hình cổ điển trong lý thuyết của hệ thống điều khiển tự động
Hệ thống này đơn giản về cấu trúc cơ học, dễ sản xuất và chi phí thấp Tuy nhiên, hệ thống các phương trình động là phi tuyến cao và được chấp nhận rộng rãi như một hệ thống SIMO điển hình Kể từ đó, nhiều loại inverted pendubot đã được phát triển tương tự như: hệ thống pendubot có 2 liên kết được kết nối với nhau và hoạt động trong cùng một không gian, hệ thống inverted pendulum trên xe ô tô - xe đẩy và cột - có một pendubot được gắn trên một chiếc xe có thể chạy ngang, hệ thống RIP 2 graffiti có một liên kết thứ ba bổ sung để nâng cấp hệ thống, tạo ra nhiều thách thức điều khiển hơn
Hệ thống RIP bao gồm một động cơ đặt đứng Trên trục của động cơ gắn một đầu của một thanh đồng, vuông góc với trục của động cơ Khi động cơ quay, thanh này cũng quay xung quanh trục của động cơ Tôi gọi thanh này là cánh đòn của con lắc Đầu kia của thanh cánh đòn này được gắn chặt vào một encoder Trục của encoder song song với thanh cánh đòn Ở cuối trục của encoder, một thanh đồng khác được cố định ở một đầu với encoder Thanh này quay tự do xung quanh encoder được gọi là con lắc ngược Con lắc ngược đôi khi không phải là một thanh đồng nhất mà cũng có thể là một thanh có khối lượng rất nhẹ được gắn vào một vật nặng với khối lượng đáng kể ở đầu kia của thanh Trong phạm vi của đề tài này, chúng tôi xem xét trường hợp mà thanh con lắc là homogeneity
Với một tín hiệu điều khiển đầu vào là mức điện áp đến động cơ và hai tín hiệu từ joystick ở đầu ra lần lượt là tín hiệu góc lệch của cánh đòn và góc lệch của con lắc, hệ thống RIP là một hệ thống SIMO một vào hai ra Với cấu trúc trên, hệ thống RIP được xem xét là khó kiểm soát hơn nhiều so với hệ thống lò nhiệt hoặc hệ thống bể nước (là hệ thống SISO) vì chỉ cần một tín hiệu điều khiển phải ổn định nhiều tín hiệu ra cùng một lúc Trong một số nghiên cứu, xem xét rằng đầu vào điều khiển là mô-men xoắn tác động lên hệ thống do động cơ tạo ra Tuy nhiên, quan điểm này chỉ giúp người điều khiển thực hiện thuật toán thành công trên mô phỏng, không áp dụng vào mô hình thực tế, bởi vì trong thực tế, chỉ có thể chọn mức điện áp cung cấp cho động cơ hoặc giá trị PWM cung cấp cho cầu H (một loại mức điện áp) và không tạo ra mô-men xoắn trực tiếp chính xác Mô-men xoắn là
5 một tín hiệu điều khiển, nhưng nó chỉ là một sản phẩm gián tiếp của việc cung cấp điện áp cho động cơ
Hình 2.1.1: Mô hình con lắc Hình 2.1.2: Mô hình con lắc ngược 2 bậc
Hình 2.1.3: Mô hình xe con lắc ngược
GIẢI THUẬT ĐIỀU KHIỂN LQR
LQR (Linear Quadratic Regulator) là một thuật toán điều khiển được xây dựng dựa trên nguyên lý phản hồi trạng thái, còn được biết đến là phương pháp tuyến tính hóa Bộ điều khiển LQR thường được áp dụng trên các hệ thống phi tuyến với nhiều đầu vào và đầu ra Bộ điều khiển nhận tín hiệu đầu vào là trạng thái của hệ thống, sau đó tín hiệu mẫu được tính toán và chuyển đổi thành tín hiệu điều khiển cho hệ thống
Một hệ thống điều khiển được thiết kế trong chế độ hoạt động tốt nhất là khi hệ thống luôn ở trong trạng thái tối ưu theo một tiêu chuẩn chất lượng nhất định (đạt các giá trị cực đại) Việc đạt được trạng thái tối ưu hay không phụ thuộc vào các yêu cầu về chất lượng được đặt ra, sự hiểu biết về đối tượng và tác động lên đối tượng, điều kiện làm việc của hệ thống,
Xem xét một hệ thống với phương trình toán học được cho như sau:
Với x là một ma trận các biến trạng thái của hệ thống, u là 1 ma trận tín hiệu điều khiển Hệ thống này có một điểm cân bằng xác định x0, tại điểm cân bằng đó, tín hiệu điều khiển là 0 Chúng ta gọi x0 là một điểm làm việc Khi đó, để điều khiển hệ thống trên sao cho hệ thống ổn định tại điểm làm việc, chúng ta có thể áp dụng cấu trúc bộ điều khiển LQR sau đây:
Hình 2.2.1: cấu trúc của bộ điều khiển LQR
Trong cấu trúc ở trên, ma trận điều khiển K được tính toán dựa trên mô hình tuyến tính của hệ thống:
A, B: Ma trận tuyến tính của hệ thống
Q: Ma trận trọng số của các biến trạng thái
R: Trọng số kiểm soát u: tín hiệu điều khiển
Ma trận các biến trạng thái x = [x1 x2 x3 x4], ma trận này được nhân với nhân tố
“-K” để đưa ra tín hiệu điều khiển u = -Kx
Chúng ta cần tìm ma trận K của vector điều khiển tối ưu: sao cho tiêu chuẩn chất lượng (hàm mục tiêu) J đạt giá trị tối thiểu:
7 Ở đây, Q là một ma trận xác định dương (hoặc xác định dương bán xác định), R là một ma trận xác định dương
Ma trận tối ưu K được xác định từ phương trình Riccati có dạng:
Do đó, luật điều khiển tối ưu cho bài toán điều khiển tối ưu bậc hai với tiêu chuẩn chất lượng là một phương trình tuyến tính và có dạng:
Ma trận P thỏa mãn phương trình Riccati:
Khi P không thay đổi theo thời gian, chúng ta có phương trình đại số Riccati:
GIẢI THUẬT TỐI ƯU PSO
Phương pháp PSO là một trong những phương pháp dựa trên trí tuệ bầy đàn để tìm giải pháp cho các bài toán tối ưu hóa trên một không gian tìm kiếm nhất định PSO là kết quả của việc mô hình hóa một đàn chim hoặc cá đang tìm kiếm thức ăn Do đó, nó được phân loại là một thuật toán sử dụng trí thông minh bầy đàn
Hình 2.3.1: Đàn chim tự nhiên
Hình 2.3.2: Đàn cá tự nhiên Để hiểu rõ hơn về thuật toán PSO, chúng ta hãy xem xét một ví dụ đơn giản về quá trình tìm kiếm thức ăn của một đàn chim Không gian tìm kiếm thức ăn lúc này là toàn bộ không gian ba chiều nơi chúng ta đang sống Tại một thời điểm nào đó, cả đàn bắt đầu tìm kiếm và bay theo hướng ngẫu nhiên Tuy nhiên, sau một thời gian tìm kiếm, một số cá thể trong đàn bắt đầu tìm được những nơi có nhiều thức ăn Tùy thuộc vào lượng thức ăn vừa tìm được, các cá thể sẽ gửi tín hiệu cho các cá thể khác đang tìm kiếm gần đó, tín hiệu này nhanh chóng lan truyền khắp quần thể Dựa trên thông tin nhận được, mỗi cá thể sẽ điều chỉnh hướng bay và tốc độ của mình theo hướng có nhiều thức ăn hơn Cơ chế giao tiếp như vậy được gọi là cơ chế tìm kiếm dựa trên trí thông minh bầy đàn Cơ chế này giúp cả đàn chim tìm được nơi có nguồn thức ăn dồi dào nhất trong một không gian tìm kiếm vô cùng rộng lớn
Phương pháp PSO được giới thiệu vào năm 1995 tại hội nghị IEEE bởi hai nhà khoa học James Kennedy và Russell C Eberhart PSO là một dạng của các thuật toán tiến hóa quần thể đã được biết đến từ trước như GA (Thuật toán di truyền), thuật toán đàn kiến ACO (Tối ưu hóa đàn kiến) PSO có nhiều điểm tương đồng với thuật toán GA Hệ thống được khởi tạo với một tập hợp các giải pháp ngẫu nhiên và tìm kiếm giải pháp tối ưu bằng cách cập nhật các thế hệ Tuy nhiên, không giống như GA, PSO không có các toán tử có khả năng mở rộng như hệ số đột biến và chéo Người ta cũng chứng minh rằng thuật toán PSO cung cấp giải pháp tốt hơn thuật toán GA trong các hàm tiêu chuẩn Trong PSO, giải pháp thiết yếu được gọi là các cá nhân, bay qua không gian vấn đề theo sau các cá nhân có giá trị hiện tại tốt nhất
9 Trong thuật toán PSO, các cá thể bay quanh không gian bài toán đa chiều cho đến khi gặp một vị trí tương đối không đổi hoặc vượt quá giới hạn tính toán Trong bối cảnh khoa học xã hội, hệ thống PSO kết hợp một mô hình xã hội duy nhất và một mô hình nhận thức duy nhất Thành phần xã hội gợi ý rằng các cá nhân bỏ qua trải nghiệm của chính họ và điều chỉnh hành vi của họ dựa trên những kỳ vọng về sự thành công trong môi trường của họ Mặt khác, thành phần nhận thức coi các cá nhân là bị cô lập Các cá nhân thay đổi vị trí theo các mô hình này
Mỗi cá nhân duy trì đường đi với tọa độ của mình trong không gian bài toán và được giao giải pháp phù hợp nhất mà mình vừa đạt được Giá trị phù hợp nhất cũng được lưu trữ, giá trị này được gọi là pbest Giá trị tốt khác theo sau bởi trình tối ưu hóa bầy đàn là giá trị tốt nhất mà bất kỳ cá nhân nào thuộc hàng xóm của quần thể thu được Vị trí này được gọi là lbest, giá trị tốt nhất giữa các cá thể trong quần thể được gọi là giá trị tổng thể tốt nhất gbest
Khái niệm của PSO bao gồm tại mỗi bước thời gian thay đổi vận tốc (gia tốc) của mỗi cá thể về giá trị tốt nhất pbest và vị trí tốt nhất lbest Sự gia tốc này được hoạch định bằng một số hạng ngẫu nhiên với các số ngẫu nhiên tách rời được tạo ra cho sự gia tốc về giá trị pbest và vị trí lbest Trong những năm qua, PSO được áp dụng thành công trong nhiều nghiên cứu và nhiều lĩnh vực ứng dụng khác nhau
PSO được chứng minh là phương pháp đạt được kết quả nhanh hơn, rẻ hơn so với các phương pháp khác
Một lý do khác mà PSO được thu hút sự quan tâm là do nó có rất ít biến điều khiển PSO vừa được sử dụng cho các cách tiếp cận mà có thể được sử dụng qua rất nhiều các ứng dụng cũng như các ứng dụng cụ thể chú trọng vào các điều kiện cụ thể
PSO có nhiều thuận lợi hơn so với các thuật toán tối ưu hóa thông thường khác, chẳng hạn như:
- PSO là thuật toán tìm kiếm dựa trên quần thể Tính chất này đảm bảo PSO ít bị kẹt ở giá trị cực tiểu địa phương
- PSO sử dụng thông tin hoàn trả(payoff) để hướng dẫn tìm kiếm trong không gian bài toán Vì vậy, PSO dễ dàng thích ứng với các bài toán với hàm mục tiêu không khả vi Hơn nữa, tính chất này làm giảm bớt đi sự giả định và sự xấp xỉ trong khi các phương pháp truyền thống khác không l làm được
- PSO sử dụng các quy luật chuyển tiếp xác xuất mà không theo một quy luật xác định Vì thế, PSO là một loại thuật toán tối ưu hóa phỏng đoán mà có thể tìm kiếm ở các miền phức tạp và không chắc chắn Điều đó làm cho PSO uyển chuyển hơn và vững chắc hơn các phương pháp thông thường khác
- Không giống như thuật toán GA hay thuật toán tự tìm kiếm lời giải khác PSO có sử uyển chuyển để điều khiển sự cân bằng giữa sự thăm dò cục bộ và toàn cục trong không gian bài toán Nét độc đáo này của PSO giúp nó vượt qua vấn đề hội tụ hấp tấp và mở rộng khả năng tìm kiếm
- Không giống như các phương pháp truyền thống khác, chất lượng lời giải của PSO không phụ thuộc vào quần thể ban đầu Bắt đầu tại bất cứ nơi đâu trong không gian tìm kiếm, thuật toán đảm bảo sự hội tụ đến lời giải tối ưu
Cơ sở nền tảng của PSO
Mô hình thay đổi vị trí của thuật toán PSO trong không gian được biểu diễn như hình 2.3.3
Hình 2.3.3: Nguyên lý thay đổi vị trí của cá thể trong không gian 2 chiều
Cơ sở nền tảng của kỹ thuật PSO được nêu ra và định nghĩa như sau:
Cá thể X(i): Là lời giải ứng viên được thay thế bởi vector giá trị thực k chiều, với k là số thông số được tối ưu Tại vòng lặp i, vị trí của cá thể thứ j là X(i,j) có thể được mô tả như sau:
Với 𝑥 𝑘 (𝑖, j) : thông số tối ưu thứ k trong lời giải ứng viên thứ j d : đại diện cho các biến điều khiển
Quần thể: Là tập hợp n cá thể tại vòng lập i
Với n thay thế cho số các lời giải ứng viên
Bầy đàn: Là một quần thể không có tổ chức của các cá thể vận động mà có xu hướng tụ hợp lại trong khi mỗi cá thể có xu hướng di chuyển theo một hướng ngẫu nhiên
Vận tốc cá thể V(i): Là vận tốc của cá thể di chuyển thay thế bởi 1 vector giá trị thực d chiều Tại vòng lặp i, vận tốc cá thể thứ j là 𝑉 j (𝑖) có thể được mô tả như sau:
Với 𝑣 j,𝑘 (𝑖) là thành phần vận tốc của cá thể thứ j trong không gian chiều thứ k
Cá thể tốt nhất X*(i): Trong suốt quá trình di chuyển của cá thể qua không gian tìm kiếm, nó so sánh các giá trị phù hợp tại vị trí hiện tại với các giá trị phù hợp mà nó đạt được trước đó tại vòng lặp bất kỳ cho tới vòng lặp hiện tại Vị trí tốt nhất mà được kết hợp với giá trị phù hợp nhất đạt được thì gọi là cá thể tốt nhất X*(i) Đối với mỗi cá thể trong bầy đàn, X*(i) có thể được xác định và cập nhật trong suốt quá trình tìm kiếm Cá thể thứ j, cá thể tốt nhất có thể được diễn tả như sau:
Trong bài toán cực tiểu hóa với 1 hàm mục tiêu duy nhất f, cá thể tốt nhất thứ j là
Xj*(i) được cập nhật bất cứ khi nào 𝑓(𝑋 j* (𝑖)) < 𝑓(𝑋 j* (𝑖 − 1))
TÍNH TOÁN VÀ THIẾT KẾ
PHƯƠNG TRÌNH TOÁN HỌC
Tất cả các hệ thống điều khiển tự động được mô tả bằng một phương trình vi phân toán học Hệ thống con lắc ngược cũng không ngoại lệ, để điều khiển hệ thống con lắc xoay ngược, điều quan trọng nhất là hiểu về đối tượng, từ đó đề xuất một phương pháp điều khiển Đối với một hệ thống RIP, để mô tả hệ thống dưới dạng một phương trình toán học, đó là sự kết hợp giữa vật lý và toán học với định lý cổ điển của Lagrange (dựa trên năng lượng tổng của hệ thống và lực tổng quát trong một hệ tọa độ Descartes)
Cấu trúc toán học của hệ thống RIP được trình bày như sau Các tham số hệ thống tương ứng với Bảng 3.1.1
Hình 3.1.1: Cấu trúc của hệ thống RIP
Hệ thống con lắc xoay ngược bao gồm một con lắc có khối lượng Mp, chiều dài
Lp, góc của con lắc so với đường thẳng là α, con lắc được gắn vào một thanh ngang có chiều dài Lr Động cơ servo DC được sử dụng để di chuyển thanh ngang theo hai hướng có thể đảo ngược với một góc β
Bảng 3.1.1: Các ký hiệu của hệ thống RIP
Góc của thanh con lắc so với phương thẳng đứng
Góc của cánh đòn so với vị trí mốc
Vận tốc góc của thanh con lắc
Vận tốc góc của cánh đòn
Gia tốc góc của thanh con lắc
Gia tốc góc của cánh đòn
𝑚 𝑝 Khối lượng của thanh con lắc
𝐿 𝑝 Chiều dài của thanh con lắc
𝐽 𝑝 Mô men quán tính của thanh con lắc m r Khối lượng của cánh tay đòn
L r Chiều dài của thanh cánh đòn
𝐽 𝑟 Mô-men quán tính của cánh đòn g Gia tốc trọng trường
𝑀 𝑒𝑛 Khối lượng của Encoder e Điện áp động cơ DC
/ r B A Khoảng cách từ vị trí B đến vị trí A
/ v B A Vận tốc từ vị trí B đến vị trí A
/ v A O Vận tốc từ vị trí A đến vị trí O
/ v B O Vận tốc từ vị trí B đến vị trí O Điểm B là điểm ở giữa thanh con lắc:
14 Đặt điểm A là giao điểm của các tọa độ xyz, trọng lực của con lắc được đặt tại điểm trung điểm B, vì vậy B sẽ có tọa độ, vận tốc tương đối đối với A là:
(3 2) (3 3) Đồng thời với việc quay quanh điểm A, con lắc cũng thực hiện quay quanh điểm O với vận tốc Lr Do đó, vận tốc của điểm A so với điểm cố định O có thể được mô tả bằng phương trình:
Từ các phương trình (3 3) và (3 4), vận tốc của điểm B, trọng tâm trọng lực của con lắc được mô tả theo hai hướng x, y như sau:
Chúng ta có phương trình Euler-Lagrange cho hệ thống RIP:
- , : Góc và vận tốc của thanh con lắc
- , : góc và vận tốc của cánh tay đòn
: Lực tổng quá cho hệ tọa độ
L là hàm Lagrange của hệ thống trong hệ tọa độ Descartes:
Xem điểm O là gốc thế năng, tổng thế năng của hệ là:
Tổng động năng của hệ là: system pendulum arm
Mô-men quán tính của cánh đòn:
Mô-men quán tính của thanh con lắc tính từ trọng tâm:
Từ phương trình (3 9) và (3 13) ta được tổng động đăng của cả hệ thống là:
Từ phương trình (3.7) và (3.14) ta được phương trình Lagrange là:
Chúng ta áp dụng phương trình Lagrange (3.6) vào hệ thống RIP:
Từ 2 phương trình (3 16) và (3 17) ta suy ra được hệ phương trình động học của hệ thống:
Giải hệ phương trình (3 18) chúng ta được:
L L M Cos Sin Cos L M gSin L M gSin L M gSin
Từ phương trình (3.19), chúng ta có thể viết lại dưới dạng ma trận phương trình của hệ thống RIP với đầu vào là mô-men động cơ, đầu ra là góc α, β
Tuy nhiên, trong hai công thức (3.18) và (3.19) mô tả phương trình động học của hệ thống con lắc với đầu vào là mô-men xoắn, để thuận tiện cho việc điều khiển hệ thống, cần chuyển đổi phương trình động của hệ thống sang dạng đầu vào là điện áp, phù hợp với việc sử dụng các động cơ Do đó, việc điều khiển của chúng ta sẽ đơn giản hơn Đồng thời, chúng ta cũng có thể thấy rằng động cơ chính nó cũng là một hệ thống phi tuyến, và điện áp là thành phần điều khiển mà người vận hành sử dụng cho hệ thống
17 Mô-men động cơ chỉ là thành phần được tạo ra như một kết quả của quá trình sử dụng điện áp Do đó, việc chuyển đổi phương trình toán học sang dạng đầu vào là điện áp (thay vì mô-men) là cần thiết
Hình 3.1.2: Cấu trúc động cơ DC
Các thông số hệ thống như trong Table 3.1.2 dưới đây được lấy làm tham khảo từ bài báo [ 14]
Bảng 3.1.2: Thông số kỹ thuật
Ký hiệu Mô tả Giá trị
L m Điện cảm động cơ (H) Nhà sản xuất cung cấp
K b Hằng số phản điện động
K t Hằng số mô-men (Nm/A) 0.08616450063616
Mô-men quán tính của rotor động cơ DC (kgm 2 ) 0.000059833861116
C m Hệ số ma sát nhớt (Nm/rad/sec) 0.000067435629646
T f Mô-men ma sát (Nm) Nhà sản xuất cung cấp
m Mô-men xoắn (Nm) Đại lượng cần tính toán
𝜔 Tốc độ động cơ DC (rad/s) Đại lượng cần tính toán
i Mô-men xoắn nội (Nm) Đại lượng cần tính toán
𝜃 𝑚 Góc quay trục động cơ (rad) Đại lượng cần tính toán
18 Cấu trúc của động cơ được chia thành 2 phần: Phần điện và phần cơ
Phân tích phần điện: m m b e L di R i E
Với E b =K b , từ phương trình (3 25), chúng ta có: m m b e L di R i K dt
Với i = K i t , từ phương trình (3 27), chúng ta có: m t f m m
P = (3 30) Áp dụng định luận bảo toàn năng lượng: e m b i (W) b t b t
Trong trường hợp Kb, Kt và sử dụng đơn vị MKS (Kb với đơn vị V/rad/s) và Kt với đơn vị Nm/A, nên Kt = Kb Vì tốc độ điện nhanh hơn tốc độ cơ 𝑒 >> 𝐿 𝑚 𝑑𝑖
𝑑𝑡 , nên hệ số tự cảm trong công thức có thể được loại bỏ, từ phương trình (3.26) ta có:
19 Chúng ta có: = m = = Thay vào phương trình (3 33), we get: t t i b m m
Dựa trên phương trình (3 ), Chúng ta thay phương trình (3 28) vào (bỏ qua mô- men ma sát T f ), chúng ta nhận được phương trình bên dưới:
Kết hợp (3 18) và (3 38), chúng ta được phương trình động học của hệ thống RIP với đầu vào là điện áp e, đầu ra là góc và như bên dưới:
Từ phương trình (3 18) và (3 38) chúng ta được:
+ + + − (3 45) Để khảo sát tính ổn định của hệ thống, chúng ta sẽ khảo sát khi các biến trạng thái bằng 0 Đặt các biến như sau:
Phương trình không gian trạng thái:
Trong phương trình (3 47) u t ( ) là tín hiệu điều khiển điện áp và c t ( ) là tín hiệu đầu ra bao gồm góc và vận tốc tóc góc của thanh con lắc và cánh tay đòn
Từ phương trình (3 44) và (3 47), Hệ thống RIP được mô tả dưới dạng phương trình không gian trạng thái như sau:
22 Xem như tại điểm làm việc hệ thống RIP có ( = 0, = 0, = 0, = 0, e = 0), dựa trên MATLAB/Simulink software, chúng ta tìm được ma trận A và B:
THIẾT KẾ BỘ ĐIỀU KHIỂN LQR
Hệ thống con lắc xoay ngược là một hệ thống SIMO (Single Input Multi Output) với độ phi tuyến cao
Với một đầu vào điện áp cung cấp cho động cơ DC Servo, và hai đầu ra là góc lệch của cánh đòn và góc lệch của thanh con lắc Vấn đề là điều khiển cân bằng cho hệ thống ở vị trí cân bằng dọc hướng lên trên
Thiết kế bộ điều khiển LQR và mô phỏng được thực hiện trên phần mềm MATLAB/Simulink Sơ đồ mô phỏng của bộ điều khiển LQR được trình bày như sau
Hình 3.2.1: mô phỏng bộ điều khiển LQR cho hệ RIP
Việc lựa chọn ma trận Q để đảm bảo chất lượng đầu ra tốt nhất có thể gặp nhiều khó khăn khi thử và sai Do đó, phương pháp tìm kiếm các tham số tối ưu dựa trên thuật toán LQR là giải pháp được áp dụng một cách hiệu quả và sử dụng các phương trình toán học của hệ thống Từ đó, thiết lập chương trình để tìm kiếm bằng thuật toán LQR
Hình 3.2.2: Mô phỏng hệ thống RIP
Code trong khối Matlab Function mô tả phương trình chuyển động xem thêm ở phần phụ lục
THI CÔNG HỆ THỐNG
THIẾT KỆ PHẦN CƠ HỆ THỐNG RIP
Hình bên dưới (Hình 4.1.1) minh họa mô hình thực tế Hình ảnh được chú thích cho mỗi phần của hệ thống
Hình 4.1.1: Rotary inverted pendulum system hardware model
25 Kết nối của hệ thống RIP:
Hình 4.1.2: Sơ đồ kết nối của hệ thống RIP
THIẾT KẾ PHẦN MỀM HỆ THỐNG RIP
4.2.1 GIỚI THIỆU VỀ PHẦN MỀM DÙNG TRONG MATLAB a) Giới thiệu
Embedded Coder Support Package for STMicroelectronics STM32 Processors cho phép bạn tự động xây dựng và triển khai mã tối ưu hóa cho bộ vi xử lý STM32 Nó tích hợp với STM32CubeMX để cấu hình ngoại vi và bao gồm các thư viện khối cho ngoại vi và I/O Bạn có thể thiết kế các thuật toán trong Simulink bằng cách sử dụng các khối cung cấp sẵn và tạo mã có thể biên dịch và thực thi trên các vi điều khiển STM32, bao gồm các board STM32 Nucleo và Discovery
- Thử nghiệm nhanh các thuật toán trên chip bằng cách sử dụng quá trình xây dựng, triển khai và thực thi tự động
- Thực hiện điều chỉnh và ghi nhật ký thông số thời gian thực bằng cách sử dụng chế độ theo dõi và điều chỉnh (chế độ ngoại vi)
- Thực hiện kiểm thử trong vòng lặp bộ xử lý (PIL) với hồ sơ thực thi
- Tạo mã tối ưu hóa cho bộ xử lý, bao gồm CMSIS-DSP
- Hỗ trợ cấu hình ngoại vi bằng cách tích hợp STM32CubeMX
- Thư viện khối điều khiển cho các thiết bị ngoại vi trên chip và trên bo mạch
4.2.2 THIẾT KẾ SIMULINK ĐỂ NHÚNG CHO STM32F407-DISC1
27 Các khối sử dụng trong hình 4.2.1:
Nhiệm vụ của khối Encoder là đọc tín hiệu trả về từ Encoder và trả ra số xung đếm được từ Encoder
Hình 4.2.3: Khối chuyển đổi kiểu dữ liệu
Có nhiệm vụ chuyển đổi kiểu từ liệu từ đầu vào thành kiểu dữ liệu mong muốn
Hình 4.2.4: Khối lưu dữ liệu
Có nhiệm vụ lưu giá trị của một biến theo thời gian
Hình 4.2.5: Khối delay đơn vị
Có nhiệm vụ trả về giá trị của biến trước đó một thời gian lấy mẫu
Phần code xử lý góc trong khối Matlab Function xem thêm trong phần phụ lục
Hình 4.2.6: Khối xử lý và đưa ra tín hiệu điều khiển
28 Các khối sử dụng trong hình 4.2.6:
Hình 4.2.7: Khối đạo hàm rời rạc
Nhiệm vụ của khối đạo hàm là sẽ đạo hàm đầu vào và cho ra đầu ra tương ứng
Có nhiệm vụ cho ra đầu ra tương ứng với đầu vào
Hình 4.2.8: Khối tích phân rời rạc
Có nhiệm vụ là sẽ lấy tích phân của đầu vào và cho ra đầu ra tương ứng
Có nhiệm vụ phát xung PWM tương ứng với đầu vào
Phần code bộ điều khiển LQR trong khối Matlab Function xem thêm trong phần phụ lục Phần code đưa ra tín hiệu điều khiển cho khối PWM trong Matlab Function:
Phần code dùng để tính 2 ma trận A và B xem thêm trong phần phụ lục
Phần code thuật toán PSO xem thêm trong phần phụ lục
Phần code dùng để tính ma trận K xem thêm trong phần phụ lục
4.2.4 LƯU ĐỒ GIẢI THUẬT CỦA HỆ THỐNG
Lưu đồ là một phương tiện để minh họa trực quan một chuỗi các nhiệm vụ nhất định dưới dạng hình ảnh đơn giản bao gồm các bước, điều kiện thay đổi và hình thành kết quả Việc lập trình điều khiển cho hệ thống phải nhất quán và không được bỏ sót bất kỳ bước nào để mang lại kết quả tốt nhất cho thí nghiệm Do đó, việc có một lưu đồ thuật toán điều khiển là rất cần thiết
Hình 4.2.10: Lưu đồ giải thuật
- Khối thiết lập tham số: khai báo biến, khai báo bộ đếm thời gian, khai báo ngắt ngoài, khai báo các hằng số giá trị
- Khối kiểm tra ngắt Encoder: kiểm tra sự thay đổi tín hiệu từ hai kênh A và B của cả hai encoder với các chân ngắt ngoài để hoàn tất việc đọc và tính toán
- Khối kiểm tra ngắt Timer2: ngắt khi đạt đến 1ms để tính toán vận tốc
- Khối kiểm tra ngắt Timer1: ngắt khi đạt đến 10ms để tính toán giá trị điện áp
KẾT QUẢ THỰC HIỆN
DÙNG ISE ĐỂ ĐÁNH GIÁ ĐIỀU KHIỂN LQR VỚI MA TRẬN Q, R TỰ CHỌN
Các phần mô phỏng về sau đều sẽ sử dụng các giá trị bắt đầu là:
Phương trình ISE được sử dụng là:
Ma trận Q và R được chọn để tính giá trị K:
Hình 5.1.1: Đồ thị mô phỏng với ma trận Q, R được chọn
Dựa vào hình ảnh và phương trình trên, ta có thể thấy rằng con lắc chuyển từ vị trí ban đầu (0.2 rad) đến điểm cân bằng và ổn định vào lúc 4 giây Thanh tay đi từ vị trí ban đầu (-0.1 rad) đến -0.5 rad và trở lại vị trí cân bằng sau 6 giây Áp dụng phương pháp ISE để đánh giá mức độ tốt của hệ thống với e1 là sai số của góc α và e3 là sai số của góc β:
31 Thí nghiệm thực tế được thực hiện sau 10 giây, đây là thời gian cần để nâng con lắc lên vị trí cân bằng bằng tay
Hình 5.1.2: Kết quả thực tế của góc α (với ma trận Q, R được chọn)
Dựa trên kết quả thực tế của hình Figure 5.1.2, chúng ta có thể thấy rằng thanh con lắc dao động quanh vị trí cân bằng Thanh con lắc dao động xung quanh 0.04 (rad) đến - 0.02 (rad) và dao động quanh vị trí tầm 0.01 (rad)
Hình 5.1.3: Kết quả thực tế của góc β (với ma trận Q, R được chọn)
32 Dựa trên hình Figure 5.1.3 chúng ta có thể thấy rằng cánh tay quay dao động từ 0.2 (rad) đến 0.4 (rad) Áp dụng phương pháp ISE để đánh giá mức độ tốt của đáp ứng thực tế với e1 là sai số của góc α và e3 là sai số của góc β:
5.2 PHÂN TÍCH TÁC ĐỘNG CỦA PSO VÀO BỘ ĐIỀU KHIỂN LQR VÀ
CŨNG NHƯ ẢNH HƯỞNG KHI THAY ĐỔI TRỌNG SỐ CỦA CÁC SAI SỐ TRONG PHƯƠNG TRÌNH COST FUNCTION
Cost Function được sử dụng:
5.2.1 ÁP DỤNG PSO TÌM QR VỚI E 1 , E 2 , E 3 , E 4 KHÔNG CÓ TRỌNG SỐ ƯU
TIÊN a) Giới hạn Q = [0, 200]; R = [1, 5]; Áp dụng giải thuật PSO với giới hạn trên ta được K:
Ma trận Q và R tương ứng:
Hình 5.2.1: Đồ thị mô phỏng
Dựa trên đồ thị có thể thấy đáp ứng của góc α là khoảng 0.8 giây và của góc β là khoảng 4 giây Áp dụng phương pháp ISE để đánh giá mức độ tốt của hệ thống với e1 là sai số của góc α và e3 là sai số của góc β:
Hình 5.2.2: kết quả thực tế của góc α (với ma trận Q, R được chọn)
Dựa trên kết quả thực tế của hình 5.2.2, chúng ta có thể thấy rằng thanh con lắc dao động quanh vị trí cân bằng Thanh con lắc dao động xung quanh 0.05 (rad) đến -0.03 (rad) và dao động quanh vị trí tầm 0.01 (rad)
Hình 5.2.3: kết quả thực tế của góc β (với ma trận Q, R được chọn)
Dựa trên hình 5.2.3 chúng ta có thể thấy rằng cánh tay quay dao động từ 0.03 (rad) đến 0.55 (rad) Áp dụng phương pháp ISE để đánh giá mức độ tốt của đáp ứng thực tế với e1 là sai số của góc α và e3 là sai số của góc β:
ISE = e + e dt = b) Giới hạn Q = [0, 1000]; R = [1, 5]; Áp dụng giải thuật PSO với giới hạn trên ta được K:
Ma trận Q và R tương ứng:
Hình 5.2.4: Đồ thị mô phỏng
Dựa trên đồ thị có thể thấy đáp ứng của góc α là khoảng 0.8 giây và của góc β là khoảng 4 giây Áp dụng phương pháp ISE để đánh giá mức độ tốt của hệ thống với e1 là sai số của góc α và e3 là sai số của góc β:
Hình 5.2.5: kết quả thực tế của góc α (với ma trận Q, R được chọn)
Dựa trên kết quả thực tế của hình 5.2.5, chúng ta có thể thấy rằng thanh con lắc dao động quanh vị trí cân bằng Thanh con lắc dao động xung quanh 0.05 (rad) đến -0.03 (rad) và dao động quanh vị trí tầm 0.01 (rad)
Hình 5.2.6: kết quả thực tế của góc β (với ma trận Q, R được chọn)
Dựa trên hình 5.2.6 chúng ta có thể thấy rằng cánh tay quay dao động từ 0.03 (rad) đến 0.55 (rad) Áp dụng phương pháp ISE để đánh giá mức độ tốt của đáp ứng thực tế với e1 là sai số của góc α và e3 là sai số của góc β:
ISE = e + e dt = c) Giới hạn Q = [0, 5000]; R = [1, 5]; Áp dụng giải thuật PSO với giới hạn trên ta được K:
Ma trận Q và R tương ứng:
Hình 5.2.7: Đồ thị mô phỏng
Dựa trên đồ thị có thể thấy đáp ứng của góc α là khoảng 0.8 giây và của góc β là khoảng 4 giây Áp dụng phương pháp ISE để đánh giá mức độ tốt của hệ thống với e1 là sai số của góc α và e3 là sai số của góc β:
Hình 5.2.8: kết quả thực tế của góc α (với ma trận Q, R được chọn)
Dựa trên kết quả thực tế của hình 5.2.8, chúng ta có thể thấy rằng thanh con lắc dao động quanh vị trí cân bằng Thanh con lắc dao động xung quanh 0.05 (rad) đến -0.03 (rad) và dao động quanh vị trí tầm 0.01 (rad)
Hình 5.2.9: kết quả thực tế của góc β (với ma trận Q, R được chọn)
Dựa trên hình 5.2.9 chúng ta có thể thấy rằng cánh tay quay dao động từ 0.2 (rad) đến 0.55 (rad) Áp dụng phương pháp ISE để đánh giá mức độ tốt của đáp ứng thực tế với e1 là sai số của góc α và e3 là sai số của góc β:
Nhận xét: Qua các thí nghiệm cho thấy kết quả rõ rệt nhất về ảnh hưởng của giải thuật PSO trong việc tối ưu bộ điều khiển LQR khi thông số ISE giảm giống với lại mô phỏng
5.2.2 ÁP DỤNG PSO TÌM QR VỚI E 1 , E 2 , E 3 , E 4 CÓ TRỌNG SỐ ƯU TIÊN,
Khi đó Cost Function tương ứng:
Từ khảo sát này trở đi, tôi sẽ áp dụng trong phạm vi Q = [0, 5000], và R = [1, 5] a) Giới hạn Q = [0, 5000]; R = [1, 5]; và x = 40; Áp dụng giải thuật PSO với giới hạn trên ta được K:
Ma trận Q và R tương ứng:
Hình 5.2.10: Đồ thị mô phỏng Áp dụng phương pháp ISE để đánh giá mức độ tốt của hệ thống với e1 là sai số của góc α và e3 là sai số của góc β:
Hình 5.2.11: kết quả thực tế của góc α (với ma trận Q, R được chọn)
Dựa trên kết quả thực tế của hình 5.2.11, chúng ta có thể thấy rằng thanh con lắc dao động quanh vị trí cân bằng Thanh con lắc dao động xung quanh 0.05 (rad) đến -0.03 (rad) và dao động quanh vị trí tầm 0.01 (rad)
Hình 5.2.12: kết quả thực tế của góc β (với ma trận Q, R được chọn)