LỜI NÓI ĐẦU Kỹ thuật robot là một lĩnh vực phát triển hết sức nhanh chóng, là một trong những công nghệ mũi nhọn của thế kỉ 21. Cùng với sự phát triển của xã hội, kỹ thuật robot ngày càng được ứng dụng rộng rãi vào cuộc sống con người. Ngày nay, chúng ta có thể thấy robot đã làm thay con người rất nhiều công việc. Đó là những công việc mà con người cảm thấy nhàm chán hoặc có mức độ nguy hiểm cao. Ví dụ như robot lau nhà, robot lắp ráp trong công nghiệp, robot trong ngành năng lượng hạt nhân, robot để thám hiểm vũ trụ…. Robot bám theo quỹ đạo cho trước có cấu tạo tương đối đơn giản và có tính ứng dụng cao. Omni robot là một loại robot có kết cấu đơn giản, di chuyển linh hoạt hơn so với các loại mobile robot truyền thống. Vậy nên Omni robot ngày càng được ứng dụng rộng rãi. Xuất phát từ nhu cầu thực tế đó, đồ án tập trung vào nghiên cứu phát triển bộ điều khiển cho Omni robot track. Từ cơ cấu Omni robot đã được các sinh viên khóa trước thiết kế, đồ án nghiên cứu xây dựng quỹ đạo chuyển động cho robot theo đường thẳng, đường parabol, đường hình sine. Trong quá trình thực hiện đồ án, giúp cho học viên củng cố được những kiến thức đã học. Tôi xin chân thành cám ơn thầy giáo, thạc sĩ và thầy giáo kĩ sư, và các thầy trong bộ môn Cơ điện tử và chế tạo máy đặc biệt Khoa hàng không vũ trụ đã giúp tôi hoàn thành đồ án này. Do kiến thức còn hạn chế nên đồ án còn nhiều sai sót. Tôi xin nhận sự giúp đỡ và đóng góp của các thầy và các bạn để đồ án được hoàn thiện hơn. Tôi xin chân thành cảm ơn. Người thực hiện đồ án CHƯƠNG 1: TỔNG QUAN VỀ ROBOT VÀ OMNI ROBOT 1.1Giới thiệu chung về robot Robot là một từ chỉ người lao động trong hệ ngôn ngữ Slavơ. Cho đến nay có rất nhiều định nghĩa khác nhau về robot. Những định nghĩa đó có nội dung tương tự như nhau. Robot hay người máy là một loại máy có thể thực hiện những công việc một cách tự động bằng sự điều khiển của máy tính hoặc các vi mạch điện tử được lập trình. Robot là một tác nhân cơ khí, nhân tạo, thường là một hệ thống cơ khíđiện tử. Với sự xuất hiện và chuyển động của mình, robot gây cho người ta cảm giác rằng nó giác quan giống như con người. Từ robot (người máy) thường được hiểu với hai nghĩa: robot cơ khí và phần mềm tự hoạt động. Ngày nay, người ta vẫn còn đang tranh cãi về vấn đề: “Một loại máy như thế nào thì đủ tiêu chuẩn để được gọi là một robot?” Một cách gần chính xác, robot phải có một vài (không nhất thiết phải đầy đủ) các đặc điểm sau đây: Không phải là tự nhiên, tức là do con người sáng tạo ra. Có khả năng nhận biết môi trường xung quanh. Có thể tương tác với những vật thể trong môi trường. Có sự thông minh, có khả năng đưa ra các lựa chọn dựa trên môi trường và được điều khiển một cách tự động theo những trình tự đã được lập trình trước. Có khả năng điều khiển được bằng các lệnh để có thể thay đổi tùy theo yêu cầu của người sử dụng. Có thể quay hoặc tịnh tiến theo một hay nhiều chiều. Có sự khéo léo trong vận động. 1.2 Giới thiệu chung về Omni Robot Robot Omni là một loại mobile robot di chuyển bằng những bánh xe đã được ứng dụng nhiều trong thực tế do quỹ đạo chuyển động của nó rất đa dạng. Đặc biệt là Omni có kết cấu lạ với 3 bánh xe, nhưng chính do sự phối hợp hoạt động của 3 bánh xe lại cho ta khả năng điều khiển tốt quỹ đạo của robot. Omni robot thuộc hệ robot di động tự hành, tự định hướng và tự tránh được vật cản. Ứng dụng của nó là phục vụ trong công tác dịch vụ chăm sóc y tế, đặc biệt là trong điều kiện môi trường lây nhiễm cao hay môi trường có cường độ phóng xạ cao thay con người... Robot Omni có đặc điểm là kết cấu đơn giản, có quỹ đạo di chuyển khá linh hoạt nên được phát triển để thay thế cho các loại mobile robot truyền thống. 1.3 Một số nghiên cứu về Omni Robot trên thế giới và Việt Nam Trên thế giới, Omni robot đã được phát triển từ lâu và ngày càng có nhiều ứng dụng đa dạng do được tích hợp các công nghệ mới nhất. Hình 1.1: WowWee Rovio Robot Đặc điểm: Cho phép điều khiển qua wifi Có thể điều khiển qua mạng internet Có thể tự di chuyển xung quanh nhà do có nguồn dự trữ Hình 1.2: Robot SPARK IV Những nghiên cứu về Omni Robot ở Việt Nam đã được thực hiện trong thời gian gần đây bởi các sinh viên và giáo viên trong các trường đại học. Những nghiên cứu này đã đạt được những kết quả bước đầu, tạo ra được sản phẩm thực nghiệm. Robot Omni do khoa cơ khí đại học bách khoa thành phố Hồ Chí Minh chế tạo. Hình 1.3: Robot Omni do đại học bách khoa thành phố Hồ Chí Minh thiết kế Omni Robot tránh vật cản sử dụng 3 cảm biến hồng ngoại do nhóm sinh viên đại học bách khoa Hà Nội chế tạo. Hình 1.4: Robot Omni tránh vật cản sử dụng hồng ngoại 1.4 Mục đích của đồ án Trên cơ sở đồ cơ cấu robot Omni của nhóm nghiên cứu trước đã thực hiện được bám đối tượng (quả bóng màu xanh) và tránh vật cản trong quá trình hoạt động, đồ án tính toán động học và quỹ đạo cho robot để xác định được thuật toán điều khiển cho từng quỹ đạo, và tiến hành mô phỏng trên Matlab. Đồ án chia làm 5 chương với những nội dung chính như sau: Chương 1: Giới thiệu tổng quan về robot và Omni robot, các nghiên cứu đã được tiến hành trong và ngoài nước về Omni robot, mục đích để thực hiện đồ án. Chương 2: Tính toán động học về động lực học cho Omni robot để từ đó có thể xây dựng các chuyển động cơ bản cho robot trong phần tiếp theo. Chương 3: Từ đặc điểm điều khiển và động học của robot, tiến hành xây dựng quỹ đạo cho robot ứng với các trường hợp quỹ đạo thẳng, hình Parabol và quỹ đạo sine. Từ đó đưa ra được thuật toán điều khiển cụ thể cho robot. Chương 4: Tổ hợp bộ điều khiển cho robot Chương 5: Trình bày các ứng dụng mô phỏng trên Matlab và một số kết quả thực nghiệm. CHƯƠNG 2: PHÂN TÍCH VÀ XÂY DỰNG MÔ HÌNH TOÁN CƠ CẤU CƠ KHÍ KIỂU OMNIDIRECTION VÀ THIẾT KẾ MÔ HÌNH CƠ KHÍ 2.1 Mô hình cơ khí thực tế của Omni Robot Hình 2.1: Mô hình cơ khí cho robot Trong đó : 1Đế robot 5Đế gá mạch 2Bánh xe omni 6Công tắc nguồn 3Encoder 7Lưới chắn 4Đế gá máy tính 9Động cơ 24V Theo mô hình cơ khí ở trên, nếu ta xét tới tất cả các thông số khi tính toán động học và động lực học cho robot, thì bài toán thu được sẽ rất phức tạp, và khối lượng tính toán sẽ quá lớn. Do vậy nhằm đáp ứng mục đích của đồ án là xây dựng thuật toán điều khiển ứng với các quỹ đạo cho robot, ta xét tới một mô hình đơn giản hơn để tính các chuyển động cho robot. 2.2 Mô hình robot Chuyển động của robot là do chuyển động của các bánh xe. Các bánh xe chuyển động do động cơ lắp ở mỗi trục bánh quay và sinh ra lực kéo. Vậy ta xét đến mô hình robot, trong đó các lực kéo đặt ở các bánh xe. Vận tốc của robot được tính dựa vào vận tốc của các bánh xe. Từ đó ta có mô hình robot như sau: Hình 2.2: Mô hình động học và động lực học cho Omni Robot Robot gồm 3 bánh đặt lệch nhau 1200, tiếp tuyến với một đường tròn đường kính 350mm. Gọi các bánh xe lần lượt là 1,2,3. Chọn 2 hệ trục tọa độ như sau: hệ trục tọa độ Oxy gắn cố định với mặt phẳng sàn, hệ trục tọa độ Ox1y1 gắn với robot như trên hình vẽ. Tại thời điểm ban đầu giả thiết rằng hai trục tọa độ trùng với nhau. Tại thời điểm t, hai hệ trục tọa độ lệch nhau 1 góc chính là góc quay của robot so với vị trí ban đầu. Sau đây là các kí hiệu dùng trong hình vẽ. Vị trí của robot trong hệ trục tọa độ Oxy theo phương Ox: x Vị trí của robot trong hệ trục tọa độ Oxy theo phương Oy: y Khoảng cách giữa các bánh và tâm robot: dm (xem hình vẽ) Vận tốc dài của các bánh xe: v1,v2,v3ms Vận tốc góc của các bánh: rads Lực do động cơ sinh ra trên các bánh: f1,f2,f3N Mô men kéo do động cơ sinh ra đặt lên các bánh : T1,T2,T3 Nm Vận tốc theo 2 phương trên hệ trục Ox1y1 của robot: v, vn ms Vận tốc góc của robot: rads Lực tác dụng lên robot dọc theo phương 0x1 và 0y1: Fv,Fvn N Mô men robot (theo ): T Nm 2.3 Tính toán động học cho robot Gọi vx(t), vy(t), là vận tốc tức thời của robot trên hệ trục tọa độ Oxy. Ta có: Chiếu các vận tốc trên lên hệ trục tọa độ Ox1y1 gắn với robot, ta có: Viết lại các công thức trên dưới dạng ma trận, ta được công thức liên hệ giữa vận tốc theo 2 hệ trục tọa độ khác nhau: (2.3) Xét trong hệ trục gắn với robot, Ox1y1, giả sử robot chuyển động với các vận tốc là v(t), vn(t) và , ta có công thức tính vận tốc của các bánh là: Viết lại hệ phương trình (2.4) dưới dạng ma trận ta thu được: (2.5) Giải hệ phương trình trên ta có:
TỔNG QUAN VỀ ROBOT VÀ OMNI ROBOT
Giới thiệu chung về robot
Robot là thuật ngữ xuất phát từ ngôn ngữ Sla-vơ, chỉ người lao động Đến nay, đã có nhiều định nghĩa về robot, nhưng chúng đều mang nội dung tương tự nhau.
Robot, hay còn gọi là người máy, là thiết bị tự động có khả năng thực hiện các nhiệm vụ thông qua sự điều khiển của máy tính hoặc vi mạch điện tử được lập trình sẵn.
Robot là một hệ thống cơ khí-điện tử nhân tạo, mang lại cảm giác giống như con người nhờ vào sự xuất hiện và chuyển động của nó Thuật ngữ "robot" thường được hiểu theo hai nghĩa: robot cơ khí và phần mềm tự động.
Hiện nay, vẫn còn nhiều tranh cãi xung quanh tiêu chí xác định một thiết bị được gọi là robot Để được công nhận là robot, thiết bị cần có một số đặc điểm nhất định, tuy không nhất thiết phải đầy đủ.
Không phải là tự nhiên, tức là do con người sáng tạo ra.
Có khả năng nhận biết môi trường xung quanh.
Có thể tương tác với những vật thể trong môi trường.
Công nghệ hiện đại ngày nay sở hữu trí thông minh nhân tạo, cho phép đưa ra quyết định dựa trên môi trường xung quanh Hệ thống này hoạt động tự động theo những quy trình đã được lập trình sẵn, mang lại hiệu quả cao trong việc xử lý thông tin và thực hiện các nhiệm vụ.
Có khả năng điều khiển được bằng các lệnh để có thể thay đổi tùy theo yêu cầu của người sử dụng.
Có thể quay hoặc tịnh tiến theo một hay nhiều chiều.
Có sự khéo léo trong vận động.
Giới thiệu chung về Omni Robot
Robot Omni là một loại robot di động sử dụng bánh xe, được ứng dụng rộng rãi nhờ quỹ đạo chuyển động đa dạng Với cấu trúc độc đáo gồm 3 bánh xe, Omni cho phép điều khiển quỹ đạo của robot một cách linh hoạt và hiệu quả.
Robot Omni là một loại robot di động tự hành, có khả năng tự định hướng và tự tránh vật cản Nó được ứng dụng chủ yếu trong lĩnh vực dịch vụ chăm sóc y tế, đặc biệt trong các môi trường có nguy cơ lây nhiễm cao hoặc có mức độ phóng xạ cao, nhằm thay thế con người trong các nhiệm vụ nguy hiểm.
Robot Omni sở hữu cấu trúc đơn giản và quỹ đạo di chuyển linh hoạt, được thiết kế nhằm thay thế các loại robot di động truyền thống.
Một số nghiên cứu về Omni Robot trên thế giới và Việt Nam
Trên thế giới, Omni robot đã được phát triển từ lâu và ngày càng có nhiều ứng dụng đa dạng do được tích hợp các công nghệ mới nhất.
Hình 1.1: WowWee Rovio Robot Đặc điểm:
Cho phép điều khiển qua wi-fi
Có thể điều khiển qua mạng internet
Có thể tự di chuyển xung quanh nhà do có nguồn dự trữ
Gần đây, các sinh viên và giáo viên tại các trường đại học ở Việt Nam đã tiến hành nghiên cứu về Omni Robot, đạt được những kết quả ban đầu đáng khích lệ và tạo ra sản phẩm thực nghiệm.
Robot Omni do khoa cơ khí đại học bách khoa thành phố Hồ Chí Minh chế tạo.
Hình 1.3: Robot Omni do đại học bách khoa thành phố Hồ Chí Minh thiết kế
Omni Robot tránh vật cản sử dụng 3 cảm biến hồng ngoại do nhóm sinh viên đại học bách khoa Hà Nội chế tạo.
Hình 1.4: Robot Omni tránh vật cản sử dụng hồng ngoại
Mục đích của đồ án
Dựa trên đồ cơ cấu robot Omni của nhóm nghiên cứu trước, robot đã thành công trong việc bám đối tượng (quả bóng màu xanh) và tránh vật cản trong quá trình hoạt động Đồ án tập trung vào việc tính toán động học và quỹ đạo cho robot, nhằm xác định thuật toán điều khiển cho từng quỹ đạo, đồng thời tiến hành mô phỏng trên Matlab Nội dung đồ án được chia thành 5 chương chính.
Chương 1: Giới thiệu tổng quan về robot và Omni robot, các nghiên cứu đã được tiến hành trong và ngoài nước về Omni robot, mục đích để thực hiện đồ án.
Chương 2: Tính toán động học về động lực học cho Omni robot để từ đó có thể xây dựng các chuyển động cơ bản cho robot trong phần tiếp theo.
Chương 3: Từ đặc điểm điều khiển và động học của robot, tiến hành xây dựng quỹ đạo cho robot ứng với các trường hợp quỹ đạo thẳng, hình Parabol và quỹ đạo sine Từ đó đưa ra được thuật toán điều khiển cụ thể cho robot.
Chương 4: Tổ hợp bộ điều khiển cho robot
Chương 5: Trình bày các ứng dụng mô phỏng trên Matlab và một số kết quả thực nghiệm.
PHÂN TÍCH VÀ XÂY DỰNG MÔ HÌNH TOÁN CƠ CẤU CƠ KHÍ KIỂU OMNIDIRECTION VÀ THIẾT KẾ MÔ HÌNH CƠ KHÍ
Mô hình cơ khí thực tế của Omni Robot
Hình 2.1: Mô hình cơ khí cho robot
1-Đế robot 5-Đế gá mạch
2-Bánh xe omni 6-Công tắc nguồn
4-Đế gá máy tính 9-Động cơ 24V
Theo mô hình cơ khí, việc tính toán động học và động lực học cho robot trở nên phức tạp với khối lượng tính toán lớn Để xây dựng thuật toán điều khiển cho các quỹ đạo robot, cần xem xét một mô hình đơn giản hơn nhằm tối ưu hóa quá trình tính toán chuyển động.
Mô hình robot
Chuyển động của robot được điều khiển bởi các bánh xe, với mỗi bánh được gắn động cơ để tạo ra lực kéo Mô hình robot có thể được xây dựng dựa trên các lực kéo tác động lên bánh xe Vận tốc của robot được tính toán dựa trên vận tốc của từng bánh xe, từ đó hình thành nên mô hình tổng quát cho robot.
Hình 2.2: Mô hình động học và động lực học cho Omni Robot
Robot có cấu trúc 3 bánh xe được sắp xếp lệch nhau 120 độ, tiếp xúc với một đường tròn có đường kính 350mm Các bánh xe được đánh số lần lượt là 1, 2 và 3 Bài viết sử dụng hai hệ trục tọa độ: hệ tọa độ Oxy cố định với mặt phẳng sàn và hệ tọa độ Ox1y1 gắn liền với robot Ban đầu, hai hệ trục tọa độ này trùng nhau, nhưng sau thời gian t, chúng lệch nhau một góc θ, biểu thị cho góc quay của robot so với vị trí ban đầu.
Vị trí của robot trong hệ trục tọa độ Oxy theo phương Ox: x
Vị trí của robot trong hệ trục tọa độ Oxy theo phương Oy: y
Khoảng cách giữa các bánh và tâm robot: d[m] (xem hình vẽ)
Vận tốc dài của các bánh xe: v1,v2,v3[m/s]
Vận tốc góc của các bánh: 1 , 2 , 3 [rad/s]
Lực do động cơ sinh ra trên các bánh: f1,f2,f3[N]
Mô men kéo do động cơ sinh ra đặt lên các bánh : T1,T2,T3 [Nm]
Vận tốc theo 2 phương trên hệ trục Ox1y1 của robot: v, vn [m/s]
Vận tốc góc của robot: [rad/s]
Lực tác dụng lên robot dọc theo phương 0x1 và 0y1: Fv,Fvn [N]
Mô men robot (theo ): T [Nm]
Tính toán động học cho robot
Gọi vx(t), vy(t), t là vận tốc tức thời của robot trên hệ trục tọa độ Oxy Ta có:
x y v t dx t dt v t dy t dt d t t dt
Chiếu các vận tốc trên lên hệ trục tọa độ Ox1y1 gắn với robot, ta có:
Viết lại các công thức trên dưới dạng ma trận, ta được công thức liên hệ giữa vận tốc theo 2 hệ trục tọa độ khác nhau:
Trong hệ trục gắn với robot Ox1y1, khi robot di chuyển với các vận tốc v(t), vn(t) và ω(t), công thức tính vận tốc của các bánh được xác định.
( ) sin / 3 os / 3 v t v t vn t c t d v t vn t t d v t v t vn t c t d
Viết lại hệ phương trình (2.4) dưới dạng ma trận ta thu được:
Giải hệ phương trình trên ta có:
Các công thức này giúp tính toán vận tốc của robot, bao gồm vận tốc theo các phương của trục tọa độ và vận tốc tổng thể của robot, dựa trên vận tốc của các bánh xe.
Tính toán động lực học cho robot
Theo phương trình các phương trình tính gia tốc và gia tốc góc cho một vật
v Bv Cv vn Bvn Cvn
J [kgm 2 ]: Mô men quán tính của robot
F Bv , F Bvn [N]: Lực ma sát nhớt dọc theo phương Ox1 và Oy1 tác dụng lên robot
T B [Nm]: Mô men ma sát nhớt tác dụng lên robot
F Cv , F Cvn [N]: Lực ma sát khô dọc theo phương Ox1 và Oy1 tác dụng lên robot
T C [Nm]: Mô men ma sát khô tác dụng lên robot
Lực ma sát nhớt tỉ lệ với vận tốc của robot, xem hình 2.3:
B v , B vn [N/(m/s)]: Hệ số ma sát nhớt
B [Nm/(rad/s)]: Hệ số ma sát nhớt do vận tốc quay Độ lớn của các lực ma sát khô là hằng số, xem hình 2.3:
C v , C vn [N]: hệ số ma sát khô dọc theo phương Ox1 và Oy1
C [Nm]: hệ số ma sát khô theo w
Hình 2.3: Các hệ số ma sát khô và hệ số ma sát nhớt
Mối quan hệ giữa lực kéo của robot, mô men quay và lực kéo trên mỗi bánh được đưa vào công thức sau:
Lực kéo trên mỗi bánh xe có thể được ước lượng thông qua mô men kéo, điều này được xác định bằng cách sử dụng dòng điện của động cơ Công thức liên quan được trình bày dưới đây.
(2.11) l: hệ số của hộp tốc độ r [m]: bán kính bánh xe
Kt [Nm/A]: hằng số mô men động cơ ij: dòng động cơ [A]: j= động cơ thứ j
Tính toán cho động cơ
Công thức tính toán cho động cơ :
L[H]: độ tự cảm của động cơ
R[ôm]: điện trở của động cơ
Kv[V/(rad/s)]: hằng số EMF động cơ uj[V]: điện áp động cơ
mj [rad/s]: vận tốc quay của động cơ
T mj [Nm]: Mô men động cơ
Trong trạng thái ổn định, độ tự cảm L bằng 0, nên ta có thể viết lại công thức:
Kết hợp các công thức ở trên ta có công thức:
T x t v t vn t t (2.15) Công thức này trình bày cách tính gia tốc của robot theo các phương v, vn và gia tốc góc cho robot.
Tính toán động học cho robot cho một số chuyển động cơ bản
Các chuyển động dùng để lập trình cho robot gồm có:
Chuyển động tịnh tiến xảy ra khi hai trong ba bánh của robot quay cùng lúc theo một phương nhất định, trong đó hai bánh này quay ngược chiều nhau Điều này tạo ra chuyển động tịnh tiến cho robot, như minh họa trong hình 2.1b.
Hình 2.4: Chuyển động tịnh tiến
Khi hai bánh xe V1 và V2 được đặt theo hướng như hình vẽ 2.4, với r là bán kính của bánh xe Omni, nếu cả hai bánh xe quay với vận tốc ω và quay ngược chiều nhau, thì vector vận tốc dài sẽ là V1.
. Tổng hợp 2 chuyển động trên ta có vector chuyển động tịnh tiến của robot:
Khi ba bánh xe của robot quay cùng chiều, robot sẽ xoay quanh tâm của nó Độ lớn và hướng quay của các bánh sẽ thay đổi tùy thuộc vào góc quay Dựa vào vận tốc của các bánh, chúng ta có thể điều khiển góc quay và tốc độ của robot.
XÂY DỰNG CÁC THUẬT TOÁN ĐIỀU KHIỂN ỨNG VỚI CÁC QUỸ ĐẠO ĐIỂN HÌNH
Khái quát về lập trình quỹ đạo
3.1.1 Khái quát về lập trình quỹ đạo
Bài toán lập trình quỹ đạo nhằm xác định quỹ đạo chuyển động của robot theo các quỹ đạo đã được xác định trước Các phương pháp lập trình quỹ đạo được chia thành hai nhóm chính: lập trình on-line và lập trình off-line.
Lập trình on-line cho robot cho phép người vận hành thực hiện lập trình trực tiếp trên robot hoặc các thiết bị phụ trợ Có ba phương pháp chính trong lập trình này: lập trình thủ công (manual input), lập trình theo kiểu dạy học bằng cách dẫn dắt (teach by lead through), và lập trình bằng thiết bị dạy học (teach pendant).
Lập trình off-line: lập trình trên máy vi tính ghép nối với robot.
3.1.2 Một vài thuật ngữ sử dụng khi lập trình quỹ đạo
Các điểm tựa hoặc điểm đi qua là tập hợp các điểm đầu, điểm cuối và các vị trí trung gian mà robot cần đi qua để đến đích Đường dịch chuyển, hay quỹ đạo hình học, là quỹ tích các điểm mà robot di chuyển để thực hiện nhiệm vụ, mô tả chuyển động của khâu thao tác về mặt hình học Đường dẫn là đường cong hoặc đường thẳng nhẵn, bao gồm tập hợp các điểm mà robot đi qua.
Quỹ đạo động học bao gồm đường dịch chuyển và các đặc tính chuyển động của các điểm trên đường này Khi đề cập đến quỹ đạo động học, chúng ta nói về đường dịch chuyển cùng với các quy luật thay đổi theo thời gian của vận tốc và gia tốc của các điểm chuyển động Nói cách khác, quỹ đạo động học là biểu diễn theo thời gian về vị trí, vận tốc và gia tốc của các điểm trên quỹ đạo hình học.
3.1.3 Nhiệm vụ lập trình quỹ đạo của robot
Nhiệm vụ chính trong bài toán lập trình quỹ đạo là xác định vị trí và hướng di chuyển của robot tại các thời điểm khác nhau dựa trên các quỹ đạo yêu cầu Điều này giúp chúng ta tìm ra quy luật chuyển động gần đúng của robot Trong nhiều trường hợp, bài toán này được phân chia thành các phần nhỏ hơn để dễ dàng giải quyết.
Xác định quỹ đạo hình học của robot
Xác định quy luật chuyển động theo thời gian trên quỹ đạo
Các dạng quy đạo trong bài toán đặt ra là quỹ đạo thẳng, quỹ đạo parabol, quỹ đạo hình sine.
3.1.4 Các bước của bài toán lập trình quỹ đạo
Việc giải quyết bài toán lập trình quỹ đạo chuyển động của robot có thể tiến hành theo ba bước như sau: a)Bước 1: mô tả chuyển động của robot
Bước đầu tiên trong lập trình quỹ đạo là xác định loại chuyển động cần thực hiện bởi robot Đặc điểm quỹ đạo chuyển động là thông tin đầu vào cho thuật toán lập trình Các bài toán thường được phân chia thành ba nhóm chính.
Chuyển động từ điểm này đến điểm khác chỉ chú trọng vào vị trí bắt đầu và kết thúc của robot, trong khi các vị trí trung gian có thể được lựa chọn tùy ý trên hành trình di chuyển.
Chuyển động liên tục của robot trên đường dịch chuyển.
Chuyển động của robot đi qua một số điểm trung gian nhất định trên đường dịch chuyển. b)Bước 2: lựa chọn và sử dụng kỹ thuật lập trình quỹ đạo
Khi robot di chuyển từ điểm này đến điểm khác, có thể không cần quan tâm đến các điểm trung gian Tuy nhiên, trong trường hợp di chuyển liên tục, việc xác định vị trí, vận tốc và gia tốc của robot trong hệ quy chiếu là rất quan trọng.
Các phương pháp lập trình quỹ đạo cho robot
3.2.1 Lập trình quỹ đạo sử dụng bộ điều khiển TLC a) Robot ứng dụng bộ điều khiển TLC Điều khiển chính xác quỹ đạo cho robot là một trong những nhiệm vụ chủ yếu của các ứng dụng cho bộ điều khiển Omni Direction Bộ điều khiển quỹ đạo cho robot có thể thực hiện hai nhiệm vụ: bám theo quỹ đạo hình học và bám theo quỹ đạo động học TLC (Trajectory Linearization Control) có nghĩa là điều khiển bám quỹ đạo tuyến tính hóa Bộ điều khiển TLC gồm 2 thành phần cơ bản: điều khiển vòng trong (outer-loop control) và điều khiển vòng ngoài (inner- loop control). b) Cấu trúc của bộ điều khiển TLC
Hình 3.1: Cấu trúc bộ điều khiển TLC
Bộ điều khiển TLC bao gồm hai thành phần chính: bộ điều khiển vòng trong và bộ điều khiển vòng ngoài Bộ điều khiển vòng ngoài sử dụng bộ điều khiển PID để điều chỉnh vận tốc cho từng động cơ, trong khi bộ điều khiển vòng trong áp dụng bộ điều khiển PI II để kiểm soát tốc độ động cơ Hệ thống Sensor Fusion kết hợp tín hiệu phản hồi từ Encoder và Camera quan sát, đảm bảo hiệu quả trong việc điều khiển mô hình robot thực tế.
Mô hình robot được sử dụng là Omni Direction 3 bánh, với quỹ đạo điều khiển mong muốn là đường tròn Kết quả điều khiển cho robot đã được trình bày trong nghiên cứu [7].
Hình 3.2: Kết quả thực nghiệm theo phương pháp TLC
Phương pháp điều khiển này mang lại kết quả với sai số nhỏ và các thông số điều khiển như điện áp trên động cơ tương đối ổn định, đáp ứng tốt các yêu cầu Tuy nhiên, thiết kế, tính toán và lập trình theo phương pháp này lại rất phức tạp và khó thực hiện.
3.2.2Lập trình quỹ đạo sử dụng bộ điều khiển mờ a) Robot ứng dụng bộ điều khiển mờ
Trong các ứng dụng không tuyến tính, việc tính toán bộ điều khiển trở nên phức tạp, do đó cần tuyến tính hóa hệ thống trước khi thực hiện tính toán Sau khi có mô hình tuyến tính, chúng ta có thể điều khiển robot hiệu quả Bộ điều khiển truyền thống bao gồm một mô hình dự đoán cho robot, tín hiệu phản hồi bù và tối ưu hóa trực tuyến Tuy nhiên, trong bộ điều khiển mờ, quá trình tối ưu hóa trực tuyến được thay thế bằng bộ điều khiển mờ, mang lại những lợi ích nhất định trong việc điều khiển.
Quá trình thiết kế bộ điều khiển cho robot bao gồm ba bước chính: phát triển mô hình dự đoán, thực hiện bù tín hiệu phản hồi, và tạo ra quỹ đạo động học tham chiếu.
Bước 1: Mô hình cho robot
Bước 2: Bù tín hiệu phản hồi
Do sự tồn tại lỗi trong mô hình và đặc tính không tuyến tính, sẽ có sự chênh lệch giữa đầu ra mong muốn và đầu ra thực tế Để cải thiện độ chính xác của đầu ra mong muốn, chúng ta áp dụng tín hiệu phản hồi nhằm điều chỉnh và bù đắp cho lỗi Việc sử dụng tín hiệu phản hồi này giúp nâng cao độ chính xác trong quỹ đạo hoạt động của robot.
Bước 3: Xây dựng quỹ đạo tham chiếu
Hình 3.3: Cấu trúc bộ điều khiển mờ
Bộ điều khiển mờ được thiết kế với 3 đầu vào: Ex, Ey và E, trong đó E là sai lệch giữa đặc tính mong muốn và đặc tính phản hồi Hai đầu ra của bộ điều khiển là V và ω Kết quả điều khiển cho mô hình robot thực tế được trình bày theo nghiên cứu [6].
Hình 3.4: Kết quả thực nghiệm theo phương pháp mờ
Sử dụng bộ điều khiển mờ giúp đạt được kết quả bám chính xác hơn, tuy nhiên, khoảng điều khiển lại nhỏ hơn so với các phương pháp khác và việc thiết kế thuật toán trở nên phức tạp hơn.
3.2.3 Phương pháp nội suy tuyến tính a) Cơ sở toán học
Phương pháp nội suy tuyến tính là kỹ thuật cơ bản trong lập trình quỹ đạo cho robot, sử dụng đường thẳng nối hai điểm để xấp xỉ hàm Cụ thể, hàm y=p(x) được dùng để thay thế cho hàm y=g(x) trong khoảng [a,b].
Hình 3.5: Phép nội suy tuyến tính
Trong đó g(b) và g(a) là giá trị của hàm số g(x) tại x=a và x=b Sai số của phép nội suy e(x)=g(x)-p(x) đã được giới hạn và có giá trị:
Sai số lớn nhất trong đoạn [a,b] được xấp xỉ bằng điểm chính giữa xm=0.5*(a+b) Nếu trong đoạn này, g”(x) là hằng số, thì sai số sẽ xấp xỉ g”(x) Để bắt đầu, chúng ta cần chú ý đến đạo hàm bậc nhất của hàm y(t), được biểu diễn bởi y’=f(y,t,u) với điều kiện y(0)=y0.
Trong hệ thống điều khiển, y là đầu vào, u là tín hiệu điều khiển và t là thời gian Giá trị y(t) tại thời điểm y(t)=nT0, với T0 là thời gian lấy mẫu và n={0,1,2…}, được ký hiệu là yn Từ đó, giá trị yn+1 có thể được tính từ giá trị yn.
Trong đó u không thay đổi trong khoảng thời gian từ nT0 tới (n+1)T0
Nếu biết quỹ đạo cần điều khiển theo y(t) là yd(t), thì có thể tính được xấp xỉ quỹ đạo cần điều khiển theo ydn+1
Trừ hai công thức cho nhau ta được:
Từ công thức này, chúng ta có thể xác định tín hiệu điều khiển cần thiết để đạt được trạng thái mong muốn từ trạng thái hiện tại trong khoảng thời gian mẫu T0 tiếp theo Nguyên tắc điều khiển cho robot dựa trên việc điều chỉnh tín hiệu để tối ưu hóa quá trình hoạt động của robot.
Gọi V là vận tốc dài của robot, x,y là tọa độ của robot, là góc lệch của robot Ta có hệ phương trình sau: cos sin x V y V
Từ công thức trên và áp dụng phần 1 ta có:
1 1 cos sin n T n n nT n T n n nT n T n n nT x x V dt y y V dt dt
Trong đó V và w là hằng số trong khoảng thời gian từ T0 tới (n+1)T0 và bằng Vn và wn
c) Kết quả điều khiển cho mô hình robot thực tế
Việc điều khiển robot theo phương pháp này đơn giản và dễ thực hiện hơn hai phương pháp trên.
Kết luận: Sau khi phân tích các phương pháp điều khiển quỹ đạo cho robot Omni, chúng tôi đã lựa chọn phương pháp nội suy tuyến tính hóa nhờ vào tính đơn giản và dễ thực hiện của nó.
Cơ sở cho việc lập trình quỹ đạo cho robot
3.3.1 Các chuyển động cơ bản của robot Để xây dựng các quỹ đạo cho robot, ta phân chuyển động của robot thành các chuyển động cơ bản sau:
Chuyển động thẳng tiến về phía trước
Chuyển động lùi về phía sau
Chuyển động quay cùng chiều kim đồng hồ
Chuyển động quay ngược chiều kim đồng hồ
Dựa vào phương trình động học trong chương 2, chúng ta có thể tính toán vận tốc của Robot dựa trên vận tốc của các bánh xe Để đạt được các chuyển động cơ bản của Robot, cần thiết phải điều chỉnh chuyển động của các bánh xe tương ứng.
Robot chuyển động thẳng về phía trước: động cơ 2 và động cơ 3 quay ngược chiều nhau, động cơ 1 không chuyển động.
Robot chuyển động lùi về phía sau: động cơ 2 và động cơ 3 quay ngược lại so với chuyển động thẳng về phía trước, động cơ 1 không chuyển động.
Robot chuyển động quay theo chiều kim đồng hồ: 3 bánh đều quay theo chiều kim đồng hồ.
Robot chuyển động quay ngược chiều kim đồng hồ: 3 bánh đều quay ngược chiều kim đồng hồ.
Robot chuyển động sang phải: động cơ 1 quay ngược chiều kim đồng hồ, động cơ 2 và 3 quay cùng chiều kim đồng hồ.
Robot chuyển động sang trái: động cơ 1 quay cùng chiều kim đồng hồ, động cơ 2 và 3 quay ngược chiều kim đồng hồ.
Dựa vào các chuyển động cơ bản trên, ta lần lượt xây dựng các quỹ đạo chuyển động cho Robot.
3.3.2 Khoảng chia theo phương x và y
Trong phép nội suy tuyến tính quỹ đạo cho robot, việc xác định khoảng chia nhỏ giúp quỹ đạo gần với quỹ đạo thực tế hơn Tuy nhiên, khoảng chia nhỏ có thể làm giảm khả năng đáp ứng quỹ đạo, dẫn đến lệch và rung do chuyển động đột ngột hoặc tốc độ chưa đủ thời gian để đạt giá trị mong muốn Để xác định khoảng chia cho robot, cần dựa vào thời gian đáp ứng của bộ điều khiển PID cho từng bánh Thực nghiệm cho thấy, khi t=0.1s, tốc độ từng bánh đạt giá trị ổn định, do đó, chúng ta sử dụng vận tốc của các chuyển động cơ bản và t=0.1s để xác định các khoảng chia cho robot.
Xây dựng các quỹ đạo cho robot
3.4.1 Quỹ đạo đường thẳng với một góc lệch α so với vị trí robot ban đầu
Khi góc lệch của robot so với phương ban đầu là 0 độ, chúng ta tiến hành tính toán để điều khiển robot di chuyển quãng đường 2m theo đường thẳng Đây là dạng quỹ đạo đơn giản nhất, trong đó robot chỉ cần chuyển động theo một đường thẳng trong khoảng thời gian t đã được xác định trước.
Vận tốc quay của động cơ 1 và động cơ 3 đều là w1 = w3 = 30 (v/p) = 0.5 (v/s) Bán kính bánh xe là 25 mm, tương đương với 2.5 x 10^-2 m Do đó, vận tốc dài của các bánh được tính là v1 = v3 = 2.5 x 10^-2 x 0.5 x 2π = 7.85 x 10^-2 (m/s) Áp dụng công thức (2.6), ta có kết quả cần thiết.
Để Robot di chuyển theo quỹ đạo đường thẳng dài 2m, với v1 và v3 có độ lớn bằng nhau và ngược chiều, trong khi v2 = 0, thời gian cần thiết cho Robot để chuyển động thẳng sẽ được xác định dựa trên các yếu tố này.
Khi robot chạy theo quỹ đạo thẳng nhưng lệch một góc 45 0 Phần này tính toán để robot chạy theo quỹ đạo này có độ dài 2m.
Ta phân chuyển động của Robot thành 2 chuyển động cơ bản: quay Robot cùng chiều kim đồng hồ 1 góc 45 0 và chuyển động thẳng với độ dài 2m.
Quay Robot theo chiều kim đồng hồ với ba bánh có vận tốc góc đồng nhất w1=w2=w3=15 (v/p) tương đương 0.25 (v/s) Vận tốc dài của từng bánh được tính là v1=v2=v3=0.25x2.5x10^-2x2π=3.93x10^-2 (m/s) Tổng vận tốc dài của Robot là w=1/4d x(v1+v2+v3) với d=5mm, tức khoảng cách từ bánh robot đến tâm đường tròn là 0.175m Áp dụng công thức (2.6) cho tính toán này.
Vậy thời gian để robot xoay một góc 45 0 là: 45/9.65= 4.7(s)
Kết luận: Để Robot di chuyển theo quỹ đạo hình xiên dài 2m và lệch 45 độ so với vị trí ban đầu, Robot cần quay theo chiều kim đồng hồ trong 4,7 giây và sau đó di chuyển thẳng về phía trước trong 22 giây.
Mô tả quỹ đạo: Robot chuyển động theo quỹ đạo hình Parabol có phương trình y=-x 2 +2x từ điểm (x,y)= (0,0) đến điểm (x,y)= (2,0) Ta có quỹ đạo như hình vẽ:
Hình 3.7: Quỹ đạo chuyển động dạng Parabol
Khi ta chỉ lấy 5 điểm trên cung Parabol, ta được quỹ đạo như hình vẽ:
Hình 3.8: Dạng Parabol khi chỉ lấy 5 điểm
Khi tăng số điểm lấy trên cung Parabol, ta thấy nó có dạng ngày càng gần với đường Parabol thật:
Hình 3.9: Dạng Parabol khi tăng số điểm lấy lên
Chúng ta sẽ phân chia quỹ đạo của Parabol thành nhiều đoạn thẳng bằng nhau, giúp quỹ đạo thực ngày càng gần với đường quỹ đạo mong muốn Quỹ đạo thực sẽ bao gồm nhiều đường thẳng xiên gần như bằng nhau Để điều khiển Robot di chuyển theo quỹ đạo Parabol, chúng ta sẽ sử dụng hai chuyển động cơ bản: chuyển động thẳng về phía trước và chuyển động xoay theo chiều kim đồng hồ.
Theo tính toán ở phần 3.2, trong khoảng thời gian 0.2s, Robot di chuyển được quãng đường 1.812x10 -2 m
2 2 dd x y x do y ( x ) Khi đó góc lệch giữa 2 vị trí cách nhau 1.812x10 -2 m là:
Vậy thời gian để chuyển động xoay đạt được góc trên là: t= 1.04 /9.65 = 0.11(s).
Để robot chuyển động theo quỹ đạo hình parabol, đầu tiên khởi động robot và xoay theo chiều kim đồng hồ trong 0.11 giây Sau đó, robot sẽ di chuyển thẳng trong 0.2 giây Quá trình này được lặp lại cho đến khi robot đạt đến điểm cuối của quỹ đạo đã được xác định.
Robot di chuyển theo quỹ đạo hình sine y = sin(x), bắt đầu từ tọa độ (0,0) và kết thúc tại tọa độ (π,0) Quỹ đạo của robot được mô tả như hình vẽ, thể hiện sự chuyển động nhịp nhàng và liên tục của nó trên mặt phẳng.
Hình 3.10: Quỹ đạo hình sine
Khi chia quỹ đạo thành các bước nhỏ, ta có hình vẽ:
Hình 3.11: Chia quỹ đạo hình sine thành dạng bậc thang
Ta thấy các bước chia càng nhỏ thì quỹ đạo càng gần đúng với quỹ đạo hình sine cần vẽ
Để robot di chuyển theo hình sine, cần điều khiển robot chuyển động thẳng đứng và sang phải trong nửa chu kỳ đầu, sau đó cho robot lùi lại và tiếp tục sang phải trong nửa chu kỳ tiếp theo.
Khi robot chạy thẳng trong thời gian 0.2s thì quãng đường nó di chuyển được theo đường thẳng là 1.812x10 -2 m
Khi chia x đủ nhỏ, ta có y 3.14 và x 3.14 1.812 10 x x 2 5.69 10 x 2 m Robot di chuyển sang phải một khoảng 10 -2 m, sử dụng chuyển động cơ bản để điều khiển Các giá trị vận tốc được xác định là w2=w3= 15(v/p) và w1= 30(v/p) Dựa vào công thức trong chương 2, ta tính được vận tốc của Robot khi chuyển động sang phải.
Vậy thời gian để Robot thực hiện chuyển động sang phải 28.45x10 -2 m là t=5.69x10 -2 : 7.85x10 -2 = 0.72 (s) Khi đó quỹ đạo của robot sẽ có dạng:
Hình 3.13: Quỹ đạo hình sine của robot theo thuật toán đưa ra
Robot sẽ khởi động và di chuyển thẳng về phía trước trong 0.2 giây, sau đó chuyển sang phải trong 0.72 giây Khi tọa độ y đạt 1m, robot sẽ lùi lại trong 0.2 giây và tiếp tục di chuyển sang phải trong 0.72 giây Quá trình này lặp lại cho đến khi robot hoàn thành quỹ đạo hình sine.
Sơ đồ của chương trình điều khiển robot
3.5.1 Sơ đồ điều khiển chung
Hình 3.14: Sơ đồ điều khiển chung
3.5.2 Sơ đồ điều khiển cho quỹ đạo đường thẳng
Hình 3.15: Sơ đồ điều khiển cho quỹ đạo đường thẳng
3.5.3 Sơ đồ điều khiển cho quỹ đạo đường thẳng lệch 1 góc 45 0
Hình 3.16: Sơ đồ điều khiển cho quỹ đạo đường thẳng lệch 1 góc 45 0
3.5.4 Sơ đồ điều khiển cho quỹ đạo dạng Parabol
Hình 3.17: Sơ đồ điều khiển cho quỹ đạo dạng Parabol
3.5.5 Sơ đồ điều khiển cho quỹ đạo hình sine
Hình 3.18: Sơ đồ điều khiển cho quỹ đạo dạng sine
Trong các phần trước, chúng ta đã thiết lập thành công quỹ đạo và sơ đồ điều khiển cụ thể cho DsPIC 30F4011 nhằm đạt được quỹ đạo mong muốn.
TỔ HỢP BỘ ĐIỀU KHIỂN VÀ TÍCH HỢP HỆ THỐNG
Tổ hợp bộ điều khiển cho robot
Các tính toán động lực học trong chương 3 cho thấy rằng việc tổng hợp bộ điều khiển PID tổng quát từ phương trình vi phân bậc 2 là một quá trình phức tạp và đôi khi không mang lại hiệu quả cao.
Dựa vào các tính toán động học của cơ cấu Omni, góc chuyển động và vận tốc của robot phụ thuộc vào tốc độ của các bánh xe Bằng cách thiết lập tốc độ cho trước, chúng ta có thể tính toán được tốc độ của các động cơ trong cơ cấu bánh Omni.
Do đó bài toán được đưa về điều khiển tốc độ dùng phương pháp PID cho từng động cơ.
4.1.1 Xây dựng mô hình động cơ điện một chiều dưới dạng hàm truyền Động cơ điện một chiều có thể được mô hình thành mạch điện phần ứng và rotor như hình vẽ:
Hình 4.1: Mô hình hóa động cơ DC
J: Mô men quán tính của rotor b: hệ số giảm chấn cơ khí
K=Kt=Ke: hằng số điện cơ
Ta có phương trình cân bằng điện áp phần ứng:
(4.1) Trong đó e là sức điện động phần ứng e K e K
(4.2) Với phần rotor, theo định luật II Newton ta có:
Mà mô men trên trục T có quan hệ với dòng điện phần ứng I thông qua hằng số
J b Ki (4.4) Biến đổi Laplace cho phương trình (4.2) và (4.4) ta được:
Khử I(s) ở cả 2 phương trình ta được
Từ đây ta có thể rút ra được hàm truyền của hệ thống với đầu vào là điện áp V, đầu ra là vận tốc góc của rotor :
Giới thiệu về bộ điều khiển PID
Bộ điều khiển vi tích phân tỉ lệ (PID) là một cơ chế phản hồi vòng điều khiển phổ biến trong các hệ thống công nghiệp, nổi bật nhờ khả năng tính toán sai số giữa giá trị đo được và giá trị mong muốn Bộ điều khiển này tối ưu hóa sai số bằng cách điều chỉnh giá trị đầu vào, là lựa chọn lý tưởng khi không có kiến thức sâu về quá trình Để đạt hiệu quả tối ưu, các thông số PID cần được điều chỉnh phù hợp với đặc tính của hệ thống, mặc dù phương pháp điều khiển vẫn giữ nguyên.
Bộ điều khiển PID bao gồm ba thành phần chính: khâu tỷ lệ (P), khâu tích phân (I) và khâu vi phân (D) Trong miền thời gian, bộ điều khiển PID có thể được mô tả qua mô hình đầu vào và đầu ra, cho phép điều chỉnh hiệu suất hệ thống một cách chính xác.
Trong đó u(t) là tín hiệu ngõ vào, e(t) là tín hiệu ngõ ra của bộ điều khiển.
Tín hiệu u được gửi đến cơ cấu chấp hành để tạo ra đầu ra y Đầu ra y sau đó được truyền đến cảm biến đo, từ đó tạo ra giá trị sai số e mới Bộ điều khiển tiếp tục lấy giá trị sai số này, thực hiện các phép tính tích phân và vi phân, rồi đưa ra tín hiệu điều khiển Quá trình này lặp đi lặp lại để duy trì sự ổn định.
Hình 4.2: Mô hình bộ điều khiển PID Đặc tính của các luật điều khiển P,I,D
Luật điều khiển P có tác dụng làm giảm thời gian xác lập nhưng không thể khử được sai số trạng thái xác lập.
Luật điều khiển I có tác dụng khử được sai số trạng thái, nhưng nó làm giảm khả năng đáp ứng tức thời của hệ thống.
Luật điều khiển D có tác dụng tăng độ ổn định của hệ thống và giảm độ quá điều chỉnh, và cải thiện khả năng đáp ứng tức thời.
Hiệu quả của từng luật điều khiển P,I và D lên hệ thống vòng kín được tổng kết qua bảng sau:
Thông số Thời gian quá độ Độ quá điều chỉnh
Thời gian đến ổn định
Kp Giảm Tăng Ít thay đổi Giảm
Ki Giảm Tăng Tăng Khử được
Kd Ít thay đổi Giảm Giảm Ít thay đổi
Việc xác định các thông số của động cơ từ hàm truyền không hề đơn giản, khiến cho việc tìm kiếm các hệ số PID trở nên khó khăn Do đó, phương pháp thực nghiệm Ziegler-Nichols được áp dụng trong đồ án để xác định các thông số Kp, Ki và Kd của bộ điều khiển PID dựa vào đáp ứng quá độ của động cơ.
Phương pháp Ziegler-Nichols bao gồm hai cách để lựa chọn tham số bộ điều khiển: vòng lặp kín và vòng lặp hở Đối với các hệ thống có phản ứng với tín hiệu vào dạng hàm bậc thang như nhiệt độ lò nhiệt hay tốc độ động cơ, phương pháp vòng hở là lựa chọn phù hợp Cách thực hiện phương pháp Ziegler-Nichols vòng lặp hở sẽ được trình bày chi tiết trong bài viết này.
Khảo sát hàm bậc thang vòng lặp hở
Từ đường cong đáp ứng quá độ xác định thời gian chết de ad , thời gian quá độ
và giá trị cuối cùng đáp ứng đến trạng thái ổn định Mu cho sự thay đổi nấc là
Xác định hệ số chỉnh vòng lặp bằng cách đưa tốc độ quá độ và thời gian chết vào phương trình điều chỉnh Ziegler-Nichols cho bộ điều khiển P, PI hoặc PID Sử dụng bảng dưới đây để tính toán các hệ số điều khiển phù hợp.
PID 1.2K0 2 de ad 0.5 de ad
Hình 4.3: Đường cong đáp ứng quá độ
4.1.4 Tìm các tham số PID cho bộ điều khiển Để có đáp ứng quá độ cho động cơ, ta lập trình cho vi xử lý cung cấp cho động cơ điện 1 điện áp cố định, đồng thời cứ 10ms lại tính tốc độ động cơ 1 lần rồi truyền kết quả lên máy tính Kết quả được: t(ms) 0 10 20 30 40 50 60 v(rpm) 0 23.43 70.31 86.36 93.75 93.75 93.75
Dựa vào đường cong đáp ứng quá độ ta có:
Hình 4.4: Đường cong đáp ứng quá độ thực nghiệm ad 5
Điện áp cung cấp cho động cơ lúc thí nghiệm là 23V.
Vậy các hệ số Kp, Ki, Kd được chọn là:
Xây dựng bộ điều khiển cho robot
Từ yêu cầu của đồ án, thiết kế phần cứng như hình 4.5 sau:
Hình 4.5: Sơ đồ khối phần cứng
Lựa chọn quỹ đạo cho robot được thực hiện trên máy tính và truyền xuống khối điều khiển trung tâm qua mô đun giao tiếp RS232 Mô đun này kết nối với vi điều khiển thông qua mô đun UART trong dsPIC Vi điều khiển nhận thông tin để tạo ra xung PWM và tín hiệu DIR, giúp robot di chuyển theo quỹ đạo đã xác định Tốc độ động cơ được đo bởi encoder, và tín hiệu từ encoder được gửi về vi điều khiển để tính toán và điều chỉnh xung PWM, đảm bảo tốc độ động cơ đạt mức đã đặt Đồng thời, xung từ encoder cũng được truyền lên máy tính để tính toán và hiển thị quỹ đạo trên giao diện Visual Basic 6.
4.2.1 Khối điều khiển trung tâm
Khối điều khiển trung tâm được trang bị vi xử lý dsPIC30F4011 của Microchip, có chức năng tiếp nhận tín hiệu analog từ cảm biến, nhận lệnh từ máy tính và xử lý xung phản hồi từ Encoder để điều khiển động cơ hiệu quả.
Vi xử lý dùng thạch anh ngoài 24MHz và dùng mạch nạp PICkit2 để nạp chương trình.
Sơ đồ mạch trung tâm được trình bày ở hình dưới:
Các chân PWM1-PWM3, DIR1-DIR3: là các chân ra vào mô-đun công suất để điều khiển động cơ.
Các chân U1TX và U1RX là 2 chân truyền thông giao tiếp UART được kết nối vào mô-đun giao tiếp RS232.
Hình 4.6: Sơ đồ nguyên lí khối điều khiển trung tâm
4.2.2 Mô-đun giao tiếp RS232
Mô-đun này chuyển đổi tín hiệu RS232 thành mức điện áp TTL phù hợp với các chân UxTX và UxRX của dsPIC MAX232, một IC phổ biến từ hãng Maxim, thường được sử dụng trong các mạch giao tiếp Điểm nổi bật của MAX232 là tích hợp hai bộ điều khiển cho việc nhận và truyền dữ liệu hiệu quả.
Trong sơ đồ mạch nguyên lý, chỉ dùng 1 bộ điều khiển để giao tiếp:
Các chân T1IN và R1OUT được nối lần lượt với các chân U1TX và U1RX của dsPIC.
Các chân R1IN và T1OUT được nối với cổng DB9 của RS232.
Hình 4.7: Sơ đồ khối nguyên lý giao tiếp RS232
4.2.3 Sơ đồ khối công suất
Khối công suất điều khiển động cơ thông qua tín hiệu từ khối trung tâm, sử dụng mạch cầu H được cấu tạo từ các MOSFET IRF540 của hãng International Rectifier Các MOSFET này có khả năng chịu dòng cao, với dòng đỉnh lên đến 30A, và điện áp lớn, tuy nhiên, chúng có nhược điểm là điện trở dẫn tương đối nhỏ.
Hình 4.8: Sơ đồ nguyên lý mạch cầu H
Các MOSFET kênh n có thể được kích trực tiếp bằng vi điều khiển qua các đường MC1- và MC1+ Đối với MOSFET kênh p, cần sử dụng BJT 2N3904 để tạo mạch kích Khi BJT 2N3904 chưa được kích, chân G của MOSFET được nối với VS qua điện trở 1K, khiến điện áp chân G gần 24V, tương đương với điện áp chân S của IRF9540, do đó MOSFET không dẫn Khi kích các line L1 hoặc R1, BJT 2N3904 dẫn, làm điện áp chân G của IRF9540 giảm xuống gần 0, do chuyển mạch 2N3904 đóng Lúc này, điện áp chân G thấp hơn nhiều so với điện áp chân S, dẫn đến việc MOSFET dẫn.
Ngoài ra khối công suất còn sử dụng mạch logic chọn và điều khiển các chân DIR và PWM.
Hình 4.9: Sơ đồ nguyên lý mạch logic
Encoder là thiết bị cơ điện dùng để đo vận tốc và vị trí của trục động cơ, hoạt động dựa trên cảm biến quang để tạo ra chuỗi xung chuyển đổi thành các giá trị chuyển động Cấu tạo của encoder bao gồm một đĩa mỏng, một điôt phát quang (LED) và một transistor nhạy sáng Đĩa được gắn vào trục quay, khi trục quay, đĩa cũng quay và ánh sáng từ LED truyền qua khe đĩa đến transistor, làm nó bão hòa và phát ra xung vuông.
Có 2 loại encoder: encoder tương đối và encoder tuyệt đối.
Hình 4.10 : Nguyên lý của encoder tương đối
Encoder tương đối thường có 3 kênh: kênh A, kênh B và kênh I Kênh I được sử dụng để đếm số vòng quay của đĩa, trong khi kênh A và kênh B lệch pha nhau 90 độ Bằng cách kết hợp thông tin từ hai kênh A và B, ta có thể xác định được chiều quay của động cơ.
Encoder tuyệt đối khắc phục hạn chế của encoder tương đối, nơi số xung cần được đếm và lưu trữ, dẫn đến mất mát dữ liệu khi mất nguồn Khi thiết bị cần tắt nguồn định kỳ, encoder tương đối không thể xác định vị trí khi khởi động lại Ngược lại, encoder tuyệt đối sử dụng thiết kế đĩa với các vòng đồng tâm, mỗi vòng có chỗ hở cho ánh sáng, tạo ra các phần tử nhị phân Các vòng này tăng gấp đôi số phần tử nhị phân từ tâm ra ngoài, cho phép đọc giá trị ở mọi vị trí dưới dạng số nhị phân Đồ án này sử dụng Sharp Rotary Encoder, một loại encoder tương đối.
256 xung trên 1 vòng Các dây của encoder :
Dây đỏ : dây nguồn +5V cho encoder
Dây xanh da trời : dây đất cho encoder
Dây nâu : tín hiệu kênh A cho encoder
Dây vàng : tín hiệu kênh B cho encoder Ở đây chúng ta chỉ sử dụng 3 dây : dây đỏ, dây xanh da trời và dây nâu.
Giới thiệu về vi điều khiển dsPIC30F4011
4.3.1 Giới thiệu về họ vi điều khiển dsPIC
Họ vi điều khiển dsPIC, do công ty Microchip Technology Inc sản xuất, được phát triển trên nền tảng vi điều khiển PIC với khả năng xử lý dữ liệu lên tới 16bit Với kiến trúc RISC hiệu suất cao, một số loại dsPIC còn tích hợp bộ xử lý tín hiệu số DSP, đạt tốc độ xử lý trên 40 triệu câu lệnh mỗi giây (MIPS) Ngoài ra, dsPIC được trang bị bộ nhớ flash, bộ nhớ dữ liệu EEPROM và các ngoại vi hiệu suất cao, giúp nó trở thành lựa chọn lý tưởng cho các ứng dụng xử lý tín hiệu số, đo lường và điều khiển tự động.
Họ dsPIC được chia làm 3 dòng tùy thuộc mục đích khác nhau :
Dòng điều khiển động cơ và nguồn
Dòng điều khiển cảm biến
Dòng điều khiển đa mục đích
4.3.2 Đặc điểm của vi điều khiển dsPIC30F4011
Hình 4.11 : Vi điều khiển dsPIC30F4011
Khối xử lý trung tâm CPU có 84 lệnh cơ bản với chế độ định địa chỉ linh hoạt Độ dài lệnh đạt 24 bit và độ dài dữ liệu là 16 bit Bộ nhớ chương trình flash có dung lượng 24KB, trong khi bộ nhớ RAM là 2KB Hệ thống bao gồm 16 thanh ghi 16 bit và tốc độ làm việc có thể lên đến 40 MIPS.
Bộ xử lý tín hiệu số (DSP) cho phép nạp dữ liệu song song và sử dụng hai thanh ghi tích lũy 40 bit với khả năng hỗ trợ bão hòa logic Nó có khả năng nhân hai số 17 bit trong một chu kỳ máy, đồng thời thực hiện tất cả các lệnh DSP cũng như các phép dịch trái hoặc dịch phải 16 bit trong cùng một chu kỳ máy.
Các ngoại vi của hệ thống bao gồm dòng ra các chân I/O lớn lên đến 25mA Mô-đun Timer được trang bị 5 bộ đếm/định thời 16 bit, có khả năng kết hợp thành 2 bộ 32 bit Hệ thống cũng tích hợp 1 mô đun SPI, 2 mô đun UART với bộ đệm FIFO, cùng với 6 kênh PWM và 3 bộ tạo chu trình hoạt động Ngoài ra, bộ ADC 10 bit với 9 kênh vào ADC có tốc độ chuyển đổi lên đến 1 Msps.
Bộ nhớ flash có khả năng ghi/xóa lên đến 10,000 lần trong điều kiện công nghiệp và 100,000 lần trong điều kiện thông thường EEPROM có thể ghi xóa 100,000 lần trong điều kiện công nghiệp và 1 triệu lần trong điều kiện thông thường Thiết bị hỗ trợ khả năng tự nạp chương trình qua phần mềm, đi kèm với Watchdog Timer linh hoạt sử dụng bộ dao động RC nguồn thấp trên chip và chế độ bảo vệ firmware.
4.3.3 Các mô đun ngoại vi của dsPIC30F4011
Các cổng vào/ra của dsPIC30F4011 được thiết kế với mạch Trigger Schmitt, giúp nâng cao khả năng chống nhiễu Hầu hết các chân I/O đều tích hợp các chức năng bổ sung, và khi một ngoại vi hoạt động, chân đo sẽ không thể sử dụng như chân I/O cho mục đích chung.
Tất cả các chân vào ra có 3 thanh ghi kết hợp với nhau điều khiển trực tiếp hoạt động của các cổng.
TRISx là thanh ghi điều khiển hướng dữ liệu, xác định chức năng của cổng là cổng vào hay cổng ra Nếu bit TRIS của chân I/O được thiết lập là 1, chân đó sẽ hoạt động như cổng vào; ngược lại, nếu là 0, chân sẽ hoạt động như cổng ra Khi hệ thống được reset, tất cả các chân cổng sẽ được mặc định là chân vào.
PORTx là thanh ghi cổng, nơi dữ liệu trên chân I/O được truy cập Khi đọc giá trị từ thanh ghi PORT, bạn sẽ nhận được giá trị tương ứng của cổng Việc ghi dữ liệu vào thanh ghi PORT đồng nghĩa với việc xuất dữ liệu ra cổng đó.
LATx là thanh ghi chốt kết hợp với cổng I/O, giúp loại bỏ các vấn đề khi đọc, thay đổi và ghi vào cổng Đọc giá trị từ thanh ghi LAT sẽ trả về giá trị hiện tại ở đầu ra của bộ chống, thay vì giá trị từ cổng I/O Ghi vào thanh ghi LATx cũng mang lại hiệu quả tương tự như ghi vào thanh ghi PORT.
Bộ định thời dsPIC30F4011 bao gồm 5 bộ định thời 16 bit hoạt động độc lập, được phân loại thành 3 loại Loại A có Timer 1, không chỉ hoạt động như bộ định thời hay bộ đếm mà còn có khả năng kết hợp với nguồn thạch anh ngoài tần số thấp 32.768 kHz trong chế độ thời gian thực Loại B bao gồm Timer 2 và Timer 4, có thể kết hợp với Timer loại C, tức Timer 3 và Timer 5, để tạo ra 2 bộ Timer 32 bit là Timer 23 và Timer 45.
Các loại Timer có cấu trúc khác nhau nhưng chức năng hoạt động tương tự nhau Mỗi module Timer bao gồm 3 thanh ghi để điều chỉnh chế độ hoạt động và 3 bit dùng để kiểm soát ngắt Trong đó, TMRx là thanh ghi đếm Timer với độ dài 16 bit.
PRx: thanh ghi chu kỳ của Timer
TxCON: thanh ghi điều khiển
TxIE: bit điều khiển cho phép ngắt cho Timer
TxIF: bit trạng thái cờ ngắt của Timer
TxIP : bit điều khiển ưu tiên ngắt
Timer Định thời đồng bộ hoạt động bằng cách tăng giá trị sau mỗi chu kỳ lệnh Khi giá trị của timer đạt đến giá trị của thanh ghi chu kỳ PR, nó sẽ tự động reset về 0 và tiếp tục quá trình đếm.
Bộ đếm đồng bộ là một thiết bị mà timer sẽ tăng lên theo sườn lên của xung nhịp ngoài, được đồng bộ với pha của các xung nhịp trong Khi giá trị của timer đạt đến giá trị trong thanh ghi PR, nó sẽ dừng lại, reset về 0 và tiếp tục quá trình đếm.
Bộ đếm không đồng bộ hoạt động bằng cách tăng dần giá trị sau mỗi sườn lên của xung nhịp bên ngoài Khi giá trị của bộ đếm đạt bằng giá trị trong thanh ghi PR, bộ đếm sẽ được reset về 0 và tiếp tục quá trình đếm.
Mô-đun Motor Control PWM
Mô-đun này làm đơn giản hóa công việc tạo ra nhiều, đồng thời, đầu ra điều chế độ rộng xung PWM Mô đun MCPWM của dsPIC30F4011 có 6 chân I/
PWM có 3 bộ tạo chu trình làm việc được đánh số từ PWM1H/PWM1L đến PWM3H/PWM3L Để bù tải trọng, các chân PWM thấp sẽ luôn hỗ trợ cho các chân I/O cao tương ứng.
MÔ PHỎNG VÀ LẬP TRÌNH THỰC NGHIỆM
Các công thức toán học
Chúng ta áp dụng phép nội suy tuyến tính để phân chia quỹ đạo, từ đó có thể tính toán vận tốc dài và vận tốc góc của robot bằng các công thức cụ thể.
Vn là vận tốc dài của robot, wn là vận tốc góc của robot, kv là hệ số điều chỉnh vận tốc dài, và kw là hệ số điều chỉnh vận tốc góc cho robot.
, x , y , T 0 là các khoảng chia góc, quỹ đạo theo phương x, quỹ đạo theo phương y, khoảng chia thời gian cho robot
Nhắc lại công thức (2.3) và (2.5) ở chương 2 ta có:
Trong chương trình Matlab, chúng ta sẽ sử dụng các công thức đã nêu để khảo sát vận tốc của các bánh xe và vận tốc của robot khi di chuyển theo quỹ đạo đã định.
Do quỹ đạo đường thẳng là dạng đơn giản nên ta chỉ khảo sát với quỹ đạo hình parabol và quỹ đạo hình sine.
Chương trình mô phỏng trong Matlab cho quỹ đạo hình parabol
a) Chương trình mô phỏng Đầu vào của chương trình là kết quả thu được từ việc chia tọa độ (chương
Đầu ra của chương trình là vận tốc các bánh xe cần điều khiển để thu được quỹ đạo mong muốn Chương trình sử dụng các biến như dx, dy, dg, t0, kv và kw để tính toán vận tốc và góc quay của các bánh xe Qua vòng lặp từ 1 đến 110, các giá trị vận tốc v, vx, vy và các vận tốc góc w1, w2, w3 được tính toán dựa trên các công thức liên quan đến sin và cos Kết quả được biểu diễn trên đồ thị với thời gian t từ 0 đến 21.8 giây, cho thấy sự thay đổi của vận tốc góc các bánh xe theo thời gian.
Hình 5.1: Vận tốc của các bánh khi chạy theo quỹ đạo Parabol c) Chương trình mô phỏng quỹ đạo ứng với các vận tốc ở trên:
Chương trình nhận đầu vào là các vận tốc đã được đo Sau khi xử lý qua bộ điều khiển PID và hàm truyền của động cơ, vận tốc của robot sẽ được xác định Dựa vào vận tốc này, chúng ta có thể tính toán tọa độ của robot theo thời gian.
Hình 5.2: Mô hình Simulink mô phỏng quỹ đạo cho robot
Lấy dữ liệu thu được scope ở trên cho tọa độ y của robot theo thời gian.
Vẽ lại đồ thị của y theo thời gian và so sánh với quỹ đạo mong muốn điều khiển, ta thu được kết quả sau.
Hình 5.3: So sánh quỹ đạo thu được và quỹ đạo mong muốn
Chương trinh mô phỏng trên Matlab cho quỹ đạo hình sine
Chương trình mô phỏng sử dụng các tham số như dx, dy, dg, t0, kv và kw để tính toán vận tốc góc của các bánh xe trong khoảng thời gian từ 0 đến 21.8 giây Qua các phép tính, các giá trị w1, w2, và w3 được xác định dựa trên các công thức liên quan đến sin và cos, cho thấy sự thay đổi của vận tốc góc theo thời gian Kết quả mô phỏng được biểu diễn qua đồ thị với các đường màu khác nhau, minh họa rõ ràng sự biến thiên của vận tốc góc các bánh xe.
Hình 5.4: Vận tốc các bánh khi chạy theo quỹ đạo hình sine
Lập trình cho robot
5.4.1 Chương trình cho vi điều khiển
Chương trình cho vi điều khiển được viết trên Mikro C Pro for DsPIC. Dưới đây là giao diện của Mikro C.
Hình 5.5: Chương trình điều khiển viết trên Mikro C
Chương trình trên vi điều khiển gồm các khối chính như sau:
Khối điều khiển PID cho từng động cơ: dùng để điều khiển vận tốc cho từng bánh của robot đạt được vận tốc đã được thiết lập.
Khối truyền thông UART có chức năng nhận tín hiệu lựa chọn quỹ đạo từ máy tính, từ đó xác định quỹ đạo phù hợp Đồng thời, nó cũng truyền tải vận tốc và góc quay của robot về máy tính để xử lý.
Khối ngắt dùng để đọc tín hiệu từ encoder để tính ra vận tốc cho từng động cơ.
Giao diện được viết trên Visual Basic 6.0.
Hình 5.6: Giao diện điều khiển trên Visual Basic
Giao diện gồm các khối chính sau:
Khối lựa chọn quỹ đạo cho robot cho phép người sử dụng điều khiển robot thông qua giao diện Khi nhấn nút “THANG”, Visual Basic truyền ký tự ‘t’ xuống vi điều khiển, kích hoạt hàm quydao_thang() để robot di chuyển theo quỹ đạo thẳng đã lập trình Tương tự, các nút ‘XIEN’, ‘PARABOL’, và ‘SINE’ sẽ truyền các ký tự ‘x’, ‘p’, và ‘s’ xuống vi điều khiển để điều khiển robot theo các quỹ đạo tương ứng.
Khối hiển thị vận tốc và góc quay của robot hiện tại nhận tín hiệu từ vi điều khiển, bao gồm thông tin về vận tốc và góc lệch Nó sẽ hiển thị các thông số này một cách rõ ràng.
Khối hiển thị tọa độ của robot sử dụng các thông số về vận tốc và góc lệch để vẽ đồ thị tọa độ theo thời gian thực.
Kết luận và phương hướng phát triển
Đồ án đã phát triển phương trình động học và động lực học cho Omni Robot, áp dụng phương pháp nội suy tuyến tính để xây dựng quỹ đạo Ngoài ra, đã mô phỏng các thông số vận tốc góc của robot khi di chuyển trên quỹ đạo, và bước đầu lập trình vi điều khiển cho robot cùng với giao diện điều khiển.
Do thời gian hạn chế nên chưa có điều kiện chạy thực nghiệm trên robot thật.
Hướng phát triển của đồ án: chạy thực nghiệm trên robot thật, xử lý ảnh từ camera để có tín hiệu phản hồi về tọa độ của robot.