Menggunakan UAVCAN untuk elektronik UAV modular, atau cara tidak membakar drone dengan kabel yang membingungkan

Halo! Nama saya Roman Fedorenko, saya adalah profesor madya dari Pusat Kompetensi NTI dalam bidang "Teknologi Komponen Robotika dan Mekatronika" di Universitas Innopolis. Saya bekerja dengan tim robotika yang berspesialisasi dalam kendaraan udara tak berawak. Untuk sebagian besar, kami fokus pada kontrol UAV "tingkat tinggi": solusi perencanaan pergerakan, penghindaran rintangan, pembuatan film dan pemindaian medan. Meskipun kami juga merakit helikopter kecil kami sendiri dan bekerja dengan perangkat keras. Tahun lalu, kami memulai pengembangan pesawat lepas landas dan pendaratan vertikal besar, yang mencakup semua level - mulai dari pembuatan kapal induk hingga pemasangan sensor dan kontrol cerdas. Dan saat mengembangkan proyek ini, kami berkenalan dengan UAVCAN .



UAVCAN adalah protokol ringan terbuka untuk jaringan seluler on-board. Baru-baru ini pengembang dan pemeliharanya Pavel KirienkoSpymberbicara tentang protokol di PX4 Developer Summit , konferensi komunitas drone besar yang menggunakan ekosistem open-source di sekitar autopilot PX4 , di mana UAVCAN menjadi bagiannya. Dan Pavel juga menyiapkan artikel mendetail untuk komunitas berbahasa Rusia di Habré setelah laporannya.



Pada artikel ini, saya akan berbicara tentang sisi praktis penggunaan protokol dari sudut pandang pengembang sistem kontrol otomatis untuk UAV: ​​bagaimana kami memilih UAVCAN, apa yang kami lakukan dengannya, dan peluang apa yang kami lihat di masa depan.







UAV hibrida



Pesawat take-off and landing (VTOL) vertikal adalah hibrida dari helikopter dan pesawat terbang yang dapat bertahan lebih lama dari helikopter karena pengangkatan sayap yang aerodinamis dan tidak memerlukan landasan pacu atau perangkat peluncur dan parasut seperti pesawat tak berawak konvensional. Perkembangan perangkat semacam itu sekarang menjadi arah yang populer dan menjanjikan. Perangkat semacam itu dapat digunakan untuk pengiriman, pemetaan, pemantauan, dan tujuan lainnya. Sebagian besar proyek taksi terbang didasarkan pada prinsip desain yang sama, misalnya:



  • taksi udara listrik penuh Lilium Jet dari perusahaan Jerman Lilium ;

  • pesawat listrik Heaviside kebisingan rendah dari perusahaan Kitty Hawk oleh Sebastian Trun (yang banyak diketahui dari kendaraan tak berawak);

  • Proyek Vahana Airbus.



Pesawat Innopolis VTOL

Pesawat lepas landas dan pendaratan vertikal dari Universitas Innopolis



Kami telah mengembangkan tiga model kendaraan udara tak berawak kecil dengan lebar sayap, muatan, dan sumber daya yang berbeda - semuanya listrik dan dengan mesin pembakaran internal. Kami bekerja sama dengan Kazan Aviation Institute dan perusahaan penerbangan Kazan dalam desain pesawat, dan fokus pekerjaan kami adalah elektronik, algoritme, dan kontrol otomatis.



Apa hubungannya UAVCAN dengan itu?



Bagi mereka yang berkecimpung dalam bisnis drone, struktur kontrol yang khas terlihat seperti ini:



Skema drone PixHawk


Tata letak UAV tipikal berdasarkan autopilot PX4. Sumber



Motor dikendalikan oleh pengontrol kecepatan (ESC), yang setpoint dari autopilot disuplai melalui sinyal PWM. Sensor terhubung melalui banyak antarmuka yang berbeda - UART, I2C, SPI. Ditambah telemetri, remote control, catu daya - dan Anda mendapatkan "laba-laba" dari kabel. Tapi ini bukanlah masalah utama.



Semakin panjang kabelnya, semakin besar perangkatnya, semakin rentan sirkuit ini terhadap pickup. Kami harus memikirkan ini sejak awal, karena pesawat kami memiliki lebar sayap 2 dan 4 meter, dan ini bukan batasannya.



Sebelumnya, untuk proyek pesawat 40 meter, kami bekerja dengan CAN (hanya protokolnya yang berbasis CANOpen). Dan keputusan untuk menggunakan UAVCAN adalah hal yang biasa bagi kami: PX4 sudah mendapatkan dukungannya, dan bahkan tidak ada perselisihan dalam tim tentang hal ini. Awalnya, kami ingin mengganti jalur PWM yang panjang dengan antarmuka digital untuk menskalakan solusi kami ke pesawat dengan lebar sayap yang berbeda.



Ternyata UAVCAN bukan CAN untuk UAV
UAVCAN CAN UAV (). , , Uncomplicated Application-level Vehicular Communication And Networking (« ») UAV, CAN, . UAVCAN middleware ROS (Robot Operating System). .



Dengan mengganti tautan PWM dengan tautan UAVCAN, kami tidak lagi mengkhawatirkan masalah kabel dan kebisingan yang panjang, dan telah mengurangi jumlah koneksi autopilot secara signifikan.



Ada dua opsi untuk melakukan ini. Yang pertama adalah menggunakan pengatur motor dan penggerak servo dengan antarmuka UAVCAN. Seperti misalnya di Zubax . Yang kedua adalah membuat adaptor UAVCAN yang dipasang langsung di sebelah ESC. Kami memilih opsi kedua, karena pilihan ESC dengan antarmuka UAVCAN kecil. Pertama, kami menggunakan adaptor dari proyek UAVCAN for Hobbyists ( UC4H ), kemudian kami memutuskan untuk membuat perangkat kami sendiri dengan konverter DC-DC internal, sirkuit, firmware, dan dioda membosankan kami sendiri.



Perangkat Innopolis UAVCAN

Perangkat kami dengan antarmuka UAVCAN



Punya rasanya



Kemudian kami menyadari bahwa alih-alih selusin kabel, kami dapat menggunakan bus UAVCAN untuk berinteraksi tidak hanya dengan aktuator, tetapi juga dengan sebagian besar perangkat eksternal. Ini juga memiliki efek yang baik pada isolasi getaran pengontrol yang dipasang pada platform khusus. Hasilnya, kami mengembangkan sejumlah perangkat untuk kami gunakan sendiri, tetapi sekarang kami melihat bahwa perangkat tersebut menarik bagi orang lain:



  • Konverter CAN-PWM hingga 4 saluran: perangkat terhubung ke bus CAN, menerima dan memproses sinyal kontrol, mengeluarkan PWM. Anda dapat menyalakan papan langsung dari baterai hingga 60 V, ini termasuk konverter DC-DC yang menyediakan papan dan konsumen dengan tegangan 5 V (3 A) (misalnya, mesin servo);

  • GPS / Magnetometer / Barometer;

  • , Power Management Unit (PMU): ( ). . — , DC-DC . 1000 . CAN ;

  • ;

  • ;

  • ;



Secara teknis, perangkat ini berbasis mikrokontroler STM32. Kami merancang sendiri, dan memesan produksi di pcbway.ru. Firmware diimplementasikan menggunakan libcanard .



Perasaan kami untuk bekerja dengan UAVCAN adalah ambang masuk yang cukup rendah. Karyawan baru ini membutuhkan waktu kurang dari seminggu untuk mencari tahu dan memprogram sensor jarak pada sisi autopilot STM32 dan PX4.



Drone gelap


Kami menguji perangkat baru pada drone gelap kecil



Dan kemudian kami menggunakannya di pesawat:





Video singkat uji terbang pesawat VTOL kami dalam semua mode



Organisasi penerbangan
, , . .



.



Hasilnya, diagram kami terlihat seperti ini: Diagram pesawat VTOL kami menggunakan sensor dan aktuator UAVCAN



Skema Innopolis VTOL UAVCAN





Keuntungan apa yang akan diberikan UAVCAN kepada kita di masa depan



Reservasi



Tugas terpenting saat menjual produk berdasarkan UAV adalah memastikan keandalan. Kami sudah mulai mengerjakan ini. Misalnya, beberapa GPS dan sensor kecepatan udara kami dapat dihubungkan dan digunakan secara paralel. Tetapi masih banyak yang harus dilakukan. Kemungkinan besar, menggandakan sensor dan pengontrol menggunakan bus CAN akan menjadi lebih mudah. Anda dapat menghubungkan dua bus ke Pixhawk, dan meninggalkan beberapa sensor identik di bus untuk redundansi.



Penskalaan



Ke depan, kami ingin membuat kendaraan besar dengan bobot lepas landas lebih dari 30 kg, meski sulit untuk disertifikasi. Skalabilitas arsitektur berdasarkan UAVCAN memungkinkan Anda membuat rencana yang ambisius.



Simulasi HIL yang sebenarnya



Sekarang topik operasi UAV di lingkungan perkotaan sedang berkembang secara aktif - Urban Air Mobility (UAM). Untuk mengimplementasikan tugas UAM, Anda perlu lebih mengandalkan sensor seperti kamera dan lidar. Di sini menjadi perlu untuk mengembangkan dan men-debug sistem kontrol cerdas, serta meningkatkan keandalannya. Untuk tujuan ini, tim Universitas Innopolis lain sedang mengembangkan Simulator Innopolis untuk objek bergerak otonom berdasarkan Unity 3D untuk pengujian, debugging, dan pelatihan. Simulator Innopolis Untuk pesawat VTOL kami , kami menggunakan Simulator Innopolis bersama dengan Gazebo untuk simulasi fotorealistik , pengujian kontrol dan pemrosesan data sensor - lidar dan kamera.













Sekarang kami sedang mengerjakan modul simulasi dinamika kami sendiri dan bukan Gazebo dengan aerodinamika yang lebih akurat, serta pada fitur lain - simulasi HIL yang sebenarnya (dari perangkat keras dalam loop, atau simulasi perangkat lunak dan perangkat keras, PAM).



Dalam solusi kami, semua data berasal dari sensor, dan kontrol ke motor dan servos dikirim melalui bus UAVCAN. Mengapa tidak membuat modul untuk mensimulasikan sensor-sensor ini pada level bus yang sama? Alih-alih perangkat, kami cukup menghubungkan komputer dengan simulator ke pengontrol.



Sekarang HIL simulasi di PX4 dilakukan dengan menggunakan HIL_ khusus * pesan MAVLINK (protokol telemetri, bekerja pada port serial atau UDP / TCP), yang mensimulasikan sensor dan aktuator.



PX4_HITL


Diagram operasi PX4 dalam mode HITL.



Simulasi Sumber , seperti yang saat ini diterapkan di PX4, adalah mode operasi terpisah untuk pengontrol penerbangan, berbeda dari konfigurasi penerbangan "pertempuran". Kami mensimulasikan pesan UAVCAN secara langsung, idealnya autopilot bahkan mungkin tidak tahu apa yang berfungsi di lingkungan simulasi. Tetapi saya harus mengatakan bahwa masalah simulasi IMU yang ada di dalam autopilot dan tidak terhubung melalui CAN belum diselesaikan secara konseptual. Skema operasi PX4 yang diusulkan dalam mode HITL menggunakan UAVCAN Solusi ini meningkatkan keandalan hasil debugging pada simulator, sehingga Anda dapat melanjutkan ke uji terbang dengan lebih aman. Simulator HIL penerbangan. Sumber Pendekatan serupa, ketika perangkat disimulasikan pada tingkat antarmuka,



Skema Simulator Innopolis VTOL UAVCAN HIL















digunakan dalam penerbangan besar, tetapi dengan UAVCAN kami membuatnya lebih mudah diakses dan lebih mudah.



Keluaran



Sangat bagus bahwa masalah ringan, reliabilitas dan "realtime" dari protokol UAVCAN telah dipikirkan oleh kami, begitu juga dengan PX4, ROS dan Linux, pada akhirnya. Akan sangat sulit bagi kami untuk membuat helikopter, pesawat terbang, sistem kendali, dan perencana kami jika semua ini tidak ada.



Standarisasi protokol dan perangkat lunak memungkinkan pengembang berbicara dalam bahasa yang sama. Pada saat yang sama, tidak hanya standardisasi yang penting, tetapi juga aksesibilitas, yang pada tingkat tinggi menyediakan pendekatan sumber terbuka. Hal ini memungkinkan, berdiri di atas pundak raksasa, untuk segera melanjutkan tugas mereka, daripada membangun "infrastruktur" yang panjang untuk pekerjaan, yang, saya harap, telah kami tunjukkan dengan contoh di artikel ini. 





Kami minum brue dingin setelah penerbangan yang sukses



All Articles