Skip to content

Commit

Permalink
final version used for iros paper
Browse files Browse the repository at this point in the history
  • Loading branch information
JanQuenzel committed Jul 28, 2021
1 parent 9fdb2ca commit 5f592a2
Show file tree
Hide file tree
Showing 13 changed files with 373 additions and 46 deletions.
4 changes: 2 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ find_package(catkin REQUIRED COMPONENTS
std_msgs
tf
eigen_conversions
message_filters
)

find_package(Eigen3)
Expand Down Expand Up @@ -48,7 +49,7 @@ link_directories(

catkin_package(
CATKIN_DEPENDS geometry_msgs nav_msgs roscpp rospy std_msgs
DEPENDS EIGEN3 PCL Ceres
DEPENDS EIGEN3 PCL CERES
INCLUDE_DIRS include
)

Expand All @@ -62,4 +63,3 @@ target_link_libraries(floam_odom_estimation_node ${EIGEN3_LIBRARIES} ${catkin_LI

add_executable(floam_laser_mapping_node src/laserMappingNode.cpp src/laserMappingClass.cpp src/lidar.cpp)
target_link_libraries(floam_laser_mapping_node ${EIGEN3_LIBRARIES} ${catkin_LIBRARIES} ${PCL_LIBRARIES} ${CERES_LIBRARIES})

9 changes: 6 additions & 3 deletions launch/floam.launch
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
<?xml version="1.0"?>
<launch>


<node pkg="rosbag" type="play" name="rosbag_play" args="--clock $(env HOME)/Downloads/2011_09_30_0018.bag"/>
<node pkg="rosbag" type="play" name="rosbag_play" args="--clock $(env HOME)/to_store/bag_mbzirc8_2020-11-12-17-29-29.bag"/>

<!-- For Velodyne VLP-16
<param name="scan_line" value="16" />
Expand All @@ -12,12 +11,16 @@
<param name="scan_line" value="32" />
-->

<!-- For Velodyne HDL-64 -->
<!-- For Velodyne HDL-64
<param name="scan_line" value="64" />
-->

<param name="scan_line" value="128" />


<!--- Sim Time -->
<param name="/use_sim_time" value="true" />
<param name="scan_topic" value="/os_cloud_node/points" />
<param name="scan_period" value="0.1" />
<param name="vertical_angle" type="double" value="2.0" />
<param name="max_dis" type="double" value="90.0" />
Expand Down
11 changes: 7 additions & 4 deletions launch/floam_mapping.launch
Original file line number Diff line number Diff line change
@@ -1,9 +1,8 @@
<?xml version="1.0"?>
<launch>


<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 0.5 $(env HOME)/Downloads/2011_09_30_0018.bag"/>

<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /home/jquenzel/Downloads/2011_09_30_0018.bag"/>

<!-- For Velodyne VLP-16
<param name="scan_line" value="16" />
-->
Expand All @@ -15,10 +14,14 @@
<!-- For Velodyne HDL-64 -->
<param name="scan_line" value="64" />

<!-- For Ouster OS-0
<param name="scan_line" value="128" />
-->
<!--- Sim Time -->
<param name="/use_sim_time" value="true" />
<param name="scan_period" value="0.1" />

<param name="scan_topic" value="velodyne_points" />
<param name="vertical_angle" type="double" value="2.0" />
<param name="max_dis" type="double" value="90.0" />
<param name="map_resolution" type="double" value="0.4" />
Expand All @@ -30,7 +33,7 @@

<node pkg="tf" type="static_transform_publisher" name="word2map_tf" args="0 0 0 0 0 0 /world /map 10" />

<arg name="rviz" default="true" />
<arg name="rviz" default="false" />
<group if="$(arg rviz)">
<node launch-prefix="nice" pkg="rviz" type="rviz" name="rviz" args="-d $(find floam)/rviz/floam_mapping.rviz" />
</group>
Expand Down
64 changes: 64 additions & 0 deletions launch/floam_mapping_hdl32.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<?xml version="1.0"?>
<launch>

<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange/ul_hk/20190331_HH_lidar.bag"/>-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange/ul_hk/20190331_NJ_LL_lidar.bag"/>-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange/ul_hk/20190331_NJ_SL_lidar.bag"/>-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange/ul_hk/20190331_WH_lidar.bag"/>-->
<!--<param name="scan_topic" value="/velodyne_points" />-->

<param name="scan_topic" value="/velodyne_points_0" />
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange/ul_hk/test2.bag"/>-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange/ul_hk/test3.bag"/>-->
<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange/ul_hk/urban_loco_hk_5.bag"/>


<!-- For Velodyne VLP-16
<param name="scan_line" value="16" />
-->

<!-- For Velodyne HDL-32 -->
<param name="scan_line" value="32" />

<!-- For Velodyne HDL-64
<param name="scan_line" value="64" />
-->

<!-- For Ouster OS-0 -->
<!--param name="scan_line" value="128" /-->

<!--- Sim Time -->
<param name="/use_sim_time" value="true" />
<param name="scan_period" value="0.1" />

<param name="vertical_angle" type="double" value="2.0" />
<param name="max_dis" type="double" value="100.0" />
<param name="map_resolution" type="double" value="0.4" />
<param name="min_dis" type="double" value="1.0" />
<!--- -->
<node pkg="floam" type="floam_odom_estimation_node" name="floam_odom_estimation_node" output="screen"/>
<node pkg="floam" type="floam_laser_processing_node" name="floam_laser_processing_node" output="screen"/>
<node pkg="floam" type="floam_laser_mapping_node" name="floam_laser_mapping_node" output="screen"/>

<node pkg="tf" type="static_transform_publisher" name="word2map_tf" args="0 0 0 0 0 0 /world /map 10" />

<arg name="rviz" default="true" />
<group if="$(arg rviz)">
<node launch-prefix="nice" pkg="rviz" type="rviz" name="rviz" args="-d $(find floam)/rviz/floam_mapping.rviz" />
</group>


<node pkg="hector_trajectory_server" type="hector_trajectory_server" name="trajectory_server_loam" ns="gt" >
<param name="/target_frame_name" value="world" />
<param name="/source_frame_name" value="velodyne" />
<param name="/trajectory_update_rate" value="10.0" />
<param name="/trajectory_publish_rate" value="10.0" />
</node>
<node pkg="hector_trajectory_server" type="hector_trajectory_server" name="trajectory_server_loam" ns="base_link" >
<param name="/target_frame_name" value="world" />
<param name="/source_frame_name" value="base_link" />
<param name="/trajectory_update_rate" value="10.0" />
<param name="/trajectory_publish_rate" value="10.0" />
</node>

</launch>
67 changes: 67 additions & 0 deletions launch/floam_mapping_os0.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<?xml version="1.0"?>
<launch>

<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange_1/2020_11_12_DRZ/bag_mbzirc8_2020-11-12-17-25-36.bag /media/jquenzel/CopterExchange/bag_mbzirc8_2020-11-12-17-25-36_comp.bag"/>
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange_1/2020_11_12_DRZ/bag_mbzirc8_2020-11-12-17-29-29.bag /media/jquenzel/CopterExchange/bag_mbzirc8_2020-11-12-17-29-29_comp.bag"/>-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange_1/2021_06_21_mocap/bag_mbzirc8_2021-06-21-13-45-56.bag /media/jquenzel/CopterExchange/bag_mbzirc8_2021-06-21-13-45-56_comp.bag"/>-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange_1/2021_06_21_mocap/bag_mbzirc8_2021-06-21-14-16-34.bag /media/jquenzel/CopterExchange/bag_mbzirc8_2021-06-21-14-16-34_comp.bag"/>-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange_1/2021_06_21_mocap/bag_mbzirc8_2021-06-21-14-28-50.bag /media/jquenzel/CopterExchange/bag_mbzirc8_2021-06-21-14-28-50_comp.bag"/>-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange_1/2021_06_21_mocap/bag_mbzirc8_2021-06-21-14-31-11.bag /media/jquenzel/CopterExchange/bag_mbzirc8_2021-06-21-14-31-11_comp.bag"/>-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange_1/2021_06_21_mocap/bag_mbzirc8_2021-06-21-14-32-45.bag /media/jquenzel/CopterExchange/bag_mbzirc8_2021-06-21-14-32-45_comp.bag"/>-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange_1/2021_06_21_mocap/bag_mbzirc8_2021-06-21-14-47-42.bag /media/jquenzel/CopterExchange/bag_mbzirc8_2021-06-21-14-47-42_comp.bag"/>-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange_1/2021_06_21_mocap/bag_mbzirc8_2021-06-21-14-49-33.bag /media/jquenzel/CopterExchange/bag_mbzirc8_2021-06-21-14-49-33_comp.bag"/>-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange_1/2021_06_21_mocap/bag_mbzirc8_2021-06-21-14-52-55.bag /media/jquenzel/CopterExchange/bag_mbzirc8_2021-06-21-14-52-55_comp.bag"/>-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange_1/2021_06_21_mocap/bag_mbzirc8_2021-06-21-14-55-27.bag /media/jquenzel/CopterExchange/bag_mbzirc8_2021-06-21-14-55-27_comp.bag"/>-->

<!-- For Velodyne VLP-16
<param name="scan_line" value="16" />
-->

<!-- For Velodyne HDL-32
<param name="scan_line" value="32" />
-->

<!-- For Velodyne HDL-64
<param name="scan_line" value="64" />
-->

<!-- For Ouster OS-0 -->
<param name="scan_line" value="128" />

<!--- Sim Time -->
<param name="/use_sim_time" value="true" />
<param name="scan_period" value="0.1" />

<!--<param name="scan_topic" value="/os_cloud_node/points" />-->
<param name="scan_topic" value="/os_cloud_node/points_compensated" />
<param name="vertical_angle" type="double" value="2.0" />
<param name="max_dis" type="double" value="50.0" />
<param name="map_resolution" type="double" value="0.4" />
<param name="min_dis" type="double" value="1.0" />
<!--- -->
<node pkg="floam" type="floam_odom_estimation_node" name="floam_odom_estimation_node" output="screen"/>
<node pkg="floam" type="floam_laser_processing_node" name="floam_laser_processing_node" output="screen"/>
<!--<node pkg="floam" type="floam_laser_mapping_node" name="floam_laser_mapping_node" output="screen"/>-->

<node pkg="tf" type="static_transform_publisher" name="word2map_tf" args="0 0 0 0 0 0 /world /map 10" />

<arg name="rviz" default="false" />
<group if="$(arg rviz)">
<node launch-prefix="nice" pkg="rviz" type="rviz" name="rviz" args="-d $(find floam)/rviz/floam_mapping.rviz" />
</group>


<node pkg="hector_trajectory_server" type="hector_trajectory_server" name="trajectory_server_loam" ns="gt" >
<param name="/target_frame_name" value="world" />
<param name="/source_frame_name" value="velodyne" />
<param name="/trajectory_update_rate" value="10.0" />
<param name="/trajectory_publish_rate" value="10.0" />
</node>
<node pkg="hector_trajectory_server" type="hector_trajectory_server" name="trajectory_server_loam" ns="base_link" >
<param name="/target_frame_name" value="world" />
<param name="/source_frame_name" value="base_link" />
<param name="/trajectory_update_rate" value="10.0" />
<param name="/trajectory_publish_rate" value="10.0" />
</node>

</launch>
78 changes: 78 additions & 0 deletions launch/floam_mapping_os64.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,78 @@
<?xml version="1.0"?>
<launch>

<!--node pkg="rosbag" type="play" name="rosbag_play" args="-clock -r 1 /home/jquenzel/to_store/newer_college/01_short/01_short.bag"/-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="-clock -r 1 /home/jquenzel/to_store/newer_college/05_quad_with_dynamics/05_quad_with_dynamics.bag"/> -->
<!--
<node pkg="rosbag" type="play" name="rosbag_play" args="-clock -r 1 /home/jquenzel/to_store/newer_college/01_short/01_short_0c.bag"/>
<node pkg="rosbag" type="play" name="rosbag_play" args="-clock -r 1 /home/jquenzel/to_store/newer_college/01_short/01_short_1c.bag"/>
<node pkg="rosbag" type="play" name="rosbag_play" args="-clock -r 1 /home/jquenzel/to_store/newer_college/01_short/01_short_2c.bag"/>
<node pkg="rosbag" type="play" name="rosbag_play" args="-clock -r 1 /home/jquenzel/to_store/newer_college/01_short/01_short_3c.bag"/>
<node pkg="rosbag" type="play" name="rosbag_play" args="-clock -r 1 /home/jquenzel/to_store/newer_college/01_short/01_short_4c.bag"/>
<node pkg="rosbag" type="play" name="rosbag_play" args="-clock -r 1 /home/jquenzel/to_store/newer_college/01_short/01_short_5c.bag"/>
<node pkg="rosbag" type="play" name="rosbag_play" args="-clock -r 1 /home/jquenzel/to_store/newer_college/01_short/01_short_6c.bag"/>
<node pkg="rosbag" type="play" name="rosbag_play" args="-clock -r 1 /home/jquenzel/to_store/newer_college/01_short/01_short_7c.bag"/>
<node pkg="rosbag" type="play" name="rosbag_play" args="-clock -r 1 /home/jquenzel/to_store/newer_college/01_short/01_short_8c.bag"/>
<node pkg="rosbag" type="play" name="rosbag_play" args="-clock -r 1 /home/jquenzel/to_store/newer_college/01_short/01_short_9c.bag"/>-->

<!--
<node pkg="rosbag" type="play" name="rosbag_play" args="-clock -r 1 /home/jquenzel/to_store/newer_college/05_quad_with_dynamics/05_quad_with_dynamics_0.bag"/>
<node pkg="rosbag" type="play" name="rosbag_play" args="-clock -r 1 /home/jquenzel/to_store/newer_college/05_quad_with_dynamics/05_quad_with_dynamics_1.bag"/>-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /home/jquenzel/to_store/newer_college/05_quad_with_dynamics/05_quad_with_dynamics_2.bag"/>-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange_1/newer_college/05_quad_with_dynamics/05_quad_with_dynamics_tf.bag"/>-->
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange_1/newer_college/01_short/01_short.bag"/>-->
<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange_1/newer_college/02_long/02_long.bag"/>



<!-- For Velodyne VLP-16
<param name="scan_line" value="16" />
-->

<!-- For Velodyne HDL-32
<param name="scan_line" value="32" />
-->

<!-- For Velodyne HDL-64
-->
<param name="scan_line" value="64" />

<!-- For Ouster OS-0 -->
<!--param name="scan_line" value="128" /-->

<!--- Sim Time -->
<param name="/use_sim_time" value="true" />
<param name="scan_period" value="0.1" />

<param name="scan_topic" value="/os1_cloud_node/points" />
<param name="vertical_angle" type="double" value="0.7" />
<param name="max_dis" type="double" value="120.0" />
<param name="map_resolution" type="double" value="0.5" />
<param name="min_dis" type="double" value="1.0" />
<!--- -->
<node pkg="floam" type="floam_odom_estimation_node" name="floam_odom_estimation_node" output="screen"/>
<node pkg="floam" type="floam_laser_processing_node" name="floam_laser_processing_node" output="screen"/>
<!--<node pkg="floam" type="floam_laser_mapping_node" name="floam_laser_mapping_node" output="screen"/>-->

<node pkg="tf" type="static_transform_publisher" name="word2map_tf" args="0 0 0 0 0 0 /world /map 10" />

<arg name="rviz" default="true" />
<group if="$(arg rviz)">
<node launch-prefix="nice" pkg="rviz" type="rviz" name="rviz" args="-d $(find floam)/rviz/floam_mapping.rviz" />
</group>


<node pkg="hector_trajectory_server" type="hector_trajectory_server" name="trajectory_server_loam" ns="gt" >
<param name="/target_frame_name" value="world" />
<param name="/source_frame_name" value="velodyne" />
<param name="/trajectory_update_rate" value="10.0" />
<param name="/trajectory_publish_rate" value="10.0" />
</node>
<node pkg="hector_trajectory_server" type="hector_trajectory_server" name="trajectory_server_loam" ns="base_link" >
<param name="/target_frame_name" value="world" />
<param name="/source_frame_name" value="base_link" />
<param name="/trajectory_update_rate" value="10.0" />
<param name="/trajectory_publish_rate" value="10.0" />
</node>

</launch>
59 changes: 59 additions & 0 deletions launch/floam_mapping_rs32.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<?xml version="1.0"?>
<launch>


<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange_1/urban_loco/CA-20190828184706_blur_align_lidar.bag"/>
<!--<node pkg="rosbag" type="play" name="rosbag_play" args="--clock -r 1 /media/jquenzel/CopterExchange_1/urban_loco/CA-20190828190411_blur_align_lidar.bag"/>-->



<!-- For Velodyne VLP-16
<param name="scan_line" value="16" />
-->

<!-- For Velodyne HDL-32 -->
<param name="scan_line" value="32" />

<!-- For Velodyne HDL-64
<param name="scan_line" value="64" />
-->

<!-- For Ouster OS-0 -->
<!--param name="scan_line" value="128" /-->

<!--- Sim Time -->
<param name="/use_sim_time" value="true" />
<param name="scan_period" value="0.1" />

<param name="scan_topic" value="/rslidar_points" />
<param name="vertical_angle" type="double" value="2.0" />
<param name="max_dis" type="double" value="100.0" />
<param name="map_resolution" type="double" value="0.4" />
<param name="min_dis" type="double" value="1.0" />
<!--- -->
<node pkg="floam" type="floam_odom_estimation_node" name="floam_odom_estimation_node" output="screen"/>
<node pkg="floam" type="floam_laser_processing_node" name="floam_laser_processing_node" output="screen"/>
<node pkg="floam" type="floam_laser_mapping_node" name="floam_laser_mapping_node" output="screen"/>

<node pkg="tf" type="static_transform_publisher" name="word2map_tf" args="0 0 0 0 0 0 /world /map 10" />

<arg name="rviz" default="true" />
<group if="$(arg rviz)">
<node launch-prefix="nice" pkg="rviz" type="rviz" name="rviz" args="-d $(find floam)/rviz/floam_mapping.rviz" />
</group>


<node pkg="hector_trajectory_server" type="hector_trajectory_server" name="trajectory_server_loam" ns="gt" >
<param name="/target_frame_name" value="world" />
<param name="/source_frame_name" value="velodyne" />
<param name="/trajectory_update_rate" value="10.0" />
<param name="/trajectory_publish_rate" value="10.0" />
</node>
<node pkg="hector_trajectory_server" type="hector_trajectory_server" name="trajectory_server_loam" ns="base_link" >
<param name="/target_frame_name" value="world" />
<param name="/source_frame_name" value="base_link" />
<param name="/trajectory_update_rate" value="10.0" />
<param name="/trajectory_publish_rate" value="10.0" />
</node>

</launch>
2 changes: 2 additions & 0 deletions package.xml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
<build_depend>sensor_msgs</build_depend>
<build_depend>tf</build_depend>
<build_depend>eigen_conversions</build_depend>
<build_depend>message_filters</build_depend>
<run_depend>geometry_msgs</run_depend>
<run_depend>nav_msgs</run_depend>
<run_depend>sensor_msgs</run_depend>
Expand All @@ -32,6 +33,7 @@
<run_depend>rosbag</run_depend>
<run_depend>tf</run_depend>
<run_depend>eigen_conversions</run_depend>
<run_depend>message_filters</run_depend>

<export>
</export>
Expand Down
6 changes: 3 additions & 3 deletions src/laserMappingNode.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -125,10 +125,10 @@ int main(int argc, char **argv)
lidar_param.setMinDistance(min_dis);

laserMapping.init(map_resolution);
ros::Subscriber subLaserCloud = nh.subscribe<sensor_msgs::PointCloud2>("/velodyne_points_filtered", 100, velodyneHandler);
ros::Subscriber subOdometry = nh.subscribe<nav_msgs::Odometry>("/odom", 100, odomCallback);
ros::Subscriber subLaserCloud = nh.subscribe<sensor_msgs::PointCloud2>("/velodyne_points_filtered", 1, velodyneHandler);
ros::Subscriber subOdometry = nh.subscribe<nav_msgs::Odometry>("/odom", 1, odomCallback);

map_pub = nh.advertise<sensor_msgs::PointCloud2>("/map", 100);
map_pub = nh.advertise<sensor_msgs::PointCloud2>("/map", 1);
std::thread laser_mapping_process{laser_mapping};

ros::spin();
Expand Down

0 comments on commit 5f592a2

Please sign in to comment.