Do vậy em chọn đề tài ‘xây dựng mô hình cánh tayrobot 4 bậc tự do gắp và phân loại sản phẩm’, để nghiên cứu tìm hiểu về nguyên lýhoạt động của robot và vận dụng các kiến thức đã học 2..
Tính cấp thiết của đề tài
Thế giới hiện nay đang trong quá trình cách mạng công nghiệp 4.0, nó mang đến cho nhận loại cơ hội để thay đổi bộ mặt các nền kinh tế Cùng với đó là những hứa hẹn về cuộc ‘đổi đời’ của các doanh nghiệp tại Việt Nam Tự động hóa và robot là một xu hướng quan trọng của tương lai nền công nghiệp Tự động hóa đem lại mức độ chính xác và năng xuất cao hơn Công nghệ này thậm chí có thể hoạt động tốt ở một số môi trường làm việc khắc nhiệt không an toàn với con người Ngành công nghiệp robot trên thế giới hiện nay đang phát triển rất mạnh mẽ với rất nhiều hãng sản xuất robot công nghiệp khác nhau Có rất nhiều quốc gia trên thế giới nghiên cứ về lĩnh vực này như là : Nhật Bản, Mỹ, Úc, Nga Và các kết quả đạt được khiến con người không phải không ngạc nhiên Các sản phẩm là robot công nghiệp được ứng dụng hết sức rộng rãi trên nhiều lĩnh vực khác nhau, robot cũng được ứng dụng trong các môi trường rất đa dạng như trong công xưởng, ngoài vũ trụ, dưới biển hay thậm chí là trong các đường ống nước thải Mục đích để phục vụ sản xuất, thậm chí phục vụ nhu cầu giải trí cũng như chăm sóc con người Hiện nay tại nước ta các doanh nghiệp và các trường đại học đang rất quan tâm đến các cuộc thi công nghệ như Sáng tạo robot Việt nam-Robocon, robottics quốc tế
Trên thị trường cũng có nhiều mô hình robot phục vụ học tập và nghiên cứu với giá thành hợp lý Với sự phát triển mạnh mẽ về công nghiệp máy tính và cách mạng công nghiệp 4.0 trên thế giới cũng như ở nước ta Công nghiệp tự động hóa và robot cũng phát triển nở rộ đi kèm theo đó là nhu cầu về nguồn lao động có trình độ có thể làm chủ được công nghệ Do vậy em chọn đề tài ‘xây dựng mô hình cánh tay robot 4 bậc tự do gắp và phân loại sản phẩm’, để nghiên cứu tìm hiểu về nguyên lý hoạt động của robot và vận dụng các kiến thức đã học
Mục đích của đề tài
Thực nghiệm trên mô hình cánh tay robot 4 bậc tự do qua đó nghiên cứu tổng quan về cánh tay robot tìm hiểu về cấu tạo, nguyên lý hoạt động của robot Tìm hiểu cấu tạo, nguyên lý và ứng dụng của Arduino sử dụng để điều khiển cánh tay robot. Vận dụng các kiến thức đã học và tìm hiểu xây dựng mô hình cánh tay robot có thể hoạt động và lập trình được.
Phương pháp nghiên cứu khoa học
Nghiên cứu cơ sở khoa học và thực tiễn về chế tạo, điều khiển robot Nghiên cứu về phương trình động học ngược của robot
Nghiên cứu và ứng dụng các phần gia công cơ khí để chế tạo cánh tay robot.Nghiên cứu và ứng dụng mạch Arduino để điều khiển cánh tay robot.
Ý nghĩa khoa học và thực tiễn của đề tài
Kết quả nghiên cứu của đề tài có thể được ứng dụng xây dựng cánh tay robot tự động gắp và phân loại sản phẩm dựa theo màu sắc, dựa theo hình dáng, hay chia sản phẩm từ trên băng truyền xếp vào thùng/khay Ngoài ra cánh tay máy còn có thể ứng dụng vào hàn, cắt hay chỉ đơn giản là nâng vật nặng.
Mô hình kết quả của đề tài có thể làm thiết bị thí nghiệm thực hành tốt và trực quan cho sinh viên chuyên ngành Điện tự động công nghiệp
TỔNG QUAN VỀ ROBOT CÔNG NGHIỆP
Sự ra đời của robot công nghiệp
Thuật ngữ “robot” lần đầu tiên xuất hiện vào khoảng năm 1921 trong tác phẩm
“Rossum’s Universal Robot” của nhà viễn tưởng người Sec Karel Capek Trong vở kịch này, ông dùng từ “robot”, biến thể của từ gốc Slavơ “Robota”, để gọi một thiết bị do con người tạo ta Vào những năm 40 nhà văn viễn tưởng người Nga, Issac Asimov, mô tả robot là một chiếc máy tự động, mang diện mạo của con người.
Hình 1.1 Sự ra đời của robot
Vào những năm 1950 bên cạnh các tay máy chép hình cơ khí đó, đã xuất hiện các loại tay máy chép hình thủy lực và điện từ, như tay máy Minotaur I hoặc tay máy Handyman của General Electric Năm 1954 George C Devol đã thiết kế một thiết bị có tên là “cơ cấu bản lề dùng để chuyển hàng theo chương trình” Đến năm 1956 Devol cùng với một kĩ sư trẻ của công nghiệp hàng không Joseph F.Engelber, đã tạo ra loại robot đầu tiên năm 1959 ở công ty Unimation Chỉ đến năm 1975 công ty Unimation mới bắt đầu có lợi nhuận từ các sản phẩm robot đầu tiên này Chiếc robot công nghiệp được đưa vào ứng dụng đầu tiên năm 1961 ở một nhà máy ô tô của General Motors tại Trenton, New Jersey Hoa Kỳ Năm 1967 Nhật Bản mới nhập chiếc robot công nghiệp từ công ty AMF của Hoa Kỳ (American Machine and Foundry Company) Đến năm 1990 có hơn 40 công ty Nhật Bản, trong đó có những công ty khổng lồ như công ty Hitachi và công ty Mitsubishi đã đưa ra thị trường quốc tế nhiều loại robot
Ứng dụng của robot công nghiệp
Từ khi mới ra đời robot công nghiệp được áp dụng trong nhiều lĩnh vực dưới góc độ thay thế sức người Nhờ vậy các dây chuyền sản xuất được tổ chức lại, năng suất và hiệu quả sản xuất tăng lên rõ rệt
Mục tiêu ứng dụng robot công nghiệp nhằm góp phần nâng cao năng suất dây chuyền công nghệ, giảm giá thành, nâng cao chất lượng và khả năng cạnh tranh của sản phẩm đồng thời cải thiện điều kiện lao động Đạt được các mục tiêu trên là nhờ vào những khả năng to lớn của robot như : làm việc không biết mệt mỏi, rất dễ dàng chuyển nghề một cách thành thạo, chịu được phóng xạ và các môi trường làm việc độc hại, nhiệt độ cao, “cảm thấy” được cả từ trường và “nghe” được cả siêu âm Robot được dùng thay thế con người trong các trường hợp trên hoặc thực hiện các công việc tuy không nặng nhọc nhưng đơn điệu, dễ gây mệt mõi, nhầm lẫn.
Hình 1.2 Ứng dụng robot trong việc hàn cơ khí
Trong ngành cơ khí, robot được ứng dụng rộng rãi trong nhiều quy trình sản xuất quan trọng Từ công nghệ đúc để chế tạo các chi tiết phức tạp đến công nghệ hàn chính xác, từ cắt kim loại hiệu quả đến sơn và phun phủ kim loại đảm bảo thẩm mỹ, từ vận chuyển phôi tự động đến lắp ráp sản phẩm chính xác, robot đang đóng vai trò ngày càng quan trọng trong việc nâng cao năng suất, chất lượng và hiệu quả sản xuất trong ngành cơ khí.
Ngày nay, các dây chuyền sản xuất ứng dụng tự động hóa trình độ cao sử dụng Robot công nghiệp và máy CNC Hệ thống điều khiển thống nhất giúp các thiết bị này vận hành linh hoạt, hiệu quả Kỹ thuật robot còn được ứng dụng đa dạng trong các lĩnh vực như khai thác thềm lục địa và đại dương, y học, quốc phòng, chinh phục vũ trụ, công nghiệp nguyên tử và cả các lĩnh vực xã hội.
Hình 1.3 Ứng dụng robot trong máy CNC
Rõ ràng robot có khả năng làm việc vượt trội con người trong những điều kiện nhất định, là phương tiện hiệu quả cho tự động hóa, tăng năng suất lao động, giảm nhẹ công việc nặng nhọc và độc hại Tuy nhiên, nhược điểm lớn nhất của robot là kém linh hoạt hơn con người Trong dây chuyền tự động, hỏng một robot có thể khiến cả dây chuyền ngừng hoạt động, đòi hỏi robot luôn hoạt động dưới sự giám sát của con người.
Cấu trúc cơ bản của robot công nghiệp
1.2.1 Các bộ phận cấu thành robot công nghiệp
Hình 1.4 Các bộ phận cấu thành robot công nghiệp
Tay máy gồm các bộ phận: Đế 1 đặt cố định hoặc gắn liền với xe di động 2, thân 3, cánh tay trên 4, cánh tay dưới 5, bàn kẹp 6.
Hệ thống truyền dẫn động có thể là cơ khí, thuỷ khí hoặc điện khí: là bộ phận chủ yếu tạo nên sự chuyển dịch các khớp động
Hệ thống điều khiển đảm bảo sự hoạt động của Robot theo các thông tin đặt trước hoặc nhận biết trong quá trình làm việc
Hệ thống cảm biến tín hiệu thực hiện việc nhận biết và biến đổi thông tin về hoạt động của bản thân Robot (cảm biến nội tín hiệu) và của môi trường, đối tượng mà Robot phục vụ (cảm biến ngoại tín hiệu).
1.3.1 Kết cấu của tay máy
Tay máy là thiết bị cơ khí cấu thành nên robot, cho phép robot chuyển động trong không gian để thực hiện nhiệm vụ như nâng hạ, vận chuyển, lắp ráp Tay máy thường có cấu trúc hở, gồm các khâu liên kết bằng khớp, khớp đảm bảo cho tay máy có sự linh hoạt Các loại khớp phổ biến trong robot công nghiệp là khớp quay và khớp trượt, được lựa chọn tùy theo yêu cầu kết cấu của robot.
Khớp quay: (thường được kí hiệu là R) loại khớp này cho phép chuyển động quay của khâu này và khâu khác quanh một trục quay Loại khớp này hạn chế năm khả năng chuyển động giữa hai thành phần khớp do đó có một bậc tự do.
Khớp trượt: (thường được kí hiệu là T) loại khớp này cho phép hai khâu trượt tương đối với nhau theo phương của một trục nào đó và hạn chế năm khả năng chuyển động do đó khớp có một bậc tự do.
Ngoài ra trong một số trường hợp người ta còn dùng khớp cầu để tăng tính linh hoạt cho robot Với loại khớp này cho phép các khâu thực hiện các chuyển động quay theo tất cả các hướng qua tâm khớp, và hạn chế chuyển động tịnh tiến giữa các khâu.
Do đó khớp cầu có số bậc tự do là ba.
1.3.2 Bậc tự do của tay máy
Bậc tự do là khả năng chuyển động tịnh tiến hoặc quay của cơ cấu, quyết định số chuyển động cần thiết để di chuyển vật thể trong không gian Công thức tính bậc tự do của cơ cấu hở là: n = 6 - m - h, trong đó n là bậc tự do, m là số khâu động và h là số khớp liên kết giữa các khâu Đối với các khớp quay hoặc tịnh tiến (khớp động loại 5), bậc tự do bằng với số khâu động Tổng các bậc tự do của các khớp động cho biết bậc tự do của toàn bộ cơ cấu hở.
Hình 1.7 Cánh tay robot 6 bậc tự do
Số bậc tự do của robot quyết định đến tính linh hoạt của robot trong quá trình làm việc Số bậc tự do càng lớn robot càng linh hoạt, càng nhiều phương án để điểm thao tác thực hiện được yêu cầu công việc, điều này rất có ý nghĩa trong trường hợp robot làm việc trong môi trường có nhiều chướng ngại vật Tuy nhiên số bậc tự do chuyển động này không nên lớn hơn sáu, bởi vì nếu sáu bậc tự do nếu bố trí một cách hợp lý sẽ đủ để tạo ra khả năng linh hoạt của khâu tác động cuối nhằm có thể tiếp cận đối tượng theo mọi hướng Mặt khác cũng phải thừa nhận rằng số bậc tự do lớn kéo theo hệ quả là: tăng sai số dịch chuyển, tăng chi phí, thời gian sản xuất và bảo dưỡng robot.
Do đó tùy theo yêu cầu, chức năng mà người ta lựa chọn số bậc tự do cho robot thích hợp.
1.3.3 Hệ tọa độ của tay máy
Hình 1.8 Hệ tọa độ tay máy
Mỗi robot thường bao gồm nhiều khâu (links) liên kết với nhau qua các khớp (joints), tạo thành một xích động học xuất phát từ một khâu cơ bản (base) đứng yên.
Hệ toạ độ gắn với khâu cơ bản gọi là hệ toạ độ cơ bản (hay hệ toạ độ chuẩn) Các hệ
12 toạ độ trung gian khác gắn với các khâu động gọi là hệ toạ độ suy rộng Trong từng thời điểm hoạt động, các toạ độ suy rộng xác định cấu hình của robot bằng các chuyển dịch dài hoặc các chuyển dịch góc cuả các khớp tịnh tiến hoặc khớp quay Các toạ độ suy rộng còn được gọi là biến khớp
Các hệ tọa độ gắn trên các khâu của robot phải tuân theo quy tắc bàn tay phải.
1.3.4 Vùng làm việc của tay máy
Vùng làm việc của robot hay không gian làm việc của robot là toàn bộ thể tích được quét bởi khâu chấp hành cuối khi robot thực hiện tất cả các chuyển động có thể Vùng làm việc bị ràng buộc bởi các thông số hình học của robot cũng như các ràng buộc cơ học của các khớp Người ta thường dùng hai hình chiếu để mô tả vùng làm việc của một robot
Hình 1.9 Vùng làm việc của tay máy
Nhiệm vụ lập trình điều khiển tay máy
1.4.1 Định vị và định hướng tại “điểm tác động cuối”
Khâu cuối cùng của tay máy thường là bàn kẹp (gripper) hoặc là khâu gắn liền với dụng cụ thao tác (tool) Điểm mút của khâu cuối cùng là điểm đáng quan tâm nhất vì đó là điểm tác động của Robot lên đối tác và được gọi là “điểm tác động cuối”(endeffector) Trên hình 1.4 điểm E là “điểm tác động cuối”.
Hình 1.10 Điểm tác động cuối của tay máy
Chính tại “điểm tác động cuối” E này cần quan tâm không những vị trí nó chiếm trong không gian làm việc mà cả hướng tác động của khâu cuối đó Vị trí của điểm E được xác định bằng 3 toạ độ xE, yE, zE trong hệ trục toạ độ cố định Còn hướng tác động của khâu cuối có thể xác định bằng 3 trục xn, yn, zn gắn liền với khâu cuối tại điểm E, hoặc bằng 3 thông số góc α, β, γ nào đó
THIẾT KẾ CƠ KHÍ
Giới thiệu linh kiện
Hình 1.1 Động cơ Servo SG90
Động cơ servo SG90 có thể xoay
Chủng loại : Động cơ servo SG90
Điện áp hoạt động : 5V ỨNG DỤNG
Công dụng chính của động cơ servo là đạt được góc quay chính xác trong khoảng từ Việc điều khiển này có thể ứng dụng để lái robot, di chuyển các tay máy lên xuống, quay một cảm biến để quét khắp phòng…
Tốc độ hoạt động: 60 độ trong 0.1 giây
Nhiệt độ hoạt động: 0 ºC – 55 ºC
Kết nối dây màu đỏ với 5V, dây màu nâu với mass, dây màu cam với chân phát xung của vi điều khiển Ở chân xung cấp một xung từ 1ms-2ms theo để điều khiển góc quay theo ý muốn.
Dây cáp USB đóng vai trò quan trọng, thường đi kèm với bo mạch chủ Nó được sử dụng để kết nối bo mạch chủ với máy tính nhằm nạp chương trình cho bo mạch chủ Ngoài ra, dây cáp USB còn cấp nguồn từ nguồn USB của máy tính để bo mạch chủ hoạt động bình thường.
Ngoài ra cáp USB còn được dùng để truyền dữ liệu từ bo Arduino lên máy tính. Dây cáp có 2 đầu, đầu 1a được dùng để cắm vào cổng USB trên bo Arduino, đầu 1b dùng để cắm vào cổng USB trên máy tính.
IC này được lập trình như một bộ chuyển đổi USB –to-Serial dùng để giao tiếp với máy tính thông qua giao thức Serial (dùng cổng COM).
Cổng nguồn ngoài nhằm sử dụng nguồn điện bên ngoài như pin, bình acquy hay các adapter cho bo Arduino hoạt động Nguồn điện cấp vào cổng này là nguồn DC có hiệu điện thế từ 6V đến 20V, tuy nhiên hiệu điện thế tốt nhất mà nhà sản xuất khuyên dùng là từ 7 đến 12V
Cổng USB trên bo Arduino dùng để kết nối với cáp USB
Nút reset được sử dụng để reset lại chương trình đang chạy Đôi khi chương trình chạy gặp lỗi, người dùng có thể reset lại chương trình
ICSP là chữ viết tắt của In-Circuit Serial Programming Đây là các chân giao tiếp SPI của chip Atmega 16U2 Các chân này thường ít được sử trong các dự án về Arduino.
Chân xuất tín hiệu ra
Có tất cả 14 chân xuất tín hiệu ra trong Arduino Uno, những chân có dấu ~ là những chân có thể băm xung (PWM), tức có thể điều khiển tốc độ động cơ hoặc độ sáng của đèn Hình 2 thể hiện rất rõ những chân để băm xung này.
IC Atmega 328 là linh hồn của bo mạch Arduino Uno, IC này được sử dụng trong việc thu thập dữ liệu từ cảm biến, xử lý dữ liệu, xuất tín hiệu ra,…
Các chân ICSP của ATmega 328 được sử dụng cho các giao tiếp SPI (Serial Peripheral Interface), một số ứng dụng của Arduino có sử dụng chân này, ví dụ như sử dụng module RFID RC522 với Arduino hay Ethernet Shield với Arduino.
Chân lấy tín hiệu Analog
Các chân này lấy tín hiệu Analog (tín hiệu tương tự) từ cảm biến để IC Atmega
328 xử lý Có tất cả 6 chân lấy tín hiệu Analog, từ A0 đến A5.Chân cấp nguồn cho cảm biến
Các chân này dùng để cấp nguồn cho các thiết bị bên ngoài như role, cảm biến,
Mạch RC Servo thường được thiết kế với các chân như GND (chân nối đất, chân âm), chân 5V, chân 3.3V giúp người dùng dễ dàng cấp nguồn cho các thiết bị cảm biến, role mà không cần đến bộ biến đổi điện Ngoài ra, mạch còn có chân Vin, chân reset, chân IOREF, tuy nhiên các chân này không được sử dụng phổ biến nên không đề cập chi tiết trong bài viết này.
Biến trở vặn 10k là một loại biến trở (potentiometer) có giá trị điện trở tương đối lớn, thường được sử dụng để điều chỉnh dòng điện hoặc điện áp trong các mạch điện tử.
Biến trở vặn 10k thường có hai đầu cố định và một đầu trượt di chuyển được trên một thanh dẫn điện Khi đầu trượt được di chuyển trên thanh dẫn điện, giá trị điện trở giữa đầu cố định và đầu trượt sẽ thay đổi tương ứng.
Việc điều chỉnh giá trị điện trở của biến trở vặn 10k có thể được thực hiện bằng cách quay trục vặn (shaft) của biến trở, làm cho đầu trượt di chuyển trên thanh dẫn điện Điều này giúp điều chỉnh lượng dòng điện hoặc điện áp trong mạch điện tử một cách dễ dàng
Biến trở vặn 10k được sử dụng rộng rãi trong các ứng dụng điện tử, chẳng hạn như trong việc điều chỉnh âm lượng của loa trong một mạch âm thanh hoặc để điều chỉnh áp suất trong một mạch xử lý khí nén.
- Nút nhấn (hay còn gọi là Button) có rất nhiều loại, và mỗi loại lại có ứng dụng riêng của nó.
- Nút nhấn không giữ, sử dụng cho điều khiển mạch, reset,
- Sử dụng làm nút nguồn, nút nhấn trong các mạch điện tử
LM7805 hay 7805 là IC điều chỉnh điện áp dương đầu ra 5V Nó là IC của dòng ổn áp dương LM78xx, được sản xuất trong gói TO-220 và các gói khác IC này được sử dụng rộng rãi trong các thiết bị thương mại và giáo dục Nó cũng được sử dụng bởi nhiều người đam mê điện tử và thợ mày mò do giá rẻ, dễ sử dụng và không cần nhiều linh kiờ ơn bờn ngoài IC cú nhiều tớnh năng tớch hợp lý tưởng để sử dụng trong nhiều ứng dụng điện tử như dòng điện đầu ra 1.5A, chức năng bảo vệ quá tải, bảo vệ quá nhiệt, dòng điện tĩnh thấp, v.v.
BÀI TOÁN ĐỘNG HỌC CHO CÁNH TAY ROBOT 3 DOF
Cơ sở lý thuyết
Vị trí mỗi khâu trong không gian được xác định bởi vị trí một điểm định vị và hướng của khâu đó đối với một hệ quy chiếu đã chọn Điểm định vị là một điểm xác định nào đó của khâu, thông thường trong động lực học ta hay lấy khối tâm của khâu đó làm điểm định vị Hướng của khâu được xác định bằng ma trận cosin chỉ hướng hoặc bằng các tọa độ suy rộng xác địnhvị trí của vật rắn quay quanh một điểm Động học robot nghiên cứu chuyển động của các khâu của robot về phương diện hình học, không quan tâm đến các lực và momen gây ra chuyển động Động học robot là bài toán quan trọng phục vụ tính toán và thiết kế robot
Hình 2.1 Cánh tay robot 3 DOF RRR
Bài toán động học thuận có nhiệm vụ chủ yếu là xác định vị trí và hương của bàn kẹp dưới dạng hàm của biến khớp Các phương pháp ma trận 4x4 và các phương pháp ma trận 3x3 hay được sử dụng trong phân tích động học robot Hai phương pháp ma trận 4x4 phổ biến là phương pháp ma trận Denavit-Hartenberg và phương pháp ma trận Craig Trong báo cáo này chúng em trình bày và áp dụng phương pháp ma trận Denavit-Hartenberg để tính toán động học robot.
Bài toán động học ngược có ý nghĩa đặc biệt quan trọng trong lập trình và điều khiển chuyển động của robot Bởi lẽ, trong thực tế thường phải điều khiển robot sao cho bàn kẹp 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 đó Ta cần xác định các giá trị biến khớp tương ứng với vị trí và hướng của robot theo yêu cầu đó Đây cũng chính là nội dung của bài toán động học ngược. Việc đi tìm nghiệm của 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 robot Tuy nhiên, việc này khá khó khăn và hiện chưa có phương pháp tổng quát nào để giải quyết vấn đề này một cách thật hiệu quả Có hai nhóm phương pháp hay được sử dụng là :
− Nhóm phương pháp giải tích
− Nhóm phương pháp hình học.
3.2 Đặt hệ tọa độ tay máy
Hình 2.2 Đặt hệ tọa độ tay máy 3 DOF RRR
Cách chọn hệ trục tọa độ cho từng khâu theo D-H như sau:
− Trụcziđược chọn dọc theo hướng của trục khớp động thứ i+1
Trục xi được chọn nằm trên mặt phẳng vuông góc chung của hai trục zi-1 và zi, hướng từ trục zi-1 đến zi Nếu hai trục zi-1 và zi cắt nhau thì chọn hướng trục xi vuông góc với trục zi Ngược lại, nếu hai trục zi-1 và zi song song thì chọn trục xi hướng theo một trong hai pháp tuyến chung.
− Trục yi được chọn sao cho hệ
Oxyz i là hệ quy chiếu thuận (khi quay trục Ox dương đến Oy dương và trục Oz còn lại dương thì gọi là hệ quy chiếu thuận) − Gốc tọa độ oi được chọn tại giao điểm của xi và zi
− Đối với hệ tọa độ
Oxyz 0 theo quy ước trên ta chọn được trục 0z , còn 0 x được chọn tùy ý sao cho chúng vuông góc với nhau.
Động học thuận
Cách xác định các thông số trong bảng D-H:
i là góc quay quanh trục zi1để trục xi-1 chuyển đến trục x i ' ( x i ' // x i )
d i là khoảng cách giữa 2 trục xi1 và xi
ai là khoảng cách giữa 2 trục zi1 và zi
i là góc quay quanh trục xi sao cho trục z i 1' (z i 1'// zi ) chuyển đến trục z
Phương trình động học thuận: 0 3 T 0 1 T T T 1 2 2 3
Cos Sin Cos Sin Sin Cos
Sin Cos Cos Cos Sin Sin
Ma trận chuyển đổi tọa độ thứ I về thứ i – 1 có dạng:
Ta được phương trình động học thuận như sau:
Đặt tọa độ điể cuối của khâu 3 là:
Động học ngược
Dùng phương pháp giải tích như sau:
Cân bằng phương trính (1) và (2)
Cân bằng phương trính 1 và 2
Động Lực robot
Động năng và thế năng của vật sẽ là:
MÔ PHỎNG VÀ MÔ HÌNH THỰC TẾ
4.1 Mô phỏng trên phần mền Easy_Rob
*Video mô phỏng https://drive.google.com/file/d/1jBKrWAs7xwVJyOUf7mXoZ_7SK5B2lSPt/view?usp=sharing
Servo Servo3; // identity object unsigned long thoigian; unsigned long hientai = 0; unsigned long hientai2 = 0; int tre = 1000; int Value = 0; int button; int button2; int goc1; int goc2; int goc3; int goc4; bool tudong = 0; bool tay = 0; bool AUTO1 = 0; bool AUTO2 = 0;
// Khai bao bien toan cuc int currentAngle[4] = {0, 0, 50, 120}; void setup() {
// put your setup code here, to run once: Serial.begin(9600); pinMode(2, INPUT_PULLUP);// để cấu hình chân số 2 của vi điều khiển
(microcontroller) làm chân đầu vào (INPUT) với chế độ kéo lên (PULLUP). pinMode(3, INPUT_PULLUP);
Servo0.attach(8);// gửi tín hiệu điều chỉnh góc xoay
Servo3.attach(11); for (int j = 0; j < 3; j++)// vòng lặp for trong C++ để lặp lại một khối mã lệnh nhiều lần.
} void RotateServo(int index, int angle)// sử dụng để xác định servo cần xoay và góc xoay cần thiết để đưa servo đó tới vị trí mong muốn.
{ int i; if (currentAngle[index] < angle)
{ if (index == 0) Servo0.write(i); else if (index == 1) Servo1.write(i); else if (index == 2) Servo2.write(i); else if (index == 3) Servo3.write(i); delay(20); button = digitalRead(2); if(button == 0)
} else if (currentAngle[index] > angle)
{ if (index == 0) Servo0.write(i); else if (index == 1) Servo1.write(i); else if (index == 2) Servo2.write(i); else if (index == 3) Servo3.write(i); delay(20); button = digitalRead(2); if(button == 0)
} void loop() { button = digitalRead(2); button2 = digitalRead(3);
Serial.println(button2); if(button2 == 0)
Serial.println(tudong); thoigian = millis(); button = digitalRead(2); if (AUTO1 == 1 && thoigian - hientai2 >1000)
RotateServo(0, 50);// RotateServo(0, 50) là một câu lệnh gọi hàm trong chương trình Arduino Nó được sử dụng để xoay servo tại cổng số 0 đến góc 50 độ. RotateServo(1, 40);
} if (thoigian - hientai > 2000 && AUTO2 == 1)// kiểm tra nếu giá trị biến thoigian trừ đi giá trị hiện tại (hientai) lớn hơn 2000 millisecond (hay 2 giây) và biến AUTO2 bằng 1, thì sẽ thực hiện một đoạn code nào đó trong khối if statement. {
RotateServo(3, 120); hientai = thoigian; hientai2 =thoigian;
goc1 = map(Value, 0, 1023, 0, 180);// hàm map() để chuyển đổi giá trị đọc được từ cảm biến analog sang góc xoay của servo Hàm map() sẽ thực hiện phép biến đổi tuyến tính giữa các giá trị, trong đó // Tham số thứ nhất là giá trị cần chuyển đổi (trong trường hợp này là giá trị đọc được từ cảm biến analog).
Tham số thứ hai và thứ ba là giá trị tương ứng với giá trị đầu vào nhỏ nhất và lớn nhất của biến đầu vào (trong trường hợp này là 0 và 1023).
Tham số thứ tư và thứ năm là giá trị tương ứng với góc xoay nhỏ nhất và lớn nhất của servo (trong trường hợp này là 0 và 180). Servo0.write(goc1);
Value = analogRead(A1); goc2 = map(Value, 0, 1023, 0, 90);//
Value = analogRead(A2); goc3 = map(Value, 0, 1023, 0, 90);
Value = analogRead(A3); goc4 = map(Value, 0, 1023, 0, 180);
Qua việc nghiên cứu đề tài này , nhóm chúng em đã học tập được rất nhiều kiến thức về Robot 4 bậc , các kiến thức để tính toán động học thuận ,động học nghịch , động lực học Robot , kỹ năng nghiên cứu , giải quyết vấn đề cách làm việc nhóm , Đề tài này vẫn chưa được hoàn thiện hoàn chỉnh , đề tài này rất có ích cho thực tế trong việc nâng gắp vật trong những không gian 3 chiều
Chúng em rất mong được sự đóng góp ý kiến của Thầy để báo cáo của nhóm để hoàn thiện hơn