Connecting hector_mapping slam_out_pose to robot_localization [closed]
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 ...