首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Android中编写代码向我的3DRobotics无人机发送航点?

如何在Android中编写代码向我的3DRobotics无人机发送航点?
EN

Stack Overflow用户
提问于 2015-11-22 06:34:07
回答 1查看 574关注 0票数 1

下午好。

目前,我正尝试在"Main Activity“中编写代码,以便将一些路点发送到我的IRIS无人机,但只有当这些点为五个时,它才能工作。你能检查我的代码,给我关于发生了什么的建议,以及我如何向我的无人机发送更多航点吗?我真的很感谢你的帮助,因为我是新开发的Android:

代码:

代码语言:javascript
复制
public void onBtnConnectTap3(View view) {

        if (this.drone.isConnected()) {
        this.drone.disconnect();
         } else {
        Spinner connectionSelector = (Spinner) findViewById(R.id.selectConnectionType);
        int selectedConnectionType = connectionSelector.getSelectedItemPosition();

        Bundle extraParams = new Bundle();
        if (selectedConnectionType == ConnectionType.TYPE_USB) {
            extraParams.putInt(ConnectionType.EXTRA_USB_BAUD_RATE, DEFAULT_USB_BAUD_RATE); // Set default baud rate to 57600
        } else {
            extraParams.putInt(ConnectionType.EXTRA_UDP_SERVER_PORT, DEFAULT_UDP_PORT); // Set default baud rate to 14550
        }
        ConnectionParameter connectionParams = new ConnectionParameter(selectedConnectionType, extraParams, null);
        this.drone.connect(connectionParams);
        }

        currentMission = new Mission();
        currentMission.clear();

        for (int i = 1; i < 20; i++) {

        waypoint2=new Waypoint();
        yaw=new YawCondition();
        waypoint2.setCoordinate(new LatLongAlt( i, i, i));
        yaw.setAngle(i);
        missionI3 = waypoint2;
        currentMission.addMissionItem(missionI3);
        missionI2=yaw;
        currentMission.addMissionItem(missionI2);
        }

         this.drone.generateDronie();
         this.drone.setMission(currentMission, true);
         this.drone.arm(true);

        }

Dependencies in Build.gradle:
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.1.1'
    compile 'com.o3dr.android:dronekit-android:2.3.11'
    }

我想知道你是否也知道我可以在哪里继续学习如何在Android中为3D机器人无人机开发应用程序,考虑到我的主要来源是:http://android.dronekit.io/first_app.htmlhttp://android.dronekit.io/javadoc/

提前感谢你的回答。

EN

回答 1

Stack Overflow用户

发布于 2015-12-03 13:45:41

我不完全确定您想要实现什么,但我在您的代码中看到了一些可能的错误。

  1. 使用最新的无人机套件-安卓。当前版本为2.7.0。你可以在这里保持最新的版本,https://bintray.com/3drobotics/maven/dronekit-android/view
  2. You正在生成一个包含38个项目(19个路点和19个yaws)的任务。你将航点坐标设置为1,1,1 ... 19,19,19是一件非常不安全的事情。你的车辆会飞到我认为你不想去的地方。
  3. 我不确定你为什么有generateDronie()。根据文档

生成创建无人机任务的操作,并将其上传到连接的无人机。

无人机是一种特定类型的任务,它将飞行在自拍路径上。

  1. setMission()是正确的。但是,代码中的最后一步是武装车辆。你需要告诉无人机实际执行任务。您可以使用MissionApi类中的startMission()方法来完成此操作。
  2. 要小心设置和启动具有相同用户交互的任务。setMission()总是有可能无法上传到车辆上。如果是这种情况,startMission()将运行上一次成功上传到车辆的任务。

您可以通过监听广播AttributeEvent.MISSION_SENT来验证上传是否成功。

您可以随时通过将javadoc添加到您认为缺少或需要澄清的API中来为文档做出贡献。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33849397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档