Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

No map in rviz using Hector_slam with lidar_lite

I have been working on getting a hector slam working from lidar lite laser.

I am turning the laser 360° with a motor and in rviz I get points that show me room that I am in.

I have read the tf section and am currently just using static tf (the laser has no odom)

I am running 3 launch files and will include them, also with what comes when I start the launch file.

The problem is that there is no map being generated.

Hera are the launch files

lidar.launch:

<launch>
<node pkg="rviz" type="rviz" name="rviz" />
<include file="/home/ubuntu/ros_catkin_ws/hector_mapping.launch"/>
<include file="/home/ubuntu/ros_catkin_ws/geotiff_mapper.launch">
    <arg name="trajectory_source_frame_name" value="scanmatcher_frame"/>
</include>
</launch>

and here is hector.launch:

<launch>

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

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

<!-- 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" />
</node>

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

<node pkg="tf" type="static_transform_publisher" name="map_to_base"      args="0 0 0 0 0 0 /map /base_link 100" />

<node pkg="tf" type="static_transform_publisher" name="map_to_frame"      args="0 0 0 0 0 0 /map /scanmatcher_frame 100" />
</launch>

and geotiff_mapper.launch

<launch>
<arg name="trajectory_source_frame_name" default="/base_link"/>
<arg name="trajectory_update_rate" default="4"/>
<arg name="trajectory_publish_rate" default="0.25"/>

<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="double" value="$(arg trajectory_publish_rate)" />
</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="/home/viki/Desktop/maps" />
<param name="map_file_base_name" type="string" value="uprobotics" />
<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>

</launch>

output when I run the lidar.launch

... logging to /home/ubuntu/.ros/log/1d718a5a-fe48-11e4-8617-b827ebb8ff55/roslaunch-ubuntu-16706.log Checking log directory for disk usage. This may take awhile. Press Ctrl-C to interrupt Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://ubuntu:36740/

SUMMARY

PARAMETERS * /hector_geotiff_node/draw_background_checkerboard: True

  • /hector_geotiff_node/draw_free_space_grid: True

  • /hector_geotiff_node/geotiff_save_period: 0.0

  • /hector_geotiff_node/map_file_base_name: uprobotics

  • /hector_geotiff_node/map_file_path: /home/viki/Deskto...

  • /hector_mapping/base_frame: base_link

  • /hector_mapping/laser_z_max_value: 7.5

  • /hector_mapping/laser_z_min_value: -2.5

  • /hector_mapping/map_frame: map

  • /hector_mapping/map_resolution: 0.025

  • /hector_mapping/map_size: 2048

  • /hector_mapping/map_start_x: 0.5

  • /hector_mapping/map_start_y: 0.5

  • /hector_mapping/map_update_angle_thresh: 0.06

  • /hector_mapping/map_update_distance_thresh: 0.2

  • /hector_mapping/odom_frame: base_link

  • /hector_mapping/pub_map_odom_transform: True

  • /hector_mapping/update_factor_free: 0.4

  • /hector_mapping/update_factor_occupied: 0.7

  • /hector_trajectory_server/source_frame_name: scanmatcher_frame

  • /hector_trajectory_server/target_frame_name: /map

  • /hector_trajectory_server/trajectory_publish_rate: 0.25

  • /hector_trajectory_server/trajectory_update_rate: 4.0

  • /rosdistro: indigo

  • /rosversion: 1.11.10

NODES / base_to_laser_broadcaster (tf/static_transform_publisher)

hector_geotiff_node (hector_geotiff/geotiff_node)

hector_mapping (hector_mapping/hector_mapping)

hector_trajectory_server (hector_trajectory_server/hector_trajectory_server)

map_to_base (tf/static_transform_publisher)

map_to_frame (tf/static_transform_publisher)

rviz (rviz/rviz)

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found

process[rviz-1]: started with pid [17077]

process[hector_mapping-2]: started with pid [17114]

process[base_to_laser_broadcaster-3]: started with pid [17178]

process[map_to_base-4]: started with pid [17256]

HectorSM map lvl 0: cellLength: 0.025 res x:2048 res y: 2048

process[map_to_frame-5]: started with pid [17318]

HectorSM map lvl 1: cellLength: 0.05 res x:1024 res y: 1024

HectorSM map lvl 2: cellLength: 0.1 res x:512 res y: 512

libGL error: failed to open drm device: No such file or directory

libGL error: failed to load driver: i965

process[hector_trajectory_server-6]: started with pid [17396]

process[hector_geotiff_node-7]: started with pid [17457]

If I look at the topic /scan in laser data and have /base_link in all other setting I can see the room. But no hector mapping has started.

Side note: I am running this is raspberry pie 2 using ubuntu. Then ssh into it from my laptop ubuntu. using command ssh -Y and then the hostname.