Isi kandungan:
- Langkah 1: Lokasi Tutorial Berubah
- Langkah 2: Bina Robot Pemacu Pembezaan SnappyXO
- Langkah 3: Sambungkan Elektronik
- Langkah 4: Pasang Perpustakaan PreciseMovement Arduino
- Langkah 5: Kod
- Langkah 6: Bagaimana Ia Berfungsi
Video: SnappyXO Precise Mover Robot: 6 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:10
Jadikan robot Arduino anda lurus untuk jarak yang ditentukan atau putar ke sudut yang ditentukan menggunakan perpustakaan PreciseMovement Arduino.
Robot itu memerlukan roller ball caster atau setara untuk mengurangkan geseran semasa berpusing.
www.pololu.com/product/954
Anda boleh memberitahu robot untuk maju ke jarak yang ditentukan atau berpusing ke sudut yang ditentukan. Program ini menentukan kedudukannya dengan menggunakan perhitungan mati. Oleh kerana anggaran kedudukan hanya bergantung pada halaju roda, gelinciran akan menyebabkan kesalahan yang besar. Pereka robot harus berhati-hati untuk mengurangkan risiko tergelincir.
Ini telah diuji untuk bekerja dengan robot SnappyXO.
Langkah 1: Lokasi Tutorial Berubah
Tutorial telah dipindahkan ke halaman di bawah. Tutorial ini tidak lagi dikekalkan.
sites.google.com/stonybrook.edu/premo
Langkah 2: Bina Robot Pemacu Pembezaan SnappyXO
Perpustakaan PreciseMovement yang akan kita gunakan hanya serasi dengan robot pemacu pembezaan. Anda boleh memilih untuk menggunakan robot pemacu roda dua yang lain.
Langkah 3: Sambungkan Elektronik
Untuk Encoder Optik SnappyXO standard:
D0 (output pengekod) -> Pin Digital Arduino
VCC -> Arduino 5V
GND -> GND
Kuasa Motor dan Arduino:
Sumber kuasa motor harus mencukupi untuk motor yang anda gunakan. Untuk kit SnappyXO, bateri 4AA digunakan untuk kuasa motor dan bateri 9V untuk kuasa Arduino. Pastikan bahawa mereka semua mempunyai GND yang sama.
Langkah 4: Pasang Perpustakaan PreciseMovement Arduino
Muat turun:
github.com/jaean123/PreciseMovement-library/releases
Cara memasang Perpustakaan Arduino:
wiki.seeedstudio.com/How_to_install_Arduino_Library/
Langkah 5: Kod
Kod Arduino:
create.arduino.cc/editor/whileloop/7a35299d-4e73-409d-9f39-2c517b3000d5/peninjauan
Parameter ini memerlukan penyesuaian. Parameter lain yang dilabel yang disarankan pada kod dapat disesuaikan untuk prestasi yang lebih baik.
- Periksa dan tetapkan pin motor di bawah PIN ARDUINO.
-
Tetapkan PANJANG dan RADIUS.
- PANJANG adalah jarak dari roda kiri ke roda kanan.
- RADIUS ialah jejari roda.
-
Tetapkan PULSES_PER_REV, yang merupakan bilangan denyutan output pengekod untuk revolusi satu roda.
- Perhatikan ini berbeza dengan bilangan denyutan output pengekod untuk satu putaran poros motor melainkan pengekod disambungkan untuk dibaca terus dari batang roda.
- PULSES_PER_REV = (nadi per satu putaran aci motor) x (nisbah gear)
-
Tetapkan STOP_LENGTH jika anda melihat bahawa robot melakukan overload setelah pergerakan ke depan.
Robot akan berhenti sebaik sahaja kedudukan anggaran STOP_LENGTH jauh dari sasaran. Oleh itu, STOP_LENGTH, adalah jarak anggaran yang diperlukan untuk robot berhenti
-
Parameter PID
KP_FW: Ini adalah komponen berkadar gerakan maju. Tingkatkan ini sehingga robot berjalan lurus. Sekiranya anda tidak dapat melakukannya dengan lurus dengan menala ini, maka perkakasan mungkin salah. (mis. penyelarasan roda, dll)
KP_TW: Ini adalah komponen berkadar PID gerakan memutar. Cukup mulakan dari nilai yang rendah dan tingkatkan ini sehingga kelajuan putaran, atau kelajuan sudut robot semasa berpusing, cukup cepat, tetapi tidak menyebabkan keterlaluan. Untuk membuat pemerhatian, anda boleh membuat robot bergantian dari 0 hingga 90 dan ke belakang dengan memasukkan yang berikut dalam fungsi gelung
Letakkan ini dalam pusingan untuk menyesuaikan KP_FW:
penggerak.forward (99999);
Letakkan ini dalam keadaan bergantian dari 0 hingga 90 untuk menyesuaikan KP_TW:
penggerak.twist (90); // Putar 90 CW
kelewatan (2000);
mover.twist (-90) // Putar 90 CCW
kelewatan (2000);
Perhatikan bahawa untuk benar-benar memutar kelajuan sudut pada TARGET_TWIST_OMEGA, KI_TW juga perlu ditala kerana pengawal berkadar tidak akan pernah mencapai sasaran yang tepat. Walau bagaimanapun, tidak perlu memutar pada halaju sudut tepat. Kelajuan sudut hanya perlu cukup perlahan.
Langkah 6: Bagaimana Ia Berfungsi
Sekiranya anda ingin tahu tentang cara kerjanya, baca terus.
Pergerakan ke depan terus lurus menggunakan algoritma pengejaran murni pada jalur garis lurus. Lebih lanjut mengenai Pure Pursuit:
Pengawal twist PID cuba mengekalkan kelajuan sudut putar pada TARGET_TWIST_OMEGA. Perhatikan bahawa halaju sudut adalah halaju sudut keseluruhan robot bukan roda. Hanya satu pengawal PID yang digunakan dan outputnya adalah kelajuan tulis PWM kedua-dua motor kiri dan kanan. Pengiraan mati dilakukan untuk mengira sudut. Setelah sudut mencapai ambang ralat, robot berhenti.
Disyorkan:
Arduino - Maze Solving Robot (MicroMouse) Dinding Mengikuti Robot: 6 Langkah (dengan Gambar)
Arduino | Maze Solving Robot (MicroMouse) Wall Mengikuti Robot: Selamat Datang Saya Isaac dan ini adalah robot pertama saya " Striker v1.0 " Robot ini direka untuk menyelesaikan Maze sederhana. Dalam pertandingan itu, kami mempunyai dua labirin dan robot dapat mengenal pasti mereka. Sebarang perubahan lain dalam labirin mungkin memerlukan perubahan dalam
Arduino Precise & Accurate Volt Meter (0-90V DC): 3 Langkah
Arduino Precise & Accurate Volt Meter (0-90V DC): Dalam arahan ini, saya telah membina voltmeter untuk mengukur voltan tinggi DC (0-90v) dengan ketepatan dan ketepatan relatif menggunakan Arduino Nano. Pengukuran ujian yang saya ambil cukup tepat, kebanyakannya berada dalam lingkungan 0.3v voltan sebenar yang diukur dengan
Robot Jejak RC Menggunakan Arduino - Langkah demi Langkah: 3 Langkah
Robot Jejak RC Menggunakan Arduino - Langkah demi Langkah: Hai kawan, saya kembali dengan casis Robot keren lain dari BangGood. Harap anda berjaya melalui projek kami yang lalu - Spinel Crux V1 - Robot Terkawal Gerak isyarat, Spinel Crux L2 - Arduino Pick and Place Robot with Robotic Arms dan The Badland Braw
Menimbang Robot / Robot 3 Roda / Robot STEM: 8 Langkah
Balancing Robot / 3 Wheel Robot / STEM Robot: Kami telah membina robot balancing gabungan dan roda 3 untuk penggunaan pendidikan di sekolah dan program pendidikan selepas sekolah. Robot itu berdasarkan Arduino Uno, perisai khusus (semua butiran pembinaan disediakan), pek bateri Li Ion (semua konstruksi
[Arduino Robot] Cara Membuat Robot Tangkap Gerak - Robot Jempol - Motor Servo - Kod Sumber: 26 Langkah (dengan Gambar)
[Arduino Robot] Cara Membuat Robot Tangkap Gerak | Robot Jempol | Motor Servo | Kod Sumber: Robot Thumbs. Digunakan potensiometer motor servo MG90S. Ia sangat menyeronokkan dan mudah! Kodnya sangat mudah. Ia hanya sekitar 30 baris. Ia kelihatan seperti tangkapan gerakan. Sila tinggalkan sebarang pertanyaan atau maklum balas! [Arahan] Kod Sumber https: //github.c