# `urban_road_filter`: a real-time LIDAR-based urban road and sidewalk detection algorithm for autonomous vehicles
<img src="img/urban_road_filter_anim01.gif" height=620/> <img src="img/urban_road_filter_static01.png" height=620/>
# Dependency
- [ROS](http://wiki.ros.org/ROS/Installation) (tested with Kinetic and Melodic)
- [PCL](https://pointclouds.org/)
# Install
Use the following commands to download and compile the package.
```
cd ~/catkin_ws/src
git clone https://github.com/jkk-research/urban_road_filter
catkin build urban_road_filter
```
# Getting started
Issue the following commands to start roscore, download and play sample data, and start the algorithm with visualization. You can also watch this as a [youtube tutorial](https://www.youtube.com/watch?v=HHnj4VcbSy4).
In a **new terminal** start roscore:
```
roscore
```
In a **new terminal** go to your bag folder (e.g. `~/Downloads`):
```
cd ~/Downloads
```
Download a sample rosbag (~3,3 GB):
```r
wget https://laesze-my.sharepoint.com/:u:/g/personal/herno_o365_sze_hu/EYl_ahy5pgBBhNHt5ZkiBikBoy_j_x95E96rDtTsxueB_A?download=1 -O leaf-2021-04-23-campus.bag
```
Play rosbag:
```r
rosbag play -l ~/Downloads/leaf-2021-04-23-campus.bag
```
In a **new terminal** start the `urban_road_filter` node, `rviz` and `rqt_reconfigure` with roslaunch:
```
roslaunch urban_road_filter demo1.launch
```
# Cite & paper
If you use any of this code please consider citing the [paper](https://www.mdpi.com/1424-8220/22/1/194):
```bibtex
@Article{roadfilt2022horv,
title = {Real-Time LIDAR-Based Urban Road and Sidewalk Detection for Autonomous Vehicles},
author = {Horváth, Ernő and Pozna, Claudiu and Unger, Miklós},
journal = {Sensors},
volume = {22},
year = {2022},
number = {1},
url = {https://www.mdpi.com/1424-8220/22/1/194},
issn = {1424-8220},
doi = {10.3390/s22010194}
}
```
# Related solutions
- [`points_preprocessor`](https://github.com/Autoware-AI/core_perception/tree/master/points_preprocessor) `ray_ground_filter` and `ring_ground_filter` (ROS)
- [`linefit_ground_segmentation`](https://github.com/lorenwel/linefit_ground_segmentation) (ROS)
- [`curb_detection`](https://github.com/linyliny/curb_detection) (ROS)
- [`3DLidar_curb_detection`](https://github.com/SohaibAl-emara/3D_Lidar_Curb_Detection) (ROS)
- Many more algorithms without code mentioned in the [paper](https://doi.org/10.3390/s22010194).
# Videos and images
[<img src="img/yt_demo01.png" width=213/>](https://www.youtube.com/watch?v=T2qi4pldR-E)
[<img src="img/yt_tutorial01.png" width=213/>](https://www.youtube.com/watch?v=HHnj4VcbSy4)
[<img src="img/yt_demo02.png" width=213/>](https://www.youtube.com/watch?v=9tdzo2AyaHM)
[<img src="img/yt_demo03.png" width=213/>](https://www.youtube.com/watch?v=lp6q_QvWA-Y)
<img src="img/marker_poly01.png" width=440/>
<img src="img/marker_road_high01.png" width=440/>
<img src="img/marker_poly02.png" width=440/>
# ROS publications / subscriptions
```mermaid
flowchart LR
P[points] -->|sensor_msgs/PointCloud2| U(urban_road_filt)
U --> |sensor_msgs/PointCloud2| A[curb]
U --> |sensor_msgs/PointCloud2| B[road]
U --> |sensor_msgs/PointCloud2| C[road_probably]
U --> |sensor_msgs/PointCloud2| D[roi]
U --> |visualization_msgs/MarkerArray| E[road_marker]
```
快撑死的鱼
- 粉丝: 2w+
- 资源: 9148
最新资源
- 地震数据可视化平台系统源代码全套技术资料.zip
- ripro子主题eeesucai-child集成后台美化包,适用于设计素材站+资源下载站
- 基于mpx+vue+node.js的双端网盘系统的设计与实现源代码全套技术资料.zip
- 深度学习大作业:python文本分类任务代码合集.zip
- 深度学习大作业:python文本分类任务代码合集.zip
- 深度学习大作业:python文本分类任务代码合集.zip
- 【代码分享】基于python的文本分类(sklearn-决策树和随机森林实现)
- 【代码分享】基于python的文本分类(sklearn-决策树和随机森林实现)
- 【代码分享】基于python的文本分类(sklearn-决策树和随机森林实现)
- 永磁同步直线电机仿真实例,仿真教学 maxwell16.0版本 12槽11极 包括图中模型以及一个仿真设置要点word文档教程
- 高西全 丁玉美数字信号处理第五版实验报告 实验一 常见离散信号的MATLAB产生和图形显示
- MATLAB代码:考虑P2G和碳捕集设备的热电联供综合能源系统优化调度模型 关键词:碳捕集 综合能源系统 电转气P2G 热电联产 低碳调度 参考文档:Modeling and Optimiza
- WordPress文章下载增强插件CoreDownload v1.0.4
- 三相10Kw光伏并网逆变器 包含全套理图 PCB 源代码
- 基于MATLAB的运动车辆跟踪检测系统源代码+GUI界面(高分项目)
- 基于MATLAB的运动车辆跟踪检测系统源代码+GUI界面(高分项目)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈