Connecting hector_mapping slam_out_pose to robot_localization [closed]

asked 2020-04-03 17:51:25 -0600

tdam2112 gravatar image

updated 2020-04-03 18:08:06 -0600

Hello, I'm working on a project where I'm trying to couple an RPLIDAR a3 and a realsense D435 stereocamera for robot localization and navigation. I'm strugling to obtain odometry through robot_localization,

whenever I run the code launching the rp_lidar, hector_mapping and robot_localization I get the follwoing error:

In my tf_tree map is connected to odom voa hector_mapping and I have laser_link connected via static transform to base_link. Although from my undestanding I cannot just create a static transform from odom to base_link as that would defeat the whole purpose.

I'm using /slam_out_pose as my pose estimator for robot_localization but the output odom doesn't seem to be publishing anything. Am I missing a transformation or ekf_localization_node to make it work? Am I completely off for trying to pass odometry through robot_localization from a single source?

I apology for any indentation inconsistencies, I'm haviong trouble uploading the code in the post. I've been executing the following launch file:

             <launch>

    <!-- General tf Transforms -->

      <node pkg="tf" type="static_transform_publisher" name="base_to_laser_broadcaster" args="0.0143 0 0.0084 0 0 1 0 base_link laser_link 10"/>



    <!-- RPLIDAR Section -->

      <node name="rplidarNode"          pkg="rplidar_ros"  type="rplidarNode" output="screen">
      <param name="serial_port"         type="string" value="/dev/ttyUSB0"/>  
      <param name="serial_baudrate"     type="int"    value="256000"/><!--A3 -->
      <param name="frame_id"            type="string" value="laser_link"/>
      <param name="inverted"            type="bool"   value="false"/>
      <param name="angle_compensate"    type="bool"   value="true"/>
      <param name="scan_mode"           type="string" value="Sensitivity"/>
      </node>



    <!-- Hector Mapping Section -->

      <arg name="tf_map_scanmatch_transform_frame_name" default="scanmatcher_frame"/>
      <arg name="base_frame" default="base_link"/>
      <arg name="odom_frame" default="odom"/>
      <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 ...
(more)
edit retag flag offensive reopen merge delete

Closed for the following reason question is not relevant or outdated by tdam2112
close date 2020-12-04 20:36:25.063127