Hectorslam without odometry

asked 2015-09-15 01:41:29 -0500

TomSon gravatar image

updated 2015-09-15 05:01:23 -0500

Hi everyone, I need some advice about the correct setup of hectorslam on my robot. I can get a map through hector_mapping but I can't navigate on it. I use a LMS111 as a laser and my robot doesn't have an odometry. How can I check that everything is set properly according to the capacities of my robot ?

Here is my actual setup:

image description

image description

The hector config file

<launch>
  <!--
  <node pkg="hector_trajectory_server" type="hector_trajectory_server" name="hector_trajectory_server" output="screen">
  <param name="target_frame_name" type="string" value="/map" />
  <param name="source_frame_name" type="string" value="/base_link" />
  <param name="trajectory_update_rate" type="double" value="4" />
  <param name="trajectory_publish_rate" type="double" value="0.25" />
  </node>

  <node pkg="hector_geotiff" type="geotiff_node" name="hector_geotiff_node" output="screen" launch-prefix="nice -n 15">
  <remap from="map" to="/dynamic_map" />
  <param name="map_file_path" type="string" value="$(find arobot)/maps" />
  <param name="map_file_base_name" type="string" value="map" />
  <param name="geotiff_save_period" type="double" value="0" />
  <param name="draw_background_checkerboard" type="bool" value="true" />
  <param name="draw_free_space_grid" type="bool" value="true" />
  </node>
  -->


  <node pkg="hector_mapping" type="hector_mapping" name="hector_mapping">

    <!-- Frame names -->
    <param name="map_frame" value="/map" />
    <param name="base_frame" value="/base_link" />
    <param name="odom_frame" value="/odom" />

    <!-- Tf use -->
    <param name="use_tf_scan_transformation" value="false"/>
    <param name="use_tf_pose_start_estimate" value="true"/>
    <param name="pub_map_odom_transform" value="true"/>

    <!-- Map size / start point -->
    <param name="map_resolution" value="0.045"/>
    <param name="map_size" value="512"/>
    <param name="map_start_x" value="0.5"/>
    <param name="map_start_y" value="0.5" />
    <param name="map_multi_res_levels" value="2" />

    <!-- Map update parameters -->
    <param name="update_factor_free" value="0.4"/>
    <param name="update_factor_occupied" value="0.9" />
    <param name="map_update_distance_thresh" value="0.4"/>
    <param name="map_update_angle_thresh" value="0.06" />
    <param name="laser_z_min_value" value = "-1.0" />
    <param name="laser_z_max_value" value = "1.0" />

    <!-- Advertising config -->
    <param name="advertise_map_service" value="false"/>

    <param name="scan_subscriber_queue_size" value="5"/>
    <param name="scan_topic" value="/scan"/>

    <!-- Debug parameters -->
    <!--
    <param name="output_timing" value="false"/>
    <param name="pub_drawings" value="true"/>
    <param name="pub_debug_output" value="true"/>
    -->
    <param name="tf_map_scanmatch_transform_frame_name" value="scanmatcher_frame" />
  </node>
</launch>

the base_local_planner config file

TrajectoryPlannerROS:
  #Independent settings for the local costmap
  transform_tolerance: 0.3
  costmap_visualization_rate: 1.0
  world_model: costmap
  sim_time: 1.7
  sim_granularity: 0.05
  sim_granularity: 0.1
  dwa: true
  vx_samples: 10
  vtheta_samples: 10 
  max_vel_x: 6.0
  min_vel_x: 3.0
  max_vel_th: 2.0
  min_vel_th: 1.0
  min_in_place_vel_th: 0.5
  xy_goal_tolerance: 0.05
  yaw_goal_tolerance: 0.05
  goal_distance_bias: 0.8
  path_distance_bias: 0.4
  occdist_scale: 0.01
  heading_lookahead: 0.325
  oscillation_reset_dist: 0.05
  acc_lim_th: 10.0
  acc_lim_x: 10.0
  acc_lim_y: 10.0
  heading_scoring: true
  heading_scoring_timestep: 0.8
  holonomic_robot: false
  simple_attractor: false
  controller_frequency: 10.0
  meter_scoring: true
  global_frame_id: map

The costmap common config file:

obstacle_range: 1.0
raytrace_range: 1.5
footprint: [[-0.3, -0.3], [-0.3, 0.3], [0.3, 0.3], [0.3, -0.3]]
inflation_radius: 0.50

observation_sources: scan
scan: {sensor_frame: /laser, data_type: LaserScan, topic: /scan, marking: true, clearing: true}

transform_tolerance: 3

The global costmap config file:

#Independent settings for the planner's costmap
global_costmap: 
  global_frame: /map
  robot_base_frame: base_link
  update_frequency: 5.0
  publish_frequency: 0.0
  static_map: false
  rolling_window: true
  width: 10.0
  height: 10.0
  resolution: 0.05

and the local costmap config ... (more)

edit retag flag offensive close merge delete

Comments

lgtm. If you want some actual answers you need to state what "can't navigate" means.

dornhege gravatar imagedornhege ( 2015-09-15 03:10:52 -0500 )edit

Well it's simple. When I give a goal, the path is not displayed and a random cmd_vel is send to the teleop. Depending the configuration I test, the costmap is either displayed or not.

TomSon gravatar imageTomSon ( 2015-09-15 04:29:47 -0500 )edit