妙算-M100 OSDK 环境安装调试


环境要求:

Ubuntu14.4(TK1自动刷新版本)
CUDA 6.5
Opencv 2.4.10.1


妙算装机参考:

参考
http://blog.csdn.net/u011619535/article/details/76100631 //妙算初始过程
http://blog.csdn.net/u012348655/article/details/50564223 //cuda、opencv以及qt的配置
http://blog.csdn.net/yuyangyg/article/details/60777488 //安装ros indigo
由于妙算其实就是用TK1核心板做的面向大疆的gpu处理器,所以很多配置与TK1相同。

需要的安装包:链接:http://pan.baidu.com/s/1hr3bECk 密码:w2to

TK1:

参考
http://blog.csdn.net/FRD2009041510/article/details/42042807 //平台搭建
http://blog.csdn.net/FRD2009041510/article/category/2774057 //教程

监控GPU:

参考
https://devtalk.nvidia.com/default/topic/928386/gpu-usage-monitoring-on-tx1/?offset=2
http://www.rthpc.com/View?id=418
http://colabug.com/244504.html
http://s1nh.org/post/tx-1-zero-copy/
http://blog.csdn.net/nnnnnnnnnnnny/article/details/52823440

 sudo  ~/tegrastats

妙算装机过程

步骤一、二、三按照博主@凡人就行操作,博客链接:http://blog.csdn.net/u011619535/article/details/76100631。步骤四基本按照官方文档操作。

一、安装CUDA

同官方文档一致即可。

1.下载大疆提供的cuda安装包。
2.执行以下命令进行安装

sudo dpkg -i cuda-repo-l4t-r21.3
sudo apt-get update

二、安装Opencv

同官方文档一致即可。

1.下载大疆提供的Opencv安装包。
2.执行以下命令进行安装

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

安装过程中,只是成功安装libopencv4tegra,libopencv4tegra-devlibopencv4tegra-python没有成功安装,

三、安装ROS

1、参照 ROS.org进行操作。
链接:http://wiki.ros.org/indigo/Installation/UbuntuARM
2、配置ubuntu存储库,这一步我略过,没出现问题。
3、区域设置
4、设置sources.list

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

5、设置key

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

6、执行安装命令
首先进行安装更新,再进行ROS-base和desktop安装,其他包可以自由选择安装。在此之前一定先进行安装更新!!!
ROS-Base包:(Bare Bones) ROS包,构建和通信库。没有GUI工具。
desktop包 : ROS,rqt,rviz和robot-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

妙算属于TK1定制板子,所以安装包及软件属于特定版本,不能轻易更新系统、软件的版本。所以谨慎使用sudo apt-get upgrade 指令,此指令会更新软件、包、系统等到最新版本。参考博主所解释:http://www.baiyuxiong.com/?p=529

7、初始化rosdep

sudo apt-get install python-rosdep
sudo rosdep fix-permissions //使用此命令来进行初始化操作而不要使用 sudo rosdep init
rosdep update //命令前不要加sudo,会造成执行ros时无权限报错

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

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

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

sudo apt-get install python-rosinstall

10、验证操作系统名称

参考链接:https://www.cnblogs.com/yhlx125/p/5138317.html

新建终端输入:roscore
再新建终端输入:rosrun turtlesim turtlesim_node,此时会出现新的视图界面,只有一只小乌龟。
再新建终端输入:rosrun turtlesim turtle_telelop_key,此时小乌龟可以使用键盘上下左右按键控制移动。
再新建终端输入:rosnode list,即可查看运行的节点。
测试结束,可以按下Alt+f4快捷键关闭各终端。

验证ROS是否安装成功尽量使妙算本机连接显示屏。


制作系统镜像

1、一台linux计算机,我使用了VM下ubuntu16的虚拟机进行操作。
2、硬盘剩余空间大于16GB。请一定确保硬盘有足够的剩余空间,否则将会导致失败。

1、在虚拟机进行制作镜像时,首先需要将妙算的USB连接到虚拟机下,连接方法是首先安装vm tools,当妙算进入恢复模式后点击虚拟机右下方的USB小图标,将NVidia Corp 连接到虚拟机内。此时使用lsusb命令可查看是否成功连接。
2、在进行镜像制作之前使用 sudo df -h命令查看磁盘剩余空间,确保大于16GB,最好大于30GB。在进行镜像制作时最好将连接电脑和妙算的USB插口插到主机电脑的USB2.0的机箱后置接口上,确保连接。

3、进入恢复模式
方法1
方法2

在主机终端输入lsusb查看USB是否成功连接。

4、制作系统镜像
进入bootLoader文件夹:

cd ~/Linux_for_Tegra/bootloader

若文件夹内存在system.img先删除。
执行如下命令开始制作:

sudo ./nvflash --read APP system.img --bl ardbeg/fastboot.bin --go

制作镜像大概需要四五个小时,执行命令后可以去干别的去了。另外一定注意自己主机电脑和虚拟机不要设置休眠时间,万一半小时后电脑休眠···你只能重新了。

在官方给的文档中进入/manifold/manifold_images/bootloader目录,但是实际是/Linux_for_Tegra/bootloader目录。另外官方给出的命令中-go实际为--go,此命令其他位置与此相同。

恢复系统镜像

系统需求:

1、一台linux计算机,我使用了VM下ubuntu14的虚拟机进行操作。务必使用ubuntu14的上位机进行镜像恢复工作,在使用ubuntu16的上位机进行恢复操作时开机之后妙算显示会有闪屏以及sudo权限问题。
2、先进入恢复模式,操作参考制作镜像时操作。
3、若想要将系统恢复至出厂系统则进入/Linux_for_Tegra/bootloader路径下,若文件夹内存在system.img先删除,使用如下命令:

sudo ./flash.sh jetson-tk1 mmcb1k0p1

4、若想要将系统恢复到先前制作的镜像版本,则将镜像文件system.img复制到/Linux_for_Tegra/bootloader路径下,使用如下命令:

sudo ./flash.sh -r jetson-tk1 mmcb1k0p1

安装caffe

参考TK1 caffe安装方式,进行妙算caffe安装。
以上步骤CUDA、opencv安装完成。
1、安装caffe依赖库

sudo apt-get install libprotobuf-dev libleveldb-devlibsnappy-dev libopencv-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get install--no-install-recommends libboost-all-dev
sudoapt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev

2、安装openBLAS
首先下载BLAS安装包,解压、安装。

tar -xzvf 
sudo make -j4
sudo make install -j4

在实际安装过程中,使用4个核心比较合适,有一次使用全部核心进行编译时报错,后面查到说是内存不够,于是慢慢尝试,4个核心进行编译不会出现此类问题,速度也可以接受。

安装完成后在/etc/ld.so.conf.d文件夹中添加opencv.conf文件,并将openBLAS的lib路径/etc/ld.so.conf文件写到opencv.conf文件内,并执行sudo ldconfig更新。
5、开始安装caffe
下载caffe安装包,复制Makefile.config.example为Makefile.config,并修改Makefile.config
将下列代码中最后三行注释即可。

CUDA_ARCH :=  -gencode arch=compute_20,code=sm_20 \
-gencode  arch=compute_20,code=sm_21 \
-gencode arch=compute_30,code=sm_30  \
-gencode  arch=compute_35,code=sm_35 \
-gencode  arch=compute_50,code=sm_50 \
-gencode  arch=compute_52,code=sm_52 \
-gencode  arch=compute_60,code=sm_60 \
-gencode arch=compute_61,code=sm_61 \
-gencode arch=compute_61,code=compute_61

6、在Makefile.config文件内,修改BLAS 值为open、修改BLAS_INCLUDE和BLAS_LIB的路径

BLAS_INCLUDE:=/opt/OpenBLAS/include
BLAS_LIB:=/opt/OpenBLAS/lib

7、在/caffe_master目录下进行编译操作:

sudo make all -j4
sudo make pycaffe -j4
sudo make test -j4
sudo make runtest -j4

8、caffe安装错误集锦:
1、在执行sudo make all -j4命令时,出现如下错误:

/usr/bin/ld: cannot find -lcblas
/usr/bin/ld: cannot find -latlas

问题是缺少atlas库文件,所以执行sudo apt-get install libatlas-base-dev,问题解决。
2、执行sudo make runtest -j4命令时出现错误:

error while loading shared libraries: libcudart.so.6.5: cannot open shared object file: No such file

执行如下命令即可解决:

sudo cp /usr/local/cuda-6.5/lib/libcudart.so.6.5 /usr/local/lib/libcudart.so.6.5 
sudo ldconfig
sudo cp /usr/local/cuda-6.5/lib/libcublas.so.6.5 /usr/local/lib/libcublas.so.6.5 
sudo ldconfig
sudo cp /usr/local/cuda-6.5/lib/libcurand.so.6.5 /usr/local/lib/libcurand.so.6.5 
sudo ldconfig

最后进行caffe测试操作。


安装测试Onboard SDK

硬件连接

以M100为例,使用M100串口(本次使用UART_CAN2)与妙算相连,使用原装6p线。使用USB数据线将电脑与M100连接。

软件操作

一、准备工作

1、首先在大疆开发者模块上新建一个APP获取APP ID 和 APP key。
2、安装大疆模拟器DJI PC Assistant 2及驱动。
3、先进行APP仿真测试。

二、安装OSDK(Onboard SDK)

1、下载OSDK.
2、解压并进入解压文件夹,执行命令如下:

unzip Onboard-SDK-3.2.zip
cd ~/Onboard-SDK
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目录下。

unzip Onboard-SDK-ROS-3.2.zip

6、build

cd ..  
catkin_make

7、source一下(十分重要,每次运行样例前都要先进行一下此命令)。

source devel/setup.bash

8、

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

rosed dji_sdk sdk_manifold.launch

或者直接在dji_sdk/launch/ 目录下编辑sdk_manifold.launch文件。

9、运行样例
要启动dji_sdk需要先启动sdk_manifold

roslaunch dji_sdk sdk_manifold.launch

然后打开新的终端输入:

source devel/setup.bash  
roslaunch dji_sdk dji_sdk_client.launch

over!!!

1、回退版本
2、从回复模式可以启动
3、UUID冲突
4、执行命令fsck -> 回车 -> y


妙算新系统配置

mkdir mcc
sudo mount /dev/mmcblk1p1 /home/ubuntu/mcc
sudo chmod -R 777 /mcc
cp -r mcc/package Download/
cd Download/package
python logout.py
python login.py
sudo apt-get update
sudo apt-get dist-upgrade
sudo ./install.sh

sudo apt-get install python-rosdep
sudo rosdep fix-permissions //使用此命令来进行初始化操作而不要使用 sudo rosdep init
rosdep update //命令前不要加sudo,会造成执行ros时无权限报错
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt-get install python-rosinstall //rosinstall命令是一个使用的非常频繁的命令,使用这个命令可以轻松的下载许多ROS软件包。

具体解释见妙算安装文档


闲杂问题:

ubuntu software updater 意外关闭

在终端输入以下命令即可:
sudo apt-get update
sudo apt-get dist-upgrade

ubuntu 中 rc.local文件中命令开机不执行

在Ubuntu中配置开机启动的命令,有很多方式,在rc.local中配置是比较简单方便的一种,但是配置完后,却发现配置的sh脚本始终不执行,开始怀疑是rc.local没执行,用echo打印了些信息,发现都执行了。网上查询诸多解决方案,最终发现是有shell的问题造成的。有些命令需要在bash shell中运行,而不能在dash中运行。
因为从Ubuntu 6.10开始,默认使用dash(theDebian Almquist Shell)而不是bash(the GNUBourne-Again Shell). 但Login Shell还是bash。使用SHELL命令查了下,看到/bin/sh链接到了/bin/dash,而/etc/rc.local脚本中用的正是/bin/sh,导致命令无法运行。

解决方案:
1.将/etc/rc.local的命令改成更加兼容的模式,将"#!/bin/sh"改为"#!/bin/bash"
2.将/bin/sh重新链接到/bin/bash,方法如下:
方法一:终端执行 sudo dpkg-reconfigure dash,然后选择 no.
方法二:重新进行软链接,执行以下命令:
sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh
这样就将/bin/sh链接到了/bin/bash。reboot系统后,命令正常执行。
参考链接:http://blog.csdn.net/benbenxiongyuan/article/details/58597036

Ubuntu find命令查找磁盘大文件用法

全盘查找大于1G的文件

sudo find / -type f -size +1024000k -exec du -h {} ;

查找当前目录下大于10MB的文件

find . -type f -size +10000k -exec ls -lh {} ; | awk ‘{ print $8 “: ” $5 }’

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,519评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,842评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,544评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,742评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,646评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,027评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,513评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,169评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,324评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,268评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,299评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,996评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,591评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,667评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,911评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,288评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,871评论 2 341