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

MÔ PHỎNG TAY ROBOT 5 bậc, có CODE

65 12 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 đề Mô Phỏng Tay Robot 5 Bậc, Có Code
Định dạng
Số trang 65
Dung lượng 8 MB

Cấu trúc

  • CHƯƠNG I TỔNG QUAN VỀ ROBOT

    • 1.1 Sơ lược về quá trình phát triển Robot

    • 1.3 Định nghĩa về Robot

    • 1.3 PHÂN LOẠI ROBOT

      • 1.3.1 ROBOT CÔNG NGHIỆP

      • 1.3.2 ROBOT DỊCH VỤ

    • 1.4 ƯU ĐIỂM VÀ NHƯỢC ĐIỂM, ỨNG DỤNG

      • 1.4.1 ƯU ĐIỂM

      • 1.4.2 NHƯỢC ĐIỂM

      • 1.4.3 ỨNG DỤNG

    • 1.5 CẤU TRÚC CỦA MỘT HỆ THỐNG ROBOT

      • 1.5.1 PHẦN CỨNG

      • 1.5.2 PHẦN MỀM

  • CHƯƠNG II NỀN TẢNG

    • 2.3 CẤU TRÚC CÁNH TAY ROBOT

      • 2.1.1 Các thành phần cơ bản

      • 2.1.2 TAY MÁY

      • 2.1.3 KHÂU

      • 2.1.4 KHỚP

      • 2.1.5 KHỚP CỔ TAY

      • 2.1.6 TAY GẮP (End Effector)

      • 2.1.7 CẢM BIẾN

    • 2.2 CẤU TRÚC KHÔNG GIAN HOẠT ĐỘNG WORKSPACE

    • 2.3 ĐIỀU KHIỂN TAY MÁY

      • 2.3.1 Hệ THỐNG NGUỒN DẪN ĐỘNG

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

  • CHƯƠNG III THIẾT KẾ VÀ THI CÔNG MÔ PHỎNG TAY ROBOT 5 BẬC

    • 3.1 VẼ VÀ THIẾT KẾ ROBOT BẰNG PHẦN MỀM SOLIWORKS 2018

    • 3.2 ĐẶT HỆ TRỤC TỌA ĐỘ CHO ROBOT

    • 3.3 TÍNH TOÁN BẢNG D-H CỦA ROBOT ĐÃ THIẾT KẾ

    • 3.4 ĐỘNG HỌC THUẬN

    • 3.5 ĐỘNG HỌC NGHỊCH

      • 3.5.1 TÍNH TOÁN THEO PHƯƠNG PHÁP ĐẠI SỐ

      • 3.5.2 TÍNH TOÁN THEO PHƯƠNG PHÁP HÌNH HỌC

    • 3.6 THIẾT KẾ BẢNG ĐIỀU KHIỂN ROBOT TRÊN MATLAB R2016A

    • 3.7 SƠ ĐỒ GIẢI THUẬT

    • 3.8 CODE BẢNG ĐIỀU KHIỂN KẾT NỐI SIMULINK

    • 3.8 QUY HOẠCH QUỸ ĐẠO – WORK SPACE

  • CHƯƠNG IV : KẾT QUẢ

    • 4.1 KẾT QUẢ MÔ PHỎNG

    • 4.2 KẾT LUẬN

    • 4.3 HƯỚNG PHÁT TRIỂN

  • TÀI LIỆU THAM KHẢO

Nội dung

TỔNG QUAN VỀ ROBOT

Sơ Lược Về Quá Trình Phát Triển Robot

Vào những năm 80 và 90, sự phát triển mạnh mẽ của vi xử lý và công nghệ thông tin đã dẫn đến sự gia tăng đáng kể số lượng robot công nghiệp Điều này không chỉ làm giảm giá thành mà còn cải thiện tính năng của chúng một cách vượt bậc Nhờ đó, robot công nghiệp đã trở thành một phần quan trọng trong các dây chuyền sản xuất hiện đại.

Hiện nay, lĩnh vực khoa học về robot đã phát triển mạnh mẽ, bao gồm các khía cạnh như cấu trúc cơ bản, động học, cảm biến tín hiệu, điều khiển chuyển động và lập trình quỹ đạo.

Robot công nghiệp là thiết bị tự động linh hoạt, có khả năng mô phỏng các chức năng lao động của con người trong môi trường công nghiệp Chúng có khả năng thao tác với nhiều bậc tự do và có thể được lập trình lại để thực hiện các nhiệm vụ khác nhau Sự linh hoạt này cho phép robot công nghiệp đảm nhận từ những công việc lao động chân tay đơn giản đến các nhiệm vụ yêu cầu trí tuệ nhân tạo, tùy thuộc vào yêu cầu cụ thể của từng loại công việc.

LỊCH SỬ CỦA KỸ THUẬT ROBOT

Vào năm 1801, Jacquad đã phát minh ra cỗ máy dệt đầu tiên sử dụng bìa đục lỗ để xác định hình ảnh cần dệt, đánh dấu một trong những bước tiến quan trọng trong công nghệ tự động hóa thời bấy giờ.

Hình 1.1 Máy dệt tự động đầu tiên bằng máy đục lỗ và chân dung Jacquard

Vào năm 1738, Vaucauson cũng đã chế tạo ra con vịt máy được chạy và điều khiển hoàn toàn bằng cơ khí, con vịt này có thể di chuyển, bơi,…

Hình 1.2 minh họa sơ đồ của vịt máy Vaucauson, đánh dấu giai đoạn đầu của công nghệ tự động hóa Với mục tiêu chế tạo người máy nhằm thay thế và phục vụ con người, từ nhiều thế kỷ trước, các nhà khoa học và kỹ sư đã nỗ lực thiết kế những máy móc có hình dáng và khả năng thực hiện các hoạt động của con người Năm 1865, tạp chí American Magazine đã đăng tải một câu chuyện khoa học viễn tưởng về người máy di chuyển bằng hai chân, hoạt động nhờ hơi nước, được gọi là Steam Man (Người máy hơi nước).

Hình 1.3 Câu chuyện viễn tưởng về Người hơi nước

Vào năm 1968, R.S Mosher tại công ty General Electric đã chế tạo robot đầu tiên có khả năng di chuyển bằng bốn chân Robot này sử dụng động cơ thủy lực công suất 68kW, với mỗi chân được điều khiển bởi một động cơ servo thủy lực, và tất cả đều được điều khiển bởi con người.

Hình 1.4 Robot di chuyển bằng 4 chân

Kỷ nguyên robot bắt đầu vào năm 1954 với sự ra đời của tay máy đầu tiên do George Devol phát triển, có khả năng thực hiện các chuyển động lặp lại Robot công nghiệp đầu tiên, được sản xuất bởi Unimation Inc, đã được lắp đặt tại General Motors vào năm 1961, giúp tối ưu hóa quy trình đúc kim loại trong dây chuyền sản xuất.

Hình 1.5 Robot công nghiệp đầu tiên của thế giới lắp đặt tại General Motors 1961

Vào thập niên 1980, ngành công nghiệp robot phát triển mạnh mẽ nhờ vào sự đầu tư lớn vào ngành công nghiệp ô tô Robot lập trình đầu tiên trên thế giới được thiết kế bởi George Devol vào năm 1954, và ông đã thành lập Unimation, đưa robot thương mại đầu tiên ra thị trường vào năm 1959 Từ đó, cánh tay robot trở nên phổ biến trong công nghiệp, và sự phát triển của robot công nghiệp bùng nổ từ năm 1980 Tuy nhiên, bước sang thế kỷ XXI, sự phát triển của robot công nghiệp chậm lại, nhường chỗ cho sự phát triển của robot dịch vụ và y sinh.

Định Nghĩa Về Robot

Robot, hay còn gọi là người máy, là thiết bị có khả năng thực hiện công việc tự động thông qua sự điều khiển của máy tính hoặc vi mạch điện tử được lập trình Đây là những tác nhân cơ khí, nhân tạo và ảo, thường được cấu thành từ hệ thống cơ khí-điện tử.

Cánh tay robot là một thiết bị tự động đa năng, có khả năng lập trình để thực hiện nhiều chức năng khác nhau Nó được sử dụng để di chuyển vật liệu hoặc thực hiện các công việc đặc biệt thông qua những chuyển động đã được cài đặt sẵn, nhằm hoàn thành các nhiệm vụ đa dạng một cách hiệu quả.

Từ 'Robot' có hai nghĩa chính: robot cơ khí và phần mềm tự động Sự đa dạng trong mức độ tự động hóa của hệ thống cơ điện tử khiến ranh giới giữa robot và các công nghệ khác trở nên mờ nhạt Trong lĩnh vực này, Mỹ và Nhật Bản là hai quốc gia tiên phong trên thế giới.

Theo các nhà nghiên cứu thuộc trường phái S-E-V, robot công nghiệp là những máy móc tự động được lập trình để thực hiện việc di chuyển các đối tượng khác nhau, nhằm mục đích tự động hóa quy trình sản xuất.

Theo chuẩn ASNOR từ Pháp, robot được định nghĩa là một cơ cấu tự động có khả năng lập trình, lặp lại các chương trình và thực hiện các nhiệm vụ công nghiệp Robot có khả năng di chuyển và định vị các đối tượng vật chất, chi tiết và đạo cụ theo những hành trình được lập trình trước, nhằm đáp ứng các yêu cầu sản xuất đa dạng.

Theo tiêu chuẩn GHOST-1980, robot được định nghĩa là một máy tự động kết hợp giữa tay máy và hệ thống điều khiển, có khả năng thực hiện một chu trình công nghệ một cách chủ động, thay thế những chức năng tương tự của con người.

Robotic là một ngành khoa học nghiên cứu thiết kế và chế tạo robot, với ứng dụng rộng rãi trong nhiều lĩnh vực như khoa học kỹ thuật và kinh tế Ngành này kết hợp các lĩnh vực cơ khí, điện tử, kỹ thuật điều khiển và công nghệ thông tin, tạo ra những giải pháp tiên tiến phục vụ cho sự phát triển của xã hội.

Phân Loại Robot

Robot được phân loại dựa trên chức năng thiết kế và nhu cầu thị trường Theo hiệp hội quốc tế nghiên cứu về robot, hiện nay có hai loại chính: Robot công nghiệp và Robot dịch vụ.

Có thể lập trình: Các chuyển động và chức năng phụ có thể được thay đổi mà không cần thay đổi phần cứng Đa mục đích: Thiết bị có khả năng thích nghi với nhiều ứng dụng khác nhau khi cấu hình vật lý được điều chỉnh.

Thay đổi cấu hình phần cứng (các thay đổi vật lý) liên quan đến việc điều chỉnh cấu trúc cơ khí hoặc hệ thống điều khiển mà không cần can thiệp vào chương trình hay ROM.

Theo Viện Nghiên cứu Robot của Mỹ, robot được định nghĩa là những cánh tay máy đa năng, hoạt động dựa trên các chương trình đã được lập trình sẵn nhằm hoàn thành và nâng cao hiệu quả cho nhiều nhiệm vụ khác nhau trong ngành công nghiệp.

Hình 1.7 Robot công nghiệp trong sản xuất ô tô

Theo tiêu chuẩn của Nga, robot công nghiệp là máy tự động, có thể cố định hoặc di động, liên kết tay máy với hệ thống điều khiển để thực hiện chức năng vận động trong sản xuất Robot công nghiệp được hiểu là thiết bị tự động linh hoạt, hoạt động theo chương trình đã được lập trình sẵn Chúng ngày càng trở thành phần không thể thiếu trong hệ thống sản xuất linh hoạt.

Robot dịch vụ hiện nay vẫn chưa có định nghĩa chính xác, nhưng theo Hiệp hội Nghiên cứu Robot, chúng được mô tả là những robot hoạt động tự động hoặc bán tự động, nhằm thực hiện các nhiệm vụ hữu ích cho máy móc và nâng cao sự tiện nghi, phong phú trong cuộc sống con người.

Robot dịch vụ được chia làm 2 loại là dịch vụ cá nhân và dịch vụ chuyên nghiệp.

Robot dịch vụ cá nhân là công nghệ tiên tiến được sử dụng trong giáo dục, trợ giúp và giải trí tại gia đình Chúng có thể hỗ trợ công việc nhà, giúp đỡ người tàn tật, hoặc thậm chí trở thành bạn đồng hành và thú cưng cho mọi người.

Robot dịch vụ dạng chuyên nghiệp thì dành cho việc phục vụ các công việc công cộng hoặc chuyên nghiệp.

Hình 1.8 Bảng phân loại Robot dịch vụ

Ưu Điểm Và Nhược Điểm, Ứng Dụng

Chắc chắn một điều là robot sẽ giúp làm tăng năng suất lao động, hiệu quả, an toàn, chất lượng và tính đồng nhất của sản phẩm.

Robot không cần môi trường làm việc tiện nghi và có khả năng hoạt động trong các điều kiện nguy hiểm mà không cần thiết bị hỗ trợ Chúng có thể làm việc liên tục mà không gây hư hỏng sản phẩm hay sai lệch trong quá trình sản xuất Với khả năng thực hiện các nhiệm vụ lặp đi lặp lại một cách chính xác, robot có thể hoàn thành công việc hiệu quả hơn con người Ngoài ra, chúng còn có thể thực hiện nhiều nhiệm vụ cùng lúc và làm việc một cách ngắn gọn nhất.

- Ngoài ra Robot còn giúp giảm được các chi phí liên quan đến chi phí vận hành và nguồn lao động.

- Thay thế con người tạo ra năng suất và hiệu quả kinh tế.

- Robot thường sẽ không có khả năng đáp ứng những trường hợp khẩn cấp.

Hệ thống Do hoạt động dựa trên cơ chế tự động hóa và được điều khiển bằng máy tính, điều này làm tăng nguy cơ bị hack xâm nhập Khi hệ thống bị tấn công, nó có thể dẫn đến tình trạng trì trệ và gây ra thiệt hại nghiêm trọng.

- Khó để vận hành, chi phí bảo dường cao, nó đòi hỏi người điều khiển phải có kinh nghiệm và hiểu biết, kỹ năng tay nghề cao.

- Gía thành lại quá cao, giá lắp đặt, cần các thiết bị ngoại vi, chi phí huấn luyện, lập trình,…

Hiện nay, robot được xem là thiết bị tích hợp nhiều lĩnh vực khác nhau, với nhiều ứng dụng phức tạp đòi hỏi khả năng thực hiện động tác tinh vi và cảm nhận đa dạng.

Ví dụ như trong công nghiệp :

- Lắp đặt vật liệu, hànm, mài và sơn.

- Phục vụ làm công cụ, làm khuôn trong công nghiệp, …

Hay ứng dụng ở trong phòng thí nghiệm:

Robot được sử dụng để thực hiện các công việc thủ công và thực hiện các nhiệm vụ được lập trình sẵn Chúng có ứng dụng rộng rãi trong những khu vực nguy hiểm như khu vực nhiễm xạ hoặc đại dương, cũng như trong việc bốc dỡ hàng hóa, vật liệu và phôi có trọng lượng lớn trong các ngành công nghiệp nặng Đặc biệt, robot ngày càng được áp dụng nhiều trong lĩnh vực nông nghiệp.

Robot trong nông nghiệp hiện nay đảm nhiệm nhiều công việc như cắt lúa, tuốt lúa, cắt long cừu và mổ thịt, giúp giảm thiểu các công việc lặp đi lặp lại Những ứng dụng này không chỉ tiết kiệm thời gian mà còn yêu cầu sự phối hợp tay nghề cao và độ chính xác cao trong các thao tác Sự phát triển của robot trong không gian nông nghiệp đang mở ra nhiều cơ hội mới cho ngành này.

Tay máy robot được thiết kế để nâng cao khả năng bốc dỡ hàng hóa tiếp tế và lắp ghép với các trạm không gian khác Những xe tự hành trang bị tay máy linh hoạt có chức năng đa dụng trong các trạm không gian, bao gồm bảo trì vệ tinh và xây dựng công trình trong không gian.

Hay ứng dụng trong tàu lặn dưới đại dương, trong giáo dục, trong sinh hoạt giải trí hay đặc biệt ý nghĩa là trong hỗ trợ người tàn tật,…

Cấu Trúc Của Một Hệ Thống Robot

Tất cả các robot đều được cấu thành từ những thành phần cứng cơ bản như CPU, mạch điều khiển, cơ cấu chấp hành, hệ thống truyền động cơ khí, mạch giao tiếp và cảm biến để giám sát trạng thái hoạt động của robot.

Hình 1.6 Cấu trúc cơ bản phần cứng của một robot

Bên cạnh phần khung và thân của robot thì còn có một vài thành phần khá quan trọng sau đây.

Cơ cấu chấp hành là thành phần quan trọng giúp robot di chuyển, có thể được vận hành bằng động cơ điện, hệ thống thủy lực, khí nén, polymer dẫn điện, hoặc thậm chí là tế bào sinh vật Lựa chọn loại cơ cấu chấp hành phụ thuộc vào công suất năng suất yêu cầu và ứng dụng cụ thể của robot.

Cảm biến (sensor) là thiết bị quan trọng giúp đo lường các thông số môi trường và trạng thái bên trong robot, bao gồm tốc độ, khoảng cách, gia tốc, hướng di chuyển, nhiệt độ, ánh sáng, áp suất và âm thanh.

Bộ điều khiển máy tính, với kích thước bộ xử lý đa dạng, có thể được sử dụng để điều khiển robot Tùy thuộc vào kích thước và ứng dụng của robot, hệ thống điều khiển có thể bao gồm một hoặc nhiều bộ xử lý, tương tự như chức năng của một bộ não trong robot.

Phần cơ khí : động cơ, bánh răng,khâu, khớp, trục là các thành phần hình thành nên bộ phận cơ khí của robot.

Mạch điện điện tử đóng vai trò quan trọng trong việc kết nối các thành phần điện và cơ khí của robot, bao gồm các mạch giao tiếp xử lý tín hiệu từ cảm biến, mạch khuếch đại, mạch điều chỉnh công suất và mạch điều khiển, đặc biệt là mạch điều khiển động cơ (motor driver).

Robot thường sử dụng động cơ điện, như động cơ một chiều DC và xoay chiều AC, vì chúng hoạt động êm ái, sạch sẽ và chính xác hơn so với hệ thống khí nén và thủy lực Động cơ điện có hiệu suất cao ở tốc độ lớn, nhưng cần sử dụng hộp giảm tốc để giảm tốc độ, đồng thời hộp giảm tốc cũng có khả năng tự hãm cao khi mất điện Tuy nhiên, động cơ điện không thể chịu lực lớn và tốc độ cao như động cơ thủy lực, do đó robot thường sử dụng hệ thống truyền động thủy lực khi cần nâng tải nặng.

(Nhiệt độ, đối tượng, momen lực)

Cảm biến giám sát môi trường

Cảm biến giám sát trạng thái robot

Giao tiếp người và robot

Phần mềm trong robot bao gồm dữ liệu lưu trữ trong chip nhớ, cho phép bộ điều khiển truy cập thông tin từ cảm biến và gửi lệnh tới các cơ cấu chấp hành Nó giúp robot phân tích môi trường xung quanh và phản ứng với các biến đổi, đồng thời sử dụng ngôn ngữ lập trình để mô tả nhiệm vụ Phần mềm là yếu tố quan trọng giúp robot trở nên thông minh và thực hiện hành vi phù hợp.

Hình 1.7 Cấu trúc của một bộ điều khiển Robot

Bộ điều khiển hay khối chương trình điều khiển có ba nhiệm vụ chính: thu thập và xử lý thông tin từ cảm biến, ra quyết định như lập quỹ đạo di chuyển, và tổ chức thông tin giữa robot và môi trường Để điều khiển và giám sát robot qua máy tính, chúng ta có thể sử dụng các bộ vi điều khiển và hệ thống nhúng Các nhiệm vụ cụ thể của bộ điều khiển bao gồm việc thực hiện các công việc liên quan đến điều khiển robot hiệu quả.

- Khối tính toán CPU thường có nhiệm vụ chính là để tính toán các lệnh điều khiển.

- Bộ nhớ để chứa các chương trình điều khiển và trạng thái của hệ thống robot đạt được lấy từ tín hiệu của cảm biến.

- Phần cứng phù hợp để dành cho việc giao tiếp với môi trường bên ngoài (cảm biến, cơ cấu chấp hành) Phần cứng giao tiếp với người sử dụng

Hệ thống cảm biến của robot bao gồm các cảm biến và thiết bị chuyển đổi tín hiệu cần thiết để nhận biết trạng thái môi trường Để điều khiển robot hiệu quả, việc xác định vị trí của từng khớp là rất quan trọng, điều này được thực hiện thông qua cảm biến vị trí như encoder và resolver Bên cạnh việc theo dõi vị trí, chúng ta cũng cần nắm rõ lực và moment tác động lên cơ cấu chấp hành cuối, giúp robot hoạt động chính xác và linh hoạt hơn.

Còn về khối cung cấp năng lượng lấy các lệnh từ bộ điều khiển, năng lượng này có thể thấp không phù hợp với các hệ thống truyền động.

NỀN TẢNG

Cấu Trúc Cánh Tay Robot

2.1.1 Các thành phần cơ bản

- Tay máy (Manipulator) : là các bộ phận cơ cấu cơ khí gồm các khung xương của toàn bộ cánh tay robot và các động cơ thực hiện nhiệm vụ.

- Nguồn cung cấp (power) : nguồn này có thể là điện, thủy lực, khí nén để cung cấp cho các cơ cấu làm việc.

Bộ điều khiển là bộ phận quan trọng, đóng vai trò như "bộ não" của cánh tay robot, chịu trách nhiệm điều khiển tất cả các quá trình hoạt động của nó.

Hình 2 1 Sơ đồ khối cánh tay robot

2.1.2 TAY MÁY Đây là cơ cấu cơ khí bao gồm các khâu, các khớp Chúng hình thành nên cánh tay để tạo ra những chuyển động cơ bản Cổ tay Wrist tạo nên sự linh hoạt khéo léo, bàn tay ̣(Hand) hay còn gọi là cơ cấu chấp hành cuối End Effector để trực tiếp hoàn thành các thao tác trên đối tương làm việc.

Qúa trình tự động được thực hiện

Hình 2 2 Kết cấu tay robot a) Bậc tự do tay máy robot

Bậc tự do của tay máy robot là số lượng tham số tự do, phản ánh khả năng chuyển động của cánh tay trong hệ tọa độ gắn liền với điểm tham chiếu Nó biểu thị số khả năng chuyển động độc lập trong không gian hoạt động, bao gồm các chuyển động tịnh tiến và quay Do cơ hệ của cánh tay robot là một cơ cấu hở, số bậc tự do được tính theo công thức cụ thể.

Trong đó n : số khâu động

Để tăng cường độ linh hoạt cho tay robot trong công nghiệp, số bậc chuyển động cần phải cao, nhưng không nên vượt quá 6 bậc Với 6 bậc chuyển động được sắp xếp hợp lý, tay robot có khả năng tiếp cận đối tượng thao tác từ mọi hướng Thông thường, 6 bậc này bao gồm 3 bậc chuyển động cơ bản (định vị) và 3 bậc chuyển động bổ sung (định hướng).

- Loại này thường gắn trên trần nên sẽ dành được diện tích sàn lớn để dành có các công việc khác.

- Không gian làm việc lớn có thể dài đến

- Hệ thống làm việc điều khiển đơn giản.

Việc thay đổi không phù hợp trong không gian làm việc có thể xảy ra khi bổ sung các loại cần trục hoặc thiết bị vận chuyển vật liệu khác, ảnh hưởng đến hiệu suất hoạt động của robot.

- Việc duy trì vị trí của các cơ cấu dẫn động và thiết bị điều điện khiển gặp nhiều khó khăn.

- Cộng dụng chính cảu loại robot này là các thao tác vận chuyển vật liệu, sản phẩm, đập, dập, chất dỡ hang hóa, lắp rắp các chi tiếp máy.

Hình 2 3Hệ thống robot có tọa đô vuông góc c) Tay máy tọa độ trụ

Hình 2 4 Sơ đồ nguyên lí robot tọa độ trụ

- Có khả năng CĐ ngang và sâu vào các máy sản xuất.

- Cấu trúc theo chiều dọc nên để lại nhiều khoảng trống cho sàn.

- Kết cấu vững chắc và có khả năng mang chịu tải lớn.

Tay máy tọa độ cầu bị giới hạn trong việc di chuyển sang trái và phải do cấu trúc cơ khí và kích thước của cơ cấu tác động theo chiều ngang.

Robot tay máy tọa độ này có cấu trúc gồm 2 khớp quay và 1 khớp lăng trụ, tạo thành hai trục quay và một trục tuyến tính, cho phép hoạt động trong không gian hình cầu Tuy nhiên, độ cứng vững của loại robot này thấp hơn so với hai loại tay máy khác, và độ chính xác định vị phụ thuộc vào tầm với của nó Đặc điểm nổi bật là robot này có ít nhất 2 chuyển động quay trong tổng số 3 chuyển động định vị.

Hình 2 5 Sơ đồ nguyên lí robot tọa độ cầu e) Tay máy khớp bản lề và SCARA

Robot tay máy bản lề là một loại robot có cấu trúc khớp quay, với số lượng khớp từ hai đến mười hoặc nhiều hơn, cho phép tương tác linh hoạt Trong tay máy bản lề, ba khớp đều là khớp quay, với trục thứ nhất vuông góc với hai trục còn lại Khớp thứ hai được gọi là khớp vai, trong khi khớp thứ ba là khớp khuỷu, kết nối với cẳng tay, tạo nên sự linh hoạt và khả năng tương tác với tay người.

Hình 2 7 Sơ đồ nguyên và hình ảnh ứng dụng robot SCARA

SCARA, viết tắt của Selective Compliance Assembly Robot Arm, là loại robot tay máy chủ yếu dựa trên cấu trúc nối tiếp Trong thiết kế này, động cơ đầu tiên phải chịu trách nhiệm cho tất cả các động cơ khác Robot SCARA có kiến trúc với hai cánh tay, trong đó hai động cơ được cố định ở đáy, mang lại khả năng hoạt động linh hoạt và chính xác trong các ứng dụng lắp ráp.

Các khâu của robot, bao gồm khâu cứng và khâu mềm, cho phép chuyển động tương đối giữa chúng Theo quan điểm động học, khi hai hay nhiều vật rắn kết nối mà không có chuyển động tương đối, chúng được gọi là khâu đơ Thông thường, giữa hai khâu sẽ có một khớp để thực hiện các chuyển động cần thiết.

Hình 2 6 Sơ đồ nguyên lí và hình dáng ứng dụng của robot bản lề

Hình 2 8 Khớp xoay và khớp tịnh tiến

Hai khâu được kết nối qua khớp, cho phép chuyển động thay đổi nhờ hệ trục Khớp quay, hay khớp xoay, hoạt động như bản lề, cho phép chuyển động quay giữa hai khâu Ngược lại, khớp tịnh tiến cho phép chuyển động tịnh tiến tới lui giữa hai khâu.

2.1.5 KHỚP CỔ TAY Đây là khớp giữa cánh tay trước và phần tay gắp (End Effector) Về thông thường khi thiết kế tay máy, khớp cổ tay được thiết kế là khớp cầu, tức là gồm 3 khớp quay giao nhau tại một điểm Cổ tay máy thì khá dễ để khi phân tích động học cho chúng tại vị trí và hướng tay gắp, vì thế cánh tay robot sẽ tạo ra vị trí và cổ tay của robot tạo ra hướng cần gắp hay điều khiển.

Cổ tay máy robot thường sẽ có 3 bậc tự do là chuyển động định hướng dang 3 chuyển động quay quanh 3 trục vuông góc gồm :

- Chuyển động xoay cổ tay Roll với góc quay ρ.

- Chuyển động gập cổ tay Pitch với góc quay δ.

- Chuyển động lắc cổ tay Yaw với góc quay ε.

Phần tay gắp hay cơ cấu chấp hành cuối (End Effector) được lắp đặt ở khâu cuối của robot để thực hiện các nhiệm vụ cụ thể Tay gắp chủ yếu có hai chức năng cơ bản là đóng và mở Cánh tay và khuỷu tay được kết nối với nhau nhằm định vị chính xác tay gắp hoặc cơ cấu chấp hành cuối.

Tay gắp có chức năng chính là nắm giữ các chi tiết hoặc mang dụng cụ để tác động lên chúng Ngoài ra, tay gắp còn thực hiện nhiều chức năng phụ khác như kẹp, hàn, mài, cưa, sơn và gắp, tùy thuộc vào mục đích sử dụng cụ thể.

Cảm biến trong robot là các thành phần quan trọng giúp phát hiện và thu thập thông tin về môi trường xung quanh Chúng được tích hợp để truyền tải dữ liệu đến các khâu và khớp, từ đó gửi thông tin đến bộ điều khiển Bộ điều khiển sẽ xử lý và điều chỉnh cấu hình robot một cách phù hợp.

Cấu Trúc Không Gian Hoạt Động Workspace

Không gian làm việc (workspace) là thể tích mà điểm cơ cấu chấp hành cuối của robot có thể hoạt động Kích thước hình học của tay máy và cấu trúc cơ khí của khớp sẽ xác định không gian hoạt động này Hai khái niệm quan trọng thường được sử dụng liên quan đến không gian làm việc là:

- Không gian với tới có thể hiểu là không gian mà điểm cơ cấu chấp hành cuối có thể hướng đến theo ít nhất một hướng.

Không gian hoạt động của đầu công tác là thể tích mà đầu tay gắp có thể tiếp cận mọi điểm trong không gian với mọi hướng Đây là không gian con của "không gian với tới" Để hiểu rõ hơn về không gian hoạt động của cánh tay máy robot, cần tìm hiểu về các hệ trục tọa độ tạo ra không gian làm việc của tay máy robot.

- Hệ trục Descartes : sử dụng cho không gian hoạt động khối lập phương.

- Hệ trục tọa độ trụ : sử dụng cho không gian hoạt động khối trụ.

- Hệ trục tọa độ cầu : sử dụng cho không gian hoạt động khối cầu.

Hình 2 9 Tầm với và không gian hoạt động của tay robot kuka

Điều Khiển Tay Máy

2.3.1 Hệ THỐNG NGUỒN DẪN ĐỘNG a) Truyền động khí nén

Hệ thống khí nén là công nghệ phổ biến trong ngành công nghiệp chế biến lắp ráp, đặc biệt hữu ích trong các lĩnh vực vệ sinh và khu vực độc hại.

- Khí thải không gây nhiễm môi trường

- Hệ thống tương đối gọn nhẹ, dễ sử dụng.

- Gây ồn, gây trở ngại cho HT khi bị rò rỉ.

- Khó điều chỉnh được về mặt tốc độ, dừng không chính xác.

- Phải sử dụng bộ lọc

- Do tính nén được chất khí nên chuyển động kèm theo dao động nên cần them các trang bị dầu bôi trơn. b) Truyền động thủy lực

Hệ thống này chuyển động nhờ vào áp suất hay động năng của dòng chất lỏng.

- Tốc độ chạy êm, quán tính bé, dễ thay đổi chuyển động.

- Sử dụng cho ĐK Servo rất tốt.

- Tự bôi trơn và làm mát.

- An toàn ở áp suất cháy nổ.

- Chi phí đầu tư, chi phí bảo trì khá cao.

- Không thích hợp cho cơ cấu quay với tốc độ nhanh.

- Cần có đường xả dầu đi vào bể.

- Kích thước lớn do áp suất và tốc độ dầu cao dẫn đến chiếm mặt bằng.

Truyền động điện là hệ thống thiết bị điện điện tử chuyển đổi năng lượng điện thành năng lượng cơ Hệ thống này bao gồm ba loại động cơ: động cơ bước, DC và AC, trong đó động cơ DC và AC là hai loại phổ biến nhất Động cơ một chiều DC có hai phần chính: phần tĩnh và phần động, với bốn loại thường gặp là kích từ độc lập, kích từ song song, kích từ nối tiếp và kích từ hỗn hợp Động cơ xoay chiều AC được sản xuất với nhiều công suất khác nhau, bao gồm hai loại chính là một pha và ba pha.

2.3.2 HỆ THỐNG ĐIỀU KHIỂN ROBOT Đây là bộ phận được dùng để điều khiển các thao tác sau khi đã tiếp nhận và xử lý các tín hiệu đến từ các cảm biến bên ngoài Đối với mỗi yêu cầu hoạt động khác nhau, chúng sẽ có những chức năng điều khiển khác nhau. Đảm nhận những hoạt động theo chiều nhiều cấp độ như xác định vị trí, tọa độ hang hóa hay các nơi đi qua, Hoặc có thế tính toán các thông số như động lực học, các bài toán quỹ đạo, xử lý lỗi,

Phần mềm quản lý và điều khiển vận hành đóng vai trò quan trọng trong việc lập trình, cho phép nhận và truyền đạt thông tin mệnh lệnh cũng như yêu cầu đến robot.

THIẾT KẾ VÀ THI CÔNG MÔ PHỎNG TAY ROBOT 5 BẬC

Vẽ Và Thiết Kế Robot Bằng Phần Mềm Soliworks 2018

Hình 3.1 Giao diện làm việc Soliworks 2018

Hình 3 2 Vẽ và hoàn thiện phần đế BASE

Hình 3 3 Vẽ và hoàn thiện Link1

Hình 3 4 Vẽ và hoàn thiện Link2

Hình 3.5 Vẽ và hoàn thiện Link3

Hình 3.6 Vẽ và hoàn thiện Link4

Hình 3.7 Vẽ và hoàn thiện Link5 tay gắp

Hình 3.8 Lắp rắp tay máy robot

Đặt Hệ Trục Tọa Độ Cho Robot

Để đặt trục tọa độ cho tay máy robot ta sẽ xác định theo quy tắc bàn tay phay phải Với trục Z trùng với trục động cơ.

Hình 3.9 Quy tắc bàn tay phải

Hình 3.10 Đặt hệ tọa độ lên tay máy

Tính Toán Bảng D-H Của Robot Đã Thiết Kế

Xây dựng các hệ tọa độ, bộ thông số với 2 khâu liên tiếp i và i+1

Với a có thể hiểu là khoảng cách giữa 2 trục z liền kề nhau (Zi ; Zi+1), hay là đường vuông góc với

Trong hệ thống trục tọa độ, hai trục z liền kề có góc lệch α, biểu thị cho góc giữa chúng trong mặt phẳng vuông góc với pháp tuyến Khoảng cách d giữa hai trục x liền kề, được xác định bởi đường thẳng vuông góc với hai trục này (Xi; Xi+1), cho thấy độ lệch giữa chúng Thêm vào đó, góc lệch θ giữa hai trục x liền kề thể hiện góc quay quanh trục z.

Động Học Thuận

Động học thuận là quá trình xác định vị trí và hướng của điểm cơ cấu chấp hành cuối P(px, py, pz) dựa trên các góc thetal Qua đó, ta có thể tính toán vị trí và hướng của End Effector hay tay gắp khi biết giá trị của các biến khớp hoặc góc thetal θ.

Để xác định vị trí và hướng của cơ cấu chấp hành cuối từ tập hợp các giá trị góc θ đã cho, cần dựa vào các tham số trong bảng DH đã được hoàn thành trước đó.

Ta có ma trận chuyển đổi hệ 5 bậc T05

X X X X] Để tính được các ma trận chuyển đổi nhỏ thì ta có ma trận chuyển đổi hệ i sang i+1

T[i; i+1] = [ cosθ -sinθ*cosα sinθ*sinα a*cosθ

Sinθ cosθ*cosα -cosθ*sinα a*sinθ

Vậy đầu tiên ta có ma trận chuyển đổi từ hệ 0 sang 1

Ma trận chuyển đổi từ hệ 1 sang 2

Ma trận chuyển đổi từ hệ 2 sang 3

Ma trận chuyển đổi từ hệ 3 sang 4

Ma trận chuyển đổi từ hệ 4 sang 5

Vây ta có ma trận chuyển đổi từ hệ 0 sang 5 (nhân bằng matlab) T05 = T01 * T12 * T23 * T34 * T45

Tính toán trên phần mềm matlab ta được px 10*cos(t1)*(17*cos(t2 + t3 + t4) + 21*cos(t2 + t3) + 30*cos(t2)) py 10*sin(t1)*(17*cos(t2 + t3 + t4) + 21*cos(t2 + t3) + 30*cos(t2)) pz 170*sin(t2 + t3 + t4) + 210*sin(t2 + t3) + 300*sin(t2) + 268 ở đây t1,t2,t3,t4,t5 là các góc thetal

ĐỘNG HỌC NGHỊCH

Ngược lại với động học thuận, bài toán động học nghịch cho phép xác định tọa độ của điểm cơ cấu chấp hành cuối để tìm ra các góc θ (θ1, θ2, θ3, θ4, θ5) Đây là một vấn đề quan trọng trong điều khiển robot và đã được nghiên cứu từ lâu Sự phức tạp của bài toán này gia tăng khi số bậc tự do của robot tăng lên Để bài toán động học nghịch có thể tồn tại, vị trí và hướng của điểm cơ cấu chấp hành cuối phải nằm trong không gian hoạt động của cánh tay robot.

Thông thường sẽ có 2 phương pháp để giải bài toán động học nghịch :

Phương pháp biểu thức kín (close form solutions) là một trong những phương pháp phổ biến, bao gồm hai nhóm chính: phương pháp đại số và phương pháp hình học.

+ Phương pháp số ( Numerical solution): sử dụng các phép lặp, phương pháp tính để giải.

Trong bài báo cáo này, em sẽ làm cả phương pháp riêng trong phương phát biểu thức kín.

3.5.1 TÍNH TOÁN THEO PHƯƠNG PHÁP ĐẠI SỐ

Tách bài toán động học ngược thành 2 bài toán nhỏ : bài toán động học ngược về vị trí(position) và về hướng(orientantion)

Từ ma trận biến đổi của động học thuận, ta có thể phân tách thành 2 bài toán độc lập, mỗi bài có 3 biến số

Ma trận tình tiến xác định vị trí của hệ tọa độ gắn với P(px;py;pz) được mô tả trong hệ tọa độ.

Ma trận chỉ hướng của hệ tọa độ liên quan đến điểm P(px, py, pz) trong không gian tọa độ Việc giải bài toán động học về hướng diễn ra sau khi đã hoàn tất việc giải bài toán về vị trí.

Bài toán động học ngược thường có nhiều nghiệm, do đó việc lựa chọn nghiệm phù hợp là rất quan trọng Trong quá trình giải bài toán này, cần xác định nghiệm tối ưu cho tay máy robot, nhằm tối ưu hóa lực và mômen, cũng như tránh va chạm với vật cản.

T05 = T01 * T12 * T23 * T34 * T45 = Ma trận bậc 4 như bên dưới

Ma trận chuyển đổi hệ 0 sang 5 ta đã tính được ở trên động học thuận px = 10*cos(t1)*(17*cos(t2 + t3 + t4) + 21*cos(t2 + t3) + 30*cos(t2))

= 10**(17* + 21* + 30*) py = 10*sin(t1)*(17*cos(t2 + t3 + t4) + 21*cos(t2 + t3) + 30*cos(t2))

Nhân ma trận nghịch đảo của T01 cho hai vế T05 = T01 * T12 * T23 * T34 * T45

Ta sử dụng hàm T10 = inv(T01) để tìm ma trận nghịch đảo T10 T10 [ cos(t1)/(cos(t1)^2 + sin(t1)^2), sin(t1)/(cos(t1)^2 + sin(t1)^2), 0, 0]

[ sin(t1)/(cos(t1)^2 + sin(t1)^2), -cos(t1)/(cos(t1)^2 + sin(t1)^2), 0, 0]

[ (r11*cos(t1))/(cos(t1)^2 + sin(t1)^2) + (r21*sin(t1))/(cos(t1)^2 + sin(t1)^2),

(r12*cos(t1))/(cos(t1)^2 + sin(t1)^2) + (r22*sin(t1))/(cos(t1)^2 + sin(t1)^2),

(r13*cos(t1))/(cos(t1)^2 + sin(t1)^2) + (r23*sin(t1))/(cos(t1)^2 + sin(t1)^2),

(px*cos(t1))/(cos(t1)^2 + sin(t1)^2) + (y*sin(t1))/(cos(t1)^2 + sin(t1)^2) ]

[ r31, r32, r33, z - 268] [ (r11*sin(t1))/(cos(t1)^2 + sin(t1)^2) - (r21*cos(t1))/(cos(t1)^2 + sin(t1)^2),

(r12*sin(t1))/(cos(t1)^2 + sin(t1)^2) - (r22*cos(t1))/(cos(t1)^2 + sin(t1)^2),

(r13*sin(t1))/(cos(t1)^2 + sin(t1)^2) - (r23*cos(t1))/(cos(t1)^2 + sin(t1)^2),

(px*sin(t1))/(cos(t1)^2 + sin(t1)^2) - (y*cos(t1))/(cos(t1)^2 + sin(t1)^2) ]

Sử dụng hàm n1 = simplify(T10T05(1,4)) = px*cos(t1) + py*sin(t1) n2 = simplify(T10T05(2,4)) = pz – 268 n3 = simplify(T10T05(3,4)) = px*sin(t1) - py*cos(t1) t12t23t34t45 = ***

[ cos(t5)*(cos(t4 + pi/2)*(cos(t2)*cos(t3) - sin(t2)*sin(t3)) - sin(t4 + pi/2)*(cos(t2)*sin(t3) + cos(t3)*sin(t2))),

-sin(t5)*(cos(t4 + pi/2)*(cos(t2)*cos(t3) - sin(t2)*sin(t3)) - sin(t4 + pi/2)*(cos(t2)*sin(t3) + cos(t3)*sin(t2))), cos(t4 + pi/2)*(cos(t2)*sin(t3) + cos(t3)*sin(t2)) + sin(t4 + pi/2)*(cos(t2)*cos(t3) - sin(t2)*sin(t3)),

300*cos(t2) + 210*cos(t2)*cos(t3) - 210*sin(t2)*sin(t3) + 170*cos(t4 + pi/2)*(cos(t2)*sin(t3) + cos(t3)*sin(t2)) + 170*sin(t4 + pi/2)*(cos(t2)*cos(t3) - sin(t2)*sin(t3)) ]

[ cos(t5)*(cos(t4 + pi/2)*(cos(t2)*sin(t3) + cos(t3)*sin(t2)) + sin(t4 + pi/2)*(cos(t2)*cos(t3) - sin(t2)*sin(t3))),

-sin(t5)*(cos(t4 + pi/2)*(cos(t2)*sin(t3) + cos(t3)*sin(t2)) + sin(t4 + pi/2)*(cos(t2)*cos(t3) - sin(t2)*sin(t3))), sin(t4 + pi/2)*(cos(t2)*sin(t3) + cos(t3)*sin(t2)) - cos(t4 + pi/2)*(cos(t2)*cos(t3) - sin(t2)*sin(t3)),

300*sin(t2) + 210*cos(t2)*sin(t3) + 210*cos(t3)*sin(t2) - 170*cos(t4 + pi/2)*(cos(t2)*cos(t3) - sin(t2)*sin(t3)) + 170*sin(t4 + pi/2)*(cos(t2)*sin(t3) + cos(t3)*sin(t2)) ]

Sử dụng hàm m1 = simplify(t12t23t34t45 (1,4)) = 170*cos(t2 + t3 + t4) + 210*cos(t2 + t3) + 300*cos(t2) m2 = simplify(t12t23t34t45 (2,4)) = 170*sin(t2 + t3 + t4) + 210*sin(t2 + t3) + 300*sin(t2) m3 = simplify(t12t23t34t45 (3,4)) = 0

Ta có (đã đơn giản hóa) : n1= px* + py* m10* + 210*+ 300* n2= pz – 268 = m20* + 210* + 300* n3= px*- y* m3=0 n3=m3  px*- py* = 0 = => tan(t1) = => t1 = atan2(py,px)

TÍNH THETAL 3 n1=m1  px* + py*= 170* + 210*+ 300* n2=m2 pz – 268 = 170* + 210* + 300*

 px* + py* - 170* = 210*+ 300* pz – 268 - 170* = 210* + 300* Đặt A = px* + py* - 170*

Ta dùng matlab để đơn giản hóa (*+*)

>>simplify(cos(t2+t3)*cos(t2)+sin(t2+t3)*sin(t2))

B = pz – 268 - 170* Thay A và B vào ta tính được

 = A và B , thetal 3 đã tính được ở trên

3.5.2 TÍNH TOÁN THEO PHƯƠNG PHÁP HÌNH HỌC

Hình 3.11 Mặt cắt của robot dạng hình học

Ta có các thông số sau :

O3O5 = L4 + L5 = 170 mm, với các góc t1, t2, t3, t4, t5 lần lượt là các giá trị thetal để lập trình trên Matlab Góc θ234 được tính bằng t234 = θ2 + θ3 + θ4, đây là góc tự chọn có thể cố định đầu robot Ngoài ra, β1 được xác định là b1 và β1 cũng bằng b2.

Tanθ1 = => θ1 = t1 = atan2(Pz,Px) Để tìm θ2, ta tìm θ3 trước

Nhìn hình ta thấy góc =- θ3

Xét tam giác Δ(O1O2O3), áp dụng định lý cosin

Ta có 2 cung bù nhau cos(180 - θ3) = -cos θ3 nên :

 cos(t3) = (***) xét tam giác ΔO1O3K vuông góc tại K

= ( + ( Thay O1O3 vào (***) ta được cos(t3)

 sin(t3)  tan(t3) = => θ3 = t3 = atan2(sin(t3),cos(t3))

Xét ΔO2RO3 vuông góc tại R

Xét ΔO1RO3 vuông góc tại R

RO1 = L2 + RO2 = L2 + L3*sin(t3) tan(b1) = => b1 = β1 = atan2(RO3,RO1) tan(b2)= => b2 = β2 = atan2(O3K,O1K)

Hình 3.12 Mặt cắt hình học trong tọa độ xyz

3.6 THIẾT KẾ BẢNG ĐIỀU KHIỂN ROBOT TRÊN MATLAB R2016A

Trước khi tạo bảng điều khiển trên MATLAB, chúng ta cần chuyển mô hình mô phỏng từ SolidWorks 2018 sang Simulink của MATLAB bằng cách tải file liên kết giữa hai ứng dụng.

Hình 3.13 File liên kết giữa Soliworks và Matlab

B1: Sau khi đã tải file thành công, ta chạy ứng dụng matlab, chọn vào đường dẫn đến hộp thư tải file Simscape Mltiboby

B2 Mở Matlab và thực hiện lệnh trên của sổ command window và bấm enter : install_addon(‘.zip>’)

B3 Thực hiện tiếp lệnh dưới, mệnh này mục đích là để liên kết 2 phần mềm lại

B4 Mở Soliworks lên chọn Tools > add_ins và tích vào mục như hình bên dưới

Chúng ta đã hoàn tất việc cài đặt tiện ích liên kết Simulink cho SolidWorks Sau khi thêm add-in này, SolidWorks đã hỗ trợ lưu file dưới định dạng XML, phục vụ cho việc mô phỏng dựa trên cấu trúc ứng dụng MATLAB Để xuất file XML từ SolidWorks sang MATLAB, hãy vào mục Tools > Simscape Multibody > Export.

> SimMechanics First Generation > đặt tên và save.

Hình 3.14 Chuyển file xml từ Soliworks qua Matlab

Sau khi đã đã xuất ra được file Xml qua Matlab thì ta tiến hành import các link của robot lại với nhau bằng lệnh : mech_import

Sau khi import xong ta sẽ cho được mô hình tay máy robot.

Mô hình Robot trong Matlab được thể hiện qua hình 3.15, với các khâu được kết nối bởi các khớp Mỗi khớp sẽ có một chùm khối điều khiển, được lưu trữ trong file có đuôi slx.

Khối Constant được sử dụng để tạo ra hằng số thực hoặc phức mà không phụ thuộc vào thời gian Bên cạnh đó, khối Slider Gain, nằm trong khối tổng quát Math Operations, cho phép điều chỉnh độ lợi của tín hiệu thông qua thanh trượt, và trong trường hợp này, nó được sử dụng để thay đổi giá trị góc quay.

Khối Mux : dùng tồng hợp các tín hiệu đầu vào thành một tín hiệu tổng ở đầu ra.

Khối Joint Actuator : khối này là để điều khiên khớp bằng tín hiệu tổng mà khối mux đưa vào hay còn gọi là lệnh cho khớp xoay.

Khối Joint Sensor : đưa tín hiệu feed back góc quay về bộ PID, để so sánh với góc đưa vào từ slidergian

Tiếp theo, ta tạo một file GUIDE để thiết kế bảng điều khiển cho tay máy robot

Sau khi đã hoàn thành xong bảng điều khiển ta tiến hành viết code cho bảng điều khiển.

CODE BẢNG ĐIỀU KHIỂN KẾT NỐI SIMULINK

% Last Modified by GUIDE v2.5 13-Dec-2021 10:55:26

% Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename,

'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end

% End initialization code - DO NOT EDIT function BANGDIEUKHIEN_OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject;

% Update handles structure guidata(hObject, handles);

%KHOI TAO TEN DO THI title('QUY DAO','Color',[0 0 0],'FontSize',10); xlabel('xE(mm)','Color',[1 0 0]); ylabel('yE(mm)','Color',[0 1 0]); zlabel('zE(mm)','Color',[0 0 1]); guidata(hObject, handles);

% - Outputs from this function are returned to the command line. function varargout = BANGDIEUKHIEN_OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output;

% - Executes on slider movement. function slider1_Callback(hObject, eventdata, handles)

In the Assem1 model, global variables are utilized to retrieve the values from five different sliders The value of each slider, accessed through the `get` function, is then converted to a string format using `num2str` and displayed in corresponding edit fields This process ensures that the values from slider1 to slider5 are accurately reflected in edit1 to edit5, enhancing user interaction and data visualization.

% Hints: get(hObject,'Value') returns position of slider

To set the range of a slider in a model, use `get(hObject,'Min')` and `get(hObject,'Max')` Update the gain parameters for the slider components by applying `set_param` with the model name and the desired gain values, such as `set_param([ModelName '/Slider Gain'],'Gain',num2str(t1))` through `set_param([ModelName '/Slider Gain4'],'Gain',num2str(t5))` The transformation matrices can be defined as `m1` and `m2`, where `m1` incorporates the angle `t1` and `m2` incorporates the angle `t2`, enabling the manipulation of 3D transformations in the model.

0 0 0 1]; m3=[cosd(t3) -sind(t3) 0 210*cosd(t3); sind(t3) cosd(t3) 0 210*sind(t3); 0 0 1 0;

The transformation matrix is computed using multiple rotation and translation matrices, represented as m1 through m5, which are combined to yield the final transformation matrix 'c' The resulting position coordinates, px, py, and pz, are extracted from the matrix and displayed in specific UI elements A 3D plot is created to visualize the position with black lines, while the axes are labeled with corresponding colors: red for xE(mm), green for yE(mm), and blue for zE(mm) The plot is titled 'QUY DAO' and includes a grid for better visualization.

% - Executes during object creation, after setting all properties. function slider1_CreateFcn(hObject, eventdata, handles) if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9 9]); end

% - Executes on slider movement. function slider2_Callback(hObject, eventdata, handles)

In the Assem1 model, global variables are utilized to retrieve and display values from multiple sliders The value from slider1 is obtained and converted to a string for display in edit1, while slider2's value is processed similarly for edit2 This pattern continues for slider3, slider4, and slider5, ensuring that each slider's value is accurately represented in its corresponding edit field.

% Hints: get(hObject,'Value') returns position of slider

To configure the slider settings in your model, utilize the commands `get(hObject,'Min')` and `get(hObject,'Max')` to establish the slider's range Adjust the gain parameters for various slider components using `set_param`, specifying the model name and corresponding gain values (t1, t2, t3, t4, t5) as strings For instance, the gain for 'Slider Gain' is set with `set_param([ModelName '/Slider Gain'],'Gain',num2str(t1))`, and similar commands apply for the other sliders The transformation matrices m1 and m2 are defined using trigonometric functions to represent rotations based on the gain values, ensuring accurate modeling of the system's dynamics.

0 0 0 1]; m3=[cosd(t3) -sind(t3) 0 210*cosd(t3); sind(t3) cosd(t3) 0 210*sind(t3); 0 0 1 0;

This article discusses the transformation of coordinates using a series of matrices, specifically m1, m2, m3, m4, and m5, which are defined by rotation angles t4 and t5 The combined transformation matrix c is calculated by multiplying these matrices together The resulting coordinates px, py, and pz are extracted from the matrix and displayed in designated text fields A 3D plot is then created to visualize the transformed coordinates, with axes labeled in millimeters and a title "QUY DAO" in black The plot is formatted with specific colors for each axis label to enhance clarity.

% - Executes during object creation, after setting all properties. function slider2_CreateFcn(hObject, eventdata, handles)

% hObject handle to slider2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9 9]); end

% - Executes on slider movement. function slider3_Callback(hObject, eventdata, handles)

In the Assem1 model, the global variable is utilized to retrieve the values from five sliders The value from each slider is obtained using the `get` function, and subsequently, each value is converted to a string format using `num2str` before being displayed in the corresponding edit boxes This process ensures that the user can easily view the current values set by the sliders, enhancing the interactivity and usability of the interface.

% Hints: get(hObject,'Value') returns position of slider

To determine the range of a slider in a model, utilize the commands get(hObject,'Min') and get(hObject,'Max') Adjust the gain parameters of the slider by setting them with the set_param function, such as set_param([ModelName '/Slider Gain'],'Gain',num2str(t1)), and repeat for other gain values (t2, t3, t4, t5) The transformation matrices m1 and m2 are defined using trigonometric functions based on the slider values, where m1 incorporates a rotation around the Y-axis and m2 includes both rotation and translation components.

0 0 0 1]; m3=[cosd(t3) -sind(t3) 0 210*cosd(t3); sind(t3) cosd(t3) 0 210*sind(t3); 0 0 1 0;

The transformation matrix 'c' is calculated by multiplying several matrices 'm1', 'm2', 'm3', 'm4', and 'm5', which incorporate rotation and translation based on angles t4 and t5 The resulting coordinates 'px', 'py', and 'pz' are extracted from the matrix 'c' and displayed in designated text fields A 3D plot is generated using these coordinates, with a black line representing the trajectory The plot is titled 'QUY DAO' and includes labeled axes: 'xE(mm)' in red, 'yE(mm)' in green, and 'zE(mm)' in blue, while maintaining a grid for better visualization.

% - Executes during object creation, after setting all properties. function slider3_CreateFcn(hObject, eventdata, handles)

% hObject handle to slider3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9 9]); end

% - Executes on slider movement. function slider4_Callback(hObject, eventdata, handles)

In the Assem1 model, global variables are utilized to retrieve and display values from five sliders The value from slider 1 is obtained and converted to a string for display in edit box 1, while the values from sliders 2 through 5 are similarly processed and shown in their respective edit boxes Each slider's value is dynamically updated, ensuring that the user interface reflects the current settings accurately.

% Hints: get(hObject,'Value') returns position of slider

To set the slider parameters in a model, use the commands `get(hObject,'Min')` and `get(hObject,'Max')` to determine the slider's range Adjust the gain values for various sliders by applying `set_param([ModelName '/Slider Gain'],'Gain',num2str(t1))` through `set_param([ModelName '/Slider Gain4'],'Gain',num2str(t5))` The transformation matrices can be defined as `m1` and `m2`, where `m1` is calculated using the angle `t1` and `m2` uses the angle `t2` to represent the corresponding rotations and translations in the model.

0 0 0 1]; m3=[cosd(t3) -sind(t3) 0 210*cosd(t3); sind(t3) cosd(t3) 0 210*sind(t3); 0 0 1 0;

The code snippet demonstrates a series of matrix transformations using rotation and translation matrices to calculate the final position in a 3D space The matrices m1, m2, m3, m4, and m5 are combined to form a composite transformation matrix, c The resulting position coordinates, px, py, and pz, are extracted from the matrix and displayed in designated edit fields A 3D plot is generated to visualize the position with specified axis labels and a title, enhancing the clarity of the graphical representation The plot features a black line and a grid for better spatial understanding, making it an effective tool for analyzing the movement in the defined coordinate system.

% - Executes during object creation, after setting all properties. function slider4_CreateFcn(hObject, eventdata, handles)

% hObject handle to slider4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9 9]); end

% - Executes on slider movement. function slider5_Callback(hObject, eventdata, handles)

In the Assem1 model, the global variable is utilized to retrieve the values from five sliders The first slider's value is obtained using `get(handles.slider1,'value')` and displayed in the corresponding edit box as a string This process is repeated for the second, third, fourth, and fifth sliders, ensuring that each slider's value is accurately captured and shown in its respective edit field.

% Hints: get(hObject,'Value') returns position of slider

To adjust the slider settings in the model, utilize the commands `get(hObject,'Min')` and `get(hObject,'Max')` to establish the slider's range The gains for the sliders can be set using `set_param`, specifying the model name and the corresponding gain values: `set_param([ModelName '/Slider Gain'],'Gain',num2str(t1))`, and similarly for the other sliders The transformation matrices are defined as `m1` and `m2`, where `m1` incorporates the angle `t1` and includes a translation along the z-axis, while `m2` incorporates the angle `t2` with a translation along the x and y axes.

0 0 0 1]; m3=[cosd(t3) -sind(t3) 0 210*cosd(t3); sind(t3) cosd(t3) 0 210*sind(t3); 0 0 1 0;

The article discusses the process of transforming coordinates using a series of matrices in a 3D space It begins by defining transformation matrices m4 and m5, which incorporate rotation and translation based on angles t4 and t5 The final transformation matrix, c, is computed by multiplying the individual matrices m1, m2, m3, m4, and m5 The resulting coordinates (px, py, pz) are extracted from matrix c and displayed in designated text fields A 3D plot is generated to visualize the transformed coordinates, with appropriate axis labels and a title, enhancing the overall presentation of the data.

% - Executes during object creation, after setting all properties. function slider5_CreateFcn(hObject, eventdata, handles)

% hObject handle to slider5 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles empty - handles not created until after all CreateFcns called

% Hint: slider controls usually have a light gray background. if isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor',[.9 9 9]); end

% - Executes on slider movement. function slider6_Callback(hObject, eventdata, handles)

QUY HOẠCH QUỸ ĐẠO – WORK SPACE

The code snippet generates a 3D plot using parametric equations defined by variables t1, t2, t3, and t4, which range over specific intervals The x-coordinates are calculated using the cosine function, incorporating multiple cosine terms that depend on the angles t2, t3, and t4 Similarly, the y-coordinates are derived from the sine function, while the z-coordinates combine sine functions of the same angles with constant offsets The plot is constrained within specified axis limits, allowing for a clear visualization of the resulting 3D structure The use of 'hold on' ensures that multiple plots can be layered for comprehensive analysis.

Hình 3.17 Không gian robot có thể với tới

KẾT QUẢ

Ngày đăng: 16/05/2022, 16:27

HÌNH ẢNH LIÊN QUAN

Hình 1.1 Máy dệt tự động đầu tiên bằng máy đục lỗ và chân dung Jacquard - MÔ PHỎNG TAY ROBOT 5 bậc, có CODE
Hình 1.1 Máy dệt tự động đầu tiên bằng máy đục lỗ và chân dung Jacquard (Trang 6)
Hình 1.3 Câu chuyện viễn tưởng về Người hơi nước - MÔ PHỎNG TAY ROBOT 5 bậc, có CODE
Hình 1.3 Câu chuyện viễn tưởng về Người hơi nước (Trang 7)
Hình 1.2 Sơ đồ của vịt máy Vaucauson - MÔ PHỎNG TAY ROBOT 5 bậc, có CODE
Hình 1.2 Sơ đồ của vịt máy Vaucauson (Trang 7)
Hình 1.5 Robot công nghiệp đầu tiên của thế giới lắp đặt tại General Motors 1961 - MÔ PHỎNG TAY ROBOT 5 bậc, có CODE
Hình 1.5 Robot công nghiệp đầu tiên của thế giới lắp đặt tại General Motors 1961 (Trang 8)
Hình 1.4 Robot di chuyển bằng 4 chân - MÔ PHỎNG TAY ROBOT 5 bậc, có CODE
Hình 1.4 Robot di chuyển bằng 4 chân (Trang 8)
Đa mục đích ( Multipurpose ): có thể thích nghi với nhiều ứng dụng khi cấu hình vật lí thay đổi. - MÔ PHỎNG TAY ROBOT 5 bậc, có CODE
a mục đích ( Multipurpose ): có thể thích nghi với nhiều ứng dụng khi cấu hình vật lí thay đổi (Trang 10)
Hình 1.6 Cấu trúc cơ bản phần cứng của một robot - MÔ PHỎNG TAY ROBOT 5 bậc, có CODE
Hình 1.6 Cấu trúc cơ bản phần cứng của một robot (Trang 13)
Hình 1.7 Cấu trúc của một bộ điều khiển Robot - MÔ PHỎNG TAY ROBOT 5 bậc, có CODE
Hình 1.7 Cấu trúc của một bộ điều khiển Robot (Trang 14)
Hình 2.1 Sơ đồ khối cánh tay robot - MÔ PHỎNG TAY ROBOT 5 bậc, có CODE
Hình 2.1 Sơ đồ khối cánh tay robot (Trang 15)
Hình 2.5 Sơ đồ nguyên lí robot tọa độ cầu - MÔ PHỎNG TAY ROBOT 5 bậc, có CODE
Hình 2.5 Sơ đồ nguyên lí robot tọa độ cầu (Trang 17)
Hình 2.7 Sơ đồ nguyên và hình ảnh ứng dụng robot SCARA - MÔ PHỎNG TAY ROBOT 5 bậc, có CODE
Hình 2.7 Sơ đồ nguyên và hình ảnh ứng dụng robot SCARA (Trang 18)
Hình 3.1 Giao diện làm việc Soliworks 2018 - MÔ PHỎNG TAY ROBOT 5 bậc, có CODE
Hình 3.1 Giao diện làm việc Soliworks 2018 (Trang 22)
Hình 3.2 Vẽ và hoàn thiện phần đế BASE - MÔ PHỎNG TAY ROBOT 5 bậc, có CODE
Hình 3.2 Vẽ và hoàn thiện phần đế BASE (Trang 22)
Hình 3.3 Vẽ và hoàn thiện Link1 - MÔ PHỎNG TAY ROBOT 5 bậc, có CODE
Hình 3.3 Vẽ và hoàn thiện Link1 (Trang 23)
Hình 3.4 Vẽ và hoàn thiện Link2 - MÔ PHỎNG TAY ROBOT 5 bậc, có CODE
Hình 3.4 Vẽ và hoàn thiện Link2 (Trang 23)

TRÍCH ĐOẠN

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

TÀI LIỆU LIÊN QUAN

w