Как я могу вооружиться и снять дрон с Pixhawk и малины с помощью dronekit python - PullRequest
0 голосов
/ 30 августа 2018

Мы купили контроллер полета Pixhawk 2.1 и работаем над университетским проектом; проект состоит в том, что мы должны решить головоломку с помощью дрона (который содержит малину pi 3) и отправить правильные координаты пути на маленькую машину. Наша проблема в том, что мы не должны использовать какой-либо пульт дистанционного управления на дроне. Таким образом, дрон должен лететь на определенную высоту, а затем должен начать искать головоломку и решать ее.

Мы пытались использовать dronekit python. Мы могли бы подключиться к дрону по коду, но мы не могли заставить его взяться за руки и взлететь.

Поддерживает ли Pixhawk 2.1 постановку и снятие с любой наземной станции или пульта дистанционного управления? , Если это так, мы надеемся, что вы отправите нам код и метод. Потому что у нас много поисков, и крайний срок проекта очень близок.

Спасибо за ваше время ...

Ответы [ 2 ]

0 голосов
/ 13 октября 2018

Чтобы управлять дроном с помощью малины, pixhawk должен коммутировать с GPS. Если вы пытаетесь вооружить его в закрытом помещении, вероятно, он не будет вооружаться. Потому что ваш код должен содержать как "управляемый" режим, он требует GPS. Если это не полезно. Протестируйте снова соединение между rpi и pixhawk

0 голосов
/ 03 сентября 2018

Я прошу прощения за сообщения здесь, поскольку у меня нет 50 репутации, чтобы комментировать.

Ваша конфигурация:
Контроллер полета: PixHawk 2.1
Компаньон Компьютер: Raspberry Pi
Компьютер-компаньон ОС: Ubuntu?
Companion Computer Drone API: dronekit

Чего не хватает для лучшего анализа: Автопилот состоит из контроллера полета и кода. В вашем случае это Ardupilot или PX4?

В случае Ardupilot, я мог бы ответить, где вы можете споткнуться. (PX4 похож, но в случае, если вы используете dronekit, я настоятельно рекомендую использовать Ardupilot / Copter вместо PX4; это мнение основано на опыте)

Попробуйте следующее в порядке

  1. в строке подключения, если wait_ready = false, то он никогда не будет ставить на охрану, поэтому вы попали в петлю.
    Это происходит главным образом потому, что проверки, выполненные для проверки готовности, аналогичны проверкам, выполняемым при постановке на охрану.

Единственный случай, когда ожидания wait_ready = false, это когда контрольные маски постановки на охрану используются, чтобы избежать проверок.
2. http://ardupilot.org/copter/docs/parameters.html#arming-check-arm-checks-to-peform-bitmask
показывает список проверок, выполненных автопилотом при длительном вооружении маской, чтобы отключить определенные проверки.
Это должно позволить вам просматривать список систем для регулярных проверок в случае сбоя.
Это должно быть похоже на PX4 с вариациями терминологии и порядка, но основная логика будет очень похожа.

Другая вещь, которая может быть неясной, - это порядок операций.

Ваш исходный код (или код в целом) -> использование Dronekit на компьютере общается с автопилотом через Ardupilot / PX4 -> Автопилот затем пилотирует дрон согласно инструкциям

Вот предостережение о программировании дрона.

Вы почти во всех случаях программируете инструкции для автопилота (контроллера полета, который взаимодействует с помощью Adrupilot / PX4), который затем выполняет действия. Автопилот во всей своей мудрости может отказаться от выполнения любого из действий, если эти действия не пройдут его проверки.
Этот отказ со стороны Autopilots выполнить действия не отображается как ошибка, потому что это не ошибка. Вы дали ему правильное действие, и вам просто не хотелось его выполнять, поскольку вы провалили его проверки.

Это то, что может происходить в вашем случае.

...