Mục lục:

Rắn rô bốt Bioinspired: 16 bước (có hình ảnh)
Rắn rô bốt Bioinspired: 16 bước (có hình ảnh)

Video: Rắn rô bốt Bioinspired: 16 bước (có hình ảnh)

Video: Rắn rô bốt Bioinspired: 16 bước (có hình ảnh)
Video: Design at the Intersection of Technology and Biology | Neri Oxman | TED Talks 2024, Tháng bảy
Anonim
Image
Image

Tôi được truyền cảm hứng để bắt đầu dự án này sau khi xem các video nghiên cứu về cả rắn rô bốt leo cây và lươn rô bốt. Đây là nỗ lực đầu tiên của tôi và chế tạo rô bốt bằng cách sử dụng chuyển động ngoằn ngoèo, nhưng nó sẽ không phải là lần cuối cùng của tôi! Đăng ký trên YouTube nếu bạn muốn xem những phát triển trong tương lai.

Dưới đây tôi phác thảo cấu trúc của 2 con rắn khác nhau cùng với các tệp để in 3D và thảo luận về mã và thuật toán để đạt được chuyển động giống như con rắn. Nếu bạn muốn tiếp tục tìm hiểu thêm, sau khi đọc hướng dẫn này, tôi khuyên bạn nên đọc các liên kết trong phần tài liệu tham khảo ở cuối trang.

Hướng dẫn này về mặt kỹ thuật là một công cụ 2 trong 1, trong đó tôi giải thích cách tạo ra 2 phiên bản khác nhau của một con rắn robot. Nếu bạn chỉ quan tâm đến việc xây dựng một trong những con rắn, hãy bỏ qua các hướng dẫn cho con rắn còn lại. Hai con rắn khác nhau này sẽ từ đây được gọi là sử dụng thay thế cho các cụm từ sau:

  1. Rắn trục đơn, rắn 1D, hoặc rắn vàng và đen
  2. Rắn trục kép, rắn 2D hoặc rắn trắng

Tất nhiên, bạn có thể in những con rắn trong bất kỳ dây tóc màu nào bạn muốn. Sự khác biệt duy nhất giữa hai con rắn là trong con rắn 2D, mỗi động cơ được quay 90 độ so với trước đó, trong khi ở con rắn 1D, tất cả các động cơ được căn chỉnh theo một trục duy nhất.

Lời nói đầu cuối cùng là mặc dù mỗi con rắn của tôi chỉ có 10 servos, nhưng có thể tạo ra những con rắn có nhiều hoặc ít servos hơn. Một điều cần xem xét là với ít serp, bạn sẽ đạt được chuyển động ít thành công hơn và với nhiều serp, bạn có thể sẽ thành công hơn với chuyển động ngoằn ngoèo nhưng bạn sẽ cần phải xem xét chi phí, hiện tại (xem nhận xét sau) và số lượng chân có sẵn trên Arduino. Hãy thoải mái thay đổi chiều dài của con rắn, tuy nhiên hãy nhớ rằng bạn cũng sẽ cần phải thay đổi mã để giải thích cho sự thay đổi này.

Bước 1: Các thành phần

Đây là danh sách các bộ phận của một con rắn duy nhất, nếu bạn muốn tạo ra cả hai con rắn, bạn sẽ cần phải tăng gấp đôi khối lượng các bộ phận.

  • 10 Servos MG996R *
  • Dây tóc in 3D 1,75mm
  • 10 ổ bi, bộ phận số 608 (Tôi đã trục vớt quả mìn từ vành ngoài của máy quay thần tài Jitterspin)
  • 20 ổ bi nhỏ, số hiệu r188, cho bánh xe ** (Tôi đã trục vớt mỏ từ phần bên trong của máy quay thần tài Jitterspin)
  • 40 vít đầu philips 6-32 x 1/2 "(hoặc tương tự)
  • 8 vít dài hơn (Tôi không có số bộ phận nhưng chúng có cùng đường kính với các vít ở trên)
  • Ít nhất 20 miếng zipties 4 inch (tùy thuộc vào bạn số lượng bạn muốn sử dụng)
  • 5m mỗi dây 20 khổ đỏ và đen hoặc dày hơn ***
  • Dây 22 tiêu chuẩn
  • 30 chân tiêu đề đực (chia thành 10 lô 3)
  • Arduino Nano
  • Các bộ phận được in 3D (xem phần tiếp theo)
  • Một số dạng nguồn (xem phần: "Cung cấp năng lượng cho rắn" để biết thêm thông tin), cá nhân tôi đã sử dụng bộ nguồn ATX đã được sửa đổi
  • Tụ điện 1000uF 25V
  • Ống co nhiệt có nhiều kích cỡ khác nhau, thuốc hàn, keo và các dụng cụ linh tinh khác

* bạn có thể sử dụng các loại khác nhưng bạn sẽ cần thiết kế lại các tệp 3D để phù hợp với Servos của mình. Ngoài ra, nếu bạn thử sử dụng các servo nhỏ hơn như sg90, bạn có thể thấy chúng không đủ mạnh (tôi chưa thử nghiệm điều này và tùy bạn thử nghiệm).

** bạn không cần phải sử dụng vòng bi nhỏ cho bánh xe, tôi chỉ cần đặt rất nhiều xung quanh. Ngoài ra, bạn có thể sử dụng bánh xe LEGO hoặc bánh xe đồ chơi khác.

*** Dây này có thể có tới 10 ampe đi qua nó, quá mỏng và dòng điện sẽ làm nó tan chảy. Xem trang này để biết thêm thông tin.

Bước 2: Các thành phần in 3D

Hội rắn
Hội rắn

Nếu bạn đang làm con rắn 1D, hãy in những mảnh này.

Nếu bạn đang làm con rắn 2D, hãy in những mảnh này.

Lưu ý quan trọng: Quy mô có thể sai! Tôi thiết kế các thành phần của mình trong Fusion 360 (đơn vị mm), xuất thiết kế dưới dạng tệp.stl sang phần mềm MakerBot và sau đó in nó trên máy in Qidi Tech (phiên bản sao chép của MakerBot Replicator 2X). Ở đâu đó dọc theo quy trình làm việc này, có một lỗi và tất cả các bản in của tôi đều quá nhỏ. Tôi đã không thể xác định vị trí của lỗi nhưng có một bản sửa lỗi tạm thời là chia tỷ lệ mỗi bản in thành kích thước 106% trong phần mềm MakerBot, điều này khắc phục được sự cố.

Do đó, hãy cảnh báo rằng nếu bạn in các tệp ở trên, chúng có thể được chia tỷ lệ không chính xác. Tôi khuyên bạn chỉ nên in một mảnh và kiểm tra xem nó có phù hợp với servo MG996R của bạn hay không trước khi in tất cả.

Nếu bạn in bất kỳ tệp nào, vui lòng cho tôi biết kết quả là gì: nếu bản in quá nhỏ, vừa phải, quá lớn và bao nhiêu phần trăm. Bằng cách làm việc cùng nhau như một cộng đồng, chúng tôi có thể khắc phục sự cố vị trí của lỗi bằng cách sử dụng các máy in 3D và máy cắt.stl khác nhau. Sau khi vấn đề được giải quyết, tôi sẽ cập nhật phần này và các liên kết ở trên.

Bước 3: Hội rắn

Hội rắn
Hội rắn
Hội rắn
Hội rắn
Hội rắn
Hội rắn

Quá trình lắp ráp hầu như giống nhau cho cả hai phiên bản của con rắn. Sự khác biệt duy nhất là trong con rắn 2D, mỗi động cơ được quay 90 độ so với trước đó, trong khi trong con rắn 1D, tất cả các động cơ được căn chỉnh theo một trục duy nhất.

Bắt đầu bằng cách tháo servo, lưu các vít và tháo các miếng trên cùng và dưới cùng của khung nhựa màu đen, và hãy cẩn thận để không làm mất bất kỳ bánh răng nào! Trượt servo vào khung in 3D, được định hướng như trong các hình trên. Thay thế phần trên của hộp servo và vặn nó vào vị trí bằng bốn vít 6-32 1/2 . Lưu phần dưới của khung servo (trong trường hợp bạn muốn sử dụng lại trong các dự án sau này) và thay thế nó bằng 3D vỏ được in, điểm khác biệt duy nhất là núm bổ sung để ổ bi trượt qua. Vặn servo lại với nhau, lặp lại 10 lần.

QUAN TRỌNG: Trước khi tiếp tục, bạn phải tải mã lên Arduino và di chuyển từng servo sang 90 độ. Không làm được điều này có thể dẫn đến việc bạn làm hỏng một hoặc nhiều servo và / hoặc các khung in 3D. Nếu bạn không chắc chắn về cách di chuyển servo sang 90 độ, hãy xem trang này. Về cơ bản, kết nối dây màu đỏ của servo với 5V trên Arduino, dây màu nâu với GND và dây màu vàng với chân số 9, sau đó tải lên mã trong liên kết.

Bây giờ mỗi servo ở 90 độ, hãy tiếp tục:

Kết nối 10 phân đoạn bằng cách đưa núm được in 3D từ một hộp servo vào lỗ của mảnh phân đoạn thứ hai, sau đó dùng một chút lực đẩy trục của servo vào lỗ của nó (xem hình ảnh ở trên và video để rõ hơn). Nếu bạn đang làm con rắn 1D, tất cả các phân đoạn phải được căn chỉnh, nếu bạn đang làm con rắn 2D, mỗi phân đoạn phải được xoay 90 độ so với phân đoạn trước đó. Lưu ý rằng phần đuôi và khung đầu chỉ bằng một nửa chiều dài của các đoạn khác, hãy nối chúng lại nhưng đừng chú thích các mảnh hình kim tự tháp cho đến khi chúng ta nối dây xong.

Gắn cánh tay servo hình chữ x và vặn nó vào vị trí. Trượt ổ bi qua núm in 3D, điều này sẽ yêu cầu nhẹ nhàng ép 2 trụ bán nguyệt vào nhau. Tùy thuộc vào thương hiệu dây tóc bạn sử dụng và mật độ chèn, các bài viết có thể quá giòn và dễ gãy, tôi không nghĩ sẽ xảy ra trường hợp này nhưng tuy nhiên đừng sử dụng lực quá mạnh. Cá nhân tôi đã sử dụng dây tóc PLA với 10% infill. Khi ổ bi được bật, nó sẽ được khóa bằng các phần nhô ra trên núm.

Bước 4: Mạch

Mạch điện
Mạch điện
Mạch điện
Mạch điện
Mạch điện
Mạch điện

Mạch giống nhau đối với cả hai con rắn rô bốt. Trong quá trình đấu dây, hãy đảm bảo có đủ không gian đi dây để từng đoạn dây có thể xoay hoàn toàn, đặc biệt là trong rắn 2D.

Trên đây là sơ đồ mạch đấu dây chỉ có 2 con servo. Tôi đã thử vẽ mạch với 10 servo nhưng nó quá đông đúc. Điểm khác biệt duy nhất giữa hình ảnh này và đời thực là bạn cần đấu thêm 8 dây Servos song song và kết nối dây tín hiệu PWM với các chân trên Arduino Nano.

Khi đấu dây đường dây điện, tôi sử dụng một đoạn dây 18 gauge (đủ dày để chịu được 10 ampe) làm đường dây 5V chính chạy dọc theo chiều dài của con rắn. Sử dụng dụng cụ tuốt dây, tôi đã tháo một đoạn nhỏ của chất cách điện trong 10 khoảng thời gian đều đặn, và hàn một đoạn dây ngắn từ mỗi khoảng này một nhóm gồm 3 chân cắm đầu đực. Lặp lại điều này lần thứ hai đối với dây GND khổ 18 màu đen và chân cắm đầu đực thứ hai. Cuối cùng hàn một dây dài hơn vào chân cắm đầu đực thứ 3, chân này sẽ mang tín hiệu PWM đến servo từ Arduino Nano ở đầu rắn (dây phải đủ dài để chạm tới, ngay cả khi các đoạn uốn cong). Gắn ống co nhiệt theo yêu cầu. Kết nối 3 chân tiêu đề đực với 3 chân tiêu đề cái của dây servo. Lặp lại 10 lần cho mỗi 10 Servos. Cuối cùng những gì mà điều này đạt được là đấu dây song song các servo và chạy dây tín hiệu PWM tới Nano. Lý do cho các chân tiêu đề nam / nữ là vì vậy bạn có thể dễ dàng tách các phân đoạn ra và thay thế các servo nếu chúng bị gãy mà không làm mọi thứ ổn định.

Hàn các dây GND và 5V vào bảng có lỗ 3x7 ở đuôi với tụ điện và các đầu nối vít. Mục đích của tụ điện là loại bỏ bất kỳ xung đột biến dòng điện nào gây ra khi khởi động Servos, có thể đặt lại Arduino Nano (nếu bạn không có tụ điện, bạn có thể lấy đi mà không có nó, nhưng tốt hơn là nên an toàn). Hãy nhớ rằng ngạnh dài của tụ điện cần được kết nối với đường 5V và ngạnh ngắn hơn với đường GND. Hàn dây GND vào chân GND của Nano và dây 5V vào chân 5V. Lưu ý nếu bạn đang sử dụng điện áp khác, (xem phần tiếp theo), ví dụ pin Lipo có 7.4V, sau đó đấu dây màu đỏ vào chân Vin, KHÔNG phải chân 5V, làm như vậy sẽ phá hủy chân.

Hàn 10 dây tín hiệu PWM vào các chân trên Arduino Nano. Tôi nối dây của mình theo thứ tự sau, bạn có thể chọn cách nối dây của mình theo cách khác nhưng chỉ cần nhớ rằng sau đó bạn sẽ cần thay đổi các dòng servo.attach () trong mã. Nếu bạn không chắc chắn những gì tôi đang nói, chỉ cần kết nối nó theo cách giống như tôi đã làm và bạn sẽ không gặp vấn đề gì. Để từ servo ở đuôi rắn đến đầu rắn, tôi nối dây cho cả hai con rắn của mình theo thứ tự sau. Kết nối các chân tín hiệu với: A0, A1, A2, A3, A4, A5, D4, D3, D8, D7.

Sử dụng zipties để làm sạch hệ thống dây điện. Trước khi tiếp tục, hãy kiểm tra xem tất cả các phân đoạn có thể di chuyển với đủ chỗ để các dây di chuyển mà không bị kéo ra xa hay không. Bây giờ việc đấu dây đã hoàn thành, chúng ta có thể vặn các nắp hình kim tự tháp ở đầu và đuôi. Lưu ý rằng phần đuôi có một lỗ để dây buộc chui ra và phần đầu có lỗ cho cáp lập trình Arduino.

Bước 5: Cung cấp năng lượng cho rắn

Cung cấp năng lượng cho rắn
Cung cấp năng lượng cho rắn
Cung cấp năng lượng cho rắn
Cung cấp năng lượng cho rắn
Cung cấp năng lượng cho rắn
Cung cấp năng lượng cho rắn

Bởi vì các Servos được nối dây song song, tất cả chúng đều nhận được cùng một điện áp, nhưng dòng điện phải được cộng thêm. Nhìn vào biểu dữ liệu cho các Servos MG996r, chúng có thể vẽ lên đến 900mA mỗi khi đang chạy (giả sử không bị đình trệ). Do đó, tổng dòng điện rút ra nếu tất cả 10 servo di chuyển cùng một lúc là 0,9A * 10 = 9A. Vì bộ chuyển đổi ổ cắm trên tường 5v, 2A thông thường như vậy sẽ không hoạt động. Tôi quyết định sửa đổi một bộ nguồn ATX, có khả năng 5v ở 20A. Tôi sẽ không giải thích cách thực hiện việc này, vì nó đã được thảo luận rất nhiều trên Các trang hướng dẫn và YouTube rồi. Tìm kiếm nhanh trên mạng sẽ chỉ cho bạn cách sửa đổi một trong những bộ nguồn này.

Giả sử bạn đã sửa đổi nguồn điện, nó chỉ đơn giản là trường hợp kết nối dây nối dài giữa nguồn điện và các đầu nối vít trên con rắn.

Một tùy chọn khác là sử dụng bộ pin lipo tích hợp. Tôi chưa thử điều này vì vậy bạn sẽ tùy thuộc vào việc thiết kế giá đỡ cho pin và nối chúng vào. Hãy nhớ điện áp hoạt động, dòng điện của Servos và Arduino (không hàn bất kỳ thứ gì khác ngoài 5v để chân 5v trên Arduino, chuyển sang chân Vin nếu bạn có điện áp cao hơn).

Bước 6: Kiểm tra mọi thứ đang hoạt động

Trước khi tiếp tục, chỉ cần kiểm tra mọi thứ đang hoạt động. Tải lên mã này. Con rắn của bạn nên di chuyển từng servo riêng lẻ trong khoảng từ 0-180 và sau đó kết thúc bằng cách đặt trên một đường thẳng. Nếu không thì có điều gì đó không ổn, rất có thể hệ thống dây điện không chính xác hoặc các servo ban đầu không được căn giữa ở góc 90 độ như đã đề cập trong phần "Assembly of the Snake".

Bước 7: Mã

Hiện tại không có bộ điều khiển từ xa cho con rắn, tất cả chuyển động đều được lập trình trước và bạn có thể chọn những gì mình muốn. Tôi sẽ phát triển một điều khiển từ xa trong phiên bản 2, nhưng nếu bạn muốn điều khiển nó từ xa, tôi khuyên bạn nên xem xét các hướng dẫn khác về Guiductable và điều chỉnh con rắn để tương thích với bluetooth.

Nếu bạn đang làm con rắn 1D, hãy tải lên mã này.

Nếu bạn đang làm con rắn 2D, hãy tải lên mã này.

Tôi khuyến khích bạn sử dụng mã, thực hiện các thay đổi của riêng bạn và tạo các thuật toán mới. Đọc một số phần tiếp theo để biết giải thích riêng về từng loại đầu máy và cách mã hoạt động của nó.

Bước 8: Cân Vs Wheels

Cân Vs Bánh xe
Cân Vs Bánh xe
Cân Vs Bánh xe
Cân Vs Bánh xe
Cân Vs Bánh xe
Cân Vs Bánh xe
Cân Vs Bánh xe
Cân Vs Bánh xe

Một trong những cách chính mà rắn có thể tiến về phía trước là thông qua hình dạng vảy của chúng. Cân cho phép chuyển động về phía trước dễ dàng hơn. Để được giải thích thêm, hãy xem video này từ 3:04 trở đi để xem vảy giúp con rắn tiến về phía trước như thế nào. Nhìn vào 3:14 trong cùng một video cho thấy hiệu ứng khi rắn ở trong ống tay áo, loại bỏ ma sát của vảy. Như được hiển thị trong video YouTube của tôi khi con rắn 1D robot cố gắng trườn trên cỏ mà không có vảy, nó không di chuyển về phía trước hoặc phía sau vì các lực tổng bằng 0 thực. Vì vậy, chúng ta cần thêm một số vảy nhân tạo vào phần dưới của robot.

Nghiên cứu tái tạo sự chuyển động thông qua cân đã được thực hiện tại Đại học Harvard và được chứng minh trong video này. Tôi không thể nghĩ ra một phương pháp tương tự để di chuyển cân lên và xuống trên rô bốt của mình và thay vào đó, tôi quyết định gắn các cân in 3D thụ động vào phần dưới bụng.

Thật không may, điều này tỏ ra không hiệu quả (xem trong video YouTube của tôi lúc 3:38) vì vảy vẫn lướt trên bề mặt thảm thay vì bám vào các sợi và tăng ma sát.

Nếu bạn muốn thử nghiệm với các thang đo mà tôi thực hiện, bạn có thể in 3D các tệp từ GitHub của tôi. Nếu bạn tự làm thành công, hãy cho tôi biết trong phần bình luận bên dưới!

Sử dụng một cách tiếp cận khác, tôi đã thử sử dụng bánh xe làm từ ổ bi r188 với ống co nhiệt bên ngoài làm 'lốp xe'. Bạn có thể in 3D trục bánh xe bằng nhựa từ các tệp.stl trên GitHub của tôi. Mặc dù các bánh xe không chính xác về mặt sinh học, chúng tương tự như cân trong việc quay về phía trước rất dễ dàng nhưng chuyển động từ bên này sang bên kia khó hơn đáng kể. Bạn có thể xem kết quả thành công của các bánh xe trong video YouTube của tôi.

Bước 9: Chuyển động Slithering (Rắn trục đơn)

Giải nhất cuộc thi Make it Move

Đề xuất: