AR.Drone 功能在 Android 中的使用

Posted

技术标签:

【中文标题】AR.Drone 功能在 Android 中的使用【英文标题】:AR.Drone functions usages in Android 【发布时间】:2015-05-29 09:40:34 【问题描述】:

有人可以说明如何使用 DroneProxy API 类让无人机飞行吗? 我正在使用 AR.Drone 2.0。

我想做的是一个室内独立飞行的应用。我想输入坐标,例如向左 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);

【问题讨论】:

这些方法看起来很清楚。你告诉它你想要多少滚动,俯仰,偏航,gaz,它就会这样做。 现在,如果您希望它是自主的,或者能够移动到特定位置,您需要一个反馈循环,即从传感器读取数据以解释并转换为对命令的调整。但是没有完整的api,很难想象如何做到这一点 【参考方案1】:

我建议,改用方法:

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

【讨论】:

以上是关于AR.Drone 功能在 Android 中的使用的主要内容,如果未能解决你的问题,请参考以下文章

如何在笔记本电脑上使用 nodejs 连接到 AR Drone

Javadrone - 无法从 Parrot AR.Drone 2.0 获取图像

从 Ar Drone 2.0 获取 GPS 数据

没有从 Parrot AR Drone 的 cv2.VideoCapture 获取视频

AR Drone 2.0、Gstreamer、C++ RTMP 服务器(无需 SDK 的流式传输)

使用 OpenCV 和 C++ 进行全身检测