Daftar Isi:

Hexapod: 14 Langkah (dengan Gambar)
Hexapod: 14 Langkah (dengan Gambar)

Video: Hexapod: 14 Langkah (dengan Gambar)

Video: Hexapod: 14 Langkah (dengan Gambar)
Video: Hexapod Arduino (robot kaki 6) 2024, November
Anonim
segi enam
segi enam
segi enam
segi enam
segi enam
segi enam

Saya tertarik selama beberapa tahun untuk bermain-main dan membuat robot dan saya sangat terinspirasi oleh Zenta, di sini Anda akan menemukan saluran Youtube-nya https://www.youtube.com/channel/UCmCZ-oLEnCgmBs_T dan situs webnya http //zentasrobots.com.

Anda dapat menemukan banyak kit dari banyak vendor berbeda di internet, tetapi harganya sangat mahal, hingga $ 1.500+ untuk hexapod 4 DoF, dan kit dari Cina tidak memiliki kualitas yang baik. Jadi, saya memutuskan untuk membuat di hexapod dengan cara saya. Terinspirasi oleh hexapod Phoenix Zenta, Anda akan menemukannya di saluran Youtube-nya (dan kit Anda dapat menemukan https://www.lynxmotion.com/c-117-phoenix.aspx, saya sudah mulai membuat sendiri dari awal.

Untuk membuat jika menetapkan target/persyaratan berikut untuk saya sendiri:

1.) Bersenang-senanglah dan pelajari hal-hal baru.

2.) Desain yang digerakkan oleh biaya (sial, perusahaan saya benar-benar memanjakan saya)

3.) Bagian yang terbuat dari kayu lapis (karena lebih mudah bagi kebanyakan orang dan juga saya untuk memotong kayu)

4.) Menggunakan alat (perangkat lunak) gratis yang tersedia

Jadi, apa yang saya gunakan sejauh ini?

a) SketchUp, untuk desain mekanik.

b) Kayu lapis beech 4mm dan 6mm (1/4 ).

c. Arduino Uno, Mega, IDE.

d) Servo standar digital (ditemukan di amazon dengan harga yang bagus).

e) Dosuki dan Bandsaw, mesin bor, kertas amplas dan file.

Langkah 1: Konstruksi Kaki dan Braket Servo

Konstruksi Kaki dan Braket Servo
Konstruksi Kaki dan Braket Servo
Konstruksi Kaki dan Braket Servo
Konstruksi Kaki dan Braket Servo
Konstruksi Kaki dan Braket Servo
Konstruksi Kaki dan Braket Servo

Pertama saya melakukan riset di internet untuk mencari tahu bagaimana membuat robot, tetapi tidak terlalu berhasil menemukan informasi yang baik tentang bagaimana melakukan desain mekanik. Jadi saya banyak berjuang dan akhirnya saya memutuskan untuk menggunakan SketchUp.

Setelah beberapa jam belajar sambil bekerja dengan SketchUp, saya telah menyelesaikan desain kaki pertama saya. Tulang paha dioptimalkan dengan ukuran tanduk servo yang saya gunakan. Seperti yang saya ketahui, aslinya tampaknya berdiameter sekitar 1 , tetapi tanduk servo saya memiliki 21mm.

Membuat cetakan dengan skala yang tepat tidak bekerja dengan benar dengan SketchUp di komputer saya, jadi saya menyimpannya sebagai PDF, membuat cetakan dengan 100%, melakukan beberapa pengukuran dan akhirnya mencetak lagi dengan faktor skala yang tepat.

Untuk percobaan pertama saya hanya menciptakan seni untuk dua kaki. Untuk ini saya menumpuk dua papan, merekatkan (untuk kertas dinding) hasil cetakan di atasnya dan memotong bagian-bagiannya dengan gergaji pita model.

Bahan yang digunakan: kayu lapis beech 6mm (1/2 )

Setelah itu saya melakukan beberapa eksperimen, saya belum mendokumentasikan, dan melakukan beberapa optimasi. Seperti yang Anda lihat, tibia sedikit kebesaran serta tulang paha.

Untuk memasang tanduk servo melalui tulang paha, 2 mm bahan harus dipotong. Ini dapat dilakukan dengan cara yang berbeda. Dengan router atau dengan bor Forstner. Forstner hanya berdiameter 200 mm, jadi saya harus melakukan beberapa pascaperang dengan tangan dengan pahat.

Langkah 2: Mengoptimalkan Femur dan Tibia

Mengoptimalkan Femur dan Tibia
Mengoptimalkan Femur dan Tibia
Mengoptimalkan Femur dan Tibia
Mengoptimalkan Femur dan Tibia
Mengoptimalkan Femur dan Tibia
Mengoptimalkan Femur dan Tibia
Mengoptimalkan Femur dan Tibia
Mengoptimalkan Femur dan Tibia

Saya telah mengubah desain sedikit.

1.) Tibia sekarang memasang servo yang saya gunakan jauh lebih baik.

2.) Femur sekarang sedikit lebih kecil (sekitar 3 dari sumbu ke sumbu) dan memasang tanduk servo (diameter 21 mm).

Saya menggunakan 6 papan kayu lapis 6 mm dan merekatkannya dengan selotip dua sisi. Jika ini tidak cukup kuat, Anda dapat mengebor lubang melalui semua papan dan menggunakan sekrup untuk menyatukannya. kemudian bagian dipotong sekaligus dengan bandsaw. Jika Anda cukup tangguh, Anda juga dapat menggunakan gergaji ukir:-)

Langkah 3: Merancang Braket Servo

Merancang Braket Servo
Merancang Braket Servo
Merancang Braket Servo
Merancang Braket Servo
Merancang Braket Servo
Merancang Braket Servo
Merancang Braket Servo
Merancang Braket Servo

Sekarang saatnya mendesain braket servo. Ini sangat dirancang terkait dengan servo bekas yang saya gunakan. Semua bagian terbuat dari kayu lapis beech 6 mm lagi lihat langkah selanjutnya.

Langkah 4: Memotong dan Merakit Kurung Servo

Memotong dan Memasang Braket Servo
Memotong dan Memasang Braket Servo
Memotong dan Memasang Braket Servo
Memotong dan Memasang Braket Servo

Sekali lagi saya telah memotong enam bagian sekaligus pada gergaji pita. Metodenya sama seperti sebelumnya.

1.) Menggunakan selotip dua sisi, untuk merekatkan papan.

2.) Sekrup agar lebih stabil saat memotong (tidak ditampilkan di sini).

Kemudian saya menggunakan beberapa lem kerajinan model untuk merekatkannya bersama-sama dan dua sekrup SPAX (belum diterapkan di foto).

Dibandingkan dengan hexapod asli saya belum menggunakan bantalan bola, sebaliknya saya hanya menggunakan sekrup 3 mm, ring dan mur self fixing nanti untuk merakit kaki dengan bodi / sasis.

Langkah 5: Merakit Kaki dan Uji

Image
Image
Merakit Kaki dan Uji
Merakit Kaki dan Uji
Merakit Kaki dan Uji
Merakit Kaki dan Uji

Dalam dua gambar pertama Anda melihat versi pertama dari sebuah kaki. Selanjutnya Anda melihat perbandingan suku cadang lama dan baru dan perbandingan suku cadang baru (versi dua) dengan aslinya (foto di latar belakang).

Akhirnya Anda akan melakukan tes gerakan pertama.

Langkah 6: Membangun dan Merakit Tubuh

Membangun dan Merakit Tubuh
Membangun dan Merakit Tubuh
Membangun dan Merakit Tubuh
Membangun dan Merakit Tubuh
Membangun dan Merakit Tubuh
Membangun dan Merakit Tubuh

Tubuh saya sudah mencoba untuk merekonstruksi dari foto. Sebagai referensi saya menggunakan servo horn yang saya asumsikan berdiameter 1". Jadi, sisi depan menjadi lebar 4,5" dan tengah 6,5". Untuk panjangnya saya asumsikan 7". Kemudian saya membeli body kit asli dan membandingkannya. Saya menjadi sangat dekat dengan aslinya. Akhirnya saya membuat versi ketiga, yang merupakan salinan 1:1 dari aslinya.

Body kit pertama yang saya buat dari kayu lapis 6 mm, di sini Anda melihat versi kedua terbuat dari kayu lapis 4 mm, yang menurut saya cukup kuat dan kaku. Berbeda dengan kit asli saya memasang tanduk servo di atas, resp. melalui bahan (Anda dapat melihat ini juga dengan tulang paha). Pasalnya, saya tidak berminat untuk membeli klakson aluminium yang mahal, melainkan saya ingin menggunakan klakson plastik yang sudah jadi. Alasan lainnya adalah, saya semakin dekat ke servo, sehingga gaya geser berkurang. Ini membuat koneksi lebih stabil.

Omong-omong, terkadang ada baiknya jika Ganesha ikut. Terima kasih untuk teman saya Tejas:-)

Langkah 7: Tes Elektronik Pertama

Image
Image
Tibia dan Coxa EV3
Tibia dan Coxa EV3

Semua seni berkumpul bersama sekarang. Oke, saya tahu itu tidak terlihat sangat cantik, tetapi sebenarnya saya banyak bereksperimen. Dalam video Anda dapat melihat memainkan beberapa urutan sederhana yang telah ditentukan, sebenarnya tidak ada kinematika terbalik yang diterapkan. Gaya berjalan yang telah ditentukan tidak berfungsi dengan baik karena dirancang untuk 2 DoF.

Dalam contoh ini saya menggunakan pengontrol servo SSC-32U dari Lynxmotion, Anda akan menemukannya di sini:

Beberapa hari yang lalu saya juga menggunakan pengontrol PWM lain (pengontrol PWM 16 saluran Adafruit, https://www.adafruit.com/product/815), tetapi SCC sebenarnya memiliki beberapa fitur bagus, seperti memperlambat servos.

Jadi, itu saja sekarang. Selanjutnya saya harus mencari tahu bagaimana cara kerja inverse kinematics (IK), mungkin saya akan memprogram kiprah sederhana seperti yang sudah ditentukan di kontroler SSC. Saya sudah menemukan contoh siap pakai di sini https://github.com/KurtE/Arduino_Phoenix_Parts, tapi saya belum menjalankannya. Tidak tahu mengapa, tapi aku sedang bekerja.

Jadi, inilah daftar ToDo singkat.

1.) Programkan gaya berjalan sederhana seperti build in di SSC.

2.) Memprogram kelas/pembungkus pengontrol PS3 untuk Arduino Phoenix.

3.) Dapatkan kode dari KurtE yang sedang berjalan atau tulis kode saya sendiri.

Servo yang saya gunakan saya temukan di Amazon https://www.amazon.de/dp/B01N68G6UH/ref=pe_3044161_189395811_TE_dp_1. Harganya cukup bagus, tapi kualitasnya bisa jauh lebih baik.

Langkah 8: Tes Gait Sederhana Pertama

Seperti yang saya sebutkan di langkah terakhir, saya telah mencoba memprogram urutan kiprah saya sendiri. Ini sangat sederhana, seperti mainan mekanik, dan tidak dioptimalkan untuk bodi yang saya gunakan di sini. Tubuh lurus sederhana akan jauh lebih baik.

Jadi, semoga Anda banyak bersenang-senang. Saya harus belajar IK sekarang;-)

Catatan: Ketika Anda memperhatikan kaki-kakinya dengan cermat, Anda akan melihat bahwa beberapa servos berperilaku aneh. Yang saya maksud adalah, mereka tidak selalu bergerak mulus, mungkin saya harus menggantinya dengan servos lain.

Langkah 9: Porting Pengontrol PS3

Pagi ini saya sedang mengerjakan menulis pembungkus untuk kode Phoenix. Butuh beberapa jam, sekitar 2-3, untuk melakukan itu. kode akhirnya tidak di-debug dan saya telah menambahkan beberapa debugging tambahan ke konsol. Ini berfungsi sejauh ini:-)

Tapi omong-omong, ketika saya menjalankan kode Phoenix, sepertinya semua servos berjalan terbalik (berlawanan arah).

Ketika Anda ingin mencoba sendiri, Anda memerlukan kode dari KurtE sebagai dasar https://github.com/KurtE/Arduino_Phoenix_Parts. Ikuti petunjuk untuk menginstal kode. Salin folder Phoenix_Input_PS ke folder perpustakaan Arduino Anda (biasanya subfolder dari folder sketsa Anda), dan folder Phoenix_PS3_SSC32 ke folder sketsa Anda.

Info: Jika Anda tidak berpengalaman dengan Arduino dan alat dan mengalami masalah, silakan hubungi komunitas Arduino (www.arduino.cc). Jika Anda memiliki masalah dengan kode Phoenix dari KurtE, silakan hubungi dia. Terima kasih.

Peringatan: Memahami kode menurut saya bukan apa-apa untuk pemula, jadi Anda harus sangat akrab dengan C/C++, pemrograman, dan algoritma. Kode ini juga memiliki banyak kode yang dikompilasi bersyarat, dikendalikan oleh #defines, ini membuatnya sangat sulit untuk dibaca dan dipahami.

Daftar perangkat keras:

  • Arduino Mega 2560
  • Pelindung host USB (untuk Arduino)
  • pengontrol PS3
  • Pengontrol servo LynxMotion SSC-32U
  • Baterai 6 V (harap baca persyaratan dari semua HW Anda, jika tidak Anda dapat merusaknya)
  • Arduino IDE
  • Beberapa kabel USB, sakelar dan bagian kecil lainnya sesuai kebutuhan.

Jika Anda menyukai pengontrol PS2, Anda akan menemukan banyak informasi di internet tentang cara menghubungkan ke Arduino.

Jadi, harap bersabar. Saya akan memperbarui langkah ini, ketika perangkat lunak berfungsi dengan benar.

Langkah 10: Tes IK Pertama

Image
Image

Saya telah menemukan port berbeda dari kode Phoenix yang berjalan jauh lebih baik (https://github.com/davidhend/Hexapod), mungkin saya memiliki masalah konfigurasi dengan kode lain. Kode tampaknya sedikit bermasalah dan langkahnya tidak terlihat mulus, tetapi bagi saya ini adalah langkah besar ke depan.

Harap pertimbangkan, kode ini sebenarnya eksperimental. Saya harus banyak membersihkan dan mengoreksi dan akan menerbitkan pembaruan pada hari-hari berikutnya. Port PS3 didasarkan pada port PS3 yang sudah diterbitkan, dan saya telah membuang file PS2 dan XBee.

Langkah 11: Tes IK Kedua

Solusinya sangat mudah. Saya harus memperbaiki beberapa nilai konfigurasi dan membalikkan semua sudut servo. Sekarang berhasil:-)

Langkah 12: Tibia dan Coxa EV3

Tibia dan Coxa EV3
Tibia dan Coxa EV3
Tibia dan Coxa EV3
Tibia dan Coxa EV3

Saya tidak tahan, jadi saya membuat tibias dan coxa (kurung servo) baru. Ini adalah versi ketiga yang saya buat. Yang baru lebih berbentuk bulat dan memiliki tampilan yang lebih organik/bionik.

Jadi, status sebenarnya adalah. Hexapod berfungsi, tetapi masih mengalami masalah dengan beberapa hal.

1.) Belum nemu kenapa BT delay 2,3 detik.

2.) Kualitas servo buruk.

Hal yang harus dilakukan:

* Pengkabelan servo harus diperbaiki.

* Butuh dudukan baterai yang bagus.

* Harus menemukan cara untuk memasang elektronik.

* Kalibrasi ulang servos.

* Menambahkan sensor dan monitor tegangan untuk baterai.

Langkah 13: Femur Berbentuk Halus

Femur Berbentuk Halus
Femur Berbentuk Halus
Femur Berbentuk Halus
Femur Berbentuk Halus
Femur Berbentuk Halus
Femur Berbentuk Halus
Femur Berbentuk Halus
Femur Berbentuk Halus

Beberapa hari yang lalu saya sudah membuat beberapa tulang paha baru karena saya tidak puas dengan yang sebelumnya. Pada gambar pertama Anda akan melihat perbedaannya. Yang lama berdiameter 21 mm di ujungnya, yang baru berdiameter 1 inci. Saya membuat lubang wastafel ke tulang paha dengan mesin penggilingan saya dengan alat bantu sederhana, seperti yang Anda lihat di tiga gambar berikutnya.

Sebelum membuat lubang masuk ke tulang paha, masuk akal untuk mengebor semua lubang, jika tidak maka akan menjadi sulit. Klakson servo sangat pas, langkah selanjutnya, yang tidak ditampilkan di sini, adalah memberikan tepi bentuk bulat. Untuk ini saya menggunakan bit router dengan radius 3 mm.

Pada gambar terakhir Anda akan melihat perbandingan yang lama dan yang baru. Tidak tahu apa yang Anda pikirkan, tapi saya lebih suka yang baru.

Langkah 14: Langkah Terakhir

Image
Image
Langkah Terakhir
Langkah Terakhir
Langkah Terakhir
Langkah Terakhir
Langkah Terakhir
Langkah Terakhir

Saya akan menyelesaikan tutorial ini sekarang, kalau tidak akan menjadi cerita yang tak ada habisnya:-).

Saya video Anda akan melihat kode Phoenix KurtE berjalan dengan beberapa modifikasi saya. Robotnya tidak bergerak dengan sempurna, maaf untuk itu, tetapi servos yang murah memiliki kualitas yang buruk. Saya sudah memesan beberapa servos lain, saya baru saja menguji dua dari mereka dengan hasil yang baik, dan masih menunggu pengiriman. Jadi, maaf saya tidak bisa menunjukkan cara kerja robot dengan servo baru.

Tampak belakang: Sensor arus 20 amp, di sebelah kiri pot 10 k. Saat robot berjalan, ia akan mengkonsumsi 5 amp dengan mudah. Kanan pot 10 k Anda akan melihat piksel 128x64 OLED yang menunjukkan beberapa informasi status.

Tampak depan: Sensor ultrasonik sederhana HC-SR04, belum terintegrasi di SW.

Tampak samping kanan: akselerator dan giro MPU6050 (6-sumbu).

Tampak samping kiri: Loudspeaker Piezo.

Desain mekanis sekarang lebih atau kurang dilakukan, kecuali servos. Jadi, tugas selanjutnya akan mengintegrasikan beberapa sensor ke SW. Untuk ini saya telah membuat akun GitHub dengan SW yang saya gunakan yang didasarkan pada snapshot dari Phoenix SW KurtE.

OLED:

GitHub saya:

Direkomendasikan: