Quadcopter berisi (antara lain) dua algoritma yang terpisah dan independen: algoritma estimasi sikap, dan algoritma kontrol.
Algoritma estimasi sikap menghitung informasi tentang orientasi quadcopter: sudut roll, pitch dan yaw.
Algoritma kontrol bertanggung jawab untuk menggerakkan motor sehingga orientasi quadcopter sesuai dengan apa yang diharapkan oleh pilot (atau perangkat lunak autopilot). Algoritma ini adalah apa yang akan membaca perkiraan sudut quadcopter (dari algoritma estimasi sikap) dan mengubah kecepatan motor untuk mencoba untuk mencocokkan sudut yang diinginkan. PID adalah algoritma kontrol yang cocok dan umum untuk quadcopters.
Gimbal lock adalah fenomena yang dapat terjadi dalam algoritma estimasi sikap. Ini tidak ada hubungannya dengan algoritma kontrol. Karena itu, Anda tidak memerlukan ESC, motor, atau baling-baling untuk menguji kunci gimbal: Anda dapat memodifikasi kode Anda untuk menampilkan sudut roll, pitch, dan yaw, dan menguji bahwa nilai yang benar dihitung saat Anda memindahkan quadcopter secara manual. Anda mungkin dapat melakukan ini dengan quadcopter yang ditambatkan ke komputer Anda, melalui Bluetooth, atau menggunakan metode lain tergantung pada platform Anda.
Jika sudut dihitung dengan benar, Anda tidak perlu khawatir tentang angka empat. Jika mereka tidak dihitung dengan benar, angka empat mungkintolong kamu. Algoritma estimasi sikap harus menampilkan 3 sudut untuk algoritma kontrol untuk digunakan, namun mungkin menggunakan representasi internal yang berbeda seperti angka empat atau matriks 3x3. Dalam hal itu masih akan mengubah informasi sikap ke sudut sehingga memberikan data yang dapat digunakan ke algoritma kontrol. Angka empat secara umum tidak intuitif tetapi efisien secara komputasi. Ini membuatnya cocok untuk platform lambat seperti Arduino. Matriks atau sudut mungkin merupakan pilihan yang lebih mudah untuk perangkat keras yang lebih cepat. Jika Anda membutuhkan saya untuk menguraikan satu solusi atau yang lain, tolong beri tahu saya, tetapi akan terlalu dini bagi saya untuk memberikan rincian pada tahap ini karena saya tidak yakin Anda perlu menerapkan angka empat.
Akhirnya jika sudut dihitung dengan benar cara untuk membuat loop quadcopter Anda adalah untuk mengontrol laju sudut daripada sudut. Jika tongkat Anda mewakili sudut quadcopter, tidak ada cara untuk membuatnya melakukan loop penuh: cobalah untuk memvisualisasikan posisi tongkat sebagai loop quadcopter dan Anda harus memahami alasannya. Namun, jika tongkat mengontrol laju sudut maka Anda dapat mengontrol kecepatan putarannya.
Semoga berhasil dengan proyek Anda!
Catatan: Demi kesederhanaan, saya belum menyebutkan opsi teoritis untuk memanipulasi data sebagai matriks atau angka empat baik dalam algoritma estimasi sikap dan algoritma kontrol. Saya belum pernah melihat quadcopter mengimplementasikan algoritma seperti itu.