
Daftar Isi:
2025 Pengarang: John Day | [email protected]. Terakhir diubah: 2025-01-23 14:49
Sebagai bagian dari wisuda master saya di dep. Desain Industri di Universitas Eindhoven, saya membuat perangkat gambar haptic yang dapat digunakan untuk menavigasi mobil semi-otonom melalui lalu lintas. Antarmuka disebut scribble dan memungkinkan pengguna mengalami perlengkapan haptic dalam ruang 2D melalui gaya dan lokasi variabel. Meskipun konsepnya bukan tentang instruksi ini, Anda dapat membaca lebih lanjut tentang Scribble di sini:
Scribble menggunakan konfigurasi linkage 5 batang yang memungkinkannya untuk memindahkan dua derajat kebebasan lateral (DoF). Setup ini cukup populer di kalangan prototyper untuk membuat robot gambar, berikut beberapa contohnya:
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 mekanis robot ini mudah dibuat. Mereka hanya membutuhkan sambungan dasar dan memiliki dua aktuator yang dapat membuat beberapa gerakan yang lancar. Struktur ini sangat ideal untuk desainer yang tertarik untuk membuat struktur bergerak. Namun karena saya bukan seorang insinyur mesin, saya menemukan bahwa kinematika cukup sulit untuk diterjemahkan ke dalam kode. Oleh karena itu saya akan memberikan kode Arduino dasar yang menggambarkan kinematika maju dan terbalik sehingga Anda dapat dengan mudah menggunakan ini dalam desain masa depan Anda!;-)
Silahkan download kode dibawah ini!
* EDIT: untuk proyek serupa, lihat https://haply.co *
Langkah 1: Membangun Struktur

Bergantung pada tujuan yang ada dalam pikiran Anda, pertama-tama Anda harus mendesain struktur 5-tautan. Pikirkan tentang pengukuran, aktuator yang ingin Anda gunakan, dan cara memasang sambungan untuk gerakan yang mulus.
Untuk prototipe saya, saya menjalankan kode saya pada Arduino DUE yang dikendalikan secara serial oleh program di Mac saya yang dibuat di Open Frameworks. Program ini menggunakan koneksi UDP untuk berkomunikasi dengan simulator mengemudi berbasis Unity 3D.
Prototipe Scribble menggunakan bantalan 5mm dan terbuat dari acrilic potong laser 5 mm. Aktuatornya adalah Mesin Haptik Frank van Valeknhoef yang memungkinkan aktuasi, pembacaan posisi, dan keluaran gaya variabel. Ini membuatnya ideal untuk properti haptic yang diinginkan Scribble. Lebih lanjut tentang aktuatornya dapat ditemukan di sini:
Langkah 2: Ketahui Nilai Perangkat Keras Anda

Kinematika maju didasarkan pada stasiun cuaca jam Plot oleh SAP:
Seperti yang ditunjukkan dalam konfigurasi mereka diperpanjang untuk lengan untuk memegang penanda untuk menggambar. Ini telah dihapus karena tidak ada gunanya untuk prototipe coretan. Periksa kode mereka jika Anda ingin menambahkan komponen ini kembali. Nama-nama dalam gambar tetap sama dalam konfigurasi saya.
Bergantung pada perangkat keras Anda, algoritme perlu mengetahui properti perangkat keras Anda:
int Aktuator kiri, Aktuator kanan; //sudut untuk menulis ke aktuator dalam deg, ubah ke float jika Anda menginginkan lebih banyak akurasi
int posX, posY; //koordinat lokasi pointer
Atur resolusi nilai input Anda
int posStepsX = 2000;
int posStepsY = 1000;
Dimensi pengaturan Anda, nilainya dalam mm (lihat gambar SAP)
#define L1 73 // panjang lengan motor, lihat gambar SAP (kiri dan kanan sama)
#define L2 95 // panjang perpanjangan lengan, lihat gambar SAP (kiri dan kanan sama)
#define rangeX 250 // jangkauan maksimum dalam arah X untuk pergerakan titik (dari kiri ke kanan, 0 - maxVal)
#define rangeY 165 // jangkauan maksimum dalam arah Y untuk titik untuk bergerak (dari 0 ke jangkauan maksimal sambil tetap berada di tengah)
#define originL 90 //offset jarak dari nilai X paling minumim ke posisi tengah aktuator
#define originR 145 //offset jarak dari nilai X paling minumim ke posisi tengah aktuator, dalam hal ini jarak antara kedua motor
Langkah 3: Kinematika Maju

Seperti disebutkan pada langkah sebelumnya, kinematika maju didasarkan pada algoritma SAP.
Kekosongan memperbarui nilai sudut yang diinginkan aktuator kiri dan kanan yang ditentukan sebelumnya. Berdasarkan nilai X dan Y yang dicolokkan maka akan menghitung sudut siku-siku untuk mendapatkan penunjuk ke posisi ini.
void set_XY(double Tx, double Ty) //masukkan nilai X dan Y Anda{ // beberapa nilai yang kita perlukan tetapi tidak ingin disimpan untuk long double dx, dy, c, a1, a2, Hx, Hy; //petakan resolusi inpit ke kisaran konfigurasi Anda di dunia nyata int realX = map(Tx, 0, posStepsX, 0, rangeX); //swap if mapping if inverse int realY = map(Ty, posStepsX, 0, 0, rangeY); //menukar jika pemetaan jika terbalik // menghitung sudut untuk aktuator kiri // cartesian dx/dy dx = realX - originL; //sertakan offset dy = realY; // panjang kutub (c) dan sudut (a1) c = kuadrat(dx * dx + dy * dy); a1 = atan2(dy, dx); a2 = return_angle(L1, L2, c); kiriAktuator = lantai(((M_PI - (a2 + a1)) * 4068) / 71); //sudut akhir dan konversi dari rad ke deg // sudut kalk untuk aktuator kanan dx = realX - originR; //sertakan offset dy = realY; c = kuadrat(dx * dx + dy * dy); a1 = atan2(dy, dx); a2 = return_angle(L1, L2, c); rightActuator = lantai(((a1 - a2) * 4068) / 71); //sudut akhir dan konversi dari rad ke deg }
Kekosongan tambahan untuk perhitungan sudut:
double return_angle(double a, double b, double c) { // aturan kosinus untuk sudut antara c dan return acos((a * a + c * c - b * b) / (2 * a * c)); }
Langkah 4: Kinematika Terbalik

Kinematika terbalik bekerja sebaliknya. Anda memasang rotasi aktuator Anda dalam derajat dan kekosongan akan memperbarui posisi yang ditentukan sebelumnya.
Harap dicatat bahwa Anda memerlukan aktuator atau sensor terpisah yang dapat membaca sudut lengan. Dalam kasus saya, saya menggunakan aktuator yang dapat membaca dan menulis posisinya secara bersamaan. Jangan ragu untuk bereksperimen dengan ini dan pertimbangkan untuk menambahkan semacam kalibrasi sehingga Anda yakin sudut Anda terbaca dengan benar.
Direkomendasikan:
Menggambar Robot Dengan Adafruit Shield (Kontes Make It Move): 10 Langkah (dengan Gambar)

Menggambar Robot Dengan Adafruit Shield (Kontes Make It Move): Halo nama saya Jacob dan saya tinggal di Inggris. Dalam proyek ini saya akan membuat robot yang menggambar untuk Anda. *Saya yakin banyak dari Anda ingin melihatnya jadi jika Anda ingin tahu, silakan lewati langsung ke langkah kedua hingga terakhir tetapi pastikan untuk kembali ke sini untuk melihat
Menggambar Robot untuk Arduino: 18 Langkah (dengan Gambar)

Menggambar Robot untuk Arduino: Catatan: Saya memiliki versi baru dari robot ini yang menggunakan papan sirkuit tercetak, lebih mudah dibuat, dan memiliki deteksi rintangan IR! Lihat di http://bit.ly/OSTurtleSaya merancang proyek ini untuk lokakarya 10 jam untuk ChickTech.org yang bertujuan untuk
Robot Menggambar Berbiaya Rendah dan Kompatibel dengan Arduino: 15 Langkah (dengan Gambar)

Robot Menggambar Berbiaya Rendah, Kompatibel dengan Arduino: Catatan: Saya memiliki versi baru robot ini yang menggunakan papan sirkuit tercetak, lebih mudah dibuat, dan memiliki deteksi hambatan IR! Lihat di http://bit.ly/OSTurtleSaya merancang proyek ini untuk lokakarya 10 jam untuk ChickTech.org yang bertujuan untuk
Avatar Menggambar Robot Menggunakan MESH: 6 Langkah (dengan Gambar)

Robot Menggambar Avatar Menggunakan MESH: Pernahkah Anda mendengar bahwa aktivitas fisik dapat membuat Anda lebih kreatif? Menjadi aktif membantu Anda mengembangkan pemikiran dan menghasilkan ide-ide kreatif. Jika Anda tidak sering berolahraga tetapi ingin meningkatkan kreativitas Anda, jangan khawatir - Ini dia sesuatu untuk Anda!
Pena Menggambar Cahaya LED: Alat untuk Menggambar Doodle Ringan: 6 Langkah (dengan Gambar)

Pena Menggambar Cahaya LED: Alat untuk Menggambar Orat-oret Ringan: Istri saya Lori adalah pembuat doodle yang tak henti-hentinya dan saya telah bermain dengan fotografi eksposur panjang selama bertahun-tahun. Terinspirasi oleh kelompok seni cahaya PikaPika dan kemudahan kamera digital, kami mengambil bentuk seni gambar ringan untuk melihat apa yang dapat kami lakukan.Kami memiliki banyak