最近想做激光雷达和可见光相机的联合标定,标定后实现激光雷达点云数据和可见光数据的融合。无奈才疏学浅,不知道如何标定,发现一款开源的Autoware软件可以实现这个功能。于是最近完成了Autoware的安装,遇到很多很多坑,记录在这里。
先说我的环境配置:
OS:Ubuntu 16.04 LTS
ROS:Kinetic版
Qt:5.5.1版本(之所以安装这个版本的QT,是在编译autoware的时候发现官方目前要求的版本是5.5.1,其实也可以通过修改Cmakefile来改变版本,怕有错误就使用了官方要求版本)
OpenCV:2.4.9.1
官方的Github地址:https://github.com/CPFL/Autoware
官方有docker和source两种安装方式,我选择的源码(source)安装。
1.Autoware安装
首先安装环境依赖:
% sudo apt-get update
% sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool ros-$ROS_DISTRO-catkin libmosquitto-dev gksu
这里不会有什么问题。
值得一提的是,官方推荐的安装步骤中使用进行clone:
git clone https://github.com/CPFL/Autoware.git --recurse-submodules
语句进行clone,但是由于种种原因(手机流量被限速了……),clone过程异常缓慢与艰辛,于是使用了download zip。下载后进行解压,我存放的地址为:~/autoware/Autoware-master,使用这种方式下载的repo,官方说请先执行:
git submodule update --init --recursive
我对这句的理解就是比对一下最新的master,看看是否存在未完全下载的包。
在Autoware-master文件夹下执行这一句的时候遇到了第一个坑,提示:fatal: Not a git repository,百度之后发现执行语句:
git init
即可。执行完毕后,生成了.git的文件,初始化了本地库?然后再次执行:
git submodule update --init --recursive
终端没有任何提示。继续美滋滋的执行:
1.$ cd ~/autoware/Autoware-master/ros/src
2.$ catkin_init_workspace
3.$ cd ../
4.$ rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
5.$ ./catkin_make_release
然而在执行到第4步的时候,显示:
ERROR: the following packages/stacks could not have their rosdep keys resolved to system dependencies: road_occupancy_processor: No definition of [grid_map_msgs] for OS [debian]
dp_planner: No definition of [jsk_recognition_msgs] for OS [debian]
sound_player: No definition of [sound_play] for OS [debian]
lidar_svm_detect: No definition of [jsk_rviz_plugins] for OS [debian]
autoware_msgs: No definition of [jsk_recognition_msgs] for OS [debian]
lidar_kf_contour_track: No definition of [jsk_recognition_msgs] for OS [debian] lidar_kf_track: No definition of [jsk_rviz_plugins] for OS [debian]
mqtt_socket: No definition of [yaml-cpp] for