【妙算使用笔记】妙算学(zhe)习(teng)笔记 ——MANIFOLD下安装Onboard SDK

妙算学(zhe)习(teng)笔记

——MANIFOLD下安装Onboard SDK

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

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

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

 

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

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


【妙算使用笔记】妙算学(zhe)习(teng)笔记 ——MANIFOLD下安装Onboard SDK_第1张图片


         神马?用Linux

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

(一)虚拟机安装Linux

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


【妙算使用笔记】妙算学(zhe)习(teng)笔记 ——MANIFOLD下安装Onboard SDK_第2张图片


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

(二)下载安装包

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

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

(三)解压安装包

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

 

mkdir  ~/manifold
cd ~/manifold
sudo tar -xvpzf  /manifold_image_v1.0.tar.gz

 

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

 

(四)进入恢复模式

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


【妙算使用笔记】妙算学(zhe)习(teng)笔记 ——MANIFOLD下安装Onboard SDK_第3张图片


终端中输入

 

lsusb

 

【妙算使用笔记】妙算学(zhe)习(teng)笔记 ——MANIFOLD下安装Onboard SDK_第4张图片

        

(五)制作系统镜像

         同理先看手册:


【妙算使用笔记】妙算学(zhe)习(teng)笔记 ——MANIFOLD下安装Onboard SDK_第5张图片


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

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


【妙算使用笔记】妙算学(zhe)习(teng)笔记 ——MANIFOLD下安装Onboard SDK_第6张图片


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

–go

而实际上这里应该是

--go

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

 

cd ~/manifold/Linux_for_Tegra/bootloader
sudo ./nvflash --read APP system.img --bl ardbeg/fastboot.bin –go

 

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

 

(六)恢复系统镜像

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


【妙算使用笔记】妙算学(zhe)习(teng)笔记 ——MANIFOLD下安装Onboard SDK_第7张图片


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

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

 

cd ..
sudo ./flash.sh –r jetson-tk1 mmcblk0p

 

一.  安装软件

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

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

软件OpenCV4tegraOpenCV有关,大概是基于2.4版本吧。

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

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

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

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

 

(一)安装CUDA

同官方,不解释

1.下载安装包cuda-repo-l4t-r21.3-6-5-prod_6.5-42_armhf.deb

2.执行以下命令进行安装

 

sudo dpkg -i cuda-repo-l4t-r21.3-6-5-prod_6.5-42_armhf.deb 
sudo apt-get update 
sudo apt-get install cuda-toolkit-6-5

 

(二)安装OpenCV4tegra

同官方,不解释。

1.下载安装包libopencv4tegra-repo_l4t-r21_2.4.10.1_armhf.deb

2.执行以下命令进行安装

 

sudo dpkg -i libopencv4tegra-repo_l4t-r21_2.4.10.1_armhf.deb
sudo apt-get update
sudo apt-get install libopencv4tegra libopencv4tegradevlibopencv4tegra-python

 

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

 

(三)安装ROS

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

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

 

1.支持平台

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


【妙算使用笔记】妙算学(zhe)习(teng)笔记 ——MANIFOLD下安装Onboard SDK_第8张图片


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

 

2.安装

2.1 配置Ubuntu存储库

 

         表示……然并卵。

 

2.2 区域设置

 

sudo update-locale LANG = C LANGUAGE = C LC_ALL = C LC_MESSAGES = POSIX

 

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

 

export LANGUAGE=en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
locale-gen en_US.UTF-8
dpkg-reconfigure locales

 

2.3 设置sources.list

 

Ubuntu 14.04Trusty armhf

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" > /etc/apt/sources.list.d/ros-latest.list'

 

2.4 设置Key

 

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

         也可以用下面这个:

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

 

2.5 安装

 

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

         ROS-Base:(Bare Bones ROS包,构建和通信库。没有GUI工具。

         桌面安装: ROSrqtrvizrobot-generic


 

sudo apt-get update
sudo apt-get install ros-indigo-ros-base
sudo apt-get install ros-indigo-desktop

 

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

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

apt-cache search ros-indigo

 

2.6 初始化rosdep

 

sudo apt-get install python-rosdep
sudo rosdep init
rosdep update

 

2.7 环境设置

 

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

 

echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source ~/.bashrc

 

2.8 获取rosinstall

 

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

 

sudo apt-get install python-rosinstall

 

2.9 验证操作系统名称

 

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

DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04"

 

至此,ROS安装告一段落。想要看教程的话参考官网,剩下的步骤都是开发ROS的教程了,这里不再献丑。

 


二.  安装并测试Onboard SDK

(一)背景

本人按照老师的需求,需要在妙算上安装OnboardSDK来控制M600 Pro实现一些功能,做二次开发。其中Onboard SDK最近刚升级到了3.3,但是3.3目前还未支持A3API,故只能下载安装之前的版本。看到知乎上有人说妙算自带SDK无需安装,我看了白天也没整明白此话何出?很迷。。。无奈咨询学长,学长跟我说,开发这个,全在ROS上,故需要先进行上述操作。然后再安装Onboard SDK 3.2 。其中所需文件从github上既可得到,我建议大家从github上面取得。作为备份我亦备份在附件一份以备不测。教程还是从DJI官网取得,还是很迷啊,中国厂商只给英文资料,只能硬着头皮翻译了。

由于3.2版本的文档我看的不是很明白,所以就结合3.3一起操作。至于文档中的介绍部分这里不献丑了,这里只罗列一些必要操作。

 

(二)准备工作

想要用Onboard SDK做开发,首先要了解ROS。本人也没有经验,只能从各大网站寻求教程。

其次是基础的C/C++基础。相信电子信息类专业基础素养大家都比我要强了。

然后,就是要参照官方文档了。这里给出3.33.2版本的链接。其实在github上下载的SDKReadme.md里面提供了相应说明的网址。

 

V3.3http://developer.dji.com/onboard-sdk/documentation/introduction/homepage.html

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

 

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


【妙算使用笔记】妙算学(zhe)习(teng)笔记 ——MANIFOLD下安装Onboard SDK_第9张图片


(三)具体步骤

1.硬件连接

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

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


【妙算使用笔记】妙算学(zhe)习(teng)笔记 ——MANIFOLD下安装Onboard SDK_第10张图片


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


【妙算使用笔记】妙算学(zhe)习(teng)笔记 ——MANIFOLD下安装Onboard SDK_第11张图片


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


【妙算使用笔记】妙算学(zhe)习(teng)笔记 ——MANIFOLD下安装Onboard SDK_第12张图片


2.软件安装

1)下载必需工具

妙算:OnboardSDK

Windows/macDJI PC Assistant 2

MobileDJI GO App

 

2)升级固件

         将飞机(M600USB连接PC/Mac升级固件。

 

3)使能SDK API

         请允许我盗张图。

 

【妙算使用笔记】妙算学(zhe)习(teng)笔记 ——MANIFOLD下安装Onboard SDK_第13张图片


3.安装OSDK

1)下载OESKhere

2)解压并进入文件夹,执行一下命令:

 

mkdir build
cd build
cmake ..
make djiosdk-core

3)安装osdk-core library

 

sudo make install djiosdk-core

 

4)建立catkin工作区间

 

mkdir catkin_ws
cd catkin_ws
mkdir src
cd src
catkin_init_workspace

 

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

 

6Build

 

cd ..
catkin_make

 

7)一定要先source setup.bash

 

source devel/setup.bash

 

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

 

rosed dji_sdk sdk_manifold.launch

 

或者直接gedit目录下dji_sdk/launch/sdk_manifold.launch

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


【妙算使用笔记】妙算学(zhe)习(teng)笔记 ——MANIFOLD下安装Onboard SDK_第14张图片


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

         端口名称参照使用手册


【妙算使用笔记】妙算学(zhe)习(teng)笔记 ——MANIFOLD下安装Onboard SDK_第15张图片


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

        

9)运行样例

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

         要启动dji_sdk需要先启动sdk_manifold

 

roslaunch dji_sdk sdk_manifold.launch

 

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

 

source devel/setup.bash
roslaunch dji_sdk dji_sdk_client.launch

 

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


参考资料:

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

你可能感兴趣的:(Linux学习笔记,妙算使用笔记)