目录
一、安装Opencv
1.1 下载安装包Opencv官网
1.2 安装opencv_contrib
二、安装Ros和rosdepc
三、安装Eigen库
1. 解压文件
2. 安装Eigen
四、安装Autoware.ai-1.14.0
4.1 安装依赖
4.2 下载Autoware.ai
1.在home路径下打开终端输入以下命令:
2.下载源码:
3.下载Ros依赖
4.在Autoware.ai路径下进行编译:
5.编译完成后,启动Autoware.ai如下命令:
一、安装Opencv
1.1 下载安装包Opencv官网
此处推荐适用于Autoware.ai1.14.0为Opencv-3.4.16版本。(因为Ros下载时会自带opencv3.2.0所以建议第一节跳过,直接进入Eigen库的安装,opencv不进行安装时,Autoware编译时会很快通过)。
1.2 安装opencv_contrib
(与opencv版本保持一致)
1. 将上述opencv和opencv_contrib相同版本下载完成后,各自解压,并将opencv_contrib放入opencv中,如下图所示:
2. 在opencv目录中右键打开终端,执行以下命令配置环境:
sudo apt-get install build-essential
sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libjasper-dev libdc1394-22-dev
3. 配置好环境之后,在opencv目录下新建build文件夹,依次执行以下命令:
cd opencv
mkdir build
sudo cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local ..
接着执行,此处时间较长,等待完成100就可以。
sudo make -j8
sudo make install
4. 打开配置文件:
sudo gedit /etc/ld.so.conf
5. 添加如下路径:
/usr/loacal/lib
6. 保存并关闭,执行:
sudo ldconfig
7. 配置环境,打开bash.bashrc。
sudo gedit /etc/bash.bashrc
8. 在文件末尾添加如下:
PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
export PKG_CONFIG_PATH
9. 保存并退出,执行:
source /etc/bash.bashrc
10. 安装完成后输入如下命令,查看安装的结果:
pkg-config opencv --modversion
二、安装Ros和rosdepc
此处推荐用鱼香肉丝一键安装。
wget http://fishros.com/install -O fishros && . fishros
三、安装Eigen库
此处推荐适用于Autoware.ai版本为3.3.7。Eigen3.3.7下载链接
1. 解压文件
# 解压
sudo tar -xzvf eigen-3.3.7.tar.gz
先查看自己的Egien库版本,命令如下,如果查看到已经是3.3.7以下过程不用执行:
vim /usr/include/eigen3/Eigen/src/Core/util/Macros.h
如果不是3.3.7就执行以下内容,更改旧链接:
sudo rm -rf /usr/local/include/eigen3
sudo rm -rf /usr/local/include/Eigen #删除系统自带eigen版本
2. 安装Eigen
#前提
sudo apt install build-essential
# 安装
cd eigen-3.3.7
mkdir build
cd build
cmake ..
make
sudo make install
如果此处报错如下:(原因是源的问题,建议先安装Ros,会换源)。
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
您也许需要运行“apt --fix-broken install”来修正上面的错误。
下列软件包有未满足的依赖关系:
dkms : 依赖: gcc 但是它将不会被安装
libc6 : 破坏: libc6:i386 (!= 2.27-3ubuntu1.5) 但是 2.27-3ubuntu1.6 正要被安装
libc6:i386 : 破坏: libc6 (!= 2.27-3ubuntu1.6) 但是 2.27-3ubuntu1.5 正要被安装
libc6-dbg : 依赖: libc6 (= 2.27-3ubuntu1.6) 但是 2.27-3ubuntu1.5 正要被安装
libc6-dev : 依赖: libc6 (= 2.27-3ubuntu1.6) 但是 2.27-3ubuntu1.5 正要被安装
E: 有未能满足的依赖关系。请尝试不指明软件包的名字来运行“apt --fix-broken install”(也可以指定一个解决办法)。
复制文件:
sudo cp -r /usr/local/include/eigen3/Eigen /usr/include
sudo cp -r /usr/local/include/eigen3 /usr/include
建立刚安装好的Eigen库链接:
sudo ln -s /usr/include/eigen3 /usr/local/include/eigen3
sudo ln -s /usr/include/Eigen/ /usr/local/include/Eigen
cd /usr/lib/cmake/eigen3
sudo rm ./*
sudo cp /usr/local/share/eigen3/cmake/* ./
sudo updatedb
cd /usr/include
查看Eigen版本: (3.3.7)
vim /usr/include/eigen3/Eigen/src/Core/util/Macros.h
四、安装Autoware.ai-1.14.0
4.1 安装依赖
这里下载可能比较慢,多尝试几次,用好点的网络,或者换源。
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
若pip3下载太慢可以将第四条命令换成:
pip3 install -U setuptools -i https://pypi.tuna.tsinghua.edu.cn/simple
4.2 下载Autoware.ai
1.在home路径下打开终端输入以下命令:
#Autoware.ai目录
mkdir -p autoware.ai/src
cd autoware.ai
2.下载源码:
wget -O autoware.ai.repos "https://gitlab.com/autowarefoundation/autoware.ai/autoware/raw/1.14.0/autoware.ai.repos?inline=false"
vcs import src < autoware.ai.repos
#上述过程若下载不下来也可以使用如下
cd ..
sudo rm -rf autoware.ai
git clone https://gitee.com/P000it/autoware.ai.git
cd autoware.ai
上述结果显示下载完成,中途报错是因为网络原因,重新下载即可。
3.下载Ros依赖
#下载ros依赖
rosdepc update
rosdepc install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
安装时会报很多的错误,原因在于安装Ros时没有安装这些依赖功能包,只需要根据后面所提示的功能包名称依次下载完成即可。如下图所示,注意将提示功能包名称中所含"_"替换为"-"。
在这里为了方便大家,给出了需要下载的功能包命令:
sudo apt-get install ros-melodic-jsk-rviz-plugins
sudo apt-get install ros-melodic-nmea-navsat-driver
sudo apt-get install ros-melodic-jsk-recognition-msgs
sudo apt-get install ros-melodic-nmea-msgs
sudo apt-get install ros-melodic-qpoases-vendor
sudo apt-get install ros-melodic-gps-common
sudo apt-get install ros-melodic-velodyne-pointcloud
sudo apt-get install ros-melodic-grid-map-ros
sudo apt-get install ros-melodic-gscam
sudo apt-get install ros-melodic-velodyne
sudo apt-get install ros-melodic-imu-tools
sudo apt-get install ros-melodic-sound-play
sudo apt-get install ros-melodic-lgsvl-msgs
sudo apt-get install ros-melodic-jsk-topic-tools
sudo apt-get install ros-melodic-geodesy
sudo apt-get install ros-melodic-image-view2
sudo apt-get install ros-melodic-rosbridge-server
sudo apt-get install ros-melodic-automotive-platform-msgs
sudo apt-get install ros-melodic-carla-msgs
sudo apt-get install ros-melodic-velodyne-gazebo-plugins
sudo apt-get install ros-melodic-velodyne-description
sudo apt-get install ros-melodic-automotive-navigation-msgs
sudo apt-get install ros-melodic-velocity-controllers
sudo apt-get install ros-melodic-uvc-camera
sudo apt-get install ros-melodic-effort-controllers
sudo apt-get install libglew-dev
sudo apt-get install libpugixml-dev
sudo apt-get install libgeographic-dev
若最后还是出现这样的错误直接跳过即可:
完成上述操作后,重新执行第3步下载Ros依赖,如果还有报错,继续按照上述命令格式补全所缺功能包。
#下载ros依赖
rosdepc update
rosdepc install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
4.在Autoware.ai路径下进行编译:
#有CUDA(不推荐,CUDA报错很多)
AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
#无CUDA(推荐这个)
colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release
5.编译完成后,启动Autoware.ai如下命令:
source install/setup.bash
roslaunch runtime_manager runtime_manager.launch
成功!!