2015-05-29 3 views
0

Может кто-нибудь уточнить, как сделать дроун, используя класс DroneProxy API? Я использую AR.Drone 2.0.AR.Drone выполняет функции в Android

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

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

/** 
* Sends ArDrone the gaz value. Makes drone to move up or down 
* 
* @param value - value between -1 and 1. 
*/ 
public void setGaz(final float value) { 
    droneProxy.setControlValue(CONTROL_SET_GAZ, value); 
} 

/** 
* Sends ArDrone the Roll value. Makes drone to move left or right 
* 
* @param value - value between -1 and 1. 
*/ 
public void setRoll(final float value) { 
    droneProxy.setControlValue(CONTROL_SET_ROLL, value); 
} 

/** 
* Sends ArDrone the Pitch value. Makes drone to move forward or backward 
* 
* @param value - value between -1 and 1. 
*/ 
public void setPitch(final float value) { 
    droneProxy.setControlValue(CONTROL_SET_PITCH, value); 
} 

/** 
* Sends ArDrone the gaz value. Makes drone to turn left or right 
* 
* @param value - value between -1 and 1. 
*/ 
public void setYaw(final float value) { 
    droneProxy.setControlValue(CONTROL_SET_YAW, value); 
} 
+0

эти методы выглядят довольно ясно. вы рассказываете, сколько вы хотите в рулоне, подаче, рыскании, газе, и он это делает. – njzk2

+1

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

ответ

0

Я предлагаю, использовать методы вместо:

  droneControlService.moveDown(0); 
      droneControlService.moveUp(0); 
      droneControlService.turnRight(0); 
      droneControlService.turnLeft(0); 
      droneControlService.moveForward(0); 
      droneControlService.moveBackward(0);