
Isi kandungan:
2025 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2025-01-23 15:01
Sebagai sebahagian daripada kelulusan master saya di dep. Reka Bentuk Perindustrian di Universiti Eindhoven, saya membuat alat lukisan haptik yang boleh digunakan untuk menavigasi sebuah kereta separa autonomi melalui lalu lintas. Antaramuka disebut coretan dan membolehkan pengguna mengalami lekapan haptik di ruang 2D melalui kekuatan dan lokasi yang berubah-ubah. Walaupun konsepnya tidak sesuai dengan arahan ini, anda boleh membaca lebih lanjut mengenai Scribble di sini:
Scribble menggunakan konfigurasi penghubung 5 bar yang membolehkannya bergerak dua darjah kebebasan lateral (DoF). Persediaan ini cukup popular di kalangan prototaip untuk membuat robot lukisan, berikut adalah beberapa contoh:
www.projehocam.com/arduino-saati-yazan-kol-…
blogs.sap.com/2015/09/17/plot-clock-weathe…
www.heise.de/make/meldung/Sanduhr-2-0-als-Bausatz-im-heise-shop-erhaeltlich-3744205.html
Secara mekanik robot ini mudah dibuat. Mereka hanya memerlukan sambungan asas dan mempunyai dua penggerak yang dapat membuat sedikit pergerakan cecair. Struktur ini sangat sesuai untuk pereka yang berminat untuk membuat struktur bergerak. Walaupun saya bukan jurutera mekanikal, saya mendapati kinematik agak sukar untuk diterjemahkan ke kod. Oleh itu saya akan memberikan kod Arduino asas yang menentukan kinematik maju dan terbalik supaya anda dapat menggunakannya dengan mudah dalam reka bentuk masa depan anda!;-)
Sila muat turun kod di bawah!
* EDIT: untuk projek serupa, lihat https://haply.co *
Langkah 1: Membina Struktur

Bergantung pada tujuan yang anda fikirkan, anda harus terlebih dahulu merancang struktur 5-penghubung. Fikirkan tentang ukuran, penggerak yang ingin anda gunakan, dan cara melekatkan sendi untuk pergerakan yang lancar.
Untuk prototaip saya, saya menjalankan kod saya pada Arduino DUE yang dikendalikan secara bersiri oleh program di Mac saya yang dibuat dalam Open Frameworks. Program ini menggunakan sambungan UDP untuk berkomunikasi dengan simulator memandu berasaskan Unity 3D.
Prototaip Scribble menggunakan galas 5mm dan terbuat dari akrilik potongan laser 5 mm. Penggeraknya adalah Mesin Haptik Frank van Valeknhoef yang memungkinkan pengaktifan, membaca kedudukan, dan mengeluarkan daya berubah. Ini menjadikan mereka sesuai untuk sifat haptik Scribble yang diinginkan. Maklumat lanjut mengenai penggeraknya boleh didapati di sini:
Langkah 2: Ketahui Nilai Perkakasan Anda

Kinematik maju berdasarkan stesen cuaca jam Plot oleh SAP:
Seperti yang ditunjukkan dalam konfigurasi mereka dilanjutkan untuk lengan memegang penanda untuk menarik. Ini telah dihapus kerana tidak berfungsi untuk prototaip coretan. Periksa kod mereka jika anda mahu menambahkan komponen ini kembali. Nama-nama dalam gambar tetap sama dalam konfigurasi saya.
Bergantung pada perkakasan anda, algoritma perlu mengetahui sifat perkakasan anda:
int leftActuator, rightActuator; // sudut untuk menulis ke penggerak dalam deg, ubah menjadi terapung jika anda mahukan lebih tepat
int posX, posY; // koordinat lokasi penunjuk
Tetapkan ketetapan nilai input anda
int posStepsX = 2000;
int posStepsY = 1000;
Dimensi persediaan anda, nilai dalam mm (lihat gambar SAP)
#define L1 73 // lengan motor panjang, lihat gambar SAP (kiri dan kanan sama)
#define L2 95 // lengan panjang, lihat gambar SAP (kiri dan kanan sama)
#define rangeX 250 // julat maksimum dalam arah X untuk titik bergerak (dari kiri ke kanan, 0 - maxVal)
#define rangeY 165 // julat maksimum dalam arah Y untuk titik bergerak (dari 0 ke jangkauan maksimum sambil tetap berpusat)
#define originL 90 // mengimbangi jarak dari kebanyakan nilai X minimum ke kedudukan pusat penggerak
#define originR 145 // mengimbangi jarak dari kebanyakan nilai X minimum ke kedudukan pusat penggerak, jarak antara kedua-dua motor adalah dalam kes ini
Langkah 3: Maju Kinematik

Seperti disebutkan pada langkah sebelumnya, kinematik maju berdasarkan algoritma SAP.
Kekosongan mengemas kini nilai sudut yang diinginkan penggerak kiri dan kanan yang ditentukan sebelumnya. Berdasarkan nilai X dan Y yang terpasang di dalamnya akan mengira sudut tepat untuk mendapatkan penunjuk ke kedudukan ini.
void set_XY (double Tx, double Ty) // masukkan nilai X dan Y anda {// beberapa nilai yang kami perlukan tetapi tidak mahu menyimpan untuk double dx, dy, c, a1, a2, Hx, Hy; // resolusi inpit peta untuk rangkaian konfigurasi anda di dunia nyata int realX = peta (Tx, 0, posStepsX, 0, rangeX); // tukar jika pemetaan jika terbalik int realY = peta (Ty, posStepsX, 0, 0, rangeY); // tukar jika pemetaan jika terbalik // sudut kalk untuk penggerak kiri // kartesian dx / dy dx = realX - originL; // sertakan offset dy = realY; // panjang kutub (c) dan sudut (a1) c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = return_angle (L1, L2, c); leftActuator = lantai (((M_PI - (a2 + a1)) * 4068) / 71); // sudut akhir dan ubah dari rad ke deg // sudut calc untuk penggerak kanan dx = realX - originR; // sertakan offset dy = realY; c = sqrt (dx * dx + dy * dy); a1 = atan2 (dy, dx); a2 = return_angle (L1, L2, c); rightActuator = lantai (((a1 - a2) * 4068) / 71); // sudut akhir dan ubah dari rad ke deg}
Kekosongan tambahan untuk pengiraan sudut:
double return_angle (double a, double b, double c) {// peraturan kosinus untuk sudut antara c dan return acos ((a * a + c * c - b * b) / (2 * a * c)); }
Langkah 4: Kinematik songsang

Kinematik terbalik berfungsi sebaliknya. Anda memasukkan putaran penggerak anda dalam darjah dan kekosongan akan mengemas kini kedudukan yang ditentukan sebelumnya.
Harap maklum bahawa anda memerlukan penggerak atau sensor berasingan yang dapat membaca sudut lengan. Dalam kes saya, saya menggunakan penggerak yang boleh membaca dan menulis kedudukan mereka secara serentak. Jangan ragu untuk bereksperimen dengan ini dan pertimbangkan untuk menambahkan beberapa penentukuran sehingga anda yakin sudut anda dibaca dengan betul.
Disyorkan:
Robot Lukisan Bertenaga Arduino: 11 Langkah (dengan Gambar)

Arduino Powered Painting Robot: Pernahkah anda terfikir apakah robot boleh membuat lukisan dan seni yang memukau? Dalam projek ini saya berusaha mewujudkannya dengan Robot Lukisan Bertenaga Arduino. Objektifnya adalah agar robot dapat membuat lukisan sendiri dan menggunakan alat
Kanvas Lukisan Muzik Dengan Makey Makey: 9 Langkah (dengan Gambar)

Canvas Painting Musical With Makey Makey: Hai, dalam Instructable ini kita akan belajar bagaimana membuat Canvas Painting Musical, iaitu lagu yang berbeza kedengaran setiap kali kita mewarnai dengan kuas setiap warna. Ini sangat menggembirakan dan berfungsi untuk mendorong melukis pada anak-anak kecil atau juga memberi
Robot Lukisan Kos Rendah, Sesuai dengan Arduino: 15 Langkah (dengan Gambar)

Robot Lukisan Berkos rendah, Arduino: Nota: Saya mempunyai versi baru robot ini yang menggunakan papan litar bercetak, lebih senang dibina, dan mempunyai pengesanan halangan IR! Lihat di http://bit.ly/OSTurtleSaya merancang projek ini untuk bengkel 10 jam untuk ChickTech.org yang tujuannya adalah untuk
Robot Lukisan Avatar Menggunakan MESH: 6 Langkah (dengan Gambar)

Robot Menggambar Avatar Menggunakan MESH: Pernahkah anda mendengar bahawa aktiviti fizikal dapat menjadikan anda lebih kreatif? Bersikap aktif membantu anda meluaskan pemikiran dan menjana idea kreatif. Sekiranya anda tidak kerap bersenam tetapi ingin meningkatkan kreativiti anda, jangan risau - Inilah sesuatu untuk anda! Ini
Robot Lukisan Mabuk!: 4 Langkah (dengan Gambar)

Robot Lukisan Mabuk!: Terinspirasi oleh robot pemabuk poket, saya ingin memberi robot tugas untuk dilakukan. Saya memutuskan untuk membiarkan robot mabuk membuat beberapa gambar. Untuk menjadikannya sendiri, anda memerlukan perkara berikut: bahan: 3 penanda yang dirasakan sel butang yang teruk dan