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

gp's profile - activity

2021-06-28 05:01:31 -0500 received badge  Nice Answer (source)
2018-09-10 00:55:33 -0500 received badge  Necromancer (source)
2016-06-29 02:54:53 -0500 answered a question SLAM without odometry, hector_slam + sicktoolbox

Is your SICK node running and publishing laser scans on /scan topic? In your launch file you are nowhere initializing that node. Another thing is that the tutorial.launch file that you are using is for demo, assumes that tf between different frames like map->nav , nav->base_link etc are being published. If you run the demo rosbag file you will see that these tf are published in that rosbag file. If you want to run the hectorslam with SICK, tutorial.launch file will not work as it is. Have a look at this project hector_slam_example. Use hector_hokuyo.launch. replace hokuyo initialisation with SICK initialisation.

2016-06-09 07:34:54 -0500 commented answer draw the path with hector slam

You are welcome. hey accept the answer as correct by clicking the tick mark :)

2016-06-09 00:51:06 -0500 commented answer draw the path with hector slam

i have added launch files in my answer. These are working for me. Save these in any folder with same file names, edit "path_to_folder" in hector_hokuyo.launch and just launch the file 'hector_hokuyo.launch' it will initialise hokuyo, hector_slam node , rviz and also display the path in the map.

2016-06-07 00:34:46 -0500 answered a question WARN : No transform between frames /map and scanmatcher_frame available.

Hey mohan, scan rate for RPLIdar is very less to be suitable for hector slam. For modifications to RPLidar messages, have a look at this blog . Although it is about Gmapping and RPlidar, some modifications in RPLidar scan messages are suggested in the blog.

2016-06-07 00:22:51 -0500 commented answer load map in hector slam

yes. Actually map can be generated using any of the SLAM algorithms or even manually generated in any image editor and fed to localization as png, jpeg or pgm files. Thisbook has a chapter "Chapter 9 Building Maps of the World" on this topic.

2016-06-06 02:33:59 -0500 answered a question load map in hector slam

This is a robot localization problem. You can use AMCL package for this purpose. AMCL.

2016-06-03 00:45:05 -0500 answered a question No transform between frames /map and scanmatcher_frame

Sorry for very late answer. Have you set the parameter "pub_map_scanmatch_transform" and also set the parameter "tf_map_scanmatch_transform_frame_name" as scanmatcher_frame. These parameters must be set for hector_mapping node in order to get a transform between map and scanmatcher_frame. Have a look at the details of this parameters at link.

2016-06-03 00:35:07 -0500 answered a question creating and building new package like hector_slam

You dont need to modify entire package and rebuild it, just modifying the launch files and setting proper parameters will do. Have a look at this project hector_slam_example

2016-06-01 06:40:33 -0500 commented answer map_2_odom args ??

you can accept the answer by clicking tick mark so that the question is closed.

2016-06-01 06:40:33 -0500 received badge  Commentator
2016-06-01 04:49:29 -0500 answered a question map_2_odom args ??

you can simply search the package name on ros wiki or even google search will work you can search like "ros tf". you will get the package summary, installation guide tutorials etc on the wiki page . eg. for tf static_transform_publisher checkout this wiki page tf

2016-06-01 00:10:13 -0500 commented answer cannot stat 'devel/lib/gmapping/slam_gmapping*':No such file or directory

The procedure with catkin_make is when you are installing some package from a source code. In that case, the source code and the compiled libraries etc will be in your catkin workspace. It is generally suggested to install package as binaries unless you want to make some changes in the code.

2016-06-01 00:06:37 -0500 commented answer cannot stat 'devel/lib/gmapping/slam_gmapping*':No such file or directory

can you tell me the procedure you followed for installing gmapping? which your ros distribution? if you simply run following command, all the required packages for gmapping will be installed and be available in share folder of your ros directory.

sudo apt-get install ros-indigo-gmapping
2016-05-31 07:23:26 -0500 answered a question cannot stat 'devel/lib/gmapping/slam_gmapping*':No such file or directory

if you installing using "apt-get" i.e. binaries of the package then they will be available in share folder of your ros distribution directory. eg. I have ros indigo, i have it in /opt/ros/indigo/share/gmapping.

2016-05-30 04:17:56 -0500 commented answer How to build a map on rviz from laser scan

if node "hector_trajectory_server" is running, you can use this command to save tiff map

rostopic pub syscommand std_msgs/String "savegeotiff"

for more details follow this tutorial last step is for saving map.

2016-05-30 02:50:00 -0500 commented answer draw the path with hector slam

Did you get it?

2016-05-27 04:50:52 -0500 commented answer hector slam configuration

If you just want to check hector slam you can follow this tutorial. After installing binaries you don't need to modify anything. You can straightaway use it.

2016-05-27 04:32:56 -0500 commented answer hector slam configuration

then follow this tutorial setting your robot. For example you can check this project hector_slam_example. In hector_hokuyo.launch file, replace hokuyo part by kinect.

2016-05-27 00:14:49 -0500 answered a question hector slam configuration

Instead of getting the source code and building it by yourself, you can download the binaries i.e. hector_slam package itself for your ROS distribution. You can use command

sudo apt-get install ros-your_ros_dist_name-hector-slam

for eg. in case of ros indigo you can use command

sudo apt-get install ros-indigo-hector-slam

this will download and install all the necessary packages for hector slam.

2016-05-27 00:09:16 -0500 received badge  Enthusiast
2016-05-26 06:48:59 -0500 received badge  Editor (source)
2016-05-26 03:42:15 -0500 commented answer draw the path with hector slam

Use hector_hokuyo.launch file at launcher. Set arg "trajectory_source_frame_name" as "scanmatcher_frame" in the geotiff_mapper.launch file. It would be better to make a copy of "geotiff_mapper.launch" in your local folder use that.

2016-05-25 03:45:53 -0500 commented answer draw the path with hector slam

Can you please share your launch files or elaborate what procedure you are following. In "geotiff_mapper.launch" file, you will need to set argument "trajectory_source_frame_name" to tf for which you want to visualize the path.

2016-05-24 01:51:16 -0500 answered a question How to build a map on rviz from laser scan

The hector_slam_launch tutorial.launch works with prerecorded rosbag files. In your case some modifications are required. have a look at this project hector_slam_example. In launch folder you will find hector_hokuyo.launch file, modify the hokuyo part with SICK sensor initialization.

2016-05-24 01:24:58 -0500 answered a question draw the path with hector slam

To get the trajectory, you have to initialize hector_trajectory_server node.To do this you can directly call "geotiff_mapper.launch" file in "hector_geotiff" package. After launching this node, to visualize the path in rviz add "Path" and select topic as /trajectory.

Edit:

Working Launch files

hector_hokuyo.launch

    <launch>
  <param name="pub_map_odom_transform" value="true"/> 
  <param name="map_frame" value="map"/> 
  <param name="base_frame" value="base_frame"/> 
  <param name="odom_frame" value="odom"/>

  <node pkg="hokuyo_node" type="hokuyo_node" name="hokuyo_node"/>
  <node pkg="tf" type="static_transform_publisher" name="map_2_odom" args="0 0 0 0 0 0 /map /odom 100"/>
  <node pkg="tf" type="static_transform_publisher" name="odom_2_base_footprint" args="0 0 0 0 0 0 /odom /base_footprint 100"/>
  <node pkg="tf" type="static_transform_publisher" name="base_footprint_2_base_link" args="0 0 0 0 0 0 /base_footprint /base_link 100"/> 
  <node pkg="tf" type="static_transform_publisher" name="base_link_2_base_stabilized_link" args="0 0 0 0 0 0 /base_link /base_stabilized 100"/> 
  <node pkg="tf" type="static_transform_publisher" name="base_stablized_2_base_frame" args="0 0 0 0 0 0 /base_stabilized /base_frame 100"/> 
  <node pkg="tf" type="static_transform_publisher" name="base_frame_2_laser_link" args="0 0 0 0 0 0 /base_frame /laser 100"/> 
  <node pkg="tf" type="static_transform_publisher" name="base_2_nav_link" args="0 0 0 0 0 0 /base_frame /nav 100"/>

  <node pkg="rviz" type="rviz" name="rviz" args="-d <path_to_folder>/rviz_cfg.rviz"/>

  <include file="<path_to_folder>/default_mapping.launch"/> 
  <include file="<path_to_folder>/geotiff_mapper.launch"/>

</launch>

default_mapping.launch

<launch>
  <arg name="tf_map_scanmatch_transform_frame_name" default="scanmatcher_frame"/>
  <arg name="base_frame" default="base_frame"/>
  <arg name="odom_frame" default="base_frame"/>
  <arg name="pub_map_odom_transform" default="true"/>
  <arg name="scan_subscriber_queue_size" default="5"/>
  <arg name="scan_topic" default="scan"/>
  <arg name="map_size" default="2048"/>

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

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

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

    <!-- Map size / start point -->
    <param name="map_resolution" value="0.050"/>
    <param name="map_size" value="$(arg map_size)"/>
    <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="true"/>

    <param name="scan_subscriber_queue_size" value="$(arg scan_subscriber_queue_size)"/>
    <param name="scan_topic" value="$(arg scan_topic)"/>

    <!-- 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="$(arg tf_map_scanmatch_transform_frame_name)" />
  </node>

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

geotiff_mapper.launch

<launch>
  <arg name="trajectory_source_frame_name" default="/scanmatcher_frame"/>
  <arg name="trajectory_update_rate" default="4"/>
  <arg name="trajectory_publish_rate" default="0.25"/>
  <arg name="map_file_path" default="$(find hector_geotiff)/maps"/>
  <arg name="map_file_base_name" default="hector_slam_map"/>

  <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="$(arg trajectory_source_frame_name)" />
    <param name="trajectory_update_rate" type="double" value="$(arg trajectory_update_rate)" />
    <param name="trajectory_publish_rate" type ...
(more)
2016-05-24 00:46:22 -0500 answered a question HECTOR SLAM + SICK LMS 200: Map not appearing

In your launch file, you are adding two transforms first "base_footprint_to_laser_link" and also "base_frame_to_laser_link" doing this is not correct because in tf each leaf can have only one parent.

Have a look at this project hector_slam_example. You can use the launch file "hector_hokuyo.launch" in the launch folder. Modify this file to use SICK laser in place of hokuyo.

2016-05-20 07:01:38 -0500 received badge  Supporter (source)
2016-05-19 10:18:40 -0500 received badge  Teacher (source)
2016-05-19 07:37:40 -0500 answered a question Build map with hector_slam and SICK laser

You have to publish a static transform between scan and base_frame to solve that error. Have a look at this project hector_slam_example . This project uses Hokuyo UTM-30LX with Hector_slam. You can use the launch file "hector_hokuyo.launch" in the launch folder. You will have to replace the hokuyo related parts with SICK i.e. initialising SICK sensor related node. Both of these sensors publish their laser scans on /scan topic so that should not be a problem.

2016-05-19 06:24:51 -0500 answered a question Rate of position updates from gmapping

Check out the parameter "map_update_interval" Gmapping wiki. This parameter corresponds to interval between map updates. Its default value is 5 sec.