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

Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh

107 0 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Điều khiển cân bằng robot một bánh
Tác giả Đỗ Đăng Nguyên
Người hướng dẫn TS. Nguyễn Vĩnh Hảo
Trường học Đại học Quốc gia Tp. Hồ Chí Minh
Chuyên ngành Tự động hóa
Thể loại Luận văn Thạc sĩ
Năm xuất bản 2011
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 107
Dung lượng 2,77 MB

Cấu trúc

  • 1. GIỚI THIỆU TỔNG QUAN (0)
  • 2. GIỚI THIỆU LUẬN ÁN (13)
    • 2.1 Mục đích (13)
    • 2.2 Phương pháp nghiên cứu (14)
    • 2.3 Cấu trúc luận văn (14)
  • CHƯƠNG 2 (0)
    • 1. TÀI LIỆU LIÊN QUAN (16)
      • 1.1 Phương trình chuyển động (17)
      • 1.2 Thiết kế phần cứng (20)
    • 2. THIẾT KẾ MÔ HÌNH CƠ KHÍ ROBOT MỘT BÁNH (26)
      • 2.1 Mô hình cơ khí (26)
      • 2.2 Mạch điều khiển (28)
    • 3. PHƯƠNG TRÌNH CHUYỂN ĐỘNG (29)
      • 3.1 Giả định và định nghĩa (29)
      • 3.2 Phương trình phi tuyến của Robot một bánh (30)
      • 3.3 Tuyến tính hóa (33)
      • 3.4 Phương trình trạng thái đầy đủ (34)
    • 4. K ếT L UậN (35)
  • CHƯƠNG 3 (0)
    • 1. HỒI TIẾP TUYẾN TÍNH HOÁ HỆ PHI TUYẾN (37)
      • 1.1 Đạo hàm Lie (38)
      • 1.2 Luật điều khiển hồi tiếp tuyến tính hoá (38)
    • 2. ĐIẾU KHIỂN CHẾ ĐỘ TRƯỢT (42)
      • 2.1 Tổng quan điều khiển chế độ trượt (Sliding mode control) (42)
      • 2.2 Quá trình thiết kế bộ điều khiển chế độ trượt (42)
    • 3. CƠ SỞ LÝ THUYẾT BỘ LỌC KALMAN (45)
      • 3.1 Giới thiệu về bộ lọc kalman (45)
      • 3.2. Thuật toán kalman rời rạc (47)
    • 4. KẾT LUẬN (50)
  • CHƯƠNG 4 (0)
    • 1. XÂY DỰNG BỘ ĐIỀU KHIỂN TOÀN PHƯƠNG TUYẾN TÍNH (51)
      • 2.1 Tuyến tính hóa hệ thống bằng hồi tiếp (0)
      • 2.2 Xây dựng bộ điều khiển cho hệ hồi tiếp tuyến tính hóa (0)
    • 3. XÂY DỰNG BỘ ĐIỀU KHIỂN CHẾ ĐỘ TRƯỢT (68)
      • 3.1 Xây dựng bộ điều khiển chế độ trượt cho robot một bánh (0)
      • 3.2 Xây dựng bộ điều khiển PID – chế độ trượt cho robot một bánh (71)
  • CHƯƠNG 5 (0)
    • 1. XÂY DỰNG HỆ THỐNG CƠ KHÍ ROBOT MỘT BÁNH (75)
      • 1.1 Mô hình cơ khí (75)
      • 1.2 Mạch điều khiển (78)
    • 2. XÂY DỰNG BỘ LỌC KALMAN CHO CẢM BIẾN ĐO GÓC NGHIÊNG (79)
      • 2.1 Giới thiệu bộ đo góc nghiêng 6DOFT Razar – Ultra – Thin IMU của hãng Sparkfun (80)
      • 2.2 Thực hiện bộ lọc kalman (81)
      • 2.3 Bộ nhúng lọc Kalman (83)
      • 2.4 Kết quả thực hiện (83)
    • 3. KẾT QUẢ KIỂM NGHIỆM BỘ ĐIỀU KHIỂN LQR (85)
      • 3.1 Cấu trúc bộ điều khiển nhúng LQR (85)
      • 3.2 Kết quả chạy với mô hình thực (86)
    • 4. KẾT QUẢ KIỂM NGHIỆM BỘ ĐIỀU KHIỂN CHẾ ĐỘ TRƯỢT (88)
      • 4.1 Cấu trúc bộ điều khiển nhúng chế độ trượt (88)
      • 4.2 Kết quả chạy với mô hình thực (89)
    • 5. KẾT QUẢ KIỂM NGHIỆM BỘ ĐIỀU KHIỂN HỒI TIẾP TUYẾN TÍNH HÓA (90)
      • 5.1 Cấu trúc bộ điều khiển nhúng (90)
      • 5.2 Kết quả chạy với mô hình thực (91)
  • CHƯƠNG 6 (0)
  • TÀI LIỆU THAM KHẢO (96)

Nội dung

Mô phỏng hệ thống robot một bánh bằng phần mềm Malab/ Simulink  Thiết kế và thi công bộ lọc Kalman 3 biến trạng thái để ước lượng góc nghiêng và vận tốc góc nghiêng robot  Xây dựng bộ

GIỚI THIỆU LUẬN ÁN

Mục đích

Thiết kế và thi công robot tự cân bằng trên một quả bóng Do đó, bóng sẽ hoạt động như các bánh xe hình cầu , cho phép các robot di chuyển theo một vài hướng

Hy vọng rằng với sự phát triển của robot một bánh, và công nghệ liên quan, các robot có thể hành động như con người , hỗ trợ được con người

Luận văn này nhằm thiết kế và xây dựng robot môt bánh, chủ yếu cho mục đích giáo dục Sự phát triển của robot một bánh là một hệ thống của toàn dự án, bao gồm cả nguồn gốc của phương trình về chuyển động của robot, thiết kế và thực hiện bộ điều khiển và phần mềm liên quan đến sự cân bằng robot, và thử nghiệm hệ thống

Hệ thống robot hoạt động ổn định ngoài phần cơ cấu hợp lý và phương trình toán hệ thống sát với thực tế, robot còn phải được thiết kế bộ điều khiển thích hợp Đối với hệ robot một bánh tự cân bằng thì quá trình điều khiển có thể được chia thành ba phần: điều khiển góc nghiêng của hệ robot so với phương thẳng đứng, điều khiển vị trí di chuyển của robot so với phương nằm ngang, và cuối cùng là điều khiển góc xoay của robot Và bản thân hệ robot là hệ không ổn định, nên quá trình điều khiển sẽ gặp rất nhiều khó khăn, khi phải thực hiện điều khiển ba thành phần: góc nghiêng, vị trí, và góc xoay cùng một thời điểm Tuy nhiên, trong phạm vi đề tài chỉ thực hiện việc điều khiển góc nghiêng và vị trí robot

Kết hợp những ưu điểm của các phương pháp điều khiển tuyến tính và khả năng tính toán mạnh mẽ của vi điều khiển thời gian thực TMS320F28335, luận văn này trình bày cách giải quyết bài toán trên cơ sở lý thuyết điều khiển phi tuyến là: điều khiển hồi tiếp tuyến tính hóa và điều khiển chế độ trượt Sau đó, nhúng các giải thuật này trên TMS320F28335 điều khiển đối tượng thực, so sánh kết quả điều khiển khi sử dụng giải thuật này với các thuật toán điều khiển tuyến tính Các vấn đề cơ bản trong luận văn gồm có :

Nghiên cứu lý thuyết điều khiển hồi tiếp tuyến tính hoá Nghiên cứu lý thuyết điều khiển chế độ trượt Áp dụng phương pháp điều khiển hổi tiếp tuyến tính hoá cho đối tượng robot 1 bánh Áp dụng phương pháp điều khiển chế độ trượt cho đối tượng robot 1 bánh Mô phỏng kết quả điều khiển đối tượng trên MatLab

Kiểm chứng các kết quả mô phỏng bằng thực nghiệm điều khiển đối tượng thực

Phương pháp nghiên cứu

Phương pháp nghiên cứu được áp dụng để thực hiện luận án này là phân tích lý thuyết, mô phỏng trên máy tính và áp dụng kết quả vào thực nghiệm

Phân tích lý thuyết : Là nghiên cứu các lý thuyết cơ sở liên quan đến việc thiết kế bộ điều khiển hồi tiếp tuyến tính hoá, bộ điều khiển chế độ trượt, dựa trên cơ sở các lý thuyết này sẽ phân tích cho mô hình cụ thể được sử dụng trong luận án

Mô phỏng trên máy tính : Sau khi đã xây dựng xong các thuật toán đều khiển dưới dạng lý thuyết ta sẽ tiến hành mô phỏng trên Matlab để kiểm chứng sự hoạt động của bộ điều khiển, trên kết quả mô phỏng sẽ rút ra các nhận xét về thuật toán và kinh nghiệm khi áp dụng bộ điều khiển vào đối tượng thực Áp dụng kết quả vào thực nghiệm: Để kiểm chứng tính đúng đắn của các bộ điều khiển thiết kế bằng lý thuyết ta sẽ nhúng giải thuật điều khiển xuống vi xử lý và các khâu chấp hành để điều khiển đối tượng thực, kết quả thực tế giúp ta nhìn nhận chính xác cho chất lượng của bộ điều khiển đã được thiết kế.

Cấu trúc luận văn

Luận văn được tổ chức thứ tự theo các chương mục sau:

Chương 1 : Mở Đầu - Giới thiệu tổng quan về đề tài nghiên cứu Chương 2 : Lập Phương Trình Toán Học Mô Tả Hệ Robot 1 Bánh Tự Cân Bằng

- Trình bày cách thành lập phương trình toán học mô tả hệ robot 1 bánh tự cân bằng, xây dựng mô hình cho đối tượng trên Matlab và khảo sát ảnh hưởng của các thông số và nhiễu tác động

Chương 3 : Lý Thuyết Hồi Tiếp Tuyến Tính Hoá Và Điều Khiển Chế Độ Trượt - Giới thiệu lý thuyết về phương pháp điều khiển hồi tiếp tuyến tính hoá kinh điển và điều khiển chế độ trượt

Chương 4 : Thiết Kế Bộ Điều Khiển HTTTH và Bộ Điều Khiển Chế Độ Trượt Cho Đối Tượng Thực Robot 1 Bánh

- Trình bày chi tiết về quá trình thiết kế bộ điều khiển cho đối tượng robot 1 bánh

Chương 5 : Kết Quả Kiểm Nghiệm Thực Tế - Xây dựng bộ điều khiển cho đối tượng thực Chương 6 : Kiến Nghị Và Hướng Phát Triển - Tóm tắt luận văn đưa ra ý kiến và hướng phát triển

TÀI LIỆU LIÊN QUAN

Nội dung nghiên cứu được trình bày các phần chi tiết công việc trước đó trong ba lĩnh vực phát triển của Robot một bánh Đầu tiên là các lời giải của các phương trình chuyển động, đó là sự cần thiết để kiểm soát ballbot, thứ hai là xây dựng các phần cứng vật lý của chính nó Phần cuối cùng là lý thuyết điều khiển được sử dụng để duy trì cân bằng Robot một bánh

Như Robot một bánh là một khái niệm tương đối kém phát triển, chỉ có một số tài liệu hạn chế tồn tại về chủ đề này Tuy nhiên, sẽ được thảo luận trong các phần sau đây, vấn đề ballbot có thể được mô hình hóa như hai hệ thống con lắc ngược hoạt động độc lập Như vậy, ta sẽ xem xét lại trước đây nguồn gốc động lực học và điều khiển đã được mở rộng giải pháp cho các vấn đề con lắc ngược

Mục đích của việc xem xét các phương trình trước đây có nguồn gốc của chuyển động là cung cấp một cơ sở để suy ra phương trình chuyển động của Robot một bánh cho dự án này Điều này trước tiên bao gồm phân tích các giả định rằng có thể được thực hiện và bắt nguồn động học Robot một bánh Thứ hai, phương pháp hiện tại phân tích các phương trình chuyển động của Robot một bánh được thảo luận

Cuối cùng, kết quả hiện tại được kiểm tra, bao gồm cả hạn chế của các kết quả này

1.1.1 Các giả định Động lực học của các Robot một bánh rất phức tạp và vì lý do này, rất khó để lấy được phương trình chuyển động trừ khi đơn giản hóa mô hình của Robot một bánh được thực hiện Một mô hình Robot một bánh bao gồm một thân hình cứng cân bằng trên đỉnh một hình cầu cứng Đối với mô hình này có thể giả định rằng sự chuyển động trong hai trục của mặt phẳng - pitch và roll - được tách riêng và các phương trình chuyển động giống hệt nhau trong hai mặt phẳng (Lauwers et al, 2005.) Điều này dẫn đến giả thiết về khả năng thiết kế một bộ điều khiển cho 3D toàn bộ hệ thống bằng cách thiết kế điều khiển cho hai mặt phẳng độc lập (Lauwers et al, 2005.)

Hơn nữa, bao gồm các giả định ma sát trong mô hình hệ thống như ma sát nhớt , trong khi bỏ qua các hiệu ứng ma sát tĩnh và không tuyến tính (Lauwers et al., 2005, 2006, Yamamoto, 2008) Các giả định của một mặt phẳng là đơn giản mô hình robot một bánh và ma sát nhớt cho phép các phương trình chuyển động được xác định dưới các hình thức mà cho phép thiết kế điều khiển

1.1.2 Phương pháp đạo hàm Động lực học của các mô hình Robot một bánh có thể rút ra bằng cách sử dụng phương pháp Lagrange,và trước đó đã được thực hiện bởi Lauwers et al (2005) và Liao et al (2008) Phương pháp này xác định đại lượng L Lagrange (q, q, t), trong đó q là tọa độ tổng quát của hệ thống, và t là thời gian Đại lượng L chỉ đơn giản là tổng các động năng của hệ thống, T, trừ đi thế năng, U, được thể hiện trong phương trình (2.1) (Brizard, 2008)

L = T – U (2.1) Việc lựa chọn tọa độ q là tùy ý, với ràng buộc rằng chúng hoàn toàn phải xác định hệ thống Tuy nhiên, nó thì thuận lợi để sử dụng tọa độ trực tiếp liên quan đến đại lượng đo lường, như các góc độ thân hình và góc của quả banh (Schearer, 2006) Hình 2.1 cho thấy những ví dụ về tọa độ lựa chọn khi phân tích động học xét trong một mặt phẳng, của robot một bánh hoặc hệ thống tương tự

Hình 2.1: Hệ tọa độ cho bóng / hệ thống cân bằng bánh xe

Phương trình cơ sở chuyển động, các phương trình Euler Lagrange i i i d L L dt q q F

Trong đó Fi là lực tổng quát (Brizard, 2008) Điều này dẫn đến phương trình Lagrange cho mỗi tọa độ qi, theo sau

Trong đó: M(q) ma trận khối lượng, G(q) ma trận trọng lực, F vecto lực tổng quát

Phương trình (3) là phương trình chuyển động của hệ thống, mà có thể là phi tuyến

Công việc hiện tại phù hợp nhất là phương trình cơ sở chuyển động của Robot một bánh được trình bày bởi Lauwers et al (2005) tại CMU Phương trình cơ sở này sử dụng mô hình đơn giản và phương pháp ballbot Lagrangian Các phương pháp dựa trên mô hình thể hiện trong hình 2.1 (a)

Kết quả đạo hàm này trong các phương trình sau đây về chuyển động bao gồm thêm các ảnh hưởng của độ nhớt ma sát là một thuật ngữ khác, D (q) (Lauwers et al., 2005)

  Những kết quả này cung cấp các phương trình chuyển động của Robot một bánh

Một hạn chế lớn của phương trình này là mômen xoắn điều khiển chỉ đơn giản là mô hình hóa như mômen xoắn, và không xem xét các phương trình toán động cơ Động lực học Robot một bánh trong một mặt phẳng bao gồm các ảnh hưởng của động cơ bằng cách thêm động năng động cơ, và thay thế các mômen xoắn điều khiển với động lực học dựa trên trên các phương trình động cơ DC

Trong đó:  là moment động cơ, K t hằng số moment động cơ, i dòng điện động cơ, v điện áp động cơ,

 vận tốc góc động cơ, L độ tự cảm,

K b hằng số emf, R điện trở động cơ

Trong ứng dụng này, các độ từ cảm động cơ L là không đáng kể và giả định là bằng không

Một Robot một bánh vật lý là một thiết bị tương đối đơn giản, đòi hỏi một vài thành phần Các chức năng cơ bản của Robot một bánh, đó là để cân bằng thẳng đứng trên một quả bóng, đòi hỏi phải có một quả bóng, một phương tiện để lăn bóng, cảm biến để đo góc nghiêng Robot một bánh, và vi điều khiển Bằng phương pháp tiếp cận vấn đề khác nhau đã triển khai thực hiện một Robot một bánh đó là Đại học Carnegie Mellon và Đại học Tohoku Gakuin

Cơ chế bộ lái - bao gồm các giao diện giữa các động cơ lái và quả bóng - quan trọng cho sự thành công của Robot một bánh CMU và TGU có phương pháp khác nhau để thiết kế thành phần này, sẽ được thảo luận sau Ngoài ra một cơ chế lái khác được đề xuất bởi Wu Hwang (2008) cũng đã được kiểm tra

Ballbot CMU có lẽ là phương pháp cho cơ chế lái đơn giản nhất Nó sử dụng cơ cấu 'lái ổ chuột-bóng "- minh họa trong hình 2.2 Hai con lăn lái vuông góc được sử dụng, mỗi con lăn được lái bởi một servomotor DC thông qua một vành đai Đối diện mỗi con lăn lái là hai con lăn trượt chạy không tải, con lăn được sử dụng để xác định vị trí các quả bóng (Lauwers et al, 2006.) Lợi thế của việc sử dụng hệ thống này là, như hai con lăn lái thì trực giao với nhau, kiểm soát có thể được đơn giản hóa để hai hệ thống con lắc ngược trong hai mặt phẳng độc lập Tuy nhiên, mức độ trượt phải diễn ra giữa bóng và các con lăn khi được điều khiển bởi những con lăn trực giao, trong khi đó, tại một thời điểm, mức độ ma sát là cần thiết giữa các con lăn lái và bóng, quả bóng và mặt đất Như vậy, một ma sát cao và ma sát thấp, quả bóng lăn tương tác là cần thiết cùng một lúc, có thể là vấn đề khó khăn để hoàn thành

Hình 2.2: Cơ cấu bộ lái của CMU ballbot

Cách tiếp cận với cơ chế lái của nhóm ballbot TGU hơi phức tạp hơn, và có thể được nhìn thấy trong hình 2.3 Ba động cơ bước, cố định lệch nhau ở góc 120 ◦ được sử dụng vào việc lái bóng Omniwheels được sử dụng để lái quả bóng Những bánh xe tùy chỉnh này được sản xuất để cho phép bóng lăn tự do dọc theo trục của bánh xe, nhưng cung cấp lực chấp hành theo hướng xoay vòng bánh xe

Hình 2.3: Cơ cấu bộ lái của TGU ballbot

Việc sử dụng động cơ bước trong hệ thống TGU cho phép kiểm soát chính xác, và loại bỏ sự cần thiết của một bộ encoder, điều đó thì cần thiết cho các servomotors được sử dụng trong hệ thống CMU Hơn nữa, điều này cũng làm giảm sự phức tạp của mạch lái Các phản ứng dữ dội gây ra bởi hệ thống truyền động dây đai trong ballbot CMU nhưng lại được xóa bỏ trong cấu hình của ballbot TGU

THIẾT KẾ MÔ HÌNH CƠ KHÍ ROBOT MỘT BÁNH

Với ý tưởng để robot giữ thăng bằng và di chuyển trên bóng, robot sẽ có cơ cấu lái theo cơ cấu lái bóng chuột máy tính, quả bóng bowling sẽ được dùng cho mục đích này Hệ robot một bánh tự cân bằng bao gồm: 2 động cơ DC servo 24VDC/40W điều khiển toàn bộ quá trình giữ thăng bằng và di chuyển của robot, phần thân robot được làm bằng nhôm, giúp cho phần thân robot có kết cấu chắc chắn nhưng vẫn gọn nhẹ, giúp robot di chuyển linh hoạt dễ dàng

Hình 2.5 Cơ cấu bộ lái dự kiến cho Robot

Hình 2.6: Mô hình cơ khí robot một bánh được thiết kế

Robot sau khi được thiết kế ước lượng với:

Mô tả Ký hiệu-đơn vị Giá trị

Bán kính của quả bóng Rb –[m] 0.11

Khoảng cách từ trung tâm của khối lượng hình thể đến tâm của quả bóng

Khối lượng hình thể MB –[kg] 6.7

Khối lượng của quả bóng Mb –[kg] 2.7

Moment quán tính của quả bóng Ib –[kg.m 2 ] 0.0266 Moment quán tính của hình thể, về trục x IBx –[kg.m 2 ] 5.6 Moment quán tính của hình thể, về trục y IBy -[kg.m 2 ] 5.7 Moment quán tính của động cơ (bao gồm cả bánh xe), về trục quay của chúng

Tỉ số truyền, động cơ đến quả bóng, bao gồm cả hướng n -0.223 hệ số ma sát giữa thân và bóng μ Bb 0.08 hệ số ma sát giữa thân và mặt đất μ Bg 0.01 hệ số sức điện động của động cơ K b –[V/rad/sec] 0.04768 hằng số mô-men xoắn của động cơ K t –[Nm/A] 0.274 điện trở phần ứng R m –[ohm] 1.1

Vật liệu sử dụng cho việc thi công mô hình bao gồm:

 Nhôm cứng dùng để thi công khung sườn mô hình

 Inox dùng để thi công trục, con lăn

Trong luận văn, vi điều khiển thời gian thực TMS320F28335 ( họ C2000 dòng Delfino Floating Point Real Time MCU của Texas Instrument) được sử dụng để nhúng các giải thuật điều khiển hệ robot Vi điều khiển trung tâm có nhiệm vụ kết nối các dữ liệu cảm biến: cảm biến gia tốc ( Accelerometer), cảm biến con quay hồi chuyển ( Rate gyro) để đo góc nghiêng và biến thiên góc nghiêng của hệ robot, 2 cảm biến encoder hồi tiếp vị trí và vận tốc di chuyển của robot, 2 bộ mạch cầu H dùng để lái 2 động cơ

Hình 2.7: Sơ đồ khối hệ thống điện điều khiển robot một bánh

PHƯƠNG TRÌNH CHUYỂN ĐỘNG

3.1 Giả định và định nghĩa

Nguồn gốc của động lực học dựa vào một số tham số vật lý của Robot Tham số vật lý này được quy định như sau:

• Rb - Bán kính của quả bóng

• L - Khoảng cách từ trung tâm của khối lượng hình thể đến tâm của quả bóng

• MB - Khối lượng hình thể

• Mb – Khối lượng của quả bóng

• Ib - Moment quán tính của quả bóng

• IBx - Moment quán tính của hình thể, về trục x

• IBy - Moment quán tính của hình thể, về trục y

• IM - Moment quán tính của động cơ (bao gồm cả bánh xe), về trục quay của chúng

Hình 2.8: Mô hình ballbot đơn giản

• n - Tỉ số truyền, động cơ đến quả bóng, bao gồm cả hướng

• μ Bb - hệ số ma sát giữa thân và bóng

• μ Bg - hệ số ma sát giữa thân và mặt đất

• K b – hệ số sức điện động của động cơ

• K t – hằng số mô-men xoắn của động cơ

3.2 Phương trình phi tuyến của Robot một bánh

Các phương trình chuyển động của mô hình robot một bánh đơn giản trong một mặt phẳng của CMU sử dụng phương pháp Lagrange như được thảo luận tại mục II/2.1 Theo các giả định, chỉ có các phương trình chuyển động của một mặt phẳng (XZ) và sau đó các mặt phẳng khác (YZ) được cho là có động lực học giống nhau

Biểu diễn phương pháp Lagrange bắt đầu bằng cách xác định động năng và thế năng của thân robot, bóng và các động cơ, như sau:

Góc  x n x Vận tốc góc  x n x Vị trí x , x b R b   x  n  x  Vận tốc x, x’ b R b    x  n   x 

Vị trí z , zb 0 Vận tốc z, z’b 0 Động năng tuyến tính của quả bóng, 2   2

  Động năng xoay của quả bóng,   2

Thế năng của quả bóng, V b =0

Vị trí x , xB x b Lsin( ) x Vận tốc x, x’B x b Lsin( ) x

Vị trí z , z B L cos(  x ) Vận tốc z, z’ B  L sin(   x )  x Động năng tuyến tính của thân robot,

        Động năng xoay của thân robot,

Thế năng của thân robot, V B  gLM B cos    x

Góc  x  x Vận tốc góc  x  x Động năng xoay của động cơ,   2

Lagrangian thì được tính linb linB rotb rotB rotm b B

Phương trình Euler-Lagrange i i i d L L dt q q F

Kết quả phương trình của chuyển động được xác định

M (U - (K v )/R + (K K )/Rm - LM R n sin( )) + M (LM R sin( ) - U + 9.81LM sin( ))

M (U - (K v )/R + (K K )/Rm - LM R n sin( )) + M (LM R sin( ) - U + 9.81LM sin( ))

(2.14) Không gian trạng thái phi tuyến

Phương pháp thiết kế bộ điều khiển được sử dụng trong luận văn này đòi hỏi các phương trình không gian trạng thái được tuyến tính Như vậy, phương trình không gian trạng thái phi tuyến sử dụng để tính xấp xỉ như sau

Trong đó x  là trạng thái tuyến tính, x   0  x 0 0  T là điểm dừng, j x   là

Jacobian tại điểm dừng Phương trình trạng thái tổng quát, x  trạng thái vecto x x   Ax  Bu (2.16)

A D gLM I I n M nR M nR LM nR

B b b b B b x m t Bx M b B B b b b B b x x m x Bx M M b M b Bx b M b M B M B b M B b b B Bx B b M B b Bx b b M b b M B b

3.4 Phương trình trạng thái đầy đủ

Tương tự, thực hiện theo các bước trên cho mặt phẳng y-z ta nhận được kết quả phương trình trạng thái đầy đủ như sau x   Ax  Bu

  Đây là phương trình chuyển động của hệ thống Robot một bánh trong không gian trạng thái tuyến tính Vì vậy nó có thể được dùng cho một bộ điều khiển không gian trạng thái.

K ếT L UậN

Trong chương này, ta đã xây dựng phương trình động lực cho Robot một bánh và kiểm tra đặc tính phi tuyến của hệ thống, hệ thống có độ phi tuyến rất cao Để đơn giản ta đã xây dựng động lực học cho robot một bánh được tách thành hai mặt phẳng độc lập và sự di chuyển của Robot theo trục này sẽ không ảnh hưởng tới trục kia Trong trường hợp này với hệ thống cơ khí là lý tưởng

Qua việc khảo sát đặc tính động lực học của robot một bánh ta đưa ra nguyên tắc điều khiển Robot sau:

- Nếu Robot di chuyển về phía trước phần thân robot có khuynh hướng nghiêng về phía sau, chính vì vậy để điều khiển được robot thăng bằng theo phương thẳng đứng, thì khi robot nghiêng về phía trước, lực sinh ra do các động cơ thứ 1 đưa robot phải di chuyển về phía trước, và ngược lại Nghĩa là robot phải di chuyển cùng chiều với chiều nghiêng của phần thân

- Nếu Robot di chuyển về phía trái phần thân robot có khuynh hướng nghiêng về phía phải, chính vì vậy để điều khiển được robot thăng bằng theo phương thẳng đứng, thì khi robot nghiêng về phía trái, lực sinh ra do các động cơ thứ 2 đưa robot phải di chuyển về phía trái, và ngược lại Nghĩa là robot phải di chuyển cùng chiều với chiều nghiêng của phần thân.

HỒI TIẾP TUYẾN TÍNH HOÁ HỆ PHI TUYẾN

Hồi tiếp tuyến tính hoá là phương pháp thiết kế bộ điều khiển cho đối tượng phi tuyến cực tiểu pha, Tổng quát kỹ thuật này nhằm biến đổi hệ phi tuyến thành hệ tuyến tính bằng phương pháp hồi tiếp về các biến trạng thái và biến đổi hệ trục toạ độ

Xét hệ phi tuyến SISO mô tả bởi phương trình trạng thái có dạng

1 n T x   x x   - vector trạng thái của hệ thống

  u t  R - tín hiệu vào của hệ thống

  y t  R - tín hiệu ra của hệ thống f(x) , g(x) R - Hàm phi tuyến mô tả đặc tính động học của hệ thống h(x)  R - Hàm mô tả quan hệ giữa các biến trạng thái và ngõ ra

1.1 Đạo hàm Lie Đạo hàm Lie của hàm h(x) : R n Rtheo hướng hàm f(x) : R n R kí hiệu là f  

L h x được định nghĩa như sau :

 (3.2) Đạo hàm Lie bậc n được định nghĩa theo qui tắc đệ qui là :

L h x h x (3.3) Đạo hàm Lie của hàm h(x) theo hướng f(x) sau đó theo hướng g(x) là :

1.2 Luật điều khiển hồi tiếp tuyến tính hoá

Ta tiếp tục lấy đạo hàm của y đến khi nào xuất hiện tín hiệu điều khiển u

( ) r r f g ( r f 1 ) y L h L L h u v   Nếu L L h g ( r f  1 ) 0 (3.5) Ta nói hệ thống có bậc tương đối r nếu L L h g ( r f  1 )0;L g L h x f ( ) L g L p f  2 h x( )0 Đặt :

Phương trình (2.5) được viết lại như sau :

Trong thực tế có khá nhiều các đối tượng điều khiển được mô tả như phương trình (3.7) Vấn đề đặt ra là thiết kế một bộ điều khiển sao cho tín hiệu ra y(t) bám theo tín hiệu mong muốn yd(t)

Một trong những cách tiêu biểu nhất để thực hiện việc điều khiển trên là sử dụng luật điều khiển hồi tiếp tuyến tính hoá được rút ra từ phương trình (3.7)

Với v(t) là tín hiệu vào mới của hệ thống tuyến tính hoá bằng hồi tiếp Với luật điều khiển hồi tiếp tuyến tính hoá như trên hệ thống phi tuyến sẽ trở thành hệ thống tuyến tính bậc r với ngõ vào là mới là v(t), quan hệ vào ra của hệ thống này như trong hình sau

Vector tín hiệu vào của hệ thống tuyến tính hoá được định nghĩa là :

Trong đó  là hệ số dương e s và e s

 được định nghĩa như sau - e s e 0 r  1 k e 1 0 r  2  k r  1 0 e

- e 0  y m ( )t y t( ) e 0là sai số ngõ ra còn e s là sai số bám Các hệ số k 1 được chọn sao cho thoả đa thức

Hurwitz :( )s s r  1 k s 1 r  2  k r  2 s k r  1 (3.12) tức là các nghiệm của phương trình (3.12) có các cực nằm bên trái mặt phẳng phức Để xác định luật điều khiển hồi tiếp tuyến tính hoá (3.8) ta cần có các giả thiết sau :

Giả thiết 2.1 : Hàm ( ) x thoả mãn

Giả thiết 2.2 : Quỹ đạo chuẩn mong muốn y m ( )t khả vi liên tục bị chặn đến bậc r Ta có :

Kết hợp (3.11) và (3.13) ta được

Từ (3.14) và (3.11) ta suy ra đặc tính động học của sai số bám

V  e (3.16) Đạo hàm hàm Lyapunov theo thời gian và để ý (3.15) ta được

 nên hệ thống hồi tiếp tuyến tính hoá ổn định , do đó e s 0khi t  Do (3.11), (3.12) suy ra e 0 0khi t  tức là tín hiệu ra y (t) tiệm cận theo tín hiệu chuẩn y m (t) vậy với tín hiệu vào mới v(t) được chọn như (3.10) và luật điều khiển hồi tiếp tuyến tính hoá (3.8) hệ thống có tín hiệu ra bám theo tín hiệu ra mong muốn

Hệ phi tuyến (3.1) có bậc n sau khi thực hiện luật điều khiển hồi tiếp tuyến tính hoá hệ thống trở thành hệ tuyến tính bậc r, như vậy sau khi áp dụng luật điều khiển hồi tiếp tuyến tính hoá hệ thống sẽ có n-r biến trạng thái không quan sát được Ta chỉ có thể áp dụng được luật điều khiển hồi tiếp tuyến tính hoá (3.8) khi các biến trạng thái không quan sát được này bị chặn trong quá trình hệ thống hoạt động Do đó khi thiết kế bộ điều khiển cho hệ thống hồi tiếp tuyến tính hoá ta phải xem xét các dao động bên trong của hệ thống, một trong các phương pháp để thực hiện việc này đó là khảo sát động học không của hệ thống Các bước khảo sát động học không cho hệ phi tuyến được tóm tắt ngắn gọn như sau :

- Hệ thống sau khi tuyến tính : y r v

- Khảo sát động học không (Zero dynamic)

 Triệt tiêu tín hiệu vào mới v(t) = 0

 Triệt tiêu các biến trạng thái quan sát được:

Ta được hệ thống con tương ứng với biến trạng thái không quan sát được

Nếu hệ thống con này ổn định thì hệ thống cực tiểu pha Ta có thể áp dụng luật điều khiển (3.8)

ĐIẾU KHIỂN CHẾ ĐỘ TRƯỢT

2.1 Tổng quan điều khiển chế độ trượt (Sliding mode control)

Trong lý thuyết điều khiển, điều khiển trượt là một dạng điều khiển thay đổi cấu trúc Đây là một phương pháp điều khiển phi tuyến làm thay đổi đặc tính động học của hệ phi tuyến bằng cách sử dụng tín hiệu điều khiển đóng – cắt tần số cao Luật điều khiển hồi tiếp trạng thái không phải là hàm liên tục theo thời gian Nó chuyển từ cấu trúc liên tục từ trạng thái này sang trạng thái khác dựa vào vị trí hiện hành trong không gian trạng thái Do đó điều khiển trượt là một phương pháp điều khiển thay đổi cấu trúc Nhiều bộ điều khiển được thiết kế sao cho các quỹ đạo luôn tiến đến một điều kiện chuyển đổi Và quỹ đạo cuối cùng sẽ không tồn tại một cách trọn vẹn bên trong một cấu trúc điều khiển Mà quỹ đạo cuối cùng sẽ trượt trên các biên của các cấu trúc điều khiển Chuyển động của hệ thống khi nó trượt dọc theo các đường biên này được gọi là chế độ trượt và quỹ tích các đường biên này được gọi là bề mặt trượt - siêu diện S Hình 3.13 là một ví dụ cho thấy quỹ đạo của một hệ thống ở chế độ điều khiển trượt Bề mặt trượt được mô tả bởi phương trình s = 0 và chế độ trượt dọc theo mặt cong bắt đầu sau khoảng thời gian hữu hạn khi các quỹ đạo của hệ thống tiến đến bề mặt trượt

2.2 Quá trình thiết kế bộ điều khiển chế độ trượt

2.2.1 Điề u khi ể n bám (Tracking) Đối tượng điều khiển: Xét hệ thống phi tuyến biểu diễn với phương trình vi phân

Từ đó ta có thể biễu diễn trạng thái như sau:

Yêu cầu: xác định tín hiệu điều khiển u sao cho tín hiệu ra y bám theo tín hiệu đặt r

Mặt trượt (sliding surface) : Định nghĩa tín hiệu sai lệch : e  y  r (3.21)

Se  a n  e   a e a e (3.22) Với a a 0 , 1 , , a n  2 là các hệ số được chọn trước sao cho đa thức đặc trưng của phương trình vi phân có tất cá các nghiệm với phần thực âm (thỏa điều kiện

2 1 0 0 n n e   a n  e    a e   a e  (3.23) Khi t   nếu S  0 thì sai lệch e  0

Thay (3.21) và (3.19) vào (3.22) , ta có

Phương trình S=0 xác định một mặt cong trong không gian n chiều gọi là mặt trượt (Sliding Surface) Xác định luật điều khiển u để đưa các quỹ đạo pha của hệ thống về mặt trượt và duy trì trên mặt truợt một cách bền vững đối với các thay đổi của f (x) và g (x)

Lấy đạo hàm (3.24) và áp dụng (3.19) , ta có

S   f x  g x u  a  x  r    a x  r   a x  r  (3.25) Có thể chọn u sao cho

Trong đó  là một hằng số dương cho trước Luật điều khiển được xác định bởi

Tính bền vững của luật điều khiển:

Trong điều kiện có sai số mô hình, luật điều khiển (3.27) luôn đưa được quỹ đạo pha của hệ thống về mặt trượt S=0 nếu điều kiện sau được thỏa mãn

 Nếu S=0 thì S0 Phương pháp chọn mặt trượt: Hàm S ở (3.24) phải thỏa mãn hai điều kiện sau:

 S không phụ thuộc tường minh vào u nhưng S phụ thuộc tường minh vào u (bậc tương đối = 1)

 Phương trình vi phân (3.23) thỏa điều kiện Hurwitz (để nghiệm e  0 khi t  )

2 2 2 Ổn đị nh hóa (regulation) Đối tượng điều khiển xét hệ thống như bên dưới

Mục tiêu điều khiển: đưa vector trạng thái x về 0 Mặt trượt: Định nghĩa

Trong đó ( )x 1 được chọn thỏa mãn các điều kiện sau:

Hệ thống con x  1  f x ( , ( )) 1  x 1 có điểm cân bằng ổn định tiệm cận tại gốc tọa độ

(Trên mặt trượt S=0  x 2   ( ) x 1  x  1  f x ( , ( )) 1  x 1  x 1  0 khi t  ) S có bậc tương đối bằng 1

Luật điều khiển: ta có

Có thể chọn u sao cho:

Trong đó  là một hằng số dương chọn trước Luật điều khiển được xác định bởi:

CƠ SỞ LÝ THUYẾT BỘ LỌC KALMAN

3.1 Giới thiệu về bộ lọc kalman

Vào năm 1960, R.E.Kalman cho xuất bản nghiên cứu của mình, đưa ra giải pháp đệ qui để rời rạc hóa dữ liệu trong bộ lọc tuyến tính Kể từ đó, việc giải quyết các bài toán kĩ thuật số, một lĩnh vực rất rộng lớn, đã trở nên dễ dàng hơn rất nhiều

Bộ lọc Kalman được mở rộng ra nghiên cứu và ứng dụng, đặc biệt là trong lĩnh vực tự động hay hỗ trợ việc tự định vị Bộ lọc Kalman thu thập và kết hợp linh động các tín hiệu từ các cảm biến thành phần Mỗi khi mẫu thống kê nhiễu trên các cảm biến được xác nhận, bộ lọc Kalman sẽ cho ước lượng giá trị tối ưu (do đã loại được nhiễu), và có độ phân bổ ổn định Trong đề tài này tín hiệu đưa vào bộ lọc được lấy từ hai cảm biến: cảm biến gia tốc (accelerometers) sẽ cho ra giá trị góc đo và cảm biến vận tốc góc (rate gyro), và tín hiệu ngõ ra của bộ lọc là tín hiệu đã được xử lý lẫn nhau trong bộ lọc; dựa vào mối quan hệ: vận tốc góc = đạo hàm của góc

Bộ lọc Kalman là thuật toán xử lí dữ liệu hồi quy tối ưu Nó tối ưu đối với chi tiết cụ thể trong bất kì tiêu chuẩn có nghĩa nào Bộ lọc Kalman tập hợp tất cả thông tin được cung cấp tới nó, xử lý các giá trị sẵn có, ước lượng các giá trị quan tâm, sử dụng các hiểu biết động học, thiết bị giá trị và hệ thống, để mô tả số liệu thống kê của hệ thống nhiễu và những thông tin bất kì về điều kiện ban đầu của các giá trị cần ước lượng Đối với bộ lọc Kalman, thuật ngữ “lọc” không có ý nghĩa như các bộ lọc khác Đây là một giải thuật tính toán và ước lượng thống kê tối ưu tất cả các thông tin ngõ vào được cung cấp tới nó để có được một giá trị ra đáng tin cậy nhất cho việc xử lý tiếp theo Do vậy lọc Kalman có thể sử dụng để loại bỏ các tín hiệu nhiễu mà được mô hình là những tín hiệu nhiễu trắng trên tất cả dải thông mà nó nhận được từ ngõ vào, dựa trên các thông kê trước đó và chuẩn trực lại giá trị ước lượng bằng các giá trị đo hiện tại với độ lệch pha gần như không tồn tại và có độ lợi tối thiểu xấp xỉ là 0 đối với những tín hiệu ngõ vào không đáng tin cậy Mặc dù phải tốn khá nhiều thời gian xử lý lệnh, nhưng với tốc độ hiện tại của các vi điều khiển thời gian thực làm việc tính toán ước lượng tối ưu của bộ lọc này trở nên đơn giản và đáng tin cậy rất nhiều Nhờ có cơ chế tự cập nhật các giá trị cơ sở (bias) tại mỗi thời điểm tính toán, cũng như xác định sai lệch của kết quả đo trước với kết quả đo sau nên giá trị đo luôn được ổn định, chính xác, gần như không bị sai số về độ lợi và độ lệch pha của các tín hiệu Hơn thế, được xây dựng bởi hàm trạng thái, do vậy bộ lọc Kalman có thể kết hợp không chỉ hai tín hiệu từ hai cảm biến, mà có thể kết hợp được nhiều cảm biến đo ở những dải tần khác nhau của cùng một giá trị đại lượng vật lý Chính vì điều này, làm bộ lọc Kalman trở nên phổ dụng hơn tất cả những bộ lọc khác trong viêc xử lý tín hiệu chính xác của các cảm biến tọa độ, như cảm biến la bàn, GPS, góc, gyro…

Hình trên mô hình hóa hoạt động của mạch lọc Kalman Chúng ta có tín hiệu đo được, chúng ta có mô hình của tín hiệu đo được (đòi hỏi tuyến tính) và sau đó là áp dụng vào trong hệ thống phương trình của mạch lọc để ước lượng trạng thái quan tâm Thực ra tín hiệu đo là không khó, phương trình đã có sắn, cái chúng ta cần chính là mô hình hoá hệ thống Để có thể ứng dụng một cách hiểu quả mạch lọc Kalman thì chúng ta phải mô hình hóa được một cách tuyến tính sự thay đổi của trạng thái cần ước lượng (estimate) hoặc ước đoán (predict)

3.2 Thuật toán kalman rời rạc

Bộ lọc Kalman đề cập đến bài toán tổng quát đi ước lượng trạng thái của một quá trình được mô hình hóa một cách rời rạc theo thời gian bằng một phương trình ngẫu nhiên tuyến tính như sau

* * k k k k x  A x   B u   w  (3.33) và kết quả đo đạc k * k k z H x v (3.34)

Trong đó w và v là 2 vector biến ngẫu nhiên đại diện cho nhiễu hệ thông và nhiễu đo đạc 2 biến ngãy nhiên này độc lập và được giả sử là tuân theo phân bố Gauss với trung bình bằng 0 và ma trận hiệp biến (covariance) lần lượt là Q và R w ~N(0,Q) v ~N(0,R)

Nếu vector trạng thái x có kích thước là n, thì ma trận A sẽ có kích thứoc là n x n B (n x l) là ma trận phụ thuộc vào điều khiển tối ưu u với u là vector có kích thước là l Vector đo đạc z có kích thước là m nên ma trận H sẽ là m x n Chú ý rằng các ma trận Q, R, A, H có thể thay đổi theo thời gian (từng bước k), nhưng ở đây chùng được giả sử không đổi Đến đây ta thấ y bài toán l ọc Kalman chính là đi t ìm giá tr ị ược lượng và ướ c đoá n c ủ a tr ạ ng thái x khi ta bi ết đượ c s ự bi ế n thiên c ủa nó và ta đo đượ c m ột đai lượ ng z mà ph ụ thu ộ c tuy ế n tính vào x

Ví dụ trong bài toán chuyển động, ta biết được qui luật thay đổi của vận tốc, nhưng ta lại có thể đo được sự thay đổi của vị trí Khi đó, cái ta cần tìm là vận tốc ược lượng

Nếu ta giả sử  x k  và  x k lần lượt là tiên nghiệm và tiền nghiệm ước lượng của giá trị x tại thời điểm k Giá trị tiên nghiệm thu được chỉ dựa vào mô hình hệ thống (1), còn giá trị hậu nghiệm là giá trị thu được sau khi đã có kết quả đo đạc z k (2)

Khi đó sai số của ước đoán tiên nghiệm và hậu nghiệm lần lượt là

Ma trận hiệp biến của 2 sai số trên được tính lần lượt theo công thức

Mục đích của chúng ta bây giờ là đi tìm hệ số K sao cho thỏa mản phương trình sau

Phương trình (3.37) có nghĩa là giá trị nghiệm sau đó của ước lượng x sẽ được tính bằng giá trị tiên nghiệm của nó và sau đó thêm/bớt đi một tí dựa vào sai số giữa giá trị đo được và giá trị đo đạc ước đoán H *  x k  K ở đây chính là độ lợi (gain) của mạch lọc Kalman

Câu hỏi đặt ra là làm thế nào để chọn K tối ưu nhất Tối ưu ở đây theo nghĩa là covariance của sai số của ước lượng nghiệm sau đó e k  K * ( z k  H x *  k  ) là nhỏ nhất Bằng cách thay e k vào trong biểu thức tính P k , rồi sau đó lấy đạo hàm của P k theo K, ta sẽ tìm ra được giá trị K mà tương ứng với nó P k là nhỏ nhất

K k thay đổi theo thời gian k và chính là độ lời cần tìm của mạch lọc Kalman trong mỗi ước đoán

Tóm lại mạch lọc Kalman bao gồm 2 bước:

1- Ước đoán trạng thái tiên nghiệm 2- Dựa vào kết quả đo để hiệu chỉnh lại ước đoán

Ta có thể tóm tắt lại hoạt động của mạch lọc Kalman bằng các phương trình sau:

Giả sử bạn đã có giá trị ước đoán  x k  1 ở tại thời điểm (k-1) và biết được giá trị điều khiển u k  1 (Giá trị ban đầu tại thời điểm 0 được chọn  x 0 H z* 0) Lúc đó bạn chỉ việc lần lượt tiến hành các tính toán từ 1 đến 2 ở bước 1 rồi từ 1 đến 3 trong bước 2 như trong hình dưới đây

Hình trên tóm tắt cơ bản của mạch lọc Kalman Khó khăn của mạch lọc Kalman là làm thế nào để mô hình hóa các trạng thái và đo đạc để có được 2 phương trình (3.33) và (3.34) từ đó có thể áp dụng thuật toán Kalman.

KẾT LUẬN

Chương này đã trình bày các lý thuyết cơ bản liên quan đến việc tuyến tính hoá hệ phi tuyến bắng hồi tiếp và thiết kế các bộ điều khiển hồi tiếp tuyến tính hoá cổ điển, bộ điều khiển chế độ trượt và lý thuyết bộ lọc Kalman Từ các lý thuyết này ta sẽ xây dựng mô các bộ điều khiển tuyến tính hóa hồi tiếp, bộ điều khiển chế độ trượt cho hệ robot một bánh tự cân bằng sẽ được trình bày trong chương kế tiếp Đồng thời với lý thuyết bộ lọc Kalman sẽ được ứng dụng trong việc thiết bộ đo góc nghiêng cho robot.

XÂY DỰNG BỘ ĐIỀU KHIỂN TOÀN PHƯƠNG TUYẾN TÍNH

Trong luận văn này, một bộ điều khiển không gian trạng thái được chọn, với độ lợi tính toán dùng kỹ thuật toàn phương tuyến tính (Linear Quadratic Regulator_LQR) Bộ điều khiển LQR được thiết kế để giữ thăng bằng cho Robot

Ngoài ra, một khâu đạo hàm vị trí robot được thêm vào để điều khiển Robot theo vị trí mong muốn

1.1 Mô hình không gian trạng thái tuyến tính của robot

Phương trình chuyển động được đưa ra dưới dạng phương trình trạng thái x   Ax  Bu

Trong đó vecto trạng thái x bao gồm

  x - Góc của thân robot so với trục thẳng đứng trong mặt phẳng x

  x - Góc của động cơ so với thân hình robot trong mặt phẳng x

  y - Góc của thân robot so với trục thẳng đứng trong mặt phẳng y

   x - Vận tốc góc của thân robot trong mặt phẳng x

   x - Vận tốc góc của động cơ so với thân robot trong mặt phẳng x

   y - Vận tốc góc của thân robot trong mặt phẳng y

   y - Vận tốc góc của động cơ so với thân robot trong mặt phẳng y

T x x y y x x y y x                  Với kết quả tính được ở chương 2, thế các thông số trên vào ta được ma trận trạng thái thành phần

Tín hiệu điều khiển u bao gồm 2 điện áp cấp cho 2 động cơ

1.2 Tính toán độ lợi bộ điều khiển

Như đã đề cập trước đây, hiệu chỉnh toàn phương tuyến tính (LQR) thường được sử dụng để tính toán độ lợi điều khiển tối ưu Các heuristic phát triển cho bộ điều khiển LQR đòi hỏi một ma trận Q, và một ma trận R Các ma trận Q là một ma trận trọng số mà chỉ ra các mong muốn của mỗi trạng thái được bằng điểm đặt của nó Ma trận R là một ma trận trọng số sử dụng kiểm soát đầu vào Các ma trận này sau đó được sử dụng để tìm được ma trận K trong phương trình sau đây:

Chạy m_file ballbot_full.m ta tính được ma trận độ lợi tối ưu K

       Độ lợi của khâu đạo hàm vị trí của Robot dựa vào phương pháp thử sai K d = 0.2007

Hình 4.1: Sơ đồ mô phỏng hệ thống robot dùng giải thuật LQR

TH1: Trạng thái đầu góc nghiêng thân hình Robot, theta = 0.3 rad

Hình 4.2: Góc nghiêng của thân hình Robot so với phương thẳng đứng

Hình 4.3: Vị trí robot so với tín hiệu đặt

Hình 4.4: Tín hiệu điều khiển động cơ

TH2: Tín hiệu tham chiếu vị trí robot , psi = 200 rad

Hình 4.5: Góc nghiêng của thân hình Robot so với phương thẳng đứng

Hình 4.6: Vị trí robot so với tín hiệu đặt

Hình 4.7: Tín hiệu điều khiển động cơ

Trong phần này ta sẽ xây dựng các bộ điều khiển hồi tiếp tuyến tính hóa dùng để điều khiển giữ cân bằng cho robot, bộ điều khiển PD được thêm vào dùng để điều khiển vị trí cho robot, đối tượng được thiết kế và xây dựng bộ điều khiển là hệ robot một bánh có cấu hình như sau :

Hình 4.8 : Mô hình robot một bánh

Cấu trúc mô hình : Để điều khiển cân bằng robot 1 bánh ta dùng 2 động cơ DC Servo cho 2 mặt phẳng độc lập Encoder 2 động cơ dùng để đo vị trí của robot (góc Psi) IMU dùng để đo độ nghiêng của thân hình robot (góc theta)

Nhiệm vụ điều khiển: Điều khiển 2 động cơ để giữ robot thăng bằng và ổn định tại vị trí mong muốn Bộ điều khiển hồi tiếp tuyến tính hóa có nhiệm vụ giữ thăng bằng robot sao cho robot không bị đẩy ngã, bộ điều khiển PD có nhiệm vụ điều khiển vị trí robot bám theo tín hiệu đặt

Phương trình toán học mô tả hệ thống :

M (U - (K v )/R + (K K )/Rm - LM R n sin( )) + M (LM R sin( ) - U + 9.81LM sin( ))

M (U - (K v )/R + (K K )/Rm - LM R n sin( )) + M (LM R sin( ) - U + 9.81LM sin( ))

  Phương trình trạng thái mới của hệ thống :

(4.6) Bậc tương đối của hệ thống m = 2

Chọn u sao cho yv (v: Tín hiệu điều khiển mới)

Với luật điều khiển như trên hệ thống phi tuyến sau khi được tuyến tính hóa bằng hồi tiếp sẽ tương đương với hệ tuyến tính bậc 2 có hàm truyền là :

2.1.2 Mô phỏng kiểm tra hệ thống

Hình 4.9 : Sơ đồ mô phỏng tuyến tính hóa hệ thống bằng hồi tiếp

Hình 4.10 : Đáp ứng với ngõ vào hàm nấc của hệ thống so với hệ 1/s 2

Hình 4.11 : Đáp ứng với ngõ vào sóng sine của hệ thống so với hệ 1/s 2

Nhận xét : Với luật điều khiển hồi tiếp tuyến tính hóa vừa tìm được đáp ứng nấc và đáp ứng song sine của hệ thống trùng với đáp ứng nấc và đáp ứng sóng sine của hệ

SISO bậc 2 có hàm truyền là

Sau khi tuyến tính hoá hệ thống bằng hồi tiếp trong ta sẽ tiến hành xây dựng bộ điều khiển cho hệ thống tuyến tính, cấu trúc điều khiển hệ thống hồi tiếp tuyến tính hoá được thể hiện như trong hình (3.5) Một số bộ điều khiển kinh điển như Điều

Khiển PID, LQR được xây dựng và áp dụng để điều khiển cho hệ thống hồi tiếp tuyến tính hoá trên cơ sở đó ta sẽ xem xét đáp ứng của hệ thống với từng bộ điều khiển khác nhau Để kiểm chứng lý thuyết và thực tế mỗi bộ điều khiển sẽ được mô phỏng trước, sau đó xây dựng bộ điều khiển thực tế trong thời gian thực

Hình 4.12: Điều khiển hệ tuyến tính hoá bằng hồi tiếp tuyến tính hoá

Hàm truyền đạt vào ra của hệ thống sau khi tuyến tính hoá bằng hồi tiếp có dạng :

Quan sát hàm truyền đạt ta thấy hệ thống đã bao gồm khâu tích phân nên ta chỉ cần thiết kế bộ điều khiển PD để điều khiển hệ thống

Phương trình bộ điều khiển PD kinh điển

Trong đó : v(t) là tín hiệu vào mới của hệ sau khi tuyến tính hoá bằng hồi tiếp

Mô phỏng hệ thống với bộ điều khiển PD:

- Các thông số của bộ điều khiển PD được chọn theo phương pháp thử sai : Kp 120, K D = 15

Hình 4.13: Sơ đồ mô phỏng điều khiển Robot một bánh bằng bộ điều khiển HTTTH

Hình 4.14 : Góc nghiêng thân hình robot so với tín hiệu đặt ban đầu theta = 0.3 rad

Hình 4.15: Vị trí robot chưa được điều khiển

Kết quả mô phỏng điều khiển hệ bồn nước kép hồi tiếp tuyến tính hoá bằng bộ điều khiển PD cho kết quả tốt, tín hiệu ra bám sát theo tín hiệu đặt mong muốn, hệ thống đáp ứng nhanh, không vọt lố và ổn định

Sau khi tuyến tính hoá bằng hồi tiếp hệ thống trở thành hệ SISO bậc 2 có hàm truyền đạt vào ra như sau :

Hình 4.16: Sơ đồ bộ điều khiển LQR

Luật điều khiển tối ưu hoá : u Kx k x 1  1 r k x 2 2

1 T u   R B Px t  Với P là nghiệm của phương trình Riccati :

Giải phương trình Riccati ta được :

Luật điều khiển tối ưu :

Mô phỏng bộ đều khiển LQR :

 TH1: Với tín hiệu góc theta ban đầu, theta = 0.3 rad

Hình 4.17: Điều khiển hệ robot một bánh bằng bộ điều khiển HTTTH

Hình 4.18: Cấu trúc bộ điều khiển LQR

Hình 4.19: Góc nghiêng thân hình robot so với phương thẳng đứng

Hình 4.20: Vị trí robot chưa được điều khiển

 TH2: Tín hiệu đặt theta nghiêng 1 góc, theta = 0.05 rad trong khoảng thời gian 5s

Hình 4.21: Góc nghiêng của robot so với tín hiệu đặt

Hình 4.22: Vị trí robot chưa được điều khiển

Nhận xét : Kết quả mô phỏng cho thấy bộ điều khiển LQR có thể điều khiển tốt hệ thống, đáp ứng của hệ thống tương đối nhanh, ít vọt lố và khá ổn định Cả hai bộ điều khiển PD, LQR đều cho kết quả tốt khi được áp dụng để điều khiển giữ thăng bằng hệ Robot một bánh tuyến tính hoá bằng hồi tiếp

PD, LQR Kết quả kiểm nghiệm cho thấy hệ thống sau khi HTTTH có thể được điều khiển tốt bằng các bộ điều khiển tuyến tính kinh điển Tuy nhiên, Robot phải di chuyển với khoảng cách lớn để cân bằng Sau đây, bộ điều khiển PD sẽ được kết hợp với bộ điều khiển hồi tiếp tuyến tính hóa để cải thiện vị trí của Robot

2.2.3 Bộ điều khiển PD – Tuyến tính hóa vào ra

Hình 4.23: Cấu trúc bộ điều khiển PD_Tuyến tính hóa vào ra

Các thông số của bộ điều khiển PD dùng điều khiển vị trí Robot được chọn theo phương pháp thử sai : Kp = -0.0012, K D = -0.0034

Hình 4.24: Điều khiển hệ Robot một bánh bằng bộ điều khiển PD – Tuyến tính hóa vào ra

Kết quả mô phỏng bộ đều khiển PD-Tuyến tính hóa vào ra :

 TH1: Với tín hiệu góc theta ban đầu, theta = 0.2 rad

Hình 4.25: Vị trí robot so với tín hiệu đặt

Hình 4.26: Góc nghiêng của robot so với phương thẳng đứng

Hình 4.27: Tín hiệu điều khiển động cơ

 TH2: Với tín hiệu đặt vị trí, psi = 150 rad

Hình 4.28: Vị trí robot so với tín hiệu đặt

Hình 4.29: Góc nghiêng của robot so với phương thẳng đứng

Hình 4.30: Tín hiệu điều khiển động cơ

Nhận xét: Bộ điều khiển “PD_Hồi tiếp tuyến tính hóa” cho kết quả tốt hơn so với bộ điều khiển LQR với thời gian đáp ứng nhanh hơn.Tuy nhiên, vị trí vẫn dao động trước khi ổn định.

XÂY DỰNG BỘ ĐIỀU KHIỂN CHẾ ĐỘ TRƯỢT

Khi tuyến tính hóa hệ thống tại điểm làm việc, thì thành phần phi tuyến được bỏ qua hoặc được giảm bậc, chính các thành phần phi tuyến cộng với các tác nhân nhiễu bên ngoài có thể làm cho hệ thống mất ổn định, hoặc chất lượng đáp ứng của hệ thống bị suy giảm Chính vì vậy, trong phần này bộ điều khiển chế độ trượt được khảo sát để đảm bảo tính ổn định của hệ thống

Bộ điều khiển chế độ trượt được xây dựng để cân bằng, ổn định cho hệ thống robot một bánh Đồng thời, bộ điều khiển PD được xây dựng điều khiển vị trí robot một bánh Hai bộ điều khiển này kết hợp dùng để điều khiển robot cân bằng và di chuyển theo vị trí mong muốn Cấu trúc bộ điều khiển theo sơ đồ khối sau:

Phương trình vi phân của hệ thống

M (U - (K v )/R + (K K )/Rm - LM R n sin( )) + M (LM R sin( ) - U + 9.81LM sin( ))

M (U - (K v )/R + (K K )/Rm - LM R n sin( )) + M (LM R sin( ) - U + 9.81LM sin( ))

 Phương trình trạng thái của hệ thống Đặt 1

 Xác định mặt trượt Đặt y  x 1

(4.12) Do hệ thống có bậc là 2, ta chọn mặt trượt bậc 1:

(4.14) Chọn vx sao cho Ssign(S)  > 0

(4.15) Luật điều khiển được xác định bởi:

Sơ đồ mô phỏng bộ điều khiển chế độ trượt:

Hình 4.31: Điều khiển cân bằng robot một bánh bằng bộ điều khiển chế độ trượt

Hình 4.32: Góc nghiêng của robot so với phương thẳng đứng

Hình 4.33: Vị trí robot khi chưa được điều khiển

3.2 Xây dựng bộ điều khiển PID – chế độ trượt cho robot một bánh

Hình 4.34: Cấu trúc bộ điều khiển PD_chế độ trượt

Các thông số của bộ điều khiển PD dùng điều khiển vị trí Robot được chọn theo phương pháp thử sai : K p = -0.0032, K D = -0.015

Hình 4.35: Mô hình điều khiển robot một bánh bằng bộ điều khiển PD_chế độ trượt

 TH1: Với tín hiệu góc theta ban đầu, theta = 0.2 rad

Hình 4.36: Vị trí của robot so với tín hiệu đặt

Hình 4.37: Góc nghiêng của robot so với phương thẳng đứng

Hình 4.38: Tín hiệu điều khiển động cơ U m

 TH2: Với tín hiệu đặt vị trí, psi = 200 rad

Hình 4.39: Vị trí của robot so với tín hiệu đặt

Hình 4.40: Góc nghiêng của robot so với phương thẳng đứng

Hình 4.41: Tín hiệu điều khiển động cơ U m

Nhận xét: Trong ba bộ điều khiển đã thực hiện mô thì bộ điều khiển PD_chế độ trượt cho kết quả tốt nhất với thời gian đáp ứng nhanh , không có vọt lố, robot di chuyển mềm dẻo hơn các bộ điều khiển còn lại

Trong chương 4 ta đã tiến hành tuyến tính hoá hệ thống phi tuyến bằng hồi tiếp và xây dựng các bộ điều khiển cho hệ thống sau khi được tuyến tính hoá bằng hồi tiếp, đồng thời bộ điều khiển chế độ trượt được xây dựng điều hệ robot một bánh

Hai bộ điều khiển này lần lượt được kết hợp với bộ điều khiển PD với mục đích cân bằng và điều khiển Robot một bánh theo vị trí mong muốn Kết quả thực tế thu được khi áp dụng các bộ điều khiển khác nhau để điều khiển đối tượng thực tế giúp ta nhìn nhận về việc điều khiển hệ thống tốt hơn Trong phần này các kết quả mô phỏng đã giúp ta kiểm chứng lý thuyết tuy nhiên để thấy rõ được kết quả thực tế của các bộ điều khiển ta sẽ xây dựng các bộ điều khiển này trong thời gian thực để điều khiển đối tượng thực.

XÂY DỰNG HỆ THỐNG CƠ KHÍ ROBOT MỘT BÁNH

Hệ thống cơ khí Robot một bánh được thiết kế bằng phần mềm Solid work Từ cơ sở kích thước banh bowling ta xây dựng được hệ thống cơ khí cho robot một bánh với kích thước hoàn chỉnh Hệ thống cơ khí robot một bánh được thực hiện trong đề tài gồm 2 phần chính:

Cơ cấu hệ thống lái banh bowling

Hệ thống truyền động từ động cơ tới con lăn

Hình 5.1: Bản vẽ thi công 3D Robot một bánh

Robot một bánh sử dụng 2 động cơ servo DC truyền động tới con lăn thông qua bộ phận bánh đai và dây đai, con lăn sẽ truyền động ma sát với quả banh để điều khiển giữ thăng bằng cho robot Hai encoder dùng xác định vị trí và vận tốc di chuyển của robot theo 2 trục X, Y trong mặt phẳng hoạt động Bộ IMU 6DOFT cũng được thiết kế dùng cho việc đo góc nghiêng và vận tốc góc nghiêng của robot

Mô tả Ký hiệu-đơn vị Giá trị

Bán kính của quả bóng Rb –[m] 0.11

Khoảng cách từ trung tâm của khối lượng hình thể đến tâm của quả bóng

Khối lượng hình thể MB –[kg] 6.7

Khối lượng của quả bóng Mb –[kg] 2.7

Moment quán tính của quả bóng Ib –[kg.m 2 ] 0.0266

Moment quán tính của hình thể, về trục x IBx –[kg.m 2 ] 5.6 Moment quán tính của hình thể, về trục y IBy -[kg.m 2 ] 5.7 Moment quán tính của động cơ (bao gồm cả bánh xe), về trục quay của chúng

Tỉ số truyền, động cơ đến quả bóng, bao gồm cả hướng n -0.223 hệ số ma sát giữa thân và bóng μBb 0.08 hệ số ma sát giữa thân và mặt đất μ Bg 0.01 hệ số sức điện động của động cơ K b –[V/rad/sec] 0.04768 hằng số mô-men xoắn của động cơ K t –[Nm/A] 0.274 điện trở phần ứng R m –[ohm] 1.1

Hình 5.2: Robot một bánh đã thi công

Hình 5.3: Cấu trúc phần cứng Robot một bánh tự cân bằng

Hình 5.4: Mạch điều khiển Robot một bánh tự cân bằng

XÂY DỰNG BỘ LỌC KALMAN CHO CẢM BIẾN ĐO GÓC NGHIÊNG

Đề tài này sử dụng 2 cảm biến đó là: cảm biến gia tốc và cảm biến con quay hồi chuyển để đo góc nghiêng và vận tốc góc nghiêng Công việc ở đây là đưa ra tập hợp dữ liệu từ các cảm biến để có được uớc lượng chính xác góc nghiêng và vận tốc góc nghiêng của robot tốt hơn là chỉ sử dụng riêng lẻ tín hiệu từ gia tốc kế (accelerometers) hoặc tín hiệu từ con quay hồi chuyển (gyroscopes) đơn thuần Cảm biến trong IMU tích hợp gồm 03 vận tốc góc và 03 gia tốc dài Khó khăn ở đây khi sử dụng các cảm biến là luôn hiện hữu sự không chính xác cả trong điều khiển và các cảm biến, sai số tích lũy rất dễ tăng dần theo thời gian bởi sự lượng tử hóa, khâu tích phân, và sai số cảm biến Những thông tin không chắc chắn này cần được kết hợp lại với nhau để tối ưu mục tiêu Để thực hiện được điều này, ta cần phải có bộ lọc nhiễu và bộ ước lượng thông số tốt Bộ lọc Kalman là bộ lọc đáp ứng tốt, được sử dụng rộng rãi trong lĩnh vực này

2.1 Giới thiệu bộ đo góc nghiêng 6DOFT Razar – Ultra – Thin IMU của hãng Sparkfun

Hình 5.5: 6 DOFT Razar – Ultra –Thin IMU của hãng Saparkfun

IMU này có 6 bậc tự do, được tích hợp gồm có 2 cảm biến gryroscope: 1 LPR530AL để đo góc pitch và roll, và 1 LY530ALH đo góc yaw, và 1 cảm biến gia tốc kế (accelerometer) 3 trục Ngõ ra của gryro có toàn tầm đo là 300 0 / s , trong khi đó ngõ ra của cảm biến gia tốc kế có tầm là 3g Đặc tính kỹ thuật:

Tiêu thụ năng lượng thấp

Những ngõ ra của gryro là pitch, yaw và roll

 Biên độ x1 và x4 (tương ứng độ nhạy là 0.83 và 3.33 mV / / 0 s )

 Toàn tầm là 300 o / s Những ngõ ra của gia tốc kế là gia tốc dài các trục x, y, z

2.2 Thực hiện bộ lọc kalman

Theo lý thuyết Kalman ở chương 3 ta thực hiện bộ lọc Kalman với mô hình 3 biến được xây dựng như sau: Đặt:

- x 1 là giá trị góc nghiêng đo được từ cảm biến gia tốc

- x 2 là vận tóc góc đo được từ cảm biến gyro

- x 3 là giá trị bias – phân cực của gyro

Ta có, phương trình toán bộ lọc Kalman 3 biến như sau:

Rời rạc mô hình trên ta được:

Hệ phương trình hệ rời rạc:

 Phương trình cập nhật giá trị ước lượng:

Angle dot measured Angle dot estimated x x K

Sau khi mô hình hóa hệ thống ta thực hiện bô lọc Kalman trên DSP với giải thuật sau:

Hình 5.6: Thuật toán lọc Kalman ước lượng góc nghiêng thực hiện trong Matlab

 Khối ADC_Acc là khối chuyển đổi ADC của cảm biến gia tốc gốm 3 thành phần Ax, Ay, Az

 Khối ADC_Gyro là khối chuyển đổi ADC của cảm biến con quay hồi chuyển gồm 3 thành phần Gx, Gy, Gz

 Hai khối bộ lọc Kalman được dùng để ước lượng góc và vận tốc góc cho 2 trục

Hình 5.7: So sánh góc nghiêng đo được từ cảm biến gia tốc (màu đỏ) và góc nghiêng sau khi qua bộ lọc Kalman (màu xanh)

Hình 5.8 – So sánh vận tốc góc nghiêng đo được từ cảm biến con quay hồi chuyển (màu xanh) và vận tốc góc nghiêng sau khi qua bộ lọc Kalman (màu đỏ)

Nhận xét: Từ kết quả thực nghiệm ta thấy giá trị ước lượng góc nghiêng và vận tốc góc nghiêng đạt được tốt hơn khi qua bộ lọc kalman Sau khi qua bộ lọc giá trị đo đã loại bỏ nhiễu từ cảm biến gia tốc, và loại được độ trôi phân cực từ cảm biến con quay hồi chuyển.

KẾT QUẢ KIỂM NGHIỆM BỘ ĐIỀU KHIỂN LQR

3.1 Cấu trúc bộ điều khiển nhúng LQR

Sơ đồ bộ điều khiển LQR được thực hiện trong thư viện Realtime Workshop và Target support như hình dưới đây

Hình 5.9: Khối nhúng giải thuật LQR cho robot một bánh tự cân bằng

3.2 Kết quả chạy với mô hình thực

Kết quả thực hiện trên mặt phẳng X Kết quả thực hiện trên mặt phẳng Y

Hình 5.10: Góc nghiêng thân hình robot khi điều khiển robot giữ cân bằng

Hình 5.11: Vị trí Robot khi điều khiển Robot giữ thăng bằng

Hình 5.12: Tín hiệu điều khiển động cơ khi giữ thăng bằng robot

Nhận xét: Khi điều khiển để giữ thăng bằng cho robot bằng luật điều khiển LQR thì góc nghiêng của robot dao động quanh giá trị  0.8deg/mặt phẳng X,  0.6deg/mặt phẳng Y Trong khi tác động ngoại lực vào robot thì robot rất dễ mất thăng bằng, dao động mạnh và không ổn định.

KẾT QUẢ KIỂM NGHIỆM BỘ ĐIỀU KHIỂN CHẾ ĐỘ TRƯỢT

4.1 Cấu trúc bộ điều khiển nhúng chế độ trượt

Sơ đồ bộ điều khiển chế độ trượt được thực hiện trong thư viện Realtime Workshop và Target support như hình dưới đây

Hình 5.13: Khối nhúng giải thuật bộ điều trượt cho robot một bánh tự cân bằng

4.2 Kết quả chạy với mô hình thực

Kết quả thực hiện trên mặt phẳng X Kết quả thực hiện trên mặt phẳng Y

Hình 5.14: Góc nghiêng thân hình robot khi điều khiển robot giữ cân bằng

Hình 5.15: Vị trí Robot khi điều khiển Robot giữ thăng bằng

Hình 5.16: Tín hiệu điều khiển động cơ khi giữ thăng bằng robot

Nhận xét: Khi điều khiển để giữ thăng bằng cho robot bằng luật điều khiển PD_chế độ trượt thì góc nghiêng của robot dao động quanh giá trị  1deg/mặt phẳng X,

 /mặt phẳng Y Trong khi đó, việc tác động ngoại lực vào robot thì robot vẫn giữ được thăng bằng, và ổn định Ngoài ra, vị trí của Robot được đưa về vị trí ban đầu khi tác động lực vừa phải.

KẾT QUẢ KIỂM NGHIỆM BỘ ĐIỀU KHIỂN HỒI TIẾP TUYẾN TÍNH HÓA

5.1 Cấu trúc bộ điều khiển nhúng

Sơ đồ bộ điều khiển hồi tiếp tuyến tính hóa được thực hiện trong thư viện Realtime Workshop và Target support như hình dưới đây

Hình 5.17: Khối nhúng bộ điều khiển hồi tiếp tuyến tính hóa cho robot một bánh

5.2 Kết quả chạy với mô hình thực

Kết quả thực hiện trên mặt phẳng X Kết quả thực hiện trên mặt phẳng Y

Hình 5.18: Góc nghiêng thân hình robot khi điều khiển robot giữ cân bằng

Hình 5.19: Vị trí Robot khi điều khiển Robot giữ thăng bằng

Hình 5.20: Tín hiệu điều khiển động cơ khi giữ thăng bằng robot

Nhận xét: Khi điều khiển để giữ thăng bằng cho robot bằng luật điều khiển hồi tiếp tuyến tính hóa thì góc nghiêng của robot dao động quanh giá trị  1deg/mặt phẳng X,

 /mặt phẳng Y và góc nghiêng dao động ở tần cao Trong khi đó, việc tác động ngoại lực vào robot thì robot vẫn giữ được thăng bằng, và ổn định

Trong chương này, trình bày việc xây dựng bộ lọc Kalman để ước lượng góc nghiêng và vận tốc góc nghiêng từ cảm biến gia tốc và cảm biến con quay hồi chuyển Bộ điều khiển nhúng cho robot một bánh với ba giải thuật LQR, chế độ trượt và hồi tiếp tuyến tính hóa Cả ba bộ điều khiển trên đều giữ thăng bằng được cho Robot Tuy nhiên, chỉ có 2 bộ điều khiển chế độ trượt và hồi tiếp tuyến tính hóa là giữ thăng bằng tốt cho robot khi robot có ngoại lực tác động, và bộ điều khiển chế độ trượt cho kết quả tốt nhất

KIẾN NGHỊ VÀ HƯỚNG PHÁT TRIỂN

Trong phạm vi luận văn, tác giả đã hoàn thành việc thiết kế và thi công mô hình Robot một bánh Đây là một đề còn khá mới mẻ nên trong đề tài này chỉ thực hiện giữ thăng bằng cho Robot đứng trên quả bóng Các vấn đề đã được nghiên cứu trong luận văn bao gồm:

 Tìm hiểu mô hình toán cho Robot một bánh, xây dựng mô hình phi tuyến bằng phần mềm Matlab/Simulink Sau đó, thực hiện việc so sánh mô hình phi tuyến và mô hình tuyến tính đối tượng Robot một bánh Từ đó, đánh giá được mô hình Robot một bánh tự cân bằng có độ phi tuyến rất cao

 Thiết kế các bộ điều khiển LQR, hồi tiếp tuyến tính hóa và chế độ trượt cho đối tượng robot một bánh tự cân bằng

 Mô phỏng các bộ điều khiển trên Matlab Bộ điều khiển LQR được xây dựng trên cơ sở tuyến tính hóa hệ thống tại điểm làm việc, mà hệ robot 1 bánh tự cân bằng là một đối tượng có tính phi tuyến cao, chính vì vậy mà khi sử dụng phương pháp điều khiển trượt và hồi tiếp tuyến tính hóa, thì chất lượng điều khiển được cải thiện về đột vọt lố cũng như thời gian xác lập

 Áp dụng các bộ điều khiển đã thiết kế vào điều khiển đối tượng thực để kiểm chứng giữa lý thuyết và thực nghiệm So sánh các bộ điều khiển cân bằng robot một bánh thấy rằng, bộ điều khiển chế độ trượt cho kết quả tốt nhất, chịu được ngoại lực tác động lớn nhưng vẫn cân bằng và ổn định Bộ điều khiển LQR tuy giữ thăng bằng được cho robot ,nhưng khi có ngoại lực tác động rất dễ dàng bị mất ổn định và ngã

Một số các hạn chế trong luận văn

 Về phần cơ khí: cơ cấu lái bóng ( ổ chuột và bóng máy tính) truyền động dựa trên nguyên tắc chính là ma sát Do đó, con lăn sẽ bị ăn mòn và truyền động giữa con lăn và bóng sẽ có hiện tượng trượt Bên cạnh đó, Robot chỉ di chuyển được trên những bề mặt phẳng và có ma sát

 Về bộ điều khiển robot 1 bánh: việc lựa chọn các thông số cho các bộ điều khiển hầu hết vẫn được tiến hành theo phương pháp thử sai do đó các thông số được chọn lựa vẫn không phải là tối ưu nhất

Hướng phát triển của đề tài

 Xây dựng robot một bánh hoàn chỉnh bao gồm điều khiển robot di chuyển theo vị trí mong muốn, thiết kế thêm phần điều khiển góc xoay robot

 Xây dựng các bộ điều khiển thích nghi kết hợp với bền vững đồng thời phát triển các giải thuật tìm kiếm thông số tối ưu cho bộ điều khiển như sử dụng giải thuật di truyền để đạt được các bộ điều khiển thích nghi bền vững chất lượng cao

 Đưa mô hình vào ứng dụng thực tế

[1] Design and build a Ballbot, Justin Fong,Simon Uppill

[2] Design of an Omni-directional Spherical Robot Using Fuzzy Control, Ya-Fu Peng, Chih- Hui Chiu, Wen-Ru Tsai, and Ming-Hung Chou

[3] Modeling Dynamics and Exploring Control of a Single-Wheeled Dynamically Stable Mobile Robot with Arms, Eric M Schearer

[4] State Transition, Balancing, Station Keeping, and Yaw Control for a Dynamically Stable Single Spherical Wheel Mobile Robot,Umashankar Nagarajan, Anish Mampetta, George A Kantor and Ralph L Hollis

[5] An Omnidirectional Vehicle on a Basketball, Tatsuro Endo, Yoshihiko Nakamura [6] Lý Thuyết Điều Khiển Hiện Đại, Nguyễn Thị Phương Hà

[7] Điều Khiển Phi Tuyến, Dương Hoài Nghĩa

[8] Bài giảng môn học “Mô Hình Hóa và Nhận Dạng Hệ Thống”, Huỳnh Thái Hoàng

[9] Điều Khiển Thông Minh, Huỳnh Thái Hoàng

[10] MATLAB Và Ứng Dụng Trong Điều Khiển, Nguyễn Đức Thành

[11] Umashankar Nagarajan, Anish Mampetta, George A Kantor and Ralph L Hollis State Transition, Balancing, Station Keeping, and Yaw Control for a Dynamically Stable Single Spherical Wheel Mobile Robot

[12] Ya-Fu Peng, Chih-Hui Chiu, Wen-Ru Tsai, and Ming-Hung Chou Design of an Omni- directional Spherical Robot: Using Fuzzy Control

[13] Y.-S Ha and S Yuta Trajectory tracking control for navigation of self- contained mobile inverse pendulum In Proc IEEE/RSJ Int’l Conf on In-telligent Robots and Systems, pages 1875–1882, 1994

[14] H G Nguyen, J Morrell, K Mullens, A Burmeister, S Miles, N Farrington, K

Thomas, and D Gage Segway robotic mobility platform In SPIE Proc.5609: Mobile Robots XVII, Philadelphia, PA, October 2004

[15] A.M Bloch NonholonomicMechanics and Control Springer, 2003 Modeling and sliding-mode control of a ball robot with inverse mouse-ball drive In SICE Annual

PHỤ LỤC THIẾT KẾ PHẦN CỨNG

I THIẾT KẾ MẠCH ĐIỀU KHIỂN

Hệ thống nhúng ngày nay được ứng dụng rất nhiều trong lĩnh vực điều khiển, đặc biệt là trong việc nhúng các giải thuật điều khiển hiện đại như: mờ, mạng thần kinh nhân tạo, giải thuật di truyền , để tạo nên các bộ điều khiển hoạt động độc lập mang lại hiệu quả cao Các vi điều khiển có tốc độ ngày càng cao, bộ nhớ lớn, và có nhiều ngoại vi tính năng mạnh mẽ Các chip vi điều khiển thời gian thực (32 bits - Real Time MCU) và DSP của Texas Instrument có khả năng xử lý dấu chấm động, giúp cải thiện khả năng tính toán trên số thực Cùng với sự hỗ trợ của Matlab, Simulink được sử dụng làm môi trường lập trình để xây dựng bộ điều khiển trượt và bộ điều khiển hồi tiếp trạng thái Sau đó, nhúng các giải thuật này vào vi điều khiển

TMS320F28335 để điều khiển đối tượng robot một bánh tự cân bằng

Một số chức năng cơ bản của card DSP- F28335 được ứng dụng như sau :

 TMS320F28335 là các xử lý tín hiệu số 176 chân

 Tốc độ xử lý 150Mhz

 Bộ nhớ Flash memory 512 Kb

 16 Kênh chuyển đổi ADC 12 bits

 Xung clock ngõ vào 30Mhz & 32 bits CPU timer

 16/32-bits giao diện ngoài (XINF)

 6 kênh truy xuất bộ nhớ trực tiếp

 6 bộ điều chế độ rộng xung (ePWM)

 Chức năng giao tiếp ngoại vi nối tiếp thông qua cổng SPI (Serial Peripheral Interface)

 Chức năng truyền thông nối tiếp thông qua cổng SCI

 Chức năng giao tiếp ngoại vi nối tiếp SPI

 Chức năng điều khiển kết nối thông qua mạng network eCAN Các chức năng của Card DSP TMS320 sử dụng trong đề tài

Module điều rộng xung ePWM

Hình PL.2: Module điều rộng xung DSP_F28335

Ngõ vào EPWMxSYNCI và ngõ ra EPWMxSYNCO dùng để kết nối đồng bộ các module PWM Đầu tiên ta đặt các thông số vào khối Time-Base và Counter Compare , khi có hoạt động định thì hai khối này sẽ tạo ra các sự kiện ngắt : CTR (giá trị của bộ đếm timer) =PRD (giá trị đặt trước) ; CTR=0; CTR_DIR; CTR CMPA; CTR = CMPB

Dựa vào các sự kiện này , khối Action Quanlifier sẽ tác động đến ngõ ra của PWM , có 4 kiểu tác động : không làm gì cả; set lên mức cao; clear xuống mức thấp

;dạng công tắc (mức cao chuyển thành thấp, mức thấp chuyển thành cao) Cấu hình module ePWM trong Matlab

Hình PL.3: Module ePWM trong Matlab Hình PL.4: Cửa sổ cấu hình cho ePWM

Hình PL.5: cấu trúc bộ ADC Khối ADC gồm bộ ADC 12 bit với bộ lấy mẫu và giữ (Sample and Hold_S/H)

- Tầm ngõ vào từ 0.0V đến 3.0 V (Nếu lớn hơn 3.0 V thì cho toàn tầm) - Tốc độ chuyển đổi nhanh: ở clock 25MHz là 80ns, 12.5MSPS

- 16 kênh thông qua bộ dồn kênh

Cấu hình bộ ADC trong Thư viện Target Support cuả Matlab như hình (11),(12)

Hình PL.6: Bộ ADC trong Matlab Hình PL.7: Cấu hình cho module ADC Module SCI

SCI cho phép giao tiếp giữa CPU và các ngoại vi số bất đồng bộ sử dụng chuẩn NRZ (non-return-to-zero) 2 SCI được đệm kép và có bit cho phép, bit ngắt riêng

Chúng có thể hoạt động độc lập hay đồng thời ở chế độ song công Để đảm bảo dữ liệu, SCI kiểm tra các lỗi gián đoạn, chẵn lẻ, tràn và các lỗi khung Có thể chọn lựa hơn 65000 tốc độ baud bằng thanh ghi chọn tốc độ baud 16 bit

Các đặc tính của mỗi SCI:

- 2 chân thu và phát (SCIRXD và SCITXD), có thể được sử dụng như GPIO

- Các ngắt thu và ngắt phát có bit cho phép riêng (ngoại trừ BRKDT)

- Tốc độ bit tối đa: 150MHz 9.375x10 b/s 6

- Sử dụng khuôn dạng NRZ (non-return-to-zero)

- 10 thanh ghi điều khiển SCI bắt đầu từ địa chỉ 7050H

Cấu hình bộ SCI trong Thư viện Target Support cuả Matlab như hình (13); (14)

Hình PL.8: Khối SCI receive

Hình PL.9: Khối SCI Transmit

Module eQEP Module bộ mã hóa xung vuông cao cấp (eQEP) được sử dụng cho các encoder mã tăng để đo có được vị trí, hướng tốc độ và các thông tin từ một máy đang hoạt động quay để sử dụng trong một chuyển động hiệu suất cao và hệ thống điều khiển vị trí

Hình PL.10: cấu trúc bộ eQEP Thông số của bộ eQEP

 Bộ đếm vị trí 32bit

 Tần số lấy mẫu 150MHz

Hình PL.11: Khối eQUEP trong Matlab

II THIẾT KẾ PHẦN MẠCH CÔNG SUẤT

Ngày đăng: 24/09/2024, 15:14

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[8] Bài giảng môn học “Mô Hình Hóa và Nhận Dạng Hệ Thống”, Huỳnh Thái Hoàng Sách, tạp chí
Tiêu đề: Mô Hình Hóa và Nhận Dạng Hệ Thống
[2] Design of an Omni-directional Spherical Robot Using Fuzzy Control, Ya-Fu Peng, Chih- Hui Chiu, Wen-Ru Tsai, and Ming-Hung Chou Khác
[3] Modeling Dynamics and Exploring Control of a Single-Wheeled Dynamically Stable Mobile Robot with Arms, Eric M. Schearer Khác
[4] State Transition, Balancing, Station Keeping, and Yaw Control for a Dynamically Stable Single Spherical Wheel Mobile Robot,Umashankar Nagarajan, Anish Mampetta, George A. Kantor and Ralph L. Hollis Khác
[5] An Omnidirectional Vehicle on a Basketball, Tatsuro Endo, Yoshihiko Nakamura [6] Lý Thuyết Điều Khiển Hiện Đại, Nguyễn Thị Phương Hà Khác
[11] Umashankar Nagarajan, Anish Mampetta, George A. Kantor and Ralph L. Hollis. State Transition, Balancing, Station Keeping, and Yaw Control for a Dynamically Stable Single Spherical Wheel Mobile Robot Khác
[12] Ya-Fu Peng, Chih-Hui Chiu, Wen-Ru Tsai, and Ming-Hung Chou. Design of an Omni- directional Spherical Robot: Using Fuzzy Control Khác
[13] Y.-S. Ha and S. Yuta. Trajectory tracking control for navigation of self- contained mobile inverse pendulum. In Proc. IEEE/RSJ Int’l. Conf. on In-telligent Robots and Systems, pages 1875–1882, 1994 Khác
[14] H. G. Nguyen, J. Morrell, K. Mullens, A. Burmeister, S. Miles, N. Farrington, K. Thomas, and D. Gage. Segway robotic mobility platform. In SPIE Proc.5609: Mobile Robots XVII, Philadelphia, PA, October 2004 Khác
[15] A.M. Bloch. NonholonomicMechanics and Control. Springer, 2003. Modeling and sliding-mode control of a ball robot with inverse mouse-ball drive. In SICE Annual Khác

HÌNH ẢNH LIÊN QUAN

Hình 1: Ballbot LEGO của Yorihisa Yamamoto - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 1 Ballbot LEGO của Yorihisa Yamamoto (Trang 11)
Hình 2: Ballbot của CMU và TGU - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 2 Ballbot của CMU và TGU (Trang 12)
Hình 2.2: Cơ cấu bộ lái của CMU ballbot - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 2.2 Cơ cấu bộ lái của CMU ballbot (Trang 22)
Hình 2.6: Mô hình cơ khí robot một bánh được thiết kế - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 2.6 Mô hình cơ khí robot một bánh được thiết kế (Trang 27)
Hình 2.7: Sơ đồ khối hệ thống điện điều khiển robot một bánh - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 2.7 Sơ đồ khối hệ thống điện điều khiển robot một bánh (Trang 29)
Hình 4.2: Góc nghiêng của thân  hình Robot so với phương thẳng  đứng - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 4.2 Góc nghiêng của thân hình Robot so với phương thẳng đứng (Trang 54)
Hình 4.5: Góc nghiêng của thân hình  Robot so với phương thẳng đứng - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 4.5 Góc nghiêng của thân hình Robot so với phương thẳng đứng (Trang 55)
Hình 4.8 : Mô hình robot một bánh - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 4.8 Mô hình robot một bánh (Trang 56)
Hình 4.9 : Sơ đồ mô phỏng tuyến tính hóa hệ thống bằng hồi tiếp - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 4.9 Sơ đồ mô phỏng tuyến tính hóa hệ thống bằng hồi tiếp (Trang 59)
Hình 4.12: Điều khiển hệ tuyến tính hoá bằng hồi tiếp tuyến tính  hoá - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 4.12 Điều khiển hệ tuyến tính hoá bằng hồi tiếp tuyến tính hoá (Trang 60)
Hình 4.19: Góc nghiêng thân hình  robot so với phương thẳng đứng - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 4.19 Góc nghiêng thân hình robot so với phương thẳng đứng (Trang 64)
Hình 4.30: Tín hiệu điều khiển động  cơ - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 4.30 Tín hiệu điều khiển động cơ (Trang 68)
Hình 4.32: Góc nghiêng của robot  so với phương thẳng đứng - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 4.32 Góc nghiêng của robot so với phương thẳng đứng (Trang 71)
Hình 4.38: Tín hiệu điều khiển  động cơ U m - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 4.38 Tín hiệu điều khiển động cơ U m (Trang 73)
Hình 4.41: Tín hiệu điều khiển  động cơ U m - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 4.41 Tín hiệu điều khiển động cơ U m (Trang 74)
Hình 5.1: Bản vẽ thi công 3D Robot một bánh - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 5.1 Bản vẽ thi công 3D Robot một bánh (Trang 76)
Hình 5.3: Cấu trúc phần cứng Robot một bánh tự cân bằng - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 5.3 Cấu trúc phần cứng Robot một bánh tự cân bằng (Trang 78)
Hình 5.4: Mạch điều khiển Robot một bánh tự cân bằng - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 5.4 Mạch điều khiển Robot một bánh tự cân bằng (Trang 79)
Hình 5.6: Thuật toán lọc Kalman ước lượng góc nghiêng thực hiện trong  Matlab - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 5.6 Thuật toán lọc Kalman ước lượng góc nghiêng thực hiện trong Matlab (Trang 83)
Hình  5.7:  So  sánh  góc  nghiêng  đo  được  từ - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
nh 5.7: So sánh góc nghiêng đo được từ (Trang 84)
Hình 5.9: Khối nhúng giải thuật LQR cho robot một bánh tự cân bằng - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 5.9 Khối nhúng giải thuật LQR cho robot một bánh tự cân bằng (Trang 85)
Hình 5.12: Tín hiệu điều khiển động cơ khi giữ thăng bằng robot - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 5.12 Tín hiệu điều khiển động cơ khi giữ thăng bằng robot (Trang 87)
Hình 5.16: Tín hiệu điều khiển động cơ khi giữ thăng bằng robot - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 5.16 Tín hiệu điều khiển động cơ khi giữ thăng bằng robot (Trang 90)
Hình 5.17: Khối nhúng bộ điều khiển hồi tiếp tuyến tính hóa cho robot một  bánh - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 5.17 Khối nhúng bộ điều khiển hồi tiếp tuyến tính hóa cho robot một bánh (Trang 91)
Hình 5.19: Vị trí Robot khi điều khiển Robot giữ thăng bằng - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
Hình 5.19 Vị trí Robot khi điều khiển Robot giữ thăng bằng (Trang 92)
Hình PL.3: Module ePWM trong Matlab  Hình PL.4: Cửa sổ cấu hình cho - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
nh PL.3: Module ePWM trong Matlab Hình PL.4: Cửa sổ cấu hình cho (Trang 99)
Hình PL.8: Khối SCI receive - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
nh PL.8: Khối SCI receive (Trang 102)
Hình PL.11: Khối eQUEP trong Matlab - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
nh PL.11: Khối eQUEP trong Matlab (Trang 104)
Hình PL.12 : Nguyên lý xấp xỉ điện áp bằng điều rộng xung - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
nh PL.12 : Nguyên lý xấp xỉ điện áp bằng điều rộng xung (Trang 105)
Hình PL.13: Sơ đồ mạch cầu H - Luận văn thạc sĩ Tự động hóa: Điều khiển cân bằng robot một bánh
nh PL.13: Sơ đồ mạch cầu H (Trang 106)