Isi kandungan:
Video: Localino Tracks Roomba IRobot, memetakan persekitaran dan membenarkan kawalan: 4 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:12
Untuk membina jambatan WiFi-UART, anda boleh melihat repo github ini:
Ia mempunyai asas yang baik untuk bermula. Pastikan anda membaca garis panduan dengan baik, kerana Roomba VCC semasa pengisian meningkat hingga 20 Volt! Sekiranya anda menambahkan ESP8266 tanpa penukar buck yang betul yang berfungsi sehingga 20V dan turun ke 3.3V, anda akan merosakkan ESP anda.
Pastikan juga menggunakan pemindah level (mis. Menggunakan pembahagi voltan) untuk mengalihkan tahap logik UART 5V dari Roomba ke 3.3V, yang digunakan oleh ESP.
Perincian penting yang lain adalah, bahawa penukar buck harus mempunyai 300mA, tetapi tidak lebih kurang atau lebih banyak lagi (bergantung pada penukar buck itu sendiri). Terdapat beberapa di luar sana yang dapat melakukan arus lebih banyak, tetapi menyebabkan Roomba mogok kerana mereka mengeluarkan arus terlalu banyak semasa permulaan. Kami mendapat tahu bahawa Pololu 3.3V, 300mA Step-Down Voltage Regulator (D24V3F3) berfungsi dengan sempurna. Versi alternatif yang mempunyai 500mA / 600mA menyebabkan antara muka Roomba UART rosak. Pada dasarnya Roomba bertindak balas dengan menekan butang, tetapi tidak pada perintah melalui antara muka UART. Setelah ini, kami terpaksa mengeluarkan bateri Roomba dan menghidupkan semula Roomba dengan jambatan WiFi-UART terpasang. Walau bagaimanapun, hanya D24V3F3 yang berfungsi dengan baik.
Selain dari perincian teknikal itu, anda harus menambahkan perintah tambahan pada kod yang dapat anda temukan dalam spesifikasi antara muka terbuka Roomba. Anda perlu menambahkan semua perintah yang anda mahu roomba anda bertindak balas (contohnya, mundur, maju, laju, dll.).
contoh dalam IDE arduino:
batal goForward () {char c = {137, 0x00, 0xc8, 0x80, 0x00}; // 0x00c8 == 200 Serial.print (c); }
batal goBackward () {char c = {137, 0xff, 0x38, 0x80, 0x00}; // 0xff38 == -200 Serial.print (c); }
batal spinLeft () {char c = {137, 0x00, 0xc8, 0x00, 0x01}; Cetakan bersiri (c); }
void spinRight () {char c = {137, 0x00, 0xc8, 0xff, 0xff}; Cetakan bersiri (c); }
jika anda menulis dalam lua ia kelihatan sedikit berbeza, contoh untuk belokan KIRI akan kelihatan seperti ini:
jika (_GET.pin == "KIRI") kemudian cetak ('\ 137'); - NILAI
tmr.delay (100);
cetak ('\ 00'); - Kecepatan = 200 = 0x00C8 -> 0 und 200
tmr.delay (100);
cetak ('\ 200'); - Halaju
tmr.delay (100);
cetak ('\ 254'); - Radius = 500 = 0x01F4 = 0x01 0xF4 = 1 244
tmr.delay (100);
cetak ('\ 12'); - Belok
akhir
Pastikan anda perlu membetulkan keterangan antara muka terbuka untuk Roomba anda. Terdapat sekurang-kurangnya dua spesifikasi antara muka terbuka.
untuk siri Roomba 5xx:
untuk siri Roomba 6xx:
Setelah anda membina jambatan WiFi-UART dan menguji arahan, anda membuat langkah lebih jauh. Video ini menunjukkan bahawa aplikasi dan pendekatan berfungsi. Kami agak malas, antara muka web kehilangan semua arahan kawalan lain, seperti maju, mundur, laju, kanan, kiri dan sebagainya, tetapi anda boleh mengeluarkan perintah melalui http. Bagaimanapun, ini hanyalah demonstrasi bahawa alat kawalan jauh Roomba berfungsi dengan perkakasan dan perisian yang mudah menggunakan ESP8266.
Sekarang kerana anda dapat mengendalikan Roomba anda dari jauh dari aplikasi PC, satu-satunya perkara yang hilang adalah penyetempatan dalaman. Kami memerlukan ini untuk menutup gelung maklum balas, kerana tujuan kami adalah untuk mengarahkan robot ke arah tertentu. Mari lakukan ini.
Langkah 3: Sediakan Sistem Penyetempatan Dalaman Anda
Untuk menutup gelung maklum balas, kami menggunakan sistem penyetempatan dalaman. Kami menggunakan Localino untuk ini. Sistem Localino terdiri daripada "jangkar" dan "tag". Sauh diletakkan di lokasi tetap di dalam bilik dan cari kedudukan tanda bergerak (yang diletakkan di Roomba). Pemprosesan lokasi dilakukan dalam aplikasi PC. Itu adalah kelebihan besar, kerana anda juga dapat mengendalikan Roomba dari PC yang sama! Terdapat kod sumber percuma yang tersedia dari laman web Localino, ia ditulis dalam python dan terdapat juga aliran masa nyata yang menawarkan koordinat XYZ teg. Stast data tersedia melalui rangkaian UDP, tetapi anda juga boleh menambahkan MQTT atau perkara menarik lain yang anda suka. Sekiranya anda mengenali Python, terdapat banyak perpustakaan yang membantu anda.
Dalam video ini, penyetempatan Roomba ditunjukkan. Oleh itu, kami mempunyai 4 tetapan sauh di ruangan di lokasi tetap, yang membolehkan penentuan kedudukan 3D dari Roomba. Secara amnya, kami hanya memerlukan 3 sauh, kerana Roomba mungkin tidak akan bergerak dalam paksi-Z, oleh itu 2D akan mencukupi. Tetapi kerana sauh terletak pada ketinggian palam utama AC (yang terletak kira-kira 30cm di atas tanah), pemasangan 2D akan menyebabkan sedikit kesalahan anggaran kedudukan. Oleh itu, kami memutuskan untuk mempunyai 4 jangkar dan melokalisasi dalam 3D.
Sekarang kerana kita mempunyai kedudukan Roomba, langkah seterusnya adalah mengendalikan Roomba dari aplikasi yang sama. Ideanya adalah menggunakan kebenaran dasar dan mengira jalan pembersihan yang sempurna untuk robot. Dengan penggunaan Localino kita dapat menutup gelung maklum balas dan mengawal robot dari aplikasi PC.
Ucapkan persediaan
Letakkan jangkar Localino di dalam bilik pada kedudukan x, y yang berbeza dan tiga daripadanya pada kedudukan z yang sama. Posisikan satu daripada empat jangkar pada ketinggian yang berbeza z setiap bilik. Pastikan ada liputan yang baik dari tag Localino, yang akan bergerak dengan Roomba.
Semua sauh mempunyai ID sauh unik, yang dipaparkan pada kod bar Localino dan dapat dibaca dengan alat "konfigurasi localino".
Perhatikan kedudukan di X, Y, Z dan ID jangkar. Ini diperlukan untuk Perisian Pemproses Localino dan harus disesuaikan dalam fail "localino.ini" dalam folder "LocalinoProcessor"
Sauh harus menunjuk ke atas atau ke bawah di Z (ketika kawasan XY ditutup), tetapi tidak ke arah kawasan tertutup. Penambat juga tidak boleh dilindungi oleh logam atau bahan gangguan isyarat tanpa wayar yang lain. Sekiranya ini tidak dapat dilakukan, perlu juga terdapat jurang udara tertentu antara bahan dan sauh.
… banyak lagi yang akan datang.
Langkah 4: Sesuaikan Perisian Python
nantikan. banyak lagi yang akan datang.
Disyorkan:
Bina Peranti Sensor Persekitaran Dalaman: 4 Langkah
Bina Peranti Sensor Persekitaran Dalaman: Pada masa ini, orang lebih mementingkan kualiti dalaman di mana mereka tinggal kerana ia berkait rapat dengan kesihatan mereka. Kepentingan mempunyai kualiti hidup yang lebih baik termasuk mengetahui bahawa anda mempunyai keadaan hidup yang lebih baik. Saya juga sangat
Cara Menyiapkan Persekitaran Pengaturcaraan AVR di Linux: 5 Langkah
Cara Menyiapkan Lingkungan Pengaturcaraan AVR di Linux: Jika anda ingin memprogram mikrokontroler AVR di Windows, anda mempunyai Studio tetapi di Linux yang kami miliki hanyalah Dude. AVRDUDE adalah antara muka baris perintah untuk memprogram cip AVR, mungkin sedikit rumit untuk persediaan pada mulanya.Dalam Arahan ini, saya akan menjadi
SilverLight: Monitor Persekitaran Berasaskan Arduino untuk Bilik Pelayan: 3 Langkah (dengan Gambar)
SilverLight: Monitor Persekitaran Berasaskan Arduino untuk Bilik Pelayan: Setelah saya diberi tugas untuk mencari pemeriksaan persekitaran untuk memantau suhu di ruang pelayan syarikat saya. Idea pertama saya adalah: mengapa tidak hanya menggunakan Raspberry PI dan sensor DHT, ia dapat disiapkan dalam masa kurang dari satu jam termasuk OS
Meter Loudness Audio Persekitaran: 5 Langkah
Meter Loudness Audio Alam Sekitar: Projek saya adalah meter bunyi yang ditunjukkan oleh LED. Ia menggunakan mikrofon electret, op amp, dan IC Pemacu LED LM3914. Cara penggunaannya adalah semakin kuat lingkungan sekitar sensor, semakin banyak LED dihidupkan oleh LM3914. Ia cukup mudah dan
8 Kawalan Relay Dengan Penerima NodeMCU dan IR Menggunakan Aplikasi Jauh dan Android WiFi dan IR: 5 Langkah (dengan Gambar)
8 Kawalan Relay Dengan Penerima NodeMCU dan IR Menggunakan Aplikasi Jauh dan Android WiFi dan IR: Mengendalikan 8 suis relai menggunakan penerima nodemcu dan ir melalui aplikasi wifi dan jauh dan android. Alat kawalan jauhnya tidak bergantung pada sambungan wifi. DI SINI ADALAH KLIK VERSI YANG DIKEMASKINI SINI