Skip to content

Commit

Permalink
Added launch files for 3 dof slam using drl, hector, gmapping and crsm
Browse files Browse the repository at this point in the history
packages.

Added maps for mostra up 2015.
  • Loading branch information
carlosmccosta committed Mar 12, 2015
1 parent 5ae20b5 commit f72fe07
Show file tree
Hide file tree
Showing 19 changed files with 1,000 additions and 8 deletions.
Binary file not shown.
25 changes: 25 additions & 0 deletions launch/environments/mostra_up_2015/mostra_up.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<arg name="merge_lasers" default="1" />

<include file="$(find dynamic_robot_localization_tests)/launch/slam_3dof.launch" >
<arg name="use_dynamic_robot_localization" default="1" />
<arg name="use_gmapping" default="0" />
<arg name="use_hector" default="0" />
<arg name="use_crsm" default="0" />

<arg name="play_rosbags_rate" default="1.0" />
<arg name="world_rosbag_filename" default="$(find dynamic_robot_localization_tests)/datasets/mostra_up_2015/mostra_up_2015-03-11-17-09-26" />
<arg name="world_rosbag_folder" default="$(find dynamic_robot_localization_tests)/datasets/mostra_up_2015" />
<arg name="world_name" default="mostra_up_2015" />

<arg name="rviz_folder" default="$(find dynamic_robot_localization_tests)/rviz/mostra_up_2015" />

<arg name="merge_lasers" default="$(arg merge_lasers)" />
<arg name="laser_scan_topics" default="/guardian/laser_tilt_front+/guardian/laser_horizontal_back" />
<arg name="laser_scan_topic_merged" default="/scan" if="$(arg merge_lasers)" />
<arg name="laser_scan_topic_merged" default="/guardian/laser_tilt_front" unless="$(arg merge_lasers)" />
<arg name="sensor_frame_id" default="base_footprint" if="$(arg merge_lasers)"/>
<arg name="sensor_frame_id" default="hokuyo_frontal_laser_link" unless="$(arg merge_lasers)" />
</include>
</launch>
28 changes: 25 additions & 3 deletions launch/localization_tests.launch
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@
<arg name="reference_pointcloud_descriptors_filename" default="$(find dynamic_robot_localization_tests)/maps/ship_interior/tridimensional/cache/ship_interior_fpfh_descriptors_25mm.pcd" unless="$(arg recompute_point_features)" />
<arg name="reference_pointcloud_descriptors_save_filename" default="" unless="$(arg recompute_point_features)" />
<arg name="reference_pointcloud_descriptors_save_filename" default="$(find dynamic_robot_localization_tests)/maps/ship_interior/tridimensional/cache/ship_interior_fpfh_descriptors_25mm.pcd" if="$(arg recompute_point_features)" />
<arg name="publish_last_pose_tf_timeout_seconds" default="3.0" />

<!-- other localization systems -->
<arg name="use_odometry_as_localization_system" default="1" />
Expand Down Expand Up @@ -128,6 +129,8 @@
<arg name="octomap_resolution" default="0.01" />
<arg name="octomap_minimum_amount_of_time_between_ros_msg_publishing" default="5.0" />
<arg name="octomap_minimum_number_of_integrations_before_ros_msg_publishing" default="10" />
<arg name="octomap_override_sensor_z" default="true" />
<arg name="octomap_override_sensor_z_value" default="0.0" />
<!-- <arg name="map_file" default="$(find dynamic_robot_localization_tests)/maps/ship_interior/tridimensional/octomap/ship_interior_10mm.bt" /> -->
<!-- <arg name="octomap_file" default="$(find dynamic_robot_localization_tests)/maps/ship_interior/tridimensional/octomap/ship_interior_10mm_dynamic.ot" /> -->

Expand Down Expand Up @@ -174,6 +177,8 @@
<arg name="max_number_of_scans_to_assemble_per_cloud" default="4" />
<arg name="min_timeout_seconds_for_cloud_assembly" default="0.15" />
<arg name="max_timeout_seconds_for_cloud_assembly" default="1.1" />
<arg name="max_linear_velocity" default="0.025" />
<arg name="max_angular_velocity" default="0.174532925" />
<arg name="timeout_for_cloud_assembly" default="1.0" />


Expand Down Expand Up @@ -333,6 +338,8 @@
<arg name="octomap_resolution" default="$(arg octomap_resolution)" />
<arg name="octomap_minimum_amount_of_time_between_ros_msg_publishing" default="$(arg octomap_minimum_amount_of_time_between_ros_msg_publishing)" />
<arg name="octomap_minimum_number_of_integrations_before_ros_msg_publishing" default="$(arg octomap_minimum_number_of_integrations_before_ros_msg_publishing)" />
<arg name="octomap_override_sensor_z" default="$(arg octomap_override_sensor_z)" />
<arg name="octomap_override_sensor_z_value" default="$(arg octomap_override_sensor_z_value)" />
<arg name="initial_2d_map_file" default="$(arg initial_2d_map_file)" />
<arg name="laser_assembly_frame" default="$(arg laser_assembly_frame)" />
<arg name="number_of_scans_to_assemble_per_cloud" default="$(arg number_of_scans_to_assemble_per_cloud)" />
Expand All @@ -341,6 +348,9 @@
<arg name="max_number_of_scans_to_assemble_per_cloud" default="$(arg max_number_of_scans_to_assemble_per_cloud)" />
<arg name="min_timeout_seconds_for_cloud_assembly" default="$(arg min_timeout_seconds_for_cloud_assembly)" />
<arg name="max_timeout_seconds_for_cloud_assembly" default="$(arg max_timeout_seconds_for_cloud_assembly)" />
<arg name="max_linear_velocity" default="$(arg max_linear_velocity)" />
<arg name="max_angular_velocity" default="$(arg max_angular_velocity)" />
<arg name="publish_last_pose_tf_timeout_seconds" default="$(arg publish_last_pose_tf_timeout_seconds)" />
<arg name="reference_pointcloud_available" default="$(arg reference_pointcloud_available)" />
<arg name="reference_pointcloud_type_3d" default="$(arg reference_pointcloud_type_3d)" />
<arg name="reference_pointcloud_update_mode" default="$(arg reference_pointcloud_update_mode)" />
Expand Down Expand Up @@ -401,9 +411,21 @@
<include file="$(find dynamic_robot_localization_tests)/launch/localization_systems/ekf.launch" if="$(arg use_ekf)" />

<!-- SLAM -->
<include file="$(find dynamic_robot_localization_tests)/launch/slam_systems/gmapping.launch" if="$(arg use_gmapping)" />
<include file="$(find dynamic_robot_localization_tests)/launch/slam_systems/hector.launch" if="$(arg use_hector)" />
<include file="$(find dynamic_robot_localization_tests)/launch/slam_systems/crsm.launch" if="$(arg use_crsm)" />
<include file="$(find dynamic_robot_localization_tests)/launch/slam_systems/gmapping.launch" if="$(arg use_gmapping)" >
<arg name="base_link_frame_id" default="$(arg base_link_frame_id)" />
<arg name="laser_scan_topic" default="$(arg laser_scan_topic_amcl)" />
</include>

<include file="$(find dynamic_robot_localization_tests)/launch/slam_systems/hector.launch" if="$(arg use_hector)" >
<arg name="base_link_frame_id" default="$(arg base_link_frame_id)" />
<arg name="laser_scan_topic" default="$(arg laser_scan_topic_amcl)" />
</include>

<include file="$(find dynamic_robot_localization_tests)/launch/slam_systems/crsm.launch" if="$(arg use_crsm)" >
<arg name="base_link_frame_id" default="$(arg base_link_frame_id)" />
<arg name="laser_frame_id" default="$(arg sensor_frame_id)" />
<arg name="laser_scan_topic" default="$(arg laser_scan_topic_amcl)" />
</include>



Expand Down
168 changes: 168 additions & 0 deletions launch/slam_3dof.launch
Original file line number Diff line number Diff line change
@@ -0,0 +1,168 @@
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<arg name="use_dynamic_robot_localization" default="0" />
<arg name="use_gmapping" default="0" />
<arg name="use_hector" default="0" />
<arg name="use_crsm" default="1" />


<arg name="play_rosbags" default="1" />
<arg name="play_rosbags_rate" default="1.0" />
<arg name="world_rosbag_filename" default="$(find dynamic_robot_localization_tests)/datasets/mostra_up_2015/mostra_up_2015-03-11-17-09-26" />
<arg name="world_rosbag_folder" default="$(find dynamic_robot_localization_tests)/datasets/mostra_up_2015" />
<arg name="world_name" default="mostra_up_2015" />

<arg name="use_map_server" default="0" />
<arg name="map_file" default="$(find dynamic_robot_localization_tests)/maps/mostra_up_2015/mostra_up_2015-03-11-17-09-26_drl.yaml" />
<arg name="rviz_folder" default="$(find dynamic_robot_localization_tests)/rviz/mostra_up_2015" />

<arg name="robot_initial_pose_in_base_to_map" default="true" />
<arg name="robot_initial_x" default="0.0" />
<arg name="robot_initial_y" default="0.0" />
<arg name="robot_initial_z" default="0.0" />
<arg name="robot_initial_roll" default="0.0" />
<arg name="robot_initial_pitch" default="0.0" />
<arg name="robot_initial_yaw" default="0.0" />

<arg name="map_frame_id" default="map" />
<arg name="odom_frame_id" default="odom" />
<arg name="base_link_frame_id" default="base_footprint" />
<arg name="sensor_frame_id" default="base_footprint" />

<arg name="merge_lasers" default="1" />
<arg name="laser_scan_topics" default="/guardian/laser_tilt_front+/guardian/laser_horizontal_back" />
<arg name="laser_scan_topic_merged" default="/scan" />

<include file="$(find dynamic_robot_localization_tests)/launch/localization_tests.launch" >
<arg name="robot_initial_pose_in_base_to_map" default="$(arg robot_initial_pose_in_base_to_map)" />
<arg name="robot_initial_x" default="$(arg robot_initial_x)" />
<arg name="robot_initial_y" default="$(arg robot_initial_y)" />
<arg name="robot_initial_z" default="$(arg robot_initial_z)" />
<arg name="robot_initial_roll" default="$(arg robot_initial_roll)" />
<arg name="robot_initial_pitch" default="$(arg robot_initial_pitch)" />
<arg name="robot_initial_yaw" default="$(arg robot_initial_yaw)" />

<arg name="use_6_dof" default="0" />
<arg name="use_tof" default="0" />
<arg name="load_point_features" default="0" />
<arg name="save_point_features" default="0" />

<arg name="yaml_configuration_base_filename" default="$(find dynamic_robot_localization)/yaml/configs/pose_tracking/cluttered_environments_dynamic_large_map" />
<!-- <arg name="yaml_configuration_filters_filename" default="$(find dynamic_robot_localization)/yaml/configs/empty.yaml" /> -->
<arg name="yaml_configuration_filters_filename" default="$(find dynamic_robot_localization)/yaml/configs/filters/filters_large_map_2d_slam.yaml" />
<arg name="yaml_configuration_pose_estimation_filename" default="$(find dynamic_robot_localization)/yaml/configs/empty.yaml" />
<!-- <arg name="yaml_configuration_pose_estimation_filename" default="$(find dynamic_robot_localization)/yaml/configs/pose_estimation/initial_pose_estimation_large_map_2d.yaml" /> -->
<arg name="yaml_configuration_tracking_filename" default="$(find dynamic_robot_localization)/yaml/configs/pose_tracking/cluttered_environments_dynamic_large_map_slam_2d.yaml" />
<arg name="yaml_configuration_recovery_filename" default="$(find dynamic_robot_localization)/yaml/configs/pose_recovery/recovery_2d.yaml" />

<arg name="publish_ground_truth" default="0" />

<arg name="reference_costmap_topic" default="/map" />
<arg name="reference_pointcloud_topic" default="" />
<arg name="reference_pointcloud_available" default="false" />
<arg name="reference_pointcloud_type_3d" default="false" />
<arg name="reference_pointcloud_update_mode" default="OutliersIntegration" /> <!-- NoIntegration | FullIntegration | InliersIntegration | OutliersIntegration -->

<arg name="use_octomap_for_dynamic_map_update" default="true" />
<arg name="octomap_pointcloud_topic" default="aligned_pointcloud" /> <!-- ambient_pointcloud | aligned_pointcloud | aligned_pointcloud_outliers | aligned_pointcloud_inliers -->
<arg name="octomap_file" default="" />
<arg name="octomap_resolution" default="0.025" />
<arg name="octomap_minimum_amount_of_time_between_ros_msg_publishing" default="0.5" />
<arg name="octomap_minimum_number_of_integrations_before_ros_msg_publishing" default="2" />
<arg name="octomap_override_sensor_z" default="true" />
<arg name="octomap_override_sensor_z_value" default="0.0" />
<arg name="initial_2d_map_file" default="" />

<arg name="use_map_server" default="$(arg use_map_server)" />
<arg name="map_file" default="$(arg map_file)" />
<arg name="map_server_frame_id" default="$(arg map_frame_id)" />

<arg name="map_frame_id" default="$(arg map_frame_id)" />
<arg name="odom_frame_id" default="$(arg odom_frame_id)" />
<arg name="base_link_frame_id" default="$(arg base_link_frame_id)" />
<arg name="sensor_frame_id" default="$(arg sensor_frame_id)" />

<arg name="invert_tf_transform" default="false" />
<arg name="invert_tf_hierarchy" default="false" />
<arg name="transform_pose_to_map_frame_id" default="true" />

<arg name="use_laser_assembler" default="1" />
<arg name="laser_assembly_frame" default="odom" />
<arg name="laser_scan_topics" default="$(arg laser_scan_topics)" if="$(arg merge_lasers)" />
<arg name="laser_scan_topics" default="$(arg laser_scan_topic_merged)" unless="$(arg merge_lasers)" />
<arg name="laser_scan_topic_amcl" default="$(arg laser_scan_topic_merged)" />
<arg name="min_range_cutoff_percentage_offset" default="1.1" />
<arg name="max_range_cutoff_percentage_offset" default="0.96" />
<arg name="number_of_tf_queries_for_spherical_interpolation" default="4" />
<arg name="number_of_scans_to_assemble_per_cloud" default="4" />
<arg name="timeout_for_cloud_assembly" default="1.0" />
<arg name="min_number_of_scans_to_assemble_per_cloud" default="2" />
<arg name="max_number_of_scans_to_assemble_per_cloud" default="20" />
<arg name="min_timeout_seconds_for_cloud_assembly" default="0.15" />
<arg name="max_timeout_seconds_for_cloud_assembly" default="1.1" />
<arg name="max_linear_velocity" default="0.025" />
<arg name="max_angular_velocity" default="0.174532925" />

<arg name="publish_last_pose_tf_timeout_seconds" default="-2.0" />

<arg name="play_rosbags" default="$(arg play_rosbags)" />
<arg name="play_rosbags_rate" default="$(arg play_rosbags_rate)" />
<arg name="world_rosbag_folder" default="$(arg world_rosbag_folder)" />
<arg name="world_rosbag_filename" default="$(arg world_rosbag_filename)" />
<arg name="world_name" default="$(arg world_name)" />

<arg name="move_robot_on_path" default="0" />
<arg name="rviz_folder" default="$(arg rviz_folder)" />

<arg name="record_localization_results" default="0" />
<arg name="record_localization_results_paths" default="0" />
<arg name="record_localization_system_resources_usage" default="0" />
<arg name="compute_localization_error" default="0" />

<arg name="use_odometry_as_localization_system" default="0" />
<arg name="use_static_odometry_tf" default="0" />

<arg name="use_amcl" default="0" />
<arg name="use_amcl_simulated" default="0" />
<arg name="use_ekf" default="0" />

<arg name="use_dynamic_robot_localization" default="$(arg use_dynamic_robot_localization)" />
<arg name="use_gmapping" default="$(arg use_gmapping)" />
<arg name="use_hector" default="$(arg use_hector)" />
<arg name="use_crsm" default="$(arg use_crsm)" />

<arg name="show_rviz" default="0" unless="$(arg use_dynamic_robot_localization)" />
</include>



<include file="$(find laserscan_to_pointcloud)/launch/laserscan_to_pointcloud_assembler.launch" if="$(arg merge_lasers)" >
<arg name="pointcloud_publish_topic" default="ambient_pointcloud" />
<arg name="laser_scan_topics" default="$(arg laser_scan_topics)" />
<arg name="number_of_tf_queries_for_spherical_interpolation" default="4" />
<arg name="number_of_scans_to_assemble_per_cloud" default="2" />
<arg name="timeout_for_cloud_assembly" default="1.0" />
<arg name="dynamic_update_of_assembly_configuration_from_twist_topic" default="" />
<arg name="dynamic_update_of_assembly_configuration_from_odometry_topic" default="" />
<arg name="dynamic_update_of_assembly_configuration_from_imu_topic" default="" />
<arg name="target_frame" default="$(arg base_link_frame_id)" />
<arg name="min_range_cutoff_percentage_offset" default="0.0" />
<arg name="max_range_cutoff_percentage_offset" default="2.0" />
</include>

<node pkg="pointcloud_to_laserscan" type="pointcloud_to_laserscan_node" name="pointcloud_to_laserscan" if="$(arg merge_lasers)" >
<param name="target_frame" value="$(arg base_link_frame_id)" />
<remap from="cloud_in" to="ambient_pointcloud" />
<remap from="scan" to="$(arg laser_scan_topic_merged)" />
<param name="min_height" value="-10" />
<param name="max_height" value="10" />
<param name="angle_min" value="-3.142" />
<param name="angle_max" value="3.142" />
<param name="angle_increment" value="0.00613592332229" />
<param name="scan_time" value="0.1" />
<param name="range_min" value="0.0" />
<param name="range_max" value="10.0" />
<param name="use_concurrency" value="true" />
<param name="use_inf" value="true" />
</node>
</launch>
13 changes: 12 additions & 1 deletion launch/slam_systems/crsm.launch
Original file line number Diff line number Diff line change
@@ -1,7 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<node name="crsm_slam_node" type="crsm_slam_node" pkg="crsm_slam" respawn="false" ns="crsm_slam" output="screen"/>
<arg name="base_link_frame_id" default="base_footprint" />
<arg name="base_frame" default="$(arg base_link_frame_id)" />
<arg name="laser_frame_id" default="laser" />
<arg name="laser_scan_topic" default="scan" />

<rosparam file="$(find dynamic_robot_localization_tests)/launch/slam_systems/crsm.yaml" command="load" ns="crsm_slam"/>
<param name="/crsm_slam/base_frame" type="str" value="$(arg base_frame)" />
<param name="/crsm_slam/base_footprint_frame" type="str" value="$(arg base_link_frame_id)" />
<param name="/crsm_slam/laser_frame" type="str" value="$(arg laser_frame_id)" />
<param name="/crsm_slam/laser_subscriber_topic" type="str" value="$(arg laser_scan_topic)" />

<node name="crsm_slam_node" type="crsm_slam_node" pkg="crsm_slam" respawn="false" ns="crsm_slam" output="screen" >
</node>

<node pkg="rviz" type="rviz" name="rviz" args="-d $(find dynamic_robot_localization_tests)/rviz/slam/crsm.rviz"/>
</launch>
6 changes: 5 additions & 1 deletion launch/slam_systems/gmapping.launch
Original file line number Diff line number Diff line change
@@ -1,8 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<arg name="base_link_frame_id" default="base_footprint" />
<arg name="laser_scan_topic" default="scan" />

<node pkg="gmapping" type="slam_gmapping" name="slam_gmapping" output="screen">
<param name="throttle_scans" value="1" /> <!-- default: 1 | Process 1 out of every this many scans (set it to a higher number to skip more scans) -->
<param name="base_frame" value="base_link" /> <!-- default: base_link | The frame attached to the mobile base -->
<param name="base_frame" value="$(arg base_link_frame_id)" /> <!-- default: base_link | The frame attached to the mobile base -->
<param name="map_frame" value="map" /> <!-- default: map | The frame attached to the map -->
<param name="odom_frame" value="odom" /> <!-- default: odom | The frame attached to the odometry system -->
<param name="map_update_interval" value="0.1" /> <!-- default: 5.0 | How long (in seconds) between updates to the map -->
Expand Down Expand Up @@ -37,6 +40,7 @@
<param name="transform_publish_period" value="0.05" /> <!-- default: 0.05 | How long (in seconds) between transform publications. -->
<param name="occ_thresh" value="0.25" /> <!-- default: 0.25 | Threshold on gmapping's occupancy values. Cells with greater occupancy are considered occupied (i.e., set to 100 in the resulting sensor_msgs/LaserScan) -->
<param name="maxRange" value="31.0" /> <!-- default: 50 | The maximum range of the sensor. If regions with no obstacles within the range of the sensor should appear as free space in the map, set maxUrange < maximum range of the real sensor <= maxRange -->
<remap from="scan" to="$(arg laser_scan_topic)" />
</node>

<node pkg="rviz" type="rviz" name="rviz" args="-d $(find dynamic_robot_localization_tests)/rviz/slam/gmapping.rviz"/>
Expand Down
7 changes: 5 additions & 2 deletions launch/slam_systems/hector.launch
Original file line number Diff line number Diff line change
@@ -1,13 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<launch>
<arg name="base_link_frame_id" default="base_footprint" />
<arg name="laser_scan_topic" default="scan" />

<node pkg="hector_mapping" type="hector_mapping" name="hector_mapping" output="screen">
<!-- Topic names -->
<param name="scan_topic" value="/scan" />
<param name="scan_topic" value="$(arg laser_scan_topic)" />

<!-- Frame names -->
<param name="map_frame" value="map" />
<param name="odom_frame" value="odom" />
<param name="base_frame" value="base_link" />
<param name="base_frame" value="$(arg base_link_frame_id)" />

<!-- Tf use -->
<param name="use_tf_scan_transformation" value="true" />
Expand Down
Binary file not shown.
7 changes: 7 additions & 0 deletions maps/mostra_up_2015/mostra_up_2015-03-11-17-09-26.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
image: mostra_up_2015-03-11-17-09-26.pgm
resolution: 0.025000
origin: [0.000000, 0.0, -0.0]
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

Binary file not shown.
7 changes: 7 additions & 0 deletions maps/mostra_up_2015/mostra_up_2015-03-11-17-09-26_drl_1.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
image: mostra_up_2015-03-11-17-09-26_drl_1.pgm
resolution: 0.025
origin: [-9.775, -9.25, 0.0]
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
image: mostra_up_2015-03-11-17-09-26_gmapping_both_lasers.pgm
resolution: 0.025000
origin: [-15.000000, -15.000000, 0.000000]
negate: 0
occupied_thresh: 0.65
free_thresh: 0.196

Loading

0 comments on commit f72fe07

Please sign in to comment.