Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Smart Pen:Proyek Akhir untuk ECE5725

Pengantar

Saat ini, untuk mendapatkan hasil tulisan tangan, orang sering mengandalkan layar sentuh kapasitif, stylus pen, atau perangkat sejenis lainnya. Mereka fungsional dan tepat, tetapi tidak selalu fleksibel. Proyek kami menggabungkan Raspberry Pi dengan IMU untuk membangun produk yang dapat melacak pergerakan dan menghasilkan lintasan dengan sangat cepat. Kami merancang sistem yang tidak memerlukan permukaan khusus atau alat input lainnya untuk dukungan dan hanya membalas pada IMU dan sensornya. Dengan menghubungkan IMU dengan Raspberry Pi, ketika perangkat IMU bergerak, data sensor akan dikirimkan dari IMU ke Raspberry Pi. Kemudian menggunakan program dan algoritme kami, pulihkan gerakan IMU. Gerakan akan direkam dan disimpan di Raspberry Pi. Dengan PyGame, gerakan juga dapat ditampilkan di layar TFT Raspberry Pi. Dengan tombol kecil dan nyaman, fungsi perekaman dapat dimulai dan diselesaikan dengan sangat fleksibel. Pengguna juga dapat memasang perangkat kami pada hal lain untuk melacak pergerakan mereka juga. Oleh karena itu, perangkat kami menyediakan solusi yang dapat diterapkan untuk pelacakan tulisan tangan, pelacakan gerakan, dan lain-lain.

Tujuan

Tujuan dari proyek ini adalah untuk merancang modul terpisah yang dapat diletakkan di pena, robot, atau bahkan orang untuk melacak dan merekam pergerakan objek. Pengguna dapat menggunakan modul ini dan memasangnya dengan perangkat mereka yang lain, sehingga ketika objek dipindahkan, perangkat kami dapat memulihkan dan melacak lintasannya dan menampilkan gerakan dalam bidang horizontal dalam bingkai dunia di layar. Aplikasi yang sangat klasik adalah pengguna dapat menggunakannya sebagai pena, sehingga tulisan mereka akan direkam dan disimpan sebagai gambar. Sebuah fitur khusus tentang proyek ini adalah bahwa pelacakan tidak menjawab pada pesawat tertentu dan dapat diterapkan pada setiap pesawat, bahkan di udara. Penempatan atau kemiringan perangkat juga tidak akan mempengaruhi hasil akhir.

Kami menggunakan Raspberry Pi dan Inertial Measurement Unit sebagai komponen utama untuk proyek kami. Selain itu, PyGame digunakan untuk menampilkan lintasan di Raspberry Pi.

Kalibrasi IMU

Karena ketidakakuratan fabrikasi, 3 sumbu akselerometer dan 3 sumbu giroskop biasanya tidak sejajar, menyebabkan kesalahan antara Sudut Euler dari dua koordinat. Kalibrasi diperlukan. Dengan menggunakan teknik kalibrasi 6 posisi, kami menyiapkan 6 posisi kalibrasi sebagai berikut:

Menggunakan tabel kalibrasi yang dibuat sendiri (Gambar XX) kami memperbaiki imu ke 6 posisi dan mencatat pembacaan, data kalibrasi yang dikumpulkan oleh enam posisi ini adalah:

Data percepatan setelah kalibrasi adalah (Ax, Ay, Az adalah data setelah kalibrasi dan ax, ay, az adalah data mentah):

Sensor Fusion Untuk Data Mentah

Perhitungan angka empat:

Quaternion adalah representasi dari orientasi dan rotasi objek, dan lebih mudah untuk menghitung rotasi vektor daripada Sudut Euler. Transaksi antara quaternion dan Sudut Euler ditunjukkan di bawah ini:

q=cosθ2+sinθ2cosα⋅i+sinθ2cosβ2⋅j+sinθ2cosγ⋅k

q=λ+P1i+P2j+P3k

Rotasi quaternion:

Untuk vektor tetap V yang terkoordinasi dalam bingkai XYZ, dapat direpresentasikan dalam quaternion:

V=0+Vxi+Vyj+Vzk

Jika frame berotasi untuk q, menjadi X’Y’Z’, V terkoordinasi dalam X’Y’Z’ dapat direpresentasikan sebagai:

V′=0+V′xi′+V′yj′+V′zk′

Kemudian, V=q∘V′∘q−1

Namun, menggunakan data mentah yang dihasilkan oleh giroskop masih belum cukup, karena ketidaksejajaran yang disebutkan di bagian kalibrasi, vektor gravitasi yang diperoleh akselerometer perlu dipertimbangkan. Fungsi 'UpdateIMU' digunakan untuk menghitung kesalahan antara vektor gravitasi yang dihitung dengan giroskop dan vektor gravitasi yang diukur oleh akselerometer. Fungsi ini dijalankan 2000 kali pada tahap stasioner awal tanpa gerakan atau rotasi, dan menggunakan umpan balik untuk menghitung kesalahan. Fungsinya ditunjukkan di bawah ini:

123456789
 def UpdateIMU(self, Gyr, Acc):if np.linalg.norm(Acc) ==0:warnings.warn("Accelerometer magnitude is zero. Algorithm update aborted.") return else:Acc =np.array(Acc / np.linalg.norm(Acc)) v =np.array([[2*(self.q[1]*self.q[3] - self.q[0]*self.q [2])], [2*(self.q[0]*self.q[1] + self.q[2]*self.q[3])], [self.q[0]**2 - self.q[1]**2 - self.q[2]**2 + self.q[3]**2]])

Variabel "Acc" dan 'v' keduanya adalah vektor gravitasi ternormalisasi yang dihitung oleh akselerometer dan giroskop, maka deviasi sudut (kesalahan) antara kedua vektor dapat direpresentasikan menggunakan produk silangnya:

1
error =np.cross(v,np.transpose([Acc]),axis =0)

Kesalahan yang dihitung juga dapat diintegrasikan untuk memperbarui pembacaan giroskop menggunakan loop umpan balik negatif PI (itulah sebabnya kami perlu menjalankan fungsi ini 2000 kali, sehingga loop PI dapat menyatu):

12
self.IntError =self.IntError + errorRef =Gyr - np.transpose(self.Kp*error+self.Ki*self.IntError)

Angka empat kemudian dapat dihitung dengan data giroskop yang dikoreksi:

1234
pDot =np.multiply(0.5 , self.quaternProd_single(self.q, [0, Ref[0,0], Ref[0,1], Ref[0,2]]))sendiri. q =self.q + pDot * self.SamplePeriod; self.q =self.q / np.linalg.norm(self.q); self.Quaternion =self.quaternConj(self.q);

Baca selengkapnya:Pena Cerdas:Proyek Akhir untuk ECE5725


Proses manufaktur

  1. Ide Proyek Berbasis Sensor untuk Mahasiswa Teknik Tahun Terakhir
  2. 10 Tren Manufaktur Cerdas Teratas untuk tahun 2021
  3. Pencahayaan Cerdas sebagai Dasar untuk Kota Cerdas
  4. Log proyek untuk FirePick Delta, Open Source MicroFactory
  5. Buat Liburan! Robot - Proyek Pemula Mudah untuk Anak
  6. Health Band - Asisten Cerdas untuk Lansia
  7. Peningkatan Rumah Pintar untuk Kehidupan Modern
  8. Menemukan Pengembalian untuk Manufaktur Cerdas
  9. Sensor Ultra Tipis untuk Lensa Kontak Cerdas
  10. Cara Memilih Proyek untuk Otomatisasi