環(huán)境要求:
Ubuntu14.4(TK1自動刷新版本)
CUDA 6.5
Opencv 2.4.10.1
妙算裝機(jī)參考:
參考 :
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 //教程
監(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ī)過程
步驟一、二褪贵、三按照博主@凡人就行操作,博客鏈接: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
安裝過程中裆馒,只是成功安裝libopencv4tegra,libopencv4tegra-devlibopencv4tegra-python沒有成功安裝丐怯,
三喷好、安裝ROS
1、參照 ROS.org進(jìn)行操作读跷。
鏈接:http://wiki.ros.org/indigo/Installation/UbuntuARM
2梗搅、配置ubuntu存儲庫,這一步我略過效览,沒出現(xià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)行安裝更新M湓骸H枋俊!
ROS-Base包:(Bare Bones) ROS包听绳,構(gòu)建和通信庫颂碘。沒有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定制板子贴妻,所以安裝包及軟件屬于特定版本切油,不能輕易更新系統(tǒng)、軟件的版本名惩。所以謹(jǐn)慎使用sudo apt-get upgrade 指令澎胡,此指令會更新軟件、包娩鹉、系統(tǒng)等到最新版本攻谁。參考博主所解釋:http://www.baiyuxiong.com/?p=529
7、初始化rosdep
sudo apt-get install python-rosdep
sudo rosdep fix-permissions //使用此命令來進(jìn)行初始化操作而不要使用 sudo rosdep init
rosdep update //命令前不要加sudo弯予,會造成執(zhí)行ros時無權(quán)限報錯
8戚宦、環(huán)境設(shè)置
因為我們只安裝了一個ROS發(fā)行版,所以不用考慮其他的锈嫩,只需要執(zhí)行如下命令:
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source ~/.bashrc
9受楼、獲取rosinstall
rosinstall是ROS中經(jīng)常使用的命令行工具垦搬,它分開分發(fā)。它使您能夠通過一個命令輕松下載許多ROS包的源代碼樹艳汽。
sudo apt-get install python-rosinstall
10猴贰、驗證操作系統(tǒng)名稱
參考鏈接:https://www.cnblogs.com/yhlx125/p/5138317.html
新建終端輸入:roscore
再新建終端輸入:rosrun turtlesim turtlesim_node,此時會出現(xiàn)新的視圖界面河狐,只有一只小烏龜米绕。
再新建終端輸入:rosrun turtlesim turtle_telelop_key,此時小烏龜可以使用鍵盤上下左右按鍵控制移動馋艺。
再新建終端輸入:rosnode list栅干,即可查看運行的節(jié)點。
測試結(jié)束捐祠,可以按下Alt+f4快捷鍵關(guān)閉各終端碱鳞。
驗證ROS是否安裝成功盡量使妙算本機(jī)連接顯示屏。
制作系統(tǒng)鏡像
1雏赦、一臺linux計算機(jī)劫笙,我使用了VM下ubuntu16的虛擬機(jī)進(jìn)行操作芙扎。
2星岗、硬盤剩余空間大于16GB。請一定確保硬盤有足夠的剩余空間戒洼,否則將會導(dǎo)致失敗俏橘。
1、在虛擬機(jī)進(jìn)行制作鏡像時圈浇,首先需要將妙算的USB連接到虛擬機(jī)下寥掐,連接方法是首先安裝vm tools,當(dāng)妙算進(jìn)入恢復(fù)模式后點擊虛擬機(jī)右下方的USB小圖標(biāo)磷蜀,將NVidia Corp 連接到虛擬機(jī)內(nèi)召耘。此時使用
lsusb
命令可查看是否成功連接。
2褐隆、在進(jìn)行鏡像制作之前使用sudo df -h
命令查看磁盤剩余空間污它,確保大于16GB,最好大于30GB庶弃。在進(jìn)行鏡像制作時最好將連接電腦和妙算的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í)行如下命令開始制作:
sudo ./nvflash --read APP system.img --bl ardbeg/fastboot.bin --go
制作鏡像大概需要四五個小時葬毫,執(zhí)行命令后可以去干別的去了镇辉。另外一定注意自己主機(jī)電腦和虛擬機(jī)不要設(shè)置休眠時間,萬一半小時后電腦休眠···你只能重新了贴捡。
在官方給的文檔中進(jìn)入
/manifold/manifold_images/bootloader
目錄摊聋,但是實際是/Linux_for_Tegra/bootloader
目錄。另外官方給出的命令中-go
實際為--go
栈暇,此命令其他位置與此相同麻裁。
恢復(fù)系統(tǒng)鏡像
系統(tǒng)需求:
1、一臺linux計算機(jī)源祈,我使用了VM下ubuntu14的虛擬機(jī)進(jìn)行操作煎源。務(wù)必使用ubuntu14的上位機(jī)進(jìn)行鏡像恢復(fù)工作,在使用ubuntu16的上位機(jī)進(jìn)行恢復(fù)操作時開機(jī)之后妙算顯示會有閃屏以及sudo
權(quán)限問題香缺。
2手销、先進(jìn)入恢復(fù)模式,操作參考制作鏡像時操作图张。
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依賴庫
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個核心比較合適,有一次使用全部核心進(jìn)行編譯時報錯帝际,后面查到說是內(nèi)存不夠蔓同,于是慢慢嘗試,4個核心進(jìn)行編譯不會出現(xiàn)此類問題蹲诀,速度也可以接受斑粱。
安裝完成后在/etc/ld.so.conf.d文件夾中添加opencv.conf
文件,并將openBLAS的lib路徑/etc/ld.so.conf
文件寫到opencv.conf
文件內(nèi)脯爪,并執(zhí)行sudo ldconfig
更新则北。
5矿微、開始安裝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安裝錯誤集錦:
1名秀、在執(zhí)行sudo make all -j4
命令時,出現(xiàn)如下錯誤:
/usr/bin/ld: cannot find -lcblas
/usr/bin/ld: cannot find -latlas
問題是缺少atlas庫文件藕溅,所以執(zhí)行sudo apt-get install libatlas-base-dev
匕得,問題解決。
2巾表、執(zhí)行sudo make runtest -j4
命令時出現(xiàn)錯誤:
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測試操作汁掠。
安裝測試Onboard SDK
硬件連接
以M100為例,使用M100串口(本次使用UART_CAN2)與妙算相連集币,使用原裝6p線考阱。使用USB數(shù)據(jù)線將電腦與M100連接惠猿。
軟件操作
一羔砾、準(zhǔn)備工作
1、首先在大疆開發(fā)者模塊上新建一個APP獲取APP ID 和 APP key偶妖。
2趾访、安裝大疆模擬器DJI PC Assistant 2及驅(qū)動愤诱。
3淫半、先進(jìn)行APP仿真測試溃槐。
二、安裝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一下(十分重要肌厨,每次運行樣例前都要先進(jìn)行一下此命令)。
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!O榉獭譬圣!
1、回退版本
2雄坪、從回復(fù)模式可以啟動
3厘熟、UUID沖突
4、執(zhí)行命令fsck -> 回車 -> 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 //使用此命令來進(jìn)行初始化操作而不要使用 sudo rosdep init
rosdep update //命令前不要加sudo维哈,會造成執(zhí)行ros時無權(quán)限報錯
echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt-get install python-rosinstall //rosinstall命令是一個使用的非常頻繁的命令绳姨,使用這個命令可以輕松的下載許多ROS軟件包。
具體解釋見妙算安裝文檔
閑雜問題:
ubuntu software updater 意外關(guān)閉
在終端輸入以下命令即可:
sudo apt-get update
sudo apt-get dist-upgrade
ubuntu 中 rc.local文件中命令開機(jī)不執(zhí)行
在Ubuntu中配置開機(jī)啟動的命令阔挠,有很多方式飘庄,在rc.local中配置是比較簡單方便的一種,但是配置完后购撼,卻發(fā)現(xiàn)配置的sh腳本始終不執(zhí)行跪削,開始懷疑是rc.local沒執(zhí)行,用echo打印了些信息迂求,發(fā)現(xiàn)都執(zhí)行了碾盐。網(wǎng)上查詢諸多解決方案,最終發(fā)現(xiàn)是有shell的問題造成的揩局。有些命令需要在bash shell中運行毫玖,而不能在dash中運行。
因為從Ubuntu 6.10開始,默認(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)致命令無法運行春霍。
解決方案:
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命令查找磁盤大文件用法
全盤查找大于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 }’