Litar

Bagaimana Membangun Robot Robotika DARPA Akhir Robot Anda Sendiri. Benar !: 8 Langkah

Belajar Robot Mulai dari Mana?

Belajar Robot Mulai dari Mana?

Isi kandungan:

Anonim

atau Bagaimana tidak memenangi 2,000,000 dan bersenang-senang melakukannya.

Pengenalan

Ini adalah yang pertama dalam satu siri pengajaran yang bertujuan untuk menjadi dokumentasi lengkap tentang bagaimana kami membina Robot Challenge Robotics DARPA 2013/2015 (dinamakan Buddy dalam Ujian DARPA DRC 2013, dan Cog-Burn pada 2015 DARPA DRC Finals). Artikel pertama ini akan membincangkan cabaran itu sendiri dan kategori yang luas untuk aktiviti. Kemudian kemudian instructables akan melalui subsistem termasuk perisian, perkakasan komputer, sistem mekanikal dan alat pengurusan terkini dan pendekatan yang digunakan untuk membuat robot kami.

Semua pendapat yang dinyatakan dalam siri ini adalah saya sendiri.Ahli robot dan saintis komputer lain mungkin tidak bersetuju tetapi saya datang dengan pendapat saya dengan 30 + tahun bangunan robot dan pengalaman bekerja dengan banyak jurutera dan saintis yang berbeza.

Cabaran

Cabaran DARPA semasa adalah untuk membina sebuah robot yang boleh masuk ke kemudahan industri atau nuklear yang gagal dan membantu membawa kemudahan tersebut kembali ke dalam mod yang selamat. Contoh terbaru yang sering digunakan ialah loji kuasa nuklear Fukushima yang menjadi berbahaya selepas tsunami.

Ini membawa kriteria pertama cabaran Robot DARPA yang sukar dicapai, robot perlu berskala manusia, ia tidak boleh menjadi robot 24 inci kecil yang comel. Ini biasanya bermakna anda akan membelanjakan $ 500.00 atau lebih setiap darjah kebebasan (DOF), dan anda memerlukan lebih kurang 30 DOF. Oleh itu, beberapa matematik cepat harus tiba pada kira-kira $ 15,000.00 di bahagian untuk sendi sendirian.

Robot perlu dapat berinteraksi dengan alam sekitar yang dimaksudkan untuk manusia. Ini menunjukkan bahawa robot memerlukan beberapa komponen seperti "tangan" dan yang lainnya adalah "kaki".

Dalam Ujian DRC pada tahun 2013, kami menggunakan servo rak. Pada masa itu kami membeli servo yang paling berpatutan yang paling berpatutan yang kami dapati. Akhirnya, kami tidak dapat menemukannya sebagai penyelesaian yang mantap dan dengan itu kaki pada Akhir Tahun 2015 dibuat dalam manor yang lebih komponen yang menjadikan pembaikan lebih murah dan lebih mudah.

Robot sepatutnya memandu kenderaan, membuka pintu, menutup injap, memotong lubang di dinding, melalui serpihan atau runtuhan, kemudian naik beberapa tangga.

Bekalan:

Langkah 1: Pilih Saiz Anda:

Tiada sebab untuk membina robot besar atau berat untuk cabaran itu. Oleh itu pasukan kami memutuskan untuk merancang ke arah ketinggian wanita yang rata-rata dan membina sedikit. Ini menjadikan reka bentuk kami kira-kira 4 kaki di bahu dan sekitar £ 70. Dan untuk memudahkan matematik, kami memilih 1 kaki untuk femur, tibia, radius, humurus. Ini menjadikan batang badan kira-kira 2 kaki tinggi.

Menggunakan amerika sebagai contoh seorang wanita purata adalah 5 kaki dan 5 inci harus 111lbs sekurang-kurangnya, untuk mempunyai BMI yang sihat. Ini bukan sasaran seperti panduan, jadi 400 lbs robot yang 6 + kaki tidak lebih mudah untuk masuk melalui pintu.

Kami juga memilih untuk tidak mempunyai kekuatan cengkaman yang terlalu banyak. Nombor di internet adalah sekitar £ 60 untuk kekuatan cengkaman untuk womean. Benar-benar kita pergi ke bawah ini untuk membuat robot selamat untuk melakukan perkara-perkara seperti berjabat tangan. Sekali lagi ini adalah panduan bukan sasaran. Lebih banyak £ 60 nampaknya melampau dan akan menambah penggunaan kuasa, dan memerlukan sensor untuk memastikan anda tidak mematahkan perkara.

Langkah 2: Pilih Bahagian Anda

Seperti yang saya katakan tadi kita memilih satu jenis peranti untuk sendi tetapi tidak percaya itu adalah pilihan yang baik. Jadi kami tidak bekerja dengan motor VEXRobotics, gearbox, gandar, dan gear. Ini adalah jenis komponen yang paling biasa pasukan robot. Ini juga bermakna mereka boleh didapati dan tahan lama. Motor DC yang kami gunakan disambungkan kepada pengawal motor Talon SR dan bateri kereta RC LiPo (7.4V 5000mah 25-30C). Kami akan menambah pengajaran yang sangat spesifik mengenai mekanisme ini tidak lama lagi.

Kami juga mempunyai mekanisme putaran berterusan yang berasaskan motor stepper. Perkara yang baik tentang motor stepper ialah arus ke motor stepper boleh dibatasi pada pengawal motor stepper. Ini membolehkan anda melakukan perkara seperti mengetahui bahawa 8 motor yang menjalankan 2A boleh digunakan untuk masa yang tertentu pada satu set bateri kereta RC LiPo (14.8V 10000mah 50-60C). Satu instructable untuk mengarahkan kaki mengarahkan di sini.

Gazebo Sim adalah alat yang membolehkan anda mensimulasikan robot. Setiap sendi adalah sambungan antara dua anggota yang berputar dalam beberapa paksi relatif kepada anggota lain. http://gazebosim.org/tutorials mempunyai beberapa tutorial yang baik untuk membantu membuat idea ini jelas.

Langkah 3: Pilih Komputer dan OS

Kami memilih untuk menggunakan pc sesuai dengan pemacu keadaan pepejal. Tetapi untuk Final DRC DARPA kami menambah PC terbenam NexCom sebagai komputer medan. Butiran lanjut mengenai sisi persepsi robot kami akan dibina secara berasingan.

Kami menggunakan GNU-Linux Ubuntu 12.04. Kita boleh menggunakan 14.04 tetapi beberapa kod kami yang ditulis pada tahun 2013 bergantung kepada ciri-ciri yang berubah pada 14.04 jadi kami melakukan yang biasa hanya meninggalkan sistem pembangunan kembali versi.

Bukan untuk memulakan peperangan IDE tetapi sebenarnya kami membiarkan orang menggunakan apa sahaja yang mereka mahu. Kami adalah usaha sukarela, jadi kami mempunyai pembangunan menggunakan Emacs, Eclipse, Geany (kegemaran saya untuk tingkap juga). Kami mempunyai sistem membina yang berasingan supaya hampir semua persekitaran pembangunan boleh mencetuskan membina dan membawa anda ke kesilapan anda.

Kami menggunakan git dan git-hub untuk kawalan sumber. Kami merancang untuk membuat repositori awam secepat mungkin. Kita perlu menyambung sebarang sambungan ke komponen tidak boleh diedarkan.

Kebanyakan kod itu ditulis dalam C / C ++ menggunakan perpustakaan seperti STL dan BOOST, tetapi kadangkala kita menulis kod dalam C / C ++ untuk Arduinos. Lebih-lebih lagi di dalam instructables bersama, stepper, sensor, dan lidar tertentu.

Langkah 4: Pilih Perasaan Anda

Kami adalah peminat kesederhanaan dengan penderiaan.

Kami mempunyai lidar mewah, kamera stereo, dan Unit Pergerakan Intertial (IMU) yang boleh digunakan, tetapi sebenarnya kami hanya memberi tumpuan kepada hanya mengumpul data yang kami perlukan.

Sensor tekanan pada kaki adalah sensor tekanan mudah seperti flexiforce dari Sparkfun.

Kami menggunakan dua netcams ringkas (Logitech 720p) tetapi sebarang resolusi munasabah akan berfungsi. Sebahagian daripada DARPA DRC adalah komunikasi rangkaian terganggu. Jadi data kamera resolusi yang sangat tinggi tidak mungkin melalui komunikasi yang dihina.

Kami menggunakan tongkat sensor 9DOF dari Sparkfun dan Arduino yang sama mengumpul data sensor tekanan dari kaki. Akan ada pengajaran yang berasingan untuk gabungan komponen ini.

Untuk Ujian DARPA DRC kami menggunakan Hokuyo LIDAR UTM-30LN tetapi untuk Final kami beralih ke LIDAR Lite dari sparkfun. Ini adalah contoh yang baik untuk tidak mengumpulkan lebih banyak data daripada yang anda perlukan. Kami mengumpul 270 darjah data lidar setiap 20ms dengan Hokuyo. Kemudian kita terpaksa bekerja untuk mengabaikan semua tetapi beberapa perkara di kawasan yang menarik. Bagi pusingan akhir yang kita tutup gelung dikawal kedudukan servos dua kepala dan leher supaya perkara yang menarik, injap sebagai contoh, seperti yang berpusat di mana LIDAR dapat mengukurnya. Satu nombor setiap 100ms, bukan angka 270 setiap 20ms di mana kita hanya mahu satu. Lite LIDAR ditimbang kurang dan digunakan kurang kuasa. Kami akan menulis satu pengajaran berasingan tetapi benar-benar kami menggunakan kod off github untuk sensor dan hanya menambah beberapa LEDS jadi kami mempunyai pengesahan mudah LIDAR Lite berfungsi dengan betul. Lampu LED untuk 1m, 2m, dan 3m sebagai contoh.

Bagaimana pula dengan tekanan tangan? Sudah selesai tangan cukup kuat untuk mengikat dan mengendalikan alat gerudi / pemotongan. Tidak cukup kuat untuk memusnahkannya. Jadi genggam keras seperti yang kita boleh, dan kita baik.

Langkah 5: Pilih Perpustakaan Perisian Tambahan:

Kami adalah peminat sumber terbuka. Kami menggunakan Perpustakaan Templat Standard (STL), dan perpustakaan BOOST. Banyak ciri yang kami gunakan dari BOOST bukan sebahagian daripada C ++ 11 jadi menggunakan C ++ dan STL terkini harus banyak dimulakan.

Kami menggunakan 0MQ dan UDP mentah untuk komunikasi rangkaian. 0MQ (zeromq) adalah set alat yang bagus untuk mempunyai mesej yang diluluskan antara proses merentas satu set komputer. Kami menggunakannya bermula pada tahun 2013 tetapi menambah soket UDP mentah kerana kami memerlukan percubaan komunikasi yang cepat dan sementara. Jadi data sensor akan membuat percubaan untuk membuatnya ke stesen kawalan, tetapi jika tidak, menghantar data yang dikemas kini adalah lebih baik daripada cuba menghantar semula data lama.

Kami menggunakan Open Computer Vision (OpenCV) untuk mengiktiraf perkara seperti injap, mengendalikan pintu.

Kemudian sudah tentu jika terdapat perpustakaan khas, seperti untuk berinteraksi dengan Hokuyo, kita juga memasukkan alat binaan tersebut.

Bagaimana pula dengan GazeboSim? Pada tahun 2013, kami mendapati GazeboSim menjadi lebih rumit daripada yang kami ada masa, tetapi pada tahun 2015, GazeboSim SDF terkini kelihatan lebih mudah didekati, hanya masa menggunakan alat itu untuk robot kami tidak melakukan senaman.

Langkah 6: Membina Sistem Mekanikal:

Sistem mekanikal boleh dilihat sebagai tulang robot.

Dalam Ujian DARPA DRC kami menggunakan percetakan 3D untuk menghasilkan kotak gear, tangan, dan lengan bawah. Juga apa-apa bahagian sambungan struktur antara komponen. Contohnya sambungan antara "bahu" dan servos dua leher adalah sekeping cetakan 3D yang agak mudah.

Kami telah menggunakan pelbagai pencetak 3D. Kami mempunyai Lulzbot AO-100, tetapi pencetak yang paling kuat yang kami gunakan adalah Stratasys. Cetakan terbaru pada kit Logrice Simple Metal telah mengagumkan. Peraturan kami adalah perkara ini. Jika anda memerlukan bahagian yang dicetak secara perlahan dan boleh dipercayai menggunakan mesin akhir yang lebih tinggi. Jika anda boleh bertolak ansur dengan sesetengah gangguan dalam percetakan dan sesetengah kecacatan kecil, gunakan pencetak gred pengguna.

Dalam Final DRC, kami mendapati diri kami hanya mencetak kepingan antara potongan struktur aluminium potong Laser.

Pemotongan laser. Pengilang tempatan membantu kami dengan memotong banyak bahagian untuk kaki Cog-Burn. Peraturan kami adalah untuk merancang sekeping supaya ia dapat dipotong dari stok rata dan kemudian hanya mempunyai satu lekuk untuk membuat sekeping lengkap.

Kepingan mekanikal dimasukkan ke dalam instructables individu untuk kaki, kaki, tangan, dan lengan.

Langkah 7: Bawa Secara Keseluruhan dan Uji:

Kami kemudian mengambil semua sensor, komputer, sendi, kaki, lengan dan tangan kemudian sambungkannya bersama-sama dalam konfigurasi reka bentuk.

  1. Kamera dan LIDAR membentuk "kepala". 2 DOF membentuk leher.
  2. Lengan terdiri daripada 5 DOF setiap satu. Ini adalah 2 putaran putaran dan 3 sendi sudut.
  3. Tangan mempunyai 4 DOF (ya kita melompat menghasilkan jari ke 5).
  4. Batang badan mengandungi pengagihan kuasa, PC Fit-PC, Arduino untuk IMD 9DOF dan sensor tekanan kaki. Khususnya untuk Final DRC kami menambah pemutus litar 40A untuk E-STOP.
  5. Kaki adalah 3 DOF setiap satu. Satu gabungan putaran Dynamixel lama, dan 2 buah robotik VEX baru.
  6. Kaki adalah 2 DOF setiap satu. Kawalan roda motor stepper.

Ujian adalah di mana kita gagal. Kami mendesain ulang kaki terlalu dekat dengan Final DARPA DRC untuk menguji mereka sebelum pertandingan. Benar-benar tidak ada cara untuk mengambil mesin rumit ini dan meletakkan langkah-langkahnya sebelum anda perlu meletakkannya melalui langkah-langkah di hadapan dunia. Kami tahu perubahan itu mungkin akan membuat kami gagal tetapi kami tidak mempunyai alternatif yang dapat berfungsi dengan baik.

Langkah 8: Bagaimana Kami Adakah, Kenapa Anda Perlu Baca Ini Boleh Dipandu

Pasukan kami menjaringkan 0 jadi jika anda membina robot ini sedar anda sedang membina robot yang tidak menjaringkan sebarang mata di Ujian atau Final DARPA DRC.

Saya dapat memahami seseorang yang akan berkata "Mengapa saya mengikuti pengajaran ini?". Jawapannya mudah. Pertama jika anda membaca ini dan melihat kesilapan cara kami, kami telah menyelamatkan anda sedikit masa dan usaha. Kedua, walaupun subsistem berfungsi. Mereka boleh bekerja dengan lebih baik. Matlamat kami adalah untuk melihat satu set instructables yang boleh membina robot skala manusia dengan pasti sekitar $ 5000.00. Mungkin terdapat beberapa kemas kini untuk set instructables ini yang membuat matlamat ini berlaku lebih cepat daripada jika kita menyimpan semua butiran, walaupun yang hodoh, kepada diri kita sendiri.