Mapping fails with CRSM SLAM and Turtlebot

asked 2016-12-26 20:52:36 -0500

Diana_Elyza gravatar image

updated 2017-01-19 11:41:41 -0500

Hi!!!

I'm trying to use CRSM SLAM with a Turtlebot in simulation, but when I run it in the console appears the next error: [ERROR] [1482804974.498150696, 10.510000000]: [CrsmSlam] Error in tf : "base_link" passed to lookupTransform argument target_frame does not exist.. When I visualize the mapping in Rviz, the "Robot Model" and the "Laser Scan" menu appear in red. I changed the map topic to "slam/occupancyGridMap" and the map building begins but the Robot Model says "No transform from []" in all the links, and the Laser Scan says "For frame [/camera_depth_frame]: No transform to fixed frame [map]. TF error: [Could not find a connection between 'map' and 'camera_depth_frame' because they are not part of the same tree. Tf has two or more unconnected trees.]". I also changed the "Fixed Frame" from map to base_footprint and the Robot Model and the Laser Scan menu is OK but the "Map" menu goes with this error No transform from [map] to [base_footprint]. What can I do? I don't understand the TF package yet. I hope that you can help me.

Thanks in advance!!!

---------------------------------------------------Edit-------------------------------------------------

I've changed the crsm_slam_parameters.yaml file like this:

#~ Topics for publishing/subscribing

occupancy_grid_publish_topic : /slam/occupancyGridMap
robot_trajectory_publish_topic : /robot_trajectory
trajectory_publisher_frame_id : map
laser_subscriber_topic : /scan

#~ Tf frames 

world_frame : world
base_footprint_frame : base_footprint
base_frame : base_link
map_frame : map
laser_frame : camera_rgb_frame

#~ SLAM parameters

hill_climbing_disparity : 40
slam_container_size : 500
slam_occupancy_grid_dimentionality : 0.02
map_update_density : 40
map_update_obstacle_density : 3.0
scan_density_lower_boundary : 0.3
max_hill_climbing_iterations : 40000
desired_number_of_picked_rays : 40

#~ Publishing frequencies (Hz)

occupancy_grid_map_freq : 1.0
robot_pose_tf_freq : 5.0
trajectory_freq : 1.0

#~ Robot parameters

robot_width : 0.6
robot_length : 0.75

And I added a static publisher from map to odom to my launch file:

<!--Simulation Mode SLAM Launch -->
<launch>

    <include file="$(find turtlebot_bringup)/launch/3dsensor.launch">
        <arg name="rgb_processing" value="false" />
        <arg name="depth_registration" value="false" />
        <arg name="depth_processing" value="false" />
        <arg name="scan_topic" value="/scan" /> 

    </include>


    <node name="crsm_slam_node" type="crsm_slam_node" pkg="crsm_slam" respawn="false" ns="crsm_slam" output="screen"/>
    <rosparam file="$(find crsm_slam)/config/crsm_slam/crsm_slam_parameters.yaml" command="load" ns="crsm_slam"/>

    <node pkg="tf" type="static_transform_publisher" name="world2map" args="0 0 0 0 0 0  world map 100" /> 



     <node pkg="tf" type="static_transform_publisher" name="link0_broadcaster" args="0 0 0 0 0 0 1 map odom 100" />



</launch>

I don't have errors anymore, however, when I build the map the robot is quickly lost in Rviz because sometimes it appears in two places at the same time. For this reason the map generated has many errors. I hope that you can help me.

Thanks in advance!!!

edit retag flag offensive close merge delete