DJI mobile SDK, как отключить обход препятствий в режиме управления виртуальным джойстиком? - PullRequest
1 голос
/ 15 апреля 2019

Я пытаюсь управлять дроном DJI (Mavic 2 / Spark) автономно, используя DJI Mobile SDK. Я могу выдавать виртуальные команды джойстика, и дрон следует за ним. Я отключил предотвращение препятствий / столкновений через API. Проблема в том, что если робот окружен препятствием, он тормозит и не будет следовать выданным командам виртуального джойстика. Я отключил уклонение от препятствий, но беспилотник тормозит и не будет двигаться (он не приблизится ближе чем на 2,5 м к препятствию).

Выводы:

  • Расстояние по умолчанию для торможения составляет ~ 2,5 м от препятствия (Mavic 2).
  • Отключение обхода препятствий работает в обычном P-режиме, то есть при использовании RC.
  • Отключение обхода препятствий через SDK и переключение в приложение DJI-Go подтверждает, что оно действительно отключено.
  • То же поведение с DJI Spark

Может кто-нибудь посоветовать, пожалуйста, как отключить обход препятствий для режима Virtual Joystick? Я уже пробовал следующие и другие варианты:

self.myFC.isVirtualStickAdvancedModeEnabled = NO;
[self.myFC.flightAssistant setCollisionAvoidanceEnabled:NO withCompletion:nil];
[self.myFC.flightAssistant setAdvancedPilotAssistanceSystemEnabled:NO withCompletion:nil];
[self.myFC.flightAssistant setActiveObstacleAvoidanceEnabled:NO withCompletion:nil];
[self.myFC.flightAssistant setUpwardsAvoidanceEnabled:NO withCompletion:nil];

[self.myFC sendVirtualStickFlightControlData:cmd withCompletion:nil];

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

Использование следующей версии SDK

pod 'DJI-SDK-iOS', '~> 4.9.1'
pod 'DJI-UXSDK-iOS', '~> 4.9'
pod 'DJIWidget', '~> 1.2'
...