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

thiết kế chế tạo và điều khiển robot scara tích hợp camera

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

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Thiết kế, chế tạo và điều khiển robot Scara tích hợp camera
Tác giả Phạm Ngọc Thạch, Lê Minh Tiến, Nguyễn Hoàng Phúc
Người hướng dẫn ThS. Tưởng Phước Thọ
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 Công Nghệ Chế Tạo Máy
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2024
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 102
Dung lượng 10,54 MB

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU (14)
    • 1.1. Tính cấp thiết của đề tài (14)
    • 1.2. Ý nghĩa khoa học và thực tiễn của đề tài (14)
    • 1.3 Mục tiêu nghiên cứu của đề tài (15)
    • 1.4 Đối tượng và phạm vi nghiên cứu (15)
      • 1.4.1 Đối tượng nghiên cứu (15)
      • 1.4.2 Phạm vi nghiên cứu (15)
    • 1.5 Phương pháp nghiên cứu (16)
      • 1.5.1 Cơ sở phương pháp luận (16)
      • 1.5.2 Các phương pháp nghiên cứu cụ thể (16)
    • 1.6 Kết cấu của ĐATN (16)
  • CHƯƠNG 2: TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI (18)
    • 2.1. Tổng quan về Robot gắp thả (18)
    • 2.2. Giới thiệu về Scara Robot (19)
    • 2.3. Cấu trúc của Scara Robot (20)
    • 2.4. Các đặc tính của Scara Robot (20)
    • 2.5. Ứng dụng của Scara Robot (21)
    • 2.6. Các nghiên cứu liên quan đến đề tài (22)
      • 2.6.1. Nghiên cứu trong nước (22)
      • 2.6.2. Nghiên cứu ngoài nước (23)
    • 2.7. Tổng quan về thị giác máy tính trong ứng dụng robot (24)
    • 2.8. Xác định vấn đề cần nghiên cứu của đề tài (26)
  • CHƯƠNG 3: CƠ SỞ LÝ THUYẾT (27)
    • 3.1. Cơ sở lý thuyết về Scara Robot (27)
      • 3.1.1. Phương trình động học của Scara Robot (27)
    • 3.2. Cơ sở lý thuyết về cơ khí (36)
    • 3.3. Cơ sở lý thuyết về điện tử (37)
    • 3.4. Cơ sở lý thuyết về lập trình (37)
      • 3.4.1. Các giao thức điều khiển (37)
      • 3.4.2. Lý thuyết về xử lý ảnh (39)
  • CHƯƠNG 4: THIẾT KẾ CƠ KHÍ (46)
    • 4.1. Yêu cầu thiết kế cơ khí robot (46)
    • 4.2. Sơ đồ khối của hệ thống cơ khí (46)
    • 4.3. Truyền động robot (49)
      • 4.3.1. Tính toán lựa chọn động cơ (49)
    • 4.4. Truyền động giữa các khớp nối (51)
      • 4.4.1. Phân tích bộ truyền và thiết kế cho động cơ giữa phần đế và cánh (54)
  • tay 1 (48)
    • 4.4.2. Phân tích bộ truyền và thiết kế cho động cơ giữa cánh tay 1 và cánh tay 2 (56)
    • 4.4.3 Phân tích bộ truyền và thiết kế cho động cơ giữa cánh tay 2 và khâu tịnh tiến (57)
    • 4.4.4 Phân tích bộ truyền và thiết kế cho động cơ giữa khâu tịnh tiến và (59)
    • 4.4.3 Phân tích cụm tay gắp, tính toán lực cho tay gắp gắp vật (60)
    • 4.5. Mô phỏng chuyển động của Scara Robot trong không gian làm việc 50 (63)
      • 4.5.1 Không gian làm việc (63)
      • 4.5.2 Mô phỏng, kiểm nghiệm động học thuận nghịch sử dụng phần mềm MATLAB và SOLIDWORKS (64)
  • CHƯƠNG 5: HỆ THỐNG ĐIỀU KHIỂN (67)
    • 5.1. Yêu cầu thiết kế hệ thống điều khiển (67)
    • 5.2. Sơ đồ khối hệ thống điều khiển (67)
    • 5.3. Sơ đồ đấu dây (68)
    • 5.4. Các thành phần của hệ thống điều khiển (68)
      • 5.4.1. Bo mạch điều khiển (68)
      • 5.4.2. Arduino shield V3 (69)
      • 5.4.3 Driver điều khiển động cơ bước (70)
      • 5.5.4. Động cơ (71)
  • CHƯƠNG 6: HỆ THỐNG PHẦN MỀM (76)
    • 6.1. Yêu cầu thiết kế hệ thống phần mềm (76)
    • 6.2. Sơ đồ khối hệ thống phần mềm (76)
    • 6.3. Các thành phần của hệ thống phần mềm (76)
      • 6.3.1. Arduino IDE (76)
      • 6.3.2. Visual studio 2022 (77)
      • 6.3.3. Pycharm (78)
    • 6.4. Lưu đồ giải thuật điều khiển robot (78)
      • 6.4.1 Điều khiển thủ công (78)
      • 6.4.2 Điều khiển tự động (80)
    • 6.5. Chương trình điều khiển (82)
      • 6.5.1. Giao diện điều khiển (82)
      • 6.5.2 Arduino (85)
    • 6.6 Phần mềm xử lý ảnh (86)
  • CHƯƠNG 7: THỰC NGHIỆM, ĐÁNH GIÁ VÀ KẾT LUẬN (90)
    • 7.1. Thực nghiệm (91)
      • 7.1.1. Kết quả hệ thống thực tế và phần mềm điều khiển (91)
      • 7.1.2. Thực nghiệm (92)
    • 7.2. Đánh giá (96)
    • 7.3. Kết luận (97)
    • 7.4 Hướng phát triển (98)
  • TÀI LIỆU THAM KHẢO (99)

Nội dung

Nghiên cứu này sẽ không chỉ cung cấp cái nhìn sâu rộng hơn về cách mà robot SCARA có thể được tích hợp và ứng dụng trong các quy trình sản xuất, mà còn đóng góp vào việc phát triển và tố

GIỚI THIỆU

Tính cấp thiết của đề tài

Robot SCARA (Selective Compliance Assembly Robot Arm) là một trong những loại robot công nghiệp phổ biến và đa dụng Với cấu trúc tay robot có khả năng di chuyển nhanh chóng và linh hoạt trong không gian hai chiều, SCARA thường được ứng dụng rộng rãi trong lắp ráp sản phẩm, vận chuyển và xử lý các công việc yêu cầu định vị cụ thể

Tuy nhiên, mặc dù có những ưu điểm rõ rệt, robot SCARA cũng gặp phải những hạn chế Trước hết, độ chính xác của nó không thể so sánh được với một số loại robot khác, đặc biệt trong việc xử lý sản phẩm có yêu cầu về chi tiết cực nhỏ Các sản phẩm như vít, ốc vít, hay những sản phẩm có kích thước rất nhỏ thường đòi hỏi độ chính xác cao và điều này có thể làm giảm hiệu suất hoặc đòi hỏi thêm quy trình kiểm tra sau cùng để đảm bảo chất lượng

Hiện trên thế giới đang có 2 cấu hình của camera và robot scara Đó là camera gắn kế bên đầu công tác và camera gắn cố định ở ngoài Ở việt nam thì việc ứng dụng camera gắn cố định ở ngoài đã và đang thực hiện trong các nhà máy xí nghiệp để có thể phân loại hàng hóa Có thể nói là khá phổ biến nhưng hiện tại camera gắn tích hợp chung với scara thì vẫn còn hạn chế và chưa phổ biến Việc tích hợp camera vào đầu công tác có thể ứng dụng vào y tế, quay phim dựng hình cũng như có thể phân loại được hàng hóa Nên nhóm chúng em đã chọn đề tài: “THIẾT KẾ, CHẾ TẠO VÀ ĐIỀU KHIỂN

ROBOT SCARA TÍCH HỢP CAMERA” Việc tích hợp camera vào robot sẽ cải thiện nhiều việc mà camera cố định gắn ở ngoài sẽ không thể làm được.

Ý nghĩa khoa học và thực tiễn của đề tài

- Ý nghĩa khoa học: Trong lĩnh vực nghiên cứu về robot và tự động hóa, việc áp dụng và phát triển robot SCARA trong ngành công nghiệp vẫn là một hướng đi quan trọng và đầy tiềm năng Nghiên cứu này sẽ không chỉ cung cấp cái nhìn sâu rộng hơn về cách mà robot SCARA có thể được tích hợp và ứng dụng trong các quy trình sản xuất, mà còn đóng góp vào việc phát triển và tối ưu hóa hiệu suất của chúng

• Trong ngành công nghiệp, việc sử dụng robot SCARA có thể cải thiện đáng kể hiệu quả của quy trình sản xuất thông qua việc phân loại và đóng gói sản phẩm Điều này góp phần tối ưu hóa tốc độ và độ chính xác, từ đó giúp tăng năng suất và giảm thiểu lãng phí trong sản xuất

• Ngoài ra, thông qua nghiên cứu này, người đọc và các nhà nghiên cứu có thể hiểu rõ hơn về cấu trúc, nguyên lý hoạt động cũng như ứng dụng cụ thể của robot SCARA trong việc phân loại sản phẩm thông qua việc sử dụng hệ thống xử lý ảnh

• Tính chất đầu tiên của việc nghiên cứu thường không hoàn hảo, và nghiên cứu về robot SCARA cũng không nằm ngoại lệ Tuy nhiên, kết quả đồ án này có thể tạo nền tảng vững chắc, cung cấp thông tin và dữ liệu quan trọng cho các nghiên cứu sau này, từ đó giúp hướng dẫn và thúc đẩy các dự án nghiên cứu tiếp theo một cách hiệu quả hơn và đáng tin cậy hơn.

Mục tiêu nghiên cứu của đề tài

Mục tiêu của đề tài nghiên cứu là xây dựng và phát triển một robot SCARA đầy đủ với cả các thành phần cơ khí và hệ thống điện Ngoài ra, việc thiết kế phần mềm điều khiển cho robot cũng như nghiên cứu về hệ thống xử lý ảnh để nhận dạng và phân loại sản phẩm là mục tiêu chính của dự án này.

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

• Tổng quan về robot SCARA và điểm đặc trưng của loại robot này

• Nghiên cứu về lý thuyết và tính toán động học, cả thuận và nghịch của robot SCARA để hiểu rõ về cách hoạt động của nó

• Thiết kế và sản xuất một mô hình cơ khí của robot SCARA, bao gồm các thành phần cần thiết cho việc thử nghiệm và nghiên cứu

• Phát triển phần mềm điều khiển cho robot SCARA, mục tiêu là tối ưu hóa khả năng điều khiển và hoạt động của robot

• Nghiên cứu về thuật toán xử lý ảnh tích hợp camera và cách tích hợp với phần mềm điều khiển của robot SCARA để có khả năng phân loại sản phẩm

1.4.2 Phạm vi nghiên cứu Đồ án tập trung vào việc thiết kế và phát triển robot SCARA có khả năng gắp và đặt sản phẩm, sử dụng hệ thống xử lý ảnh để thực hiện quy trình phân loại sản phẩm Ứng dụng của robot này có thể là trong các quy trình sản xuất, đặc biệt là việc phân loại và đóng gói các sản phẩm như bánh, kẹo và các mặt hàng tương tự trong môi trường nhà máy công nghiệp Mục tiêu chính là tự động hóa các công đoạn này, giúp tối ưu hóa quá trình sản xuất và tăng cường hiệu suất, đồng thời giảm thiểu sự phụ thuộc vào sự can thiệp của con người.

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

1.5.1 Cơ sở phương pháp luận Đồ án dựa trên lý thuyết động lực học của robot SCARA để xây dựng cơ sở lý thuyết và sử dụng phương pháp hình học để tính toán động học của robot trong cả trạng thái di chuyển thuận và nghịch Từ đó, áp dụng tính toán này để thiết kế cơ khí và lập trình hệ thống điều khiển cho robot Ngoài ra, dự án cũng dựa trên lý thuyết xử lý ảnh số để có khả năng xử lý và nhận diện sản phẩm cần phân loại

1.5.2 Các phương pháp nghiên cứu cụ thể

• Phương Pháp Thu Thập Số Liệu: Dự án sử dụng một loạt các phương pháp thu thập số liệu, bao gồm các kỹ thuật quan sát trực tiếp trong môi trường thực tế, thăm dò ý kiến từ các chuyên gia, cũng như việc sử dụng thiết bị và công nghệ phù hợp để thu thập dữ liệu số và dữ liệu từ các nguồn tin cậy và đáng tin cậy

• Phương Pháp Toán Học: Trong quá trình nghiên cứu, chúng tôi áp dụng các phương pháp toán học đa dạng như phương pháp đại số, tính toán đạo hàm và tích phân, phân tích và giải các phương trình, cũng như sử dụng các công cụ thống kê và mô hình hóa số liệu để hiểu rõ hơn về các quy trình và dữ liệu thu thập được

• Phương Pháp Phân Tích và Tổng Hợp: Sau khi thu thập số liệu và áp dụng các phương pháp toán học, chúng tôi tiến hành phân tích sâu hơn để hiểu và đánh giá các mẫu dữ liệu Qua quá trình này, chúng tôi tổng hợp thông tin từ các nguồn khác nhau, xác định các mối liên hệ và xu hướng trong dữ liệu để rút ra kết luận và đưa ra các giải pháp hoặc khuyến nghị có ý nghĩa cho dự án.

Kết cấu của ĐATN

Trình bày sự cấp thiết và ý nghĩa của đề tài, mục tiêu nghiên cứu, phạm vi và đối tượng của dự án, cũng như các phương pháp và cấu trúc chung của đề tài

− Chương 2: Tổng Quan về Nghiên Cứu

Tóm tắt thông tin cơ bản về robot SCARA, bao gồm các khái niệm, cấu trúc, và các nghiên cứu liên quan đến robot này ở trong và ngoài nước

− Chương 3: Cơ Sở Lý Thuyết Đề cập đến các kiến thức lý thuyết cần thiết cho việc thực hiện dự án, bao gồm các phương trình động học của robot SCARA, các phương pháp điều khiển và kiến thức cơ bản về cơ khí, điện tử, và lập trình

− Chương 4: Thiết Kế Cơ Khí

Trình bày yêu cầu và quy trình thiết kế cơ khí cho robot SCARA, bao gồm sơ đồ khối, cấu trúc truyền động, khớp nối, không gian hoạt động và kết quả gia công lắp ráp

− Chương 5: Hệ Thống Điện Điều Khiển

Mô tả yêu cầu và quy trình thiết kế hệ thống điện điều khiển cho robot SCARA, bao gồm sơ đồ khối, bộ điều khiển, động cơ truyền động, cơ cấu chấp hành, hệ thống cung cấp năng lượng, các cảm biến và hệ thống xử lý ảnh

− Chương 6: Hệ Thống Phần Mềm

Trình bày yêu cầu của hệ thống phần mềm, bao gồm sơ đồ khối, lưu đồ giải thuật của phần mềm điều khiển, phần mềm trên bo mạch phụ, máy tính, xử lý ảnh và phần mềm tương tác người dùng

− Chương 7: Kết Luận và Hướng Phát Triển

Tổng hợp kết quả của dự án, đánh giá ưu và nhược điểm của hệ thống, và đề xuất hướng phát triển tiềm năng của dự án trong tương lai.

TỔNG QUAN NGHIÊN CỨU ĐỀ TÀI

Tổng quan về Robot gắp thả

Trong thời gian gần đây, việc áp dụng hệ thống tự động hóa đã trở thành điều phổ biến không chỉ trong các nhà máy công nghiệp lớn mà còn ở các nhà máy nhỏ Công nghệ tự động hóa ngày càng thay thế các quy trình làm thủ công trong quá trình sản xuất với mục tiêu tăng cường năng suất và chất lượng sản phẩm

Robot gắp thả, hay còn được biết đến với tên gọi "Pick and Place Robot", là một trong những thiết bị tự động thay thế vai trò của con người trong quá trình sản xuất Các robot này thường được sắp xếp tại nhiều vị trí khác nhau trong dây chuyền sản xuất tự động và đảm nhận những nhiệm vụ cụ thể Với hệ thống điều khiển tích hợp thị giác thông minh, chúng có khả năng nhận diện và xử lý các đặc điểm riêng của từng sản phẩm, từ đó gắp và di chuyển chúng theo yêu cầu Không chỉ được sử dụng trong các nhà máy, robot gắp thả còn thường được áp dụng để tải, xếp gói hàng có trọng lượng lớn lên đến hàng chục kílogam trong các môi trường hậu cần như nhà kho, tàu thuyền và các ứng dụng khác

Hình 2.1: Các loại robot pick and place

Trong thực tế hiện nay, có nhiều loại robot gắp thả khác nhau như cánh tay robot 6 bậc, Cartesian Robot, SCARA Robot và Delta Robot,… Trong số đó, Scara Robot đáng chú ý với thiết kế đặc biệt cho phép nó thực hiện các thao tác gắp và thả sản phẩm với tốc độ và độ chính xác rất cao.

Giới thiệu về Scara Robot

"Robot SCARA, hay còn gọi là Selective Compliance Assembly Robot Arm, xuất hiện từ Nhật Bản vào những năm 1980 Ban đầu, nó được phát triển nhằm đáp ứng nhu cầu ngày càng tăng trong ngành công nghiệp sản xuất của đất nước này Với sự phát triển mạnh mẽ của ngành công nghiệp, cần có những giải pháp tự động hóa linh hoạt và hiệu quả

SCARA Robot được thiết kế với khả năng di chuyển trong một phạm vi hình tròn hoặc oval, với hai trục xoay song song và một trục dọc để thực hiện các nhiệm vụ đòi hỏi độ chính xác cao trong sản xuất công nghiệp Với cấu trúc này, nó có thể thực hiện các tác vụ như lắp ráp, đóng gói, và kiểm tra chất lượng sản phẩm một cách chính xác và nhanh chóng

Mục tiêu ban đầu của robot SCARA là tối ưu hóa quy trình sản xuất thông qua sự linh hoạt và khả năng thích nghi trong việc thực hiện các nhiệm vụ lặp đi lặp lại Trong vài thập kỷ qua, tính linh hoạt, độ chính xác cao cùng với khả năng tương tác linh hoạt đã giúp SCARA Robot trở thành một phần quan trọng trong ngành công nghiệp, không chỉ ở Nhật Bản mà còn trên toàn thế giới, được áp dụng trong nhiều lĩnh vực sản xuất và tự động hóa."

Hình 2.2: Robot scara của hãng ABB

Cấu trúc của Scara Robot

• Bệ cố định: Thường là một nền tảng cứng chắc, có thể là hình vuông hoặc hình tròn Ở mỗi góc của hình vuông, có các khớp quay cố định để tạo nền tảng vững chắc cho robot

• Tấm di chuyển: Tấm di chuyển thường có hình tam giác hoặc hình vuông nhỏ hơn so với bệ cố định Nó chứa các khớp bi tương ứng với cánh tay truyền động và được sử dụng để thực hiện chuyển động

• Cánh tay truyền động: SCARA Robot thường sử dụng 2 cánh tay truyền động, mỗi cánh tay có thể di chuyển theo hình dạng R2R (R là khớp dẫn động) Một đầu của mỗi cánh tay được nối với khớp quay ở bệ cố định, và đầu còn lại được nối với tấm di chuyển, tạo ra khả năng di chuyển và linh hoạt

• Các khớp quay: Các khớp quay giữa cánh tay và bệ cố định cung cấp khả năng di chuyển và linh hoạt cho robot trong quá trình làm việc

• Động cơ: SCARA Robot thường được trang bị động cơ gắn trên bệ cố định Mỗi động cơ điều khiển một cánh tay truyền động cụ thể, cung cấp sức mạnh và chuyển động cho robot Đây là cấu trúc cơ bản của SCARA Robot, giúp nó thực hiện các nhiệm vụ trong môi trường sản xuất và lắp ráp với độ chính xác và linh hoạt

Hình 2.3: Cấu trúc của Scara robot

Các đặc tính của Scara Robot

• Độ chính xác cao: SCARA Robot được thiết kế để thực hiện các nhiệm vụ với độ chính xác cao trong quá trình lắp ráp và sản xuất Điều này giúp chúng phù hợp cho các ứng dụng cần độ chính xác cao trong ngành công nghiệp

• Tốc độ nhanh: SCARA Robot thường có khả năng di chuyển nhanh, hoàn thành các chu trình công việc trong thời gian ngắn, tăng năng suất sản xuất

• Khả năng lặp lại công việc: Chúng có khả năng lặp lại các chu trình công việc một cách chính xác và đáng tin cậy, giúp duy trì độ chính xác và hiệu suất trong quá trình sản xuất hàng loạt

• Khả năng linh hoạt: Mặc dù SCARA Robot thường được sử dụng trong các ứng dụng cụ thể, chúng vẫn có khả năng linh hoạt trong việc thực hiện nhiều loại công việc khác nhau

• Kích thước nhỏ gọn: Thường có kích thước nhỏ hơn so với các loại robot công nghiệp khác, điều này làm cho chúng phù hợp hơn trong các không gian làm việc hạn chế

• Tính khả dụng cao: SCARA Robot thường dễ dàng được tích hợp vào các dây chuyền sản xuất tự động và có thể thực hiện nhiều loại công việc từ lắp ráp sản phẩm đến đóng gói.

Ứng dụng của Scara Robot

• Sản xuất và lắp ráp: Robot SCARA thường được sử dụng trong quá trình sản xuất và lắp ráp sản phẩm điện tử, ô tô, đồ điện gia dụng và các sản phẩm công nghiệp khác Chúng có thể thực hiện các nhiệm vụ lắp ráp có độ chính xác cao

• Đóng gói và đóng chai: Trong ngành công nghiệp thực phẩm và đóng gói, robot SCARA có thể được sử dụng để đóng gói sản phẩm, đóng nắp chai, sắp xếp sản phẩm vào hộp hoặc túi, tạo gói sản phẩm v.v

• Sản xuất điện tử: Trong ngành công nghiệp điện tử, robot SCARA có thể được sử dụng để lắp ráp các linh kiện nhỏ, thực hiện kiểm tra chất lượng, hoặc thậm chí là thực hiện quá trình hàn

• Kiểm tra và kiểm soát chất lượng: Robot SCARA có thể được sử dụng để thực hiện các nhiệm vụ kiểm tra chất lượng, kiểm tra sản phẩm hoặc thậm chí là kiểm tra lỗi trong quá trình sản xuất

• Dệt may và ngành công nghiệp dược phẩm: Trong các ngành công nghiệp như dệt may và dược phẩm, robot SCARA có thể được sử dụng để thực hiện các công việc như đóng gói sản phẩm, sắp xếp sản phẩm hoặc thậm chí là vận chuyển sản phẩm

• Robot hỗ trợ: Robot SCARA cũng có thể được sử dụng như robot hỗ trợ trong các môi trường sản xuất để nâng cao hiệu suất và giảm tải lao động cho con người

Hình 2.4: Ứng dụng của robot scara trong lắp ráp, gắp thả

Các nghiên cứu liên quan đến đề tài

Nghiên cứu về robot SCARA đã thu hút sự quan tâm của nhiều nước trên thế giới, bao gồm cả Việt Nam Ở Việt Nam, có một số nỗ lực trong việc nghiên cứu và áp dụng robot SCARA trong các ngành công nghiệp khác nhau

Các viện nghiên cứu, trường đại học và các công ty công nghệ tại Việt Nam đã tiến hành nghiên cứu và phát triển về robot SCARA Các dự án này thường tập trung vào việc tối ưu hóa hiệu suất sản xuất, nâng cao độ chính xác và tính linh hoạt của robot SCARA để có thể áp dụng vào nhiều lĩnh vực công nghiệp khác nhau trong nước

Hình 2.5: Phân tích trong nước

Trên toàn thế giới, nghiên cứu về robot SCARA cũng đang phát triển mạnh mẽ Các nước như Nhật Bản, Mỹ, Trung Quốc, Đức và Hàn Quốc đều đang dẫn đầu trong lĩnh vực này Các công ty lớn trong ngành công nghiệp robot như Fanuc, ABB, Yaskawa và Kawasaki thường là những đơn vị tiên phong trong nghiên cứu, phát triển và sản xuất robot SCARA có hiệu suất cao

Nghiên cứu toàn cầu xoay quanh việc tối ưu hóa thiết kế, tính linh hoạt, sự an toàn và ứng dụng của robot SCARA trong nhiều lĩnh vực khác nhau như sản xuất, dược phẩm, điện tử và đóng gói Mục tiêu là cải thiện hiệu suất và khả năng tích hợp của robot này vào quy trình sản xuất công nghiệp một cách linh hoạt và hiệu quả

Hình 2.6: Phân tích ngoài nước

Tổng quan về thị giác máy tính trong ứng dụng robot

Trong thời gian gần đây, công nghệ thị giác máy tính đã có sự tiến triển đáng kể thông qua việc phát triển các thuật toán xử lý ảnh, đặc biệt là trong việc nhận diện và phân loại hình ảnh Những thuật toán này có thể được tích hợp vào các hệ thống robot để áp dụng trong nhiều lĩnh vực công nghiệp khác nhau Sử dụng thị giác máy tính giúp robot trở nên linh hoạt hơn, phản ứng nhanh chóng với thay đổi trong môi trường và hiểu biết rõ ràng hơn về môi trường xung quanh, từ đó thực hiện các thao tác với độ chính xác cao hơn

Tích hợp hệ thống thị giác máy tính mang lại nhiều ưu điểm như tăng cường năng suất, nâng cao độ chính xác và chất lượng, giảm lãng phí vật liệu và chi phí sản xuất

Thông tin từ hệ thống thị giác máy tính thường được thu thập từ một hoặc nhiều camera, sau đó được xử lý bởi bộ xử lý trung tâm (thường là máy tính có khả năng tính toán mạnh mẽ) Dữ liệu cần thiết sau đó được trích xuất và gửi đến bộ điều khiển của robot Những thông tin này có thể là màu sắc, hình dạng, cấu trúc, biểu đồ, tọa độ 2D hoặc tọa độ 3D Điều này dẫn đến việc xử lý ảnh đã được áp dụng và phát triển rộng rãi trong nhiều lĩnh vực quan trọng như:

• Sản xuất: phân loại, sắp xếp và đóng gói sản phẩm

• Quân sự: kiểm tra lỗi của các sản phẩm quân sự như đạn, súng, lựu đạn,

• Bảo mật: nhận diện khuôn mặt, giới tính, tuổi tác, cử chỉ và hành động của người, vật,

• Y tế: xử lý ảnh y sinh, chụp X-Quang, MRI,

Hình 2.7: Ứng dụng xử lý ảnh trong việc sản xuất thuốc

Hình 2.8: Ứng dụng xử lý ảnh trong quân đội

Xác định vấn đề cần nghiên cứu của đề tài

Sau khi xem xét nhiều nguồn tư liệu về SCARA Robot từ trong và ngoài nước, đề tài này nhằm giải quyết các vấn đề cụ thể sau cho robot SCARA:

• Đề xuất ý tưởng và thực hiện mô hình cơ khí của SCARA Robot dựa trên lý thuyết về lực, hình học và phương trình động học

• Xây dựng thuật toán xử lý ảnh cho hệ thống nhận diện của SCARA

Robot để phân loại sản phẩm trong quy trình sản xuất tự động

• Trình bày thuật toán điều khiển, đưa ra giải pháp để tối ưu hóa hệ thống điều khiển của SCARA Robot

Kết quả của nghiên cứu này hy vọng sẽ giúp độc giả hiểu cơ bản về nguyên lý và cấu trúc của một SCARA Robot, cũng như quy trình phân loại sản phẩm sử dụng hệ thống xử lý ảnh Ngoài ra, đây cũng có thể được sử dụng làm tư liệu tham khảo, tạo cơ sở cho việc nghiên cứu và phát triển các dự án liên quan trong tương lai.

CƠ SỞ LÝ THUYẾT

Cơ sở lý thuyết về Scara Robot

3.1.1 Phương trình động học của Scara Robot a Xác định số bậc tự do cho robot Đối“với việc di chuyển trên mặt phẳng robot cần ít nhất 2 trục để robot có thể di chuyển đến bất kì điểm nào trong giới hạn hành trình làm việc Trong đề tài này, với việc thiết kế robot có thể hút vật trong không gian robot cần phải có tối thiểu 3 trục để có khả năng di chuyển đến mọi điểm nên nhóm đã lựa chọn robot có 4 bậc tự do để thực hiện đề tài.” b Các thông số kỹ thuật của robot

Bảng 3.1: Kích thước của các khâu

Khâu Trục Phạm vi hoạt động

Bảng 3.2: Bảng phạm vi hoạt động c Phương trình động học thuận Robot

Tính toán động học của robot dựa vào phương pháp lập bảng Denavit- Hertenberg

Phương trình động học robot công nghiệp là phương trình mô tả quy luật thay đổi hướng và vị trí của khâu tác động cuối so với các biến khớp

Trên tay máy robot công nghiệp có 2 dạng khớp là: Khớp tịnh tiến và khớp quay Biến khớp chính là các góc quay và các lượng tịnh tiến của các khớp quay và khớp tịnh tiến

Khi cho biết trước giá trị của các khớp quay và các lượng tịnh tiến này, thay vào phương trình động học robot công nghiệp ta sẽ có hướng và vị trí các khâu công tác

Quy tắc đặt các trục tọa độ

•Z i cùng hướng với hướng của trục khớp i+1

•X i cùng phương với phương pháp tuyến chung của trục Z i−1và trục Z i

• Gốc tọa độ trên khâu là được xác định bởi giao điểm của trục z và trục x đã được xác định của khâu đó Hướng của trục y được chọn theo hướng của trục z, x theo quy tắc bàn tay phải

• Hệ tọa độ gốc: X 0 được chọ tùy ý vuông góc với Z 0

Quy tắc dời trục tọa độ theo Denavit – Hartenberg:

• Tịnh tiến một đọan di theo trục Zi-1 để Xi-1 nằm trên mặt phẳng pháp tuyến của Zi-1 chứa Xi

• Quay một góc θi quanh trục Zi-1 để Xi-1 cùng phương với Xi

• Tịnh tiến 1 đoạn αi theo trục Xi-1 để Xi-1 ≡ Xi

• Quay 1 góc αi quanh trục Xi-1 (≡ Xi ) để Zi-1 ≡ Zi

Hình 3.1: Quy tắc đặt các trục tọa độ

Hình 3.2: Đặt hệ trục tọa độ lên các khâu của Robot

Ta lập bảng được bảng D-H như sau: l θi d αi

Từ bảng D-H ta có được :

Ma trận biến đổi thuần nhất tổng quát giữa các hệ trục tọa độ:

Thế lần lượt các giá trị trong bảng D-H ta được các ma trận chuyển đổi như bên dưới Gọi 1 , 2, 4 là t1, t2 và t4

Ma trận chuyển vị tổng:

Tọa độ P của tay gắp:

𝑃 𝑧 = 𝐷 0 − 10 − 13 (3) d Phương trình động học nghịch Robot

Bài toán động học ngược có ý nghĩa rất quan trọng trong lập trình và điều khiển chuyển động của robot Bởi vì trong thực tế thường cần điều khiển robot sao cho tay kẹp (khâu thao tác) di chuyển tới các vị trí nhất định trong không gian thao tác theo một quy luật nào đó Đối với bài toán động học ngược, quy luật chuyển động của khâu thao tác (các tọa độ định vị) đã biết, cần xác định các tọa độ khớp (biến khớp) Bài toán động học ngược có thể giải bằng nhiều phương pháp khác nhau Ở đây, em xin trình bày phương pháp Giải tích

Với động học ngược vị trí cho robot 4 bậc tự do, ở trường hợp này là Robot lắp ráp Đầu vào cần xác định là: tọa độ điểm tác động cuối: P=( Px, Py, Pz)

Thông số cần xác định: Các biến khớp ( 1 ,  2 ,  4 , d 3 * )

Từ phương trình động học thuận ta có

Bình phương 2 vế phương trình (1) và (2), ta có:

Từ (1) ta suy ra được :

𝑃 𝑥 = 𝑙 1 cos(𝑡 1 ) + 𝑙 2 cos(𝑡 1 ) cos(𝑡 2 ) − 𝑙 2 sin(𝑡 1 ) sin (𝑡 2 )

Từ (2) ta suy ra đươc :

𝑃 𝑦 = 𝑙 1 sin(𝑡 1 ) + 𝑙 2 sin(𝑡 1 ) cos(𝑡 2 ) + 𝑙 2 cos(𝑡 1 ) sin (𝑡 2 )

Biến 2 phương trình (1) và (2) thành hệ phương trình mới với 2 ẩn cos(t1) và sin(t1)

Ta có 𝑃 𝑥 = cos(𝑡 1 ) (𝑙 1 + 𝑙 2 cos(𝑡 2 )) + sin(𝑡 1 ) (−𝑙 2 sin (𝑡 2 )

𝑠𝑖𝑛 (𝑡 1 )] Áp dụng phương pháp cramer ta tính được t1 như sau :

** Hướng của khâu thao tác

Sử dụng ma trận định hướng của khâu thao tác là ma trận Cardan:

[ cos 𝛼 sin 𝛽 − cos 𝛽 sin à sin 𝛽 sin 𝛼 sin 𝛽 cos à + cos 𝛼 sin à

− cos 𝛼 sin 𝛽 cos à + sin 𝛼 sin à

− sin 𝛼 sin 𝛽 sin à + cos 𝛼 cos à cos 𝛼 sin 𝛽 sin à + sin 𝛼 cos à

Ma trận Cosin chỉ hướng của khâu thao tác là:

Tiếp theo ta đồng nhất 2 phương trình ta có:

[ cos 𝛼 sin 𝛽 − cos 𝛽 sin à sin 𝛽 sin 𝛼 sin 𝛽 cos à + cos 𝛼 sin à

− cos 𝛼 sin 𝛽 cos à + sin 𝛼 sin à

− sin 𝛼 sin 𝛽 sin à + cos 𝛼 cos à cos 𝛼 sin 𝛽 sin à + sin 𝛼 cos à

] (10) Đồng nhất hệ số và giải ra ta được kết quả:

Kết quả trên chính là hướng của khâu thao tác cuối biểu diễn theo 3 góc Cardan

Trong đó 𝛽 là góc định hướng của bộ kết thúc quay quanh z4 so với khung cơ sở e Bài toán vận tốc Jacobi

] (12) f Bài toán động lực học

Vị trí khối tâm khâu 1: x1 =[

Vận tốc khối tâm khâu 1 là:

Bình phương vận tốc, ta có:

Vị trí khối tâm khâu 2: x2 =[

Vận tốc khối tâm khâu 2 là: v2 = 𝑥 2 ̇ = [

Bình phương vận tốc, ta có:

Vị trí khối tâm khâu 3: x3 [

Vận tốc khối tâm khâu 3: v3 = 𝑥 3 ̇ [

Bình phương vận tốc, ta có:

Tổng động năng 3 khâu là:

Tổng thế năng 3 khâu là:

Phương trình chuyển động Lagrange có dạng:

Ta có phương trình động lực học:

Cơ sở lý thuyết về cơ khí

Việc thiết kế hệ thống cơ khí của robot đòi hỏi sự sâu sắc trong lĩnh vực khoa học về cơ cấu truyền động và vật liệu cơ khí Nhóm đồ án thiết kế cơ khí robot dựa trên nền tảng kiến thức chuyên ngành thuộc lĩnh vực cơ khí, trong đó bao gồm các khía cạnh quan trọng như cơ kỹ thuật, sức bền vật liệu và nguyên lý chi tiết máy

Trong quá trình thiết kế, nhóm áp dụng những kiến thức đã học từ cơ kỹ thuật, bao gồm phân tích lực, cân bằng lực, tính momen xoắn và nhiều khái niệm khác Các kiến thức về nguyên lý chi tiết máy được áp dụng để xây dựng cơ cấu truyền động, lựa chọn động cơ và xác định tỉ số truyền động

Ngoài ra, kiến thức về sức bền vật liệu chịu trách nhiệm trong việc phân tích nội lực trong các thanh, đánh giá độ bền của chi tiết và chọn lựa vật liệu gia công Sự hiểu biết chuyên sâu về những khái niệm này giúp nhóm đảm bảo tính ổn định và hiệu suất của hệ thống cơ khí của robot trong quá trình vận hành.

Cơ sở lý thuyết về điện tử

Quá trình thiết kế hệ thống điện cho robot đòi hỏi sự am hiểu sâu sắc về các kiến thức chuyên ngành, đặc biệt là trong lĩnh vực điện tử công suất và kỹ thuật điện điện tử Nhóm thiết kế dựa trên kiến thức chuyên sâu nhận được từ các môn học như điện tử công suất và kỹ thuật điện - điện tử

Trong lĩnh vực điện tử công suất, nhóm cần áp dụng kiến thức về lựa chọn bo mạch, linh kiện điện tử, và hiểu rõ về các thông số như dòng điện, điện áp trong hệ thống Điều này đặt ra yêu cầu về việc nắm bắt chính xác về các yếu tố quyết định hiệu suất của bo mạch và linh kiện điện tử

Còn trong lĩnh vực kỹ thuật điện -điện tử, kiến thức về tính toán dòng điện, điện áp phù hợp với hệ thống, và tính công suất của thiết bị điện là quan trọng Nhóm phải đảm bảo rằng hệ thống được thiết kế sao cho dòng điện và điện áp điều chỉnh đúng, đồng thời đảm bảo hiệu suất và an toàn trong quá trình hoạt động

Sự ứng dụng thông tin này một cách chính xác và hiệu quả sẽ giúp hệ thống điện của robot hoạt động một cách ổn định và hiệu suất.

Cơ sở lý thuyết về lập trình

3.4.1 Các giao thức điều khiển

* Khái niệm về giao thức uart

UART (Universal Asynchronous Receiver-Transmitter – Bộ truyền nhận dữ liệu không đồng bộ) là một giao thức truyền thông phần cứng dùng giao tiếp nối tiếp không đồng bộ và có thể cấu hình được tốc độ

Giao thức UART là một giao thức đơn giản và phổ biến, bao gồm hai đường truyền dữ liệu độc lập là TX (truyền) và RX (nhận) Dữ liệu được truyền và nhận qua các đường truyền này dưới dạng các khung dữ liệu (data frame) có cấu trúc chuẩn, với một bit bắt đầu (start bit), một số bit dữ liệu (data bits), một bit kiểm tra chẵn lẻ (parity bit) và một hoặc nhiều bit dừng (stop bit)

Thông thường, tốc độ truyền của UART được đặt ở một số chuẩn, chẳng hạn như 9600, 19200, 38400, 57600, 115200 baud và các tốc độ khác Tốc độ truyền này định nghĩa số lượng bit được truyền qua mỗi giây Các tốc độ truyền khác nhau thường được sử dụng tùy thuộc vào ứng dụng và hệ thống sử dụng

Hình 3.3: Cách truyền dữ liệu uart

Dữ liệu được truyền trong giao tiếp UART được tổ chức thành các gói (Packets) Mỗi Packets chứa 1 bit Start, 5 đến 9 bit dữ liệu (tùy thuộc vào UART), 1 bit Parity và 1 hoặc 2 bit Stop

Start bit( bit khởi đầu):

• Đường truyền dữ liệu trong giao tiếp UART thường được giữ ở mức điện áp cao khi nó không truyền dữ liệu

• Để bắt đầu truyền dữ liệu, UART truyền sẽ kéo đường truyền từ mức cao xuống mức thấp trong một chu kỳ đồng hồ

• Khi UART 2 phát hiện sự chuyển đổi điện áp cao xuống thấp, nó bắt đầu đọc các bit trong khung dữ liệu ở tần số của tốc độ truyền (Baud rate)

Data frame( khung dữ liệu):

• Khung dữ liệu chứa dữ liệu thực tế đang được truyền Nó có thể dài từ 5 bit đến 8 bit nếu sử dụng bit Parity (bit chẵn lẻ)

• Nếu không sử dụng bit Parity, khung dữ liệu có thể dài 9 bit Trong hầu hết các trường hợp, dữ liệu được gửi với bit LSB (bit có trọng số thấp nhất) trước tiên

Parity bit( bit chẵn lẻ): Trong giao tiếp UART, Bit Parity mô tả tính chẵn hoặc lẻ của một số bit Parity là một cách để UART 2 cho biết liệu có bất kỳ dữ liệu nào đã thay đổi trong quá trình truyền hay không Bit có thể bị thay đổi bởi tốc độ truyền không khớp hoặc truyền dữ liệu khoảng cách xa,… Sau khi UART 2 đọc khung dữ liệu, nó sẽ đếm số bit có giá trị là 1 và kiểm tra xem tổng số là số chẵn hay lẻ

Stop bit( bit kết thúc): Để báo hiệu sự kết thúc của gói dữ liệu, UART gửi sẽ điều khiển đường truyền dữ liệu từ điện áp thấp đến điện áp cao trong ít nhất hai khoảng thời gian bit

*Ưu và nhược điểm của chuẩn giao tiếp uart Ưu điểm:

• Chỉ sử dụng hai dây

• Không cần tín hiệu đồng hồ

• Có một bit chẵn lẻ để cho phép kiểm tra lỗi

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

• Phương pháp được ghi chép rõ ràng và được sử dụng rộng rãi

• Kích thước của khung dữ liệu được giới hạn tối đa là 9 bit

• Không hỗ trợ nhiều hệ thống phụ hoặc nhiều hệ thống chính

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

3.4.2 Lý thuyết về xử lý ảnh a) Xử lý ảnh là gì

Là quá trình chuyển đổi một hình ảnh sang dạng kỹ thuật số, thực hiện các thao tác để nhận được một số thông tin hữu ích từ hình ảnh đó Hệ thống xử lý hình ảnh thường các hình ảnh là tín hiệu 2D khi áp dụng một số phương pháp xử lý tín hiệu đã xác định

Các loại xử lý hình ảnh:

- Nhận diện: Phân biệt, phát hiện các đối tượng trong hình ảnh

- Làm sắc nét, phục hồi: Tạo hình ảnh nâng cao từ ảnh gốc

- Nhận dạng mẫu: Đo các mẫu xung quanh các đối tượng trong hình ảnh

- Truy xuất: Duyệt và tìm kiếm hình ảnh từ một cơ sở dữ liệu gồm các hình ảnh kỹ thuật số tương tự như ảnh gốc b) Các bước xử lý ảnh

Quy trình xử lý hình ảnh diễn ra như sau:

- Thu thập ảnh là bước đầu tiên trong quá trình xử lý hình ảnh, còn được gọi là tiền xử lý Thu thập ảnh liên quan đến việc lấy hình ảnh từ một nguồn, dựa trên phần cứng

- Tăng cường hình ảnh là làm nổi bật các đặc điểm trong hình ảnh đã bị che khuất, bằng những cách thức như thay đổi độ sáng, độ tương phản, v.v

- Phục hồi hình ảnh là quá trình cải thiện hình ảnh, sử dụng các mô hình toán học, xác suất nhất định

- Xử lý hình ảnh màu bao gồm một số kỹ thuật tạo mô hình màu trong miền kỹ thuật số

- Wavelets và xử lý đa phân giải sử dụng để biểu diễn hình ảnh ở nhiều mức độ phân giải

- Nén là quá trình được sử dụng để giảm dung lượng lưu trữ, băng thông cần thiết để truyền tải hình ảnh

- Xử lý hình thái liên quan đến các kỹ thuật trích xuất thành phần của ảnh nhằm biểu diễn và mô tả hình dạng

- Phân đoạn là một trong những bước xử lý ảnh khó nhất, liên quan đến phân vùng một hình ảnh thành các phần hoặc đối tượng cấu thành

- Trình bày và mô tả: Sau khi hình ảnh được phân đoạn thành các vùng, mỗi vùng đại diện và mô tả ở dạng phù hợp cho quá trình xử lý tiếp theo Phần trình bày liên quan đến đặc điểm hình ảnh và thuộc tính vùng Mô tả đề cập đến việc trích xuất thông tin định lượng giúp phân biệt lớp đối tượng này với lớp khác

- Nhận dạng gán nhãn cho đối tượng dựa trên mô tả của nó

Hình 3.4: Một vài ví dụ về xử lý ảnh giảm nhiễu c) Khái niệm mã QR ? Tại sao lại chọn phân loại bằng mã QR ?

QR Code bây giờ không hẳn là quá xa lạ, nó bắt đầu xuất hiện khắp nơi như nhãn bìa sản phẩm, và gần như là phương thức nhận diện chủ yếu cho ứng dụng di động Vậy QR Code là gì? QRCode, viết tắt của Quickresponsecode (tạm dịch "Mã phản hồi nhanh") hay còn gọi là mã vạch ma trận (matrix- barcode) là dạng mã vạch hai chiều (2D) có thể được đọc bởi một máy đọc mã vạch hay smartphone (điện thoại thông minh) có chức năng chụp ảnh (camera) với ứng dụng chuyên biệt để quét mã vạch

Một mã QR có thể chứa đựng thông tin một địa chỉ web (URL), thời gian diễn ra một sự kiện, thông tin liên hệ (như vCard), địa chỉ email, tin nhắn SMS, nội dung ký tự văn bản hay thậm chí là thông tin định vị vị trí địa lý Tùy thuộc thiết bị đọc mã QR mà bạn dùng khi quét, nó sẽ dẫn bạn tới một trang web, gọi đến một số điện thoại, xem một tin nhắn Điểm khác nhau giữa mã QR và mã vạch truyền thống là lượng dữ liệu chúng nắm giữ hay chia sẻ Các mã vạch truyền thống có các đường vạch thẳng dài một chiều và chỉ có thể lưu giữ 20 số chữ số, trong khi các mã QR hai chiều có thể lưu giữ thông tin hàng ngàn ký tự chữ số Mã QR nắm giữ nhiều thông tin hơn và tính chất dễ sử dụng sẽ giúp ích rất nhiều cho người dùng trong mọi lĩnh vực Ngoài ra, QR code có lợi thế hơn do có thể đọc được cả hai chiều cả ngang và dọc và từ bất kỳ hướng nào mà không bị ảnh hưởng bởi chất liệu hay nền mà nó đang sử dụng

Qrcode có 2 loại chính: động và tĩnh

THIẾT KẾ CƠ KHÍ

Yêu cầu thiết kế cơ khí robot

Tay máy cần được chế tạo như các cánh tay, với khả năng chuyển động cơ bản, gồm các phần như cổ tay linh hoạt và bàn tay có thể thực hiện các thao tác một cách trực tiếp Các phần này được kết nối với nhau thông qua khớp trượt và khớp quay, tạo nên một cấu trúc vừa chắc chắn vừa linh hoạt

Dựa trên yêu cầu về cơ khí và thiết kế phù hợp với công việc cụ thể, chúng ta đặt ra những yêu cầu sau:

Cơ cấu phải có khả năng chịu tải trọng và dễ dàng lắp ráp với các module mạch của tay máy robot Có khả năng nâng được tải trọng

- Hành Trình Di Chuyển: Đạt được tốc độ mong muốn trong quá trình vận hành

Thân vỏ phải được thiết kế sao cho các module mạch và cảm biến có thể gắn chắc chắn lên khung máy

Viền cạnh được bo tròn để tránh gây thương tích khi máy hoạt động Đế phải được cố định chắc chắn để hỗ trợ cơ cấu hoạt động ổn định

- Độ Chính Xác: Độ chính xác trong thiết kế cơ khí là rất quan trọng để đảm bảo rằng quá trình điều khiển không dẫn đến sai số Việc kiểm tra tỉ mỉ là cần thiết trong quá trình này.

Sơ đồ khối của hệ thống cơ khí

Sơ đồ 4.1: Sơ đồ khối hệ thống cơ khí

➢ Phần đế: Là khâu cố định, đặt thẳng đứng để cho robot cố định khi làm việc, được gắn với cánh tay 1 qua khớp xoay 1

➢ Cánh tay 1: Khâu dẫn động nằm ngang vuông góc với trục thẳng đứng trong suốt quá trình làm việc của Robot, có khả năng quay xung quanh trục z0 bằng khớp quay 1

➢ Cánh tay 2: Khâu động nằm ngang vuông góc với trục thẳng đứng quay xung quanh bằng khớp xoay 2 nối với khâu 1

➢ Khâu tịnh tiến: Bộ thanh dẫn - bi cầu truyền đai tịnh tiến

Cấu trúc động học loại tay máy này thuộc hệ phỏng sinh, có các trục quay, các khớp đều là thẳng đứng

- Khâu quay 1, 2: hệ bánh răng (hộp giảm tốc)

- Khâu 3: Khâu tịnh tiến (thanh dẫn – bi cầu) truyền động đai răng

Cụm tay gắp và camera

Hình 4.1: Hình ảnh tổng thể của robot scara

Truyền động robot

4.3.1 Tính toán lựa chọn động cơ

Lựa chọn động cơ, tính mô men các khâu, chọn động cơ:

Hình 4.2: Biểu đồ hiển thị lực tác động

Công thức tính Moment động cơ: ∑ 𝑀𝑥 = 0

Lấy mô men tính được nhân với hệ số an toàn η = 1.5 ÷ 2.0 (chọn hệ số an toàn η=1.5)

Từ việc tính được moment cực đại nên chúng em chọn loại động cơ 57HS7630A4 để điều khiển khâu đầu tiên Động cơ 57HS7630A4 có các thông số như sau:

• Cường độ dòng điện định mức: 3A

Từ việc tính được moment cực đại nên chúng em chọn loại động cơ 57HS5630A4 để điều khiển khâu hai Động cơ 57HS5630A4 có các thông số như sau:

• Cường độ dòng điện định mức: 3A

Phân tích bộ truyền và thiết kế cho động cơ giữa cánh tay 1 và cánh tay 2

Cụm động cơ tiếp theo liên kết cánh tay 1 và cánh tay 2 giúp kết nối hoạt động làm việc giữa 2 cánh tay Từ việc tính toán ở bên trên nhóm chọn hộp số Harmonic có ký hiệu CSD-25-50-2UH với tỉ số truyền là 50 để thiết kế

Hình 4.9: Cụm hộp số CSF-20-50-2A-GR và động cơ 57HS5630A4

Rated torque at input speed 2000rpm

Limit for repeated peak torque

Limiit forr momentary peak torque

Limit for average input speed

Nm kgfm Nm kgfm Nm kgfm Nm kgfm Grease Grase 1x10 -

Bảng 4.3: Thông số hộp giảm tốc khớp 2

Phân tích bộ truyền và thiết kế cho động cơ giữa cánh tay 2 và khâu tịnh tiến

tịnh tiến Ở khớp này em sử dụng bộ truyền đai răng kết hợp với một bộ truyền đai răng kéo tịnh tiến con trượt trên thanh trượt, mô hình được thể hiện qua hình bên dưới

Hình 4.10: Bản vẽ kích thước của hộp giảm tốc

Bộ truyền đai răng sử dụng 2 puley có thông số như sau:

Sử dụng động cơ Nema 17

Bảng 4.4: Bảng thông số kỹ thuật động cơ nema 17

Loại động cơ Nema 17 (42mm) Điện áp 12V

- Pulley chủ động : GT2 – 20 răng trục 5mm

- Pulley bị động: GT2 – 48 răng trục 8mm

Tỉ số truyền có được: i = 𝑛2

- Để dẫn động từ động cơ sang dẫn động tịnh tiến của khâu tính tiến thì em dùng hệ thống con trượt và thanh trượt được kết nối qua một bộ truyền đai

Hình 4.11: Bộ truyền đai răng sử dụng 2 puley

- Hệ dùng dây đai răng để kết nối trục bằng một gá kẹp cố định, bộ truyền đai răng này sử dụng 2 pulley có cùng số răng (lấy tỉ số truyền trước từ động cơ)

- Ưu điểm của việc dùng thanh dẫn hướng

+ Có khả năng dẫn hướng chính xác cao, đem lại cho những chuyển động tuyến tính êm, mượt

+ Độ cứng cao cùng với khả năng chịu tải cực tốt

+ Hoạt động bền bỉ và chính xác cao trong khoảng thời gian dài hoạt động

+ Thiết kế đơn giản dễ lắp đặt

Phân tích bộ truyền và thiết kế cho động cơ giữa khâu tịnh tiến và

- Tay gắp của robot được thiết kế kết nối với trục tịnh tiến thông qua một khớp gối đỡ ổ bi KFL000 Bearing, khối này được cố định gắn với giá của cụm camera thông qua 2 bulong, đầu còn lại kết nối với trục tịnh tiến

Hình 4.12: Hệ dẫn động cho khâu tịnh tiến

Hình 4.13: Khớp nối gắn cụm camera và trục tịnh tiến

- Để tạo cơ cấu xoay cho cụm camera, nhóm dùng hệ đai răng để làm cơ cấu xoay Động cơ Nema 17 được gắn với giá của camera để động cơ quay quanh trục tịnh tiến Sử dụng 2 puly có kích thước như sau:

+ Pulley chủ động GT2 20 răng

+ Pelley bị động GT2 40 răng

- Ta có tỉ số truyền: i = 𝑛2

Phân tích cụm tay gắp, tính toán lực cho tay gắp gắp vật

vật Để robot có thể gắp vật một cách chính xác và an toàn, nhóm đã thiết kế cụm tay gắp như hình bên dưới Tay gắp được hoạt động bằng một servo tạo lực được gắn với một bánh răng có 24 răng đường kính 20 mm dẫn động truyền răng cho 2 tay gắp, trên mỗi tay gắp được bố trí một thanh răng dài để ăn khớp với bánh răng của servo tạo nên chuyển động qua lại để kẹp vật

Lực của tay gắp được tính cho bởi công thức tổng quát (phương pháp ma sát):

𝐹 𝑔 = 𝑚𝑔 sin 𝜃 à𝑛 Trong đó: m = khối lượng, kg g = gia tốc trọng trường, m/s 2 à = hệ số ma sỏt

𝜃 = góc kề phụ với phương ngang n = số cặp tiếp xúc với bề mặt

Hình : Tay gắp kẹp chặt khối vuông a Lực biểu diễn b Khối lập phương biểu diễn nhiều hướng khác nhau trong quá trình kẹp c Gắp chặt khi vật chuyển động thẳng đứng

Hình 4.14: Cụm tay gắp và phân rã của tay gắp

Lực kẹp với ma sát trong quá trính vận chuyển bình thường:

Fg : lực kẹp của tay gắp

+ Khi vật làm việc kẹp chặt vật không bị rơi theo thống kê

+ Lực kẹp cần thiết với hệ số an toàn khuyến nghị là 2 trong quá trình kẹp

+ Khi mà hệ số ma sát trong khoảng từ 0,1 đến 0,2

Trong trường hợp này, hệ số ma sát giữa tay gắp và vật là 0.2 (vật liệu mẫu: nhựa PEEK) nên ta áp dụng công thức:

Hình 4.16: Sơ đồ giải phóng kiên kết của tay gắp khi gắp vật

Chọn servo Mg90s để tạo nên lực tác động đến cánh tay kẹp, servo có thông số như sau:

Hình 4.15: Tay gắp kẹp chặt khối vuông

- Điện áp hoạt động: 4.8-5VDC

- Độ rộng xung 0,5ms ~ tương ứng 0 – 180 độ, tần số 50Hz, chu kỳ 20ms Chọn hành trình kẹp: A = Lmax – Lmin = 30 mm

Cơ cấu dùng lực kẹp từ servo RC, kéo ra kéo vào để đóng và mở tay kẹp Với hành trình kẹp A = 40 mm => mỗi tay kẹp có hành trình là T = 20 mm Tính toán xung của servo để cho ra lực kẹp của tay gắp:

Mô phỏng chuyển động của Scara Robot trong không gian làm việc 50

Từ ma trận động học thuận có được, sử dụng công cụ Matlab để vẽ lại không gian hoạt động của Robot theo các dữ kiện được cho như bảng phạm vi hoạt động của cáckhâu Sau cùng ta được hình ảnh không gian hoạt động của Robot như hình bên dưới

4.5.2 Mô phỏng, kiểm nghiệm động học thuận nghịch sử dụng phần mềm MATLAB và SOLIDWORKS

Qua các bài toán động học thuận nghịch ở trên giúp ta tính toán các vị trí của biến khớp trong không gian dựa trên vị trí và các hướng của hệ thống cơ khí Và để kiểm nghiệm lại quá trình đó ta sử dụng phần mềm MATLAB để mô phỏng lại hoạt động của cánh tay SCARA, dựa vào việc quan sát vị trí và các thông số của cánh tay được thể hiện trên giao diện qua việc mô phỏng để kết luận rằng việc tính toán động học thuận nghịch là đúng để cánh tay hoạt động chính xác a Công cụ Simcape Mutilbody Link

Simscape Multibody là một công cụ mô phỏng động lực học và động cơ học nâng cao trong môi trường MATLAB và Simulink Nó là một phần của bộ công cụ Simscape, được thiết kế để mô phỏng và phân tích hệ thống cơ khí, đa lớp và đa vùng Simscape Multibody giúp mô phỏng chính xác các hệ thống đa cấp độ tự do, bao gồm cả các loại robot, xe hơi, máy bay, và nhiều ứng dụng khác

Hình 4.18: Không gian hoạt động của Robot scara

Simscape Multibody có một liên kết với SolidWorks thông qua tích hợp SolidWorks CAD (Computer-Aided Design) và MATLAB/Simulink Nếu ta sử dụng SolidWorks và muốn mô phỏng động lực học hoặc động cơ học của các hệ thống cơ khí mà bạn thiết kế thì Simscape Multibody là một công cụ rất hữu ích

Simscape Multibody có thể tương tác trực tiếp với môi trường SolidWorks, cho phép ta nhập các mô hình cơ học từ SolidWorks vào môi trường mô phỏng của Simscape Multibody b Giao diện điều khiển mô phỏng Matlab

Hình 4.19: Giao diện điều khiển mô phỏng bằng MATLAB

Giao diện được thiết kế bới công cụ Guide trong MATLAB, giao diện

Sơ đồ 4.1: 1 Sơ đồ 4.2: Sơ đồ khối mô hình điều khiển với Matlab Simulink điều khiển gồm các thanh slider tương ứng với các giá trị để điều chỉnh các thông số của động học thuận như các biến góc theta 1, theta2, theta4, d3 và thông số của động học nghịch như tọa độ Px, Py, Pz của đầu công tác Đi kèm với các thanh slider là các Edit Tag để hiển thị trị số của các thanh slider cũng như số tọa độ của Px, Py, Pz.

HỆ THỐNG ĐIỀU KHIỂN

Yêu cầu thiết kế hệ thống điều khiển

Để chế tạo một Robot Scara đáp ứng yêu cầu phân loại sản phẩm trong công nghiệp, nhóm đã đặt ra một số mục tiêu quan trọng, đặc biệt là tập trung vào việc thiết kế hệ thống điều khiển Mục tiêu chính là đảm bảo rằng hệ thống này không chỉ vững chắc và chính xác trong cơ khí mà còn hiệu quả và an toàn trong điện tử

- Tối ưu hóa điều khiển:

Hệ thống điều khiển của Robot Scara cần được thiết kế để tối ưu hóa việc điều khiển cơ cấu chấp hành và hệ thống xử lý ảnh Điều này bao gồm việc tích hợp các thuật toán điều khiển hiệu quả, có khả năng tương tác mượt mà giữa các thành phần, đồng thời đảm bảo độ chính xác và nhanh chóng trong các phương diện khác nhau của hoạt động

- Chất lượng và giảm nhiễu: Đảm bảo chất lượng của thiết bị sử dụng là ưu tiên hàng đầu Hệ thống điều khiển cần được xây dựng với việc sử dụng các linh kiện chất lượng cao, giảm thiểu nhiễu tín hiệu để đảm bảo độ ổn định và chính xác trong quá trình hoạt động Sự đảm bảo an toàn điện cũng là một yếu tố quan trọng, đặc biệt khi làm việc trong môi trường công nghiệp

- Tính thẩm mỹ và dễ bảo trì:

Hệ thống điều khiển không chỉ cần đảm bảo tính thẩm mỹ mà còn cần có đầu nối dây gọn gàng Điều này giúp đơn giản hóa quá trình sửa chữa và bảo trì, tăng cường khả năng nhanh chóng xác định và giải quyết sự cố khi cần thiết.

Sơ đồ khối hệ thống điều khiển

Sơ đồ 5.1: Sơ đồ khối phần cứng

Trong đó, máy tính đóng vai trò là phần mềm tương tác người dùng, nơi người dùng có thể tương tác với hệ thống như điều khiển các khớp xoay, điều khiển đầu công tác, xem xử lý ảnh, bật/tắt hệ thống,…

STM32F411 Nucleo là bộ phận điều khiển, có chức năng nhận tín hiệu đầu vào từ tương tác người dùng, xử lý ảnh, để thực hiện xử lý và gửi tín hiệu đến các driver để điều khiển bộ phận chấp hành

Các động cơ step và servo đóng vai trò là bộ phận chấp hành, nhận lệnh từ bộ phận điều khiển để thực hiện việc truyền động cho robot.

Sơ đồ đấu dây

Dựa vào sơ đồ khối phần cứng, ta tiến hành đấu dây cho hệ thống:

Sơ đồ 5.2: Sơ đồ đấu dây

Các thành phần của hệ thống điều khiển

Bo mạch STM32F411RE là một nền tảng phát triển mạnh mẽ được thiết kế để hỗ trợ cộng đồng phát triển với khả năng mở rộng chức năng thông qua kết nối với Arduino và các đầu nối ST Morpho

Hình 5.1: Bo mạch điều khiển STM32F411RE

Tính năng của STM32F411RE

▪ Bộ vi điều khiển STM32 với gói LQFP64

▪ Kết nối Arduino Uno Revision 3

▪ Đầu cắm pin mở rộng STMicroelectronics Morpho để truy cập tối đa tất cả các cổng I/O STM32

▪ Chuyển đổi chế độ chọn để sử dụng bộ làm ST-LINK / V2-1 độc lập

▪ Mạch linh hoạt trong việc cung cấp điện áp

▪ USB VBUS hoặc nguồn ngoài (3.3 V, 5 V, 7 - 12 V)

▪ Giao tiếp USB (LD1), LED của người dùng (LD2), LED nguồn (LD3)

▪ Hai nút nhấn: USER và RESET

Mạch CNC Shield V3 GRBL (Arduino Compatible) được sử dụng kết hợp với mạch STM32F4 và Driver động cơ bước (A4988, DRV882) có thể dễ dàng điều khiển động cơ bước, công tắc hành trình để setup hệ thống điều khiển robot 1 cách dễ dàng

Hình 5.2: CNC Shield V3 Bảng 5.1: Bảng thống số kỹ thuật CNC Shield V3

Tương thích driver A4988 hoặc DRV8825

Thêm jumper để điều khiển full step 1/2, 1/4, 1/8, 1/16

5.4.3 Driver điều khiển động cơ bước a Driver TB6600

Driver TB6600 sử dụng IC TB6600HQ/HG, dùng cho các loại động cơ bước: 42/57/86 2 pha hoặc 4 dây, tích hợp các chức năng bảo vệ quá dòng, bảo vệ quá nhiệt, bảo vệ quá áp, bảo vệ ngắn mạch và bảo vệ ngược cực

Bảng 5.2: Bảng thông số kỹ thuật Driver TB6600

Dòng định mức Lên đến 4A cho mỗi pha, dòng tối đa có thể điều chỉnh được Điện áp cung cấp Từ 9V đến 42V

Chế độ hoạt động microstep 1/1 đến 1/32

Driver A4988 có kích thước nhỏ gọn, thường có dạng module hoặc chip nhỏ có thể lắp đặt dễ dàng trong các ứng dụng điện tử Driver A4988 tích hợp các chức năng bảo vệ quá dòng, bảo vệ quá nhiệt và bảo vệ quá áp Điều này giúp đảm bảo hoạt động an toàn và ổn định của driver và động cơ

Hình 5.4: Driver A4988 Bảng 5.3: Bảng thông số kỹ thuật Driver A4988 Điện áp cấp tối thiểu 8V Điện áp cấp cực đại 35V

Dòng cấp liên tục cho mỗi pha 1A (không cần tản nhiệt, làm mát)

2A (khi có làm mát, tản nhiệt) Độ phân giải 1/2, 1/4, 1/8, và 1/16

5.5.4 Động cơ a Động cơ bước các hệ truyền động rời rạc Nó làm việc được là nhờ có bộ chuyển mạch điện tử đưa các tín hiệu điều khiển vào stato theo một thứ tự và một tần số nhất định Khi các xung điện áp đặt vào các cuộn dây phần ứng thay đổi liên tục thì roto sẽ quay liên tục (Nhưng thực chất chuyển động đó vẫn là theo các bước rời rạc)

Hình 5.5: Động cơ bước Bảng 5.4: Bảng thông số kỹ thuật động cơ khớp 1

Kích thước 56x56x75 Đường kính trục ra 8mm

Bảng 5.5: Bảng thông số kỹ thuật động cơ khớp 2

Kích thước 56x56x57 Đường kính trục ra 8mm

Bảng 5.6: Bảng thông số kỹ thuật động cơ 3

Kích thước 42x42x34 Đường kính trục ra 5mm

Bảng 5.7: Bảng thông số kỹ thuật động cơ 4

Kích thước 42x42x34 Đường kính trục ra 5mm

Khối lượng 0.18 kg b Động cơ servo Động cơ Servo MG90S bánh răng kim loại với các bánh răng được làm bằng kim loại cho lực khéo khỏe và độ bền cao, động cơ có kích thước nhỏ gọn, phù hợp cho nhiều ứng dụng khác nhau: Robot cánh tay máy, cơ cấu chuyển hướng, cơ cấu quay góc,…

Hình 5.6: Servo MG90S Bảng 5.8: Bảng thông số kỹ thuật Servo MG90S Điện áp hoạt động 4.8 ~ 6VDC

Tốc độ 0.1 sec/ 60 deg (4.8VDC)

Webcam full HD 1080p XIAOVV XVV-6320S-USB sở hữu thiết kế nhỏ gọn, hiện đại, tích hợp micro giảm tiếng ồn cùng góc nhìn siêu rộng mang đến chất lượng hình ảnh cao với độ phân giải lên đến 1080p

Hình 5.7: Camera XIAOVV XVV 6320S Bảng 5.9: Bảng thông số kỹ thuật Camera XIAOVV XVV 6320S

5.5 Kết quả lắp đặt hệ thống điều khiển

Sau khi thiết kế và lắp đặt ta được hệ thống điều khiển hoàn chình như hình:

Hình 5.8: Kết quả lắp đặt hệ thống điều khiển

HỆ THỐNG PHẦN MỀM

Yêu cầu thiết kế hệ thống phần mềm

Hệ thống phần mềm của robot Scara cần đáp ứng các yêu cầu sau:

- Điều khiển vị trí của robot

- Hỗ trợ chế độ thủ công và tự động

- Cung cấp giao diện điều khiển người dùng

- Phân loại sản phẩm thông qua xử lý ảnh.

Sơ đồ khối hệ thống phần mềm

Sơ đồ 6.1: Sơ đồ khối phần mềm

Visual studio có vai trò tạo giao diện tương tác người dùng trên máy tính, người dùng có thể tương tác bằng cách kéo thanh trượt, nhập tọa độ, sau đó tín hiệu sẽ được gửi qua Arduino thông qua UART1 để Arduino tiến hành tính toán góc xoay để quay robot tới vị trí mong muốn Arduino cũng có thể gửi lại tọa độ và tín hiệu hoàn thành khi đã thực hiện xong chu trình trên giao diện của Visual studio Ở chế độ điều khiển tự động, pycharm là phần mềm để viết xử lí ảnh, xác định tọa độ, góc xoay và vị trí thả sau đó gửi tín hiệu qua Arduino thông qua UART2 để tính toán góc xoay và gắp thả vật đúng vị trí mong muốn Arduino cũng có thể gửi lại tín hiệu hoàn thành để Pycharm tiếp tục quá trình nhận diện và xử lý ảnh.

Các thành phần của hệ thống phần mềm

Arduino IDE là phần mềm mã nguồn mở được chủ yếu sử dụng để viết và biên dịch mã cho các module Arduino Đây là một ứng dụng chính thức của Arduino, mang lại sự thuận tiện và linh hoạt trong quá trình phát triển dự án với bo mạch Arduino

Môi trường IDE chủ yếu bao gồm hai phần quan trọng: Trình chỉnh sửa và Trình biên dịch Phần chỉnh sửa là nơi viết mã theo yêu cầu, trong khi phần biên dịch thực hiện công đoạn biên dịch và tải mã lên module Arduino

Hình 6.1: Giao diện làm việc Arduino IDE

Visual Studio 2022 của Microsoft là một môi trường phát triển tích hợp mạnh mẽ, chủ yếu được ứng dụng để phát triển chương trình máy tính cho hệ điều hành Microsoft Windows, cũng như xây dựng các trang web, ứng dụng web, và dịch vụ web Được biết đến như một trong những công cụ lập trình website hàng đầu của Microsoft, Visual Studio 2022 là không thể thiếu đối với những nhà phát triển Nó được xây dựng bằng hai ngôn ngữ chính là C# và VB+

Cả hai ngôn ngữ này đều cung cấp sức mạnh và linh hoạt cho người lập trình, đồng thời hỗ trợ việc xây dựng ứng dụng và dự án phức tạp

PyCharm là một nền tảng kết hợp được phát triển bởi JetBrains, là một Môi trường Phát triển Tích hợp (IDE) dành cho việc phát triển ứng dụng sử dụng ngôn ngữ lập trình Python PyCharm có khả năng chạy trên các hệ điều hành như Windows, Linux và Mac OS, đồng thời cung cấp các mô-đun và gói hỗ trợ giúp lập trình viên phát triển phần mềm Python một cách hiệu quả và tiết kiệm công sức

Lưu đồ giải thuật điều khiển robot

Sơ đồ 6.2: Lưu đồ điều khiển robot chế độ thủ công Ở chế độ điều khiển thủ công, đầu tiên cần khởi tạo các chân Output của driver, Input của nút nhấn chuyển đổi chế độ auto, tự động

Khởi tạo UART1 để giao tiếp truyền nhận giữa giao diện và

Arduino, chọn tốc độ baudrate là 11520, giao tiếp UART này đang ở chế độ

“Full duplex”, nghĩa là 2 thiết bị trong giao thức sẽ truyền và nhận đồng thời cả 2 thiết bị

Tín hiệu sẽ được gửi từ giao diện theo yêu cầu của người dùng sau đó thông qua Arduino tính toán xử lí và gửi về cho vi điều khiển

Khi nhận được tín hiệu điều khiển, vi điều khiển sẽ phân biệt là người dùng muốn chạy động học thuận, nghịch, lưu vị trí, xóa vị trí, chạy điểm điểm giữa các vị trí đã lưu hay auto home, set home từ đó đưa ra các lựa chọn phù hợp

- Đối với động học thuận: vi điều khiển nhận dữ liệu là góc xoay sau đó nhân với tỉ số truyền ra được xung để điều khiển khớp quay của robot

- Đối với động học nghịch: vi điều khiển nhận dữ liệu là tọa độ đầu công tác, từ đó suy ra góc xoay rồi nhân với tỉ số truyền để robot quay tới vị trí mong muốn

- Đối với lưu vị trí: dùng biến “positionsCounter” để lưu vị trí Biến này sẽ tăng dần khi được lưu và sẽ được cập nhật liên tục

Sơ đồ 6.3: Lưu đồ lưu vị trí

- Đối với việc xóa vị trí chỉ cần cho biến “positionsCounter” về 0 và các góc về 0 để xóa tất cả vị trí đã lưu

- Đối với chạy điểm điểm giữa các vị trí đã lưu: cho biến

“positionsCounter” chạy từ 0 tăng dần đến khi hết thì tiếp tục quay lại 0 chạy tiếp

Sơ đồ 6.4: Lưu đồ chạy giữa các vị trí đã lưu

- Đối với autohome là cho các góc của robot về vị trí ban đầu gọi là vị trí 0

- Đối với sethome là thiết lập vị trí hiện tại là vị trí ban đầu, các góc về 0

Sơ đồ 6.5: Lưu đồ điều khiển robot chế độ tự động Ở chế độ điều khiển tự động, sau khi khai báo các chân Input,

Output, ta cũng tiến hành khởi tạo UART2 để giao tiếp truyền nhận giữa xử lý ảnh và Arduino, chọn tốc độ baudrate là 9600, giao tiếp UART này cũng ở chế độ “Full duplex”

Sau khi camera nhận dữ liệu rồi xử lý ảnh xem thử có vật hay không, nếu không thì delay 5s và xoay sang vị trí khác để tiếp tục tìm kiếm Nếu có thì gửi dữ liệu sang Arduino để tính toán, sau đó Arduino sẽ gửi tín hiệu xung để robot tiến hành gắp thả vật Nếu ban đầu vật ở “home 1” sau khi gắp thả xong, robot sẽ quay về “home 1”, gắp cho đến khi hết vật sẽ quay sang kiểm tra “home 2” và cứ thế tiếp tục

❖ Đối với chế độ chạy tự động nhưng có thể chọn vị trí tìm vật: khi chế độ này được chọn, dữ liệu sẽ được gửi về vi điều khiển xem người dùng điều khiển robot về “home 1”, “home 2” hay “home”

Nếu ở home 1, camera sẽ nhận diện và xử lí ảnh, nếu có thì sẽ gắp thả vật đến khi hết và kết thúc chương trình, nếu không có thì sẽ kết thúc chương trình, tương tự với home 2 Còn khi home 0 được chọn, robot sẽ quay về home và kết thúc chương trình Dưới đây là lưu đồ giải thuật của chế độ này

Sơ đồ 6.6: Lưu đồ điều khiển robot chế độ tự động có thể chọn vị trí gắp

Chương trình điều khiển

Giao diện điều khiển trên Visual studio gồm 4 thành phần chính: Phần kết nối, phần thông tin, phần điều khiển thủ công và phần điều khiển tự động Mỗi phần sẽ có chức năng khác nhau và có vai trò nhất định trong giao diện điều khiển

Hình 6.4: Giao diện điều khiển a Phần kết nối

Chức năng chính của phần này là thực hiện kết nối đến vi điều khiển Bao gồm ô chọn cổng kết nối, ô thiết lập Baudrate, nút nhấn kết nối, nút tắt chương trình Người dùng sẽ nhập thông tin cổng kết nối và tốc độ baudrate, sau đó nhấn nút “DISCONNETED” để kết nối đến vi điều khiển Khi nút nhấn chuyển sang màu xanh và hiện lên “CONNETED” là đã kết nối thành công

Hình 6.5: Phần kết nối 1 b Phần thông tin

Chức năng chính của phần này là để hiển thị thông tin các góc quay điều khiển và vị trí hiện tại của Delta robot Bao gồm các thanh trượt, ô nhập và hiển thị giá trị góc, 2 nút nhấn, các ô nhập và hiển thị giá trị tọa độ

+ Người dùng có thể nhập giá trị góc mong muốn vào ô nhập giá trị góc hoặc điều khiển con trượt và nhấn nút “GO” để điều khiển Robot đến vị trí có giá trị góc tương ứng, đồng thời các ô hiển thị tọa độ sẽ cập nhật lại vị trí hiện tại của robot

+ Người dùng cũng có thể nhập tọa độ vị trí mong muốn vào ô nhập giá trị tọa độ và nhấn nút “RUN” để điều khiển Robot đến vị trí có tọa độ tương ứng, đồng thời cập nhật lại giá trị các góc theta hiện tại của robot

+ Người dùng có thể điều chỉnh tốc độ băng tải và vị trí tay gắp thông qua việc nhập giá trị hay di chuyển thanh trượt tương ứng

+ Ngoài ra người dùng còn có thể bấm nút return (dấu mũi tên vòng tròn) để trở về giá trị mặc định hoặc bấm nút reset để reset toàn bộ góc xoay của robot

Hình 6.6: Phần kết nối 2 c Phần điều khiển thủ công

Chức năng chính là điều khiển robot chuyển động theo mong muốn bằng thao tác trên giao diện Bao gồm phần động học thuận, động học nghịch, phần điều khiển tốc độ robot, phần điều khiển tay gắp, phần set home và phần lưu vị trí để chạy tự động giữa các vị trí Nút “autohome” để đưa robot về home, “set home” để thiết lập vị trí đó là home

Nút “REC position” để lưu vị trí, nút “return” (mũi tên vòng tròn) để xóa vị trí và nút “Run program” đề chạy tự động giữa các vị trí d Phần điều khiển tự động

Bấm vào tab Automode để qua chế độ chạy tự động

Hình 6.7: Phần điều khiển tự động

- Khi chuyển qua chế độ chạy tự động, robot sẽ nhận dữ liệu từ camera để gắp thả vật và tiến hành đếm, phân loại đối tượng, đồng thời hiển thị tọa độ góc xoay và vị trí thả của đối tượng

Hình 6.8: Hiển thị tọa độ và đếm đối tượng

- Khi muốn di chuyển qua lại thủ công giữa các vị trí để gắp thả vật thì bấm vào nút “CONNECT” Khi muốn thoát chế độ này bấm nút “STOP”

Hình 6.9: Chọn vị trí tìm kiếm sản phẩm trong chế độ tự động

Khởi tạo các chân INPUT_PULLUP để khởi tạo nút nhấn chuyển đổi chế độ thủ công, tự động, khởi tạo các chân OUTPUT cho driver điều khiển động cơ

Sử dụng thư viện SoftwareSerial để khai báo cổng Serial:

Sử dụng thư viện CommandHandler giúp dễ dàng xác định và thực thi các hành động tương ứng với các lệnh được gửi từ bên ngoài:

Sử dụng thư viện ArduinoJson để nhận và tách chuỗi:

Sử dụng thư viện Servo để điều khiển servo:

600 là độ rộng xung tương ứng với góc quay nhỏ nhất, 2500 là độ rộng xung tương ứng với góc quay lớn nhất

Sử dụng thư viện AccelStepper để điều khiển tốc độ và gia tốc cho động cơ

Câu lệnh Mô tả setMaxSpeed Đặt tốc độ tối đa mà động cơ bước có thể đạt được moveTo Di chuyển động cơ đến vị trí tuyệt đối được chỉ định run Cập nhật trạng thái của động cơ để giữ cho nó di chuyển với tốc độ và gia tốc được đặt trước đó setCurrentPosition Thiết lập vị trí hiện tại của động cơ bước Điều khiển thủ công và tự động (mục 6.4)

Phần mềm xử lý ảnh

a) Lưu đồ tổng quát của giải thuật xử lý ảnh

Sơ đồ 6.7: Lưu đồ giải thuật xử lý ảnh b) Quy trình nhận diện của mã qr code

Bước 1: Xử lý video qua giao tiếp webcam Đầu tiên, ta cần phải chụp hình trực tiếp từ camera Và để thực hiện việc này thư viện OpenCV đã cung cấp cho ta một hàm đơn giản VideoCapture()

Ta cần tạo một đối tượng VideoCapture tên cap với tham số hoặc là chỉ số thiết bị hoặc là tên của tệp video Chỉ số thiết bị là số chỉ định camera nào được kết nối, trong trường hợp này chỉ số của usb webcam sử dụng là 1 cap = cv2.VideoCapture(1)

Hàm read() chụp ảnh từ cap trả về biến img, nếu chụp thành công biến ret trả về True nếu không ret trả về False

Bước 2: Xác định mã qr trong ảnh decodedObjects = pyzbar.decode(img)

Bước 3: Tiến hành vẽ đường biên và xác định tâm của mã qr

Ta vẽ đường biên và lấy đỉnh của mã qr bằng các lệnh sau: for c in decodedObjects: x, y, w, h = c.rect

# Lấy các đỉnh của mã QR pts = c.polygon

# Vẽ các đường thẳng nối các đỉnh if len(pts) > 4: pts = pts[:4] # Chỉ lấy 4 đỉnh đầu tiên nếu có nhiều hơn

Ta xác định tâm của mã qr thông qua 4 đường biên của mã qr qr_x = x + w // 2 qr_y = y + h // 2

Bước 4 : Tính toán góc quay của mã qr

Ta tính toán góc quay của mã qr bằng lệnh sau : angle_rad = math.atan2(pts[1][1] - pts[0][1], pts[1][0] - pts[0][0]) angle_deg = np.degrees(angle_rad) angle = np.round(angle_deg, decimals=0, out=None)

Bước 5: Chuyển đổi hệ trục tọa độ thực và ảo để robot có thể xác định được vị trí mã qr code

Chuyển đổi tọa độ trên khung ảnh sang tọa độ trên mặt phẳng thực tế

Kích thước thực tế đo từ khung hình 480*640 là 53.33 *71.11(mm)

Nên ta có : 1 pixel = 0.111111111 (mm)

Gọi hệ trục tọa độ khung ảnh là OCxCyC, hệ trục đầu công tác robot là OTxTyT

Ta đo được khoảng cách OCOT theo trục y là 45, OCOT theo trục x là 85 Giả sử một điểm A bất kỳ có tọa độ :

Sơ đồ 6.8: Biễu diễn 2 hệ trục tọa độ lên trên mặt phẳng

Mà từ 2 hệ trục tọa độ ta nhận thấy tia OCxC và OTyT cùng phương cùng chiều và tia OCyC và OTxT cùng phương cùng chiều Nên ta do được tọa độ x,y trong hệ tọa độ của đầu công tác là

Ma trận động học thuận :

[ cos(𝑡 1 + 𝑡 2 − 𝑡 3 ) sin(𝑡 1 + 𝑡 2 − 𝑡 3 ) 0 l2 ∗ cos(𝑡 1 + 𝑡 2 ) + l1 ∗ cos(𝑡 1 ) sin(𝑡 1 + 𝑡 2 − 𝑡 3 ) −cos(𝑡 1 + 𝑡 2 − 𝑡 3 ) 0 l2 ∗ sin(𝑡 1 + 𝑡 2 ) + l1 ∗ sin(𝑡 1 )

Tại vì Robot nhận diện được trong 2 vị trí chụp nên ta tính ra được vị trí cuối cùng của vật trong hệ tọa độ robot với 2 trường hợp :

[ cos(𝑡 1 + 𝑡 2 − 𝑡 3 ) sin(𝑡 1 + 𝑡 2 − 𝑡 3 ) 0 l2 ∗ cos(𝑡 1 + 𝑡 2 ) + l1 ∗ cos(𝑡 1 ) sin(𝑡 1 + 𝑡 2 − 𝑡 3 ) −cos(𝑡 1 + 𝑡 2 − 𝑡 3 ) 0 l2 ∗ sin(𝑡 1 + 𝑡 2 ) + l1 ∗ sin(𝑡 1 )

[ cos(𝑡 1 + 𝑡 2 − 𝑡 3 ) sin(𝑡 1 + 𝑡 2 − 𝑡 3 ) 0 l2 ∗ cos(𝑡 1 + 𝑡 2 ) + l1 ∗ cos(𝑡 1 ) sin(𝑡 1 + 𝑡 2 − 𝑡 3 ) −cos(𝑡 1 + 𝑡 2 − 𝑡 3 ) 0 l2 ∗ sin(𝑡 1 + 𝑡 2 ) + l1 ∗ sin(𝑡 1 )

Từ đó ta tính được vị trí tọa độ cúi cùng của vật thể để robot có thể di chuyển tới và gắp sản phẩm

THỰC NGHIỆM, ĐÁNH GIÁ VÀ KẾT LUẬN

Thực nghiệm

7.1.1 Kết quả hệ thống thực tế và phần mềm điều khiển a) Kết quả hình ảnh:

Hình 7.1: Phần cơ khí của robot

Hình 7.2: Phần điện của robot

Quy trình thực hiện phân loại manual và auto:

-Thực hiện chế độ manual:

+Bước 1: Di chuyển robot tới vị trí số 1 hoặc số 2

+Bước 2: Nếu có hàng robot sẽ tiến hành nhận dạng và phân loại

+Bước 3: Nếu còn hàng robot sẽ tiếp tục phân loại nếu hết thì robot dừng

+Bước 4: Ta có thể để hàng vào tiếp và tiếp tục nhận dạng hoặc để vật ở vị trí khác và bấm nút di chuyển tới vị trị đó để bắt đầu nhận diện

-Thực hiện chế độ auto:

+Bước 1: Robot sẽ tự động di chuyển tới từng vị trí

+Bước 2: Nếu có vật robot sẽ tiến hành nhận diện và phân loại

+Bước 3: Robot sẽ nhận diện và phân loại tới khi hết hàng ở vị trí đó thì sẽ sang vị trí khác để phân loại

+Bước 4: Nếu robot đi qua đi lại 2 vị trí 2 lần và vẫn không có vật thì sẽ dừng

Ta tiến hành thực nghiệm với nhiều trường hợp:

Sau khi ta cho robot vận hành với trường hợp thì ta được kết quả như sau:

Bảng 7.1: Bảng thực nghiệm tổng quát của robot

Bảng 7.2: Bảng thực nghiệm tọa độ di chuyển của robot

Sau khi ta thử nghiệm ở nhiều trường hợp thì robot đều gắp đúng vị trí và lâu stt Số lượng sản phẩm phân loại

Số lần phân loại đúng vị trí

Số lần phân loại sai vị trí

Số lần Tọa độ tính toán Tọa dộ thực tế

Px Py Pz Góc Px Py Pz Góc

5 305.14 -10.84 120 15 304 -10 120 15 lâu sẽ có lỗi 1 vị trí Trường hợp robot nhận diện và gắp sai vị trí có xảy ra nhưng rất ít Robot chạy chậm nhưng khá chính xác, độ ổn định cao Vì Robot sử dụng động cơ bước để hoạt động nên khi chạy với tốc độ cao thì robot sẽ dễ bị trượt bước dẫn đến chạy sai vị trí và không chính xác nên ta để robot chạy tốc độ chậm vừa phải để có kết quả tốt nhất

Dưới đây là 1 vài hình ảnh robot di chuyển tới tọa độ và gắp vật:

Hình 7.3: Nhận diện của mã qr trong tọa độ thực của vật thể 1

Hình 7.4: Robot di chuyển tới vị trí vật thể 1 và gắp vật

Hình 7.5: Nhận diện của mã qr trong tọa độ thực của vật thể 2

Hình 7.6: Robot di chuyển tới vị trí vật thể 2 và gắp vật

Đánh giá

• Robot có thể gắp được các vùng camera khác nhau từ đó có thể gắp được nhiều mở rộng không gian hoạt động và cải thiện sự linh hoạt của robot

• Robot có thể quét được mã qr khá chính xác và nhanh chóng và mã qr cũng lưu trữ vị trí kho tốt hơn nên khi phân loại sẽ dễ dàng hơn

• Robot gọn nhẹ có thể dễ dàng di chuyển

• Robot gắp và phân loại khá chính xác

• Robot sử dụng động cơ bước nên dễ bị trượt bước dẫn đến nhiều lúc không chính xác nhưng ít khi xảy ra

• Vùng chụp còn hạn chế

• Lúc di chuyển còn kêu tiếng ồn nhiều

• Lúc về home phải chỉnh tay

• Không quét được mã qr nếu điều kiện ánh sáng không đủ

• Quy trình nhận diện và phân loại vẫn còn hạn chế về thời gian

Kết luận

Sau thời gian thực hiền đề tài :“ NGHIÊN CỨU, CHẾ TẠO ROBOT SCARA TÍCH HỢP CAMERA ĐỂ PHÂN LOẠI SẢN PHẨM THEO MÃ QR CODE” cùng với sự hướng dẫn tận tình và nhiệt huyết của giáo viên hướng dẫn kết hợp với sự nỗ lực, cố gắng của các thành viên trong nhóm đã giúp nhóm chúng em hoàn thành đồ án tốt nghiệp với những nội dung sau:

• Tìm hiểu về nhu cầu sử dụng robot trên thị trường

• Tìm hiểu và phân thích từng phiên bản của từng loại robot từ đó nhóm chọn robot scara

• Lên kế hoạnh, thiết kế phương án mới

• Vẽ mô hình trên solidworks 3d

• Tính toán, chọn phương án thiết kế

• Mô phỏng robot về động học thuận và nghịch trên matlab

• Mua vật liệu, đồ dùng cần thiết

• Gia công, chế tạo những chi tiết trên bản vẽ

• Lắp ráp hoàn thiện máy

• Ứng dụng được xử lý ảnh để phân loại vật

• Chạy thử nghiệm khắc phục lỗi phát sinh

Hướng phát triển

− Ứng dụng thêm xử lý ảnh về nhận diện màu sắc để robot có thể phân loại được nhiều vật hơn

− Cải thiện phần cơ khí và điện để robot có thể chạy êm hơn không còn gây ra tiếng ồn lớn

− Cập nhật thêm ghi nhớ vùng chụp cho robot để có thể linh hoạt hơn không còn bị giới hạn về vùng chụp

− Thay đổi động cơ bước thành servo để robot di chuyển không bị trật bước từ đó di chuyển chính xác và đạt năng suất cao hơn

− Tính toán thêm phần biến dạng của máy ảnh để ảnh có thể nhận diện chính xác hơn

Ngày đăng: 07/06/2024, 16:31

HÌNH ẢNH LIÊN QUAN

Hình 2.2: Robot scara của hãng ABB - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 2.2 Robot scara của hãng ABB (Trang 19)
Hình 2.3: Cấu trúc của Scara robot - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 2.3 Cấu trúc của Scara robot (Trang 20)
Hình 2.4: Ứng dụng của robot scara trong lắp ráp, gắp thả - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 2.4 Ứng dụng của robot scara trong lắp ráp, gắp thả (Trang 22)
Hình 2.7: Ứng dụng xử lý ảnh trong việc sản xuất thuốc - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 2.7 Ứng dụng xử lý ảnh trong việc sản xuất thuốc (Trang 25)
Hình 2.8: Ứng dụng xử lý ảnh trong quân đội - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 2.8 Ứng dụng xử lý ảnh trong quân đội (Trang 26)
Hình 3.3:  Cách truyền dữ liệu uart - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 3.3 Cách truyền dữ liệu uart (Trang 38)
Hình 3.4: Một vài ví dụ về xử lý ảnh giảm nhiễu - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 3.4 Một vài ví dụ về xử lý ảnh giảm nhiễu (Trang 41)
Hình 3.6: Tiêu chuẩn của mã QR Code - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 3.6 Tiêu chuẩn của mã QR Code (Trang 43)
Hình 3.5: Hình ảnh mã QR Code - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 3.5 Hình ảnh mã QR Code (Trang 43)
Hình 4.2: Biểu đồ hiển thị lực tác động - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 4.2 Biểu đồ hiển thị lực tác động (Trang 50)
Hình 4.8:  Bản vẽ kích thước của hộp giảm tốc - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 4.8 Bản vẽ kích thước của hộp giảm tốc (Trang 56)
Bảng 4.4:   Bảng thông số kỹ thuật động cơ nema 17 - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Bảng 4.4 Bảng thông số kỹ thuật động cơ nema 17 (Trang 58)
Hình 4.12: Hệ dẫn động cho khâu tịnh tiến - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 4.12 Hệ dẫn động cho khâu tịnh tiến (Trang 59)
Hình 4.13: Khớp nối gắn cụm camera và trục tịnh tiến - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 4.13 Khớp nối gắn cụm camera và trục tịnh tiến (Trang 60)
Hình 4.17:  Servo SG90 - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 4.17 Servo SG90 (Trang 63)
Hình 4.18: Không gian hoạt động của Robot - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 4.18 Không gian hoạt động của Robot (Trang 64)
5.3. Sơ đồ đấu dây - thiết kế chế tạo và điều khiển robot scara tích hợp camera
5.3. Sơ đồ đấu dây (Trang 68)
Hình 5.1: Bo mạch điều khiển STM32F411RE - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 5.1 Bo mạch điều khiển STM32F411RE (Trang 69)
6.2. Sơ đồ khối hệ thống phần mềm - thiết kế chế tạo và điều khiển robot scara tích hợp camera
6.2. Sơ đồ khối hệ thống phần mềm (Trang 76)
Sơ đồ 6.2: Lưu đồ điều khiển robot chế độ thủ công - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Sơ đồ 6.2 Lưu đồ điều khiển robot chế độ thủ công (Trang 79)
Sơ đồ 6.5: Lưu đồ điều khiển robot chế độ tự động - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Sơ đồ 6.5 Lưu đồ điều khiển robot chế độ tự động (Trang 81)
Sơ đồ 6.6: Lưu đồ điều khiển robot chế độ tự động có thể chọn vị trí gắp - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Sơ đồ 6.6 Lưu đồ điều khiển robot chế độ tự động có thể chọn vị trí gắp (Trang 82)
Hình 6.4: Giao diện điều khiển - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 6.4 Giao diện điều khiển (Trang 82)
Sơ đồ 6.7:  Lưu đồ giải thuật xử lý ảnh - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Sơ đồ 6.7 Lưu đồ giải thuật xử lý ảnh (Trang 87)
Hình 7.1: Phần cơ khí của robot - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 7.1 Phần cơ khí của robot (Trang 91)
Hình 7.2: Phần điện của robot - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 7.2 Phần điện của robot (Trang 92)
Hình 7.3: Nhận diện của mã qr trong tọa độ thực của vật thể 1 - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 7.3 Nhận diện của mã qr trong tọa độ thực của vật thể 1 (Trang 94)
Hình 7.4: Robot di chuyển tới vị trí vật thể 1 và gắp vật - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 7.4 Robot di chuyển tới vị trí vật thể 1 và gắp vật (Trang 95)
Hình 7.5: Nhận diện của mã qr trong tọa độ thực của vật thể 2 - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 7.5 Nhận diện của mã qr trong tọa độ thực của vật thể 2 (Trang 96)
Hình 7.6: Robot di chuyển tới vị trí vật thể 2 và gắp vật - thiết kế chế tạo và điều khiển robot scara tích hợp camera
Hình 7.6 Robot di chuyển tới vị trí vật thể 2 và gắp vật (Trang 96)

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

TÀI LIỆU LIÊN QUAN

w