1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Thiết kế mô hình và điều khiển đồng bộ chủ tớ cho hệ hai cánh tay robot bốn bậc tự do

118 1 0

Đ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 đề Thiết kế mô hình và điều khiển đồng bộ chủ tớ cho hệ hai cánh tay robot bốn bậc tự do
Tác giả Nguyễn Ngọc Quyên, Đỗ Trần Đức Thuận, Trình Ngọc Tú
Người hướng dẫn ThS. Nguyễn Văn Hiệp
Trường học Trường Đại học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Khoa Đào Tạo Chất Lượng Cao - Tự Động Điều Khiển
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2022
Thành phố Hồ Chí Minh
Định dạng
Số trang 118
Dung lượng 9,5 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN VỀ HỆ THỐNG (21)
    • 1.1 Đặt vấn đề (21)
      • 1.1.1 Tình hình nghiên cứu ngoài nước (21)
      • 1.1.2 Tình hình nghiên cứu trong nước (24)
    • 1.2 Mục đích đề tài (25)
    • 1.3 Mục tiêu đề tài (25)
    • 1.4 Nội dung nghiên cứu (25)
    • 1.5 Đối tượng và phạm vi nghiên cứu (26)
    • 1.6 Phương pháp nghiên cứu (26)
    • 1.7 Các công cụ đánh giá (27)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (28)
    • 2.1 Định nghĩa robot (28)
    • 2.2 Động học robot (28)
      • 2.2.1 Động học thuận cánh tay robot (28)
      • 2.2.2 Động học nghịch cánh tay robot (31)
    • 2.3 Quy hoạch quỹ đạo (32)
    • 2.4 Lý thuyết giao tiếp UART (33)
      • 2.4.1 Khái niệm (33)
      • 2.4.2 Cách thức hoạt động (33)
      • 2.4.3 Ưu nhược điểm (34)
    • 2.5 Lý thuyết mạng CAN bus (35)
      • 2.5.1 Khái niệm mạng CAN (35)
      • 2.5.2 Thông số tiêu chuẩn CAN 2.0 (35)
      • 2.5.3 Cấu trúc CAN định dạng chuẩn (36)
    • 2.6 Các phần mềm sử dụng (42)
      • 2.6.1 Solidworks (42)
      • 2.6.2 Matlab (42)
  • CHƯƠNG 3. ROBOT ĐỒNG BỘ (44)
    • 3.1 Tổng quan về robot đồng bộ (44)
      • 3.1.1 Giới thiệu chung về robot đồng bộ (44)
      • 3.1.2 Lý thuyết đồng bộ (44)
    • 3.2 Ma trận chuyển đổi (Transformation matrix) (46)
  • CHƯƠNG 4. THIẾT KẾ CÁNH TAY ROBOT BỐN BẬC TỰ DO (49)
    • 4.1 Ý tưởng thiết kế cánh tay robot bốn bậc tư do (49)
    • 4.2 Thiết kế cánh tay robot bốn bậc tự do trên Solidworks (50)
  • CHƯƠNG 5. TÍNH TOÁN VÀ PHƯƠNG PHÁP ĐIỀU KHIỂN (56)
    • 5.1 Động học cánh tay robot (56)
      • 5.1.1 Đặt trục (56)
      • 5.1.2 Động học thuận (57)
      • 5.1.3 Động học nghịch (58)
    • 5.2 Không gian hoạt động đơn lẻ (62)
    • 5.3 Không gian làm việc chung (64)
    • 5.4 Thiết kế mô phỏng Simscape Simulink (66)
      • 5.4.1 Mô phỏng quy hoạch quỹ đạo (67)
      • 5.4.2 Thiết kế điều khiển mô phỏng (80)
    • 5.5 Phương pháp truyền nhận bốn động cơ bước bằng giao thức UART (82)
    • 5.6 Phương pháp truyền nhận mạng CAN Bus (87)
  • CHƯƠNG 6. THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG (92)
    • 6.1 Thiết kế phần cơ khí (92)
      • 6.1.1 Yêu cầu phần cứng (92)
      • 6.1.2 Thiết kế mô hình (92)
      • 6.1.3 Lựa chọn thiết bị cho phần cơ khí (93)
      • 6.1.4 Tính toán lực căng dây đai (102)
      • 6.1.5 Thi công phần cơ khí (103)
    • 6.2 Thiết kế phần điện (104)
      • 6.2.1 Sơ đồ kết nối mạch động lực và sơ đồ khối tủ điện (105)
      • 6.2.2 Lựa chọn thiết bị (107)
      • 6.2.3 Thi công phần điện (111)
  • CHƯƠNG 7. THỰC NGHIỆM VÀ KIỂM CHỨNG (113)
    • 7.1 Thực nghiệm, điều khiển góc đồng thời (113)
    • 7.2 Kiểm chứng hoạt động một robot (114)
  • CHƯƠNG 8. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (115)
    • 8.1 Kết luận (115)
    • 8.2 Hướng phát triển (115)
  • TÀI LIỆU THAM KHẢO (117)
  • PHỤ LỤC (118)

Nội dung

Trong ngành tự động hóa - điều khiển tự động nói chung và điều khiển học nói riêng, các mô hình cánh tay robot là một trong những đối tượng nghiên cứu phổ biến hiện nay.. Robot công nghi

TỔNG QUAN VỀ HỆ THỐNG

Đặt vấn đề

1.1.1 Tình hình nghiên cứu ngoài nước

Những tiến bộ gần đây trong robot hình người và điều khiển hai cánh tay máy đã làm tăng sự quan tâm đến thao tác giữa hai cánh tay máy Robot một cánh tay phổ biến nhưng hạn chế trong việc thay thế hành vi con người Robot nhân hình có kích thước và thao tác như con người sẽ thay thế nhân công trong sản xuất và lắp ráp, giúp giảm chi phí Trong lĩnh vực chăm sóc sức khỏe, robot nhân hình có khả năng bắt chước hành vi con người sẽ ngày càng tiên tiến Sự quan tâm đến robot nhân hình và hệ hai cánh tay robot đang gia tăng, đòi hỏi hệ thống cải tiến và bộ điều khiển nâng cao Trong tương lai, robot nhân hình sẽ thay thế các tác vụ giống con người trong đời sống và công nghiệp.

Trong lĩnh vực tự động hóa, mô hình cánh tay robot đang trở thành một trong những đối tượng nghiên cứu phổ biến Để đáp ứng nhu cầu ngày càng tăng trong sản xuất công nghiệp, các nhà sản xuất đã phát triển robot với hai cánh tay, cho phép thực hiện nhiều nhiệm vụ phức tạp hơn Cánh tay robot hoạt động tương tự như cánh tay con người, với khả năng di chuyển và xoay theo nhiều hướng Những robot này không chỉ thực hiện các động tác đơn giản mà còn có thể tương tác với con người và các robot khác Các công việc như lắp ráp, hàn và vận chuyển hàng hóa đòi hỏi sự đồng bộ cao giữa các cá thể, nhằm nâng cao năng suất và hiệu quả Sự đồng bộ này không chỉ xuất hiện trong công nghệ mà còn trong tự nhiên, giúp các loài động vật tồn tại và phát triển qua thời gian.

Hình 1 1 Hình ảnh ví dụ về sự đồng bộ trong tự nhiên: a) Đàn chim b) Cá heo

Đồng bộ đã ảnh hưởng đến cuộc sống con người và động vật, dẫn đến sự phát triển của robot đồng bộ trong nhiều lĩnh vực như công nghiệp, nghiên cứu vũ trụ và quân sự Những tiến bộ trong nghiên cứu robot đã giúp chúng trở thành một phần quan trọng trong cuộc sống Robot hình người, với khả năng điều khiển tương tự như cánh tay người, được ứng dụng rộng rãi trong công nghiệp, y tế và sinh hoạt hàng ngày Chúng thường có hai cánh tay, cho phép thực hiện nhiều nhiệm vụ phức tạp như nấu ăn, giúp đỡ người già, pha trà, lắp ráp và phân loại sản phẩm một cách nhanh nhẹn và hiệu quả.

Vào năm 2008, tập đoàn Yaskawa đã giới thiệu robot với hai cánh tay 6-DOF và một thân 2-DOF, được thiết kế cho dây chuyền lắp ráp tự động Mỗi cánh tay có khả năng hoạt động độc lập và có thể hợp tác với nhau, đánh dấu sự mới mẻ của mô hình robot hai cánh tay trên thị trường vào thời điểm đó Hình ảnh của robot công nghiệp này được thể hiện trong Hình 1.2.

Hình 1 2 Hệ cánh tay robot công nghiệp chế tạo bởi tập đoàn YASKAWA (Nhật

Trong ngành công nghiệp robot, robot hai cánh tay được phát triển để thực hiện nhiều vai trò hơn so với robot một cánh tay Robot này bao gồm hai cánh tay 6-DOF và một thân 2-DOF, với mỗi cánh tay của công ty Yaskawa.Co có khối lượng 10kg.

Hình 1 3 Hệ 2 cánh tay robot sử dụng thị giác máy mô phỏng cánh tay con người bởi DLQ (Đức)

Đội DLR (Đức) đã phát triển robot với hai cánh tay 7-DOF, tích hợp nhiều cải tiến như hệ thống thị giác thông minh và thiết kế cánh tay giống con người Robot này còn có khả năng phát hiện lực và mô-men tại từng khâu, như được thể hiện trong Hình 1.3.

Dây chuyền sản xuất và lắp ráp hộp số và bộ truyền động động cơ yêu cầu sự phối hợp giữa hai cánh tay của công nhân, điều mà robot một cánh tay không thể thực hiện Bài báo này không tập trung vào việc phát triển đa dạng các hệ thống kẹp, mà chỉ chú trọng vào các hệ thống được sử dụng trong lắp ráp các bộ phận ô tô Theo yêu cầu và vị trí lắp ráp của robot, nó có khả năng vươn tới 1.5m, nâng được vật nặng 10kg, có mô-men xoắn 10N-m và vận tốc quay qua các khớp đạt 150 độ/giây.

Hình 1 4 Sơ đồ bố trí dây chuyền lắp ráp truyền động sử dụng hệ hai cánh tay robot

1.1.2 Tình hình nghiên cứu trong nước

Ngành robot toàn cầu đang phát triển nhanh chóng với nhiều mô hình robot được nghiên cứu để thực hiện các tác vụ phức tạp trong môi trường làm việc cụ thể Việt Nam cũng đang nỗ lực phát triển và nghiên cứu về robot để bắt kịp xu hướng này Hiện tại, hệ thống hai cánh tay robot đồng bộ chỉ mới được ứng dụng trong các nhà máy công nghiệp, và nghiên cứu về đồng bộ robot vẫn còn khá mới mẻ với ít tài liệu Năm 2019, một nghiên cứu từ Đại học Bách khoa Hà Nội, Cao đẳng Công nghiệp Quốc phòng và Đại học Công nghệ Úc đã đề xuất “Phương pháp điều khiển chế độ trượt dựa trên mạng thần kinh thích ứng cho robot hai cánh tay”, tập trung vào tính toán động học và phương pháp chế độ trượt lùi Đến năm 2021, một nhóm sinh viên K17 từ ĐH Sư phạm Kỹ Thuật TP HCM đã nghiên cứu và phát triển mô hình đồng bộ hai cánh tay robot hai bậc tự do.

Hệ hai cánh tay robot bốn bậc tự do đang mở ra nhiều cơ hội ứng dụng mới mà chúng ta chưa khai thác hết Nghiên cứu và phát triển trong lĩnh vực này là rất quan trọng trong bối cảnh công nghiệp hiện nay Hệ hai cánh tay robot đồng bộ là một bước tiến vượt bậc so với hệ một cánh tay, mang lại nhiều ưu điểm như khả năng hoạt động linh hoạt hơn, xử lý vật nặng và thay thế hoạt động của cánh tay người Tuy nhiên, vẫn tồn tại một số nhược điểm như chi phí chế tạo cao, bộ điều khiển phức tạp và yêu cầu người sử dụng phải có kiến thức về an toàn và vận hành robot.

Dựa trên các phân tích và kế thừa những nghiên cứu trong và ngoài nước, nhóm tác giả đã lựa chọn đề tài “Thiết kế mô hình và điều khiển đồng bộ chủ tớ cho hệ hai cánh tay robot bốn bậc tự do”.

Mục đích đề tài

Mục tiêu của nghiên cứu là ứng dụng kiến thức về Robot, Hệ thống điều khiển tự động và Vi xử lý để phát triển một bộ điều khiển đồng bộ cho hệ thống hai cánh tay robot có bốn bậc tự do.

Mục tiêu đề tài

Để hiểu và làm chủ bộ điều khiển đồng bộ cho hệ hai cánh tay robot bốn bậc tự do, đề tài này đặt ra các mục tiêu cụ thể nhằm tiếp cận và phân tích hiệu quả của hệ thống.

Thiết kế mô hình cánh tay robot bốn bậc tự do yêu cầu lựa chọn linh kiện phù hợp để xây dựng mô hình thực tế, bao gồm kích thước mô hình và loại động cơ sử dụng.

- Tính toán động học thuận và nghịch cho cánh tay robot bốn bậc tự do

- Quy hoạch quỹ đạo cho cánh tay robot bốn bậc tự do

- Nhúng được quỹ đạo từ Matlab sang mô hình Simscape và mô hình thực

- Nghiên cứu mạng CAN và áp dụng được cho hệ thống

- Nghiên cứu giải thuật điều khiển đồng bộ và áp dụng vào hệ thống

- Lựa chọn được các thiết bị điện phù hợp với hệ thống và tối ưu về chi phí (Vi điều khiển, các module giao tiếp,…)

- Thiết kế được phần điện cho hệ thống

- Lập trình được các module theo yêu cầu đặt ra

- Vận hành hệ thống điều khiển đồng bộ hai cánh tay robot theo yêu cầu đặt ra

- Thu thập dữ liệu và đánh giá hệ thống.

Nội dung nghiên cứu

Trong quyển luận văn này sẽ chia ra làm tám chương chính

Chương 1 sẽ trình bày về tổng quan hệ thống, tính cấp thiết của đề tài, đối tượng và phạm vi nghiên cứu

Chương 2 nói về cơ sở lý thuyết, định nghĩa robot, cơ sở lý thuyết động học robot, quy hoạch quỹ đạo, lý thuyết giao tiếp UART, lý thuyết mạng CAN BUS, lý thuyết các phần mềm thiết kế và phân tích dữ liệu

Chương 3 trình bày về robot đồng bộ, lý thuyết đồng bộ và ma trận chuyển đổi

Chương 4 trình bày về ý tưởng thiết kế và thiết kế cánh tay robot bốn bậc tự do

Chương 5 trình bày tính toán và phương pháp điều khiển Tính toán động học cánh tay robot, không gian làm việc, thiết kế mô phỏng Simscape Simulink, phương pháp truyền nhận bốn động cơ bước bằng giao thức UART và phương pháp truyền nhận mạng CAN Bus

Chương 6 trình bày thiết kế và thi công phần cứng, trong đó bao gồm thiết kế phần cơ khí và thiết kế phần điện

Chương 7 trình bày thực nghiệm và kiểm chứng

Chương 8 nói về kết luận và hướng phát triển của đề tài.

Đối tượng và phạm vi nghiên cứu

Đề tài thiết kế và điều khiển đồng bộ cho hệ hai cánh tay robot bốn bậc tự do được phát triển dựa trên lý thuyết điều khiển đồng bộ cho robot Do lĩnh vực điều khiển có phạm vi rộng và nhiều ứng dụng khác nhau, việc nghiên cứu và phát triển bộ điều khiển sẽ có những giới hạn nhất định.

- Dựa trên mô hình hai cánh tay robot bốn bậc tự do

- Không phân tích sâu về động lực học robot mà chỉ nghiên cứu về bài toán động học robot

- Robot hoạt động dựa trên tín hiệu được đặt trước để kiểm tra kết quả

- Lý thuyết điều khiển đồng bộ dựa trên lý thuyết chính là đồng bộ chủ tớ (Master-Slave Approach (MSA)).

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

Sử dụng phần mềm SolidWorks 2019 để thiết kế mô hình cánh tay robot bốn bậc tự do, đồng thời tối ưu hóa mô hình bằng cách tính toán dây đai và lựa chọn khớp truyền động phù hợp.

Sử dụng Simscape Multibody để chuyển đổi mô hình từ SolidWorks sang Matlab-Simulink

Sử dụng Matlab-Simulink để kiểm tra động học thuận-nghịch, quỹ đạo trên mô hình mô phỏng đã vẽ

Lập trình board STM32F407 làm Master điều khiển bằng Matlab-Simulink có tích hợp thư viện Waijung Blockset cho phép giao tiếp với họ vi điều khiển STM32F4

Mô hình thực cánh tay robot được gia công bằng phương pháp in 3D.

Các công cụ đánh giá

Phân tích dữ liệu : Sử dụng các công cụ tìm kiếm như Google, Google Scholar, Libgen, Booksc.org, …

Phân tích toán học là quá trình quan trọng trong việc tính toán động học thuận nghịch từ bảng DH, xác định động lực học và khối lượng của từng phần trong cánh tay robot Ngoài ra, việc tính toán lực moment từ mô phỏng cũng giúp lựa chọn động cơ phù hợp cho hoạt động thực tế.

Phân tích mô phỏng cánh tay robot 4 bậc tự do được thực hiện bằng phần mềm Solidworks để xây dựng mô hình Việc lập trình và mô phỏng được tiến hành qua Matlab Simulink và Simcapes, giúp thu thập các giá trị cho từng trường hợp hoạt động Điều này cho phép lựa chọn động cơ phù hợp và giảm thiểu sai sót trong quá trình hoạt động thực tế.

Các tiêu chí đánh giá hiệu quả của phương pháp: Sai số thấp, độ chính xác cao, hoạt động ổn định, thực hiện được quỹ đạo đã đặt sẵn.

CƠ SỞ LÝ THUYẾT

Định nghĩa robot

Robot là máy móc tự động được điều khiển bởi máy tính hoặc vi mạch điện tử, thường là hệ thống cơ khí-điện tử Khi robot có hình dạng và hành vi giống con người, nó được gọi là người máy Robot công nghiệp là loại robot được thiết kế để sử dụng trong sản xuất, có khả năng lập trình và di chuyển trên nhiều trục Chúng phục vụ cho lắp ráp, sản xuất và chế biến sản phẩm, đặc biệt trong các môi trường làm việc độc hại và nguy hiểm, mà không cần sự can thiệp của con người.

Động học robot

Để mô hình hóa robot, hệ trục tham chiếu được gắn tại một điểm cố định, giúp xác định mối quan hệ với robot Mỗi khâu của robot có hệ trục tham chiếu riêng để theo dõi vị trí và hướng, từ đó mô phỏng toàn bộ hệ thống robot di chuyển trong không gian mà không bị ảnh hưởng bởi các lực bên ngoài Các cảm biến khớp đo góc quay hoặc khoảng cách trượt cho phép bộ điều khiển tính toán chính xác giá trị điều khiển để điều khiển các cơ cấu chấp hành Việc tính toán ma trận vị trí và hướng từ các biến khớp, cũng như mối quan hệ ngược lại, được gọi là tính toán động học thuận nghịch hay tính toán động học robot.

2.2.1 Động học thuận cánh tay robot Động học thuận cánh tay robot dùng để tính toán vị trí và hướng của cơ cấu chấp hành cuối khi biết trước tất cả giá trị biến khớp, mối quan hệ đó biểu diễn như Hình 2 1 Quy tắc để giải bài toán này thường được chọn là quy tắc Denavit – Hartenberg (D-H)

Hình 2 1 Cấu trúc động học thuận

Giả sử trong chuỗi động học tay máy có n khâu, khâu thứ n nối khớp thứ n với khớp thứ n+1 như hình Hình 2 2

Hình 2 2 Mô hình hoá khâu và khớp theo robot

Để mô hình hóa robot theo quy tắc biểu diễn D-H, bước đầu tiên là gắn hệ trục tham chiếu lên mỗi khớp xoay Tất cả các khớp được biểu diễn theo trục Z, với trục Z của khớp quay được định hướng theo hướng dịch chuyển tạo ra sự quay theo quy tắc bàn tay phải Đối với khớp tịnh tiến, trục Z sẽ dọc theo hướng di chuyển Khoảng cách vuông góc giữa trục z n − 1 và z n được ký hiệu là a, và hướng của trục x n sẽ theo hướng của trục a n Hướng của trục y được xác định theo tam diện thuận của hệ trục tham chiếu, từ đó tạo ra bảng thông số D-H.

Trong đó: a là khoảng cách giữa z n − 1 và z n so với x n − 1 ,  là góc giữa z n − 1 vàz n so với x n − 1 , d là khoảng cách giữa trục x n − 1 vàx n so với z n ,  là góc giữa x n − 1 và x n so với z n

Mục đích của bài toán động học thuận là xác định vị trí của khâu tác động cuối của tay máy khi biết các biến khớp của tay máy

Công thức tổng quát: Equation Chapter 2 Section 1

1 1 1 1 cos sin 0 sin cos cos cos sin sin sin sin cos sin cos cos

Ma trận chuyển vị từ hệ i đến hệ i−1 được thể hiện ở công thức (2.1) với các thông số được xác định trong bảng D-H

Ma trận chuyển vị của hệ từ hệ 0 đến hệ i được tính bằng cách nhân các chuyển vị ở từng khâu lại với nhau như công thức (2.2) như sau:

Kết quả của quá trình này thu được ma trận có dạng như công thức (2.3)

Trong đó R 3 1 x là ma trận biểu diễn hướng và P 3 1 x là ma trận biểu diễn vị trí của điểm đầu cuối so với toạ độ gốc

2.2.2 Động học nghịch cánh tay robot

Bài toán động học nghịch là ngược lại với động học thuận, nhằm xác định các biến khớp của tay máy dựa trên vị trí của khâu tác động cuối Hình 2.4 minh họa mối quan hệ giữa hai loại động học này.

Hình 2 4 Mối quan hệ giữa động học thuận và động học nghịch Một số phương pháp để giải bài toán động học nghịch:

• Ưu điểm: Tìm đầy đủ các nghiệm nên không bị sót nghiệm

• Nhược điểm: Nếu robot quá phức tạp việc tính toán hệ phương trình nhiều ẩn sẽ rất khó khăn

• Ưu điểm: Trực quan, dễ hình dung, dễ hiểu

• Nhược điểm: Dễ bị sót nghiệm

- Phương pháp kết hợp đại số và hình học:

• Ưu điểm: Trực quan, dễ hình dung, dễ hiểu

• Nhược điểm: Đòi hỏi cần có kiến thức chắc chắn giữa đại số và hình học.

Quy hoạch quỹ đạo

Quy hoạch quỹ đạo là quá trình tạo ra các tín hiệu tham chiếu cho bộ điều khiển robot, giúp robot di chuyển theo quỹ đạo mong muốn Quỹ đạo điểm điểm cho phép robot di chuyển qua hai điểm đã định trong một khoảng thời gian xác định, trong khi quỹ đạo đường cho phép robot đi qua nhiều điểm theo một đường liên tục đã được xác định trước Đề tài này áp dụng đa thức bậc ba để tạo quỹ đạo cho robot.

Để đầu công tác đi qua hai điểm xác định trong không gian, cần xác định các giá trị đầu và cuối cho các biến khớp, với \( q_0 = q_t(0) \) và \( q_f = q_t(f) \) Đối với một biến khớp, cần tìm biểu thức cho \( q_t \) sao cho thỏa mãn điều kiện về vị trí \( q \) và vận tốc \( v \) tại thời điểm đầu và cuối.

Giá trị tại thời điểm t 0 :

Giá trị tại thời điểm t f :

Với bốn điều kiện biến có thể sử dụng để giải bốn nghiệm phương trình sau:

Từ phương trình suy ra:

Nếu chọn vận tốc đầu và cuối là 0 ta được:

Lý thuyết giao tiếp UART

UART (Universal Asynchronous Receiver-Transmitter) là giao thức truyền nhận dữ liệu nối tiếp bất đồng bộ, nghĩa là không có tín hiệu đồng bộ hóa giữa việc truyền và nhận các bit.

Nó là giao thức truyền thông giữa thiết bị và thiết bị được sử dụng nhiều nhất

Giao tiếp UART sử dụng hai đường dây, với Tx để truyền và Rx để nhận dữ liệu Tốc độ truyền, hay baudrate, được đo bằng bit trên giây (bps) và có các giá trị tiêu chuẩn như 4800 bps, 9600 bps, và 115200 bps.

Giao tiếp UART hoạt động bằng cách chuyển đổi dữ liệu từ giao tiếp song song sang nối tiếp Dữ liệu từ vi điều khiển được truyền qua bus dữ liệu đến UART 1, nơi một bit Start, một bit Stop và một bit chẵn lẻ được thêm vào để tạo thành gói dữ liệu Gói dữ liệu này sau đó được xuất ra từng bit qua chân Tx Chân Rx của UART 2 nhận dữ liệu theo từng bit, loại bỏ các bit Start, Stop và chẵn lẻ, rồi chuyển đổi trở lại thành dạng dữ liệu song song Cuối cùng, dữ liệu song song được gửi qua bus dữ liệu đến vi điều khiển.

Hình 2 6 Cách thức hoạt động của giao tiếp UART

Hình 2 7 Gói dữ liệu trong UART Gói dữ liệu trong UART được trình bày trong hình 2.7 bao gồm:

• Đường truyền dữ liệu sẽ ở mức cao khi không hoạt động

• Khi bắt đầu truyền dữ liệu: UART kéo đường dữ liệu từ mức cao xuống mức thấp

• Được đặt ở phần cuối gói dữ liệu

• Dài 2 bit nhưng thông thường chỉ sử dụng 1 bit

• Để kết thúc gói dữ liệu, UART giữ đường dữ liệu ở mức điện áp cao

- Parity Bit: kiểm tra dữ liệu truyền

- Data bit: 8-9 bits (phụ thuộc vào có hay không có Parity Bit)

2.4.3 Ưu nhược điểm Ưu điểm:

- Chỉ sử dụng hai dây để truyền nhận dữ liệu

- Không cần tín hiệu CLK

- Có bit chẵn lẻ để kiểm tra lỗi

- Cấu trúc của gói dữ liệu có thể thay đổi

- Phương pháp truyển đơn giản, giá thành thấp

- Khung dữ liệu bị giới hạn, tối đa là 9 bit dữ liệu

- Tốc độ truyền nhận của mỗi UART phải nằm trong khoảng 10% của nhau.

Lý thuyết mạng CAN bus

CAN, viết tắt của Controller Area Network, là một hệ thống truyền tải dữ liệu nối tiếp thời gian thực với tốc độ cao và khả năng phát hiện hư hỏng Hệ thống này kết nối các bộ phận điều khiển điện tử trong xe, giám sát hàng ngàn cảm biến trong các bộ phận quan trọng như động cơ, hộp số, và hệ thống phanh chống bó cứng.

CAN bus được phát triển bởi tập đoàn Robert Bosch (Đức) vào đầu những năm 1980 Sau đó, CAN đã được chuẩn hóa theo tiêu chuẩn ISO-11898 và ISO-

Giao thức CAN, được thiết lập theo tiêu chuẩn 11519, đã trở thành giao thức chính để giao tiếp mạng trong ngành công nghiệp ô tô Ban đầu, CAN được phát triển để hỗ trợ ngành công nghiệp xe, và hiện nay đã được áp dụng rộng rãi trong nhiều lĩnh vực khác nhau như tự động hóa công nghiệp, ứng dụng y tế, xây dựng tự động hóa, máy dệt và máy móc sản xuất, dưới tên gọi mạng điều khiển nhúng (Networked Embedded Control).

Các loại giao thức CAN hiện có bao gồm CAN 2.0 và CAN FD, với sự khác biệt chính nằm ở cấu trúc khung Giao thức CAN 2.0, được Bosch công bố lần đầu vào năm 1991, có tốc độ truyền tối đa 1 Mbps và khả năng truyền dữ liệu tối đa là 8 byte Trong mạng CAN, dữ liệu được truyền và nhận thông qua Data Frame, mang thông tin từ một nút truyền đến một hoặc nhiều nút nhận.

Giao thức CAN 2.0 là tiêu chuẩn phổ biến hiện nay, được sử dụng trong đề tài này để giao tiếp giữa các vi điều khiển Master nhờ vào tính đơn giản và phổ biến của nó.

2.5.2 Thông số tiêu chuẩn CAN 2.0

Thông số kỹ thuật của mạng CAN 2.0 được trình bày trong Bảng 2.2

Bảng 2 2 Thông số kỹ thuật mạng CAN Bus 2.0

Kích thước dữ liệu Tối đa 8 byte/Frame

Tốc độ truyền Tối đa 1 Mbps trong phạm vi 40m

Phạm vi tối đa 6 km với tốc độ 10Kbps

Số Node tối đa 70 node

Phương pháp tránh xung đột dữ liệu Dựa trên thứ tự ưu tiên cho ID của gói tin

Phương pháp đọc tín hiệu trên Bus Dựa trên sự chênh lệch điện áp giữa 2 dây

2.5.3 Cấu trúc CAN định dạng chuẩn

Dữ liệu CAN được truyền dưới dạng các frame, mỗi frame bao gồm nhiều bit với các chức năng khác nhau Có bốn loại frame dữ liệu khác nhau trong hệ thống này.

Khung dữ liệu (Data Frame) là cấu trúc chứa thông tin từ một bộ truyền dữ liệu đến các bộ nhận dữ liệu, bao gồm vùng để chứa các byte dữ liệu.

Khung điều khiển (Remote Frame) là một khung được gửi từ một Node bất kỳ nhằm yêu cầu dữ liệu từ Node khác Khi Node nhận được yêu cầu, nó sẽ truyền lại dữ liệu có ID (Identifier) trùng khớp với ID đã được gửi trong khung điều khiển.

Error frame (Khung báo lỗi) là khung được truyền bởi bất kỳ Node nào khi Node đó phát hiện lỗi từ bus

Khung báo quá tải (Overload frame) được sử dụng để tạo độ trễ giữa các khung dữ liệu hoặc khung yêu cầu trong hệ thống bus CAN Mỗi Node trong bus CAN có khả năng truyền dữ liệu khi phát hiện bus rảnh, nhưng nếu một Node nhận quá nhiều dữ liệu, nó có thể sử dụng khung báo quá tải để ngăn chặn sự truyền tiếp theo.

Chỉ có khung dữ liệu và khung yêu cầu có ID, và cơ chế phân xử áp dụng cho hai loại khung này khi truyền trên bus Khung dữ liệu và khung yêu cầu có hai định dạng: định dạng chuẩn (Standard) với ID dài 11 bit và định dạng mở rộng (Extended) với ID dài 29 bit Trong mô hình chỉ sử dụng chuẩn CAN 2.0, chỉ có định dạng khung chuẩn được áp dụng.

2.5.3.2 Khung truyền dữ liệu (Data Frame)

Một Data frame (Hình 2.8) bao gồm 7 vùng bit khác nhau theo thứ tự là:

- Start of frame – SOF (Trường bắt đầu khung): Với cả 2 định dạng của chuẩn CAN 2.0 thì trường bắt đầu là vị trí của bit đầu tiên trong khung

Trường này chiếm 1 bit dữ liệu Bit đầu tiên này là một Dominant Bit (mức logic 0) đánh dấu sự bắt đầu của một Data Frame

- Arbitration field (Trường xác định quyền ưu tiên): Định dạng vùng xác định quyền ưu tiên là khác nhau đối với dạng khung chuẩn và khung mở rộng

• Định dạng chuẩn: vùng xác định quyền ưu tiên có độ dài 12 bit, bao gồm 11 bit ID và 1 bit RTR

• Định dạng mở rộng: trường xác định quyền ưu tiên có độ dài 32 bit, bao gồm có 29 bit ID, 1 bit SRR, 1 bit IDE và 1 bit RTR

- Control field (Trường điều khiển): Khung chuẩn và khung mở rộng có định dạng khác nhau ở trường này

- Data field (Trường dữ liệu): Có độ dài từ 0 đến 8 byte tuỳ vào giá trị của

DLC của trường điều khiển

- CRC field (Trường kiểm tra)

- ACK field (Trường báo nhận)

- End of frame – EOF (Trường kết thúc ): Trường EOF là trường thông báo kết thúc một Data Frame hay Remote Frame Trường này gồm 7

Hình 2 8 Khung dữ liệu Trong đó, ý nghĩa các vùng được trình bày như Bảng 2 3

Bảng 2 3 Chức năng của các vùng trong khung dữ liệu

Bus Idle Bus ở trạng thái rảnh

SOF (1 bit) Bit báo truyền

ID (11 bit) ID của gói tin

RTR (1 bit) Xác định frame truyền

IDE Bit định dạng khung truyền r (1 bit) Bit dự trữ

DLC (4 bit) Độ dài dữ liệu

Data (0-8 byte) Dữ liệu của gói tin

CRC (15 bit) Kiểm tra lỗi

CRC DEL (1 bit) Bit ngăn cách

ACK (1 bit) Báo nhận tin nhắn

ACK DEL (1 bit) Bit ngăn cách

EOF (1 bit) Bit kết thúc truyền

2.5.3.3 Khung truyền điều khiển (Remote Frame)

Bên cạnh Data Frame được sử dụng để vận chuyển dữ liệu, còn có Remote Frame – loại khung này được sử dụng để yêu cầu truyền dữ liệu

Remote Frame (Hình 2 9) bao gồm 6 vùng bit như Data Frame, chỉ là không có vùng dữ liệu (data field) và với các đặc điểm nhận biết là:

Remote Frame được xác định rõ ràng với bit RTR trong trường xác định quyền ưu tiên là Recosive Bit, trong khi ở Data Frame, nó là một Dominant Bit Mức logic của bit RTR là 1.

- Không có trường dữ liệu

Hình 2 9 Khung điều khiển mạng CAN Bus

Trong đó, ý nghĩa các vùng được trình bày như Bảng 2 4:

Bus Idle Bus ở trạng thái rảnh

SOF (1 bit) Bit báo truyền

ID (11 bit) ID của gói tin

RTR (1 bit) Xác định frame truyền

IDE Bit định dạng khung truyền r (1 bit) Bit dự trữ

DLC (4 bit) Độ dài dữ liệu

CRC (15 bit) Kiểm tra lỗi

CRC DEL (1 bit) Bit ngăn cách

ACK (1 bit) Báo nhận tin nhắn

ACK DEL (1 bit) Bit ngăn cách

EOF (1 bit) Bit kết thúc truyền

2.5.3.4 Khung báo lỗi (Error Frame)

Error Fame là một khung đặc biệt được phát đi khi một Node phát hiện lỗi, khiến tất cả các Node khác cũng nhận diện lỗi và gửi Error Frame Error Frame bao gồm một Error flag 6-bit đồng nhất và một Error Delimiter gồm 8 bit Recessive Error Delimiter tạo khoảng trống cho các Node khác trên bus gửi Error flag khi phát hiện Error flag đầu tiên (Echo Error flag).

CAN high speed có tốc độ giao tiếp lên đến 1Mbps, vượt trội hơn nhiều so với CAN low speed (tối đa 125kbps), làm cho nó lý tưởng cho các hệ thống điều khiển truyền động cần trao đổi dữ liệu nhanh chóng Nhờ vào khả năng này, CAN high speed rất phù hợp cho ứng dụng trong robot và tự động hóa hiện đại Tín hiệu CAN được truyền qua cặp dây xoắn (differential pair), giúp giảm thiểu ảnh hưởng của nhiễu từ bên ngoài Thiết kế và cấu tạo phần cứng của CAN được minh họa trong Hình 2.11.

Hình 2 11 Kết nối của Node đến mạng CAN Bus Theo đó, yêu cầu phần cứng yêu cầu để vi điều khiển tham gia mạng CAN gồm:

- Bộ vi điều khiển (Microcontroller): Xử lý việc truyền nhận dữ liệu và điều khiển hoạt động của các Node

Bộ điều khiển CAN (bộ điều khiển giao thức CAN) thực hiện các chức năng quan trọng của giao thức CAN, bao gồm bit stuffing, phân xử quyền ưu tiên của tín hiệu, xử lý lỗi và kiểm tra CRC.

- Bộ thu phát CAN (CAN transceiver):

Bộ thu phát CAN tạo điện áp truyền cho bus, điều chỉnh và đảm bảo dòng điện cho thiết bị hoạt động, đồng thời bảo vệ hệ thống bus Nó cũng chuyển đổi tín hiệu từ dạng TTL sang dạng vi sai theo tiêu chuẩn ISO 11898, với điện áp giữa CAN_H và CAN_L thường là 2V Bộ thu phát CAN được điều khiển với dòng điện 30mA thông qua 2 điện trở đầu cuối, mô tả sóng tín hiệu giữa CAN_H và CAN_L.

Hình 2 12 Mô tả tín hiệu điện áp vi sai giữa CAN_H và CAN_L

Khi chênh lệch điện áp giữa hai dây CAN_H và CAN_L là 0V, tín hiệu này được gọi là bit Receive, tương ứng với mức logic 1 của tín hiệu TTL Ngược lại, khi chênh lệch điện áp giữa hai dây này đạt khoảng 2V (tùy thuộc vào phần cứng mạng), tín hiệu sẽ được gọi là bit Dominant, tương ứng với mức logic 0 của tín hiệu TTL.

Các phần mềm sử dụng

Solidworks là phần mềm thiết kế 3D mạnh mẽ, được các kỹ sư tin tưởng nhờ vào sự tích hợp nhiều công cụ hỗ trợ đa dạng Phần mềm này được ứng dụng rộng rãi trong các lĩnh vực như xây dựng, đường ống, kiến trúc và nội thất Với giao diện trực quan và khả năng xử lý nhanh gọn các thiết kế, Solidworks cung cấp nhiều chức năng hữu ích như CAD, CAE và CAM Ngoài ra, phần mềm còn sở hữu các tính năng nổi bật như phân tích động học (motion) và phân tích động lực học (simulation).

Nhiều tính năng và modul trong phần mềm mang lại sự tiện lợi cho người dùng, giúp tiết kiệm thời gian và nâng cao năng suất làm việc.

Matlab, viết tắt của "Matrix Laboratory", được Cleve Moler phát minh vào cuối thập niên 1970 và ông sau đó trở thành chủ nhiệm khoa máy tính tại Đại học New Mexico Ban đầu, Matlab được phát triển bằng ngôn ngữ Fortran và cho đến năm 1980, nó chỉ được sử dụng nội bộ tại Đại học Stanford.

Matlab là phần mềm tính toán số và lập trình do MathWorks phát triển, cho phép thực hiện các phép toán với ma trận, vẽ đồ thị và biểu đồ thông tin Phần mềm này hỗ trợ thực hiện thuật toán, tạo giao diện người dùng và kết nối với các chương trình viết bằng nhiều ngôn ngữ lập trình khác Thông qua thư viện Toolbox, Matlab cung cấp khả năng mô phỏng và thực nghiệm nhiều mô hình trong thực tế và kỹ thuật.

Matlab là một công cụ tính toán quan trọng trong các lĩnh vực khoa học và kỹ thuật, bao gồm vật lý, hóa học, toán học và công nghệ Nó thường được sử dụng để thực hiện các phép toán phức tạp và phân tích dữ liệu.

- Xử lý tín hiệu và truyền thông

- Xử lý hình ảnh và video

- Kiểm tra và đo lường

Matlab là một ngôn ngữ lập trình mạnh mẽ, cho phép người dùng điều khiển thông qua các câu lệnh được sắp xếp theo trật tự nhất định, tạo thành chương trình Chương trình này bao gồm nhiều câu lệnh và hàm chức năng, giúp giải quyết các bài toán phức tạp Với khả năng mạnh mẽ của các câu lệnh, nhiều vấn đề có thể được giải quyết chỉ bằng một câu lệnh duy nhất Ngoài ra, Matlab còn hỗ trợ mô phỏng hình ảnh trong không gian hai chiều (2D) và ba chiều (3D).

Matlab cung cấp công cụ hỗ trợ "Simulink", một môi trường lập trình đồ họa dựa trên MATLAB, cho phép mô hình hóa, mô phỏng và phân tích các hệ thống động lực học đa miền Giao diện chính của Simulink là sơ đồ khối đồ họa cùng với bộ thư viện khối tùy chỉnh.

Simulink là một môi trường lập trình đồ họa tích hợp với Matlab, cho phép mô hình hóa, mô phỏng và phân tích các hệ thống động lực học đa miền Giao diện của Simulink bao gồm công cụ sơ đồ khối đồ họa và bộ thư viện khối tùy chỉnh, giúp người dùng dễ dàng thao tác Sự kết hợp này làm cho Simulink trở thành một phần thiết yếu của Matlab, cho phép chuyển đổi linh hoạt giữa hai môi trường và tận dụng tối đa các ưu điểm của chúng.

ROBOT ĐỒNG BỘ

Tổng quan về robot đồng bộ

3.1.1 Giới thiệu chung về robot đồng bộ Đồng bộ là những chuyển động có cùng chu kì, hoặc cùng tốc độ, được tiến hành trong cùng một thời gian, tạo ra một sự phối hợp nhịp nhàng, ăn khớp với nhau

Hệ hai cánh tay robot đồng bộ là một hệ thống bao gồm hai cánh tay robot có cùng số bậc tự do, trong đó nhóm tác giả đã chọn hệ cánh tay robot bốn bậc Sự ăn khớp giữa các bộ phận của hệ thống này tạo nên hoạt động nhịp nhàng, cho phép hai cánh tay phối hợp thực hiện những công việc cần sự đồng bộ.

Hiện nay, hệ hai cánh tay robot được ứng dụng rộng rãi trong nhiều lĩnh vực công nghiệp, bao gồm chế tạo, sản xuất, nông nghiệp, vận chuyển, xếp dỡ và kiểm soát chất lượng hàng hóa Chúng cũng được sử dụng trong lắp ráp, kết nối và thực hiện các công việc tỉ mỉ với độ chính xác cao.

Hình 3 1 Hệ hai cánh tay robot chủ tớ

Lý thuyết đồng bộ được ra đời và phát triển bởi Y Koren vào năm 1980 [8]

Lý thuyết điều khiển đồng bộ bao gồm ba phương pháp chính: Synchronized Master Command Approach (SMCA), Master–Slave Mode (MSA), và Cross Coupling Control (CCC) Luận văn này tập trung vào việc nghiên cứu và so sánh hai phương pháp SMCA và MSA.

3.1.2.1 Lý thuyết đồng bộ Synchronized Master Command Approach (SMCA)

Phương pháp đồng bộ Synchronized Master Command Approach (SMCA) cho phép các cơ cấu chấp hành Slaver nhận và thực thi cùng một tín hiệu đặt, tạo ra sự đồng bộ tốt giữa các thiết bị Ưu điểm của SMCA bao gồm việc dễ dàng xây dựng mô hình điều khiển và giảm tải cho quá trình xử lý dữ liệu cũng như truyền nhận qua mạng Tuy nhiên, nhược điểm lớn của phương pháp này là thiếu tín hiệu hồi tiếp từ các Slaver đến Master và giữa các Slaver, dẫn đến việc hệ thống không thể phát hiện lỗi thực thi tín hiệu Sơ đồ khối mô tả phương pháp SMCA được thể hiện trong Hình 3.2.

Hình 3 2 Phương pháp đồng bộ SMCA

3.1.2.2 Lý thuyết đồng bộ Master-Slave Mode (Master-Slave Approach (MSA))

Phương pháp đồng bộ Master–Slave Mode (Master–Slave Approach (MSA)) đã cải tiến nhiều khía cạnh của phương pháp trước đó Trong đó, các Slaver nhận tín hiệu ngõ ra từ Master để làm tín hiệu điều khiển Luận văn sẽ chọn MSA làm hướng phát triển chính cho bộ điều khiển Sơ đồ khối của phương pháp này áp dụng vào mô hình của luận văn được trình bày trong Hình 3.3.

Hình 3 3 Phương pháp đồng bộ Master–Slave Approach

Ma trận chuyển đổi (Transformation matrix)

Trong đại số tuyến tính, phép biến đổi tuyến tính có thể được biểu diễn bằng ma trận Nếu \( T \) là một phép biến đổi tuyến tính từ \( \mathbb{R}^n \) đến \( \mathbb{R}^m \) và \( x \) là vector có \( n \) cột, thì

Với A là ma trận có h hàng, n cột, được gọi là ma trận chuyển đổi tuyến tính của T, phép chuyển đổi là từ R n đến R m

Hầu hết các phép biến đổi hình học giữ điểm gốc cố định là tuyến tính, bao gồm phép dịch, phép phản chiếu, phép tỉ lệ, phép xoay và phép trượt Nếu một biến đổi không phải là thuần túy, nó sẽ giữ một điểm cố định, được chọn làm gốc để biến đổi tuyến tính Trong mặt phẳng Oxy, biến đổi tuyến tính được biểu diễn bằng ma trận 3x3, trong khi trong không gian ba chiều, nó được biểu diễn bằng ma trận 4x4.

Phép dịch cho phép chúng ta di chuyển một đối tượng trong không gian theo một hoặc hai, hoặc cả ba trục Dưới đây là ma trận dịch chuyển vị trí trên một mặt phẳng (Hình 3.4).

Hình 3 4 Phép dịch chuyển một lượng theo trục x Trong đó: p x là khoảng cách dịch chuyển theo trục x, p y là khoảng cách dịch chuyển theo trục y

Ví dụ: áp dụng ma trận dịch chuyển cho điểm V x y( , )trên mặt phẳn Oxy:

Để dịch chuyển vị trí một đối tượng, chỉ cần cộng thêm một lượng P x và P y theo mong muốn, ta sẽ có được vị trí mới đã được dịch chuyển theo ma trận dịch chuyển.

Với phép phản chiếu, chúng ta có ma trận phản chiếu trong mặt phẳng và phép phản chiếu (Hình 3 5)

Hình 3 5 Phép phản chiếu Phép tỉ lệ:

Ma trận trong phép tỉ lệ cho thấy c_x và c_y là hai hệ số tỉ lệ theo trục x và y C_x ở đây có tỉ lệ là hai lần Để thay đổi tỉ lệ, chúng ta có thể điều chỉnh các giá trị c_x và c_y cho phù hợp với yêu cầu của bài toán Hình 3.6 minh họa phép tỉ lệ hai lần theo phương x.

Hình 3 6 Phép tỉ lệ hai lần theo phương x Phép xoay: cos( ) sin( ) 0 sin( ) cos( ) 0

Với  là góc xoay, chiều dương ngược chiều kim đồng hồ Hình 3 7 phép xoay với  =  30

THIẾT KẾ CÁNH TAY ROBOT BỐN BẬC TỰ DO

Ý tưởng thiết kế cánh tay robot bốn bậc tư do

Hình 4 1 Ý tưởng thiết kế cánh tay robot bốn bậc tự do

Dựa trên mô hình động học, chúng tôi đã thiết kế cánh tay robot bốn bậc tự do như trong Hình 4.1 Mô hình này bao gồm năm phần chính: phần đế, phần đế xoay, thanh thứ nhất, thanh thứ hai và thanh thứ ba.

Phần đế là nơi chịu lực cho robot quay tròn, phần đế xoay để xoay, link 1, link

Các thanh link 2 và link 3 của robot sẽ được kết nối với động cơ đặt ở phần đế và phần đế xoay Động cơ sẽ truyền động qua các vòng dây đai và puly, làm quay thanh tyren gắn với liên kết cần chuyển động Link 1, link 2 và link 3 sẽ được kết hợp với một thanh tyren để hỗ trợ quá trình kéo chuyển động Kích thước và chiều dài của các bộ phận sẽ được tính toán kỹ lưỡng để đảm bảo mô hình đạt yêu cầu về kích thước, khối lượng và tính thẩm mỹ.

Thiết kế cánh tay robot bốn bậc tự do trên Solidworks

Đế robot (Hình 4.2) bao gồm một động cơ, một encoder, và các thanh tyren để liên kết và cố định đế Đế này có rãnh hình tròn với bạc đạn chà, giúp việc xoay tròn các phần phía trên trở nên mượt mà và hiệu quả hơn.

Đế xoay robot, như thể hiện trong Hình 4.3, bao gồm ba động cơ, một encoder và một thanh tyren, cho phép nó xoay quanh phần đế.

Hình 4 4 Link 11 robot với các hình chiếu đứng, chiếu bằng và chiếu cạnh a) b) c) d)

Hình 4 5 Link 12 robot với các hình chiếu đứng, chiếu bằng và chiếu cạnh

Link 11 (Hình 4 4) và Link 12 (Hình 4 5) robot gồm một thanh tyren, các puly, dây đai và một encoder để đọc tín hiệu góc trả về a) b) c) d)

Hình 4 6 Link 21 robot với các hình chiếu đứng, chiếu bằng và chiếu cạnh a) b) c) d)

Hình 4 7 Link 22 robot với các hình chiếu đứng, chiếu bằng và chiếu cạnh

Link 21 (Hình 4 6) và link 22 (Hình 4 7) gồm một thanh tyren, dây đai, các puly và một encoder để đọc tín hiệu trả về a) b) c) d)

Hình 4 8 Link 3 với các hình chiếu đứng, chiếu bằng và chiếu cạnh Link 3 (Hình 4 8) gồm cơ cấu chấp hành cho điểm đầu cuối a) b) c) d)

Hình 4 9 Pully đôi Puly đôi (Hình 4 9) để truyền động giữa các link

Sau đó, ta tiến hành mate các khối lại với nhau và có mô hình cánh tay robot bốn bậc tự do như Hình 4 10

Mô hình cánh tay robot bốn bậc tự do được thể hiện trong Hình 4.10 Tương tự, khi áp dụng cho cánh tay robot thứ hai, chúng ta có mô hình hai cánh tay robot bốn bậc tự do như được minh họa trong Hình 4.11.

Hình 4 11 Mô hình hai cánh tay robot bốn bậc tự do

TÍNH TOÁN VÀ PHƯƠNG PHÁP ĐIỀU KHIỂN

Động học cánh tay robot

Hình 5 1 Đặt trục cho mô hình cánh tay robot bốn bậc tự do

Mô hình robot bốn bậc tự do, như thể hiện trong Hình 5.1, bao gồm bốn khớp, mỗi khớp gắn với một hệ trục tọa độ riêng Các thông số như góc chuyển động của từng khớp và chiều dài các liên kết giữa các hệ trục được ký hiệu rõ ràng Để xây dựng bảng DH cho robot, cần tuân theo sáu quy tắc bàn tay phải trong việc đặt hệ trục tọa độ cho các khớp Cụ thể, khung thứ i gắn với liên kết thứ i, trục z_i được chọn dọc theo trục khớp thứ i, trục x_i được xác định vuông góc với z_i và z_{i+1}, và trục y_i được chọn để tạo thành một hệ tọa độ bên phải Khung thứ 0 thường được gắn với khung thứ 1 khi biến khớp đầu bằng 0.

N có thể được chọn tự do và thường được chọn tự do, đảm bảo càng nhiều số liên kết

Bảng 5 1 Bảng thông số động học của robot i 𝒂 𝒊−𝟏 𝜶 𝒊−𝟏 𝒅 𝒊 𝜽 𝒊

Trong đó: 𝑎 𝑖−1 là khoảng cách giữa trục z thứ i và i−1, 𝛼 𝑖−1 là góc giữa trục z thứ i và i−1, 𝑑 𝑖 là khoảng cách giữa trục x thứ i và i−1, 𝜃 𝑖 là góc giữa trục x thứ i và i−1

Mục đích của bài toán động học thuận là xác định vị trí của khâu tác động cuối của tay máy khi biết các biến khớp của tay máy

Theo lý thuyết D-H [5, 6], ma trận chuyển đổi đồng nhất:

1 1 1 1 cos sin 0 sin cos cos cos sin sin sin sin cos sin cos cos

Ma trận chuyển đổi đồng nhất \(i - 1\) \(i\) (T) thể hiện hướng và vị trí của khâu \(i\) so với khâu \(i-1\) Đặt \(s_i = \sin(\theta_i)\) và \(c_i = \cos(\theta_i)\), ta có các cặp \((s_1, c_1)\), \((s_2, c_2)\), \((s_3, c_3)\) tương ứng với các góc \(\theta_1\), \(\theta_2\), \(\theta_3\) Ngoài ra, ta cũng có thể tính toán \(s_{123} = \sin(\theta_1 + \theta_2 + \theta_3)\) và \(c_{123} = \cos(\theta_1 + \theta_2 + \theta_3)\).

Dựa vào bảng DH, ta có:

Ma trận chuyển đổi giữa khớp 0 và khớp 1

Ma trận chuyển đổi giữa khớp 1 và khớp 2

Ma trận chuyển đổi giữa khớp 2 và khớp 3:

Ma trận chuyển đổi giữa khớp 3 và khớp 4:

Ta tìm được điểm đầu cuối của robot

Mục đích của bài toán động học ngược là xác định các biến khớp của tay máy dựa trên vị trí của khâu tác động cuối Bài báo cáo này áp dụng phương pháp đại số để thực hiện tính toán động học nghịch.

Trong đó s i =sin ( ) i , c i =cos ( ) i , s 23 =sin(  2 + 3 ), c 23 =cos(  2 + 3 ),

Trong (5.7), ta lấy phương trình y chia cho phương trình x, ta thu được:

Ta có được 2 trường hợp :

Ta tính ra  1 có hai bộ nghiệm như sau :

Lấy phương trình x nhân cho c 1 ta được:

Lấy phương trình y nhân cho s 1 ta được:

Biến đổi tương đương phương trình (5.21), ta được:

Thay O z và N z vào phương trình (5.20) và (5.22) ta được:

Bình phương hai vế phương trình (5.23) và (5.24), ta được:

Từ phương trình (5.23) và (5.24), ta được:

Biến đổi phương trình (5.29), ta được:

Thế C và D vào phương trình (5.30), ta được:

Nhân D vào phương trình (5.31), ta được:

Nhân C vào phương trình (5.32), ta được:

Lấy phương trình (5.34) trừ phương trình (5.33), ta được

Từ phương trình (5.29) ta tính được c 2 :

Ta tìm được góc theta 2:

Không gian hoạt động đơn lẻ

Không gian làm việc của robot là khu vực mà robot có khả năng di chuyển Khu vực này được xác định bởi góc quay của các khớp và chiều dài của các thanh nối.

Hình 5 2 Quy hoạch quỹ đạo robot

Không gian làm việc của robot là khu vực mà cánh tay robot có thể hoạt động hiệu quả Đối với robot bốn bậc tự do, vùng không gian làm việc có hình dạng cầu, với các giới hạn góc quay của các khớp như sau: khớp 1 từ -90° đến 90°, khớp 2 từ -40° đến 60°, khớp 3 từ -90° đến 90°, và khớp 4 từ -125° đến 125° Các giới hạn này sẽ được minh họa trong Hình 5.3 và Hình 5.4.

Hình 5 3 Không gian hoạt động của một cánh tay robot trong không gian 3D

Hình 5 4 Không gian hoạt động của một cánh tay robot trong không gian 3D

Không gian làm việc chung

Hình 5.5 minh họa hai cánh tay robot làm việc đồng bộ Ý tưởng bắt đầu từ việc sử dụng giá trị encoder tại bốn khớp của Robot Master để xác định vị trí ban đầu p x, p y, p z thông qua động học thuận Ba giá trị này sau đó được sử dụng làm tín hiệu cho Robot Slave Tuy nhiên, do không gian hoạt động của hai robot không trùng nhau, tọa độ điểm cuối của Robot Master không khớp với Robot Slave Để hai robot phối hợp hiệu quả, cần thiết kế một bộ chuyển đổi tín hiệu p x, p y, p z Hai robot được đặt trên một mặt phẳng cách nhau 500mm, cùng hướng và hai điểm đầu cuối hướng vào nhau, tạo ra không gian làm việc chung lớn nhất Để mô phỏng chuyển động của hai robot trong Matlab Simulink, hệ tọa độ của Robot Slave cần trùng với hệ tọa độ của Robot Master, yêu cầu sử dụng ma trận dịch chuyển vị trí.

Từ tọa độ gốc của Robot Master, nhóm tác giả sử dụng ma trận dịch chuyển để xác định tọa độ điểm trong trục tọa độ của robot slave Do Robot Master và Robot Slave chỉ có sự dịch chuyển liên quan đến trục x, ma trận dịch chuyển vị trí áp dụng cho phương pháp này sẽ khác biệt so với ma trận đã trình bày trước đó Chi tiết về ma trận này sẽ được làm rõ trong phần dưới.

Nhóm tác giả đã áp dụng ma trận dịch chuyển vị trí cho trục x để quy đổi tọa độ cho hai robot Master và Slave, với khoảng cách lệch nhau 500mm tùy thuộc vào không gian làm việc chung Qua đó, việc dịch chuyển 500mm theo trục x dựa trên ma trận dịch chuyển đã cho phép thu được ma trận mới.

Từ phép nhân ma trận trên, ta thu được điểm V x s ( −500, , )y z , điểm V s này chính là điểm V t , nhưng nằm trong hệ trục toạ độ của Robot Slave Dưới đây Hình 5

Không gian hoạt động của hai cánh tay robot trong không gian 3D được mô tả trong hệ tọa độ Oxyz, trong khi Hình 5.7 thể hiện không gian hoạt động của hai cánh tay robot trong hệ trục Oxy.

Hình 5 6: Không gian hoạt động của 2 cánh tay robot trong không gian 3D với trục

Hình 5 7 Không gian hoạt động của 2 cánh tay robot trong hệ trục toạ độ Oxy

Thiết kế mô phỏng Simscape Simulink

Sau khi chuyển đổi Simscape từ Solidworks sang Matlab ta được mô hình hai cánh tay robot trong Simscape như Hình 5 8

Hình 5 8 Mô hình của hai cánh tay robot trong Simscape

5.4.1 Mô phỏng quy hoạch quỹ đạo

5.4.1.1 Mô phỏng quy hoạch quỹ đạo một robot

Hình 5 9 Mô phỏng quy hoạch quỹ đạo của 1 cánh tay robot 4 bậc

Hình 5 10 Khối quy hoạch quỹ đạo

Khối TrajectoryXYZ là một khối quy hoạch quỹ đạo, bao gồm các điểm được chọn trong không gian làm việc của robot Nó hỗ trợ quy hoạch quỹ đạo theo các hình dạng như đường thẳng, hình tam giác và hình chữ nhật Đầu ra của khối này cung cấp các giá trị vị trí và hướng của khâu cuối cho khối động học nghịch Đầu vào là các ma trận tọa độ được chạy theo thời gian, từ đó trả về một chuỗi giá trị x, y, z.

Hình 5 11 Khối quy hoạch quỹ đạo hình tròn

Khối Trajectory_Planning (Hình 5.11) được sử dụng để quy hoạch quỹ đạo hình tròn, trong đó nhóm tác giả cung cấp thời gian cho khối hoạt động cùng với tọa độ vị trí các điểm x, y, z nhằm tạo ra đường tròn cần quy hoạch.

Hình 5 12 Khối động học nghịch

IK_4DOF là một khối động học nghịch, được sử dụng để chuyển đổi tọa độ đầu vào mà Robot muốn đạt được thành các giá trị góc the1, the2, the3, và the4.

4 Giá trị đầu vào ( , , )x y z lấy từ khối quy hoạch quỹ đạo

Hình 5 13 Khối động học thuận

Khối động học thuận FK_4DOF (Hình 5.13) được sử dụng để chuyển đổi các giá trị góc the1, the2, the3, và the4 từ khối động học nghịch sang tọa độ (x, y, z) Kết quả này sau đó được đưa vào khối "3D Graph" để kiểm chứng hình dạng.

Khối Simscape Multibody là mô hình robot được thiết kế trên phần mềm SolidWorks và sau đó được chuyển sang Simscape Multibody trong Matlab Simulink Khối này cho phép mô phỏng chuyển động thực tế của các cánh tay robot theo thời gian.

Trong khối Simscape Multibody là các khớp và thông số mô hình robot đã được chuyển đổi từ Solidworks sang Matlab Simulink (Hình 5 15)

Hình 5 15 Mô hình chuyển đổi từ Solidworks sang Matlab Simulink

Trong trường hợp thứ nhất, nhóm tác giả cho chạy quỹ đạo điểm-điểm với tọa độ hai điểm lần lượt là (250, 100, 250)− và (250,100, 250) trong thời gian là 10s

Hình 5 16 Với quỹ đạo 2 điểm nối thành đường thẳng a) b) c) d)

Hình 5.17 minh họa tín hiệu đặt và đáp ứng của các khớp quy hoạch theo đường thẳng, bao gồm bốn khớp: a) Khớp 1; b) Khớp 2; c) Khớp 3; d) Khớp 4 Trong trường hợp thứ hai, nhóm tác giả đã thực hiện quỹ đạo hình tam giác với tọa độ ba điểm lần lượt là (180, 100, 250)−, (250, 100, 250) và (250, 100, 250)− trong khoảng thời gian 10 giây.

Hình 5 18 Với quỹ đạo 3 điểm nối thành hình tam giác a) b) c) d)

Hình 5 19 Tín hiệu đặt và đáp ứng các khớp quy hoạch theo hình tam giác a) Khớp 1; b) Khớp 2; c) Khớp 3; d) Khớp 4

Trong trường hợp thứ ba, nhóm tác giả cho chạy quỹ đạo hình chữ nhật với tọa độ bốn điểm lần lượt là (250, 100, 250)− , (250,100, 250) , (200,100, 250) ,

Hình 5 20 Với quỹ đạo bốn điểm nối thành hình chữ nhật a) b) c) d)

Hình 5.21 minh họa tín hiệu đặt và đáp ứng cho các khớp quy hoạch theo hình chữ nhật, bao gồm các khớp 1, 2, 3 và 4 Trong nghiên cứu này, nhóm tác giả đã thực hiện chạy quỹ đạo hình tròn với tâm tại tọa độ (250, 0, 230) mm, bán kính R = 30 mm và chu kỳ T giây.

Hình 5 22 Với quỹ đạo 4 điểm nối thành hình tròn a) b) c) d)

Hình 5 23 Tín hiệu đặt và đáp ứng các khớp quy hoạch theo hình tròn a) Khớp 1, b) Khớp 2, c) Khớp 3, d) Khớp 4

5.4.1.2 Mô phỏng quy hoạch quỹ đạo hai robot

Trường hợp 1: Hai robot hoạt động bình thường và không có điều khiển đồng bộ chủ tớ

Mô phỏng hai robot sẽ bao gồm bản Simscape với hai robot hoạt động trên cùng một mặt phẳng Nhóm tác giả thực hiện quy hoạch quỹ đạo hình tam giác với tọa độ của ba điểm được xác định rõ ràng.

(180, 100, 250)− , (250,100, 250), (250, 100, 250)− trong thời gian là 10s Ta có được tín hiệu vị trí của robot Master và robot Slave trong không gian làm việc như Hình 5

Hình 5.24 minh họa tín hiệu vị trí của robot Master và Slaver trong hình tam giác, bao gồm tín hiệu vị trí theo trục x, trục y và trục z.

Trường hợp 2: Hai robot hoạt động bình thường và có điều khiển đồng bộ chủ tớ

Nhóm tác giả sẽ cung cấp tọa độ x, y, z từ khối Trajectory qua khối động học nghịch và truyền các góc theta cho khối Simscape Robot Slaver sẽ sử dụng tín hiệu đầu ra từ robot Master làm tín hiệu đầu vào Do khác hệ trục tọa độ gốc, cần sử dụng khối Trajectory Transform để quy đổi Sau khi quy đổi, giá trị sẽ được cấp vào khối động học nghịch và tiếp tục qua khối Simscape của robot Slaver Kết quả là tín hiệu vị trí của robot Master và robot Slave trong không gian làm việc, như được thể hiện trong Hình 5.25.

Trong trường hợp đầu tiên, nhóm tác giả chạy quy hoạch quỹ đạo hình tam giác với tọa độ ba điểm lần lượt là (180, 100, 250)− , (250,100, 250) ,

Hình 5.25 minh họa tín hiệu vị trí của robot Master và Slaver trong hình tam giác, bao gồm tín hiệu vị trí theo trục x, trục y và trục z.

Trong trường hợp chạy đường tròn, nhóm tác giả đã thực hiện quỹ đạo hình tròn với tâm tại tọa độ (250, 0, 230) mm, bán kính R = 30 mm và chu kỳ T giây Tín hiệu vị trí x, y, z của robot Master và Slaver được thể hiện trong Hình 5.26, bao gồm tín hiệu vị trí theo trục x, trục y và trục z.

Trong trường hợp 3, nhóm tác giả đã tiến hành tác động ngoại lực vào các góc theta của Robot Master và phân tích các tín hiệu vị trí trả về để so sánh hoạt động của hai con robot.

Robot Master có tác động ngoại lực trong quỹ đạo hình tam giác, như thể hiện trong Hình 5.27 Hình này mô tả tín hiệu vị trí của robot Master và Slaver ở ba trục: a) trục x, b) trục y, và c) trục z Ngoài ra, cũng có trường hợp robot Master hoạt động với tác động ngoại lực trong quỹ đạo hình tròn.

28) a) b) c) Hình 5 28 Tín hiệu của các vị trí của robot Master và Slaver trong trường hợp hình tròn a) Tín hiệu vị trí theo trục x b) Tín hiệu vị trí theo trục y c) Tín hiệu vị trí theo trục z Ở các trường hợp trên, ta có thể dễ dàng thấy được việc robot chủ (Master) khi bị tác động ngoại lực, robot master sẽ ra khỏi quỹ đạo định sẵn và robot tớ (Slave) cũng sẽ ra khỏi quỹ đạo, vì robot Slave nhận tín hiệu từ Master Các tín hiệu vị trí của hai cánh tay robot ở vị trí theo trục x, trục y và trục z

Phương pháp truyền nhận bốn động cơ bước bằng giao thức UART

Trong điều khiển, thời gian trễ tín hiệu gây ra sai số cho hệ thống, dẫn đến kết quả không như mong muốn Đối với động cơ Step, việc cấp xung vuông liên tục vào chân CLK cùng với các điều kiện logic ở chân DIR và ENA là cần thiết Tuy nhiên, việc sử dụng hàm delay để tạo chênh lệch mức logic có thể gây tắc nghẽn tín hiệu trong mạch Giải pháp sử dụng Interrupt chỉ là tạm thời và không hiệu quả cho hệ điều khiển nhiều động cơ với tín hiệu khác nhau, đặc biệt trong mô hình đồng bộ tín hiệu Do đó, nhóm quyết định sử dụng bốn vi điều khiển Arduino Pro Mini LGT328P để giao tiếp với bốn Driver động cơ Stepper TB6560, nhằm nâng cao chất lượng hệ thống mặc dù có sự chênh lệch về chi phí giữa hai phương pháp Đây là giải pháp tối ưu cho mô hình.

Sau khi nối dây phần điện ta tiến hành thiết kế bộ điều khiển cho cánh tay robot trên Simulink bằng thư viện Waijung Blockset cho STM32F4 như Hình 5 33

Góc quay theta được tính theo radian với 4 chữ số thập phân, do đó tọa độ gửi đi sẽ bao gồm 5 bytes ký tự int8 Slave 1 sẽ đọc 5 bytes này để lấy góc quay của theta1, trong khi Slave 2 sẽ đọc 5 bytes tiếp theo từ phần tử thứ 8 của mảng để lấy theta2, và tương tự cho theta3 và theta4 Để gửi chuỗi ký tự này, chế độ gửi Binary Vector được chọn trong khối cài đặt của Serial trên Waijung.

Hình 5 34 Cài đặt của khối Serial Transmit

Chúng ta thiết kế khối Matlab Function để chuyển đổi tín hiệu từ khối động học nghịch thành tín hiệu số Để Slave nhận tín hiệu đúng kích thước từ Master, cần sử dụng hàm Peek() để kiểm tra ký tự gần nhất Nếu ký tự đó là ‘A’, điều này cho thấy gói tin từ Master đã hoàn thành, và ta sẽ sử dụng lệnh Serial.readStringUntil(‘E’) để đọc dữ liệu từ đầu gói tin đến ký tự E Cuối cùng, tín hiệu sẽ được quy đổi thành xung điều khiển Chương trình Slaver được minh họa qua lưu đồ trong Hình 5.35.

Hình 5 35 Lưu đồ điều khiển của Slaver

Thời gian sample time trong khối Serial được cài đặt là 0.1s, do đó cần có thời gian nghỉ để delay xung động cơ, và tổng thời gian này phải nhỏ hơn 0.1s Khi bật điện, các góc theta1, theta2, theta3, theta4 được điều chỉnh về 0°, và trong Simulink, ta chọn Start Angle là theta1 = theta2 = theta3 = theta4 = 0 để robot xác định vị trí ban đầu Sau đó, robot sẽ theo quỹ đạo đã được quy hoạch trước Để quan sát tín hiệu điều khiển và kiểm tra, ta lập trình timer để đọc Encoder trên hai khớp quay của robot, sử dụng các timer đếm xung ngoại.

Gọi ra khối Encoder Read trong thư viện Waijung Blockset và cài đặt thông số như

Hình 5 36 Ngõ vào của hai timer được kéo trở cao để chống nhiễu cho hai pha AB

Hình 5 36 Thiết lập khối Encoder Read và tính toán số xung/vòng thích hợp

Kết nối hai ngõ vào của mỗi timer với kênh A và B của từng Encoder Sử dụng ngắt timer 5 với thời gian đếm 0.01 giây để gọi hàm đọc Encoder cho hai khớp này.

Chọn số xung mỗi vòng là 1600 tương ứng với Encoder NPN 2 kênh A B 400 xung

Phương pháp truyền nhận mạng CAN Bus

Hệ thống mô hình hai cánh tay robot sử dụng mạng CAN Highspeed để truyền nhận tín hiệu, mang lại độ tin cậy và tốc độ truyền vượt trội so với CAN low speed Với tốc độ giao tiếp lên đến 1Mbps, CAN High Speed đáp ứng tốt cho các hệ thống điều khiển truyền động yêu cầu trao đổi dữ liệu nhanh chóng, phù hợp với ứng dụng trong robot và tự động hóa hiện đại Tín hiệu CAN được truyền qua cặp dây xoắn, giúp giảm thiểu ảnh hưởng của nhiễu từ bên ngoài Mô hình sử dụng Module TJA1050 CAN Transceiver, với sơ đồ kết nối của hai Node qua mạng CAN được thể hiện trong Hình 5.38.

Hình 5 38 Kết nối của Node đến mạng CAN Bus

Sau khi nắm rõ cách nối dây của Node (vi điều khiển) trong mạng CAN Bus

Ta tiến hành bước tiếp theo là thiết lập đường truyền cho mạng Can Bus Có một số thông số của mạng CAN Bus ta cần lưu ý là:

- Tốc độ đường truyền: 1Mbps

Message ID được thiết lập hợp lý để đảm bảo mức độ ưu tiên của tin nhắn CAN tuân theo phân cấp hệ thống Server Module sử dụng Message ID có giá trị thấp nhất (ưu tiên cao nhất), tiếp theo là Master module với Message ID có giá trị cao hơn (ưu tiên thấp hơn), và cuối cùng là Slave module với Message ID có giá trị cao nhất (ưu tiên thấp nhất) Giữa các Slave module, ưu tiên truyền dẫn được phân cấp theo thứ tự giảm dần từ khớp đầu tiên đến khớp cuối cùng Quyền ưu tiên có thể khác nhau tùy thuộc vào loại robot và hệ thống thực tế.

- Độ dài đường truyền CAN bus: chọn độ dài an toàn là 10m với độ trễ dây dẫn khoảng 5ns/m

- Độ trễ đáp ứng của CAN transceiver: 260ns

- Thời gian trễ do dây dẫn bus: 1 * 5 = 5ns

Một bit trên đường truyền CAN được cấu thành như sau[9] (Hình 5 39)

Việc tính toán các bit timing để cấu hình mạng CAN cần phải phù hợp với yêu cầu của hệ thống, đồng thời đảm bảo tính ổn định tối ưu.

- CAN system clock: 6MHz, 6tq clock mỗi bit time

Tim q e q b uant i um tq time1bite 1

PROP _ SEG busdelay transceiver _ delay t =2t +t =2 * 50+26060 s (5.44)

- Resync Jump Width (SJW): 1tq

- Bit segment 1 (BS1 + PROP_SEG=ROUNDUP) t PROP SEG _ tq

(BS2 tq / 1btime – SJW – PROP _ SEG – BS1)

Hệ thống xung clock của khối Waijung blockset cho STM32F4 Discovery được cấu hình ở tần số 42 MHz Để đạt được tần số 6 MHz cho bộ điều khiển CAN, cần sử dụng hệ số chia là 7 Các thông số bit timing đã được cấu hình theo tính toán, bao gồm SJW là 1 tq.

BS1-3tq; BS2-2tq (Hình 5 40)

Hình 5.40 trình bày cấu hình CAN cho Master qua Waijung blockset Trong bộ điều khiển Master, khối CAN Transmit được sử dụng để truyền tín hiệu đến Slaver Khối CAN Transmit được cấu hình như Hình 5.41 Do chúng ta gửi đi hai số thập phân là theta1 và theta2, nên chọn số port dữ liệu là 2 và kiểu dữ liệu là single.

Cấu hình CAN baud rate

Cho phép tự động gửi lại Chọn chân giao tiếp

Figure 5.41 illustrates the CAN Transmit block configuration In the Slave controller, the CAN Bus message receiving block is invoked There are two methods for receiving messages from the CAN Bus network: event-based reception and interrupt-based reception In our model, we utilize a Function Call interrupt to receive messages from the Master, as shown in Figure 5.

Hình 5 42Khối nhận tin nhắn bằng ngắt của CAN Bus

Trong hàm ngắt của khối, chúng ta sử dụng khối CAN Message để nhận dữ liệu từ mạng Cần chọn đúng số port dữ liệu đã khai báo ban đầu cùng với kiểu dữ liệu phù hợp Do nằm trong hàm ngắt, nên Sample time được chọn là -1.

THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG

THỰC NGHIỆM VÀ KIỂM CHỨNG

Ngày đăng: 25/05/2023, 16:10

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] C. P. a. K. Park, "Design and Kinematics Analysis of Dual Arm Robot Manipulator for Precision Assembly," The IEEE International Conference on Industrial Informatics, 2008 Sách, tạp chí
Tiêu đề: Design and Kinematics Analysis of Dual Arm Robot Manipulator for Precision Assembly
Tác giả: C. P., K. Park
Nhà XB: The IEEE International Conference on Industrial Informatics
Năm: 2008
[2] K. P. Chanhun Park, Doohyung Kim, "Design of dual arm robot manipulator for precision assembly of mechanical parts," International Conference on Smart Manufacturing Application, 2008 Sách, tạp chí
Tiêu đề: Design of dual arm robot manipulator for precision assembly of mechanical parts
Tác giả: K. P. Chanhun Park, Doohyung Kim
Nhà XB: International Conference on Smart Manufacturing Application
Năm: 2008
[3] T. V. N. N. H. T. H. T. P. T. A. P. L. N. H. X. L. ã and H. D. Nguyen, "Adaptive Neural Network-Based Backstepping Sliding Mode Control Approach for Dual-Arm Robots," 2019 Sách, tạp chí
Tiêu đề: Adaptive Neural Network-Based Backstepping Sliding Mode Control Approach for Dual-Arm Robots
Tác giả: T. V. N. N. H. T. H. T. P. T. A. P. L. N. H. X. L. ã, H. D. Nguyen
Năm: 2019
[5] J. J.Craig, "Introduction to Robotics Mechanics and Control " Pearson Education International, California, vol. 3, 2005 Sách, tạp chí
Tiêu đề: Introduction to Robotics Mechanics and Control
Tác giả: J. J. Craig
Nhà XB: Pearson Education International
Năm: 2005
[6] A. A. M. a. M. Sunar, "Kinematics Modeling of a 4-DOF Robotic Arm," 2015 International Conference on Control, Automation and Robotics, vol. 10.1109/ICCAR.2015.7166008., 2015 Sách, tạp chí
Tiêu đề: Kinematics Modeling of a 4-DOF Robotic Arm
Tác giả: A. A. M. a. M. Sunar
Nhà XB: 2015 International Conference on Control, Automation and Robotics
Năm: 2015
[7] N. H. Phước. "Kiến thức cơ bản về giao tiếp UART." https://dientuviet.com/kien-thuc-co-ban-ve-giao-tiep-uart/ (accessed Sách, tạp chí
Tiêu đề: Kiến thức cơ bản về giao tiếp UART
Tác giả: N. H. Phước
Năm: 2021
[8] H. L. a. X. L. Jie Xu, "Synchronization control strategy in multi-layer and multi-axis systems based on the combine cross coupling error," Advances in Mechanical Engineering, vol. 9(6) 1–11, 2017 Sách, tạp chí
Tiêu đề: Synchronization control strategy in multi-layer and multi-axis systems based on the combine cross coupling error
Tác giả: H. L., X. L. Jie Xu
Nhà XB: Advances in Mechanical Engineering
Năm: 2017
[9] S. Microelectronic. "Reference manual STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and STM32F107xx advanced Arm®-based 32-bit MCUs." https://www.st.com/resource/en/reference_manual/cd00171190-stm32f101xx-stm32f102xx-stm32f103xx-stm32f105xx-and-stm32f107xx-advanced-arm-based-32-bit-mcus-stmicroelectronics.pdf (accessed Sách, tạp chí
Tiêu đề: Reference manual STM32F101xx, STM32F102xx, STM32F103xx, STM32F105xx and STM32F107xx advanced Arm®-based 32-bit MCUs
Tác giả: S. Microelectronic

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w