妙算-M100 OSDK 環(huán)境安裝調(diào)試


環(huán)境要求:

Ubuntu14.4(TK1自動(dòng)刷新版本)
CUDA 6.5
Opencv 2.4.10.1


妙算裝機(jī)參考:

參考
http://blog.csdn.net/u011619535/article/details/76100631 //妙算初始過(guò)程
http://blog.csdn.net/u012348655/article/details/50564223 //cuda、opencv以及qt的配置
http://blog.csdn.net/yuyangyg/article/details/60777488 //安裝ros indigo
由于妙算其實(shí)就是用TK1核心板做的面向大疆的gpu處理器,所以很多配置與TK1相同。

需要的安裝包:鏈接:http://pan.baidu.com/s/1hr3bECk 密碼:w2to

TK1:

參考
http://blog.csdn.net/FRD2009041510/article/details/42042807 //平臺(tái)搭建
http://blog.csdn.net/FRD2009041510/article/category/2774057 //教程

監(jiān)控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

妙算裝機(jī)過(guò)程

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

一、安裝CUDA

同官方文檔一致即可。

1.下載大疆提供的cuda安裝包。
2.執(zhí)行以下命令進(jìn)行安裝

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

二、安裝Opencv

同官方文檔一致即可。

1.下載大疆提供的Opencv安裝包。
2.執(zhí)行以下命令進(jìn)行安裝

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

安裝過(guò)程中,只是成功安裝libopencv4tegra,libopencv4tegra-devlibopencv4tegra-python沒(méi)有成功安裝,

三、安裝ROS

1、參照 ROS.org進(jìn)行操作。
鏈接:http://wiki.ros.org/indigo/Installation/UbuntuARM
2、配置ubuntu存儲(chǔ)庫(kù),這一步我略過(guò),沒(méi)出現(xiàn)問(wèn)題。
3、區(qū)域設(shè)置
4、設(shè)置sources.list

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

5、設(shè)置key

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

6、執(zhí)行安裝命令
首先進(jìn)行安裝更新,再進(jìn)行ROS-base和desktop安裝,其他包可以自由選擇安裝。在此之前一定先進(jìn)行安裝更新?。?!
ROS-Base包:(Bare Bones) ROS包,構(gòu)建和通信庫(kù)。沒(méi)有GUI工具。
desktop包 : ROS,rqt,rviz和robot-generic庫(kù)。

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定制板子,所以安裝包及軟件屬于特定版本,不能輕易更新系統(tǒng)、軟件的版本。所以謹(jǐn)慎使用sudo apt-get upgrade 指令,此指令會(huì)更新軟件、包、系統(tǒng)等到最新版本。參考博主所解釋:http://www.baiyuxiong.com/?p=529

7、初始化rosdep

sudo apt-get install python-rosdep
sudo rosdep fix-permissions //使用此命令來(lái)進(jìn)行初始化操作而不要使用 sudo rosdep init
rosdep update //命令前不要加sudo,會(huì)造成執(zhí)行ros時(shí)無(wú)權(quán)限報(bào)錯(cuò)

8、環(huán)境設(shè)置
因?yàn)槲覀冎话惭b了一個(gè)ROS發(fā)行版,所以不用考慮其他的,只需要執(zhí)行如下命令:

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

9、獲取rosinstall
rosinstall是ROS中經(jīng)常使用的命令行工具,它分開(kāi)分發(fā)。它使您能夠通過(guò)一個(gè)命令輕松下載許多ROS包的源代碼樹(shù)。

sudo apt-get install python-rosinstall

10、驗(yàn)證操作系統(tǒng)名稱

參考鏈接:https://www.cnblogs.com/yhlx125/p/5138317.html

新建終端輸入:roscore
再新建終端輸入:rosrun turtlesim turtlesim_node,此時(shí)會(huì)出現(xiàn)新的視圖界面,只有一只小烏龜。
再新建終端輸入:rosrun turtlesim turtle_telelop_key,此時(shí)小烏龜可以使用鍵盤(pán)上下左右按鍵控制移動(dòng)。
再新建終端輸入:rosnode list,即可查看運(yùn)行的節(jié)點(diǎn)。
測(cè)試結(jié)束,可以按下Alt+f4快捷鍵關(guān)閉各終端。

驗(yàn)證ROS是否安裝成功盡量使妙算本機(jī)連接顯示屏。


制作系統(tǒng)鏡像

1、一臺(tái)linux計(jì)算機(jī),我使用了VM下ubuntu16的虛擬機(jī)進(jìn)行操作。
2、硬盤(pán)剩余空間大于16GB。請(qǐng)一定確保硬盤(pán)有足夠的剩余空間,否則將會(huì)導(dǎo)致失敗。

1、在虛擬機(jī)進(jìn)行制作鏡像時(shí),首先需要將妙算的USB連接到虛擬機(jī)下,連接方法是首先安裝vm tools,當(dāng)妙算進(jìn)入恢復(fù)模式后點(diǎn)擊虛擬機(jī)右下方的USB小圖標(biāo),將NVidia Corp 連接到虛擬機(jī)內(nèi)。此時(shí)使用lsusb命令可查看是否成功連接。
2、在進(jìn)行鏡像制作之前使用 sudo df -h命令查看磁盤(pán)剩余空間,確保大于16GB,最好大于30GB。在進(jìn)行鏡像制作時(shí)最好將連接電腦和妙算的USB插口插到主機(jī)電腦的USB2.0的機(jī)箱后置接口上,確保連接。

3、進(jìn)入恢復(fù)模式
方法1
方法2

在主機(jī)終端輸入lsusb查看USB是否成功連接。

4、制作系統(tǒng)鏡像
進(jìn)入bootLoader文件夾:

cd ~/Linux_for_Tegra/bootloader

若文件夾內(nèi)存在system.img先刪除。
執(zhí)行如下命令開(kāi)始制作:

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

制作鏡像大概需要四五個(gè)小時(shí),執(zhí)行命令后可以去干別的去了。另外一定注意自己主機(jī)電腦和虛擬機(jī)不要設(shè)置休眠時(shí)間,萬(wàn)一半小時(shí)后電腦休眠···你只能重新了。

在官方給的文檔中進(jìn)入/manifold/manifold_images/bootloader目錄,但是實(shí)際是/Linux_for_Tegra/bootloader目錄。另外官方給出的命令中-go實(shí)際為--go,此命令其他位置與此相同。

恢復(fù)系統(tǒng)鏡像

系統(tǒng)需求:

1、一臺(tái)linux計(jì)算機(jī),我使用了VM下ubuntu14的虛擬機(jī)進(jìn)行操作。務(wù)必使用ubuntu14的上位機(jī)進(jìn)行鏡像恢復(fù)工作,在使用ubuntu16的上位機(jī)進(jìn)行恢復(fù)操作時(shí)開(kāi)機(jī)之后妙算顯示會(huì)有閃屏以及sudo權(quán)限問(wèn)題。
2、先進(jìn)入恢復(fù)模式,操作參考制作鏡像時(shí)操作。
3、若想要將系統(tǒng)恢復(fù)至出廠系統(tǒng)則進(jìn)入/Linux_for_Tegra/bootloader路徑下,若文件夾內(nèi)存在system.img先刪除,使用如下命令:

sudo ./flash.sh jetson-tk1 mmcb1k0p1

4、若想要將系統(tǒng)恢復(fù)到先前制作的鏡像版本,則將鏡像文件system.img復(fù)制到/Linux_for_Tegra/bootloader路徑下,使用如下命令:

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

安裝caffe

參考TK1 caffe安裝方式,進(jìn)行妙算caffe安裝。
以上步驟CUDA、opencv安裝完成。
1、安裝caffe依賴庫(kù)

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

在實(shí)際安裝過(guò)程中,使用4個(gè)核心比較合適,有一次使用全部核心進(jìn)行編譯時(shí)報(bào)錯(cuò),后面查到說(shuō)是內(nèi)存不夠,于是慢慢嘗試,4個(gè)核心進(jìn)行編譯不會(huì)出現(xiàn)此類問(wèn)題,速度也可以接受。

安裝完成后在/etc/ld.so.conf.d文件夾中添加opencv.conf文件,并將openBLAS的lib路徑/etc/ld.so.conf文件寫(xiě)到opencv.conf文件內(nèi),并執(zhí)行sudo ldconfig更新。
5、開(kāi)始安裝caffe
下載caffe安裝包,復(fù)制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文件內(nèi),修改BLAS 值為open、修改BLAS_INCLUDE和BLAS_LIB的路徑

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

7、在/caffe_master目錄下進(jìn)行編譯操作:

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

8、caffe安裝錯(cuò)誤集錦:
1、在執(zhí)行sudo make all -j4命令時(shí),出現(xiàn)如下錯(cuò)誤:

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

問(wèn)題是缺少atlas庫(kù)文件,所以執(zhí)行sudo apt-get install libatlas-base-dev,問(wèn)題解決。
2、執(zhí)行sudo make runtest -j4命令時(shí)出現(xiàn)錯(cuò)誤:

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

執(zhí)行如下命令即可解決:

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

最后進(jìn)行caffe測(cè)試操作。


安裝測(cè)試Onboard SDK

硬件連接

以M100為例,使用M100串口(本次使用UART_CAN2)與妙算相連,使用原裝6p線。使用USB數(shù)據(jù)線將電腦與M100連接。

軟件操作

一、準(zhǔn)備工作

1、首先在大疆開(kāi)發(fā)者模塊上新建一個(gè)APP獲取APP ID 和 APP key。
2、安裝大疆模擬器DJI PC Assistant 2及驅(qū)動(dòng)。
3、先進(jìn)行APP仿真測(cè)試。

二、安裝OSDK(Onboard SDK)

1、下載OSDK.
2、解壓并進(jìn)入解壓文件夾,執(zhí)行命令如下:

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工作區(qū)間

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一下(十分重要,每次運(yùn)行樣例前都要先進(jìn)行一下此命令)。

source devel/setup.bash

8、

編輯App ID、波特率、Key和端口名稱

rosed dji_sdk sdk_manifold.launch

或者直接在dji_sdk/launch/ 目錄下編輯sdk_manifold.launch文件。

9、運(yùn)行樣例
要啟動(dòng)dji_sdk需要先啟動(dòng)sdk_manifold

roslaunch dji_sdk sdk_manifold.launch

然后打開(kāi)新的終端輸入:

source devel/setup.bash  
roslaunch dji_sdk dji_sdk_client.launch

over?。?!

1、回退版本
2、從回復(fù)模式可以啟動(dòng)
3、UUID沖突
4、執(zhí)行命令fsck -> 回車(chē) -> y


妙算新系統(tǒng)配置

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 //使用此命令來(lái)進(jìn)行初始化操作而不要使用 sudo rosdep init
rosdep update //命令前不要加sudo,會(huì)造成執(zhí)行ros時(shí)無(wú)權(quán)限報(bào)錯(cuò)
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt-get install python-rosinstall //rosinstall命令是一個(gè)使用的非常頻繁的命令,使用這個(gè)命令可以輕松的下載許多ROS軟件包。

具體解釋見(jiàn)妙算安裝文檔


閑雜問(wèn)題:

ubuntu software updater 意外關(guān)閉

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

ubuntu 中 rc.local文件中命令開(kāi)機(jī)不執(zhí)行

在Ubuntu中配置開(kāi)機(jī)啟動(dòng)的命令,有很多方式,在rc.local中配置是比較簡(jiǎn)單方便的一種,但是配置完后,卻發(fā)現(xiàn)配置的sh腳本始終不執(zhí)行,開(kāi)始懷疑是rc.local沒(méi)執(zhí)行,用echo打印了些信息,發(fā)現(xiàn)都執(zhí)行了。網(wǎng)上查詢諸多解決方案,最終發(fā)現(xiàn)是有shell的問(wèn)題造成的。有些命令需要在bash shell中運(yùn)行,而不能在dash中運(yùn)行。
因?yàn)閺腢buntu 6.10開(kāi)始,默認(rèn)使用dash(theDebian Almquist Shell)而不是bash(the GNUBourne-Again Shell). 但Login Shell還是bash。使用SHELL命令查了下,看到/bin/sh鏈接到了/bin/dash,而/etc/rc.local腳本中用的正是/bin/sh,導(dǎo)致命令無(wú)法運(yùn)行。

解決方案:
1.將/etc/rc.local的命令改成更加兼容的模式,將"#!/bin/sh"改為"#!/bin/bash"
2.將/bin/sh重新鏈接到/bin/bash,方法如下:
方法一:終端執(zhí)行 sudo dpkg-reconfigure dash,然后選擇 no.
方法二:重新進(jìn)行軟鏈接,執(zhí)行以下命令:
sudo rm /bin/sh
sudo ln -s /bin/bash /bin/sh
這樣就將/bin/sh鏈接到了/bin/bash。reboot系統(tǒng)后,命令正常執(zhí)行。
參考鏈接:http://blog.csdn.net/benbenxiongyuan/article/details/58597036

Ubuntu find命令查找磁盤(pán)大文件用法

全盤(pán)查找大于1G的文件

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

查找當(dāng)前目錄下大于10MB的文件

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容