hector exploration

asked 2020-06-06 15:10:19 -0500

reavers92 gravatar image

updated 2020-06-07 02:24:53 -0500

gvdhoorn gravatar image

I'm new in Ros, I'm trying to use Hector for navigation and exploration. My setup is a two-wheel robot with Ubuntu 18, Ros Melodic and as lidar Ydlidar ("https://github.com/YDLIDAR/ydlidar_ros"). I've searched several tutorials and looked for similar questions on this site, but I always have problems with Hector-exploration.

I have also tried to do what is described here "https://answers.ros.org/question/1125..." but when i run

<node pkg="hector_exploration_node" type="exploration_planner_node" name="hector_exploration_node" output="screen">

<rosparam file="$(find hector_exploration_node)/config/costmap.yaml" command="load" />

</node>

it returns me the following error:

[ERROR] [1591432766.846200813]: Do not call canTransform or lookupTransform with a timeout unless you are using another thread for populating data. Without a dedicated thread it will always timeout.  If you have a seperate thread servicing tf messages, call setUsingDedicatedThread(true) on your Buffer instance.

this is my simple launch file.

<launch>
     <node name="ydlidar_node" pkg="ydlidar" type="ydlidar_node" output="screen" respawn="false" >
      <param name="port" type="string" value="/dev/ydlidar"/>
      <param name="baudrate" type="int" value="128000"/>
      <param name="frame_id" type="string" value="laser_frame"/>
      <param name="low_exposure" type="bool" value="false"/>
      <param name="resolution_fixed" type="bool" value="true"/>
      <param name="auto_reconnect" type="bool" value="true"/>
      <param name="reversion" type="bool" value="true"/>
      <param name="angle_min" type="double" value="-180" />
      <param name="angle_max" type="double" value="180" />
      <param name="range_min" type="double" value="0.1" />
      <param name="range_max" type="double" value="16.0" />
      <param name="ignore_array" type="string" value="" />
      <param name="samp_rate" type="int" value="9"/>
      <param name="frequency" type="double" value="7"/>
     </node>

     <node pkg ="tf" type="static_transform_publisher" name="map_to_odom" args="0.0 0.0 0.0 0.0 0.0 0.0 /map /nav 40"/>
     <node pkg ="tf" type="static_transform_publisher" name="odom_to_base_link" args="0.0 0.0 0.0 0.0 0.0 0.0 /nav /base_footprint 40"/>
     <node pkg="tf" type="static_transform_publisher" name="base_link_to_laser" args="0.2245 0.0 0.2 0.0 0.0 0.0 /base_footprint /laser_frame 40" />
     <include file="$(find hector_mapping)/launch/mapping_default.launch" />


     <arg name="geotiff_map_file_path" default="$(find hector_geotiff)/maps"/>

     <include file="$(find hector_geotiff)/launch/geotiff_mapper.launch">
       <arg name="trajectory_source_frame_name" value="scanmatcher_frame"/>
       <arg name="map_file_path" value="$(arg geotiff_map_file_path)"/>
     </include>
</launch>

How can i implement Hector-exploration? or I have to change my approach? Thanks.

edit retag flag offensive close merge delete

Comments

Got the same issue with you. Did you find a solution for the problem ?

lukelu gravatar image lukelu  ( 2020-09-10 14:03:19 -0500 )edit

unfortunately not yet

reavers92 gravatar image reavers92  ( 2020-09-10 14:14:23 -0500 )edit