BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ VÀ CHẾ TẠO BÀN TAY ROBOT HAI NGÓN TAY NGÀNH KỸ THUẬT CƠ ĐIỆN TỬ GIẢNG VIÊN HƯỚNG DẪN TS BÙI THANH LUÂN Sinh viên thực hiện MSSV Lớp Dương Tú Mi 1711030089 17DCTA2 Huỳnh Đặng Hoàng Ngôi 1711250907 17DCTA2 Tp Hồ Chí Minh, ngày 25 tháng 9 năm 2021 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HỒ CHÍ MINH ĐỒ ÁN TỐT NGHIỆP THIẾT KẾ VÀ CHẾ TẠO BÀN TAY ROBOT HAI NGÓN TAY NGÀNH KỸ THUẬT CƠ ĐIỆN TỬ GIẢNG VIÊN HƯ.
Giới thiệu
1 1 Tính cần thiết, ứng dụng của đề tài
Sự gia tăng các trường hợp cắt cụt chi do công nghiệp hóa và thiếu ý thức về an toàn đang gây ra nhiều hệ lụy nghiêm trọng, bao gồm chấn thương tinh thần, mất khả năng thực hiện các hoạt động hàng ngày, và sự phụ thuộc vào người khác Điều này không chỉ ảnh hưởng đến cơ hội việc làm mà còn tạo ra nỗi lo về việc mất kết nối xã hội và các vấn đề y tế liên quan Để cải thiện chất lượng cuộc sống cho những người chịu ảnh hưởng, cánh tay robot đã được phát triển như một giải pháp hỗ trợ hiệu quả.
Tay giả đã trải qua nhiều giai đoạn tiến hóa và đổi mới giống như các sản phẩm tiêu dùng khác Việc tái tạo bất kỳ bộ phận nào của con người là một thách thức lớn, đòi hỏi các nhà nghiên cứu phải phân tích nhu cầu của bệnh nhân dựa trên các yếu tố như tuổi tác, giới tính và nghề nghiệp Họ đang nỗ lực thiết kế những sản phẩm "cổ máy" hiệu quả, hoàn hảo, trông giống như bàn tay thật và hoạt động tự nhiên.
1 2 Nhiệm vụ cần thực hiện
- Tìm hiểu về tay robot phục vụ người, các nghiên cứu trên thế giới và trong nước
- Tính toán và thiết kế phần cơ khí bàn tay robot hai ngón tay
- Gia công và lắp ráp phần cơ khí
- Thiết kế và lập trình phần điện điều khiển
1 3 Phạm vi giới hạn của đồ án
Trong thời gian 3 tháng thực hiện đồ án, đề tài thiết kế và chế tạo bàn tay robot với hai ngón tay được triển khai nhằm đảm bảo các chức năng cầm nắm vật Bàn tay robot này có khả năng co duỗi và nghiêng sang trái hoặc phải, đáp ứng yêu cầu về tính linh hoạt và hiệu quả trong việc thao tác.
Tổng quan và giải pháp
2 1 1 Ứng dụng của bàn tay robot hai ngón tay
Nhóm chúng tôi, với niềm đam mê thiết kế và kỹ thuật, mong muốn mang lại cơ hội cho người khuyết tật, đặc biệt là những người có chi phí lao động thấp, sử dụng công nghệ y sinh để cải thiện các phần chi tay bị thiếu hoặc mất Mặc dù không có kiến thức chuyên sâu về công nghệ y sinh, mô hình cánh tay robot hai ngón tay mà chúng tôi phát triển sẽ là bước đầu trong việc ứng dụng công nghệ y sinh vào cuộc sống thực tiễn, nhằm nâng cao chất lượng đời sống cho người khuyết tật có chi phí lao động thấp.
2 1 2 Các yêu cầu công nghệ cơ bản của bàn tay robot hai ngón tay
- Các khớp ngón tay chuyển đđộng linh hoạt
- Hai ngón tay có thể co hoặc duỗi
- Mỗi ngón tay có bốn bậc tự do có thể xoay trái hoặc phải
- Cầm được vật có khối lượng 100g
2 1 3 Các sản phẩm mô hình phổ biến hiện tại trong và ngoài nước
2 1 3 1 1 Cánh tay robot hỗ trợ sinh hoạt cơ bản cho người khuyết tật
Cánh tay robot do Dương Phúc Hiếu, sinh viên trường Đại học Sư Phạm Kỹ Thuật TP.HCM, phát triển nhằm giải quyết các vấn đề sinh hoạt cơ bản cho người khuyết tật Sản phẩm này không chỉ giúp cải thiện chất lượng cuộc sống mà còn mang lại sự độc lập cho người sử dụng.
Sản phẩm sử dụng kỹ thuật điện cơ đồ để phân tích tín hiệu điện cơ từ cánh tay cụt của người khuyết tật, từ đó thu nhận các giá trị tương ứng với cử chỉ của bàn tay Những giá trị này sẽ được sử dụng làm cơ sở để điều khiển cánh tay nhân tạo.
Kỹ thuật điện cơ đồ mang đến trải nghiệm chân thực cho người dùng với cánh tay giả, đồng thời đơn giản hóa việc điều khiển và giúp người dùng dễ dàng làm quen hơn.
Hình 2 1: Cánh tay hỗ trợ sinh hoạt cơ bản cho người khuyết tật (Nguồn Internet)
Người sử dụng cánh tay giả có khả năng cầm nắm và xách đồ nặng từ 1-2kg, đồng thời thực hiện một số công việc đơn giản Sản phẩm này được thiết kế nhẹ, dễ lắp đặt và sử dụng, mang lại sự tiện lợi cho người dùng.
2 1 3 1 2 Cánh tay robot cho người khuyết tật ứng dụng công nghệ sóng não
Sản phẩm được 3 sinh viên ngành cơ điện tử (viện cơ khí Trường Đại Học Bách Khoa Hà Nội ) chế tạo
Hình 2 2: Cánh tay robot cho người khuyết tật ứng dụng công nghệ sóng não
Cánh tay robot hoạt động bằng cách nhận tín hiệu từ tai nghe Mindwave qua giao thức Bluetooth Các tín hiệu này được gửi đến bộ vi xử lý để phân tích, từ đó tạo ra tín hiệu điều khiển cho bàn tay, cho phép cầm nắm hoặc giữ đồ vật.
2 1 3 1 3 Cánh tay robot cho người khuyết tật liệt cơ tay toàn phần
Hai học sinh Phạm Đức Linh và Nguyễn Đức An, lớp 11A4, trường Trung học phổ thông Hàn Thuyên, Bắc Ninh, đã nghiên cứu và sáng tạo ra sản phẩm cánh tay robot dành cho người khuyết tật liệt cơ tay toàn phần Sản phẩm của các em đã xuất sắc giành giải nhất trong cuộc thi Khoa Học-Kỹ Thuật cấp Quốc Gia dành cho học sinh Trung Học năm học 2020.
Hình 2 3: Cánh tay robot cho người khuyết tật liệt cơ tay toàn phần (Nguồn Internet)
Sử dụng độ co duỗi của ngón chân để điều khiển cánh tay robot thông qua một bộ phận cảm biến đặt trên ngón trỏ của bàn chân Khi người dùng co duỗi ngón chân, các tín hiệu độ cong sẽ được thu thập và xử lý để điều khiển cánh tay một cách chính xác.
Cánh tay robot mang đến cho người sử dụng khả năng cảm nhận tín hiệu lực qua đầu ngón tay nhờ vào động cơ rung Với tính năng xoay cổ tay và gập duỗi khuỷu tay, sản phẩm này giúp người dùng dễ dàng di chuyển và thực hiện các thao tác cầm nắm cơ bản, hỗ trợ hiệu quả cho người khuyết tật chi.
2 1 3 2 1 Nghiên cứu của IRIM Lab Koreatech
Nghiên cứu tại IRIM Lab Koreatech tập trung vào lực và sự linh hoạt khi chuyển động của ngón tay, với mỗi khớp ngón tay được điều khiển bởi một động cơ Step vít me Bàn tay nhân tạo này có tổng cộng 12 độ tự do (12-dof), yêu cầu 12 động cơ Step vít me để thực hiện các chuyển động Nhờ vào việc mỗi khớp sử dụng một động cơ riêng biệt, bàn tay có khả năng chịu lực lớn, cho phép cầm, nắm và mang các vật có tải trọng lớn và đa dạng hình dạng.
2 1 3 2 2 Nghiên cứu của Will Cogley
Hình 2 5: Nghiên cứu của Will Cogley (Nguồn Internet)
Hình 2 6: Cánh tay Robot của WillCogley (Nguồn Internet)
Will Cogley đã tập trung vào việc phát triển các khớp ngón tay hoạt động linh hoạt như tay thật bằng cách sử dụng motor servo MG 90s Ông đã lập trình máy tính để gửi tín hiệu điều khiển servo, cho phép các khớp co duỗi và nghiêng phải-trái một cách trơn tru, thậm chí còn linh hoạt hơn cả tay thật của con người.
2 1 4 So sánh các công nghệ hiện tại
Mỗi sản phẩm được nêu trong bài viết đều sở hữu công nghệ điều khiển độc đáo, mang lại những ưu điểm và nhược điểm riêng biệt.
2 1 4 1 Cánh tay robot hỗ trợ sinh hoạt cơ bản cho người khuyết tật
Cánh tay giả mang lại nhiều ưu điểm cho người sử dụng, cho phép họ cầm nắm và xách đồ nặng từ 1-2kg, đồng thời thực hiện một số công việc đơn giản Sản phẩm có trọng lượng nhẹ, dễ dàng lắp đặt và sử dụng, giúp cải thiện chất lượng cuộc sống cho người dùng.
Mặc dù sử dụng kỹ thuật điện cơ đồ để thu thập thông tin và điều khiển cánh tay, nhưng vẫn tồn tại nhược điểm là chưa khắc phục được vấn đề cho những người khiếm khuyết cả cánh tay, đồng thời độ chính xác của tín hiệu cũng không cao.
2 1 4 2 Cánh tay robot cho người khuyết tật ứng dụng công nghệ sóng não
- Ưu điểm: do ứng dụng sóng não vào điều khiển nên người sử dụng có cảm giác chân thật hơn, có thể sử dụng bởi người bị liệt cơ
Tai nghe với nhiều cảm biến phức tạp, bao gồm ba cảm biến ở tai, trán và vành tai, đòi hỏi chuyên môn cao để sử dụng Kích thước lớn của sản phẩm cùng với việc sử dụng ba cảm biến khiến mức độ chuẩn hóa thông tin không cao, dễ bị rơi hoặc lệch Hơn nữa, chuyển động không được trơn tru do kết cấu cơ khí còn yếu.
2 1 4 3 Cánh tay robot cho người khuyết tật liệt cơ tay toàn phần
Phương pháp giải quyết
3 1 Đề xuất phương án thực hiện
Sau khi nghiên cứu và so sánh các mô hình sản phẩm hiện có trong chương 2, nhóm đã quyết định lựa chọn thi công mô hình bàn tay robot với hai ngón tay Do hạn chế về thời gian và chi phí cho luận văn, mô hình bàn tay hoàn chỉnh với đủ năm ngón sẽ được phát triển thêm trong tương lai.
Nhóm nghiên cứu đã sử dụng bàn tay thật và tiến hành tìm kiếm thông tin từ các mô hình hiện tại, đặc biệt chú trọng vào hai nghiên cứu của IRIM Lab Koreatech và Will Cogley, nhằm xác định số lượng khớp cần thiết cho mỗi ngón tay.
Nhóm nghiên cứu đã chọn động cơ phù hợp để phát triển mô hình nhỏ gọn phục vụ cho nghiên cứu y sinh, dựa trên các động tác và cử chỉ của bàn tay từ hai nghiên cứu trước Qua khảo sát, nhận thấy rằng ngón tay có khả năng co duỗi, xoay và dịch chuyển trái phải để cầm nắm vật Từ đó, nhóm đã lựa chọn 4 động cơ để thực hiện các chức năng co duỗi và xoay trái phải cho hai ngón tay.
Về động cơ nhóm tách ra thành hai loại:
Động cơ Step vít me được sử dụng để điều khiển chuyển động của ngón tay thông qua sợi dây kéo nối với đai ốc vít me Khi đai ốc trượt trên thanh trượt vít me, nó sẽ kích hoạt sự co hoặc duỗi của ngón tay Trong mô hình này, do có hai ngón tay, chỉ cần sử dụng hai động cơ Step vít me.
Động cơ RC Servo là thành phần quan trọng trong việc điều khiển chuyển động, với nhóm sử dụng servo MG 90s để xoay ngón tay sang trái hoặc phải Với mô hình bao gồm 2 ngón tay, nhóm đã quyết định sử dụng 2 động cơ Servo để đảm bảo khả năng điều khiển linh hoạt và chính xác.
Các khớp ngón tay, vỏ tay, khớp cổ tay và đế bích được chế tạo từ vật liệu nhựa POM, giúp sản phẩm nhẹ, dễ lắp đặt và thuận tiện khi di chuyển trong quá trình sử dụng.
Nhóm sẽ thiết kế và gia công vỏ động cơ bằng nhôm để tăng độ bền, thay thế cho lớp vỏ nhựa giòn dễ hỏng Để điều khiển hoạt động của động cơ, nhóm đã quyết định sử dụng bo mạch Arduino Uno R3 kết hợp với Shield motor driver L293D, nhờ vào kích thước nhỏ gọn, phù hợp với yêu cầu của dự án.
3 3 Xác định cấu hình, tính năng và thông số kỹ thuật cho sản phẩm
- Bàn tay robot sẽ có hai ngón tay với mỗi ngón tay có 4-dof
- Phần cổ tay: được thiết kế để mô hình gần giống với cánh tay thật và để phát triển mô hình về sau
- Phần vỏ cánh tay: dùng để cố định và là phần liên kết các bộ phần còn lại của bàn tay robot thành một khối thống nhất
Cầm, nắm, mang các vật có khối lượng 100g
3 3 3 1 Tính toán lực lò xo
Theo kiểm tra thực nghiệm khối lượng lớn nhất tác động lên lò xo là:
Do lò xo treo thẳng đứng nên trọng lượng:
P 0,1.10 1 m g N (3.1) Theo định luật Hook khi lò xo ở vị trí cân bằng: F đh P (3.2) Cần lò xo trở lại kích thước ban đầu sau khi biến dạng :
15 Độ biến dạng lò xo l 2 cm 0.02 m đh
Vậy nên chọn lò xo có độ cứng k > 50 /N m Độ dài tự nhiên lò xo l 0 1 5 , cm Đường kính 0,5 D cm
Vậy từ các thông số đã tìm ở trên nhóm quyết định chọn mua lò xo kéo làm bằng thép cacbon đen không gỉ thỏa mãn các yêu cầu trên
Hình 3 1: Lò xo (Nguồn Internet)
3 3 3 2 Tính toán chọn động cơ
3 3 3 2 1 Lựa chọn động cơ Servo
Chọn tần số góc 5 rad s /
Thời gian quay hết một vòng 2 2
Ta lại có chu vi của một vòng tròn là: c d (3.6) Với d = 5 mm = 0,005 m
Công suất làm việc động cơ:
Để đáp ứng các yêu cầu thiết kế như kích thước nhỏ gọn, hành trình 180º và sử dụng bánh răng kim loại, nhóm đã chọn động cơ RC servo MG90s.
Hình 3 2: Motor RC servo MG90s (Nguồn Internet)
3 3 3 2 2 Lựa chọn động cơ step
Tải trọng (bao gồm khối lượng phần cơ cấu di động tải mang theo và lực đàn hồi của lò xo) :
- Hệ số ma sát: tổng hệ số ma sát cản trở chuyển động của cơ cấu di trượt:
Tính công suất cần thiết :
Vậy công suất cần để thực hiện yêu cầu công việc là 0,0163 W
Với công suất tính toán được chọn động cơ bước có trong ổ đĩa CD cũ với :
Với điện áp 5 V thì cho ra số vòng quay thực nghiệm tính được là:
Tính tiếp moment xoắn cần thiết:
Hình 3 3: Động cơ bước và trục vít me (Nguồn Internet)
3 3 3 2 3 Tính bước với trục vít me
Ta có các thông số theo kiểm nghiệm động cơ step đã mua như sau:
- Thông số bước ren: λ = 3 mm
- Thông số tiếp theo cần quan tâm là module điều khiển động cơ bước: L293D với m = 1/16
Qua thực nghiệm motor kéo được vật có khối lượng m = 200 g = 2 N
Từ các thông số trên α, λ, m ta tính được bước B (step/mm) với công thức:
Chọn vật liệu là Inox 304 với ứng suất bền b 205 MPa
Trục trung gian ứng suất xoắn cho phép 10 15 Mpa
Moment xoắn động cơ Step: 𝑇 = 3,11 10 −3 𝑁𝑚 Đường kính trục:
Vậy chọn d = 2 mm Độ dài trục L mm
Phương trình cân bằng lực theo trục OY:
Ta có: Y 0 F Ay F By F Cy 0 (3.14) F Ay F Cy 1
Mà F Ay F Cy Nên suy F Ay F Cy 0,5 N
Phương trình cân bằng lực theo trục OX:
Ta có: X 0 F Ax F Bx F Cx 0 (3.15) F Ax F Cx F Bx
Mà F Ax F Cx Nên suy ra F Ax F Cx 0,5 N
M M (3.19) Nhìn vào biểu đồ moment ta xác định vị trí nguy hiểm tại B
Suy ra moment tương đương:
Với d = 2mm Ứng suất uốn cho phép: 205 MPa
Vậy chọn trục với đường kính d = 2 mm
Hình 3 4: Biểu đồ moment lực cho tất cả các trục khớp
Quy trình thiết kế
Hình 4 1: Sơ đồ động học bàn tay robot hai ngón tay
5: Thanh trượt vít me 6: Lò xo kéo
7: Đai ốc vít me 8: Motor step
4 1 2 1 Bản vẽ chi tiết khớp 1 cả hai ngón tay
Hình 4 2: Hình 3D chi tiết khớp 1 cả hai ngón tay
Hình 4 3: Hình chiếu bằng khớp 1 cả hai ngón tay
4 1 2 2 Bản vẽ chi tiết khớp 2 cho ngón trỏ
Hình 4 4: Hình chiếu bằng khớp 2 ngón trỏ
Hình 4 5: Hình chiếu đứng khớp 2 ngón trỏ
4 1 2 3 Bản vẽ chi tiết khớp 3 cho ngón trỏ
Hình 4 6: Hình chiếu bằng khớp 3 ngón trỏ
Hình 4 7: Hình chiếu đứng khớp 3 ngón trỏ
4 1 2 4 Bản bản chi tiết khớp 2 ngón cái
Hình 4 8: Hình chiếu bằng khớp 2 ngón cái
Hình 4 9: Hình chiếu đứng khớp 2 ngón cái
4 1 2 5 Bản vẽ chi tiết khớp 3 cho ngón cái
Hình 4 10: Hình chiếu bằng khớp 3 ngón cái
Hình 4 11: Hình chiếu đứng khớp 3 ngón cái
4 1 2 6 Bản vẽ chi tiết khớp 4
Hình 4 12: Hình chiếu bằng khớp 4 cả 2 ngón tay
4 1 2 7 Bản vẽ chi tiết khớp 4-2
Hình 4 13: Hình chiếu bằng khớp 4-2 cả 2 ngón tay
4 1 2 8 Bản vẽ chi tiết vỏ bàn tay-1
Hình 4 14: Hình chiếu bằng chi tiết vỏ bàn tay-1
4 1 2 9 Bản vẽ chi tiết vỏ bàn tay-2
Hình 4 15: Hình chiếu bằng chi tiết vỏ bàn tay-2
4 1 2 10 Bản vẽ chi tiết khớp vỏ tay
Hình 4 16: Hình chiếu bằng chi tiết khớp vỏ tay
4 1 2 11 Bản vẽ chi tiết vỏ cánh tay
Hình 4 17: Hình chiếu bằng chi tiết vỏ cánh tay
4 1 2 12 Bản vẽ chi tiết nắp vỏ cánh tay
Hình 4 18: Hình chiếu bằng chi tiết nắp vỏ cánh tay
4 1 2 13 Bản vẽ chi tiết vỏ motor servo 1
Hình 4 19: Mặt cắt hình chiếu đứng chi tiết vỏ motor servo 1
4 1 2 14 Bản vẽ chi tiết vỏ motor servo-2
Hình 4 20: Mặt cắt hình chiếu đứng chi tiết vỏ motor servo 2
4 1 2 15 Bản vẽ chi tiết lò xo kéo
Hình 4 21: Hình chiếu bằng chi tiết lò xo kéo
4 1 2 16 Bản vẽ chi tiết nắp motor vít me
Hình 4 22: Hình chiếu bằng và hình chiếu cạnh chi tiết nắp motor vít me
4 1 2 17 Bản vẽ chi tiết vỏ động cơ Step vít me
Hình 4 23: Hình chiếu đứng và hình chiếu bằng chi tiết vỏ vít me
4 1 2 18 Bản vẽ chi tiết mặt bích động cơ Step vít me
Hình 4 24: Hình chiếu đứng và hình chiếu bằng chi tiết mặt bích vỏ vít me
Hình 4 25: Hình chiếu cạnh chi tiết mặt bích động cơ Step vít me
4 1 2 19 Bản vẽ chi tiết đai ốc vít me
Hình 4 26: Hình chiếu đứng chi tiết đai ốc vít me
4 1 2 20 Bản vẽ chi tiết miếng kê
Hình 4 27: Hình chiếu bằng và hình chiếu cạnh chi tiết miếng kê
Hình 4 28: Hình chiếu bằng bản vẽ lắp bàn tay robot hai ngón tay
Hình 4 29: Mặt cắt hình chiếu bằng bản vẽ lắp bàn tay robot hai ngón tay
4 1 4 Tính toán động học cánh tay Robot hai ngón tay
4 1 4 1 Tính toán động học ngón trỏ
Hình 4 30: Sơ đồ hệ tọa độ gắn với các khâu của ngón trỏ
Ngón trỏ của bàn tay robot được thiết kế với 4 bậc tự do và 4 khớp quay Sử dụng phương pháp biểu diễn Denavit-Hartenberg, các khung tọa độ cho từng khâu của ngón tay đã được thiết lập như trong Hình 4.30 Dựa trên các khung tọa độ này, bảng Denavit-Hartenberg đã được lập ra.
Bảng 4 1: Bảng tham số DH ngón trỏ
4 1 4 1 1 Bài toán động học thuận cho ngón trỏ
Phương trình động học thuận mô tả mối quan hệ giữa vị trí và hướng của ngón tay robot thông qua các biến khớp Các biến khớp này bao gồm góc quay của các khớp và độ dịch chuyển tịnh tiến của khớp tịnh tiến.
Căn cứ vào phương trình động học thuận này khi biết được vị trí các khớp ta có thể xác định được vị trí và hướng ngón tay robot
Từ: j i T Rot x ( i 1 ).Tran a x ( i 1 ).Rot z ( ). i Tran d z ( ) i (4.1)
Nhân các ma trận 0 1 T T T T T, , , , 1 2 2 3 3 4 E 4 nhận được ma trận biểu diễn vị trí và hướng của ngón trỏ:
-sin( ) cos( ).(L cos( + ) + L cos( ) + L cos( + + )) cos( + + ).sin( )
4 1 4 1 2 Bài toán động học nghịch ngón trỏ
Ma trận E 0 T xác định vị trí và hướng của khung tọa độ tay robot, từ đó cần tìm giá trị các khớp Để thực hiện điều này, ta nhân hai vế của phương trình với ma trận nghịch đảo.
1 T : ( ) 1 T nhận được phương trình sau:
Ma trận E 1 T được tính theo (4.3) sử dụng các ma trận 1 2 T T T T, , , 2 3 3 4 E 4 bằng phần mềm matlab cho ra kết quả:
Dựa vào (4.5) và (4.8) ta có:
Sử dụng (4.4) và (4.6) kết hợp với (4.7) và (4.9):
Viết lại hai phương trình trên ta được:
Từ (4.10) và (4.11) ta tính được góc 2 :
4 1 4 2 Tính toán động học ngón cái
Hình 4 31: Sơ đồ hệ tọa độ gắn với các khâu của ngón cái
Ngón cái của bàn tay robot được thiết kế với 4 bậc tự do thông qua 4 khớp quay Bằng cách áp dụng phương pháp Denavit-Hartenberg, các khung tọa độ cho từng khâu của ngón tay đã được xác định như hình 4.31 Dựa trên các khung tọa độ này, bảng Denavit-Hartenberg đã được lập ra để hỗ trợ trong việc mô phỏng và điều khiển ngón tay robot.
Bảng 4 2: Bảng tham số DH ngón cái
4 1 4 2 1 Bài toán động học thuận ngón cái
Căn cứ vào phương trình động học thuận này khi biết được vị trí các khớp ta có thể xác định được vị trí và hướng ngón cái
Từ: j i T Rot x ( i 1 ).Tran a x ( i 1 ).Rot z ( ). i Tran d z ( ) i (4.12)
Nhân các ma trận 0 1 T T T T T, , , , 1 2 2 3 3 4 E 4 nhận được ma trận biểu diễn vị trí và hướng của ngón cái:
-sin( ) cos( ).(L cos( + ) + L cos( ) + L cos( + + )) cos( + + ).sin( )
- L sin( + ) - L sin( ) - L s ( os in + + ) 0 yc zc a a a
4 1 4 2 2 Bài toán động học nghịch ngón cái
Ma trận E 0 T đã được xác định, thể hiện vị trí và hướng của khung tọa độ tay robot Để tìm giá trị các khớp, cần nhân hai vế của phương trình với ma trận nghịch đảo.
1 T : ( ) 1 T nhận được phương trình sau:
Ma trận E 1 T được tính theo (4.14) sử dụng các ma trận 2 1 T T T T, , , 2 3 3 4 E 4 bằng phần mềm matlab cho ra kết quả:
Dựa vào (4.16) và (4.19) ta có:
Sử dụng (4.15) và (4.17) kết hợp với (4.18) và (4.20):
Viết lại hai phương trình trên ta được:
Từ (4.21) và (4.22) ta tính được góc 2 :
4 2 1 Sơ đồ khối mạch điện
Hình 4 32: Sơ đồ khối mạch điện
Khối nguồn cung cấp điện cho hệ thống điều khiển và chấp hành Tín hiệu đầu vào từ máy tính được gửi qua phần mềm Arduino, sau đó được khối điều khiển tiếp nhận và xử lý Khối điều khiển sẽ truyền tín hiệu ra để điều khiển hai động cơ Step vít me và hai động cơ Servo hoạt động hiệu quả.
4 2 2 Các linh kiện sử dụng
Hình 4 33: Pin Lipo 3.7V 1000mAH (Nguồn Internet)
Pin Lipo Polymer chuyên dụng cho thiết bị điện tử cầm tay, loa bluetooth, đèn chiếu sáng, tablet, điện thoại và đồ chơi trẻ em Sản phẩm có tuổi thọ cao, lên đến 1500 lần sạc xả, tương đương 4 đến 5 năm sử dụng Pin được nhập khẩu chính hãng và mới 100% Tùy thuộc vào nhu cầu sử dụng, người dùng nên lựa chọn bộ sản phẩm phù hợp để đảm bảo hiệu quả tối ưu.
- Kích thước: 5.2x34x50mm (dày x rộng x dài)
- Pin tích hợp sẵn mạch bảo vệ, đảm bảo an toàn khi sử dụng
Mạch sạc bảo vệ pin lithium TP4056 1A cổng TYPE-C
Hình 4 34: Mạch sạc TP4056 (Nguồn Internet)
Mạch sạc pin TP4056 1A Type C với bảo vệ dòng điện là mô-đun nhỏ gọn, hoạt động ổn định nhờ vào IC sạc TP4056 và IC bảo vệ pin DW01 Mô-đun này cung cấp dòng sạc 1A và tự động ngắt khi hoàn tất quá trình sạc Với giá thành hợp lý và chất lượng ổn định, mạch sạc pin này là lựa chọn lý tưởng cho các dự án của bạn.
- Điện áp đầu vào: 4.35-6VDC(điện áp khuyến nghị 5VDC)
- Pin điện áp bảo vệ quá tải: 4,28 V
- Điện áp bảo vệ xả pin: 3.0 V
- Điện áp ngưng xả pin: 3.2 V
- Pin: bảo vệ quá dòng 3
Hình 4 35: Sơ đồ nối dây mạch sạc (Nguồn Internet)
Module nguồn tăng áp DC-DC SX1308 2A
Hình 4 36: Mạch tăng áp DC-DC SX1308 2A (Nguồn Internet)
SX1308 là mạch tăng áp nhỏ gọn, sử dụng chip SX1308, cho phép điều chỉnh đầu ra lên đến 28VDC và dòng điện tối đa 2A Mạch này được ứng dụng phổ biến trong các sản phẩm mạng 3G, thiết bị kỹ thuật số, điện di động và các thiết bị sử dụng pin.
- Dải điện áp đầu vào: DC 2V-24V
- Dải điện áp đầu ra: DC2V-28V
- Tần số chuyển mạch: 1,2MHz
- Tần số dao động 1.2MHz, hiệu suất lên đến 95%
- Mạch có bảo vệ ngắn mạch, bảo vệ quá nhiệt
Hình 4 37: Sơ đồ nối dây mạch tăng áp (Nguồn Internet)
4 2 2 2 Tính hiệu vào Điều khiển mạch bằng máy tính thông qua phần mềm Arduino IDE
Hình 4 38: Giao diện phần mềm Arduino IDE
Arduino IDE là một phần mềm mã nguồn mở chủ yếu được sử dụng để viết và biên dịch mã vào module Arduino
Arduino IDE sử dụng ngôn ngữ lập trình C/C++ để viết chương trình nạp vào Arduino
Arduino IDE cho phép người dùng giả lập tín hiệu đầu vào, giúp điều khiển Arduino thông qua máy tính mà không cần phải sử dụng tín hiệu từ các chân Analog hoặc Digital.
Hình 4 39: Arduino Uno R3 (Nguồn Internet)
Arduino Uno R3 - ATmega328 là phiên bản thứ ba trong dòng Arduino, giúp người dùng dễ dàng tiếp cận lập trình và phát triển phần cứng với các tính năng mong muốn một cách nhanh chóng và tiết kiệm chi phí.
Bo mạch vi điều khiển ATmega328 tích hợp 14 chân đầu vào/đầu ra kỹ thuật số (bao gồm 6 chân hỗ trợ PWM), 6 đầu vào analog, bộ cộng hưởng 16 MHz, kết nối USB, giắc cắm nguồn, đầu cắm ICSP và nút reset Mạch này cung cấp đầy đủ các thành phần cần thiết để hoạt động, chỉ cần kết nối với máy tính qua cáp USB hoặc cấp nguồn từ 7 đến 12VDC để khởi động.
- Vi điều khiển chính: ATmega328
- Điện áp hoạt động:5VDC
- Điện áp vào giới hạn: 6~20VDC
- Số chân Digital: 14 (6 chân PWM)
- Dòng DC trên mỗi chân: 40mA
- Dòng DC trên chân 3.3V: 50mA
- Bộ nhớ Flash: 32 KB (0.5KB dùng cho bootloader)
- Tần số xung clock: 16 MHz
Hình 4 40: Sơ đồ nối dây Arduino (Nguồn Internet)
4 2 2 3 2 Driver điều khiển động cơ
L293D Mạch Điều Khiển Động Cơ 1.2A Arduino
Hình 4 41: Shield motor driver L293D (Nguồn Internet)
Mạch điều khiển động cơ L293D 1.2A Arduino là một trong những linh kiện linh hoạt nhất hiện nay, với khả năng kết nối 2 servo và điều khiển 4 động cơ DC hoặc động cơ bước Điều này khiến nó trở thành lựa chọn lý tưởng cho các dự án robot.
Shield sử dụng 2 IC cầu H L293D và 1 IC logic 74HC595 để điều khiển Nó có khả năng điều khiển nhiều loại motor như servo, stepper và dc motor với điện áp lên đến 36V và dòng tối đa 600mA cho mỗi kênh điều khiển.
Số lượng motor có thể điều khiển:
- Có nút Reset để khởi động lại Arduino
Các chân được kết nối với Shield như sau:
- Động cơ DC: lần lượt nối với các chân 11, 3, 5, 6
Động cơ bước được điều khiển qua IC 74HC595 với các chân 4, 7, 8, và 12 Trên Shield có jumper màu vàng PWR, cho phép kết nối nguồn ngoài cho board Arduino qua jack DC, ví dụ như pin 9V, và nguồn cho motor sẽ được lấy từ jack này mà không cần nối với EXT_PWR Nếu ngắt jumper, bạn cần phải kết nối một nguồn riêng vào terminal EXT_PWR để cấp nguồn cho motor.
Hình 4 42: Thông số kích thước Shield motor driver L293D (Nguồn Internet)
Hình 4 43: Sơ đồ nối dây Shield motor driver L293D (Nguồn Internet)
Hình 4 44: Động cơ Servo MG 90s (Nguồn Internet)
Thi công
5 1 Mô phỏng lắp rắp bàn tay robot hai ngón tay
Hình 5 1: Lắp các khớp ngón tay
Hình 5 2: Lắp ráp động cơ Servo
Hình 5 3: Lắp ráp ngón tay vào động cơ Servo
Hình 5 4: Lắp ngón tay vào vỏ bàn tay
Hình 5 5: Lắp lò xo vào vỏ bàn tay và nối dây kéo
Hình 5 6: Lắp bàn tay Robot vào vỏ cánh tay
Hình 5 7: Cố định bàn tay Robot vào vỏ cánh tay bằng chi tiết cổ tay
Hình 5 8: Lắp ráp động cơ Step vít me
Hình 5 9: Lắp ráp vỏ động cơ Step vit me
Hình 5 10: Lắp ráp bàn tay và động cơ Step vào vỏ cánh tay
Hình 5 11: Nối dây kéo vào ngón tay Robot và động cơ Step vít me
Hình 5 12: Lắp mặt bích vỏ bàn tay
Hình 5 13: Cố định lòng bàn tay bằng Bulong M2
Hình 5 14: Lắp ghép hoàn chỉnh mô hình bàn tay robot hai ngón tay
5 2 Mô phỏng trên phần mềm Matlab
5 2 1 Mô phỏng bàn tay robot trên Matlab Simulink
Hình 5 15: Ảnh mô phỏng bàn tay robot trên Matlab Simulink
Do sự chuyển động của các khớp ngón tay phụ thuộc vào lực kéo từ động cơ Step vít me, thực nghiệm trên mô hình đã cho ra bảng thông số góc của khớp ngón trỏ và ngón cái khi động cơ này tịnh tiến.
Bảng 5 1: Bảng góc các khớp ngón trỏ khi động cơ Step tịnh tiến
Motor step vít me tịnh tiến
Bảng 5 2: Bảng góc các khớp ngón cái khi động cơ Step tịnh tiến
5 2 2 Mô phỏng bàn tay Robot trên Matlab Guide
Chạy mô phỏng chuyển động bàn tay Robot trên Matlab guide
Hình 5 16: Mô phỏng bàn tay robot trên Matlab Guide
Khi nhập các góc Theta1,2,3,4 (tương đương với các góc 𝜃1,2,3,4) của ngón trỏ và ngón cái vào Matlab Guide, mô phỏng bàn tay Robot trên Matlab Simulink sẽ thực hiện chuyển động theo các dữ liệu đã nhập Phần mềm cũng sẽ tính toán tọa độ Px, Py, Pz của ngón trỏ và tọa độ Pxc, Pyc, Pzc của ngón cái, sau đó xuất kết quả ra màn hình điều khiển.
Motor step vít me tịnh tiến
Mô phỏng bàn tay Robot bằng bài toán động học nghịch Khi nhập các tọa độ
Trong phần mềm Matlab Guide, việc nhập các giá trị Px, Py, Pz của ngón trỏ cùng với tọa độ Pxc, Pyc, Pzc của ngón cái sẽ giúp tính toán các góc Theta1, Theta2, Theta3 và Theta4, tương ứng với các góc 𝜃1, 𝜃2, 𝜃3 và 𝜃4 của ngón trỏ và ngón cái.
Hình 5 17: Chạy mô phỏng động học nghịch bằng Matlab
Hình 5 18: Kiểm tra động học nghịch bàn tay Robot
Kiểm tra bài toán động học nghịch bằng cách nhập giá trị các góc Theta 1, 2, 3,
4 của ngón trỏ và ngón cái rồi cho chạy mô phỏng bài toán động học thuận
5 3 Động học vi sai robot cho cả hai ngón tay
5 3 1 Phép tịnh tiến vi sai
Bất kể thứ tự thực hiện ba phép biến đổi nào, kết quả cuối cùng vẫn sẽ giống nhau.
5 3 3 Phép quay vi sai xung quanh véc tơ k tổng quát
5 3 4 Phép biến đổi vi sai của một khung tọa độ
Xét một khung tọa độ T và dT là dịch chuyển của khung tọa độ T Khi khung tọa độ T bị sai phép dịch chuyển vi sai so với khung tọa độ gốc, nó sẽ chuyển đến vị trí mới và được mô tả bằng ma trận.
Ma trận đơn vị 4x4 được ký hiệu là I, trong khi dT thể hiện sự thay đổi của khung tọa độ T sau khi thực hiện phép biến đổi vi sai so với khung tọa độ gốc.
Phương trình được viết dưới dạng: dT T
Với T [Trans d d d R t k d( , , ) x y z o ( , ) 1] -toán tử vi sai
5 4 1 Các thao tác hoạt động của bàn tay Robot
Các trạng thái của bàn tay Robot:
- Hai ngón tay co để nắm vật hoặc duỗi thẳng
- Hai ngón tay nghiêng sang trái hoặc phải
Lệnh điều khiển từ máy tính được Arduino tiếp nhận, cho phép điều khiển hai động cơ Step vít me và hai động cơ Servo Qua đó, hai ngón tay có khả năng co duỗi và nghiêng trái phải, tạo ra các chuyển động linh hoạt.
Hình 5 19: Lưu đồ giải thuật
Servo servo2; const int stepsPerRevolution = 48;
AF_Stepper Stepper2(stepsPerRevolution, 2); void setup() {
Stepper2.setSpeed(255); servo1.attach(10); servo2.attach(9);
} void loop() { if(Serial.available()){ text = Serial.readStringUntil('\n'); if(text == "a") {
Serial.println("co hai ngon tay, 10,- 10"); servo1.write(10); servo2.write(-10);
Stepper1.step(20, BACKWARD, MICROSTEP); Stepper2.step(20, BACKWARD, MICROSTEP); Stepper1.step(20, BACKWARD, MICROSTEP); Stepper2.step(20, BACKWARD, MICROSTEP); Stepper1.step(20, BACKWARD, MICROSTEP);
Stepper2.step(20, BACKWARD, MICROSTEP); Stepper1.step(20, BACKWARD, MICROSTEP); Stepper2.step(20, BACKWARD, MICROSTEP); Stepper1.step(20, BACKWARD, MICROSTEP); Stepper2.step(20, BACKWARD, MICROSTEP); } if(text == "b") {
Serial.println("co hai ngon tay, -10, 10"); servo1.write(-10); servo2.write(10);
The code repeatedly commands Stepper1 and Stepper2 to move 20 steps backward using microstepping This sequence is executed multiple times, emphasizing a consistent backward movement for both stepper motors Additionally, a conditional check is included to respond when the variable "text" equals "c."
Serial.println("duoi hai ngon tay 10, -10"); servo1.write(10); servo2.write(-10);
Stepper1.step(20, FORWARD, MICROSTEP); Stepper2.step(20, FORWARD, MICROSTEP); Stepper1.step(20, FORWARD, MICROSTEP); Stepper2.step(20, FORWARD, MICROSTEP);
Stepper1.step(20, FORWARD, MICROSTEP); Stepper2.step(20, FORWARD, MICROSTEP); Stepper1.step(20, FORWARD, MICROSTEP); Stepper2.step(20, FORWARD, MICROSTEP); Stepper1.step(20, FORWARD, MICROSTEP); Stepper2.step(20, FORWARD, MICROSTEP); } if(text == "d") {
Serial.println("duoi hai ngon tay -10, 10"); servo1.write(-10); servo2.write(10);
The code snippet demonstrates a sequence of movements for two stepper motors, Stepper1 and Stepper2, each stepping forward 20 steps in microstep mode This repetitive action is executed multiple times, indicating a synchronized operation between the two motors Additionally, there is a conditional check for the variable "text" to determine if it equals "e," suggesting a potential trigger for further actions or adjustments in the motor control process.
Serial.println("co hai ngon tay, 0, 0"); servo1.write(0); servo2.write(0);
Stepper1.step(20, BACKWARD, MICROSTEP); Stepper2.step(20, BACKWARD, MICROSTEP); Stepper1.step(20, BACKWARD, MICROSTEP);
In this code snippet, both Stepper1 and Stepper2 are instructed to step backward 20 units using microstepping This sequence is repeated multiple times, emphasizing the coordinated backward movement of the stepper motors Additionally, a conditional statement checks if the variable 'text' equals "f", indicating a potential trigger for further actions or functions in the program.
Serial.println("duoi hai ngon tay, 0, 0"); servo1.write(0); servo2.write(0);
The code sequentially commands two stepper motors, Stepper1 and Stepper2, to move 20 steps forward using microstepping This process is repeated five times for each motor, ensuring synchronized movement.
Đánh giá kết quả, kết luận
ĐÁNH GIÁ KẾT QUẢ, KẾT LUẬN
6 1 1 Các kết quả thực hiện được khi làm đề tài
- Thiết kế và thi công hoàn thành mô hình bàn tay robot hai ngón tay
- Thiết kế và hoàn thành bản vẽ phần cứng cho bàn tay robot
- Thiết kế và hoàn thành mạch điện điều khiển bàn tay robot
- Hoàn thành chương trình điều khiển bằng Arduino
- Hoàn thành phần thuyết minh theo đúng thời hạn
- In 3D một số chi tiết khớp ngón tay và làm thực nghiệm tỉ lệ góc xoay của khớp ngón tay với chuyển động tịnh tiến của dây kéo
Nhóm nghiên cứu đã phát triển một mô hình sử dụng dây gân kéo để mô phỏng chuyển động của ngón tay người, trong đó góc xoay của các khớp cử động tỉ lệ thuận với độ dài đoạn dây bị kéo.
Dưới đây là hình ảnh thực nghiệm trên mô hình ngón tay, nhằm xác định tỷ lệ góc xoay của khớp ngón tay so với chuyển động tịnh tiến của dây kéo.
Hình 6 1: Kéo dây một đoạn 0,5 cm
Hình 6 2: Kéo dây một đoạn 1 cm
Hình 6 3: Kéo dây một đoạn 1,5 cm
Hình 6 4: Kéo dây một đoạn 2 cm
Hình 6 5: Kéo dây một đoạn 2,5 cm
Sử dụng motor step vít me kéo dây truyền động cho ngón tay gặp khó khăn do khả năng thiết kế của nhóm còn hạn chế, dẫn đến việc truyền động không chính xác ở các khớp.
- Chỉ sử dụng một Arduino và một Shiled motor driver nên bị hạn chế các cổng input của Arduino, từ đó chỉ điều khiển thông qua máy tính
- Do chỉ có hai ngón tay nên hình dáng, trọng lượng và độ lớn vật cầm, nắm hạn chế
- Lực moment động cơ Step nhỏ nên lực nắm của bàn tay robot còn rất yếu
- Bài toán động học nghịch còn chưa chính xác, kết quả thử nhiệm còn sai lệch nhiều
- Chưa tính được động học vi sai
Nhóm sẽ nghiên cứu và phát triển sản phẩm như sau:
- Khắc phục hết các hạn chế hiện tại
- Lắp thêm cảm biến điện cơ để điều khiển bàn tay robot
- Thiết kế mang tính thẩm mỹ cao hơn
- Bàn tay sẽ có thể tăng số lượng ngón tay tùy thuộc vào nhu cầu của người khuyết tật
- Bàn tay sẽ nâng được vật có khối lượng nặng hơn
- Các ngón tay chuyển động linh hoạt hơn
- Bàn tay có thể cầm được các vật có nhiều hình dạng khác nhau
Nhóm thực hiện ước mơ giúp người khuyết tật chi tay tự tin hơn, xóa bỏ nỗi lo về thiệt thòi do tai nạn hoặc bẩm sinh Họ phát triển tay giả điều khiển bằng suy nghĩ, mang lại sự linh hoạt và đầy đủ chức năng như tay thật.