ros安装及编译ORB_SLAM2

一、ubuntu18.04安装ROS(melodic)操作步骤
1.1.设置软件源

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

2.设置密钥

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

3.更新源地址

sudo apt-get update
//注意:在运行上述命令之后,系统会输出一些相应的反馈信息,注意看有没有忽略和丢失的连接,如果全是获取和命中就说明没有问题
错误1:GPG error: http://packages.ros.org trusty InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F42ED6FBAB17C654
//解决方法:在终端执行 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 。这里的就是你丢失的public key。这里就是F42ED6FB17C654。
              出现如上错误,还需要重新执行sudo apt-get update

4.使用命令完全安装ROS(melodic)

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

5.安装完成后,初始化rosdep

sudo rosdep init
rosdep update
//注意:如果出现sudo:rosdep:command not found,在终端执行安装sudo apt install python-rosdep命令,可以用下面的命令来查看可使用的包:apt-cache search ros-melodic

6. 设置环境变量

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

7.安装rosinstall,rosinstall是一种常用的命令行工具

sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential

8.测试ros是否已经安装成功

一个终端:roscore
第二个终端:rosrun turtlesim turtlesim_node
再开起一个终端控制:rosrun turtlesim turtle_teleop_key在第三个终端里键盘控制上下左右小海龟就能运动了。

2.安装usb摄像头功能包

sudo apt-get install ros-melodic-usb-cam

3.安装image相关功能包

sudo apt-get install ros-melodic-image-*
sudo apt-get install ros-melodic-rqt-image-view

4.运行节点

a.修改usb摄像头的launch文件,用管理员权限修改video0为video*,pixel_format为mjpeg

sudo apt-get install vim
roscd usb_cam
vi launch/usb_cam-test.launch
//修改如下参数



//注意:ls  /dev/video*     来查看你的USB摄像头对于的video?

b.运行

roscore
roslaunch usb_cam usb_cam-test.launch

5.查看话题消息

rostopic list

三、安装ORB_SLAM2
1.安装Pangolin

a.安装依赖库

sudo apt-get install libglew-dev libpython2.7-dev
sudo apt-get install cmake

b.从GitHub将项目下载到本地

git clone https://github.com/stevenlovegrove/Pangolin.git

c.编译安装

cd Pangolin
mkdir build
cd build
cmake ..
make -j4
sudo make install

 d.注意

在执行make -j4的时候可能会遇到如下问题:No package 'xkbcommon,解决方法

sudo apt-get install libxkbcommon-dev

也可能遇到问题:No package ‘wayland-protocols’ found,解决方法

sudo apt-get install wayland-protocols

2.安装Eigen3(一个开源线性库,可进行矩阵运算)

sudo apt-get install libeigen3-dev

3.安装ORB_SLAM2

mkdir -p ~/workspace
cd ~/workspace
git clone https://github.com/gaunthan/ORB_SLAM2 或者 https://gitee.com/wudonggua/orb_slam2.git
cd ORB_SLAM2
chmod +x build.sh build_ros.sh
./build.sh
echo 'export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:'"`pwd`/Examples/ROS" >> ~/.bashrc
./build_ros.sh

4.修改及运行ORB_SLAM2

 a.跑双目,在ORB_SLAM2目录下,打开ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/ros_mono.c

vi ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/ros_mono.c
//修改ros_mono.c文件中订阅话题如下
ros::Subscriber sub = nodeHandler.subscribe("/usb_cam/image_raw", 1, &ImageGrabber::GrabImage,&igb)

b.跑单目,在ORB_SLAM2目录下,打开ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/AR/ros_mono_ar.cc

vi ORB_SLAM2/Examples/ROS/ORB_SLAM2/src/AR/ros_mono_ar.cc
//修改ros_mono_ar.c文件中订阅话题如下
ros::Subscriber sub = nodeHandler.subscribe("/usb_cam/image_raw", 1, &ImageGrabber::GrabImage,&igb);

c.重新编译

./build.sh
./build_ros.sh

d.运行

roscore
//新开一个终端
roslaunch usb_cam usb_cam-test.launch
//这时摄像头应该已经打开,新开一个终端,进入到ORB_SLAM2目录下,运行如下命令,这里用的参数文件是examples自带的,其实还是要自己标定下摄像头的
rosrun ORB_SLAM2 Mono Vocabulary/ORBvoc.txt Examples/Monocular/TUM1.yaml 

 

你可能感兴趣的:(linux)