系列文章目录

第一章 飞行机器人(一)DJI平台OSDK简介飞行机器人(一)DJI平台OSDK简介_Techblog of HaoWANG-CSDN博客DJI OSDK/OSDK-ROS for M600Pro技术文档 Version 2.1.1


目录

系列文章目录

1. 机载设备USB2TTL串口接线方法

2. OSDK 源码编译

3. catkin_make编译osdk_ros3.8.1

4. OSDK版本


1. 机载设备USB2TTL串口接线方法

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_OSDK

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_无人机_02

(#更新 2021-12-17 端口配置与硬件连接)

  1. 连接windows电脑usb,进而利用Assistant2 - M来进行执行仿真模拟;
  2. 使用USB-TTL的转接线才能连接到Ubuntu 机载计算设备(Jetson Xavier NX)的USB插口上;

USB2TTL

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_OSDK_03

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_OSDK_04

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_无人机_05

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_大疆无人机接口对接java实现方法_06

C. Ubuntu机载设备USB2TTL连接M600Pro A3 Pro飞控串口

查看USB2TTL端口地址:

ls /dev/ttyUSB*

/dev/ttyUSB0,注意:由于jetson xavier xn上位机的USB串口设备不止一个,具体的端口地址 /dev/ttyUSBX必须以具体的物理器件地址编号为准。

修改usb端口方法:

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_无人机_07

ttyUSB端口永久权限设置:

  1. 单次获取端口权限

$ sudo chmod 777 /dev/ttyUSB0

  1. 永久获取端口权限

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_大疆无人机接口对接java实现方法_08

$ ls -l /dev/ttyUSB0

$ whoami

$ sudo usermod -aG dialout {userName}

重启系统,端口永久权限即可生效。

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_飞行机器人_09

D. WIN连接飞行器平台调参端口,Linux上位机直连飞控通信端口

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_大疆无人机接口对接java实现方法_10

注意事项:

①最好跑程序的时候就提前将遥控器打开,并拨到F挡位。注意把无人机旋翼收起来(尽管它也飞不起来)

②使用Onboard SDK前,注意将Ubuntu(执行时不需联网,但是下载onboardSDK时需要联网)通过USB-TTL连接A3飞控,遥控器连接手机,手机连网,windows电脑(联网)连接Micro-USB,首次执行Samples时会在软件DJI Assistant2上面要登陆进行激活。

③注意在Windows电脑下打开Assistant2时选择SDK,并勾选启动API控制,波特率调整和上面UserConfig.txt中填写的一致。调完波特率之后需重新启动一下无人机A3飞控。


2. OSDK 源码编译

  1. 编译&安装OSDK 4.1.0版本不兼容 M600

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_大疆无人机接口对接java实现方法_11

  • 删除旧版本文件

Sudo xargs rm < install_manifest.txt

获取OSDK App

 开始使用OSDK - DJI Onboard SDK Documentation

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_DJI M600_12

https://developer.dji.com/cn/onboard-sdk/documentation/quickstart/integrateOSDK.html

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_大疆无人机接口对接java实现方法_13

  1. 编辑UserConfig.txt

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_大疆无人机接口对接java实现方法_14

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_大疆无人机接口对接java实现方法_15


 

3. catkin_make编译osdk_ros3.8.1

dji_sdk_node.launch文件

<launch>

    <node pkg="dji_osdk_ros" type="dji_sdk_node" name="dji_sdk" output="screen">

    <!-- node parameters -->

    <param name="acm_name" type="string" value="/dev/ttyACM0"/>

    <param name="serial_name" type="string" value="/dev/ttyUSB0"/>

    <param name="baud_rate" type="int" value="921600"/>

    <param name="app_id" type="int" value= "12345"/>

    <param name="app_version" type="int" value="1"/>

    <param name="align_time" type="bool" value="false"/>

    <param name="enc_key" type="string" value="abc123"/>

    <param name="use_broadcast" type="bool" value="false"/>

    <param name="dxc" type="bool" value="false"/>

    </node>

</launch>
  1. 配置APP id & Key
app_id : 

app_key : 

device : /dev/ttyUSB0

baudrate : 921600

acm_port : /dev/ttyACM0

4. OSDK版本

3.9.0版本

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_大疆无人机接口对接java实现方法_16

OSDK版本-3.8.1

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_DJI M600_17

RELEASE NOTEs for OSDK 3.9.0 and OSDK 3.8.1

大疆无人机接口对接java实现方法 大疆无人机usb连接方式_DJI M600_18

DOC dji_sdk - ROS Wiki

ENU Doc : Coordinate Systems