konseptual sederhana untuk mobile robot. Desain ini juga memerlukan dua roda
caster pasif di belakang, karena tiga titik kontak selalu diperlukan.
Kecepatan linier dan kecepatan sudut robot yang benar dipisahkan. Jadi
untuk mengemudi lurus, roda depan diposisikan di posisi tengah dan didorong
pada kecepatan yang diinginkan. Untuk mengemudi di tikungan, roda diposisikan
pada sudut yang cocok dengan tikungan yang diinginkan.
Desain kemudi diferensial memiliki dua motor dipasang dalam posisi tetap
di sisi kiri dan kanan robot, mengemudi satu roda masing-masing secara bebas.
Sejak tiga poin kontak dengan tanah yang diperlukan, desain ini membutuhkan
satu atau dua tambahan roda kastor pasif atau slider, tergantung pada lokasi
roda didorong. Berkendara diferensial mekanis sederhana daripada wheel drive
tunggal, karena tidak memerlukan rotasi dari sumbu didorong. Namun,
mengemudi kontrol untuk berkendara diferensial lebih kompleks daripada wheel
drive tunggal, karena memerlukan koordinasi dua roda didorong. Desain
diferensial berkendara minimal dengan hanya roda pasif tunggal tidak dapat
memiliki roda mengemudi di tengah robot, untuk alasan stabilitas. Jadi ketika
memutar di tempat, robot akan berputar sekitar titik tengah off-tengah antara
dua roda didorong. Desain dengan dua roda pasif atau slider, masing-masing di
depan dan di belakang robot, memungkinkan rotasi terhadap pusat robot.
Namun, desain ini dapat memperkenalkan masalah kontak permukaan, karena
menggunakan empat titik kontak. Gambar 7.2 menunjukkan tindakan
mengemudi dari robot diferensial drive. Jika kedua motor berjalan pada
kecepatan yang sama, robot mendorong lurus ke depan atau ke belakang, jika
satu motor berjalan lebih cepat dari yang lain, drive robot dalam kurva
sepanjang busur lingkaran, dan jika kedua motor dijalankan pada kecepatan
yang sama di arah berlawanan, robot ternyata di tempat tersebut.
Synchro-drive adalah perluasan untuk desain robot dengan roda didorong dan
mengarahkan tunggal. Namun, di sini kami memiliki tiga roda yang semua
didorong dan semua yang dikemudikan. Tiga Roda diputar bersama-sama
sehingga mereka selalu menunjuk ke arah mengemudi yang sama (lihat Gambar
7.8). Hal ini dapat dicapai, misalnya, dengan menggunakan motor tunggal dan
rantai untuk kemudi dan motor tunggal untuk mengemudi semua tiga roda. Oleh
karena itu, secara keseluruhan robot synchro-drive masih hanya memiliki dua
derajat kebebasan. Sebuah robot Sinkronisasi-drive hampir kendaraan
holonomous, dalam arti bahwa hal itu dapat mendorong ke segala arah yang
diinginkan (untuk alasan ini biasanya memiliki bentuk tubuh silinder). Namun,
robot harus berhenti dan meluruskan kembali roda ketika pergi dari mengemudi
ke depan untuk mengemudi samping. Juga tidak dapat mendorong dan memutar
pada waktu yang sama. Benar-benar kendaraan holonomous diperkenalkan di
Bab 8. Contoh tugas yang menunjukkan keuntungan dari synchro-drive adalah
"cakupan daerah yang lengkap" dari robot dalam suatu lingkungan tertentu.
Setara dunia nyata dari tugas ini adalah membersihkan lantai atau debu.
Pendekatan berbasis perilaku telah dikembangkan untuk melakukan
menyelesaikan tugas cakupan wilayah yang berorientasi pada tujuan, yang
memiliki potensi untuk menjadi dasar untuk aplikasi lantai pembersih komersial.
Algoritma ini telah diuji dalam simulasi pertama dan setelahnya porting ke
synchro-drive robot Xenia untuk validasi dalam lingkungan yang nyata. Yang
murah dan mudah digunakan eksternal Laser positioning system dikembangkan
untuk memberikan informasi posisi mutlak untuk robot. Hal ini membantu untuk
menghilangkan kesalahan posisi karena penginderaan lokal, misalnya melalui
perhitungan mati. Dengan menggunakan representasi hunian-grid sederhana
tanpa kompresi, robot dapat "membersihkan" area 10mu10m menggunakan
kurang dari 1MB RAM. Gambar 7.9 menggambarkan hasil dari menjalankan khas
(tanpa awal dinding-berikut) di daerah 3.3mu2.3m. Foto di Gambar 7.9 diambil
dengan kamera overhead, yang menjelaskan distorsi bantal. Untuk jelasnya lihat
[Kamon, Rivlin 1997], [Kasper, Fricke, von Puttkamer 1999], [Peters et al. 2000],
dan [Univ. Kaiserslautern 2003].
Standar drive dan sistem kemudi sebuah mobil dua dikombinasikan didorong
roda belakang dan dua gabungan mengarahkan roda depan. Ini dikenal sebagai
Ackermann steering dan memiliki sejumlah kelebihan dan kekurangan bila
dibandingkan dengan berkendara diferensial: + Mengemudi lurus tidak masalah,
karena roda belakang digerakkan melalui sumbu umum. Kendaraan tidak bisa
menyalakan tempat, tetapi membutuhkan radius minimum tertentu. Penggerak
roda belakang mengalami selip di kurva. Jelas, antarmuka mengemudi yang
berbeda diperlukan untuk Ackermann steering. Kecepatan linier dan kecepatan
sudut yang benar dipisahkan karena mereka dihasilkan oleh motor independen.
Hal ini membuat kontrol lebih mudah, terutama masalah mengemudi lurus.
Perpustakaan mengemudi berisi dua kontroler kecepatan / posisi independen,
satu untuk roda mengemudi belakang dan satu untuk roda kemudi depan. Roda
kemudi memerlukan posisi controller, karena mereka perlu diatur dengan sudut
tertentu yang bertentangan dengan kontroler kecepatan roda mengemudi,
dalam rangka mempertahankan kecepatan rotasi konstan. Sebuah sensor
tambahan diperlukan untuk menunjukkan posisi nol kemudi untuk roda depan.
Gambar 7.10 menunjukkan "Empat Stooges" tim robot sepak bola dari The
University of Auckland, yang berkompetisi di RoboCup Robot Sepak Bola
Worldcup. Setiap robot memiliki basis model mobil dan dilengkapi dengan
kontroler EyeBot dan kamera digital karena hanya sensor yang
Diperdebatkan, cara termurah membangun mobile robot adalah dengan
menggunakan model mobil. Kami mempertahankan chassis, motor, dan servos,
menambahkan sejumlah sensor, dan mengganti penerima remote control
dengan controller EyeBot. Ini memberi kita mobile robot siap-to-drive di sekitar
satu jam, seperti untuk contoh pada Gambar 7.10. Mengemudi bermotor dan
kemudi servo dari model mobil sekarang langsung terhubung ke controller dan
tidak ke penerima. Namun, kita bisa mempertahankan penerima dan
menghubungkannya ke input EyeBot tambahan. Hal ini akan memungkinkan kita
untuk mengirimkan "perintah tingkat tinggi" untuk kontroler kami dari remote
control mobil.
Menghubungkan model mobil ke EyeBot mudah. Model berkualitas tinggi mobil
biasanya memiliki servos tepat untuk kemudi dan baik servo atau pengontrol
kekuasaan elektronik untuk kecepatan. Kecepatan pengontrol seperti memiliki
konektor yang sama dan dapat diakses persis seperti servo. Alih-alih
mencolokkan servo kemudi dan kecepatan controller ke unit remote control, kita
plug mereka ke dua output servo pada EyeBot tersebut. Itu semua - kendaraan
otonom baru siap untuk pergi. Mengemudi kontrol untuk kemudi dan kecepatan
dicapai dengan menggunakan perintah SERVOSet. Satu saluran servo digunakan
untuk pengaturan kecepatan mengemudi (-100 .. 100, fast backward ..
berhenti .. maju cepat), dan satu saluran servo digunakan untuk pengaturan
sudut kemudi (-100 .. 100, kiri penuh .. lurus .. hak penuh).
elektronik terpadu
Situasi ini sedikit lebih kompleks untuk kecil, murah model mobil. Ini kadang-
kadang tidak memiliki servos tepat, tapi untuk alasan biaya berisi kotak
elektronik tunggal yang terdiri penerima dan motor controller dalam satu unit. Ini
masih tidak masalah, karena EyeBot controller memiliki dua motor driver yang
sudah dibangun di. Kami hanya menghubungkan motor langsung ke driver
EyeBot motor DC dan membaca sensor kemudi (biasanya potensiometer) melalui
input analog. Kami kemudian dapat memprogram setara software dari servo
dengan memiliki EyeBot di loop kontrol untuk motor kemudi. Gambar 7.11
menunjukkan rincian kabel. Motor penggerak memiliki dua kawat, yang harus
terhubung ke pin motor + dan bermotor dari "motor A" konektor dari EyeBot
tersebut. Motor kemudi memiliki lima kabel, dua untuk motor dan tiga untuk
umpan balik posisi. Dua kabel bermotor harus terhubung ke motor + dan
bermotor dari "motor B" konektor EyeBot ini. Konektor dari potensiometer umpan
balik harus terhubung ke VCC (5V) dan Ground pada konektor analog, sementara
slider dari potensiometer terhubung ke pin input analog gratis. Perhatikan bahwa
beberapa servos hanya dinilai untuk 4.8V, sementara yang lain dinilai untuk
6.0V. Ini harus diamati, jika tidak kerusakan motor yang parah mungkin
konsekuensinya. Mengemudi seperti mobil model yang sedikit lebih kompleks
daripada dalam kasus servo. Kita dapat menggunakan MOTORDrive rutin
perpustakaan untuk pengaturan kecepatan linear dari motor mengemudi.
Namun, kita perlu menerapkan sederhana PID atau Bang-bang controller untuk
motor kemudi, menggunakan input analog dari potensiometer sebagai umpan
balik, seperti yang dijelaskan dalam Chapter4. Pengkodean dari waktu rutin
interupsi untuk sederhana kontroler Bang-bang ditunjukkan pada Program 7.1.
Rutin IRQSteer harus terpasang ke interrupt timer dan disebut 100 kali per detik
di latar belakang. Rutinitas ini memungkinkan pengaturan yang akurat dari sudut
kemudi antara nilai-nilai -100 dan +100. Namun, sebagian besar murah model
mobil tidak dapat posisi kemudi yang akurat, mungkin karena potensiometer
bawah standar. Dalam hal ini, sebuah kemudi jauh berkurang pengaturan
dengan hanya lima atau tiga nilai (kiri, lurus, kanan) sudah cukup.
Dalam rangka untuk mendapatkan lintasan saat kendaraan, kita perlu terus
memantau kedua encoders poros (misalnya untuk kendaraan dengan penggerak
diferensial). Gambar 7.12 menunjukkan jarak yang ditempuh oleh robot dengan
berkendara diferensial. Kita tahu:
jari-jari r roda
d jarak antara roda didorong
ticks_per_rev jumlah encoder kutu untuk satu putaran roda penuh
kutu jumlah L kutu selama pengukuran di encoder kiri
kutu jumlah R kutu selama pengukuran di encoder yang tepat
Pertama kita menentukan nilai-nilai sL dan sR dalam meter, yang merupakan
jarak perjalanan dengan roda kiri dan kanan, masing-masing. Membagi kutu
diukur dengan jumlah kutu per revolusi memberi kita jumlah putaran roda.
Mengalikannya dengan lingkar roda memberi jarak yang ditempuh dalam meter:
Formula ini bekerja untuk robot mengemudi maju, mundur, atau memutar di
tempat. Kita masih perlu tahu kendaraan M rotasi selama jarak yang ditempuh.
Dengan asumsi kendaraan berikut segmen melingkar, kita dapat mendefinisikan
sL dan sR sebagai bagian perjalanan dari lingkaran penuh (M dalam radian)
dikalikan dengan radius putar setiap roda ini. Jika radius putar dari pusat
kendaraan adalah c, maka selama kiri mengubah radius putar roda yang tepat
adalah c + d / 2, sedangkan radius putar roda kiri adalah c - d / 2. Kedua
lingkaran memiliki pusat yang sama.