Mục lục:

Đi bộ Strandbeest, Java / Python và Điều khiển ứng dụng: 4 bước (có Hình ảnh)
Đi bộ Strandbeest, Java / Python và Điều khiển ứng dụng: 4 bước (có Hình ảnh)

Video: Đi bộ Strandbeest, Java / Python và Điều khiển ứng dụng: 4 bước (có Hình ảnh)

Video: Đi bộ Strandbeest, Java / Python và Điều khiển ứng dụng: 4 bước (có Hình ảnh)
Video: Surabaya, INDONESIA: The city of heroes 🦈🐊 | Java island 2024, Tháng mười một
Anonim

Theo arrowlikeFollow More của tác giả:

Nghiên cứu thực nghiệm về chuyển động điều hòa đơn giản
Nghiên cứu thực nghiệm về chuyển động điều hòa đơn giản
Nghiên cứu thực nghiệm về chuyển động điều hòa đơn giản
Nghiên cứu thực nghiệm về chuyển động điều hòa đơn giản

Bộ Strandbeest này là một tác phẩm DIY dựa trên Strandbeest do Theo Jansen phát minh. Kinh ngạc trước thiết kế cơ khí thiên tài, tôi muốn trang bị cho nó khả năng cơ động đầy đủ và tiếp theo là trí thông minh máy tính. Trong hướng dẫn này, chúng tôi làm việc trên phần đầu tiên, khả năng cơ động. Chúng tôi cũng bao gồm cấu trúc cơ học cho máy tính cỡ thẻ tín dụng để chúng tôi có thể chơi với thị giác máy tính và xử lý AI. Để đơn giản hóa công việc xây dựng và eance, tôi đã không sử dụng arduino hoặc máy tính lập trình tương tự, thay vào đó, tôi xây dựng một bộ điều khiển phần cứng bluetooth. Bộ điều khiển này, hoạt động như thiết bị đầu cuối tương tác với phần cứng robot, được điều khiển bởi hệ thống mạnh mẽ hơn, chẳng hạn như ứng dụng điện thoại android hoặc RaspberryPi, v.v. Điều khiển có thể là điều khiển giao diện người dùng điện thoại di động hoặc điều khiển có thể lập trình bằng ngôn ngữ python hoặc Java. Một SDK cho mỗi ngôn ngữ lập trình là mã nguồn mở được cung cấp tại

Vì hướng dẫn sử dụng mini-Strandbeest khá rõ ràng trong việc giải thích các bước xây dựng, trong hướng dẫn này, chúng tôi sẽ tập trung vào các phần thông tin thường không được đề cập trong hướng dẫn sử dụng và các bộ phận điện / điện tử.

Nếu chúng ta cần ý tưởng trực quan hơn về cách lắp ráp cơ khí của bộ này, có khá nhiều video hay về chủ đề lắp ráp, chẳng hạn như

Quân nhu

Để xây dựng phần cơ khí và kết nối tất cả các kết nối điện của Strandbeest này, sẽ mất chưa đầy 1 giờ để hoàn thành nếu thời gian chờ đợi cho bản in 3D không được tính. Nó yêu cầu các phần sau:

(1) Bộ Strandbeest tiêu chuẩn 1x (https://webshop.strandbeest.com/ordis-parvus)

(2) Động cơ một chiều 2x với Hộp số (https://www.amazon.com/Greartisan-50RPM-Torque-Re…)

(3) Bộ điều khiển Bluetooth 1x (https://ebay.us/Ex61kC?cmpnId=5338273189)

(4) 1x Pin LiPo (3.7V, dung lượng do bạn lựa chọn tính bằng mAh)

(5) Vít gỗ 12x M2x5,6mm

(6) Thanh carbon hoặc tre có đường kính 2mm

In 3D các phần sau:

(1) Phần thân chính của robot 1x

(Chỉ tải xuống tệp thiết kế in 3D với bộ điều khiển bluetooth)

(Tệp thiết kế in 3D với bản tải xuống OrangePi Nano bổ sung)

(2) 2x Mặt bích trục truyền động (tải xuống tệp thiết kế in 3D)

(3) Thiết bị cố định hệ thống điện 2x (tải xuống tệp thiết kế in 3D)

Khác:

Điện thoại di động Android. Vào Google playstore, vui lòng tìm kiếm M2ROBOTS và cài đặt Ứng dụng điều khiển.

Trong trường hợp khó truy cập Google playstore, hãy truy cập trang chủ cá nhân của tôi để biết phương pháp tải xuống ứng dụng thay thế

Bước 1: Tổ chức bộ phận

Tổ chức bộ phận
Tổ chức bộ phận
Tổ chức bộ phận
Tổ chức bộ phận
Tổ chức bộ phận
Tổ chức bộ phận
Tổ chức bộ phận
Tổ chức bộ phận

Trong bước này, chúng tôi sẽ tổ chức tất cả các bộ phận sẽ được lắp ráp. Hình 1. hiển thị tất cả các bộ phận bằng nhựa bên ngoài mà chúng tôi sử dụng để xây dựng mô hình Strandbeest. Chúng được làm bằng phương pháp ép phun, mang lại hiệu quả rất cao, so với các phương pháp sản xuất gia công khác như in 3D hoặc phay. Đó là lý do tại sao chúng tôi muốn tận dụng tối đa sản phẩm được sản xuất hàng loạt và chỉ tùy chỉnh số lượng bộ phận ít nhất.

Như thể hiện trong Hình 2, mỗi miếng bảng nhựa có một bảng chữ cái được dán nhãn, từng phần riêng lẻ không có nhãn. Một khi chúng được tháo rời, không còn nhãn mác nữa. Để giải quyết vấn đề này, chúng ta có thể đặt các bộ phận cùng loại vào các hộp khác nhau, hoặc chỉ cần đánh dấu nhiều vùng trong một tờ giấy và đặt một loại bộ phận vào một vùng, xem Hình 3.

Để cắt phần nhựa ra khỏi bảng nhựa lắp ráp lớn hơn, kéo và dao có thể không hiệu quả và an toàn như kìm thể hiện trong Hình 4 và 5.

Mọi thứ ở đây đều được làm bằng nhựa, ngoại trừ chất liệu của các ngón chân là cao su, xem Hình 6. Chúng tôi có thể cắt theo các vết cắt đã tạo sẵn. Bản chất mềm của vật liệu cao su cung cấp hiệu suất bám của sợi dây tốt hơn. Nó đặc biệt đúng khi leo dốc. Trong các chủ đề sau, chúng ta có thể kiểm tra khả năng leo ở các góc dốc khác nhau, có và không có ngón chân cao su. Khi không có hiện tượng trượt, nó được gọi là ma sát tĩnh. Một khi mất lực bám, nó sẽ trở thành ma sát động học. Hệ số ma sát phụ thuộc vào vật liệu được sử dụng, đó là lý do tại sao chúng ta có các ngón chân bằng cao su. Cách thiết kế một thử nghiệm, giơ tay và phát biểu ý kiến.

Hình cuối cùng chứa "ECU", "Power train" và khung của mẫu Strandbeest này.

Bước 2: Những điểm đáng chú ý trong quá trình lắp ráp cơ khí

Những điểm đáng chú ý trong quá trình lắp ráp cơ khí
Những điểm đáng chú ý trong quá trình lắp ráp cơ khí
Những điểm đáng chú ý trong quá trình lắp ráp cơ khí
Những điểm đáng chú ý trong quá trình lắp ráp cơ khí
Những điểm đáng chú ý trong quá trình lắp ráp cơ khí
Những điểm đáng chú ý trong quá trình lắp ráp cơ khí

Mini-Strandbeest có hướng dẫn sử dụng khá tốt. Nó sẽ là một công việc dễ dàng để làm theo hướng dẫn sử dụng và hoàn thành việc lắp ráp. Tôi sẽ bỏ qua những nội dung này và nêu một vài điểm thú vị đáng để chúng ta chú ý.

Trong Hình 1, một bên của rãnh giữ các ngón chân cao su là góc 90 độ, trong khi bên kia có độ dốc 45 độ, được gọi chính thức là vát mép. Độ dốc như vậy hướng dẫn ngón chân cao su vừa với chân nhựa. Thử lắp các ngón chân từ bên cạnh bằng vát mép, xem Hình 2, sau đó thử bên còn lại. Sự khác biệt là rất đáng chú ý. Bên phải của Hình 3 là tay quay trong Stranbeest của chúng ta. Nó rất giống với tay quay trong động cơ, động cơ ô tô, động cơ xe máy, tất cả đều có chung một cấu tạo. Trong Strandbeest, khi tay quay quay, nó sẽ thúc đẩy bàn chân di chuyển. Đối với động cơ, đó là chuyển động của piston dẫn động tay quay. Sự phân tách 120 độ như vậy trong một vòng tròn cũng dẫn đến động cơ hoặc máy phát điện ba pha, công suất điện cách nhau 120 độ, được thể hiện trong Hình 4. Khi chúng ta đã lắp ráp tất cả các bộ phận cơ khí cho thân bên trái và bên phải, bây giờ chúng ta bắt đầu làm việc trên các bộ phận chúng ta thêm vào Strandbeest, xem Hình 5. Hình 6 là bước chúng tôi sử dụng kẹp động cơ in 3-D để gắn chặt động cơ vào khung in 3-D. Trong bước này, mẹo là không nên vặn chặt bất kỳ ốc vít nào trước khi điều chỉnh vị trí động cơ sao cho bề mặt bên của khung máy giống với bề mặt của động cơ. Một khi chúng tôi hài lòng với sự liên kết, chúng tôi có thể siết chặt tất cả các ốc vít. Chuyển sang Hình 7, chúng ta tiến hành lắp đặt khớp nối mặt bích, kết nối đầu ra động cơ với tay quay. Khó lắp đặt phía động cơ hơn so với kết nối phía tay quay, xem Hình 8. Do đó chúng tôi kết nối mặt bích phía động cơ trước. Khi khớp nối mặt bích cho cả hai động cơ được lắp đặt, như thể hiện trong Hình 9, chúng tôi sử dụng hai miếng thanh carbon đường kính 2mm để kết nối khung xe và cấu trúc đi bộ trái / phải. Điều đó đang xảy ra trong FIg.10. Tổng cộng, chúng tôi sử dụng 3 mảnh thanh carbon để kết nối các thực thể này. Nhưng ở bước này, chúng ta chỉ kết nối hai trong số này, vì chúng ta cần phải quay tay quay và lắp mối nối giữa mặt bích và tay quay. Nếu đã có 3 miếng thanh carbon thì việc điều chỉnh vị trí tương đối và kết nối chúng sẽ khó hơn. Cuối cùng, chúng tôi có hệ thống cơ khí được lắp ráp cuối cùng, trong Hình 11. Bước tiếp theo, hãy làm việc trên thiết bị điện tử.

Bước 3: Kết nối điện

Kết nối điện
Kết nối điện
Kết nối điện
Kết nối điện
Kết nối điện
Kết nối điện

Tất cả các hệ thống điện tử đều cần nguồn điện. Chúng ta có thể đặt pin 1 cell ở đâu đó thuận tiện, chẳng hạn như bên dưới bảng mạch trong Hình 1. Các cực của nguồn điện là rất quan trọng nên nó xứng đáng là một con số chuyên dụng để thảo luận. Hình 2 làm nổi bật kết nối pin. Trong bảng điều khiển, cực tính được đánh dấu bằng "+" và "GND", xem Hình 3. Khi hết pin, cáp USB được sử dụng để sạc lại pin, xem Hình 4. Đèn LED cho biết "đang sạc lại" sẽ tự động tắt khi pin đầy trở lại. Bước cuối cùng là kết nối các ổ cắm động cơ với các đầu nối động cơ trong bảng điều khiển. Có 3 đầu nối động cơ, được đánh dấu bằng số 16 trong Hình 3. Trong Hình 5, động cơ bên trái được kết nối với đầu nối ngoài cùng bên trái có nhãn PWM12 và động cơ bên phải được kết nối với đầu nối giữa. Hiện tại, việc quay xe tăng (xe dẫn động vi sai) sang trái được mã hóa là việc giảm công suất đầu vào động cơ kết nối với cổng động cơ PWM12. Do đó động cơ kết nối với cổng PWM12 nên dẫn động chân trái. Sau đó, tôi sẽ chuyển đổi tất cả các chức năng trộn thành người dùng có thể định cấu hình. như Bằng cách hoán đổi lựa chọn đầu nối động cơ hoặc đảo ngược hướng đầu nối động cơ, chúng tôi có thể khắc phục sự cố chẳng hạn như Strandbeest di chuyển về phía sau khi có lệnh di chuyển về phía trước, quay sai hướng, hãy nhớ động cơ DC thay đổi hướng quay của nó nếu dây đầu vào kết nối với nguồn điều khiển theo thứ tự ngược lại.

Bước 4: Cài đặt và vận hành ứng dụng

Cài đặt và hoạt động ứng dụng
Cài đặt và hoạt động ứng dụng
Cài đặt và hoạt động ứng dụng
Cài đặt và hoạt động ứng dụng
Cài đặt và hoạt động ứng dụng
Cài đặt và hoạt động ứng dụng
Cài đặt và hoạt động ứng dụng
Cài đặt và hoạt động ứng dụng

Trước tiên, chúng tôi tải xuống một ứng dụng Android từ Cửa hàng Google Play, xem Hình 1. Ứng dụng này có rất nhiều chức năng khác mà chúng tôi không thể đề cập trong phần hướng dẫn này, chúng tôi sẽ chỉ tập trung vào các chủ đề liên quan trực tiếp đến Strandbeest.

Bật bộ điều khiển bluetooth phần cứng, nó sẽ hiển thị trong danh sách thiết bị khám phá. Nhấn và giữ sẽ đưa chúng ta đến tính năng tải xuống qua máy bay để được "hướng dẫn" sau này. Trước khi chúng tôi nhấp và bắt đầu điều khiển, hãy thực hiện một số cấu hình trước bằng cách nhấp vào "Cài đặt" ở góc trên cùng bên phải. Trong Hình 2, nó được ẩn dưới biểu tượng…. Hình 3 cho thấy nhiều danh mục cài đặt. Các cài đặt này, được định cấu hình trong Ứng dụng, được đưa vào hoạt động theo ba cách: 1) một số cài đặt chỉ ảnh hưởng đến hoạt động của Ứng dụng, chẳng hạn như số học để nhận lệnh điều khiển công suất của từng động cơ từ lệnh lái và ga của bạn. Họ sống trong Ứng dụng. Trong một số hướng dẫn sau, chúng tôi sẽ chỉ ra cách chúng tôi thay thế chúng bằng các chương trình Python / Java của chúng tôi. 2) một số cài đặt được gửi đến phần cứng như một phần của giao thức điều khiển trong không khí, chẳng hạn như chuyển đổi giữa điều khiển trực tiếp (servo quay chính xác theo góc được chỉ định) và điều khiển bay bằng dây (mô-đun chức năng điều khiển tự động được tích hợp sẵn vận hành servo kênh theo lệnh của người dùng và thái độ hiện tại) 3) một số cài đặt sẽ được gửi đến Bộ nhớ không bay hơi trong bộ điều khiển phần cứng. Do đó, phần cứng sẽ tuân theo các cài đặt này mỗi khi nó được bật lên mà không cần được định cấu hình. Ví dụ sẽ là tên phát sóng bluetooth của thiết bị. Loại cài đặt này cần chu kỳ năng lượng để có hiệu lực. Danh mục đầu tiên chúng ta đi sâu vào là "Cài đặt chung" trong Hình 4. “Chức năng điều khiển ứng dụng” trong Hình 5 xác định vai trò của ứng dụng này, một bộ điều khiển cho thiết bị phần cứng qua kết nối bluetooth trực tiếp; một cầu nối qua mạng nội bộ / internet để điều khiển từ xa; và v.v. Tiếp theo, trang “Loại HW” trong Hình 6 cho ứng dụng bạn đang làm việc với xe dẫn động vi sai, do đó, chế độ “xe tăng” cần được chọn. Chúng tôi có tổng cộng 6 đầu ra PWM. Đối với Strandbeest, chúng ta cần cấu hình kênh 1 đến 4 theo Hình 7. Mỗi kênh PWM được hoạt động ở một trong các chế độ sau: 1) servo bình thường: RC servo được điều khiển bởi tín hiệu PWM từ 1 đến 2ms 2) Đảo ngược servo: bộ điều khiển sẽ đảo ngược điều khiển của người dùng đối với đầu ra của nó 3) Chu kỳ làm việc của động cơ DC: một DC động cơ hoặc một số thiết bị điện công suất, có thể hoạt động ở chế độ chu kỳ làm việc, 0% là tắt, 100% luôn bật. 4) Đảo ngược chu kỳ làm việc của động cơ DC: một lần nữa bộ điều khiển sẽ đảo ngược điều khiển của người dùng đối với đầu ra của nó Vì chúng ta sử dụng động cơ DC và quan tâm đến hướng quay của động cơ theo thứ tự đấu dây phần cứng, chúng ta sẽ chọn “Chu kỳ làm việc của động cơ DC” cho kênh 1 để 4, xem Hình 8. Chúng tôi cũng cần hợp nhất 2 kênh PWM thành 1 cầu H, để cho phép điều khiển hai chiều. Bước này được thể hiện trong Hình 9. Trong chế độ “2 kênh PWM đến 1 cầu H”, kênh 1, 3 và 5 được sử dụng để điều khiển cả hai kênh được liên kết. Nó giới thiệu nhu cầu chỉnh sửa lại điều khiển bướm ga, điều khiển lên xuống của cần điều khiển từ kênh mặc định 2 đến kênh 3. Nó đạt được trong cài đặt Hình 10. Như thể hiện trong Hình 11, mỗi kênh được cấu hình để lấy một nguồn đầu vào tùy ý.

Bingo, bây giờ chúng ta đã hoàn thành cấu hình yêu cầu tối thiểu và chúng ta có thể quay lại trang hiển thị thiết bị bluetooth hiển thị và kết nối thiết bị đó. Trong Hình 12, hãy thử chơi phím điều khiển và chúng ta có thể giải trí với Strandbeest này. Hãy thử leo lên một con dốc nào đó, ghi nhớ phân tích ma sát giữa các loại vật liệu và đọc thái độ ước tính của bộ điều khiển chuyến bay, được hiển thị trong hàng có nhãn “RPY (độ)”, bốn mục trong hàng này là cuộn, cao độ, góc nghiêng ước tính bằng con quay hồi chuyển và gia tốc kế trên tàu; mục cuối cùng là đầu ra la bàn bù nghiêng.

Công việc trong tương lai: trong các hướng dẫn sau, chúng tôi sẽ dần dần bao gồm giao diện lập trình của nó, chọn ngôn ngữ yêu thích của bạn là Java hoặc Python để tương tác với Strandbeest và không còn đọc trạng thái của Strandbeest từ màn hình điện thoại di động. Chúng ta cũng sẽ bắt đầu lập trình trên máy tính linux loại RaspberryPi cho các chủ đề lập trình nâng cao hơn, xem Hình cuối cùng. Kiểm tra https://xiapeiqing.github.io/doc/kits/strandbeest/roboticKits_strandbeest/ để biết các bộ phận cơ khí in 3D và https://github.com/xiapeiqing/m2robots.git cho SDK và mã ví dụ nếu bạn muốn bắt đầu ngay lập tức. Hãy cho tôi biết ngôn ngữ lập trình mong muốn của bạn là gì nếu không phải là Java hoặc Python, tôi có thể thêm phiên bản SDK mới.

Chúc bạn vui vẻ với việc hack và hãy theo dõi các hướng dẫn sau.

Đề xuất: