DJI -dev

原创 2016年08月28日 23:57:42

本文主要介绍使用DJI ROS SDK开发的教程和其中的一些说明

M00 and Onboard-SDK-ROS

MATRICE 100 被设计为可以使用遥控器、机载备和 移动 设备进行控制。如果遥控器让飞切换到 API控制模式,设备通过 Onboard API , Mobile API可以请求获得控制权。
系统架构框图
启用 API控制 之后 ,将遥控器模式开关置为中位 (F档)。 编译 ROS package Onboard-SDK-ROS中的各package,如果在自己的package的launch文件中添加

<include file="$(find dji_sdk)/launch/sdk_manifold.launch" />

我们这里看一下这个launch文件,内容如下

<launch>
    <node pkg="dji_sdk" type="dji_sdk_node" name="dji_sdk" output="screen">
        <!-- node parameters -->
                <param name="drone_version" type="string" value="M100"/>
        <param name="serial_name" type="string" value="/dev/ttyTHS1"/>
        <param name="baud_rate" type="int" value="230400"/>
        <param name="app_id" type="int" value="1027749"/>
        <param name="app_version" type="int" value="1"/>
        <param name="app_bundle_id" type="string" value="Welcome to use dji-sdk"/>
        <param name="enc_key" type="string" value="5de4dfff4bea190522bd6d9bb7da434a213c5e30611a8d5f01c8ed1146e1712a"/>
        <param name="groundstation_enable" type="int" value="1"/>
    </node>
</launch>

运行的节点是dji_sdk package中的sji_sdk_node,主要的参数是串口的设备号,串口波特率和app_id和enc-key.最后两个参数可以在dev.dji.org的网站上申请。

开发流程

设置

硬件设置

软件系统环境的配置

  • 环境
    1. Operating System: Ubuntu 14.04, Manifold
    2. ROS version: ROS Indigo
  • 软件要求
    1. Install C, C++ Compiler and Development Tools by installing build-essential
    2. Install CMake 2.8.3 or newer
    3. Install ROS and its dependencies
    4. 配置catkin环境
  • 激活

注意

  1. 飞机起飞之后直到高于1.2m之后才可以被SDK控制,降落的时候也是这样。因此最好是自己arm或者disarm飞机,然后SDK控制可以实现坐姿态控制,起飞降落,以及自己的控制逻辑。
  2. 对于水平方向的姿态控制有三种控制模式,pitch和roll,x/y方向的速度,x/y方向的位置。位置控制需要一个稳定的GPS,速度控制需要一个稳定速度反馈(可以来自guidance或者GPS), pitch and roll控制可以在guidance未安装时仅有弱GPS情况下就可以。
  3. 从ROS传输的video有较大延时,因此最好在同一个节点中读取并处理,然后发布图像和处理结构。

We provided an appendix for developers to check the details of all published topics and services, together with the definition of corresponding msgs and srvs with parameter description.

Ros development

refer
This file subscribe all the information we need for development of the application with all kinds of mission of the flight.
so we just need to add (construct) an instance of the class DJIDrone,

also we need to pay attention that
we need to add a statement in the CMakeLists.txt

set(CMAKE_CXX_FLAGS "-std=c++11 ${CMAKE_CXX_FLAGS}")

User Manual
这里写图片描述
1. 使用遥控器。
2. 使用DJI GO App
这里写图片描述

版权声明:本文为博主原创文章,未经博主允许不得转载。

DJI SDK开发——第一个程序

准备工作在安装了开发环境,下载了SDK,固件,模拟器,驱动等一系列文件后,我们可以开始我们的DJI SDK开发之旅了。 无论有没有android和ios开发者基础的同学,在开始写app前请一定参考入...
  • qiyayi
  • qiyayi
  • 2015年11月04日 15:36
  • 3963

DJI IOS开发之三:Step By Step搭建基于DJI Phantom和iOS的计算机视觉及UAV控制开发平台

1 前言在这之前,世界上有很多研究团队花了大量时间自己造四轴,自己开发硬件,才终于可以研究空中机器人的飞行控制,视觉等方面的问题,了不起在几年前用AR Drone来做。但我们知道AR Drone飞行范...
  • songrotek
  • songrotek
  • 2015年05月14日 17:02
  • 4669

Dji Mobile SDK 基础实现(一)

Dji Mobile SDK 基础实现(一) 本文简要介绍如何通过调用DJI Mobile SDK,实现获取和释放无人机的控制权限、模拟遥控器按钮控制无人机的飞行、获取无人机的回传视频、获取无人...
  • github_39611196
  • github_39611196
  • 2017年07月25日 09:45
  • 987

【dji sdk】mobile sdk 摇杆部分

版本:sdk 3.1. 1.概述 使用sdk中的一些api可以直接控制飞机的飞行,起到虚拟摇杆的作用。 2.类与方法 dji.sdk.FlightController 类。负责控制飞机飞行,代替直...
  • chuchus
  • chuchus
  • 2016年03月28日 15:57
  • 1355

【DJI】GUIDANCE使用说明

实习阶段测试了一下DJI的视觉传感导航系统,就是下面这个东西。 组装说明: http://wiki.dji.com/cn/index.php/Guidance 最好按照安装视频来安装,我自己...
  • Loser__Wang
  • Loser__Wang
  • 2016年06月04日 21:19
  • 3222

DJI Lightbridge2接收端数据解析

因为XXXX,需要对DJI的指令系统做研究,首先解析的是 LB2,也拆解了七七八八了,现在对LB2天空端DBUS口的数据协议进行解析,供电子/嵌入式同学进行学习研究。 DBUS采用4Pin线引出,猜测...
  • qingqingdepiaoguo
  • qingqingdepiaoguo
  • 2017年07月27日 14:23
  • 578

DJI SDK iOS 开发之二:搭建基本的开发环境

本文想介绍搭建基本的DJI SDK iOS下的开发环境,不过DJI官方已经给出了很详细的运行其demo的教程,网址如下: https://dev.dji.com/cn/guide 我这里总结一下搭...
  • songrotek
  • songrotek
  • 2015年03月18日 11:28
  • 5266

玩转四旋翼无人机(DJI OnBoard SDK ROS)

System Structure dji_sdk: the core package handling the communication with Matrice 100, which provid...
  • wendox
  • wendox
  • 2015年12月14日 18:24
  • 3260

DJI SDK iOS 开发之一:前言

写这个开发教程之前,还是先说点什么。 首先要声明的是我并不是DJI的员工,只是DJI 飞行器的爱好者。 在DJI的phantom出来之后,我就一直期待着能够推出SDK。之前最早是Parrot的AR...
  • songrotek
  • songrotek
  • 2015年03月17日 11:28
  • 4628

玩转四旋翼无人机(DJI ROS SDK开发包及使用方法)

本文主要介绍Onboard-SDK-ROS的代码设计思想和使用方法,该软件包主要用来完成M100的开发等。 该软件包的主要有3个部分 1. 核心的API部分dji-sdk-lib,用于串口通信,建...
  • wendox
  • wendox
  • 2016年11月07日 14:26
  • 8023
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:DJI -dev
举报原因:
原因补充:

(最多只允许输入30个字)