配置
ps:系统是Ubuntu18.04 LTS
1.NVIDIA驱动安装
进入BIOS界面,关闭security boot
使用ubuntu仓库进行自动化安装。点开软件和更新,选择附加驱动,会自动search适合的库。
或者使用命令ubuntu-drivers devices
查看显卡型号和推荐驱动,确认无误后,输入sudo ubuntu-drivers autoinstall
,然后重启。
用命令nvidia-smi
查看是否安装成功
最好是禁止更新驱动:sudo apt-mark hold nvidia-390
2.ros+gazebo安装
安装ros版本为:melodic
- step:1
打开ubuntu软件更新,将restricted,universe和multiverse勾选上,同时,最好是选择ubuntu software里面选择适合自己的下载点,不然安装会有点慢。 - step:2
执行如下代码
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
sudo apt update
sudo apt upgrade
sudo apt install ros-melodic-desktop-full
sudo rosdep init
rosdep update
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
试运行roscore
和gazebo
查看ros是否安装成功。
3. python3安装
使用anaconda进行安装,去anaconda官网,选择linux下python3.7 version 64-bit下载。到下载目录下,打开终端,运行下载好的.sh
文件。输入e.g:. Anaconda3-2019.03-Linux-x86_64.sh
。然后一直按住enter
键,完成安装。需要输入yes or no
时候,输入yes
。
安装最后,提示Do you wish to proceed with the installation of Microsoft VSCode? [yes|no]
时候,输入no
!!。
安装完成后。修改环境变量,使得在终端输入python
时候,使用的是Anaconda安装的python3.7版本。运行sudo gedit ~/.bashrc
,在打开文件里面加入Anaconda的bin文件夹路径。e.g:export PATH="/home/zxq/anaconda3/bin:$PATH"
然后输入reboot
重启。
4. Opencv和Open3D安装
安装opencv3.4.3,Open3D和cuda库
安装cuda库
- step1:
去官网下载cuda对应版本,下载cuda9.0(通过点击legacy releases找到cuda9.0),选择linux->x86_64->ubuntu->16.04->runfile(local)。 - step2:
由于cuda9.0支持的gcc、g++版本低,需要降级。
查看当前gcc、g++版本:
gcc --version
g++ --version
然后降级
cd /usr/bin
sudo rm gcc
sudo ln -s gcc-4.8 gcc
sudo rm g++
sudo ln -s g++-4.8 g++
再用上面查看版本的代码查看是否降级成功。
- step3:
将下载文件copy到主目录下,然后在主目录下运行如下代码:
sudo sh cuda_9.1.85_387.26_linux.run
询问yes|no
时,一般输入yes
,但是提示Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81? (y)es/(n)o/(q)uit:
时候,输入no
,因为之前已经安装好了驱动。
安装完成后,配置环境:
sudo gedit ~/.bashrc
在文件后面添加:
export PATH=/usr/local/cuda-9.0/bin:$PATH
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda-9.0/lib64
export CUDA_HOME=/usr/local/cuda-9.0
重新加载一下环境:
source ~/.bashrc
用nvcc -V
查看是否安装成功。
ps:可能需要安装CuDNN库。附带安装CuDNN库的方法。
去官网,下载与之安装cuda库对应的版本。解压后copy到cuda安装目录下:
sudo cp cuda/include/cudnn.h /usr/local/cuda/include
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn.h /usr/local/cuda/lib64/libcudnn*
安装opencv
- step1:下载opencv以及opencv_contribute到主目录下
cd ~
git clone https://github.com/opencv/opencv.git
cd opencv
git checkout 3.4.3
cd ..
git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git checkout 3.4.3
- step2:安装CMake-gui
sudo apt-get install cmake-qt-gui
- step3:安装opencv依赖包
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
- step4:编译opencv
先创建build文件夹,然后打开cmake编辑界面。
cd ~/opencv
mkdir build
cd build
cmake-gui ..
得到界面:
点击左下角的configure,并按下方图片选择Unix Makefiles,选择Use default native compilers(默认),然后点击Finish。
配置完成后,对下图红色部分参数进行修改需要对一些地方进行修改。
点击BUILD_CUDA_STUBS
在CMAKE_BUILD_TYPE 值处输入RELEASE
在OPENCV_EXTRA_MODULES_PATH处,选择输入刚刚下载好的opencv_contrib文件夹路径下的modules文件夹。
然后再点击configure,显示Configuring done。
然后如下图所示,将除了cudaimgproc以外的包含cuda的模块关闭,重新点击configure,然后点击Generate
- step5:安装到系统里面
到build目录下进行编译
make -j48
sudo make install
- step6:配置环境
安装成功后还需要设置opencv的环境变量。打开文件:
sudo gedit /etc/ld.so.conf.d/opencv.conf
将以下内容添加到最后:
/usr/local/lib
接下来配置库:
sudo ldconfig
更改环境变量:
sudo gedit /etc/bash.bashrc
在文件后添加:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
重启让环境变量生效。
安装open3D
安装版本为0.3.0
- step1:
下载安装包Open3d和open3d的3dpart文件夹后,解压到主目录下。 - step2:
由于之前安装cuda时候,将gcc和g++编译器的版本将为了4.8.3,而open3d发布比较晚,需要编译器的版本高,得将编译器版本改为之前的7.0版本。
cd /usr/bin
sudo rm gcc
sudo ln -s gcc-7 gcc
# 查看现在的gcc版本
gcc --version
# 接着修改g++版本
sudo rm g++
sudo ln -s g++-7 g++
# 查看现在的g++版本
g++ --version
然后执行
bash util/scripts/install-deps-ubuntu.sh
mkdir build
cd build
cmake ..
make
sudo make install
测试和运行
场景生成(ontology到ros+gazebo)
- step1:
copy自编译的gazebo模型库文件夹modules
到~/.gazebo
里面。 - step2:创建ROS workspace
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/
catkin_make
copy文件到对应的文件夹
然后
cd ~/catkin_ws/
catkin_make
- step3: 试运行场景生成代码
cd ~/catkin_ws/src/myrobot_gazebo/worlds
python convert_fuc.py
gazebo -u scene.world
查看生成的场景是否成功。
- step4:查看读取RGB-D程序是否运行成功。
cd ~/catkin_ws
. test.sh
#重新打开一个终端
cd ~/catkin_ws
. read_RGBD_image.sh
看在该目录下是否生成RGB图像和深度信息。
- step5:运行gazebo插件。
首先将自编译的插件路径添加到GAZEBO_PLUGIN_PATH
sudo gedit ~/.bashrc
#通过在该文件下添加自编译插件的路径
export GAZEBO_PLUGIN_PATH=${GAZEBO_PLUGIN_PATH}:~/catkin_ws/src/myrobot_gazebo/plugins
然后到运行gazebo -u <file.world>
,在该文件里包含gripper,通过将copy包含gripper运动点的文件:path_points.txt
到plugins,看gazebo仿真环境中gripper是否按文件要求运动。