完整的Ubuntu18.04+ROS+PX4+Anaconda+PyTorch+GPU+CUDA+CUDNN+XTdrone配置智能无人机开发环境搭建过程

最近在做PX4的开发,故记录一些过程,会慢慢完善
同时因为本教程时间跨度较长,本人多次修改,所以会出现一些细节上打不对,如cuda安装中可能出现图片里面是11.3版本,文字中是11.6版本,因为后面重新安装过所以会出现不同,但是内容是正确的

一、Ubuntu安装在移动硬盘中

1.Ubuntu安装

本人参考的这个博客进行安装,只不过我安装的是18.04系统
即插即用——移动硬盘安装Ubuntu20.04
我购买的是SSK的512G的硬盘,空间足够存放东西
在Win10中安装VMware,然后新建一个虚拟机,可以把Ubuntu18.04安装到移动硬盘里面(注意提前格式化一下)

2.工具安装

我安装了一些又用的工具
深度终端,可以同时打开多个终端,用起来更加顺手

sudo apt install  -y  deepin-terminal

Ubuntu系统默认没有Flash插件,浏览器打不开网站视频,所以需要安装

sudo apt install flashplugin-installer
sudo apt install browser-plugin-freshplayer-pepperflash

3.其他环境

(1)LaTex

sudo apt-get install texlive-full
sudo apt-get install texstudio

这里第一个指令会安装编译环境,这是LaTex的基础,第二个会安装官方的IDE,个人感觉比较好用,这是一个图形化的环境,可以在编辑的同时看到预览效果
默认安装环境是英文,可以先改成中文:
在工具栏找到options–>configure texstudio–>general–>language
en改为zh-CN即可
在这里插入图片描述在这里插入图片描述
安装完毕之后,需要把TeXstudio的编译引擎修改为XeLaTeX,具体如下:
选项–>设置–>构建–>默认编译器
改为XeLaTeX
在这里插入图片描述

二、ROS安装

这里CSDN上教程很多,不做过多叙述,总的来说就是更换国内源(我是中科大的源),然后安装ROS,然后在rosdep的时候使用小鱼的rosdepc完成初始化,就可以了
因为Ubuntu默认的软件下载来源(软件源)是国外网站,一般情况下国内网络难以到达,或者速度慢,所以要更换,中科大、华为等机构有镜像源
终端输入

sudo gedit /etc/apt/sources.list

输入密码,打开包含软件源地址的文件,将里面的东西全部删除,将下面的地址复制粘贴,然后保存退出

deb https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
deb https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src https://mirrors.ustc.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse

然后终端输入

sudo apt update
sudo apt upgrade

完成更新软件源

三、PX4+XTdrone环境安装

使用肖昆老师的教程安装,在我的另一篇博客里面有一些安装问题的解决方法
这里我进行了一些优化

1.依赖安装

pip3 install packaging numpy empy toml pyyaml jinja2 pyargparse -i https://pypi.tuna.tsinghua.edu.cn/simple
pip2 install pandas jinja2 pyserial cerberus pyulog==0.7.0 numpy toml pyquaternion empy pyyaml  -i https://pypi.tuna.tsinghua.edu.cn/simple

这样可以比原教程更快完成,而且更不容易报错

2.MAVROS安装

原教程里面有一个sh文件的加载,这一步十分耗时,所以进行一些修改
直接下载压缩包,解压,然后将其子文件夹移动到目录/usr/share/GeographicLib下,就可以完成操作了
链接: https://pan.baidu.com/s/1Fw3HWJqGvAz2USomgF9eqA 提取码: q2pn
上面是压缩包,解压后得到三个文件夹,如图在这里插入图片描述然后在终端输入

cd /usr/share/
sudo mkdir -p GeographicLib
cd GeographicLib

完成文件夹的创建
可以在对应文件夹下看到,文件夹已经创建成功,接下来就是把解压得到的东西转移进去了,因为这是在/usr文件夹下,所以需要sudo权限

sudo cp -r /home/ncepu/下载/Baidu/geographic-lib/magnetic /usr/share/GeographicLib/
sudo cp -r /home/ncepu/下载/Baidu/geographic-lib/gravity /usr/share/GeographicLib/
sudo cp -r /home/ncepu/下载/Baidu/geographic-lib/geoids /usr/share/GeographicLib/

大家记得换成自己的解压目录

四、显卡配置

1.禁用原显卡驱动

因为Ubuntu是用的一个开源显卡驱动,所以需要先禁用,大概就加入黑名单
首先卸载其他Nvidia的显卡驱动

sudo apt-get --purge remove nvidia*

然后

sudo gedit /etc/modprobe.d/blacklist.conf

在最后一行加上,用于禁用,保存后退出

blacklist nouveau
options nouveau modeset=0

然后更新

sudo update-initramfs -u

然后重启电脑
在终端输入

lsmod |grep nouveau

在这里插入图片描述如果未显示任何东西,则说明生效了
如果显示下面的情况,则表面没有正确禁用
在这里插入图片描述

2.安装显卡驱动

因为碰到了安装完驱动,电脑开机黑屏的情况,在这里给出优化后的方案

sudo gedit /etc/default/grub

在这里插入图片描述将quite-splash换成text,如上图所示,然后保存退出
然后打开软件与更新,打开附加驱动栏,选中Nvidia的驱动,然后应用修改,等待下载完成即可
在这里插入图片描述之后重启电脑,可以发现驱动安装成功,并且没有异常,就是似乎电脑启动稍微慢了一点
在这里插入图片描述

3.安装CUDA

wget https://developer.download.nvidia.com/compute/cuda/11.3.0/local_installers/cuda_11.3.0_465.19.01_linux.run
sudo sh cuda_11.3.0_465.19.01_linux.run

当然大家也可以去nvidia官网去下载安装
NVIDIA官网
在这里插入图片描述注意,驱动就不要安装了,之前安装了
在这里插入图片描述安装成功
然后导入路径

sudo gedit ~/.bashrc

打开文件后,在最后加上

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-11.6/lib64
export PATH=$PATH:/usr/local/cuda-11.6/bin
export CUDA_HOME=$CUDA_HOME:/usr/local/cuda-11.6

这里要用cuda-而不是cuda,所以大家要用自己打版本号去代替,我这里是cuda
11-6,所以路径里面就是cuda-11.6,大家注意修改
这里我安装的是cuda11.6,所以路径如此,大家可以查看一下自己的
在这里插入图片描述然后更新一下

source ~/.bashrc

然后终端输入

nvcc -V

注意,这里的V是大写
在这里插入图片描述说明安装成功

4.安装cudnn

我们首先去官网
NVIDIA的cudnn下载网站
在这里插入图片描述
根据自己的CUDA版本选择合适的cudnn版本,我这里选择的是8.5.0,这里推荐下载Tar格式的压缩包
在这里插入图片描述
我的电脑是Intel芯片,所以是X86_64架构,选择对应版本然后下载,下载后用Ubuntu自带的压缩管理器打开、解压(右键点击文件),在解压后的文件夹里面用两个文件夹
在这里插入图片描述
我们在这个文件夹下打开终端

sudo cp lib/* /usr/local/cuda-11.6/lib64/
sudo cp include/* /usr/local/cuda-11.6/include/

把lib和include文件夹里面的东西转移到cuda文件夹,这里大家对应修改自己的路径
然后大家可以用这个命令检查是否安装成功cudnn

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

在这里插入图片描述
如果安装成功,则会显示cudnn的版本号

五、Anaconda+ROS环境(PyTorch 1.11)

1.Anaconda安装+VScode编译器修改

anaconda的安装教程较多,这里不再过多叙述,我给一个为参考的教程,这个比较详细
Anaconda安装教程
我是在清华镜像上下载2021.11版本并且使用bash指令安装的,默认的安装参数,安装完成后新建一个名为pytorch的虚拟环境,python版本为3.8
在终端中输入

conda create -n pytorch python=3.8

激活创建的名为pytorch的虚拟conda环境

conda activate pytorch

激活完成后,在vscode中选择编译器,Ctrl+Shift+P,选择conda环境下的pytorch编译器,然后在开头声明一下编译器,然后编译运行就可以了,后面我们在这个名为Pytorch的虚拟环境下安装PyTorch等库
使用Ctrl+Shift+P后的情况然后点击“Python:选择编译器”选项,会显示下面的情况
选择编译器选择conda下的pytorch作为编译器
在这里插入图片描述配置功能包下的py文件并且catkin_make然后执行(注意已经在其他终端roscore了),然后rosrun运行文件,结果可以兼容PyTorch和ROS(这两个包都在下面进行安装,这里仅仅是展示一下效果)

2.Anaconda中安装GPU版本PyTorch框架

首先确定cuda版本,CUDA有两种API,运行时API和驱动API,即所谓的Runtime API与Driver API。nvidia-smi的结果是CUDA Driver API的型号,而nvcc -V得结果对应CUDA Runtime API,安装pytorch时要依据nvcc -V的版本。
在这里我推荐一个其他大佬安装的教程,安装的飞快还稳
安装pytorch(千万不要去掉 -c pytorch,安装n次后的教训)
我这里选用的是11.6版本的cuda所对应的PyTorch

# CUDA 11.6
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.6 -c pytorch -c conda-forge

在这里插入图片描述

3.Anaconda中ROS包安装

在安装完成anaconda和创建了pytorch环境后,在PyTorch环境中执行

pip install rospkg

这是在环境中安装rospy等ros包
如图,我在一个py文件内同时使用torch和rospy,编译运行都可以,同时注意一下,终端要在pytorch环境下才可以完成(开头的/home/ros这里的ros是我的用户名)
在这里插入图片描述

4.Anaconda安装OpenCV4

我选择的是OpenCV的4.5.1版本,不至于落后也不至于过于先进导致不稳定
还是在conda的pytorch环境下,运行

pip install opencv-python==4.5.1.48 -i https://pypi.tuna.tsinghua.edu.cn/simple/
#这里4.5.1.48代表我选择4.5.1版本,注意一下是双等号,后面代表我选择清华源安装,很快就可以安装好

在这里插入图片描述然后在终端使用python,运行opencv包,成功

六、SLAM方向的其他环境搭建

1.MeshLab安装

这是一个查看点云的软件

sudo apt-get install meshlab

2.PCL安装

pip install cython -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install python-pcl -i https://pypi.tuna.tsinghua.edu.cn/simple

猜你喜欢

转载自blog.csdn.net/qq_46202265/article/details/124891543