Contents — find the section you need

ArduPilot bukan sekadar "aplikasi autopilot" untuk drone. Mulai dari pesawat sayap tetap (Pesawat) dan multicopter (Copter) hingga kendaraan darat (Rover) dan bahkan kapal selam/perahu (konfigurasi hibrida), ini adalah platform terintegrasi yang membaca sensor, memperkirakan kondisi, mengeluarkan perintah aktuator, dan beralih ke kondisi aman jika terjadi kegagalan. Sebelum menerbangkan kendaraan, penting untuk memahami estimasi, kontrol, komunikasi, daya, dan stasiun darat secara bersamaan sebagai satu kesatuan sistem keselamatan.

Drone Skydio X2D digunakan untuk inspeksi pesawatContoh pesawat otonom

Gambar: Skydio X2D memeriksa pesawat (Mauricio Campino, domain publik), Wikimedia Commons. Bukan kendaraan ArduPilot; ini menggambarkan konteks komputasi onboard dan penerbangan otonom.

Ringkasan 30 Detik

  • ArduPilot menggabungkan data IMU, GNSS, magnetometer, barometer, dan pengukur jarak melalui EKF untuk memperkirakan sikap, kecepatan, posisi, dan bias.

  • Copter berfokus pada alokasi daya dorong dan kontrol sikap, Plane berfokus pada aerodinamika dan manajemen energi, dan Rover berfokus pada roda/kemudi dan mengikuti jalur — ketiganya tidak memiliki parameter yang sama.

  • Sebuah loop laju sudut/sikap internal berjalan pada frekuensi tinggi, sementara loop posisi/kecepatan/misi eksternal menghasilkan target. Verifikasi tanda dan satuan PID pada kendaraan sebenarnya.

  • MAVLink adalah protokol pengiriman pesan yang menghubungkan kendaraan ke stasiun darat, komputer pendamping, dan periferal. Kehilangan komunikasi, tegangan rendah, kehilangan GNSS, dan pelanggaran geofence semuanya ditangani melalui failsafe.

  • Pengujian dilakukan secara bertahap: SITL, pemutaran ulang log, uji coba di bangku uji dengan baling-baling dilepas, uji coba terikat, dan uji coba ketinggian rendah. Bahkan jika simulasi berhasil, getaran kendaraan nyata, kebisingan elektromagnetik, dan penurunan daya adalah masalah terpisah.

1. Arsitektur

Diagram 1 · Use the button to switch views
SensorsIMU / GNSSMag / BaroRange / Voltage EKF3Attitude/position est.Bias / qualityInnovation check Attitude/rate control Mixer / output MotorsServosVehicle motion MAVLink / GCS100–1000 Hz estimation and control

Gambar 1 — Sensor digabungkan melalui EKF; loop kontrol sikap/kecepatan internal menggerakkan mixer yang menghasilkan output ke motor dan servo. MAVLink membentuk batas dengan stasiun bumi dan komputer eksternal.

Loop utama kendaraan memproses akuisisi sensor, estimasi, kontrol, output, komunikasi, dan pencatatan pada siklus tetap. Data IMU berkecepatan tinggi memprediksi sikap, sementara GNSS, magnetometer, barometer, dan penglihatan eksternal memberikan koreksi berkecepatan rendah. Ketika kualitas estimasi menurun, alih-alih terus mengejar target, pengontrol beralih ke tindakan yang aman — menahan, kembali, atau mendarat.

2. Estimasi Keadaan melalui EKF

Salah satu contoh vektor keadaan adalah posisi p, kecepatan v, sikap R, dan bias giroskop/akselerometer b_g,b_a. Prediksi berasal dari IMU, dan pembaruan berasal dari pengamatan eksternal.

\dot p=v,\qquad \dot v=R(a_m-b_a-n_a)+g,
\dot R=R[\omega_m-b_g-n_g]_{\times}

Di sini a_m,\omega_m adalah nilai terukur, g adalah gravitasi, dan [\cdot]_{\times} adalah matriks perkalian silang. EKF menyebarkan kovariansi P, dan untuk sementara menolak sensor setiap kali residual pengamatannya (inovasi) berada di luar rentang yang diharapkan — sebuah mekanisme untuk tidak menerima secara membabi buta interferensi magnetik atau GNSS multipath.

Getaran kendaraan menambahkan konten frekuensi tinggi ke akselerometer, sehingga mengganggu estimasi dan kontrol. Kekakuan rangka, keseimbangan baling-baling, peredam, dan latensi filter perlu disetel baik dari sisi mekanik maupun perangkat lunak. Menumpangkan spektrum getaran dari log dengan inovasi EKF pada waktu yang sama memudahkan untuk mengisolasi penyebabnya.

3. Kontrol pada Helikopter, Pesawat, dan Rover

Helikopter

Multicopter menghasilkan torsi sikap dari total daya dorong T dan laju rotasi setiap motor. Kira-kira,

T=k_f\sum_i\omega_i^2,\qquad \tau_z=k_m(\omega_1^2-\omega_2^2+\cdots)

di mana mixer mengalokasikan permintaan roll, pitch, yaw, dan throttle di setiap motor. Di luar loop sudut-sikap terdapat loop kecepatan/posisi, yang memantau margin daya dorong terhadap perubahan angin dan muatan.

Pesawat

Pesawat bersayap tetap terbang menggunakan daya angkat dan hambatan sayap, kecepatan udara, sudut serang, dan keadaan energi. Ia berbelok melalui sudut roll dan menyesuaikan kecepatan/ketinggian melalui pitch, sehingga gain multicopter tidak dapat digunakan kembali secara langsung. Pendaratan otomatis memerlukan pengujian khusus yang memperhitungkan angin, landasan pacu, dan latensi sensor.

Rover

Rover menggabungkan kecepatan roda, sudut kemudi, GNSS, kompas, LiDAR, dan sensor serupa untuk mengikuti titik arah dan target kecepatan. Karena selip roda dan kemiringan mengganggu Dead Reckoning, kovariansi dan relokalisasi dirancang dengan cara yang sama seperti odometri yang dibahas dalam artikel robotics-dead-reckoning.

4. Misi dan MAVLink

Sebuah misi adalah urutan perintah — titik arah, kecepatan, ketinggian, pemicu kamera, pendaratan, dan sebagainya. MAVLink adalah protokol pesan biner kecil yang bertukar detak jantung (HEARTBEAT), posisi, sikap, parameter, data misi, dan pengakuan perintah. SITL dan stasiun bumi terhubung melalui UDP; Pada perangkat keras nyata, latensi, bandwidth, enkripsi, dan otentikasi tautan radio harus dievaluasi.

Saat mengotomatiskan misi, jangan melanjutkan ke perintah berikutnya tanpa menunggu pengakuan. Tentukan ACK, batas waktu, coba lagi, batalkan, dan posisi melanjutkan setelah siklus daya. Komunikasi tidak boleh menjadi satu-satunya titik kegagalan untuk kontrol — rancang agar kendaraan dapat kembali dan mendarat dengan aman bahkan jika stasiun darat terputus.

5. Pengamanan dan Pengujian Keselamatan

Deteksi tegangan rendah, kehilangan tautan RC, kualitas GNSS yang menurun, kesalahan EKF, pelanggaran geofence, dan kegagalan motor, dan beralih ke perilaku yang sesuai dengan jenis kendaraan. "Kembali ke Peluncuran" Copter tidak selalu merupakan pilihan yang aman — dalam angin kencang, di dekat rintangan, atau dengan posisi awal yang belum dikonfirmasi, pendaratan atau penahanan mungkin lebih tepat. Setelah ambang batas ditetapkan, ujilah dengan benar melewati ambang batas tersebut di lingkungan berisiko rendah.

Pengujian harus dilakukan secara bertahap: SITL → perangkat keras dalam loop → baling-baling dilepas → diikat → ketinggian rendah → ketinggian operasional. Jalankan pengujian injeksi kesalahan yang tercatat — memutus daya secara tiba-tiba, melindungi antena GNSS, memutuskan komunikasi, melepas satu sensor. Otorisasi penerbangan, hukum penerbangan setempat, privasi, dan peraturan radio sama pentingnya dengan persyaratan teknis lainnya.

6. Urutan yang Direkomendasikan untuk Penyetelan Parameter

  1. Konfirmasikan orientasi sensor, kalibrasi, pengaturan waktu, dan tegangan suplai.

  2. Dengan kendaraan terikat, ukur bias dan getaran giroskop/akselerometer/kompas.

  3. Setel loop sikap internal mulai dari penguatan kecil, perhatikan saturasi dan osilasi.

  4. Tambahkan loop kecepatan/posisi/ketinggian, dan evaluasi pelacakan di bawah angin dan muatan yang bervariasi.

  5. Jalankan pengujian lengkap dari awal hingga akhir untuk misi, pengaman, memulai ulang, dan pencatatan.

Menyalin nilai gain dari kendaraan lain tidak akan menghasilkan stabilitas jika baling-baling, momen inersia, margin dorong, atau periode pengambilan sampel berbeda. Tumpang tindih target, nilai terukur, saturasi output, dan inovasi dalam log untuk melihat loop mana yang menyebabkan lag.

7. Penggunaan dan Penelitian Saat Ini

ArduPilot digunakan di berbagai bidang dengan banyak jenis kendaraan — penyemprotan pertanian, survei, penilaian bencana, VTOL penelitian, kapal otonom. Beberapa konfigurasi mengirimkan target dari komputer pendamping melalui MAVLink dan memasukkan estimasi ROS 2 atau visi komputer sebagai pengamatan tambahan. Penelitian sedang berlangsung pada navigasi visual, diagnosis kesalahan multi-sensor, estimasi angin berbasis pembelajaran, dan koordinasi multi-kendaraan — tetapi tetap merupakan praktik terbaik agar output akhir melewati batas dan pengaman yang ada.

Ringkasan

Inti dari ArduPilot adalah menyatukan fusi sensor, kontrol hierarkis, eksekusi misi, komunikasi, dan pengaman ke dalam satu sistem tertanam. Sebelum menulis kode yang menggerakkan kendaraan, tentukan perkiraan keadaan dan kerangka koordinat, periode kontrol, batas keluaran, dan transisi saat terjadi kegagalan. Manfaatkan SITL dan log, dan lakukan pengujian keselamatan secara hati-hati pada kendaraan nyata, dan perangkat lunak sumber terbuka dapat membawa proyek dari penelitian ke operasi nyata.

Periksa pemahaman Anda
Apakah memasukkan rute sudah cukup untuk penerbangan otonom?

Pengaturan kendaraan, estimasi, kontrol, dan pengaman harus bekerja bersama.

Pisahkan perencanaan rute dari kondisi untuk mengeksekusi perintah.

Referensi

What to read next

Review the backgroundPengantar Sistem Hidrolik — Dari Prinsip Pascal hingga Kontrol Gaya pada RobotContinue the seriesPengantar Pengendalian Kawanan (Multi-Robot) — Membangun Pengelompokan, Formasi, dan KonsensusExplore another aspect of this fieldMengapa ICP gagal: inisialisasi, outlier, dan geometri simetris