DJI SDK: приостановить / возобновить миссию Waypoint, когда прибываете на точку? - PullRequest
1 голос
/ 18 апреля 2019

Я не нашел никакой информации по этому вопросу. Я хотел бы построить миссию путевой точки, как это:

  1. Дрон прибывает в точку маршрута
  2. вся пауза миссии, уведомляет пользователя (есть ли слушатель путевых точек?)
  3. приложение переходит к другому занятию, чтобы сфотографировать
  4. пользователь возвращается с фото-активности
  5. пользователь нажимает кнопку, миссия продолжается до следующей путевой точки.

Я вижу действия в путевой точке, но это не совсем то, чего я хотел бы достичь. Я бы хотел, чтобы пользователь управлял миссией вручную, но имел возможность делать такие вещи, как пропуск путевых точек, а также переходить к другому действию, пока дрон ждет в путевой точке.

Какие-нибудь советы по этому поводу?

Спасибо

1 Ответ

0 голосов
/ 23 апреля 2019

Этот ответ относится конкретно к Android SDK, но аналогичные концепции существуют и для iOS SDK.

В Android миссии waypoint создаются и управляются с помощью класса WaypointMissionOperator . Экземпляры этого класса позволяют настроить прослушиватель с помощью метода addListener, который будет вызываться, когда доступно обновленное состояние воздушного судна. onExecutionUpdate метод WaypointMissionOperatorListener, который вы передаете этому методу, получит WaypointMissionExecutionEvent . У этого объекта есть метод getProgress, который даст вам информацию о состоянии миссии, которая вам нужна ( targetWaypointIndex и isWaypointReached).

Чтобы приостановить миссию в определенной путевой точке, вы можете добавить удержание в путевой точке. Это позволяет вашему программному обеспечению, работающему на мобильном устройстве, определять время, когда самолет достиг маршрутной точки, и отправлять команду на паузу миссии.

Остальная часть вашего вопроса связана с философией дизайна, которая выходит за рамки стекового потока, но вы можете связаться со мной напрямую.

...