source ./install_isolated/setup.bash
一般情况下,ros在线安装,安装到了/opt/ros/里面,但是含带的opencv 是3.1.0版本,因为opencv版本的问题我们必须使用opencv2.4.9
在这种情况下,有两种处理方式:
一:单独下载opencv-2.4.9源码,编译,安装到 /usr/local
二: ros源码编译,将opencv替换为2.4.9
我选择了第二种方式.
编译步骤:
1.配置ROS源
$ 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 0xB01FA116
2.安装必要软件
$ sudo apt-get install python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake
3. rosdep
$ sudo rosdep init
$ rosdep update
4.进入到src源码包同级的文件夹下,安装依赖库
$ rosdep install --from-paths src --rosdistro lunar -y
或
$ rosdep install --from-paths src --ignore-src --rosdistro lunar -y
5.替换opencv到2.4.9
将pencv2.4.9替换opencv3, opencv3中的package.xml复制到重新替换的opencv2.4.9, 并将OpenCV 3.x改为OpenCV 2.x,即:
<description>OpenCV 2.x</description>
修改src/vision_opencv/cv_bridge和src/vision_opencv/image_geometry下的package.xml文件:
<build_depend>opencv2</build_depend>
<exec_depend>opencv2</exec_depend>
6.编译ROS
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release
7. ~/.bashrc中添加
source ./install_isolated/setup.bash
遇见的问题:
1. 编译过程中报错,关于ffmpeg
那么第6步,变成
./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release \
-DENABLE_AVX=ON \
-DENABLE_FAST_MATH=ON \
-DENABLE_SSE=ON \
-DENABLE_SSE2=ON \
-DENABLE_SSE3=ON \
-DENABLE_SSE41=ON \
-DENABLE_SSE42=ON \
-DENABLE_SSSE3=ON \
-DWITH_FFMPEG=OFF
2. 缺少orocos-bfl之类的各种库, 如果第4步没有解决,那么有一个方法.
去一台装好此系统的debian系统里,当然要保持系统版本一致,然后进入
/var/cache/apt/archives
根据终端提示的库以及依赖的库的版本,拷贝相应的.deb到当前系统,然后
sudo dpkg -i *.deb
再执行第6步
author: wsh
email: tongzhuodenilove@163.com