1.代码地址
https://github.com/Autoware-AI/core_perception
下的lidar_point_pillars 包
2.安装cuda,cudnn,tensorrt。
见point_pillars 安装_studieren666的博客-CSDN博客_pointpillars安装。 这里要说明用runfile安装cuda会遇到没有cublas 的问题.(还是推荐runfile安装,可以控制是否安装nvidia驱动,至少不会乱装驱动)
1)在sudo apt-get install tensorrt 时会出现 缺乏依赖的问题。
tensorrt : 依赖: libnvinfer5 (= 5.0.2-1+cuda10.0) 但是它将不会被安装
依赖: libnvinfer-dev (= 5.0.2-1+cuda10.0) 但是它将不会被安装
依赖: libnvinfer-samples (= 5.0.2-1+cuda10.0) 但是它将不会被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。
解决办法:sudo apt-get install apititude
sudo aptitude install cuda
2)会提示你缺乏cuda-libraries-10-0 (参考乌班图 18.04 tensorRT安装踩坑_代码大萝卜的博客-CSDN博客)
解决办法:
下载对应的deb包。
根据官方提供的文档进行安装:
Installation Instructions:sudo dpkg -i cuda-repo-ubuntu1604-9-0-local_9.0.176-1_amd64.deb
sudo apt-key add /var/cuda-repo-<version>/7fa2af80.pub
sudo apt-get update
sudo apt-get install cuda //用下一行命令替换,不要执行这行!!!
再次安装Patch 1,注意,安装Patch 1的时候与上述命令类似,
最后一条命令修改为:
sudo apt-get install cuda-libraries-10-0
再sudo apt-get install tensorrt.
tensorrt安装完成!!!
3.要想显示还需要下载
https://github.com/Autoware-AI/visualization
下的detected_objects_visualizer包
下的autoware_msgs包。
期间还会报错,没有jsk_recognition。
运行命令sudo apt-get install ros-melodic-jsk-recognition
还会报错uuid的问题,在网上搜索下载unique_identifier包。
所以,一共是4个包。
4.catkin_make
5.NOTFOUND CUDA_cublas_device_LIBRARY
升级cmake。
百度网盘里有cmake3.17
链接: https://pan.baidu.com/s/17RvLSrj7ieOx07mNtEt8TQ 提取码: 2w5e
tar -zxvf cmake-3.17.3.tar.gz
cd cmake-3.17.3 # or wherever you downloaded cmake
./bootstrap
make
make install
这个安装在/usr/local/share 下
查看cmake安装版本 cmake --version
但是ros的cmake 路径就是/usr/share/cmake-3.10
这个时候就把cmake3.17复制到/usr/share 中并重命名为cmake-3.10,把cmake-3.10删掉.
6.编译应该就成功了。
运行命令:
roslaunch lidar_point_pillars lidar_point_pillars.launch
rosbag play test.bag
应评论要求,放上test.bag
链接: https://pan.baidu.com/s/1e5vfuOec4tjZ3PQ2MVoAxQ?pwd=tr9g 提取码: tr9g
rviz rviz
fix frame 改成velodyne。
7.注释掉 find_package(auto_build_flags)这一行。
By not providing “Find autoware_build_flags.cmake” in CMAKE_MODULE_PATH this
project has asked CMake to find a package configuration file provided by
“autoware_build_flags”, but CMake did not find one.
参考自安装autoware遇到的那些坑_空心菜使者的博客-CSDN博客
8.base_link的错误,把launch或者是ros_node里面的baselink_support置false。
9.参考了https://blog.csdn.net/tiatiatiatia/article/details/106880488
10. 可以查看话题发布的一帧消息rostopic echo /objects -n1
补充:由于opencv版本变动带来的错误
/apollo/pp_lmx/src/detected_objects_visualizer/src/visualize_rects.cpp:112:21: error: 'CV_AA' was not declared in this scope
CV_AA);
^~~~~
/apollo/pp_lmx/src/detected_objects_visualizer/src/visualize_rects.cpp:112:21: note: suggested alternative: 'CV_LU'
CV_AA);
^~~~~
CV_LU
/apollo/pp_lmx/src/detected_objects_visualizer/src/visualize_rects.cpp:138:21: error: 'CV_FILLED' was not declared in this scope
CV_FILLED,
^~~~~~~~~
把visualize_rects.cpp 中的CV_AA 改成 cv::LINE_AA
把CV_FILLED改成 cv::FILLED 就成功了。