ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Is it the Hector Slam tf setting problem?

asked 2012-06-18 20:47:16 -0600

jas gravatar image

updated 2012-06-24 20:01:35 -0600

  Currently I have a Hokoyo Laser Range Finder, PC104 3353f(for onboard), a

Microstrain 3DM-GX3-25 IMU and PC (ground PC) I am trying to achieve something similar to this video: [http://www.gkmm.tu-darmstadt.de/rescue/?q=node/141] However, I do not know how am I supposed to integrate the IMU with hector_slam.

  Now I am already able to get a map when there is only horizontal and slow

movement. But this "SearchDir angle change too large" error appears frequently when there is a fast movement or change in angle a bit...

  I launch the following launch file together to get the map : hokuyo test.launch

(default launch file) , microstarain_3dmgx2.launch (default launch file), geotiff_mapper.launch (default launch file) and hector_ugv.launch (but this i edit it a bit)

  This is the edited launch file from hector_ugv.launch(original given launch file<?xml version="1.0"?><launch><!--node pkg="rviz" type="rviz" name="rviz" args="-d $(find hector_slam_launch)/rviz_cfg/mapping_demo.vcg" /--><node pkg="hector_mapping" type="hector_mapping" name="hector_mapping" output="screen"><param name="scan_topic" value="/scan" /><param name="base_frame" value="base_stabilized" /><param name="map_frame"  value="map" /><param name="odom_frame" value="nav" /><param name="output_timing" value="false"/>

<param name="use_tf_scan_transformation" value="true" />
<param name="use_tf_pose_start_estimate" value="false"/>
<param name="pub_map_odom_transform" value="false" />

<param name="map_pub_period" value="1.0" />
<param name="map_resolution" value="0.05"/>
<param name="map_size" value="1024"/>

</node>

<node pkg="tf" type="static_transform_publisher" name="map_nav_broadcaster" args="0 0 0 0 0 0 map nav 100"/>

<node pkg="tf" type="static_transform_publisher" name="laser_link_broadcaster" args="0 0 0 0 0 0 base_link laser 100"/>

<node pkg="tf" type="static_transform_publisher" name="nav_base_broadcaster" args="0 0 0 0 0 0 nav base_stabilized 100"/>

<node pkg="tf" type="static_transform_publisher" name="nav_baselink_broadcaster" args="0 0 0 0 0 0 nav base_link 100"/>

<node pkg="tf" type="static_transform_publisher" name="nav_foot_broadcaster" args="0 0 0 0 0 0 nav base_footprint 100"/>

</launch>

  when i type the "roswtf"command, i found the following error:

ERROR Communication with [/hokuyo] raised an error:

ERROR Communication with [/map_nav_broadcaster] raised an error:

ERROR Communication with [/nav_base_broadcaster] raised an error:

ERROR Communication with [/rosout] raised an error:

ERROR Communication with [/nav_foot_broadcaster] raised an error:

ERROR Communication with [/hector_mapping] raised an error:

ERROR Communication with [/nav_baselink_broadcaster] raised an error:

ERROR The following nodes should be connected but aren't: * /hector_mapping->/hector_mapping (/tf) * /hokuyo->/hector_mapping (/scan) * /nav_foot_broadcaster->/hector_mapping (/tf) * /nav_baselink_broadcaster->/hector_mapping (/tf) * /map_nav_broadcaster->/hector_mapping (/tf) * /nav_base_broadcaster->/hector_mapping (/tf)

Thank you in advanced for your help

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
0

answered 2012-06-21 06:27:01 -0600

hi,

You may try this launch file. We use this one on a UAV (so no odometry) to created maps using hector_slam.

You have set-up a lot of static TFs which are looking not realy useful, e.g. your tree claims that /map is static linked to /nav which is static linked to /base_stabilized. But /base_stabilized moves around while the robot is moving, so it can not be static located in respect to the map/world.

<launch>

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

<param name="use_tf_scan_transformation" value="true"/>
<param name="use_tf_pose_start_estimate" value="false"/>
<param name="scan_topic" value="scan"/>

<!-- Map size / start point -->
<param name="map_resolution" value="0.025"/>
<param name="map_size" value="2048"/>
<param name="map_start_x" value="0.5"/>
<param name="map_start_y" value="0.5" />
<param name="laser_z_min_value" value="-2.5" />
<param name="laser_z_max_value" value="7.5" />

<!-- Map update parameters -->
<param name="update_factor_free" value="0.4"/>
<param name="update_factor_occupied" value="0.7" />    
<param name="map_update_distance_thresh" value="0.2"/>
<param name="map_update_angle_thresh" value="0.06" />

<param name="pub_map_odom_transform" value="true"/>

<!--
  <param name="pub_drawings" value="true"/>
  <param name="pub_debug_output" value="true"/>
-->
</node>

<param name="hector_mapping/pub_map_odom_transform" value="true"/>

<include file="$(find hector_geotiff)/launch/geotiff_mapper.launch"/> </launch>

edit flag offensive delete link more

Comments

Hi i have tried out this launch file but i got this error all the way when i roslaunch it, do you have any idea to correct it ..... [ERROR] [1340378473.595432783]: Trajectory Server: Transform from /map to /base_link failed: Frame id /map does not exist! Frames (1): (Thanks you for your help)

jas gravatar image jas  ( 2012-06-21 21:20:13 -0600 )edit

Can you give me a few more infos: Which OS? Which ROS version? Which is the scan topic name? Just in case that you use ROS fuerte please ensure that you use the correct version of hector. The fuerte version is hosted here https://tu-darmstadt-ros-pkg.googlecode.com/svn/branches/fuerte

tlinder gravatar image tlinder  ( 2012-06-21 23:55:19 -0600 )edit

For the onboard PCM 3353f, i installed the lubuntu and ros-electric (bare bone no GUI tools) and for ground station pc,i installed ubuntu and ros-electric (full desktop version) scan topic name is (/scan) in the rviz laser topic name, for globe, both i used (/map). (thanks in advance for helping)

jas gravatar image jas  ( 2012-06-23 21:10:10 -0600 )edit

<?xml version="1.0"?><launch><!--node pkg="rviz" type="rviz" name="rviz" args="-d $(find hector_slam_launch)/rviz_cfg/mapping_demo.vcg" /--><param name="scan_topic" value="/scan" /><param name="base_frame" value="base_stabilized" /><param name="map_frame" value="map" />

jas gravatar image jas  ( 2012-06-24 20:06:36 -0600 )edit
1

<param name="odom_frame" value="nav" /><param name="output_timing" value="false"/>

jas gravatar image jas  ( 2012-06-24 20:07:05 -0600 )edit
0

answered 2012-06-29 04:44:23 -0600

sjigi123 gravatar image

Hi ,

Did you suceeded in your work ? I got the same problem but I could not find any solutions to raise it.

edit flag offensive delete link more

Comments

I have roughly getting the map with slow movement and angle change but not really accurate yet.... you can check out my other posted one.... "tf setting for hector mapping (roll/pitch angle)" you can try out the setting that tlinder provided... it's quite helpful...hope it can solve your problem:D

jas gravatar image jas  ( 2012-07-01 21:15:56 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2012-06-18 20:47:16 -0600

Seen: 3,828 times

Last updated: Jun 29 '12