Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]
Messages
Services
Plugins
Recent questions tagged floam at Robotics Stack Exchange
Package Summary
Tags | No category tags. |
Version | 0.1.0 |
License | BSD |
Build type | CATKIN |
Use | RECOMMENDED |
Repository Summary
Checkout URI | https://github.com/flynneva/floam.git |
VCS Type | git |
VCS Version | main |
Last Updated | 2021-08-23 |
Dev Status | DEVELOPED |
CI status | Continuous Integration |
Released | RELEASED |
Tags | No category tags. |
Contributing |
Help Wanted (0)
Good First Issues (0) Pull Requests to Review (0) |
FLOAM
Fast LOAM (Lidar Odometry And Mapping)
This work is an optimized version of A-LOAM and LOAM with the computational cost reduced by up to 3 times. This code is modified from LOAM and A-LOAM .
Modifier: Wang Han, Nanyang Technological University, Singapore
Modifier: Evan Flynn
1. Demo Highlights
Watch our demo at Video Link
2. Evaluation
2.1. Computational efficiency evaluation
Computational efficiency evaluation (based on KITTI dataset):
Platform: Intel® Core™ i7-8700 CPU @ 3.20GHz
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI
| 151ms | 59ms |
Localization error:
| Dataset | ALOAM | FLOAM |
|———————————————-|—————————-|————————|
| KITTI sequence 00
| 0.55% | 0.51% |
| KITTI sequence 02
| 3.93% | 1.25% |
| KITTI sequence 05
| 1.28% | 0.93% |
2.2. localization result
2.3. mapping result
3. Prerequisites
3.1 Ubuntu and ROS
Ubuntu 64-bit 18.04 or 20.04
ROS Melodic or Noetic. ROS Installation
3.2. **Install dependencies using rosdep
Install dependencies using rosdep
:
cd /your/catkin_ws
rosdep install --from-paths src --ignore-src -y
Or you can manually install the dependencies below:
3.3. Ceres Solver
Follow Ceres Installation.
3.4. PCL
Follow PCL Installation.
3.5. Trajectory visualization
For visualization purpose, this package uses hector trajectory sever, you may install the package by
sudo apt-get install ros-melodic-hector-trajectory-server
Alternatively, you may remove the hector trajectory server node if trajectory visualization is not needed
4. Build
Make sure to have installed the required dependencies as above before trying to build this package.
4.1 Clone repository:
cd ~/catkin_ws/src
git clone https://github.com/wh200720041/floam.git
cd ..
catkin_make
source ~/catkin_ws/devel/setup.bash
4.2 Download test rosbag
Download KITTI sequence 05 or KITTI sequence 07
File truncated at 100 lines see the full file
Changelog for package floam
0.1.0 (2021-08-22)
- increase mapping odom queue size
- trying to reduce copying
- improve edge and surface detection
- trying to improve edge detection
- rewrote mapping class
- minor fixes for single-scan device
- working for unorganized single scanner
- fix launch files for scanner with 1 scan line
- functional mapping node
- functional odom node
- clean up diff logic, fix edge threshold param name
- more clean up, default to exact sync in launch
- fix frame_id, use variable for nearest k
- use variable for k points to search
- try different algos for predicting odom
- clean up odom estimation classes
- clean up coordinate frames, fix some error prints, transform pointcloud to new frame
- fix odom node, launch files
- make edgeThreshold param
- scanning lidar nodelets functional
- implement scanning lidar logic too
- add ros ci actions
- rewrote mapping nodelet
- change defaults for lidar launch, add approx sync callback for odom
- rewrote odom nodelet
- implemented templates for imager and scanner
- migrate to templates
- split lidar class to scanning and imaging
- edge detection working
- switch to nodelets
- fix launch files
- fix package depends, clean up files
- fix cmake error
- add demo link
- update
- Merge pull request #24 from Chris7462/master Fix some minor issues
- add img
- update rosbag link
- update edge cost
- Fix frame_id names and downSizeFilterSurf and downSizeFilterEdge misplaced
- remove multiple pointcloud subscription
- change video
- add video demo
- change rosbag location
- add floam ssl description
- change frame name
- add resultion setting and add support for velodyne VLP-16
- fix function mismatch problem
- add VLP16 description
- add new points selection rules and some code optimization
- add tf
- add trajectory sever install description
- change rosbag path
- change picture location
- change picture location
- add mapping gif
- add mapping node
- add some comments to code
- change frame name
- add license
- add comments to floam
- remove opencv dependency
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- add csome instruction to roslaunch
- update some comparison
- update some comparison
- update some comparison
- update some comparison
- floam
- Contributors: Evan Flynn, Wang Han 王晗, chris7462, wh200720041
Wiki Tutorials
Package Dependencies
Deps | Name |
---|---|
catkin | |
geometry_msgs | |
nav_msgs | |
roscpp | |
nodelet | |
rospy | |
std_msgs | |
rosbag | |
sensor_msgs | |
tf2 | |
tf2_geometry_msgs | |
eigen_conversions | |
hector_trajectory_server | |
pcl_ros |
System Dependencies
Dependant Packages
Launch files
- launch/floam_all.launch
-
- isScanning [default: true]
- points_topic [default: /velodyne_points]
- frame_id [default: velodyne]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 200]
- min_distance [default: 0.5]
- use_exact_sync [default: true]
- queue_size [default: 10]
- edge_threshold [default: 0.05]
- scan_lines [default: 32]
- skip_points [default: 1]
- search_k [default: 10]
- search_radius [default: 0.25]
- period [default: 0.2]
- odom_parent_frame_id [default: map]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- map_resolution [default: 0.4]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- node_name_base [default: floam]
- manager_name [default: $(arg node_name_base)_manager]
- global_manager_name [default: /$(arg manager_name)]
- new_manager [default: true]
- rviz [default: true]
- launch/floam_imaging_lidar.launch
-
- points_topic [default: points]
- frame_id [default: base_link]
- lidar_frame_id [default: hfl118_front]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 90]
- min_distance [default: 0.5]
- node_name [default: floam]
- new_manager [default: true]
- launch/floam_mapping.launch
-
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- use_exact_sync [default: true]
- queue_size [default: 10]
- map_resolution [default: 10]
- mapping_points_topic [default: /floam_lidar_node/points_filtered]
- mapping_odom_topic [default: /floam_odom_node/odom]
- output_map_topic [default: /floam_mapping_node/map]
- launch/floam_odom.launch
-
- frame_id [default: base_link]
- odom_parent_frame_id [default: map]
- use_exact_sync [default: true]
- queue_size [default: 5]
- map_resolution [default: 0.4]
- edge_cloud_topic [default: /floam_lidar_node/points_edge]
- surface_cloud_topic [default: /floam_lidar_node/points_surface]
- odom_topic [default: /floam_odom_node/odom]
- launch/floam_scanning_lidar.launch
-
- points_topic [default: /velodyne_points]
- frame_id [default: base_link]
- lidar_frame_id [default: velodyne]
- floam_frame_id [default: floam_$(arg lidar_frame_id)]
- max_distance [default: 1000]
- min_distance [default: 0.0]
- edge_threshold [default: 0.05]
- scan_lines [default: 64]
- skip_points [default: 50]
- search_k [default: 10]
- search_radius [default: 0.25]
- node_name [default: floam]
- new_manager [default: true]
- launch/project_depth_image.launch
-
- lidar_name [default: lidar]
- node_name [default: $(arg lidar_name)]
- manager_name [default: $(arg lidar_name)_manager]
- depth_camera_info_topic [default: /$(arg lidar_name)/depth/camera_info]
- depth_image_topic [default: /$(arg lidar_name)/depth/image_raw]
- points_topic [default: /$(arg lidar_name)/depth/points]
- rectify_depth [default: false]