当前位置:   article > 正文

ubuntu 18.04 安装 Autoware1.13安装_autoware.ai 1.13 gpu

autoware.ai 1.13 gpu

参考链接:http://t.csdn.cn/tkJxr

1,cuda安装

1.1,安装前准备

根据官方文档的介绍,在安装前检查操作系统环境。

验证GPU

lspci | grep -i nvidia

验证Linux版本信息

uname -m && cat /etc/release

验证是否安装gcc编译器(安装GPU驱动时会自动安装gcc)

gcc --version

如果没有安装,需要首先安装gcc

验证系统内核

uname -r

安装GPU驱动

参考链接:http://t.csdn.cn/OTETP

#注意:请关闭BIOS设置中的安全启动,不然可能ubuntu检测不到显卡,也就是后面的ubuntu-drivers devices没有输出!!!
sudo nvidia-uninstall  #删除旧的驱动

sudo add-apt-repository ppa:graphics-drivers/ppa && sudo apt update

sudo ubuntu-drivers devices

sudo ubuntu-drivers autoinstall  或者: sudo apt-get install nvidia-driver-450

1.2,cuda下载

cuda下载 10.0链接:

CUDA Toolkit 10.0 Download | NVIDIA Developer

或者(注意选择自己的版本)

CUDA Toolkit Archive | NVIDIA Developer

1.3,安装CUDA

可以参考: http://t.csdn.cn/CNvJJ

运行:

sudo sh cuda_10.0.130_410.48_linux.run

注意:让选择安装显卡驱动的时候选择(n)如下,不然会把你现有的显卡驱动给卸载掉

  1. Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 410.48?
  2. (y)es/(n)o/(q)uit:

安装完成后,打开 /home/username/.bashrc 文件,最后添加两行

  1. export PATH=$PATH:/usr/local/cuda/bin
  2. export CUDA_HOME=$CUDA_HOME:/usr/local/cuda

        或者

export PATH="/usr/local/cuda-10.0/bin:$PATH"

1.4,查看CUDA版本

安装好CUDA并配置好环境变量后,重启终端或另打开一个终端输入:

nvcc -V

1.5,修改CUDA相关的版本检查参数

编译过程中ndt_gpu中CUDA报错:

修改文件为:

autoware.ai/src/autoware/common/autoware_build_flags/cmake/autoware_build_flags-extras.cmake

修改后的结果为:

将CUDA版本号检查由≤10.0修改为≤10.2,则可以编译通过生成NDT_GPU(根据自己的版本而定)

另外如果安装过程中包以下错误,也也可以安装高版本的CUDA,并且安上述修改(注:该方法没有测试过,因该可行。)

  1. 下列软件包有未满足的依赖关系:
  2. cuda : 依赖: cuda-10-0 (>= 10.0.130) 但是它将不会被安装
  3. E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

2,安装eigen3.3.7

参考链接:

http://t.csdn.cn/sJ9Dh

http://t.csdn.cn/O7s9o

2.1,查看已安装版本

gedit /usr/include/eigen3/Eigen/src/Core/util/Macros.h

或者

gedit /usr/local/include/eigen3/Eigen/src/Core/util/Macros.h

显示上图中的结果,表示安装版本为:eigen3.3.7

2.2,卸载先前版本:

  1. sudo updatedb
  2. locate eigen3

得到eigen库的位置

卸载:

  1. sudo rm -rf /usr/include/eigen3 /usr/lib/cmake/eigen3 /usr/share/doc/libeigen3-dev /usr/share/pkgconfig/eigen3.pc /var/lib/dpkg/info/libeigen3-dev.list /var/lib/dpkg/info/libeigen3-dev.md5sums

2.3,安装

下载压缩包链接: https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.gz

安装步骤:

  1. # 解压
  2. sudo tar -xzvf eigen-3.3.7.tar.gz
  3. # 安装
  4. cd eigen-3.3.7
  5. mkdir build
  6. cd build
  7. sudo cmake ..
  8. sudo make install
  9. #安装后,头文件安装在/usr/local/include/eigen3/
  10. # 移动头文件:
  11. sudo cp -r /usr/local/include/eigen3/Eigen /usr/local/include
  12. - - 在很多程序中include时经常使用#include <Eigen/Dense>;否则系统无法默认搜索到,build时会找不到;
  13. - - 或者直接修改CmakeLists.txt中eigen3库的路径,include_directories( "/usr/local/include/eigen3" ),但太麻烦!
  1. #删除系统自带的eigen版本,原版为3.3.4 (前面已经卸载了)
  2. sudo rm -rf /usr/local/include/eigen3
  3. sudo rm -rf /usr/local/include/Eigen
  4. #拷贝新版本3.3.7至系统默认目录
  5. sudo cp -r /usr/local/include/eigen3/Eigen /usr/include
  6. sudo cp -r /usr/local/include/eigen3 /usr/include
  7. #删除新版本3.3.7
  8. sudo rm -rf /usr/local/include/eigen3
  9. sudo rm -rf /usr/local/include/Eigen
  10. #在/usr/local/include目录创建新版本软连接
  11. sudo ln -s /usr/include/eigen3 /usr/local/include/eigen3
  12. sudo ln -s /usr/include/Eigen/ /usr/local/include/Eigen
  13. #更新cmake库链接
  14. cd /usr/lib/cmake/eigen3
  15. # 删除旧版cmake配置信息
  16. sudo rm ./*
  17. # 编译的eigen库安装路径为/usr/local/share/eigen3
  18. sudo cp /usr/local/share/eigen3/cmake/* ./
  19. #更新系统数据库
  20. sudo updatedb

2.4,测试:

touch eigen-test.cpp
gedit eigen-test.cpp
  1. #include <iostream>
  2. #include <Eigen/Dense>
  3. //using Eigen::MatrixXd;
  4. using namespace Eigen;
  5. using namespace Eigen::internal;
  6. using namespace Eigen::Architecture;
  7. using namespace std;
  8. int main()
  9. {
  10. cout<<"*******************1D-object****************"<<endl;
  11. Vector4d v1;
  12. v1<< 1,2,3,4;
  13. cout<<"v1=\n"<<v1<<endl;
  14. VectorXd v2(3);
  15. v2<<1,2,3;
  16. cout<<"v2=\n"<<v2<<endl;
  17. Array4i v3;
  18. v3<<1,2,3,4;
  19. cout<<"v3=\n"<<v3<<endl;
  20. ArrayXf v4(3);
  21. v4<<1,2,3;
  22. cout<<"v4=\n"<<v4<<endl;
  23. }
g++ eigen-test.cpp -o eigen-test
./eigen-test

3,Autoware 1.13安装

参考链接

http://t.csdn.cn/zhFGV

http://t.csdn.cn/tkJxr

3.1,配置列表

系统:Ubuntu 18.04
ROS:Melodic
CUDA:10.0以上
Eigen:3.3.7以上
已经将我的显卡驱动以及CUDA上传到网盘:链接: https://pan.baidu.com/s/1xgPwZVVF18eoJesABWau7g 提取码: qsg9

3.2,安装依赖

  1. sudo apt update
  2. sudo apt install -y python-catkin-pkg python-rosdep ros-$ROS_DISTRO-catkin
  3. sudo apt install -y python3-pip python3-colcon-common-extensions python3-setuptools python3-vcstool
  4. pip3 install -U setuptools

3.3,建立工作空间

  1. mkdir -p autoware.ai/src
  2. cd autoware.ai

3.4,下载Autoware 1.13

  1. wget -O autoware.ai.repos "https://gitlab.com/autowarefoundation/autoware.ai/autoware/raw/1.13.0/autoware.ai.repos?inline=false"
  2. vcs import src < autoware.ai.repos

3.5,安装ROS依赖

  1. rosdepc update
  2. rosdepc install --from-paths src --ignore-src --rosdistro=melodic -y

注:如果 rosdepc install --from-paths src --ignore-src --rosdistro=melodic -y报如下类似的错误

  1. ERROR: the following packages/stacks could not have their rosdep keys resolved
  2. to system dependencies:
  3. runtime_manager: Cannot locate rosdep definition for [velodyne]
  4. kitti_box_publisher: Cannot locate rosdep definition for [jsk_recognition_msgs]
  5. ymc: Cannot locate rosdep definition for [ds4_msgs]
  6. autoware_health_checker: Cannot locate rosdep definition for [jsk_rviz_plugins]
  7. lanelet_aisan_converter: Cannot locate rosdep definition for [lanelet2_traffic_rules]
  8. costmap_generator: Cannot locate rosdep definition for [grid_map_ros]
  9. sound_player: Cannot locate rosdep definition for [sound_play]
  10. xsens_driver: Cannot locate rosdep definition for [gps_common]
  11. road_occupancy_processor: Cannot locate rosdep definition for [grid_map_ros]
  12. gnss_localizer: Cannot locate rosdep definition for [nmea_msgs]
  13. lidar_euclidean_cluster_detect: Cannot locate rosdep definition for [jsk_rviz_plugins]
  14. decision_maker: Cannot locate rosdep definition for [jsk_rviz_plugins]

可手动安装依赖如下类似:

  1. sudo apt-get install ros-melodic-velodyne
  2. sudo apt-get install ros-melodic-jsk-recognition-msgs*
  3. sudo apt-get install ros-melodic-ds4-msgs*
  4. sudo apt-get install ros-melodic-jsk-rviz-plugins*
  5. sudo apt-get install ros-melodic-lanelet2-routing
  6. sudo apt-get install ros-melodic-jsk-rviz-plugins
  7. sudo apt-get install ros-melodic-gscam
  8. sudo apt-get install ros-melodic-lgsvl-msgs
  9. sudo apt-get install ros-melodic-velodyne-description
  10. sudo apt-get install ros-melodic-automotive-platform-msgs
  11. sudo apt-get install ros-melodic-gps-common
  12. sudo apt-get install ros-melodic-uvc-camera
  13. sudo apt-get install ros-melodic-imu-tools
  14. sudo apt-get install ros-melodic-nmea-msgs
  15. sudo apt-get install ros-melodic-nmea-navsat-driver
  16. sudo apt-get install ros-melodic-velodyne-gazebo-plugins
  17. sudo apt-get install ros-melodic-geodesy
  18. sudo apt-get install ros-melodic-automotive-navigation-msgs
  19. sudo apt-get install ros-melodic-rosbridge-server
  20. sudo apt-get install ros-melodic-image-view2
  21. sudo apt-get install ros-melodic-qpoases-vendor
  22. sudo apt-get install ros-melodic-velocity-controllers

3.6,编译环境

编译cpu版本的autoware(注:如果更改了源码,即src文件夹,重新编译autoware工作区即可!)

colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

或者:

编译工作空间(带CUDA)

AUTOWARE_COMPILE_WITH_CUDA=1 colcon build --cmake-args -DCMAKE_BUILD_TYPE=Release

正常情况下,编译成功163个packages!)

3.8,启动autoware

  1. source install/setup.bash
  2. roslaunch runtime_manager runtime_manager.launch

至此,Autoware 1.13安装完成!恭喜你在自动驾驶道路上又前进了一步!!!

  1. Starting >>> op_utilities
  2. --- stderr: waypoint_maker
  3. /home/wust/autoware.ai/install/lanelet2_routing/lib/liblanelet2_routing.so:对‘lanelet::LaneletMap::LaneletMap()’未定义的引用
  4. /home/wust/autoware.ai/install/lanelet2_validation/lib/liblanelet2_validation.so:对‘lanelet::LaneletMap::~LaneletMap()’未定义的引用
  5. collect2: error: ld returned 1 exit status
  6. make[2]: *** [devel/lib/waypoint_maker/waypoint_clicker] Error 1
  7. make[1]: *** [CMakeFiles/waypoint_clicker.dir/all] Error 2
  8. make: *** [all] Error 2
  1. 这个错误提示表明链接(linking)阶段出现了问题,具体而言是在链接 waypoint_clicker 时发生了错误。错误信息中显示了对 lanelet::LaneletMap::LaneletMap() 和 lanelet::LaneletMap::~LaneletMap() 的未定义引用。
  2. 这可能是由于缺少某些依赖项或者编译过程中的配置问题引起的。以下是一些建议来排查和解决这个问题:
  3. 检查依赖项是否正确安装: 确保你的项目依赖的库和头文件都正确安装。在你的项目中,似乎涉及到了 lanelet2_routing 和 lanelet2_validation,因此确保这两个库正确安装,并且你的项目能够找到它们。
  4. 检查链接选项: 确保在编译和链接过程中正确指定了 lanelet2_routing 和 lanelet2_validation 库。这通常是通过 CMake 文件或 Makefile 中的链接选项实现的。确保这两个库的路径被正确添加。
  5. 检查编译顺序: 确保编译和链接的顺序正确。有时候,库的链接顺序可能会导致一些问题。你可能需要调整 CMakeLists.txt 文件或 Makefile 中的目标顺序。
  6. 检查库的版本: 确保你的项目使用的 lanelet2_routing 和 lanelet2_validation 版本与你系统中安装的版本兼容。不同版本之间的接口可能有所变化,可能导致链接错误。
  7. 查看链接命令: 如果你使用的是 Makefile,查看实际的链接命令,看看是否正确包含了所有必要的库。你可以在错误输出中找到链接命令,然后手动执行它进行调试。
  8. 如果你能提供更多的上下文或相关的 CMakeLists.txt 文件内容,我可能能够提供更具体的帮助。如果问题仍然存在,你可能需要查看项目的构建文档或联系项目的维护者以获取更详细的支持。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/人工智能uu/article/detail/1016560
推荐阅读
相关标签
  

闽ICP备14008679号