青岛科技大学 信息科学技术学院 集成162 Listen C

最近本人不慎在折腾妙算的过程中走火入魔,将妙算刷死了。。。结果只好从头开始,从最原始的妙算装上Onboard SDK。不多说废话了,开始干活~

当然,你需要的硬件如下:一台嵌入式Linux(本文以妙算为例,可以用树莓派替代但需参考官网)或STM32(需参考官网),一架DJI无人机(本文以M600为例),其他配置设备(PC,Mobile)

零.准备工作——重装系统

系统没毛病的能正常使用的请跳过此步骤!

上文提到,本人的妙算已死,需要先救回来……

好吧,我们先看下官网的Manifold用户手册。

神马?用Linux?

好吧,那么首先先找个Linux吧!

(一)虚拟机安装Linux

这里,我用了某ROS教程的Linux镜像,装在了VMwareWorkstation里

关于怎么使用VM虚拟机以及VM的破解、Ubuntu的安装,不懂的自行百度,这里不详述。

(二)下载安装包

根据用户手册的信息,从官网可以下载,即直接点击它的链接。然而,对于我们这些“后来者”,官网的链接早就挂了……可能是妙算太依托于TK1的缘故吧,看知乎说可能是怕侵权所以下架了。当然这些都和我们没多大关系,感谢官方论坛里的前辈早已共享,我就厚颜无耻得拿过来用吧!在附件中找到相应文件既可。

安装包“manifold_ image_v1.0.tar.gz”

(三)解压安装包

打开终端,输入一下命令:

注意,别光急着复制命令,在第三条命令里指的是你安装包的位置。

(四)进入恢复模式

同使用手册,按需操作。本人按照方法2操作。

终端中输入

(五)制作系统镜像

同理先看手册:

这一步,参照使用手册时会发现一个坑——路径似乎对不上。打开我们得到的文件,你会发现没有manifold_images这个目录,取而代之的是Linux_for_Tegra这个目录。可能是前辈给的文件有一定出入吧。不管怎样,如果用附件里的安装包的话,参照使用手册时将manifold_images替换为Linux_for_Tegra既可。

其次,在删除system.img之后的步骤也似乎不太对:

来来来我们从文档里将这句命令后半截复制出来:

–go

而实际上这里应该是

–go

似乎长短差不多。其实一个是一个字符一个是两个字符。不管它是怎么敲出来的吧,总之猜也猜出来应该和前面的—read xxx一种操作才对。故这两行指令应该如下:

接下来就是漫长的等待,估测得5个多小时,建议睡觉前操作,睡一觉就制作好了(我相信能到这一步的大多都是平均睡眠时长5小时左右的夜猫子,不然还在IT行业混啥)

(六)恢复系统镜像

还是看手册,问题依旧——路径。

不过按照手册的意思,这里有两种选择:恢复至默认的系统,恢复到之前做过的镜像。而差别仅仅是多了一个“-r”。本人小白一只,还是那种特白的,实在不清楚有啥区别,反正效果都一样,那就随便选一种吧!

这里如果是按照上文做下来的话路径应该是在~/manifold/Linux_for_Tegra/bootloader下,所以没必要非得cd~/manifold/ Linux_for_Tegra,只要返回上层目录就好,即cd ..

一.  安装软件

此步骤需要安装2个软件和一个系统,同样参照官方使用手册。

软件cuda是英伟达的显卡驱动,好像不安装的话后面的OpenCV装不上。

软件OpenCV4tegra跟OpenCV有关,大概是基于2.4版本吧。

ROS机器人系统是我们在妙算中使用Onboard SDK的环境,必须保证前两者正常安装才能确保ROS环境搭建成功,故马虎不得。

所以,在安装的过程中,会涉及到从网上更新软件,也就是在apt-get update之后的apt-get install,一定要注意是否成功!如果有error出现请不断重复尝试update然后再install,直到成功为止。本人在这里郁闷了好几天,中途换了好多源都不行,还是官方源在凌晨3点左右才勉强成功了,全靠人品。一定要坚信,别人能做出来,自己也能做到,坚持就是胜利!

顺便参照kaka的博客将opencv和qt配置好以便以后操作。

所用的安装包直接点击官方使用手册的链接下载既可,或者在附件中寻找。。

(一)安装CUDA

同官方,不解释

1.下载安装包cuda-repo-l4t-r21.3-6-5-prod_6.5-42_armhf.deb
2.执行以下命令进行安装

(二)安装OpenCV4tegra

同官方,不解释。

1.下载安装包[libopencv4tegra-repo_l4t-r21_2.4.10.1_armhf.deb](http://developer.download.nvidia.com/embedded/OpenCV/L4T_21.2/libopencv4tegra-repo_ l4t-r21_2.4.10.1_armhf.deb)
2.执行以下命令进行安装

OpenCV与Qt安装请跳转至kaka的博客,链接:http://blog.csdn.net/u012348655/article/details/50564223

(三)安装ROS

这里,就是要跳转到ROS.org考验我们基础英语水平的时候了。这里简要翻译(参照google浏览器翻译功能)下步骤。

链接:http://wiki.ros.org/indigo/Installation/UbuntuARM

1.支持平台

首先我们看到的是它支持的平台

可以看到它支持DJI Manifold,也就是说我们要坚信一定可以安装成功的。

2.安装

2.1 配置Ubuntu存储库

表示……然并卵。

2.2 区域设置

如果失败请尝试如下命令(其他语言支持)。反正我设置成功了没管这个。

2.3 设置sources.list

Ubuntu 14.04(Trusty armhf)

2.4 设置Key

也可以用下面这个:

2.5 安装

首先更新,其次再装ROS-Base和desktop,其他的可选安装。

ROS-Base:(Bare Bones) ROS包,构建和通信库。没有GUI工具。
桌面安装: ROS,rqt,rviz和robot-generic库

可选包的安装为:sudo apt-get install ros-indigo-PACKAGE

其中PACKAGE为安装包的名称,查询可用安装包指令如下指令:

2.6 初始化rosdep

2.7 环境设置

因为我们只安装了一个ROS发行版,所以不用考虑其他的,只需要执行如下命令:

2.8 获取rosinstall

rosinstall是ROS中经常使用的命令行工具,它分开分发。它使您能够通过一个命令轻松下载许多ROS包的源代码树。

2.9 验证操作系统名称

必须确保系统信息是如下信息。本人小白没看明白,我的做法是直接复制到终端执行。。

二.  安装并测试Onboard SDK

(一)背景

(二)准备工作

V3.3:http://developer.dji.com/onboard-sdk/documentation/introduction/homepage.html
V3.2:https://developer.dji.com/onboard-sdk/documentation/quick-start/index.html

要开发应用,需要APPID和App Key两个信息。这就需要先在developer上新建一个app来获取了。

(三)具体步骤

1.硬件连接

以M600与妙算连接为例,请允许我盗官方几张图。

首先是官方提供的API接口,实际上就是UART而已。

需要注意的是,线头的连接方式是一一对应的

接下来是与妙算进行连接:

2.软件安装

(1)下载必需工具

妙算:OnboardSDK
Windows/mac:DJI PC Assistant 2
Mobile:DJI GO App

(2)升级固件

将飞机(M600)USB连接PC/Mac升级固件。

(3)使能SDK API

请允许我盗张图。

3.安装OSDK

(1)下载OESK here
(2)解压并进入文件夹,执行一下命令:

(3)安装osdk-core library

(4)建立catkin工作区间

(5)将DJI OSDK-ROS复制到src目录下 here
(6)Build

(7)一定要先source setup.bash

(8)编辑App ID、波特率、Key和端口名称

其中,App ID与Key在准备工作中新建的App里查询。

波特率因为Ubuntu有一些版本有Bug无法设置115200故采用230400.

端口名称参照使用手册

我们用到的是UART1故名称应该为ttyTHS0.

(9)运行样例

注意每次运行时都要在现在的目录下执行一遍(7)

要启动dji_sdk需要先启动sdk_manifold

然后打开新的终端输入如下指令:

至此,开始体验样例的效果吧!

参考资料:

http://blog.csdn.net/u012348655/article/details/50564223
http://wiki.ros.org/indigo/Installation/UbuntuARM
http://developer.dji.com/onboard-sdk/documentation/introduction/homepage.html
https://developer.dji.com/onboard-sdk/documentation/quick-start/index.html

附件:

onboard sdk:
链接:http://pan.baidu.com/s/1pLTvigr 密码:fc7u
论坛资源分享:
链接:https://pan.baidu.com/s/1pKQrLhT 密码:14t8

转载自我的博客

发表评论