robot_localization setup for global estimation
Hello all, I am trying to use robot_localization to filter some of the results from trying to incorporate the beacons position with amcl. Right now i use the beacons method to get a global position, and kind of tell amcl where i am with a certain covariance.
However this beacon method is very noisy, and I was thinking about using robot_localization to filter out some of the noise from the beacons, and to give an estimation from the beacons method and amcl.
I thought the robot_localization method would transform from map to odom based on the final result from the fusion of both amcl and beacons, but I keep getting an error:
- [ WARN] [1603532931.467528858, 1602246684.573640600]: Could not obtain transform from odom to map. Error was "map" passed to lookupTransform argument target_frame does not exist.
Can anyone could help me setup robot_localization for global_position? I have a rosbag with odom, amcl, and beacons. The following is the launch file:
<arg name="initial_pose_x" default="27.3" />
<arg name="initial_pose_y" default="35.2" />
<arg name="initial_pose_a" default="0" />
<param name="/use_sim_time" value="true" />
<node pkg="rosbag" type="play" name="player" args="--clock /home/rafael/test_beacons/test.bag" />
<node pkg="map_server" type="map_server" name="map_server" args="/home/rafael/test_beacons/map.bag.yaml"
respawn="false">
<param name="frame_id" value="/map" />
</node>
<node type="rviz" name="rviz" pkg="rviz" />
<node pkg="amcl" type="amcl" name="amcl">
<param name="tf_broadcast" value="false" />
<param name="use_map_topic" value="true" />
<param name="odom_model_type" value="diff" />
<param name="gui_publish_rate" value="10.0" />
<param name="laser_max_beams" value="450" />
<param name="laser_max_range" value="40.0" />
<param name="min_particles" value="1000" />
<param name="max_particles" value="5000" />
<param name="kld_err" value="0.05" />
<param name="kld_z" value="0.99" />
<param name="odom_alpha1" value="1.5" />
<param name="odom_alpha2" value="1.5" />
<param name="odom_alpha3" value="1.5" />
<param name="odom_alpha4" value="1.5" />
<param name="odom_alpha5" value="1.5" />
<param name="laser_z_hit" value="0.5" />
<param name="laser_z_short" value="0.05" />
<param name="laser_z_max" value="0.05" />
<param name="laser_z_rand" value="0.5" />
<param name="laser_sigma_hit" value="0.05" />
<param name="laser_lambda_short" value="0.1" />
<param name="laser_model_type" value="likelihood_field" />
<param name="laser_likelihood_max_dist" value="2.0" />
<param name="update_min_d" value="0.10" />
<param name="update_min_a" value="0.1" />
<param name="odom_frame_id" value="odom" />
<param name="base_frame_id" value="base_link" />
<param name="global_frame_id" value="map" />
<param name="resample_interval" value="1" />
<param name="transform_tolerance" value="1.0" />
<param name="recovery_alpha_slow" value="0.0" />
<param name="recovery_alpha_fast" value="0.0" />
<param name="initial_cov_xx" value="0.0025" />
<param name="initial_cov_yy" value="0.0025" />
<param name="initial_cov_aa" value="0.0289" />
<param name="initial_pose_x" value="$(arg initial_pose_x)" />
<param name="initial_pose_y" value="$(arg initial_pose_y)" />
<param name="initial_pose_a" value="$(arg initial_pose_a)" />
<remap from="scan ...