ROS Nav project transform/particle cloud issues

Hello. I am currently trying to work on the ROS nav project, but I cannot get the system to publish and /particlecloud data. I think there may be an issue with the transforms, as Rviz displays an error stating there is no transform between map and summit_xl_a_odom.


I took a look at the frames graph, and it is totally different from the one show in the project document.
Project document:

Generated frames graph:

I’ve tried several things, including forcing the transform in a launch file, to no avail. Here is the AMCL node launch file I’m trying to use. Any help would be greatly appreciated.

<?xml version="1.0"?>
<param name="use_map_topic" value="$(arg use_map_topic)"/>

<!--

<param name="odom_frame_id" value="summit_xl_a_odom"/>

<param name="base_frame_id" value="summit_xl_a_base_link"/>

<param name="global_frame_id" value="map"/>

-->

<!--<remap from="map" to="/map"/>-->

<!-- Publish scans from best pose at a max of 10 Hz -->

<param name="odom_model_type" value="diff"/>

<param name="odom_alpha5" value="0.1"/>

<param name="gui_publish_rate" value="5.0"/>

<param name="laser_max_beams" value="60"/>

<param name="laser_max_range" value="12.0"/>

<param name="min_particles" value="500"/>

<param name="max_particles" value="2000"/>

<param name="kld_err" value="0.05"/>

<param name="kld_z" value="0.99"/>

<param name="odom_alpha1" value="0.2"/>

<param name="odom_alpha2" value="0.2"/>

<!-- translation std dev, m -->

<param name="odom_alpha3" value="0.2"/>

<param name="odom_alpha4" value="0.2"/>

<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.2"/>

<param name="laser_lambda_short" value="0.1"/>

<param name="laser_model_type" value="likelihood_field"/>

<!-- <param name="laser_model_type" value="beam"/> -->

<param name="laser_likelihood_max_dist" value="2.0"/>

<param name="update_min_d" value="0.25"/>

<param name="update_min_a" value="0.2"/>

<param name="odom_frame_id" value="odom"/>

<param name="resample_interval" value="1"/>

<!-- Increase tolerance because the computer can get quite busy -->

<param name="transform_tolerance" value="1.0"/>

<param name="recovery_alpha_slow" value="0.0"/>

<param name="recovery_alpha_fast" value="0.0"/>

<remap from="scan" to="$(arg scan_topic)"/>    

Hello @david.crider,

The problem is that you are setting the wrong odometry frame. You are setting the frame to odom here:

<param name="odom_frame_id" value="odom"/>

But actually, the correct frame name is summit_xl_a_odom, as you can see in the frames tree graph (the image from the notebook is outdated, I will fix it this week). This should fix your problem. Also, you don’t need to generate the tf since this is indeed the work of the amcl node.

Best,

Hello, thank you for the help.
That seems to have fixed the transform issue. However, there is still nothing published on the particle cloud topic.


additionally, any time I try to use the 2d pose estimate tool, the rviz terminal says the pose is updated, but there is no change on the GI.

Hello @david.crider,

Try unchecking the PoseArray display, and then checking it again for refreshing it. This might solve the issue. If not, try to modify the base_frame_id for summit_xl_a_base_footprint. Also, if you want to visualize the pose update in RViz here, you should change the Fixed Frame on RViz to map.

Best,