编译ROS工程前先按照DJI OSDK4.0.1在妙算2-g上编译运行文章中描述的方法将OSDK-4.0.1编译成功。
Onboard-SDK-ROS-4.0.1 项目地址: https://github.com/dji-sdk/Onboard-SDK-ROS/tree/4.0
妙算2-G操作系统为ubunut16.04,ROS版本为Kinetic

1.安装nema-comms:

使用如下命令安装nema-comms

sudo apt install ros-kinetic-nmea-comms

说明: 在ROS 系统上使用高级视觉功能时,请务必安装nema-comms。

2.编译

在上述项目地址下载项目源码的压缩包,并解压到工作空间中。
在工作空间下用catkin_make编译

3.运行例程

以fligt_control_node 例程为例

3.1 测试准备

默认情况下,无人机插着USB口是无法起飞的,进入OSDK-4.0.1目录,使用M210ConfigTool工具使能usb-connected-flight:

cd Onboard-SDK-4.0.1/utility/bin/armv8/64-bit
./M210ConfigTool --usb-port /dev/ttyACM0 --config-file UserConfig.txt --usb-connected-flight on

室内测试时,飞机无法定位,使用仿真模式
将尖括号中的内容换成实际的经纬度数值

./M210ConfigTool --usb-port /dev/ttyACM0 --config-file UserConfig.txt --simulation on --latitude <latitude_value> --longitude <longitude_value>

3.2 启动OSDK_ROS节点

修改Onboard-SDK-ROS-4.0.1/launch/目录下的dji_vehicle_node.launch文件:
设置acm_name/dev/ttyACM0
  serial_name/dev/ttyTHS2
  baud_rate为无人机串口的波特率
  app_idenc_key分别为自己在DJI开发者中心创建的app_id和enc_key
  其他项无需修改

注:
不要修改launch文件中节点的name属性,在OSDK-ROS-4.0.1版本中,节点启动读取参数时使用的是全局参数,命名空间直接写成了vehicle_node,后续版本可能会改进。

启动OSDK与DJI无人机飞控沟通的主节点 dji_osdk_node:

cd catkin_ws && source devel/setup.bash
roslaunch dji_osdk_ros dji_vehicle_node.launch

3.3 启动fligt_control_node节点

cd catkin_ws && source devel/setup.bash
rosrun dji_osdk_ros flight_control_node

3.4 若使用3.8.1版本的接口

4.0.1版本取消了订阅话题的接口,这对于直接对M210进行速度控制很不便,所以控制无人机速度的话还是要使用3.8.1版本的接口的。
首先把UserConfig.txt复制到~/.ros目录下。

  • 启动dji_sdk_node
roslaunch dji_osdk_ros dji_sdk_node.launch
  • 启动控制节点
    启动对应3.8.1版本的控制节点就可以了。
    程序中要把#include<dji_sdk/dji_sdk.h>改为#include<dji_osdk_ros_obsoleted/dji_sdk/dji_sdk.h>
    把消息类型中dji_sdk::改为dji_osdk_ros::
    把话题名和消息头文件中dji_sdk/改为dji_osdk_ros/

DJI Onboard-SDK-ROS-4.0.1 在妙算2-G上编译运行相关推荐

  1. DJI 无人机 Onboard SDK ROS 功能包demo运行

    DJI 无人机 Onboard SDK ROS 功能包demo运行 demo功能 准备测试环境 运行 dji sdk 节点 运行 demo 节点 自动飞行任务 航点自动飞行 兴趣点环绕自动飞行 飞行控 ...

  2. 搭建DJI 无人机Onboard SDK ROS开发环境及测试

    搭建DJI 无人机Onboard SDK ROS开发环境及测试 功能包简介 开发环境搭建 测试功能包 连接设备 启动SDK 功能包简介 ROS功能包名称:dji_sdk 功能包功能:用于DJI 板载S ...

  3. 大疆无人机二次开发进阶-DJI mobile SDK和DJI onboard SDK联合开发行业应用项目

    PS:最近又涉及该项目,增加部分没写内容,记录下详细步骤. 上一篇文章讲到了怎么使用DJI mobile SDK,这次主要讲解DJI mobile SDK和DJI onboard SDK联合开发. a ...

  4. linux wine运行效率,Wine 3.0让Windows应用在Linux上流畅运行!

    [IT168 资讯]就在最近,VirtualBox中对Linux发行版的支持随着Linux内核4.16的发布而变得更好. 但是,如果你希望在Linux系统上运行Windows应用程序呢?为此,Wine ...

  5. ACE6.2.0在vs2010上编译运行(win7)

    官网下载源码 vs2010打开解决方案 VC10.sln 选择ace点生成 dubug版和release版 使用时注意: debug版的应用程序使用dubug版的ace库 release版的使用rel ...

  6. 大疆经纬M100无人机的组装以及Onboard SDK的安装

      前段时间一直在搞在M100上搭载处理器,并且用大疆官方的Onboard SDK来进行开发,所以就记录一下,免得过段时间忘记了.先上一张M100的图(来源于大疆官网): 一.硬件介绍 1.首先介绍大 ...

  7. 开发自己的DJI四旋翼无人机(A3飞控Onboard SDK和Mobile SDK介绍)

    大疆作为无人机行业的佼佼者,其应用范围从户外旅行.拍照到影视拍摄,以及工业运用都有着极高的地位.那么,我们如何仅仅使用大疆的飞控来开发出我们自己的无人机呢? 首先,你需要如下的东西: 以及相应的机架, ...

  8. Onboard SDK文档

    目录 Onboard SDK综述... 1 1.         简介... 1 1.1硬件支持... 1 1.1.1产品类别... 1 1.1.2组成部分... 2 1.1.3支持产品... 3 1 ...

  9. Onboard SDK的使用

    注意事项 在实际测试或执行飞行任务前,先在DJI Assistant 2 中模拟使用DJI OSDK 开发的应用程序. 在使用OSDK 开发应用程序或测试基于OSDK 开发的应用程序时,取下无人机上的 ...

  10. 大疆无人机M100的onboard sdk开发-激活(QT平台)

    1.这篇主要围绕osdk的M100激活进行展开,M100要进行OSDK开发,第一步就是现将设备激活,才能通过SDK对它进行控制: 一.硬件条件: 1.通过usb接口连接dji assistant,视频 ...

最新文章

  1. Oracle sql语句执行过程图文分析
  2. 关于mysql行级锁中MVCC的一些理解
  3. 陈炳藻用计算机研究,计算机闯入“大观园”
  4. 携程编程大赛 (预赛第二场)第一题【剪刀石头布】
  5. 【Kafka】kafka Removed ✘✘✘ expired offsets in ✘✘✘ milliseconds.
  6. 【BZOJ】2599: [IOI2011]Race 点分治
  7. warpctc error
  8. mybatis-plus中like的使用说明
  9. 计算机组成原理计算tag,计算机组成原理计算题
  10. git回滚到之前代码
  11. maven 压缩html,YUI Compressor Maven插件压缩 js、css并输出war包
  12. 卷积、转置卷积、可分离卷积、分组卷积、空洞卷积的理解
  13. 虚拟机中安装linux系统步骤
  14. 详解 Benders 分解与一个算例的 python 代码
  15. 利用httpd服务搭建wordpress、phpmyad及discuz平台
  16. NUCLEO STM32H743购买和使用说明
  17. 外汇交易的高风险行为应该如何防范?
  18. 桌面计算机不显示桌面,电脑不显示桌面怎么办,电脑无法显示桌面
  19. python百度贴吧图片爬取
  20. 盛大电子书难逃盛大盒子厄运

热门文章

  1. OpenGL 编程指南笔记——第8章 OpenGL 绘制像素、位图、字体和图像
  2. Struts2项目实战 微云盘(七):文件上传下载
  3. 种草营销这样干 小红书KOC素人和KOL达人组合种草推广
  4. 路由问题引起的怪异现象
  5. github创建代码仓库并上传代码
  6. pythonturtle作品编程技巧说明_在Python教学中应用turtle创意编程实践
  7. 计算机组成原理————寄存器寻址方式大总结
  8. 为防止程序员猝死,这家公司想出了一个好办法
  9. Ansible Jinjia2 模板
  10. matlab纹理分析,基于MATLAB的遥感影像纹理特征分析