#nvidia #dji-sdk #drone
Вопрос:
Я пытаюсь использовать Nvidia Jetson Nano в качестве бортового компьютера для связи с Matrice 300 RTK с помощью OSDK. Компьютер и беспилотный летательный аппарат подключены с помощью модуля расширения OSDK, и я использую двойной USB-кабель (USB 3 типа A) для подключения к USB-порту компьютера.
Я получаю ошибку
ERRORLOG/1 @ getDroneVersion, L1707: Drone version not obtained! Please do not proceed.
Possible reasons:
Serial port connection:
* SDK is not enabled, please check DJI Assistant2 -> SDK -> [v] Enable API Control.
* Baudrate is not correct, please double-check from DJI Assistant2 -> SDK -> baudrate.
* TX and RX pins are invert
[4290298.543]STATUS/1 @ functionalSetUp, L282: Shake hand with drone Fail ! Cannot get drone version. (1/20)
Я попытался использовать все скорости передачи данных, доступные в DJI Assistant 2 (изменив их как в приложении, так и в UserConfig.txt) и включил управление API, но не повезло.
Это текущее содержание моего UserConfig.txt (без моего фактического идентификатора приложения и ключа приложения)
app_id : [id]
app_key : [key]
device : /dev/ttyACM0
baudrate : 921600
acm_port : /dev/ttyACM0
Спасибо.
Ответ №1:
не может быть, чтобы порт устройства и порт acm были одинаковыми ACM0
При подключении дрона DJI должно быть два порта. Обычно один ttyUSB0 и ttyACM0. USB предназначен для обычного управления и обратной связи, а ACM предназначен только для передачи видео. и обычно ACM являются необязательными и не вызовут ошибку, которую вы показываете.
если у вас есть другие USB-устройства. там может быть ttyUSB1 или ttyACM1, или XX2, или XX3. вы можете найти список этого по типу
ls /dev
Таким образом, чтобы свести к минимуму ошибку, вызванную этим. Вам нужно понять, как называется ваше устройство, позвонив либо в lsusb, либо
ls /dev/serial/by-id/
в моем случае есть дополнительное устройство для печати фигур, которое может запутать систему, как показано ниже
Как только вы найдете точный идентификатор, вы можете использовать следующий способ для установки точного порта
app_id : [id]
app_key : [key]
device : /dev/serial/by-id/usb-FTDI_USB-RS232_Cable_FT5T6MGL-if00-port0
baudrate : 921600
acm_port : /dev/serial/by-id/XXXXXXXXXXX
Ответ №2:
Решение моей проблемы закончилось тем, что мне понадобилось последовательное подключение к модулю расширения OSDK в дополнение к USB-соединению. Однако доктор Юань Шэньхай был прав в том, что моя настройка порта была неправильной. В итоге я подключил три провода от контактов GND, TX и RX на моем Nvidia Jetson к модулю, как показано на этом рисунке.
Это позволило запустить образец полета dji со следующими UserConfig.txt
app_id : my app id
app_key : my app key
device : /dev/ttyTHS1
baudrate : 230400
acm_port : /dev/ttyACM0