自动驾驶 基于线性拟合的地面分割算法

所有步骤均基于tx2 ubuntu16.04,16线北科天绘激光雷达

1、准备工作

下载代码及依赖库

#基于ROS-kinetic版本
cd ~/
mkdir catkin_ws
cd catkin_ws/
mkdir src/
cd ..
catkin_make
cd src/
#下载项目代码
git clone https://github.com/lorenwel/linefit_ground_segmentation.git
#下载第一个依赖
git clone https://github.com/catkin/catkin_simple.git
#下载第二个依赖(注意使用这个地址,原地址项目已被废弃,故编译方法不再适用)
git clone https://github.com/google/glog.git

2、开始编译

cd ~/catkin_ws/
catkin_make -DCATKIN_WHITELIST_PACKAGES="catkin_simple"

cd glog/
./autogen.sh
./configure
sudo make
sudo make install

关键的部分来了:

因为glog不再是ROS下的glog_catkin所以这个时候你编译项目代码会找不到glog_catkinConfig.make这个东西

cd /home/username/catkin_ws/src
cd /linefit_ground_segmentation/linefit_ground_segmentation_ros/
gedit CMakeLists.txt
#我是Andrwin,我的博客地址是https://blog.csdn.net/Andrwin欢迎您的关注
#这个时候glog其实已经编译完成 只不过ROS找不到
#不信你去/usr/local/lib/下面看看有没有.so文件
#在第7行也就是catkin_simple(ALL_DEPS_REQUIRED)之后加入
#find_library(GLOG_PATH glog)
#去寻找这个库的路径
#在第17,18行 补充glog库连接,改成这个样子
#target_link_libraries(ground_segmentation_node ${catkin_LIBRARIES} ${PCL_LIBRARIES} ${GLOG_PATH})
#target_link_libraries(ground_segmentation_test_node ${catkin_LIBRARIES} ${PCL_LIBRARIES} ${GLOG_PATH})
#然后在同级目录的package.xml中删掉第14行
#也就是这一行  glog_catkin
#然后重新编译linefit_ground_segmentation_ros
catkin_make -DCATKIN_WHITELIST_PACKAGES="linefit_ground_segmentation"
catkin_make -DCATKIN_WHITELIST_PACKAGES="linefit_ground_segmentation_ros"

3、修改配置文件

cd /home/username/catkin_line/src/linefit_ground_segmentation-master
cd /linefit_ground_segmentation_ros/launch/
gedit segmentation.launch
#第8行    修改你的雷达点云话题
gedit segmentation_params.yaml
#第10行 sensor_height: 1.8      # sensor height above ground. 修改你的雷达高度
#运行即可
roslaunch linefit_ground_segmentation_ros segmentation.launch

结果还可以 就是速度还有待优化,比 AdamShan大神的

[1]https://blog.csdn.net/AdamShan/article/details/82901295

[2]https://blog.csdn.net/AdamShan/article/details/84569000

两种算法效果都要好一点,当然这两种我都试过了,结果差强人意。

自动驾驶 基于线性拟合的地面分割算法_第1张图片

自动驾驶 基于线性拟合的地面分割算法_第2张图片

自动驾驶 基于线性拟合的地面分割算法_第3张图片

你可能感兴趣的:(自动驾驶)