Використання супутнього комп'ютера з контролерами Pixhawk
PX4, що працює на контролерах польоту серії Pixhawk, може підключатися до супутнього комп'ютера за допомогою будь-якого вільного конфігурованого послідовного порту, включаючи Ethernet-порт (якщо підтримується).
Див. Супутникові комп'ютери для інформації про підтримуваний обладнання та загальну настройку.
Програмне забезпечення супутнього комп'ютера
Супутній комп'ютер повинен працювати під керуванням програмного забезпечення, яке взаємодіє з контролером польоту та маршрутизує трафік до наземних станцій та сховище в cloud.
Загальні варіанти наведені в Супутникові комп'ютери > Налаштування супутнього комп'ютера.
Налаштування Ethernet
Ethernet є рекомендованим з'єднанням, якщо його підтримує контролер польоту. Див. Інструкції з налаштування Ethernet.
Налаштування послідовного порту
Ці інструкції пояснюють, як налаштувати з'єднання, якщо ви не використовуєте Ethernet.
Конфігурація Pixhawk
PX4 очікує, що супутні комп'ютери будуть підключатися через TELEM2
для віддаленого керування. Порт конфігурується за замовчуванням для інтерфейсу за допомогою MAVLink.
Якщо використовується MAVLink, іншої конфігурації з боку PX4 не потрібно. Щоб використовувати MAVLink на іншому порту і/або вимкнути його на TELEM2
, див. Периферійні пристрої MAVLink (GCS/OSD/Companion) та Налаштування послідовного порту.
Щоб використовувати ROS 2/uXRCE-DDS замість MAVLink на TELEM2
, вимкніть MAVLink на цьому порту, а потім увімкніть клієнт uXRCE-DDS на TELEM2
(див. uXRCE-DDS > Запуск клієнта).
Налаштування апаратної частини послідовного порту
Якщо ви підключаєтеся за допомогою послідовного порту, підключіть порт згідно з інструкціями нижче. Всі послідовні порти Pixhawk працюють на напрузі 3,3 В і сумісні з рівнем 5 В.
WARNING
Багато сучасних супутникових комп'ютерів підтримують лише рівні 1,8 В на їх апаратному UART і можуть бути пошкоджені рівнями 3,3 В. Використовуйте рівні перетворювачі. У більшості випадків до доступних апаратних послідовних портів вже призначена певна функція (модем або консоль), яка повинна бути переконфігурована в Linux перед їх використанням.
Безпечним і легким у налаштуванні варіантом є використання плати адаптера USB-послідовного порту від FTDI Chip для підключення від TELEM2
на Pixhawk до USB-порту на супутниковому комп'ютері. Нижче наведено зв'язку карту TELEM2
до FTDI.
TELEM2 | FTDI | ||
---|---|---|---|
1 | +5V (red) | DO NOT CONNECT! | |
2 | Tx (out) | 5 | FTDI RX (yellow) (in) |
3 | Rx (in) | 4 | FTDI TX (orange) (out) |
4 | CTS (in) | 6 | FTDI RTS (green) (out) |
5 | RTS (out) | 2 | FTDI CTS (brown) (in) |
6 | GND | 1 | FTDI GND (black) |
Ви також можете безпосередньо підключити TELEM2
безпосередньо до послідовного порту супутнього комп'ютера. Це показано для Raspberry Pi в Raspberry Pi Companion with Pixhawk.
Налаштування програмного забезпечення для USB-послідовного порту на Linux
У Linux за замовчуванням ім'я USB-послідовного порту буде таким, як /dev/ttyUSB0
. Якщо у вас є другий FTDI, підключений через USB, або Arduino, він буде зареєстрований як /dev/ttyUSB1
. Щоб уникнути плутанини між першим підключеним і другим підключеним пристроєм, ми рекомендуємо створити символічне посилання з ttyUSBx
на дружнє ім'я, залежно від ідентифікатора виробника та продукту (Product ID) USB-пристрою.
За допомогою командиlsusb
ми можемо отримати ідентифікатори виробника та продукту.
sh
$ lsusb
Bus 006 Device 002: ID 0bda:8153 Realtek Semiconductor Corp.
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 002: ID 05e3:0616 Genesys Logic, Inc.
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 004: ID 2341:0042 Arduino SA Mega 2560 R3 (CDC ACM)
Bus 003 Device 005: ID 26ac:0011
Bus 003 Device 002: ID 05e3:0610 Genesys Logic, Inc. 4-port hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 002: ID 0bda:8176 Realtek Semiconductor Corp. RTL8188CUS 802.11n WLAN Adapter
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
The Arduino is Bus 003 Device 004: ID 2341:0042 Arduino SA Mega 2560 R3 (CDC ACM)
The Pixhawk is Bus 003 Device 005: ID 26ac:0011
:::note Якщо ви не знайшли свій пристрій, відключіть його, виконайте lsusb
, підключіть його, знову виконайте lsusb
і перегляньте доданий пристрій. :::
Тому ми можемо створити нове правило UDEV у файлі під назвою /etc/udev/rules.d/99-pixhawk.rules
із таким вмістом, змінивши idVendor та idProduct на ваші.
sh
SUBSYSTEM=="tty", ATTRS{idVendor}=="2341", ATTRS{idProduct}=="0042", SYMLINK+="ttyArduino"
SUBSYSTEM=="tty", ATTRS{idVendor}=="26ac", ATTRS{idProduct}=="0011", SYMLINK+="ttyPixhawk"
Нарешті, після перезавантаження ви можете бути впевнені, що знаєте, який пристрій є яким, і вставте /dev/ttyPixhawk
замість /dev/ttyUSB0
у свій сценарії.
:::note Обов’язково додайте себе до груп tty
і dialout
через usermod
, щоб уникнути необхідності виконувати сценарії від імені користувача root. :::
sh
usermod -a -G tty ros-user
usermod -a -G dialout ros-user