Nghiên cứu, thiết kế hệ xe hai bánh tự cân bằng
Trang 1KHOA ĐIỆN ĐIỆN TỬ
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG
Trang 2LỜI CẢM ƠN
Chúng em chân thành cảm ơn, quý thầy cô trường Đại Học Sư Phạm kỹ ThuậtTP.HCM nói chung và quý thầy cô bộ môn Điều khiển tự động nói riêng, đã trang bịkiến thức và giúp đỡ chúng em, giải quyết những khó khăn trong quá trình làm đồ án 1
vi xử lý
Đặc biệt chúng em xin chân thành cảm ơn Thầy hướng dẫn là ThS Tạ Văn Phương
đã tận tình giúp đỡ trong quá trình lựa chọn đề tài và hỗ trợ sinh viên trong quá trìnhthực hiện
Sau cùng nhóm xin cảm ơn các bạn bè đã giúp đỡ để đồ án 1 Vi xử lý được hoàn
thành tốt đẹp Tuy nhiên do lần đầu tiên thiết kế đề tài “Hệ xe hai bánh tự cân bằng”
và làm quen với các giải thuật điều khiển mới, chuyên môn còn hạn chế, nên khôngtránh khỏi những sai sót
Chúng em rất mong nhận được sự thông cảm, góp ý và hướng dẫn của quý thầy côcùng các bạn
Xin chúc quý thầy cô nhiều sức khoẻ và thành công trong quá trình công tác và họctập
Chúng em xin chân thành cảm ơn
Tp Hồ Chí Minh, ngày 29 tháng 04 năm 2018
Sinh viên thực hiện
Trang 3TÓM TẮT
Đề tài “Hệ xe hai bánh tự cân bằng” được nhóm thực hiện dựa trên lý thuyết mô
hình con lắc ngược Nhóm đã quyết định phát triển đề tài từ hệ thống xe hai bánh tự cânbằng dùng giải thuật PID sang sử dụng giải thuật LQR( Linear Quadratic Regulator) đểđiều khiển và tiến hành mô phỏng trên Matlab để nghiên cứu giải thuật LQR và ứngdụng điều khiển robot hai bánh cân bằng
Với đề tài “Hệ xe hai bánh tự cân bằng” nhóm sẽ thực hiện so sánh giữa lí
thuyết điều khiển kinh điển PID so với giải thuật điều khiển LQR nhằm tối ưu những
ưu nhược điểm cho nhau đưa đến một hệ xe ổn định nhất có thể, nhóm sẽ kiểm nghiệmnhững điểm giống và khác nhau giữa hai bộ điều khiển nhờ vào nghiên cứu giải thuậttrên Matlab Simulink
Đồ án này sẽ trình bày bao gồm cả phần cứng bao gồm: Arduino Uno R3, cảmbiến góc nghiêng MPU 6050, mạch cầu H L298N, động cơ DC … các cách thức hoạtđộng của Vi điều khiển, cảm biến gia tốc góc nghiêng cùng với các Board băm xungcấp điện áp L298N
Trang 4MỤC LỤC
LỜI CẢM ƠN
TÓM TẮT
MỤC LỤC
DANH SÁCH HÌNH
DANH SÁCH BẢNG
PHẦN 1: LỜI NÓI ĐẦU
PHẦN 2: NỘI DUNG
CHƯƠNG 1: GIỚI THIỆU TỔNG QUAN ĐỀ TÀI
1.1 Lý do chọn đề tài
1.2 Tầm nhìn của đề tài
1.3 Mục tiêu của đề tài
1.4 Giới hạn đề tài
CHƯƠNG 2: LÝ THUYẾT ĐIỀU KHIỂN
2.1 Bộ điều khiển PID
2.2 Bộ điều khiển LQR
CHƯƠNG 3: THIẾT KẾ HỆ THỐNG
CHƯƠNG 4:VIẾT CHƯƠNG TRÌNH ĐIỀU KHIỂN LQR
CHƯƠNG 5: KẾT QUẢ
CHƯƠNG 6: KẾT LUẬN VÀ ĐỊNH HƯỚNG PHÁT TRIỂN
TÀI LIỆU THAM KHẢO
PHỤ LỤC
Trang 5PHẦN 1: LỜI NÓI ĐẦU
Ngày nay quá trình hiện đại hóa, công nghiệp hóa đang diễn ra ngày một nhanhkhông ngừng đẩy nhanh tiến độ phát triển khoa học công nghệ theo hướng hiện đại củacác quốc gia nói chung và Việt Nam nói riêng, lĩnh vực điện- điện tử là một trong nhiều
số các lĩnh vực có lượng các nghiên cứu khoa học lớn và cũng là lĩnh vực nằm trongtop các lĩnh vực đi tiên phong về khoa học công nghệ, các nghiên cứu trong và ngoàinước hiện nay đã góp phần không ít vào các giải pháp thông minh trong các cơ sỡnghiên cứu, các công ty , nhà máy, xí nghiệp…
Robot là một cụm từ không mấy xa lạ với thời đại cách mạng công nghiệp hiệnnay, Robot đã và đang chiếm giữ nhiều vị trí thay thế quan trọng trong các nhà máy xínghiệp, các công ty chuyên về sản xuất trang thiết bị, các công ty chuyên về thiết kế thicông các sản phẩm trên thị trường Với Robot phần được coi như bộ xử lí trung tâm của
nó gọi là “Vi điều khiển”, mỗi Robot khác nhau sẽ có bộ vi điều khiển xử lí khác nhau,tùy vào mức độ phứt tạp cũng như giá thành phù hợp với mỗi loại robot mà người thiết
kế sẽ chọn lựa cho phù hợp Nhằm để hiểu rỏ hơn về quá trình thực hiện điều khiển
Robot nhờ bộ vi điều khiển trong đề tài này nhóm sẽ thực hiện nghiên cứu “Hệ xe hai bánh tự cân bằng” để có cái nhìn trực diện hơn về lĩnh vực Robot nói chung và vi
điều khiển nói riêng
Trong đề tài “đồ án 1” vi xử lý dưới sự hướng dẫn của ThS Tạ Văn Phương
nhóm chúng em đã lựa chọn được đề tài “Hệ xe hai bánh tự cân bằng” Với đề tài này
đòi hỏi cần có một lượng kiến thức nhất định về lập trình Vi điều khiển, các giải thuật điều khiển cơ bản cũng như nâng cao nhằm phát triển và sáng tạo đề tài theo xu hướng hiện đại
Với những xuất phát điểm nêu trên, nhóm mong được ôn lại những kiến thức đãhọc từ các môn và ứng dụng vào trong thiết kế, lập trình tạo ra hệ thống cụ thể nhằmtrang bị cho mình các kiến thức cần thiết làm tiền đề để có thể tiếp tục với những dự ánlớn hơn bao hàm nhiều kiến thức rộng hơn
Trang 6Có rất nhiều công trình nghiên cứu về xe hai bánh tự cân bằng, nghiên cứu điềukhiển xe hai bánh tự cân bằng dùng giải thuật PID, LQR, giải thuật cuốn chiếu(backstepping control), giải thuật điều khiển trượt (sliding mode control), phương phápđiều khiển thông minh Fuzzy, Fuzzy Noron cho thấy khả năng thích nghi và hiệu quảcủa những giải pháp điều khiển vào hệ xe cân bằng Trong phạm vi cho phép, nhóm xinđược thực hiện đề tài sữ dụng hai phương pháp điều khiển PID (Proportional IntegralDerivative) và LQR(Linear Quadratic Regulator- Điều khiển tối ưu).
1.2 LÝ DO CHỌN ĐỀ TÀI
Hiện nay đề tài “Hệ xe hai bánh tự cân bằng” được nhiều sinh viên nghiên cứu
triển khai thực hiện trên việc phát triển những giải thuật mới, những tính năng mới dựatrên nền lí thuyết về điều khiển con lắc ngược, do đó nguồn cớ sỡ dữ liệu liên quan khá
là nhiều dễ dàng trong việc tìm kiếm nghiên cứu thực hiện
Một trong những đặc thù của bộ môn điều khiển tự động đó là những giải thuậtđiều khiển, với một giải thuật điều khiển tối ưu nhất đòi hỏi người học cần phải rất amhiểu về cấu trúc, mô phỏng, phải rất vững về nguyên lí hoạt động của giải thuật Với đề
tài “Hệ xe hai bánh tự cân bằng” là một trong những đề tài điều khiển liên quan đến
động cơ DC là một đối tượng điều khiển tương đối kinh điển trong các nghiên cứu hiệnthời
Thông thường các mô hình dùng để nghiên cứu về thuyết điều khiển có giá trịtương đối là cao, như các mô hình con lắc ngược, hệ xe con lắc ngược, ball and beam…
Tuy nhiên nhận thấy đề tài “Hệ xe hai bánh tự cân bằng” là một đề tài có phần cứng
Trang 7tương đối dễ thi công và thực hiện, với các thiết bị khá là phổ thông có mệnh giá rẻ,nhưng vẫn thể hiện rỏ các giải thuật ứng dụng vào.
Với đề tài “Hệ xe hai bánh tự cân bằng” có thể sữ dụng các bộ Vi điều khiển
phổ cập hiện thời để điều khiển, ở đây nhóm muốn nhắm tới bộ Vi Điều Khiển ArduinoUno R3, là một Board Vi Điều Khiển được ứng dụng rộng rãi trên thị trường hiện nay
Từ những điều trên nhóm chúng em quyết định lựa chọn đề tài “Hệ xe hai bánh
tự cân bằng” để thực hiện đồ án 1 “Vi xử lý” dưới sự hướng dẫn của thầy ThS Tạ Văn
Làm phương tiện vận chuyển hàng hóa đến những nơi đã được lập trình sẵn ởtrong các tòa nhà, phòng làm việc, những không gian chật hẹp, khó xoay trở
Thậm chí kết hợp trên các Human Robot, nếu kết hợp được với các RobotCamera, Robot dò đường, Robot lái mặt đường thì hiệu quả các công dụng cụ thể sẽcàng linh hoạt
1.4 MỤC TIÊU CỦA ĐỀ TÀI:
Đề tài tập trung vào vài mục tiêu chính sau đây:
Nghiên cứu lý thuyết điều khiển cho hệ con lắc ngược
Nghiên cứu lý thuyết điều khiển giải thuật PID và LQR dùng điểu khiển hệ xe tựcân bằng
Thực hiện mô phỏng Matlab Simulink để kiểm nghiệm và đi tìm bộ số phù hợpcho hệ xe ứng với từng giải thuật
Nghiên cứu về lập trình vi điều khiển, hoạt động của cảm biến, động cơ, cáccổng giao tiếp sử dụng cho hệ xe cân bằng
Trang 8 Xây dựng Board mạch điều khiển cho hệ xe.
Phác thảo mô hình trên SolidWork
1.5 GIỚI HẠN CỦA ĐỀ TÀI
Trong quá trình thực hiện đề tài sẽ có những giới hạn nhất định mà nhóm chưathể thực hiện được cụ thể như sau:
- Với lượng kiến thức hạn hẹp, nhóm sẽ chỉ nghiên cứu tìm hiểu kĩ về giải thuậtđiều khiển kinh điển PID và nghiên cứu sang ứng dụng sữ dụng giải thuật mới hơnLQR Với những giải thuật hiện đại hơn như Fuzzy, Noron nhóm chưa có đủ thời gian
để tìm hiểu và thực hiện cho hệ xe cân bằng
- Quá trình để điều chỉnh xác định bộ số tối ưu giúp cho hệ xe đạt ngưỡng cânbằng nhất tốn khá nhiều thời gian, do đó nhóm sẽ chỉ tập trung vào hoàn thiện bộ sốđiều khiển cho hệ xe Trong thời gian tới nhóm sẽ tiếp tục thêm phần điều khiển sữdụng module Bluetooth HC-05 vào hệ xe
- Mạch nhóm sữ dụng ở đây tương đối đơn giản, nên nhóm sẽ nối dây trực tiếp từcác linh kiện mà không thiết kế Board mạch
- Với mục đích chính là nghiên cứu về giải thuật điều khiển nên phần khungRobot nhóm chỉ thực hiện mang tính tạm thời, chưa được thẩm mỹ
Trang 9
-CHƯƠNG 2: LÝ THUYẾT ĐIỀU KHIỂN2.1.NGUYÊN LÍ CÂN BẰNG CỦA ROBOT:
Một robot có khả năng duy trì sự cân bằng khi di chuyển trên hai bánh xe của nóđược biết đến với tên gọi robot hai bánh tự cân bằng Quá trình cân bằng là quá trìnhđiều khiển hai động cơ bánh xe sao cho đưa về đúng về giá trị cân bằng mà ta thiết lập
từ trước đó, cách khác ta có thể nói duy trì sự ổn định cho hệ thống Hai bánh xe chính
là đối tượng điều khiển chính giúp cho xe tiến, lùi để đạt ngưỡng cân bằng và ổn định
Hình 2.1: Nguyên lý hoạt động của hệ xe cân bằng.
Hình bên phía trái là trạng thái khi hệ xe được cân bằng Khi hệ xe có xu hướngngã về phía trước thì lúc đó hệ thống sẽ tác động vào hai động cơ, đưa cho hệ xe trở về
vị trí cân bằng, trong bức hình ở giữa hệ xe có xu hướng ngã về phía bên tay trái, lúcnày hệ thống sẽ cấp xung hợp lí vào động cơ điều khiển động cơ chạy về hướng phía bịnghiêng và cân bằng Tương tự như vậy cho hình bên phía tay phải
Dạng Robot này tạo cho người nghiên cứu rất nhiều thử thách trong điều kiệnlàm việc không ổn định đòi hỏi người làm phải lựa chọn giải thuật, đưa ra các thông sốhợp lí Lý thuyết duy trì sự ổn định này dựa trên lý thuyết điều khiển con lắc ngược, làmột đối tượng điều khiển phi tuyến kinh điển, mô hình xe cân bằng cũng dựa từ đó màphát triển lên, có nhiều điểm chung giữa hai mô hình, tuy nhiên cả hai đều hướng tớiduy trì sự cân bằng và ổn định cho hệ thống
Mục đích của nguyên lý lắc ngược để giữ cho bánh xe bên dưới trung tâm khối lượng
Trang 10phía trước sao cho góc nghiêng bằng không thì robot sẽ duy trì sự cân bằng Mặt khác,nếu khung nghiêng nghiêng về phía sau, hai bánh xe sẽ di chuyển về phía sau.
2.2.ĐỘNG LỰC HỌC HỆ THỐNG:
Xây dựng phương trình trạng thái mô tả hệ xe tự cân bằng:
Hình 2.2: Mô hình hệ xe cân bằng
Trang 11L [m] Khoảng cách từ trọng tâm Robot đến
J m [kg.m2] Momen quán tính của động cơ DC
Kb [V sec/rad] Hệ số EMF của động cơ DC
θ [rad] Góc trung bình của bánh trái và bánh
phải
θ l , r [rad] Góc của bánh trái và bánh phải
ψ [rad] Góc nghiên của phần thân robot
Trang 12trái và bánh phải
i l,i r [A] Dòng điện động cơ bánh trái và bánh
phải
v l ,v r [V] Điện áp động cơ bánh trái và bánh phải
Sử dụng phương pháp Euler-Lagrange để xây dựng Giả sử tại thời điểm t = 0, robotcân bằng hai bánh xe di chuyển trong trục x dương, chúng ta có các công thức sau:
T1=12m(˙x l2+ ˙y l2+ ˙z l2)+12m(˙x r2+ ˙y r2+ ˙z r2)+12m( ˙x b2+ ˙y b2+ ˙z b2) (2.7)
Trang 13Phương trình động năng của chuyển động quay :
T2= 12J w ˙θ l2+ 12J w ˙θ r2+ 12J ψ ˙ψ2 + 12J ϕ ˙ϕ2 + 12n2J m ( ˙θ l − ˙ψ)2 + 12n2J m ( ˙θ r − ˙ψ )2
(2.8)Với
Trang 14[F θ
F ψ
F ϕ]=[ F l +F r
F ψ W
[(2m+M)R2+2J w +2n2J m]¨θ+(MLRcosψ−2n2J m)¨ψ−MLR ˙ψ2sinψ=α(v l +v r)−2(β +f w)˙θ+2 β ˙ψ
(2.28)(MLRcosψ −2 n2J m)¨θ+(M L2+J ψ +2 n2J m)¨ψ−MgLsinψ−M L2˙ϕ2sinψcosψ=−α(v l +v r)+2 β ˙θ−2 β ˙ψ
(2.29)
Trang 152.3 BỘ ĐIỀU KHIỂN PID (Proportional Integral Derivative)
Bộ điều khiển PID (Proportional Integral Derivative) là một vòng điều khiểnphản hồi thông thường được sử dụng rộng rãi trong các hệ thống điều khiển côngnghiệp Bộ điều khiển PID tính một giá trị "sai số" là sự khác biệt giữa giá trị đo củatham số thay đổi và giá trị mong muốn Bộ điều khiển sẽ giảm thiểu lỗi bằng cách điềuchỉnh giá trị điều khiển đầu vào Các thông số PID được sử dụng trong tính toán phảiđược điều chỉnh theo các đặc tính của hệ thống Dưới đây là sơ đồ điều khiển của bộđiều khiển PID
Hình 2.3: PID Controller.
Thuật toán điều khiển PID bao gồm ba tham số riêng biệt: các giá trị tỷ lệ, tíchphân và vi phân, viết tắt P, I, D Các giá trị xác định tác động của lỗi hiện tại, Giá trịkhông tách rời xác định hiệu quả của tổng các lỗi trong quá khứ và giá trị khác biệt xácđịnh hiệu quả của tỷ lệ sai lệch lỗi
Với bộ điều khiển PID sẽ có ba khâu chính yếu mà người sữ dụng giải thuật cầnnắm rỏ: Khâu tỉ lệ, khâu tích phân, khâu vi phân
2.3.1 Khâu tỉ lệ
Trang 16Khâu tỉ lệ (đôi khi còn được gọi là độ lợi) làm thay đổi giá trị đầu ra, tỉ lệ với giátrị sai số hiện tại Đáp ứng tỉ lệ có thể được điều chỉnh bằng cách nhân sai số đó vớimột hằng số Kp, được gọi là độ lợi tỉ lệ.
Khâu tỉ lệ được cho bởi:
Pout = Kp.e(t)
trong đó
Pout : Thừa số tỉ lệ của đầu ra
Kp: Độ lợi tỉ lệ, thông số điều chỉnh
e: Sai số = SP – PV (SP: Set Point, PV: Present value)
t: Thời gian hay thời gian tức thời hiện tại
Độ lợi của khâu tỉ lệ lớn là do thay đổi lớn ở đầu ra mà sai số thay đổi nhỏ Nếu
độ lợi của khâu tỉ lệ quá cao, hệ thống sẽ không ổn định (xem phần điều chỉnh vòng).Ngược lại, độ lợi nhỏ là do đáp ứng đầu ra nhỏ trong khi sai số đầu vào lớn, và làm cho
bộ điều khiển kém nhạy, hoặc đáp ứng chậm Nếu độ lợi của khâu tỉ lệ quá thấp, tácđộng điều khiển có thể sẽ quá bé khi đáp ứng với các nhiễu của hệ thống
Hình 2.4: Đồ thị PV theo thời gian, ba giá trị Kp (Ki và Kd là hằng số)
Trang 172.3.2 Khâu tích phân
Phân phối của khâu tích phân (đôi khi còn gọi là reset) tỉ lệ thuận với cả biên độsai số lẫn quảng thời gian xảy ra sai số Tổng sai số tức thời theo thời gian (tích phânsai số) cho ta tích lũy bù đã được hiệu chỉnh trước đó Tích lũy sai số sau đó được nhânvới độ lợi tích phân và cộng với tín hiệu đầu ra của bộ điều khiển Biên độ phân phốicủa khâu tích phân trên tất cả tác động điều chỉnh được xác định bởi độ lợi tích phân,
I out : Thừa số tích phân của đầu ra
K i : Độ lợi tích phân, 1 thông số điều chỉnh
e: Sai số = SP – PV (SP: Set Point, PV: Present value)
t: Thời gian hay thời gian tức thời hiện tại
Khâu tích phân (khi cộng thêm khâu tỉ lệ) sẽ tăng tốc chuyển động của quá trìnhtới điểm đặt và khử số dư sai số ổn định với một tỉ lệ chỉ phụ thuộc vào bộ điều khiển.Tuy nhiên, vì khâu tích phân là đáp ứng của sai số tích lũy trong quá khứ, nó có thểkhiến giá trị hiện tại vọt lố qua giá trị đặt (ngang qua điểm đặt và tạo ra một độ lệch vớicác hướng khác)
Trang 18Hình 2.5: Đồ thị PV theo thời gian, tương ứng với 3 giá trị Ki (Kp và Kd không đổi)
2.3.3 Khâu vi phân
Tốc độ thay đổi của sai số qua trình được tính toán bằng cách xác định độ dốccủa sai số theo thời gian (tức là đạo hàm bậc một theo thời gian) và nhân tốc độ này với
độ lợi tỉ lệ Kd Biên độ của phân phối khâu vi phân (đôi khi được gọi là tốc độ) trên tất
cả các hành vi điều khiển được giới hạn bởi độ lợi vi phân, Kd.
Thừa số vi phân được cho bởi:
Dout = Kd d
dt e(t)
Trong đó
D out : Thừa số vi phân của đầu ra
K d : Độ lợi vi phân, một thông số điều chỉnh
e : Sai số = SP – PV
t: thời gian hoặc thời gian tức thời ( hiện tại)
Khâu vi phân làm chậm tốc độ thay đổi của đầu ra bộ điều khiển và đặc tính này
là đang chú ý nhất để đạt tới điểm đặt của bộ điều khiển Từ đó, điều khiển vi phân
Trang 19được sử dụng để làm giảm biên độ vọt lố được tạo ra bởi thành phần tích phân và tăngcường độ ổn định của bộ điều khiển hỗn hợp Tuy nhiên, phép vi phân của một tín hiệu
sẽ khuếch đại nhiễu và do đó khâu này sẽ nhạy hơn đối với nhiễu trong sai số, và có thểkhiến quá trình trở nên không ổn định nếu nhiễu và độ lợi vi phân đủ lớn Do đó mộtxấp xỉ của bộ vi sai với băng thông giới hạn thường được sử dụng hơn Chẳng hạn nhưmạch bù sớm pha
Hình 2.6: Đồ thị PV theo thời gian, tương ứng với 3 giá trị Kd (Kp và Ki không đổi)
Tóm tắt
Khâu tỉ lệ, tích phân, vi phân được cộng lại với nhau để tính toán đầu ra của bộ điều
khiển PID Định nghĩa rằng u(t) là đầu ra của bộ điều khiển, biểu thức cuối cùng của
giải thuật PID là:
Trang 20Giá trị càng lớn kéo theo sai số ổn định bị khử càng nhanh Đổi lại là độ vọt lốcàng lớn: bất kỳ sai số âm nào được tích phân trong suốt đáp ứng quá độ phải được triệttiêu tích phân bằng sai số dương trước khi tiến tới trạng thái ổn định.
làm rối loạn quá trình, một
số thử nghiệm và lỗi, phảiđiều chỉnh nhiều lần
khi tải xuống để thực thi
Giá cả cao, và phải huấn
Bảng 2.1 Các phương pháp điều chỉnh thông số PID
Trang 21Nếu hệ thống phải duy trì trạng thái online, một phương pháp điều chỉnh là thiếtđặt giá trị đầu tiên của Ki và Kd bằng không Tăng dần Kp cho đến khi đầu ra của vòngđiều khiển dao động, sau đó Kp có thể được đặt tới xấp xỉ một nửa giá trị đó để đạp đạtđược đáp ứng "1/4 giá trị suy giảm biên độ" Sau đó tăng Ki đến giá trị phù hợp sao cho
đủ thời gian xử lý Tuy nhiên, Ki quá lớn sẽ gây mất ổn định Cuối cùng, tăng Kd, nếucần thiết, cho đến khi vòng điều khiển nhanh có thể chấp nhận được nhanh chóng lấylại được giá trị đặt sau khi bị nhiễu Tuy nhiên, Kd quá lớn sẽ gây đáp ứng dư và vọtlố.Một điều chỉnh cấp tốc của vòng điều khiển PID thường hơi quá lố một ít khi tiến tớiđiểm đặt nhanh chóng; tuy nhiên, vài hệ thống không chấp nhận xảy ra vọt lố, trongtrường hợp đó, ta cần một hệ thống vòng kín giảm lố, thiết đặt một giá trị Kp nhỏ hơnmột nửa giá trị Kp gây ra dao động Bảng sau thể hiện rỏ tác động của các thông số:
Thời gian đáp
ứng(riser time)
Độ vọt lố(overshoot)
Thời gian quáđộ(setting timer)
Sai số(Error)
Bảng 2.2 Tác động của việc tăng một thông số độc lập
2.4 BỘ ĐIỀU KHIỂN TỐI ƯU LQR
LQR(Linear Quadratic Regulator) là một phương pháp trong lý thuyết điềukhiển hiện đại sử dụng cách tiếp cận không gian trạng thái để phân tích hệ thống Hệthống có thể được ổn định bằng cách sử dụng thông tin phản hồi trạng thái đầy đủ Sơ
đồ của loại hệ thống điều khiển này được thể hiện ở hình dưới đây:
BALANCING ROBOT
K
Trang 22LQR là một hệ thống điều khiển được thiết kế trong điều kiện làm việc tối ưu theo một tiêu chuẩn chất lượng nhất định (chỉ số hiệu suất) Trạng thái tối ưu đạt được tùy thuộc vào yêu cầu chất lượng được thiết lập, về sự hiểu biết và ảnh hưởng của các đối tượng và điều kiện hoạt động của hệ thống điều khiển.
Các thiết lập của một bộ điều khiển , một máy hoặc quá trình được tìm thấy bằngcách sử dụng một thuật toán toán học mà giảm thiểu một chức năng chi phí với các yếu
tố trọng số được cung cấp bởi con người Hàm chi phí thường được định nghĩa là tổng các độ lệch của các phần tử chính bao gồm nhiệt độ quá trình hoặc độ cao mong muốn,
từ giá trị mong muốn của chúng
Sơ đồ điều khiển
Phương pháp này chúng ta phải chọn một luật điều khiển u(t)=-K.x(t) giúp ổn định nguồn gốc trong khi giảm thiểu chỉ số hiệu suất Trong đó K là ma trận độ lợi được định nghĩa là:
(2.33)
Và P giải được từ phương trình Riccati:
(2.34)
Trang 23Trong đó Q là ma trận xác định dương (hoặc ma trận xác định bán tích cực), R là
ma trận xác định dương Qvà R là các ma trận trọng số tương ứng với các biến trạng thái và tín hiệu đầu vào Để làm cho một thành phần được ưu tiên tối ưu để kiểm soát, hãy chọn ma trận trọng số tương ứng có giá trị lớn
(2.37)Trường hợp Sk đáp ứng được phương trình sau:
(2.38)
2.5.3 KIỂM SOÁT TỐI ƯU CHO HỆ XE HAI BÁNH TỰ CÂN BẰNG
Từ các phương trình (2.28), (2.29), (2.30), ta có hệ phương trình mô tả một hệ xe hai bánh tự cân bằng như sau
¿ ❑˙
Trang 24Tiến hành tuyến tính của hệ thống xung quanh trạng thái cân bằng:
(2.41)Tuyến tính hóa hệ (2.38) thành dạng
(2.44)
Trang 25(2.45)Các ma trận trọng số Q, R có thể được biểu diễn tại thời điểm này
(2.46)
(2.47)Các thông số Q1, Q2, Q3, Q4, Q5, Q6, R1 và R2 để tinh chỉnh bộ điều khiểnLQR Trong đó tham số Q1, Q2, Q3, Q4, Q5, Q6 được coi là trọng số tối ưu tương ứngcho 6 biến trạng thái ,˙, ,❑˙, ,❑˙ Để ưu tiên bất kỳ biến trạng thái nào, hãy tăngtham số trọng số tương ứng của nó so với các thông số trọng số khác Sau khi chọn cáctham số điều khiển tương ứng, chúng ta xây dựng tham số phản hồi K với tín hiệu điềukhiển u = - K * x
Tham số K được tính toán dựa vào phương trình Riccati được hổ trợ bởi Matlabvới hàm LQR(A,B,Q,R) khi các ma trận được tìm ra
Trang 26Sơ đồ điều khiển LQR cho robot tự cân bằng hai bánh.
2.6 MÔ HÌNH HÓA HỆ XE 2 BÁNH TỰ CÂN BẰNG DÙNG LQR TRÊN MATLAB SIMULINK
Trang 27Như đã nói về phần lý thuyết ở trên thì tham số K được tính toán dựa vàophương trình Riccati được hổ trợ bởi Matlab với hàm LQR(A,B,Q,R) khi các ma trậnđược tìm ra.
Tìm các ma trận A, B tại vị trí cân bằng dùng phần mềm hổ trợ Matlab
1 Hệ phương trình toán học của hệ thống
syms m M R Jw n Jm L n a beta fw g W J_phi vl vr J_psi x1 x2 x3 x4 x5 x6 x7 x8 x9
2*R^2*a*m*vr + 4*Jm*fw*n^2*x2 - 4*R^2*beta*m*x2 + 4*R^2*beta*m*x5 -
L*M^2*R^2*g*sin(x4) - 2*Jw*L*M*g*sin(x4) - 2*L*M*R*beta*x2*cos(x4) + 2*L*M*R*beta*x5*cos(x4) - 2*L*M*R*fw*x2*cos(x4) +
L^2*M^2*R^2*x5^2*cos(x4)*sin(x4) - L^2*M^2*R^2*x8^2*cos(x4)*sin(x4) -
Trang 282*L*M*R^2*g*m*sin(x4) + L*M*R*a*vl*cos(x4) + L*M*R*a*vr*cos(x4) -
2*Jm*L^2*M*n^2*x8^2*cos(x4)*sin(x4) 2*L^2*M*R^2*m*x8^2*cos(x4)*sin(x4) 2*Jm*L*M*R*n^2*x5^2*sin(x4))/(2*J_psi*Jw + L^2*M^2*R^2 + 2*Jw*L^2*M + J_psi*M*R^2 + 2*J_psi*Jm*n^2 + 4*Jm*Jw*n^2 + 2*J_psi*R^2*m +
A=[diff(f1,x1) diff(f1,x2) diff(f1,x4) diff(f1,x5) diff(f1,x7) diff(f1,x8);
diff(f2,x1) diff(f2,x2) diff(f2,x4) diff(f2,x5) diff(f2,x7) diff(f2,x8);
diff(f3,x1) diff(f3,x2) diff(f3,x4) diff(f3,x5) diff(f3,x7) diff(f3,x8);
diff(f4,x1) diff(f4,x2) diff(f4,x4) diff(f4,x5) diff(f4,x7) diff(f4,x8);
diff(f5,x1) diff(f5,x2) diff(f5,x4) diff(f5,x5) diff(f5,x7) diff(f5,x8);
diff(f6,x1) diff(f6,x2) diff(f6,x4) diff(f6,x5) diff(f6,x7) diff(f6,x8);]
3 Ma trận A và B tại điểm làm việc cân bằng trong Matlab
syms m M R Jw n Jm L n a beta fw g W J_phi vl vr J_psi
%% %%%%Điểm làm việc cân bằng có giá trị như sau:
Trang 292*L^2*M*R^2*m + 4*Jm*R^2*m*n^2 + 4*Jm*L*M*R*n^2), (R*g*L^2*M^2 - 2*Jm*g*L*M*n^2)/(2*J_psi*Jw + 2*Jw*L^2*M + J_psi*M*R^2 + 2*J_psi*Jm*n^2 + 4*Jm*Jw*n^2 + 2*J_psi*R^2*m + 2*Jm*L^2*M*n^2 +
-2*Jm*M*R^2*n^2 + 2*L^2*M*R^2*m + 4*Jm*R^2*m*n^2 + 4*Jm*L*M*R*n^2), (2*M*beta*L^2 + 2*M*R*beta*L + 2*J_psi*beta)/(2*J_psi*Jw + 2*Jw*L^2*M + J_psi*M*R^2 + 2*J_psi*Jm*n^2 + 4*Jm*Jw*n^2 + 2*J_psi*R^2*m +
2*Jm*L^2*M*n^2 + 2*Jm*M*R^2*n^2 + 2*L^2*M*R^2*m + 4*Jm*R^2*m*n^2 + 4*Jm*L*M*R*n^2), 0, 0;
2*L^2*M*R^2*m + 4*Jm*R^2*m*n^2 + 4*Jm*L*M*R*n^2), (L*g*M^2*R^2 + 2*L*g*m*M*R^2 + 2*Jm*L*g*M*n^2 + 2*Jw*L*g*M)/(2*J_psi*Jw + 2*Jw*L^2*M+ J_psi*M*R^2 + 2*J_psi*Jm*n^2 + 4*Jm*Jw*n^2 + 2*J_psi*R^2*m +
2*Jm*L^2*M*n^2 + 2*Jm*M*R^2*n^2 + 2*L^2*M*R^2*m + 4*Jm*R^2*m*n^2 + 4*Jm*L*M*R*n^2), -(4*Jw*beta + 2*M*R^2*beta + 4*R^2*beta*m +
2*L*M*R*beta)/(2*J_psi*Jw + 2*Jw*L^2*M + J_psi*M*R^2 + 2*J_psi*Jm*n^2 + 4*Jm*Jw*n^2 + 2*J_psi*R^2*m + 2*Jm*L^2*M*n^2 + 2*Jm*M*R^2*n^2 +
2*L^2*M*R^2*m + 4*Jm*R^2*m*n^2 + 4*Jm*L*M*R*n^2), 0, 0;
(M*a*L^2 + M*R*a*L + J_psi*a)/(2*J_psi*Jw + 2*Jw*L^2*M +
J_psi*M*R^2 + 2*J_psi*Jm*n^2 + 4*Jm*Jw*n^2 + 2*J_psi*R^2*m +
2*Jm*L^2*M*n^2 + 2*Jm*M*R^2*n^2 + 2*L^2*M*R^2*m + 4*Jm*R^2*m*n^2 + 4*Jm*L*M*R*n^2), (M*a*L^2 + M*R*a*L + J_psi*a)/(2*J_psi*Jw +
Trang 302*Jm*L^2*M*n^2 + 2*Jm*M*R^2*n^2 + 2*L^2*M*R^2*m + 4*Jm*R^2*m*n^2 + 4*Jm*L*M*R*n^2);
0, 0;
-(2*Jw*a + M*R^2*a + 2*R^2*a*m + L*M*R*a)/(2*J_psi*Jw + 2*Jw*L^2*M + J_psi*M*R^2 + 2*J_psi*Jm*n^2 + 4*Jm*Jw*n^2 + 2*J_psi*R^2*m +
2*Jm*L^2*M*n^2 + 2*Jm*M*R^2*n^2 + 2*L^2*M*R^2*m + 4*Jm*R^2*m*n^2 + 4*Jm*L*M*R*n^2), -(2*Jw*a + M*R^2*a + 2*R^2*a*m + L*M*R*a)/(2*J_psi*Jw + 2*Jw*L^2*M + J_psi*M*R^2 + 2*J_psi*Jm*n^2 + 4*Jm*Jw*n^2 + 2*J_psi*R^2*m +2*Jm*L^2*M*n^2 + 2*Jm*M*R^2*n^2 + 2*L^2*M*R^2*m + 4*Jm*R^2*m*n^2 + 4*Jm*L*M*R*n^2);
0, 0;
-(R*W*a)/(m*R^2*W^2 + 2*J_phi*R^2 + Jm*W^2*n^2 + Jw*W^2), (R*W*a)/(m*R^2*W^2 + 2*J_phi*R^2 + Jm*W^2*n^2 + Jw*W^2)]