ROS机器人---超级环境搭建ros+opencv+ceres+CameraSDK+vins

注意

  系统:Ubuntu16.04 LST
  ros版本:kinetic
大概主要步骤

  1. 换源(下载速度成倍增长!!!)
  2. 安装 ubuntu 16.04下的ros版本 kinetic
    官方教程链接 http://wiki.ros.org/Installation/Ubuntu?distro=kinetic
  3. 安装 opencv 3.4.1
  4. 安装 c++下的数学计算库ceres
  5. 创建ros工作空间
  6. 下载并编译相机SDK
  7. 下载并编译vins工程

一、换源

换为阿里源(下载速度成倍提升!!!)
很容易!!!
博主自己之前写的Ubuntu换源教程链接 https://blog.csdn.net/CGJustDoIT/article/details/91526027

二、安装 ubuntu16.04下的ros版本 kinetic

2.1 添加ros源

设置计算机能接收来自packages.ros.org的软件:修改sources.list 添加源
官方ros源 :


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

或者选择清华大学ros源(推荐国内源,速度快) :


sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

2.2 设置Key


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

2.3 更新软件源列表

sudo apt-get update

出现错误 ( 因为前面的密钥失效,需要重新生成 )

由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654
在这里插入图片描述

解决办法:修改获取key的命令,最后面的密钥改为 F42ED6FBAB17C654


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

再重新更新

sudo apt-get update

2.4 安装kinetic

sudo apt-get install ros-kinetic-desktop-full

2.5 初始化rosdep(高效解决此处出错)

Before you can use ROS, you will need to initialize rosdep. rosdep enables you to easily install system dependencies for source you want to compile and is required to run some core components in ROS.

  1. 这两步若出现连接超时,是网络问题,改为手机热点能成功 ! ! !
  2. 若还未成功, 请参看这篇文章 https://blog.csdn.net/qq_38649880/article/details/87903654
  3. 换为苹果手机开热点更好 ( 此处巨坑 )
sudo rosdep init
rosdep update

若 sudo rosdep init没出错,而rosdep update出错,那么换为 (苹果)手机开热点,依次执行如下步骤,分分中解决出错

sudo apt-get update
sudo rm /etc/ros/rosdep/sources.list.d/20-default.list # 此文件是第一次执行 sudo rosdep init 生成的,删除,重新生成
sudo rosdep init 
rosdep update

2.6 配置环境变量

It’s convenient if the ROS environment variables are automatically added to your bash session every time a new shell is launched:

echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc #在终端内重新加载 .bashrc文件

补充: 每打开一个终端,会先加载 .bashrc文件

2.7 启动roscore

在这里插入图片描述

三、安装 opencv 3.4.1

3.1 通过脚本下载并编译

压缩包为: opencv-3.4.1.tar.gz ,opencv_contrib-3.4.1.tar发发gz
本教程使用脚本一次性直接下载并编译安装
新建如下.sh脚本 install_opencv.sh:

#!/bin/bash
echo "** Install requirement"
sudo apt-get update
sudo apt-get install -y build-essential
sudo apt-get install -y cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install -y python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng12-dev libtiff5-dev libjasper-dev libdc1394-22-dev
sudo apt-get install -y libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev  libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev gstreamer-plugins-base-devel libgphoto2-dev
sudo apt-get install -y libavresample-dev gtk+-3.0
sudo apt-get update

echo "** Download opencv-3.4.1"
curl -L https://github.com/opencv/opencv/archive/3.4.1.tar.gz -o opencv-3.4.1.tar.gz
curl -L https://github.com/opencv/opencv_contrib/archive/3.4.1.tar.gz -o opencv_contrib-3.4.1.tar.gz
tar -zxvf opencv-3.4.1.tar.gz
tar -zxvf opencv_contrib-3.4.1.tar.gz

echo "** Building..."
cd opencv-3.4.1/
mkdir build
cd build
cmake -D OPENCV_EXTRA_MODULES_PATH=../../opencv_contrib-3.4.1/modules -D WITH_GSTREAMER=ON -D WITH_LIBV4L=ON -D BUILD_opencv_python2=ON -D BUILD_opencv_python3=ON -D BUILD_TESTS=OFF -D BUILD_PERF_TESTS=OFF -D BUILD_EXAMPLES=OFF -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_opencv_xfeatures2d=OFF ..
make -j8
sudo make install
sudo apt-get install -y python-opencv python3-opencv
echo "** Install opencv-3.4.1 successfully"
echo "** Bye :)"

运行 install_opencv.sh ,安装在home目录下

sudo sh install_opencv.sh

在这里插入图片描述

3.2 测试

在这里插入图片描述

四、安装 c++的非线性优化库ceres solver

本教程使用脚本一次性直接下载并编译安装
新建如下.sh脚本 install_ceres.sh:

#!/bin/bash
sudo apt-get install -y cmake libgoogle-glog-dev libatlas-base-dev libeigen3-dev libsuitesparse-dev
sudo add-apt-repository ppa:bzindovic/suitesparse-bugfix-1319687
sudo apt-get update && sudo apt-get install -y libsuitesparse-dev

source ~/.bashrc
workdir=$PWD

if test ! -d ceres-solver ; then git clone https://github.com/ceres-solver/ceres-solver ; fi
cd ceres-solver
if test ! -d ceres-bin ; then mkdir ceres-bin ; fi
cd ceres-bin
if ! cmake .. ; then echo "ceres cmake init fail" ; exit 1 ; fi
if ! make -j4 ; then echo "ceres make fail" ; exit 1 ; fi
if ! sudo make install ; then echo "ceres make install fail" ; exit 1 ; fi

cd $workdir

运行 install_ceres.sh ,安装在home目录下

sudo sh install_ceres.sh

五、创建ros工作空间

创建名称为catkin_ws 的工作空间,路径为 : ~/slam/catkin_ws/src

cd ~  #进入home目录

mkdir slam # 创建名为slam的文件夹

cd slam 

mkdir -p /catkin_ws/src  #新建catkin_ws/src 目录

cd catkin_ws/src

catkin_init_workspace

cd ..               #退到 catkin_ws 路径下

catkin_make         #编译

配置环境变量

echo "source ~/slam/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc #在终端内重新加载 .bashrc文件

ros package 路径包含有刚刚创建的工作空间目录

六、下载并编译相机SDK

6.1 下载

进入~/slam 下载小觅相机SDK

git clone https://github.com/slightech/MYNT-EYE-S-SDK.git

6.2 编译

cd MYNT-EYE-S-SDK  # 进入SDK文件夹
make init
make install
make samples
cd wrappers/ros
catkin_make

编译成功
在这里插入图片描述

6.3 配置环境变量

echo "source ~/slam/MYNT-EYE-S-SDK/wrappers/ros/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc #在终端内重新加载 .bashrc文件

ros package 路径:
在这里插入图片描述4

6.4 测试

插上相机运行如下命令,测试

roslaunch mynt_eye_ros_wrapper display.launch

七、下载并编译vins工程

7.1 下载

进入~/slam/catkin_ws/src 目录下载小觅相机SDK

cd ~/slam/catkin_ws/src  # 进入SDK文件夹
git clone https://github.com/HKUST-Aerial-Robotics/VINS-Fusion.git

7.2 编译

编译 (在前面创建的工作空间之下)

cd ..         # 退到   ~/slam/catkin_ws 目录
catkin_make   # 在 ~/slam/catkin_ws 下编译

编译成功
在这里插入图片描述

7.3 配置环境变量

echo "source ~/slam/catkin_ws/devel/setup.bash" >> ~/.bashrc # 写入 source 命令到.bashrc中
source ~/.bashrc #在终端内重新加载 .bashrc文件

ros package 路径:
在这里插入图片描述

发布了26 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/CGJustDoIT/article/details/100055755