第一次编译运行Autoware源码,在此记录一下。
在编译源码前,先配环境。环境要求为CUDA、Eigen3.3.7及以上、OpenCV3.4.5、cudnn、protobuf3.0.0、qt5.9.5及以上、YOLO2,YOLO3的权重文件、SSDcaffe。
工控机自带CUDA10.2.89,protobuf3.0.0,这部分就不安装了
CUDA和cudnn版本要对应,CUDA10.0和cudnn7.6.5对应,CUDA10.2和cudnn8.0对应
caffe不支持cudnn8,所以要安装CUDA10.0和cudnn7.6.5,免了后面的麻烦;如果安装了CUDA10.2和cudnn8,后面找到了大神修改过的caffe,支持cudnn8
CUDA下载地址
Eigen3.3.7下载地址
OpenCV3.4.5下载地址
cudnn下载地址
protobuf下载地址
qt下载地址
YOLO2权重文件下载地址
YOLO3权重文件下载地址
SSDcaffe下载地址
工控机Ubuntu版本为Ubuntu18.04,cuda版本为10.2.89,protobuf版本为3.0.0。
Autoware源码地址
Autoware 1.14 源码编译+感知SSD+YOLOv3+Point Pillar模块运行(步骤+报错+解决方法记录)
ubuntu 18.04 安装 AutoWare 1.14.0(附踩坑指南)
ubuntu18.04安装Autoware1.14—GPU版 最全环境配置说明
ubuntu18.04安装Nvidia驱动、cuda、cuDNN、autoware1.14(GPU版本)教程
使用鱼香ROS的一键安装ROS命令。(注意:安装ROS需要在网络好的地方安装,否则会出现无法下载的错误)
wget http://fishros.com/install -O fishros && . fishros
第一次打开终端输入该命令选择[1]:一键安装:ROS
,安装完成后再次输入该命令选择[3]:一键配置:rosdep
,完成后再次输入该命令选择[4]:一键配置:ROS环境
,之后就完成了ROS的安装。
接着检查安装情况:运行小海龟
打开终端输入
roscore
再打开一个终端输入
rosrun turtlesim turtlesim_node
出现了一个小海龟
再打开一个终端输入
rosrun turtlesim turtle_teleop_key
让光标在第三个打开的终端中闪烁,此时就可以通过方向键控制小乌龟移动了
此步骤是解决sudo apt-get update
更新报错的问题
E: 无法下载 https://mirrors.ustc.edu.cn/ubuntu-ports/dists/bionic/main/binary-amd64/Packages 404 Not Found [IP: 202.141.176.110 443]
E: 无法下载 https://mirrors.ustc.edu.cn/ubuntu-ports/dists/bionic-updates/main/binary-amd64/Packages 404 Not Found [IP: 202.141.176.110 443]
E: 无法下载 https://mirrors.ustc.edu.cn/ubuntu-ports/dists/bionic-backports/main/binary-amd64/Packages 404 Not Found [IP: 202.141.176.110 443]
E: 无法下载 https://mirrors.ustc.edu.cn/ubuntu-ports/dists/bionic-security/main/binary-amd64/
参考链接
备份系统之前的源
cp /etc/apt/sources.list /etc/apt/sources.list.bak
更换软件源,打开终端输入
sudo gedit /etc/apt/sources.list
更换为下面的
# 默认注释了源码仓库,如有需要可自行取消注释
deb [arch=armhf] https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic main main restricted universe multiverse
deb [arch=armhf] https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb [arch=armhf] https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb [arch=armhf] https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
# 预发布软件源,不建议启用
# deb [arch=armhf] https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-proposed main restricted universe multiverse
# deb-src [arch=armhf] https://mirrors.ustc.edu.cn/ubuntu-ports/ bionic-proposed main restricted universe multiverse
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get update
sudo apt-get install ros-melodic-desktop-full
(1)
sudo rosdep init
出现问题
ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.
参考链接
打开终端输入
sudo gedit /etc/hosts
在文件的最后一行输入
185.199.108.133 raw.githubusercontent.com
(2)
rosdep update
参考链接
打开终端输入
roscore
再打开一个终端输入
rosrun turtlesim turtlesim_node
出现了一个小海龟
再打开一个终端输入
rosrun turtlesim turtle_teleop_key
让光标在第三个打开的终端中闪烁,此时就可以通过方向键控制小乌龟移动了
官网下载链接
找到eigen3.3.7的压缩包下载下来
接着打开终端
unzip eigen-3.3.7.zip
cd eigen-3.3.7
mkdir build && cd build
sudo cmake ..
sudo make -j6
sudo make install
参考链接
OpenCV官网链接,找到OpenCV3.4.5,点击Sources下载
解压
unzip opencv-3.4.5.zip
sudo apt-get update
sudo apt-get install cmake
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
报错
sudo gedit /etc/apt/sources.list
在sources.list文件最后面添加:
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
deb http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-security main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-updates main multiverse restricted universe
deb-src http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ xenial-backports main multiverse restricted universe
再次输入上面的命令
sudo apt-get install build-essential libgtk2.0-dev libavcodec-dev libavformat-dev libjpeg.dev libtiff4.dev libswscale-dev libjasper-dev
mkdir build && cd build
cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
sudo make -j6
编译成功截图
sudo make install
1.将OpenCV的库添加到路径,从而可以让系统找到
sudo gedit /etc/ld.so.conf.d/opencv.conf
2.执行此命令后打开的可能是一个空白文档,这个不需要管,只需要将一下语句加入最后即可:
/usr/local/lib
3.执行下面命令,使得刚才的配置生效
sudo ldconfig
4.配置bash
sudo gedit /etc/bash.bashrc
5.在打开的文件最后换行添加下面命令
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
6.保存,执行以下命令使得上面配置生效
source /etc/bash.bashrc
7.最后进行更新
sudo updatedb
报错 :command not found
参考链接
遇到权限问题需要进入root,输入密码安装
su root
apt-get install mlocate
之后再次更新
sudo updatedb
至此,OpenCV-3.4.5的安装及配置已经完成。
1.进入到OpenCV-3.4.5目录的example_cmake目录
cd opencv-3.4.5/samples/cpp/example_cmake
2.执行下面命令
cmake .
结果如下:
3.执行下面命令
make
结果如下:
./opencv_example
sudo apt update
sudo apt install -y python-catkin-pkg python-rosdep ros-$ROS_DISTRO-catkin
sudo apt install -y python3-pip python3-colcon-common-extensions python3-setuptools python3-vcstool
pip3 install -U setuptools
mkdir -p autoware.ai/src
cd autoware.ai
这步有四行命令,这边先给出,因为下面写的东西太多,防止有遗漏:
wget -O autoware.ai.repos "https://raw.githubusercontent.com/Autoware-AI/autoware.ai/1.14.0/autoware.ai.repos"
vcs import src < autoware.ai.repos
rosdep update
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
wget -O autoware.ai.repos "https://raw.githubusercontent.com/Autoware-AI/autoware.ai/1.14.0/autoware.ai.repos"
vcs import src < autoware.ai.repos
此步可能会有如下部分文件夹未下载的情况,可以打开autoware.ai.repos
文件,找到未下载的文件夹的链接,依次下载。
rosdep update
报错
ERROR: error loading sources list:
The read operation timed out
解决方法
(1)解决方法1:更改下载资源
修改文件权限指令
sudo chmod 777 /etc
1.修改文件sources_list.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
把url="https://ghproxy.com/"+url
添加到脚本中的download_rosdep_data函数中,以应用ghproxy代理服务(该函数出现在295行左右),更改后内容如下图:
2.修改文件__init__.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/__init__.py
68行左右,修改DEFAULT_INDEX_URL
的参数,将网址改为
DEFAULT_INDEX_URL = 'https://ghproxy.com/https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml'
3.修改四个文件
把https://ghproxy.com/
添加到gbpdistro_support.py(35行左右)、sources_list.py(64行左右)、rep3.py(36行左右) 、github.py(68行 119行左右)文件的https://raw~前:
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdistro/manifest_provider/github.py
4.修改文件gbpdistro_support.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
205行左右添加如下代码:
gbpdistro_url = "https://ghproxy.com/" + gbpdistro_url
sudo apt-get update
rosdep update
(2)解决方法2
硬件解决
连手机热点
(3)解决方法3:加长访问时间
分别更改/usr/lib/python2.7/dist-packages/rosdep2/
文件夹下三个文件中下载时间,即DOWNLOAD_TIMEOUT = 15.0的值,把默认值15改大一些。(此步不是很关键,只修改了rep3.py
文件)
文件名称:
sources_list.py(75行左右)、gbpdistro_support.py(40行左右)、rep3.py(39行左右)
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/gbpdistro_support.py
sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/rep3.py
sudo apt-get update
rosdep update
至此rosdep update
报错解决。
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
工控机CUDA版本为10.2.89(注意一下自己的CUDA版本),首先修改一下文件/home/autoware.ai/src/autoware/common/autoware_build_flags/cmake/autoware_build_flags-extras.cmake
第21行,把10.0全部改成10.2(CUDA版本小于等于10的就不用改了):
if(NOT ${CUDA_VERSION} VERSION_LESS "10.2"
AND NOT ${CUDA_VERSION} VERSION_EQUAL "10.2" )
message(FATAL_ERROR "GPU support on Melodic requires CUDA<=10.2")
下面编译
AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
原因:NVIDIA的32.3.1.img文件把opencv文件命名成了opencv4
解决办法:修改/opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake
文件,把所有的include/opencv改成include/opencv4
sudo gedit /opt/ros/melodic/share/cv_bridge/cmake/cv_bridgeConfig.cmake
搜索/opencv
不知道是什么原因的导致的,一开始从网上下载别人上传的libopencv_*.so.3.2.0动态链接库文件(这是个坑,博主上传的是X86架构的,不是ARM架构的),进入root将文件拖到/usr/lib/aarch64-linux-gnu/
文件夹下,之后再次编译,出现下面的错误,文件格式不对,后来进入该文件夹下打开终端,输入file libopencv_objdetect.so.3.2.0
,发现文件是X86架构的,所以文件格式错误,最终找到了一个解决办法。
参考链接
解决办法:
1、卸载现有版本的opencv库,桌面打开终端输入
sudo apt-get purge libopencv-dev
2、这个时候需要修改一个系统文件,就是这个文件导致apt安装的opencv版本是4.0版本而不是ubuntu18.04系统默认的3.2.0版本
文件路径是:/etc/apt/sources.list.d/nvidia-l4t-apt-source.list
,终端输入
sudo gedit /etc/apt/sources.list.d/nvidia-l4t-apt-source.list
打开之后注释掉里面的两行(这里贴的别人的图,自己的工控机打开是一片空白,就不管他了)
3、更新
apt update
4、安装opencv3.2.0版本库
sudo apt-get install libopencv-dev
解决办法:安装
安装命令
sudo apt-get install ros-melodic-缺失文件名
#melodic 为Ubuntu18.04对应的ROS版本名,具体的改为自己对应的ROS版本名
#缺失的文件名中间的下划线要改成中间横线
这边在编译过程中发现缺失了3个(缺什么安装什么):jsk-rviz-plugins
,grid-map-cv
,grid-map-ros
sudo apt-get install ros-melodic-jsk-rviz-plugins
sudo apt-get install ros-melodic-grid-map-cv
sudo apt-get install ros-melodic-grid-map-ros
原因:/autoware.ai/src/autoware/core_planning/op_local_planner/nodes/op_motion_predictor/op_motion_predictor_core.cpp
中391行调用的函数名写错了。/autoware.ai/src/autoware/common/op_ros_helpers/src/op_ROSHelpers.cpp
321行和/autoware.ai/src/autoware/common/op_ros_helpers/include/op_ros_helpers/op_ROSHelpers.h
216行定义和声明的函数名称为ConvertPredictedTrajectoriesMarkers
sudo gedit autoware.ai/src/autoware/core_planning/op_local_planner/nodes/op_motion_predictor/op_motion_predictor_core.cpp
将391行调用的函数名称改成ConvertPredictedTrajectoriesMarkers
编译成功截图:
source ./install/setup.bash
roslaunch runtime_manager runtime_manager.launch
结果如下:
autoware中缺少YOLO2、YOLO3的权重文件,只需要把权重文件下载到相应目录下即可。进入到如下目录:
cd autoware.ai/install/vision_darknet_detect/share/vision_darknet_detect/darknet
新建data目录
mkdir data
下载权重文件:
cd data
wget https://pjreddie.com/media/files/yolov3.weights
wget https://pjreddie.com/media/files/yolov2.weights
参考链接
cudnn下载地址
1.安装
sudo dpkg -i libcudnn8_8.0.0.180-1+cuda10.2_arm64.deb
sudo dpkg -i libcudnn8-dev_8.0.0.180-1+cuda10.2_arm64.deb
sudo dpkg -i libcudnn8-doc_8.0.0.180-1+cuda10.2_arm64.deb
2.安装完成后,其实是直接安装到了默认安装路径usr/include
和usr/lib
下的,因此需要将其拷贝到cuda
安装路径下:
sudo cp /usr/include/cudnn_version.h /usr/local/cuda/include/
sudo cp /usr/lib/aarch64-linux-gnu/libcudnn* /usr/local/cuda/lib64/
3.然后执行下面命令,重新生成cudnn库的软连接
cd /usr/local/cuda/lib64
sudo chmod +r libcudnn*
sudo rm -rf libcudnn.so libcudnn.so.8
sudo ln -s libcudnn.so.8.0.0 libcudnn.so.8
链接最好依照实际链接文件,不一定是8.0.0
sudo ln -s libcudnn.so.8 libcudnn.so
sudo ldconfig
4.安装完成
查看cuda版本
nvcc -V
查看cudnn版本
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2
注:这里有个坑,一开始在第3步中copy了cudnn.h
文件夹,然后查看版本看这个文件夹没反应,之后找到这篇博客,新版本的的版本信息在cudnn_version.h
里了,不在cudnn.h
里
参考链接列表
Caffe编译安装-RTX3090&cudnn8.x
大神修改的caffe源码
大神的网站
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev
sudo apt-get install libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install python-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
git clone https://github.com/Qengineering/caffe.git
cd caffe
git checkout ssd
出现“分支”则说明成功
正常的步骤都是cp Makefile.config.example Makefile.config
,但是这里的工控机总会出现各种各样的错误,最终发现,在caffe文件夹下有arm架构和X86架构的Makefile.config.*_example
,选择适合自己的,使用命令cp Makefile.config.*_example Makefile.config
在caffe文件夹下打开终端
cp Makefile.config.cp36_aarch64-linux-gun_example Makefile.config
接下来修改Makefile.config
参考链接1:Jetson TX2 arm板子刷机,安装Caffe
参考链接2:Ubuntu16.04 Caffe 安装步骤记录(超详尽)
在caffe文件夹下打开终端
sudo gedit Makefile.config
每个人的环境不一样,要修改的地方也不一样(上面博客提到的要改的地方都要改)
其实之后也就4个命令,奈何错误太多,分成了三部分来解决。
make all -j6
make runtest -j6
make pycaffe -j6
make test -j6
在caffe文件夹下打开终端
make all -j6
错误1:cudnn问题
修改这个文件caffe/cmake/Cuda.cmake
,上面第六步提到新版本的的版本信息在cudnn_version.h
里了,不在cudnn.h
里,所以把里面的两个cudnn.h
改成cudnn_version.h
sudo gedit /caffe/cmake/Cuda.cmake
make clean
make all -j6
错误2:boost问题 将 报错 这两步没啥问题 进入 以下是自己试错的安装记录,下面可以不用看,由于遇到了很多问题,记录一下,感兴趣的人可以看一下,不过没有解决完问题,一直卡在编译那一步。 出现“分支”则说明成功 原因:cmake版本过低 解决办法:升级cmake 2.卸载cmake(安装ros时可跳过) 注:在此步骤中,如果安装了ros系统,提示会卸载许多与ros相关的cmake文件,可能会导致ros无法使用,所以跳过此步。 3.下载cmake 4.安装cmake (2)将原来版本的cmake执行文件删除 打开终端输入 (3)安装 cmake-3.23.3 5.再次查看当前版本 打开终端输入 下面继续安装ssdcaffe 报错 参考链接,解决办法:手动添加进去 错误1:函数名错误(因为caffe不支持cudnn8导致的) 131行 149行 160行 错误2:宏名称错误(caffe不支持cudnn8导致的) 136行 151行 162行 改了之后还是有错误,后来没有进行下去,换了上面大神修改的版本 参考链接 参考链接 qt下载地址 工控机是ARM内核的,直接使用 这里下载的是qt5.9.5版本, openssl降版本的方法 1.打开终端输入 3.解压包,安装到 4.将旧的openssl执行文件及目录重命名 5.修改软链,指向新版本的openssl路径 6.添加so库的路径,添加完成之后,运行ldconfig ,将新增的so 文件缓存到 7.查看版本openssl版本 解决办法:安装依赖 原因:同时安装了openssl 1.1和openssl 1.0版本,相冲突 解决方法:修改不使用的版本的头文件名字,达到找到对的opensslconf.h文件的目的 安装成功截图 参考链接1:Autoware1.14运行官网Demo 适配镭神激光雷达 在autoware.ai文件夹下打开一个终端: 1)进入 2)在 之后点击
参考链接1:cafee编译错误几个总结
参考链接2:「caffe编译bug」 undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator/caffe/Makefile
文件的269行左右改成下面这样(得根据自己情况改)LIBRARIES += glog gflags protobuf boost_thread stdc++ boost_atomic boost_regex boost_system boost_filesystem m hdf5_serial_hl hdf5_serial
make clean
make all -j6
(2)make runtest -j6
make runtest -j6
暂时没有解决,别的博主说此步出错不影响接下来的使用,先跳过了。(3)下面继续
make pycaffe -j6
make test -j6
4.重新编译
autoware.ai
文件夹下打开终端输入AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
2.官网不支持cudnn8版本的安装
1.首先安装相关依赖:
sudo apt-get install libprotobuf-dev libleveldb-dev libsnappy-dev libopencv-dev
sudo apt-get install libhdf5-serial-dev protobuf-compiler
sudo apt-get install --no-install-recommends libboost-all-dev
sudo apt-get install libatlas-base-dev
sudo apt-get install python-dev
sudo apt-get install libgflags-dev libgoogle-glog-dev liblmdb-dev
2.接着下载源码
git clone https://github.com/weiliu89/caffe.git
cd caffe
git checkout ssd
3.安装
mkdir build && cd build
cmake ..
1.查看当前版本打开终端输入cmake --version
sudo apt remove cmake
下载更高版本cmake,cmake官网地址。 这里下载的是 cmake-3.23.3.tar.gz 。
(1)将 cmake-3.23.3.tar.gz 解压tar -zxvf cmake-3.21.6.tar.gz
cd /usr/bin/
sudo rm cmake
cd cmake-3.23.3
./configure
make -j6
sudo make install
cmake --version
cd caffe/build
cmake ..
-bash: /usr/bin/cmake: No such file or directory
make all -j6
总共要改3处地方sudo gedit caffe/src/caffe/layers/cudnn_conv_layer.cpp
cudnnGetConvolutionForwardAlgorithm
改成cudnnGetConvolutionForwardAlgorithm_v7
cudnnGetConvolutionBackwardFilterAlgorithm
改成cudnnGetConvolutionBackwardFilterAlgorithm_v7
cudnnGetConvolutionBackwardDataAlgorithm
改成cudnnGetConvolutionBackwardDataAlgorithm_v7
总共要改3处地方sudo gedit caffe/src/caffe/layers/cudnn_conv_layer.cpp
CUDNN_CONVOLUTION_FWD_SPECIFY_WORKSPACE_LIMIT
改成CUDNN_CONVOLUTION_FWD_ALGO_DIRECT
CUDNN_CONVOLUTION_BWD_FILTER_SPECIFY_WORKSPACE_LIMIT
改成CUDNN_CONVOLUTION_BWD_FILTER_ALGO_COUNT
CUDNN_CONVOLUTION_BWD_DATA_SPECIFY_WORKSPACE_LIMIT
改成CUDNN_CONVOLUTION_BWD_DATA_ALGO_COUNT
make runtest -j6
make pycaffe -j8
八、安装QT,版本高于5.9.5就可以
chmod +x qt-opensource-linux-x64-5.9.5.run
,./qt-opensource-linux-x64-5.9.5.run
会报以下的错误:bash: ./qt-opensource-linux-x64-5.9.5.run: cannot execute binary file: Exec format error
5.9/5.9.5/single/
目录下的qt-everywhere-opensource-src-5.9.5.tar.xz
./configure
make -j6
make错误1:SSL问题
openssl官网openssl version
,查看当前的openssl版本:
2.下载需要的openssl版本包,这里选了1.0.1r版本wget http://www.openssl.org/source/openssl-1.0.1r.tar.gz
/usr/local/ssl/
目录下tar zxvf openssl-1.0.1r.tar.gz
cd openssl-1.0.1r
./config --prefix=/usr/local/ssl
make -j6
sudo make install
mv -f /usr/bin/openssl /usr/bin/openssl.old
mv -f /usr/include/openssl /usr/include/openssl.old
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
/etc/ld.so.cache
中echo "/usr/local/ssl/lib">>/etc/ld.so.conf
ldconfig -v
openssl version
make错误2:缺少
krb5.h
头文件sudo apt-get install libkrb5-dev
make错误3:宏错误
mv /usr/include/aarch64-linux-gnu/openssl/opensslconf.h /usr/include/aarch64-linux-gnu/openssl/opensslconf.h.bak
make错误4:链接库失败
make clean
./configure
make -j6
sudo make install
九、运行官方demo
参考链接2:Autoware 培训笔记 No. 2——基于点云的定位1.下载官网数据包,并解压
mkdir .autoware
cd .autoware
wget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_data.tar.gz
wget https://autoware-ai.s3.us-east-2.amazonaws.com/sample_moriyama_150324.tar.gz
tar zxfv sample_moriyama_150324.tar.gz
tar zxfv sample_moriyama_data.tar.gz
2.运行autoware
source install/setup.bash
roslaunch runtime_manager runtime_manager.launch
3.运行官网demo
Simulaton
页面,点击界面右上方 Ref
按钮,加载录制用于定位的bag
文件,这里选择刚刚解压的文件sample_moriyama_150324.bag
,设置start time
为140
,点击play
,然后迅速点击pause
注意:请一定要先做这一步,这是因为要同步时间。如果在后面做,会产生关于stamped的错误。Setup
菜单中,确保Localizer
下选项为Velodyne
,在Baselink to Localizer
中设置好各个参数之后点击TF
按钮,其中x、y、z、yaw、pitch、roll表示真车雷达中心点与车身后轴中心点的相对位置关系(右手坐标系,真车后车轴为原点),此时可以点击Vehicle Model
按钮,如果Vehicle Model
为空,那么会加载一个默认模型(在rviz显示时,如果有激光雷达数据,车辆会显示为黑色)。如下所示。
3)点击Map
页面,点击TF
右侧的Ref
选择autoware.ai/src/autoware/documentation/autoware_quickstart_examples/launch/tf_local.launch
文件,这是加载默认world到map的坐标转换,然后点击TF
按钮;之后点击Point Clouds
右侧的Ref
,选择.autoware/sample_moriyama_data/data/map/pointcloud_map/
文件夹下面的所有点云文件(ctrl + A 然后点右下角 open)Point Clouds
按钮加载点云地图
4)选择Sensing
页面,按照下图勾选:
5)选择Computing
页面,按照下图勾选:
6)打开RViz
,在左上角File
菜单中的open config
选择路径为autoware.ai/src/autoware/documentation/autoware_quickstart_examples/config/default.rviz
的文件。这时回到Simulaton
页面,点击Pause
开始。这时可以从RViz中看到一辆车,等待一会后车身周围出现激光雷达数据
此时没有点云地图,左边的Points Map
也显示为红色,可以将Points Map
右边红色的勾号点掉然后再点上,等待一会就有点云地图了,而且Points Map
也变成了正常的蓝色
7)运行成功的gif图