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

Đồ án tốt nghiệp công nghệ kỹ thuật cơ điện tử nghiên cứu, chế tạo và phát triển robot 6 chân tự động di chuyển trong bản đồ trực tiếp

87 3 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 đề Nghiên cứu, chế tạo và phát triển robot 6 chân tự động di chuyển trong bản đồ trực tiếp
Tác giả Vũ Trọng Nhân, Lê Quốc Chỉ, Nguyễn Huỳnh Anh Trung
Người hướng dẫn TS Nguyễn Văn Thái
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công nghệ kỹ thuật cơ điện tử
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2019
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 87
Dung lượng 3,61 MB

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

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (14)
    • 1.1. Đặt vấn đề (14)
    • 1.2. Khả năng ứng dụng (15)
    • 1.3. Tình hình nghiên cứu trong và ngoài nước (15)
    • 1.4. Lý do chọn đề tài (17)
    • 1.5. Mục tiêu và phương pháp nghiên cứu (17)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (19)
    • 2.1. Giới thiệu chung (19)
    • 2.2. Bài toán động học nghịch trong robot (0)
    • 2.3. Điều khiển thân robot (22)
    • 2.4. Điều khiển cách di chuyển của Robot (23)
    • 2.5. Tính ổn định của Hexapod (0)
    • 2.6. Giao tiếp Bluetooth với PS2 (26)
    • 2.7. LIDAR. [11] (30)
  • CHƯƠNG 3. NỘI DUNG NGHIÊN CỨU (43)
    • 3.1. Mô phỏng trên Matlab (43)
    • 3.2. Thiết kế cơ khí (44)
    • 3.3. Thi công (58)
    • 3.4. Lưu đồ và giải thuật điều khiển cho di chuyển của Hexabod (61)
    • 3.5. Viết app điều khiển bằng Bluetooth kết nối đến HC06 (0)
    • 3.6. Kết hợp chức năng quét map của LIDAR (74)
  • CHƯƠNG 4. THỰC NGHIỆM (80)
    • 4.1. Kết quả về mặt hoạt động phần cứng (80)
  • CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (86)
    • 5.1. KẾT LUẬN (0)
    • 5.2. HƯỚNG PHÁT TRIỂN ĐỀ TÀI (86)
  • TÀI LIỆU THAM KHẢO (0)

Nội dung

TÓM TẮT Đề tài “Nghiên cứu, chế tạo và phát triển robot 6 chân tự động di chuyển trong bản đồ trục tiếp” xây dựng một con robot Hexapod hoàn chỉnh, hoạt động linh hoạt và ổn định có kh

TỔNG QUAN

Đặt vấn đề

Trong "Chiến lược phát triển khoa học và công nghệ Việt Nam", cơ điện tử được xác định là một trong những công nghệ trọng điểm cho sự phát triển kinh tế và xã hội Robot, sản phẩm đặc trưng của ngành cơ điện tử, là những bộ máy hoạt động đồng nhất, được điều khiển phức tạp thông qua các thuật toán mã hóa trong vi điều khiển.

Có nhiều kiểu robot và chúng em chia chúng thành nhóm robot theo cách thức di chuyển:

• Bằng cánh quạt như robot máy bay- Flycam

• Robot đi bằng bánh xe

• Robot có cánh như côn trùng hay chim

• Robot không chân- di chuyển bằng cách trườn như giun, rắn

• Robot đi bằng chân như động vật

Mặc dù có nhiều loại robot, nhưng robot di chuyển bốn hoặc sáu chân vẫn còn hạn chế trong ứng dụng học tập Gần đây, robot Vorbal với bốn chân và hai khớp mỗi chân đã được phát triển với mã nguồn mở, nhưng vẫn chưa đủ phức tạp để thử thách kiến thức về động học do thiết kế khá đơn giản.

Khả năng ứng dụng

Robot đóng vai trò quan trọng trong việc học tập và nghiên cứu, giúp áp dụng kiến thức vào thực tiễn Chúng tạo ra môi trường học tập phong phú, góp phần nâng cao chất lượng giáo dục và giúp hệ thống giáo dục bắt kịp với sự phát triển công nghệ trong kỷ nguyên 4.0.

Tính ứng dụng của Hexapod rất độc đáo nhờ vào sự linh hoạt trong hình thức di chuyển, cho phép nó hoạt động hiệu quả trên địa hình đa kết cấu Hexapod là một trong những phương tiện quan trọng trong lĩnh vực do thám không gian.

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

Hình 1-1 Robot Atlas https://www.bostondynamics.com/atl as

Evan Ackerman, “Martian-Inspired Tripod Walking Robot Generates Its Own Gaits”, https://spectrum.ieee.org

Hình 1-3 Quadruple Robot https://www.bostondynamics.com/atl as

Hình 1-4 Hexpod Robot https://www.trossenrobotics.com/phanto mx-ax-hexapod-mk1.aspx

Robot di chuyển bằng chân đã được nghiên cứu từ lâu, lấy cảm hứng từ dáng đi của con người và cách di chuyển của động vật bốn chân, sáu chân, và tám chân Tất cả các loại robot này đều đạt được những thành công nhất định trong việc mô phỏng chuyển động tự nhiên.

Robot Hexapod là một phương tiện cơ học di chuyển trên sáu chân, mang lại tính linh hoạt cao nhờ khả năng ổn định trên ba hoặc nhiều chân Nếu một chân bị vô hiệu hóa, robot vẫn có thể tiếp tục di chuyển, và không phải tất cả các chân đều cần thiết cho sự ổn định, cho phép các chân khác tự do điều chỉnh vị trí hoặc tải trọng Nhiều robot Hexapod được thiết kế dựa trên cảm hứng từ động vật sáu chân, với nhiều nhóm nghiên cứu và phát triển trên toàn thế giới Tại Việt Nam, robot di chuyển bằng chân đang là đề tài nghiên cứu phổ biến trong các nhóm sinh viên và đã được áp dụng trong các trường học để phục vụ cho việc học tập.

Tại lớp học Mindstorm nâng cao của Câu lạc bộ Robotics - IoT thuộc trường ĐH Khoa học tự nhiên TP.HCM, học sinh được trải nghiệm với Robot Lego Ngoài ra, Robot Alpha 1E cũng được sử dụng trong chương trình Trại hè Công nghệ 2019 tại Học viện Sáng tạo Công nghệ TEKY Các robot như Robot Nao cũng xuất hiện trong các Lab của các trường đại học, góp phần nâng cao chất lượng giáo dục và nghiên cứu trong lĩnh vực robot.

Hình 1-5 Robot Lego Hình 1-6 Robot Alpha 1E https://ubtrobot.com/pages/alpha [xem 10/07/2019]

Khi tìm kiếm từ khóa “Hexapod ở Việt Nam” hoặc “robot 6 chân ở Việt Nam” trên Google, có rất ít thông tin liên quan Đề tài Hexapod chủ yếu được sinh viên nghiên cứu cho các dự án nhỏ, đồ án môn học và đồ án tốt nghiệp, như robot dò tìm bom mìn của nhóm sinh viên ĐH Bách khoa Đà Nẵng Một số kết quả chỉ đề cập đến robot thương mại đơn giản phục vụ học tập, thường là các mô hình hai DOF hoặc ba DOF lắp ghép bằng mica Ngoài ra, cũng có cá nhân nghiên cứu về hexapod và chia sẻ trên các diễn đàn hoặc YouTube.

Lý do chọn đề tài

Mảng robot di chuyển bằng chân là niềm đam mê chung của nhóm, phù hợp với ngành cơ điện tử Dự án này cho phép sinh viên áp dụng kiến thức chuyên ngành đã học, đồng thời đối mặt với thách thức do thiếu tài liệu và dự án tương tự tại Việt Nam Chúng em mong muốn vượt qua những khó khăn này để phát triển niềm đam mê của mình.

Nhu cầu học tập và tìm hiểu công nghệ tại Việt Nam đang gia tăng, dẫn đến sự ra đời của nhiều lớp học về robot Để đáp ứng nhu cầu này, robot trở thành công cụ thiết yếu Nhóm chúng tôi đã nghiên cứu và chế tạo robot 6 chân nhằm phục vụ cho việc học tập, giúp các em học sinh có thêm sự hứng thú và nhiều lựa chọn trong quá trình nghiên cứu robot.

Mục tiêu và phương pháp nghiên cứu

Dự án này nghiên cứu và mô phỏng trên Mathlab nhằm tạo ra một robot Hexapod hoàn chỉnh, có khả năng di chuyển giống như loài côn trùng chân khớp Chúng tôi sử dụng các phương trình động học và truyền động để thiết kế bộ khung và chọn động cơ phù hợp, đồng thời ứng dụng công nghệ in 3D với vật liệu nhựa PLA trong chế tạo robot Robot được lập trình theo các thuật toán điều khiển đã tìm được và có khả năng điều khiển từ xa thông qua các module điều khiển Nó có thể quét không gian xung quanh, xác định vị trí và vẽ bản đồ gửi lên Web, cho phép người dùng giao tiếp trực tiếp trên bản đồ và chọn vị trí để robot tự động di chuyển, dựa vào tín hiệu digital từ công tắc hành trình dưới mỗi chân để xác định điểm đặt chân, hỗ trợ di chuyển trên địa hình đa kết cấu.

Phương pháp nghiên cứu bao gồm việc tìm kiếm tài liệu trên Internet và nghiên cứu các thiết kế robot đã được phát triển bởi các nhóm và cá nhân trong và ngoài nước Mục tiêu là thiết kế một con robot có khả năng cử động linh hoạt Quá trình này tập trung vào việc phân tích, tính toán, lựa chọn và thực nghiệm các module và linh kiện dễ tìm Đồng thời, nghiên cứu và phát triển thuật toán trong mã code cũng là một phần quan trọng của nghiên cứu.

Nhóm đã thực hiện đề tài này trong hơn 10 tháng gồm bốn giai đoạn chính: Giai đoạn 1:

• Nghiên cứu, lựa chọn và kiểm nghiệm các module, linh kiện phù hợp, xây dựng code điều khiển, lắp ráp một mô hình đơn giản Mô phỏng trên Mathlab

• Thiết kế phần khung xương cho robot đảm bảo các chức năng di chuyển cơ bản

• Dựa trên các thuật toán điều khiển, động học, và code mẫu, điều khiển từng khớp, từng chân và kết hợp các chân

• Đánh giá khả năng hoạt động, độ bền, của thiết kế cũ, thiết kế lại khung của robot bằng vật liệu nhựa

• Tính toán, thiết kế khung bằng nhựa PLA, mua và gia công các chi tiết, lắp ráp thành một con robot hoàn chỉnh

• Thiết kế lại toàn bộ phần khung, vỏ robot, đảm bảo sự linh hoạt cho robot, giảm khối lượng, đảm bảo tính thẩm mĩ

• Tính toán, chọn lại các module, nguồn phù hợp

• Hiệu chỉnh code, cải thiện khả năng di chuyển linh hoạt và giống với tự nhiên hơn

• Thiết kế app điều khiển

• Tích hợp module LIDAR, camera

CƠ SỞ LÝ THUYẾT

Giới thiệu chung

Để Hexapod hoạt động hiệu quả, cần có sự phối hợp của nhiều thuật toán để tạo thành bộ điều khiển hoàn chỉnh, với kết quả cuối cùng là vị trí set-point cho mỗi servo Mô hình bước và quỹ đạo phải được tính toán liên tục, cùng với việc cập nhật ràng buộc vị trí chân Tùy thuộc vào vận tốc, bộ điều khiển sẽ chọn các kiểu dáng khác nhau, bao gồm giai đoạn đứng khi chân tiếp xúc với mặt đất và giai đoạn xoay chân, trong đó quỹ đạo giữa hai vị trí đứng cần được tính toán chính xác Kích thước phần cứng như chiều dài chân, vị trí servo và chiều rộng cơ thể sẽ tạo ra những ràng buộc nhất định cho vị trí chân, ảnh hưởng đến các chân còn lại trong không gian Sự tương đồng giữa robot Hexapod và côn trùng chân khớp mang lại nhiều cảm hứng từ sinh trắc học của chúng.

Hình 2-1 Chân loài chân khớp trong thực tế

2.2 Bài toán động học nghịch trong robot Động học nghịch là sử dụng các phương trình động học để xác định các tham số góc của mỗi khớp để có được vị trí mong muốn cho mỗi bộ phận của robot [4] Tức là từ toạ độ P xác định trong không gian, với P là vị trí cuối cùng tại mỗi mũi chân của Hexapod, từ đó tính ra được các góc Coxa Femur và Tibia để điểu khiển Servo, rồi điều khiểu cả một hệ thống Các thông số cần tính được diễn tả như cấu trúc bên dưới, bao gồm: ba khâu, ba khớp

Hình 2-2 Hình biểu diễn các khâu và khớp trong không gian tọa độ XYZ

Các biến 𝛾, 𝛼, 𝛽 đại diện cho các khớp Coxa, Femur và Tibia, tương ứng với các góc hiện tại của mỗi Servo Mục tiêu của chúng em là xác định giá trị của các góc xoay Offset, tức là góc mà mỗi servo cần phải xoay thêm để đạt được góc xoay mong muốn, cùng với mã code liên quan.

Hình 2-3 Hình biểu diễn góc Coxa khi nhìn dọc theo phương Y từ trên xuống

Hình 2-4 Hình biểu diễn góc Femur và Tibia khi nhìn dọc theo phương Z

Gọi toạ độ của P là (𝑥, 𝑦, 𝑧) trong không gian, gọi tắt Coxa Length, Femur Length và Tabia Length là 𝐶𝐿, 𝐹𝐿, 𝑇𝐿

Dựa vào kiến thức toán hình học, 𝑙 có thể được tính bằng công thức sau:

Chúng em đã thiết lập góc ban đầu trong Servo là 90 độ Gọi 𝛾′, 𝛼′, 𝛽′ là các góc mà nhóm muốn hướng đến, công thức liên hệ giữa chúng và các góc Offset được trình bày như sau:

Vì hai góc 𝛼 và 𝛽 luôn quay ngược chiều, nên xuất hiện sự trái dấu trong phép tính Đặc biệt, đối với góc Coxa, mỗi chân nằm ở các góc phần tư khác nhau trong hệ tọa độ, dẫn đến sự khác biệt về kết quả giữa hai chân.

Dựa vào các kết quả trên, thông số điều khiển Servo có thể được tính thông qua bộ chuyển đổi sang giá trị xung

Khi thân xoay hoặc tịnh tiến, thân chính là gốc tọa độ của các chân, trong khi các chân khác giữ nguyên vị trí Do đó, vị trí của các chân so với thân sẽ thay đổi, và tọa độ này có thể được tính toán bằng cách sử dụng phép tính ma trận xoay.

Điểm P có tọa độ (𝑥, 𝑦, 𝑧) được xác định trong không gian với tâm thân làm góc tọa độ Các ma trận biểu diễn phép quay quanh trục x, y, z với góc  lần lượt là 𝑅(𝑥, 𝛼), 𝑅(𝑦, 𝛽), 𝑅(𝑧, 𝛾).

Ma trận quay quanh trục 𝑥 [9] :

Ma trận quay quanh trục y [9] :

Ma trận quay quanh trục z [9] :

Chúng em thực hiện nhân các ma trận để xây dựng ma trận tổng quát cho phép thân quay một góc bất kỳ trong không gian Các góc 𝛼, 𝛽 và 𝛾 được xác định bởi hình chiếu của đường thẳng từ gốc tọa độ đến điểm P lên các mặt phẳng Oxy, Oyz, và Oxz, cũng như các trục Ox.

Oy, Oz, tính được góc tọa độ P’ mới (𝑥 ′ , 𝑦 ′ , 𝑧′)

Khi thân tịnh tiến, tọa độ của chân sẽ di dời ngược lại với hướng tịnh tiến của thân Do đó, ta có thể tính toán P’(𝑥 ′ , 𝑦 ′ , 𝑧 ′ ) một cách đơn giản khi thân tịnh tiến theo các hướng 𝑥, 𝑦, 𝑧 với các khoảng di chuyển lần lượt là 𝑥1, 𝑦1, 𝑧1.

2.4 Điều khiển cách di chuyển của Robot

Robot di chuyển bằng cách điều khiển từng cánh tay ba khớp (chân robot) theo thứ tự mong muốn, tạo ra các kiểu dáng đa dạng Dù có thứ tự khác nhau, các tọa độ mỗi chân luôn theo một quỹ đạo nhất định, được gọi là Gait Gait bao gồm hai pha: một khi nâng chân và một khi chân chạm đất.

Trong giai đoạn Swing, chân di chuyển từ vị trí ban đầu đến vị trí cuối cùng trong không khí, được thể hiện bằng đường nét đứt Ngược lại, trong giai đoạn Stance, bộ phận mũi chân tiếp xúc với mặt đất khi chân di chuyển từ vị trí ban đầu, giúp robot di chuyển theo hướng ngược lại với mũi tên.

Phụ thuộc vào yêu cầu về tốc độ, tính ổn định, tiết kiệm năng lượng hay yêu cầu về địa hình thì ta có những sự lựa chọn khác nhau

• Di chuyển liên tục: là kiểu di chuyển mà thân đồng thời tịnh tiến cùng với các chân

Có ba kiểu di chuyển phổ biến:

Với kiểu đi Tripod, sáu chân của robot được chia làm hai bộ (1), (2) thay phiên nhau bước

Với kiểu wave, chỉ có một chân ở trong pha Swing, còn lại ở trong pha Stance Rất chậm nhưng lại đỡ tốn năng lượng, hay dùng trong dò địa hình gồ ghề

Với kiểu ripple, hai chân trong pha Swing, còn lại trong pha Stance, trung hòa hai cách trên

Một trong số ba kiểu dáng di chuyển của ngành chân khớp, trong báo cáo này chúng em không đề cập đến kiểu Wave(slow) (lan truyền từng chân) và Ripple (hai chân chéo) Bởi vì để Robot di chuyển nhanh, mềm mại, tiết kiệm thời gian di chuyển, tạo được một mặt phẳng tiếp xúc ba điểm cân bằng thì kiểu dáng Tripod chiếm ưu thế nổi trội nhất

• Kiểu di chuyển không liên tục: là kiểu mà sau khi tất cả các chân đã thực hiện hết các vòng bước thì thân mới tiến lên, đây là cách di chuyển thường thấy khi đi trên các địa hình dóc, thân robot chỉ tịnh tiến người về trước khi có đủ sáu chân chạm đất, khi độ cứng vững và tính bám là cao nhất Đây là mục tiêu mà nhóm muốn hướng tới trong tương lai nhầm phục vụ ứng dụng vượt địa hình

Điều khiển thân robot

Khi thân xoay hoặc tịnh tiến, thân chính là gốc tọa độ của các chân, trong khi các chân khác vẫn đứng yên Do đó, vị trí của các chân so với thân sẽ thay đổi, và tọa độ này có thể được tính bằng cách áp dụng phép tính ma trận xoay.

Điểm P có tọa độ (𝑥, 𝑦, 𝑧) được xác định trong không gian với tâm thân làm góc tọa độ Các ma trận biểu diễn phép quay quanh trục x, y, z với góc  lần lượt là 𝑅(𝑥, 𝛼), 𝑅(𝑦, 𝛽), và 𝑅(𝑧, 𝛾).

Ma trận quay quanh trục 𝑥 [9] :

Ma trận quay quanh trục y [9] :

Ma trận quay quanh trục z [9] :

Chúng em thực hiện nhân các ma trận để xây dựng ma trận tổng quát cho phép quay một góc bất kỳ trong không gian Các góc 𝛼, 𝛽 và 𝛾 được xác định bởi hình chiếu của đường thẳng từ gốc tọa độ đến điểm P lên các mặt phẳng Oxy, Oyz, và Oxz, cũng như các trục Ox.

Oy, Oz, tính được góc tọa độ P’ mới (𝑥 ′ , 𝑦 ′ , 𝑧′)

Khi thân tịnh tiến, tọa độ của chân sẽ di dời ngược lại với hướng tịnh tiến của thân Do đó, có thể tính toán đơn giản tọa độ P’(𝑥 ′ , 𝑦 ′ , 𝑧 ′ ) khi thân tịnh tiến theo các hướng 𝑥, 𝑦, 𝑧 với các khoảng di chuyển tương ứng là 𝑥1, 𝑦1, 𝑧1.

Điều khiển cách di chuyển của Robot

Robot di chuyển bằng cách điều khiển từng cánh tay ba khớp (chân robot) theo thứ tự mong muốn, tạo ra các kiểu dáng đa dạng Dù có thứ tự khác nhau, các tọa độ mỗi chân luôn theo một quỹ đạo nhất định, được gọi là Gait Gait bao gồm hai pha: một khi nâng chân và một khi chân chạm đất.

Trong giai đoạn Swing, chân di chuyển từ vị trí ban đầu đến vị trí cuối cùng trong không khí, được thể hiện bằng đường nét đứt Ngược lại, trong giai đoạn Stance, mũi chân tiếp xúc với mặt đất khi chân di chuyển từ vị trí ban đầu, giúp robot di chuyển theo hướng ngược lại với mũi tên.

Tùy thuộc vào nhu cầu về tốc độ, độ ổn định, tiết kiệm năng lượng và điều kiện địa hình, chúng ta có thể lựa chọn các giải pháp khác nhau.

• Di chuyển liên tục: là kiểu di chuyển mà thân đồng thời tịnh tiến cùng với các chân

Có ba kiểu di chuyển phổ biến:

Với kiểu đi Tripod, sáu chân của robot được chia làm hai bộ (1), (2) thay phiên nhau bước

Với kiểu wave, chỉ có một chân ở trong pha Swing trong khi chân còn lại ở pha Stance Phương pháp này rất chậm nhưng tiết kiệm năng lượng, thường được sử dụng để dò địa hình gồ ghề.

Với kiểu ripple, hai chân trong pha Swing, còn lại trong pha Stance, trung hòa hai cách trên

Trong báo cáo này, chúng tôi không đề cập đến hai kiểu di chuyển Wave (chậm) và Ripple (hai chân chéo) của ngành chân khớp Kiểu di chuyển Tripod được ưu tiên vì nó cho phép robot di chuyển nhanh, mềm mại và tiết kiệm thời gian, đồng thời tạo ra một mặt phẳng tiếp xúc ba điểm cân bằng.

Kiểu di chuyển không liên tục là phương pháp mà thân robot chỉ tiến lên khi tất cả sáu chân đã thực hiện xong các vòng bước, thường thấy trên địa hình dốc Khi đó, độ cứng vững và tính bám của robot đạt mức cao nhất Đây là mục tiêu mà nhóm hướng tới trong tương lai để phục vụ ứng dụng vượt địa hình.

2.4.3 Điều khiển cho Hexapod quẹo phải trái Để Hexapod có thể xoay, dáng đi đã sử dụng phải được sửa lại Có một số phương pháp để điều khiển Hexapod xoay khá hữu hiệu Phương pháp đầu tiên là thay đổi chiều dài mỗi bước ở hai bên, làm cho một bên chân di chuyển chậm hơn (bước đi ngắn hơn) sẽ khiến cho Hexapod xoay dần về phía đấy Một phương pháp khác là giảm tần số xoay ở một bên thân để mất bớt một bước Đối với việc điều khiển Hexapod cua gấp hay xoay quanh một điểm, ta thường kết hợp cả hai phương pháp Ngoài ra ta cho chân bước lùi sẽ làm việc điều khiển đó được dễ dàng hơn Một cách khác để Hexapod xoay tương tự như việc giảm chiều dài bước là xoay chân xung quanh trung tâm cơ thể Xoay chân trên đất xung quanh trung tâm cơ thể chinh sẽ khiến cho cơ thể có dáng vẻ như đang xoay Để việc xoay được thực hiện, việc quan trọng phải đảm bảo vận tốc góc quay ở mỗi chân là bằng nhau và phải quay xung quanh cùng một điểm (trung tâm cơ thể) Khi một chân vượt quá xa khỏi vị trí, ta có thể đem trở về bằng giai đoạn xoay chân Ta sử dụng phương tiện quay là hệ ma trận quay R [1]

2.5 Tính ổn định của Hexapod Độ ổn định của Hexapod được chia thành hai loại: ổn định tĩnh và ổn định động Để được coi là ổn định tĩnh, Hexapod cần ổn định trong toàn bộ chu kỳ di chuyển, không cần thêm bất kỳ lực nào để cân bằng robot Trong khi robot ổn định tĩnh, hình chiếu thẳng đứng tại toạn độ trọng tâm (COM) của nó nằm trong đa giác được hình thành từ các chân đang trong giai đoạn đẩy tiến Trong trường hợp COM được đặt ở biên hoặc bên ngoài đa giác, robot sẽ ngã xuống trừ khi nó ổn định về mặt động lực, tức là robot được cân bằng trong khi đi bộ do lực quán tính gây ra bởi chuyển động và không ổn định tĩnh khi dừng di chuyển

2.6 Giao tiếp Bluetooth với PS2

2.6.1 Giới thiệu về chuẩn giao tiếp SPI

SPI (Serial Peripheral Bus) là một chuẩn truyền thông nối tiếp đồng bộ tốc độ cao

Giao thức SPI, do hãng Motorola phát triển, cho phép truyền dữ liệu lên đến 10Mbps và hoạt động theo kiểu Master-Slave, trong đó một Master điều phối nhiều Slaves Đây là một giao thức song công (full duplex), cho phép quá trình truyền và nhận diễn ra đồng thời SPI còn được gọi là giao thức “bốn dây” với bốn đường giao tiếp chính: SCK (Serial Clock), MISO (Master Input Slave Output), MOSI (Master Output Slave Input) và SS (Slave Select).

Chân SCK giữ vai trò quan trọng trong giao tiếp SPI, vì đây là chuẩn truyền đồng bộ cần có một đường giữ nhịp Mỗi xung nhịp trên chân SCK truyền tải 1 bit dữ liệu, giúp giảm thiểu lỗi trong quá trình truyền Nhờ vào sự hiện diện của chân SCK, tốc độ truyền của SPI có thể đạt mức cao Xung nhịp này chỉ được tạo ra bởi chip Master.

MISO– Master Input / Slave Output: nếu là chip Master thì đây là đường Input còn nếu là chip Slave thì MISO lại là Output [5]

MOSI – Master Output / Slave Input: nếu là chip Master thì đây là đường

Output còn nếu là chip Slave thì MOSI là Input [5]

SS – Slave Select: SS là đường chọn Slave cần giap tiếp, trên các chip Slave đường

SS sẽ ở mức cao khi không làm việc [5]

Mỗi chip Master và Slave có một thanh ghi dữ liệu 8 bits Khi Master tạo ra xung nhịp trên đường SCK, một bit từ thanh ghi dữ liệu của Master được truyền đến Slave qua đường MOSI, đồng thời một bit từ thanh ghi dữ liệu của chip Slave cũng được gửi về Master qua đường MISO Quá trình truyền dữ liệu này, với hai gói dữ liệu được gửi qua lại đồng thời, được gọi là “song công”.

2.6.2 Giao tiếp giữa cần điều khiển PS2 với Vi điều khiển

Trong module PS2, các dây có chức năng quan trọng, với PS2 hoạt động như một thiết bị Slave và vi điều khiển đóng vai trò Master Các đầu vào và đầu ra của PS2 được xác định rõ ràng.

• MISO:  dây 1 Brown (dây Data)

• MOSI:  dây 2 Orange (dây command)

• SS:  dây 6 Yellow (dây chọn slave)

• SCK:  dây 7 Blue (dây xung clock)

Một gói dữ liệu bao gồm 3byte header và thêm 2byte command bổ sung hoặc dữ liệu điều khiển

• 0x01: byte khởi đầu quá trình truyền nhận

Lệnh 0x42 là lệnh thăm dò chính, cho phép nhận tất cả các tín hiệu số hoặc analog từ các phím, tùy thuộc vào cấu hình điều khiển.

• 0x00: lệnh chỉ có chức năng đọc dữ liệu từ PS2

Sau đây là bảng data nhận được khi nhấn các phím PS2, một gói 5byte dữ liệu

5 Tam giác 0xFF 0x41 0x5A 0xFF 0xF7 0x00

Bảng 2-1 Data của các phím nhấn PS2 Ở các bảng sau đây, mỗi vị trí trong 8bit có một nút, khi nhấn, bit ở vị trí đó về 0

Bảng 2-2 Gói dữ liệu các nút trong byte thứ 4

Bảng 2-3 Gói dữ liệu các nút trong byte thứ 5

Chế độ thiết bị 0x41 cho biết mức cao (4) là digital (0x4), analog (0x7) hoặc cấu hình/thoát (0xF), trong khi mức thấp (1) chỉ ra số lượng word 16bit theo sau header Mặc dù PlayStation không luôn chờ đợi tất cả các byte này, nhưng trong trường hợp các nút chỉ có 2 byte 4 và 5, chỉ có 1 word được sử dụng.

• 0x5A: Luôn là 0x5A, giá trị này xuất hiện ở một số nơi không có chức năng

Nhận tín hiệu analog từ hai joystick và các nút nhấn yêu cầu cấu hình commend 0x44 để chuyển đổi giữa tín hiệu analog và digital Chức năng này chỉ hoạt động khi cấu hình ở dạng F3, tức là cần có 3 word sau header (6 byte).

Bảng 2-4 Bảng config sang chế độ gửi tín hiệu analog

• 03: khoá điều khiển để người dùng không thể chuyển lại digital bằng nút

Giao tiếp Bluetooth với PS2

2.6.1 Giới thiệu về chuẩn giao tiếp SPI

SPI (Serial Peripheral Bus) là một chuẩn truyền thông nối tiếp đồng bộ tốc độ cao

Giao thức SPI, do hãng Motorola phát triển, cho phép truyền dữ liệu lên đến 10Mbps và hoạt động theo kiểu Master-Slave, trong đó một Master điều phối nhiều Slaves Đây là giao thức song công (full duplex), cho phép quá trình truyền và nhận diễn ra đồng thời SPI còn được gọi là giao thức “bốn dây” với bốn đường giao tiếp chính: SCK (Serial Clock), MISO (Master Input Slave Output), MOSI (Master Output Slave Input) và SS (Slave Select).

Chân SCK giữ vai trò quan trọng trong giao tiếp SPI, vì đây là chuẩn truyền đồng bộ cần có một đường giữ nhịp Mỗi xung nhịp trên chân SCK truyền tải 1 bit dữ liệu, giúp giảm thiểu lỗi trong quá trình truyền Nhờ vào sự hiện diện của chân SCK, tốc độ truyền của SPI có thể đạt mức cao Xung nhịp này chỉ được tạo ra bởi chip Master.

MISO– Master Input / Slave Output: nếu là chip Master thì đây là đường Input còn nếu là chip Slave thì MISO lại là Output [5]

MOSI – Master Output / Slave Input: nếu là chip Master thì đây là đường

Output còn nếu là chip Slave thì MOSI là Input [5]

SS – Slave Select: SS là đường chọn Slave cần giap tiếp, trên các chip Slave đường

SS sẽ ở mức cao khi không làm việc [5]

Mỗi chip Master và Slave đều có một thanh ghi dữ liệu 8 bits Khi Master tạo ra xung nhịp trên đường SCK, một bit từ thanh ghi dữ liệu của Master được truyền đến Slave qua đường MOSI, đồng thời một bit từ thanh ghi dữ liệu của chip Slave cũng được gửi về Master qua đường MISO Quá trình truyền dữ liệu này diễn ra đồng thời giữa hai chip, do đó được gọi là "song công".

2.6.2 Giao tiếp giữa cần điều khiển PS2 với Vi điều khiển

Trong module PS2, các dây có chức năng điều khiển PS2 hoạt động như Slaves, trong khi vi điều khiển đảm nhận vai trò Master Các đầu vào và đầu ra tương ứng của PS2 được xác định rõ ràng.

• MISO:  dây 1 Brown (dây Data)

• MOSI:  dây 2 Orange (dây command)

• SS:  dây 6 Yellow (dây chọn slave)

• SCK:  dây 7 Blue (dây xung clock)

Một gói dữ liệu bao gồm 3byte header và thêm 2byte command bổ sung hoặc dữ liệu điều khiển

• 0x01: byte khởi đầu quá trình truyền nhận

Lệnh 0x42 là lệnh thăm dò chính, cho phép nhận tất cả các tín hiệu số hoặc analog từ các phím, tùy thuộc vào cấu hình điều khiển.

• 0x00: lệnh chỉ có chức năng đọc dữ liệu từ PS2

Sau đây là bảng data nhận được khi nhấn các phím PS2, một gói 5byte dữ liệu

5 Tam giác 0xFF 0x41 0x5A 0xFF 0xF7 0x00

Bảng 2-1 Data của các phím nhấn PS2 Ở các bảng sau đây, mỗi vị trí trong 8bit có một nút, khi nhấn, bit ở vị trí đó về 0

Bảng 2-2 Gói dữ liệu các nút trong byte thứ 4

Bảng 2-3 Gói dữ liệu các nút trong byte thứ 5

Chế độ thiết bị 0x41 cho biết mức cao (4) là digital (0x4), analog (0x7) hoặc cấu hình/thoát (0xF), trong khi mức thấp (1) chỉ ra số lượng word 16bit theo sau header Mặc dù PlayStation không luôn chờ đợi tất cả các byte này, nhưng trong trường hợp các nút chỉ có 2 byte 4 và 5, chỉ có 1 word được sử dụng.

• 0x5A: Luôn là 0x5A, giá trị này xuất hiện ở một số nơi không có chức năng

Nhận tín hiệu analog từ hai joystick và các nút nhấn yêu cầu cấu hình lại commend 0x44 Cấu hình này cho phép chuyển đổi giữa tín hiệu analog và digital, nhưng chỉ hoạt động khi dạng cấu hình là F3, tức là cần có 3 word sau header (6 byte).

Bảng 2-4 Bảng config sang chế độ gửi tín hiệu analog

• 03: khoá điều khiển để người dùng không thể chuyển lại digital bằng nút

Theo mặc định, các giá trị analog của lực nhấn nút sẽ không được trả lại Để kích hoạt chúng, cần có lệnh 0x4F và 0x44, và chỉ hoạt động khi cấu hình là F3.

Bảng 2-5 Bảng cofig sang chế độ gửi tín hiệu analog từ lực nhấn

FF FF 03 là một định dạng 18bit, trong đó 18byte trả về bao gồm 2byte trạng thái nút nhấn và 4byte giá trị analog của hai cần gạt, với mỗi cần gạt cung cấp hai giá trị analog theo hai phương.

X và Y có khoảng giá trị 0 – 255, trạng thái đứng yên ban đầu là 125), 12byte giá trị analog ứng với các lực nhấn ở 10 hai nút

Sau khi thoát khỏi cấu hình bằng hàm 0x43, khi dùng hàm 0x42, ta có thể nhận về 18byte dữ liệu và nhận được tín hiệu analog.

LIDAR [11]

RPLIDAR A1 sử dụng công nghệ laser và phần cứng xử lý tầm nhìn tốc độ cao do Slamtec phát triển, cho phép đo khoảng cách với tần suất hơn 8000 lần mỗi giây.

LIDAR sử dụng tia laser đa hướng 360 độ để quét môi trường xung quanh theo chiều kim đồng hồ, từ đó tạo ra bản đồ phác thảo chính xác của không gian thực.

Hình 2-10 Bản đồ trả về từ LIDAR

Tỷ lệ lấy điểm mẫu của LIDAR trực tiếp là yếu tố quyết định đến khả năng lập bản đồ nhanh chóng và chính xác của robot RPLIDAR đã nâng cao hệ thống thuật toán và thiết kế quang học, cho phép đạt tốc độ mẫu lên tới 8000 lần với tần số 10Hz.

RPLIDAR có chi phí thấp phù hợp cho ứng dụng SLAM robot trong nhà

Công nghệ in 3D là một phương pháp tiên tiến cho phép tạo ra vật thể từ mô hình 3D, mang lại lợi ích về tốc độ và chi phí trong việc tạo mẫu Hiện nay, công nghệ này đã phát triển mạnh mẽ, giúp việc chế tạo trở nên rẻ hơn và dễ dàng hơn Sự hỗ trợ từ các công cụ và cộng đồng lớn đã làm cho công nghệ in 3D trở nên dễ tiếp cận, ngay cả với sinh viên.

Hiện nay ở Việt Nam chúng ta dễ dàng tiếp cận với ba công nghệ in 3D chính: Công nghệ SLS, Công nghệ SLA, công nghệ FDM

Công nghệ FDM (Fused Deposition Modeling) là phương pháp in 3D sử dụng máy in để xây dựng mẫu bằng cách đùn nhựa nóng chảy Quá trình này diễn ra từng lớp, giúp hóa rắn và tạo nên cấu trúc chi tiết dạng khối.

Cura là phần mềm mã nguồn mở của Ultimaker, chuyên xuất Gcode cho máy in 3D, hỗ trợ hiệu quả cho quá trình in 3D và có một cộng đồng người dùng rộng lớn Người dùng có thể tùy chỉnh thông số theo yêu cầu của chi tiết và lưu các file dưới dạng Gcode, giúp máy in tái tạo chính xác các chi tiết mong muốn.

Hình 2-12 In 3D công nghệ FDM trên phần mềm Cura

Trong dự án này, chúng em sử dụng vật liệu PLA vì những ưu điểm của nó:

2.7.1.3 Đặc điểm của công nghệ in 3D FDM

Máy in 3D dùng công nghệ FDM xây dựng mẫu bằng cách đùn nhựa nóng chảy rồi hoá rắn từng lớp tạo nên cấu trúc chi tiết dạng khối

Do đặc điểm của công nghệ in 3D FDM là in theo lớp, cơ tính của chi tiết sẽ khác nhau tùy theo phương tác động Vì vậy, việc chọn hướng in trước khi thiết kế là rất quan trọng.

• Dễ dàng thiết kế, gia công sản phẩm

• Sản phẩm in ra có độ nhám lớn

• Kích thước vật in được còn nhỏ

Hình 2-13 Mô phỏng quá trình in theo lớp

Nhóm đã quyết định sử dụng công nghệ in 3D FDM để gia công phần vỏ cho robot, nhờ vào những đặc điểm và ưu điểm nổi bật của công nghệ này cùng với phần mềm CURA.

2.7.2.1 Bộ điều khiển board Arduino Mega 2560

Arduino Mega 2560 là một vi điều khiển mạnh mẽ dựa trên ATmega 2560, sở hữu 54 chân vào/ra số, trong đó có 15 chân hỗ trợ đầu ra PWM, cùng với 16 chân vào analog.

Arduino Mega được trang bị 4 chân UARTs, một dao động tinh thể 16 MHz, kết nối USB, jack cắm điện, đầu ICSP và nút reset, cung cấp đầy đủ các tính năng hỗ trợ vi điều khiển Người dùng chỉ cần kết nối với máy tính qua cáp USB hoặc sử dụng bộ chuyển đổi AC-DC hoặc pin Ngoài ra, Arduino Mega tương thích với hầu hết các shield được thiết kế cho Arduino Duemilanove hoặc Diecimila.

Lý do đề tài chọn vi điều khiển Mega2560 vì bộ nhớ flash của MEGA rất lớn gấp

Arduino MEGA có khả năng xử lý dữ liệu gấp 4 lần so với UNO (128kb) nhờ vào vi điều khiển ATmega1280, ATmega328p và các họ vi điều khiển khác Điều này cho phép phát triển dễ dàng các dự án yêu cầu điều khiển nhiều loại động cơ và xử lý nhiều luồng dữ liệu song song, với 3 timer và 6 cổng interrupt Một số ứng dụng tiêu biểu bao gồm máy in 3D và quadcopter.

Digital I/O Pins 54 (of which 15 provide PWM output)

DC Current per I/O Pin 40 mA

DC Current for 3.3V Pin 50 mA

Flash Memory 256 KB of which 8 KB used by bootloader

Bảng 2-6 Tóm tắt thông số Arduino Mega 2560

Mạch điều khiển 32 RC Servo cho phép điều khiển dễ dàng thông qua phần mềm trên máy tính qua cổng USB, tay cầm không dây PS2 hoặc kết nối với Vi điều khiển qua giao tiếp UART Phần mềm của mạch tương thích với hầu hết các hệ điều hành phổ biến như Windows 7, Linux, MacOS và Android.

Để điều khiển 23 servo, cần một số lượng lớn chân PWM, và mạch 32 Servo giúp mở rộng không gian kết nối Vi điều khiển Mega 2560 không đủ chân PWM để đáp ứng yêu cầu này.

Hình 2-15 minh họa sơ đồ tính năng của chân trong Board 32 Servo Controller, với điện áp sử dụng là 5VDC Lưu ý rằng việc cấp điện áp vượt quá 5VDC có thể gây cháy mạch Điện áp ngõ ra cho RC Servo cũng là 5VDC.

Hỗ trợ giao tiếp USB (115200), tay cầm PS2, UART (4800, 9600,

Tần số điều khiển: 50Hz

Bảng 2-7 Bảng thông số mạch 32 servo controller

Mạch giảm áp UPEC 8,3V - 6V sử dụng hai module giảm áp Ubec Ternigy để cung cấp lượng Ample lớn cho tất cả servo digital JX5521 của Robot Kiến 25DOF Việc sử dụng nhiều mạch song song trong các mạch giảm áp thông thường không chỉ cồng kềnh mà còn phức tạp, làm tăng tải trọng cho robot.

NỘI DUNG NGHIÊN CỨU

THỰC NGHIỆM

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Ngày đăng: 26/05/2023, 16:19

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

w