tf problem of controlling multiple robots on the same map

asked 2023-07-28 03:43:41 -0500

ali123 gravatar image

updated 2023-07-28 03:54:34 -0500

hello everyone and good work.

I'm trying to control multiple robots on the same map but I get an error below:

[ WARN] [1690531803.231598299, 3348.259000000]: Timed out waiting for transform from agv2/base_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.1 timeout was 0.1.
[ WARN] [1690531803.231598299, 3348.259000000]: Timed out waiting for transform from agv2/base_footprint to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.1 timeout was 0.1.

Yes, that's exactly the error I got. so there is no broadcast like map and my robots don't connect to the map framework. ros_graph:

https://imgur.com/kjGAHr4

tf_tree:

https://imgur.com/K93941D

launch_file:

<launch>
<!-- Arguments -->
<arg name="map_file" default="$(find agv_gazebo)/map/indoor.yaml"/>
<arg name="open_rviz" default="false"/>
<arg name="move_forward_only" default="false"/>
<arg name="first_agv"  default="agv1"/>
<arg name="second_agv" default="agv2"/> 

<arg name="initial_pose_x" default="-10.0"/>
<arg name="initial_pose_y" default="-2.7"/>
<arg name="initial_pose_a" default="1.57"/>

<!--param name="/use_sim_time" value="true"/--> 

<group ns = "$(arg second_agv)">
<!-- Map server -->
<node pkg="map_server" name="map_server" type="map_server" args="$(arg map_file)"/>
<!-- Merging Lidar Data -->
<include file="$(find ira_laser_tools)/launch/laserscan_multi_merger2.launch"/>
<!-- AMCL -->
<node pkg="amcl" type="amcl" name="amcl" output="screen">

    <param name="min_particles"             value="500"/>
    <param name="max_particles"             value="5000"/>
    <param name="kld_err"                   value="0.05"/>
    <param name="update_min_d"              value="0.15"/>
    <param name="update_min_a"              value="0.15"/>
    <param name="resample_interval"         value="1"/>
    <param name="transform_tolerance"       value="0.5"/>
    <param name="recovery_alpha_slow"       value="0.00"/>
    <param name="recovery_alpha_fast"       value="0.00"/>
    <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)"/>
    <param name="gui_publish_rate"          value="50.0"/>

    <!--remap from="scan"                      to="scan"/-->
    <param name="laser_max_range"           value="20.0"/>
    <param name="laser_max_beams"           value="540"/>
    <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_likelihood_max_dist" value="5.0"/>
    <param name="laser_model_type"          value="likelihood_field"/>

    <param name="odom_model_type"           value="diff"/>
    <param name="odom_alpha1"               value="0.05"/>
    <param name="odom_alpha2"               value="0.05"/>
    <param name="odom_alpha3"               value="0.05"/>
    <param name="odom_alpha4"               value="0.05"/>
<param name="use_map_topic"         value="true"/>
    <param name="odom_frame_id"             value="/$(arg second_agv)/odom"/>
    <param name="base_frame_id"             value="/$(arg second_agv)/base_footprint"/>
<param name="global_frame_id"       value="/map"/>
</node>
<!-- move_base -->
<!-- Arguments -->
<!--arg name="cmd_vel_topic" default="/cmd_vel"/>
<arg name="odom_topic" default="odom"/-->
<!-- move_base -->
<node pkg="move_base" type="move_base ...
(more)
edit retag flag offensive close merge delete