Multirobots navigation with namespace failed

Hi,

I am trying to do multiple robots’ map navigation by namespace, but now is stucked by several erros! I’d like to get your help!

The main errors are

  • No laser scan received......Verify that data is being published on the /rb2p_0/scan topic
  • MessageFilter [target=/rb2p_0/odom ]: Dropped 100.00% ......

Here is my launch file,

<launch>

    <arg name="robot_namespace" default="rb2p_0"/>

    <arg name="use_rviz" default="true"/>

    <arg name="map_file" default="$(find tutorial_pkg)/maps/map01/map.yaml"/>       <!-- path of map file -->
    <node name="map_server" pkg="map_server" type="map_server" args="$(arg map_file)" respawn="true" />

    <group ns="$(arg robot_namespace)">
        <node name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher"  output="screen"/

        <node pkg="tf" type="static_transform_publisher" name="ROSbot_laser" args="0 0 0 3.14 0 0 base_link laser 100"  output="screen"/>

        <include file="$(find rplidar_ros)/launch/rplidar_a3.launch"></include>

        <include file="$(find rosbot_ekf)/launch/all.launch">
            <arg name="rosbot_pro" value="true"/>
        </include>

        <node pkg="move_base" type="move_base" name="move_base" output="log">
                    <param name="controller_frequency" value="10.0" />
                    <rosparam file="$(find tutorial_pkg)/config/costmap_common_params.yaml" command="load" ns="global_costmap" />
                    <rosparam file="$(find tutorial_pkg)/config/costmap_common_params.yaml" command="load" ns="local_costmap" />
                    <rosparam file="$(find tutorial_pkg)/config/local_costmap_params.yaml" command="load" />
                    <rosparam file="$(find tutorial_pkg)/config/global_costmap_params.yaml" command="load" />
                    <rosparam file="$(find tutorial_pkg)/config/trajectory_planner.yaml" command="load" />

                    <param name="global_costmap/global_frame" value="map"/>
                    <param name="global_costmap/laser_scan_sensor/topic" value="$(arg robot_namespace)/scan"/>
                    <param name="local_costmap/global_frame" value="map"/>
                    <param name="local_costmap/laser_scan_sensor/topic" value="$(arg robot_namespace)/scan"/>
                    <param name="local_costmap/robot_base_frame" value="$(arg robot_namespace)/base_footprint"/>

                    <remap from="map" to="/map"/>
        </node>

        <node pkg="amcl" type="amcl" name="amcl" output="screen">
            <remap from="scan" to="/rb2p_0/scan"/>
            <remap from="static_map" to="/static_map"/>
            <remap from="map" to="/map"/>
            <param name="odom_frame_id" value="/rb2p_0/odom"/>
            <param name="base_frame_id" value="/rb2p_0/base_link"/>
            <param name="global_frame_id" value="/map"/>
            <param name="odom_model_type" value="diff-corrected"/>
            <param name="update_min_d" value="0.1"/>
            <param name="update_min_a" value="0.2"/>
            <param name="min_particles" value="500"/>
            <param name="tf_broadcast" value="true" />
            <param name="initial_pose_x" value="0.0"/>
            <param name="initial_pose_y" value="0.0"/>
            <param name="initial_pose_a" value="0.0"/>
         </node>

    </group>

    <param name="robot_description" command="$(find xacro)/xacro.py '$(find rosbot_description)/urdf/rosbot.xacro'"/>
    <!-- Show in Rviz   -->
    <!--<node if="$(arg use_rviz)" name="rviz" pkg="rviz" type="rviz" args="-d $(find rosbot_description)/rviz/rosbot.rviz" required="true" output="screen"/>-->
    <node if="$(arg use_rviz)" name="rviz" pkg="rviz" type="rviz" output="screen" />

</launch>

Here is the terminal output of my launch file,

... logging to /home/husarion/.ros/log/e0e6ca24-e8d8-11ea-8e55-000c292d3725/roslaunch-husarion-8511.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

xacro: Traditional processing is deprecated. Switch to --inorder processing!
To check for compatibility of your document, use option --check-order.
For more infos, see http://wiki.ros.org/xacro#Processing_Order
xacro.py is deprecated; please use xacro instead
started roslaunch server http://192.168.3.154:38147/

SUMMARY
========

CLEAR PARAMETERS
 * /rb2p_0/rosbot_ekf/

PARAMETERS
 * /rb2p_0/amcl/base_frame_id: /rb2p_0/base_link
 * /rb2p_0/amcl/global_frame_id: /map
 * /rb2p_0/amcl/initial_pose_a: 0.0
 * /rb2p_0/amcl/initial_pose_x: 0.0
 * /rb2p_0/amcl/initial_pose_y: 0.0
 * /rb2p_0/amcl/min_particles: 500
 * /rb2p_0/amcl/odom_frame_id: /rb2p_0/odom
 * /rb2p_0/amcl/odom_model_type: diff-corrected
 * /rb2p_0/amcl/tf_broadcast: True
 * /rb2p_0/amcl/update_min_a: 0.2
 * /rb2p_0/amcl/update_min_d: 0.1
 * /rb2p_0/move_base/TrajectoryPlannerROS/acc_lim_Y: 1.5
 * /rb2p_0/move_base/TrajectoryPlannerROS/acc_lim_theta: 5.0
 * /rb2p_0/move_base/TrajectoryPlannerROS/acc_lim_x: 1.5
 * /rb2p_0/move_base/TrajectoryPlannerROS/holonomic_robot: False
 * /rb2p_0/move_base/TrajectoryPlannerROS/max_vel_theta: 2.5
 * /rb2p_0/move_base/TrajectoryPlannerROS/max_vel_x: 0.1
 * /rb2p_0/move_base/TrajectoryPlannerROS/meter_scoring: True
 * /rb2p_0/move_base/TrajectoryPlannerROS/min_in_place_vel_theta: 0.25
 * /rb2p_0/move_base/TrajectoryPlannerROS/min_vel_theta: -2.5
 * /rb2p_0/move_base/TrajectoryPlannerROS/min_vel_x: 0.01
 * /rb2p_0/move_base/TrajectoryPlannerROS/xy_goal_tolerance: 0.1
 * /rb2p_0/move_base/TrajectoryPlannerROS/yaw_goal_tolerance: 0.05
 * /rb2p_0/move_base/controller_frequency: 10.0
 * /rb2p_0/move_base/global_costmap/always_send_full_costmap: True
 * /rb2p_0/move_base/global_costmap/footprint: [[0.12, 0.14], [0...
 * /rb2p_0/move_base/global_costmap/global_frame: map
 * /rb2p_0/move_base/global_costmap/height: 15
 * /rb2p_0/move_base/global_costmap/inflation_radius: 2.5
 * /rb2p_0/move_base/global_costmap/laser_scan_sensor/clearing: True
 * /rb2p_0/move_base/global_costmap/laser_scan_sensor/data_type: LaserScan
 * /rb2p_0/move_base/global_costmap/laser_scan_sensor/marking: True
 * /rb2p_0/move_base/global_costmap/laser_scan_sensor/sensor_frame: laser
 * /rb2p_0/move_base/global_costmap/laser_scan_sensor/topic: rb2p_0/scan
 * /rb2p_0/move_base/global_costmap/map_topic: /map
 * /rb2p_0/move_base/global_costmap/observation_sources: laser_scan_sensor
 * /rb2p_0/move_base/global_costmap/obstacle_range: 6.0
 * /rb2p_0/move_base/global_costmap/origin_x: -7.5
 * /rb2p_0/move_base/global_costmap/origin_y: -7.5
 * /rb2p_0/move_base/global_costmap/publish_frequency: 2.5
 * /rb2p_0/move_base/global_costmap/raytrace_range: 8.5
 * /rb2p_0/move_base/global_costmap/resolution: 0.01
 * /rb2p_0/move_base/global_costmap/robot_base_frame: base_link
 * /rb2p_0/move_base/global_costmap/rolling_window: True
 * /rb2p_0/move_base/global_costmap/static_map: False
 * /rb2p_0/move_base/global_costmap/subscribe_to_updates: True
 * /rb2p_0/move_base/global_costmap/transform_tolerance: 0.5
 * /rb2p_0/move_base/global_costmap/update_frequency: 2.5
 * /rb2p_0/move_base/global_costmap/width: 15
 * /rb2p_0/move_base/local_costmap/always_send_full_costmap: True
 * /rb2p_0/move_base/local_costmap/footprint: [[0.12, 0.14], [0...
 * /rb2p_0/move_base/local_costmap/global_frame: map
 * /rb2p_0/move_base/local_costmap/height: 3
 * /rb2p_0/move_base/local_costmap/inflation_radius: 1.0
 * /rb2p_0/move_base/local_costmap/laser_scan_sensor/clearing: True
 * /rb2p_0/move_base/local_costmap/laser_scan_sensor/data_type: LaserScan
 * /rb2p_0/move_base/local_costmap/laser_scan_sensor/marking: True
 * /rb2p_0/move_base/local_costmap/laser_scan_sensor/sensor_frame: laser
 * /rb2p_0/move_base/local_costmap/laser_scan_sensor/topic: rb2p_0/scan
 * /rb2p_0/move_base/local_costmap/map_topic: /map
 * /rb2p_0/move_base/local_costmap/observation_sources: laser_scan_sensor
 * /rb2p_0/move_base/local_costmap/obstacle_range: 6.0
 * /rb2p_0/move_base/local_costmap/origin_x: -1.5
 * /rb2p_0/move_base/local_costmap/origin_y: -1.5
 * /rb2p_0/move_base/local_costmap/publish_frequency: 5
 * /rb2p_0/move_base/local_costmap/raytrace_range: 8.5
 * /rb2p_0/move_base/local_costmap/resolution: 0.01
 * /rb2p_0/move_base/local_costmap/robot_base_frame: rb2p_0/base_footp...
 * /rb2p_0/move_base/local_costmap/rolling_window: True
 * /rb2p_0/move_base/local_costmap/static_map: False
 * /rb2p_0/move_base/local_costmap/subscribe_to_updates: True
 * /rb2p_0/move_base/local_costmap/transform_tolerance: 0.25
 * /rb2p_0/move_base/local_costmap/update_frequency: 5
 * /rb2p_0/move_base/local_costmap/width: 3
 * /rb2p_0/rosbot_ekf/acceleration_gains: [0.8, 0.0, 0.0, 0...
 * /rb2p_0/rosbot_ekf/acceleration_limits: [1.3, 0.0, 0.0, 0...
 * /rb2p_0/rosbot_ekf/base_link_frame: base_link
 * /rb2p_0/rosbot_ekf/control_config: [True, False, Fal...
 * /rb2p_0/rosbot_ekf/control_timeout: 0.2
 * /rb2p_0/rosbot_ekf/debug: False
 * /rb2p_0/rosbot_ekf/debug_out_file: /path/to/debug/fi...
 * /rb2p_0/rosbot_ekf/deceleration_gains: [1.0, 0.0, 0.0, 0...
 * /rb2p_0/rosbot_ekf/deceleration_limits: [1.3, 0.0, 0.0, 0...
 * /rb2p_0/rosbot_ekf/frequency: 20
 * /rb2p_0/rosbot_ekf/imu0: imu
 * /rb2p_0/rosbot_ekf/imu0_config: [False, False, Fa...
 * /rb2p_0/rosbot_ekf/imu0_differential: True
 * /rb2p_0/rosbot_ekf/imu0_linear_acceleration_rejection_threshold: 0.8
 * /rb2p_0/rosbot_ekf/imu0_nodelay: False
 * /rb2p_0/rosbot_ekf/imu0_pose_rejection_threshold: 0.8
 * /rb2p_0/rosbot_ekf/imu0_queue_size: 4
 * /rb2p_0/rosbot_ekf/imu0_relative: True
 * /rb2p_0/rosbot_ekf/imu0_remove_gravitational_acceleration: True
 * /rb2p_0/rosbot_ekf/imu0_twist_rejection_threshold: 0.8
 * /rb2p_0/rosbot_ekf/initial_estimate_covariance: ['1e-9', 0, 0, 0,...
 * /rb2p_0/rosbot_ekf/map_frame: map
 * /rb2p_0/rosbot_ekf/odom0: odom/wheel
 * /rb2p_0/rosbot_ekf/odom0_config: [True, True, True...
 * /rb2p_0/rosbot_ekf/odom0_differential: False
 * /rb2p_0/rosbot_ekf/odom0_nodelay: False
 * /rb2p_0/rosbot_ekf/odom0_queue_size: 6
 * /rb2p_0/rosbot_ekf/odom0_relative: True
 * /rb2p_0/rosbot_ekf/odom_frame: odom
 * /rb2p_0/rosbot_ekf/print_diagnostics: True
 * /rb2p_0/rosbot_ekf/process_noise_covariance: [0.05, 0, 0, 0, 0...
 * /rb2p_0/rosbot_ekf/publish_acceleration: False
 * /rb2p_0/rosbot_ekf/publish_tf: True
 * /rb2p_0/rosbot_ekf/sensor_timeout: 0.2
 * /rb2p_0/rosbot_ekf/stamped_control: False
 * /rb2p_0/rosbot_ekf/transform_time_offset: 0.0
 * /rb2p_0/rosbot_ekf/transform_timeout: 0.0
 * /rb2p_0/rosbot_ekf/two_d_mode: False
 * /rb2p_0/rosbot_ekf/use_control: True
 * /rb2p_0/rosbot_ekf/world_frame: odom
 * /rb2p_0/rplidarNode/angle_compensate: True
 * /rb2p_0/rplidarNode/frame_id: laser
 * /rb2p_0/rplidarNode/inverted: False
 * /rb2p_0/rplidarNode/scan_mode: Sensitivity
 * /rb2p_0/rplidarNode/serial_baudrate: 256000
 * /rb2p_0/rplidarNode/serial_port: /dev/ttyUSB0
 * /rb2p_0/serial_node/baud: 460800
 * /rb2p_0/serial_node/port: /dev/ttyS4
 * /robot_description: <?xml version="1....
 * /rosdistro: kinetic
 * /rosversion: 1.12.14

NODES
  /
    map_server (map_server/map_server)
  /rb2p_0/
    ROSbot_laser (tf/static_transform_publisher)
    amcl (amcl/amcl)
    imu_publisher (tf/static_transform_publisher)
    move_base (move_base/move_base)
    msgs_conversion (rosbot_ekf/msgs_conversion)
    robot_state_publisher (robot_state_publisher/state_publisher)
    rosbot_ekf (robot_localization/ekf_localization_node)
    rplidarNode (rplidar_ros/rplidarNode)
    serial_node (rosserial_python/serial_node.py)

ROS_MASTER_URI=http://192.168.3.118:11311

process[map_server-1]: started with pid [8523]
process[rb2p_0/robot_state_publisher-2]: started with pid [8524]
process[rb2p_0/ROSbot_laser-3]: started with pid [8525]
process[rb2p_0/rplidarNode-4]: started with pid [8529]
process[rb2p_0/serial_node-5]: started with pid [8533]
process[rb2p_0/msgs_conversion-6]: started with pid [8537]
process[rb2p_0/rosbot_ekf-7]: started with pid [8542]
[ WARN] [1598599249.712799992]: The 'state_publisher' executable is deprecated. Please use 'robot_state_publisher' instead
process[rb2p_0/imu_publisher-8]: started with pid [8548]
process[rb2p_0/move_base-9]: started with pid [8549]
[ WARN] [1598599249.774936948]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia.  As a workaround, you can add an extra dummy link to your URDF.
process[rb2p_0/amcl-10]: started with pid [8554]
[ INFO] [1598599250.344868972]: RPLIDAR running on ROS package rplidar_ros. SDK Version:1.12.0
[INFO] [1598599250.566457]: ROS Serial Python Node
[INFO] [1598599250.734879]: Connecting to /dev/ttyS4 at 460800 baud
RPLIDAR S/N: AFED9A87C5E392D2A5E492F83F38316C
[ INFO] [1598599250.850664055]: Firmware Ver: 1.27
[ INFO] [1598599250.850926479]: Hardware Rev: 6
[ INFO] [1598599250.852157453]: RPLidar health status : 0
[ INFO] [1598599251.545671910]: current scan mode: Sensitivity, max_distance: 25.0 m, Point number: 15.9K , angle_compensate: 4
[INFO] [1598599252.897957]: Note: publish buffer size is 768 bytes
[INFO] [1598599252.936415]: Setup service server on config [rosbot_ekf/Configuration]
[INFO] [1598599252.992718]: Setup publisher on battery [sensor_msgs/BatteryState]
[INFO] [1598599253.054957]: Setup publisher on pose [geometry_msgs/PoseStamped]
[INFO] [1598599253.111178]: Setup publisher on velocity [geometry_msgs/Twist]
[INFO] [1598599253.144720]: Setup publisher on range/fr [sensor_msgs/Range]
[INFO] [1598599253.170906]: Setup publisher on range/fl [sensor_msgs/Range]
[INFO] [1598599253.205902]: Setup publisher on range/rr [sensor_msgs/Range]
[INFO] [1598599253.236652]: Setup publisher on range/rl [sensor_msgs/Range]
[ INFO] [1598599253.241100668]: Requesting the map...
[INFO] [1598599253.269893]: Setup publisher on joint_states [sensor_msgs/JointState]
[INFO] [1598599253.292672]: Setup publisher on mpu9250 [rosbot_ekf/Imu]
[ INFO] [1598599253.315478300]: Received a 2016 X 3136 map @ 0.010 m/pix

[ WARN] [1598599253.315604331]: Frame_id of map received:'map' doesn't match global_frame_id:'/map'. This could cause issues with reading published topics
[INFO] [1598599253.327935]: Setup publisher on buttons [std_msgs/UInt8]
[INFO] [1598599253.332478]: Note: subscribe buffer size is 768 bytes
[INFO] [1598599253.373392]: Setup subscriber on cmd_vel [geometry_msgs/Twist]
[INFO] [1598599253.394368]: 

 ______  _____  _____  _             _           __
 | ___ \|  _  |/  ___|| |           | |         / _|
 | |_/ /| | | |\ `--. | |__    ___  | |_       | |_ __      __
 |    / | | | | `--. \| '_ \  / _ \ | __|      |  _|\ \ /\ / /
 | |\ \ \ \_/ //\__/ /| |_) || (_) || |_       | |   \ V  V / 
 \_| \_| \___/ \____/ |_.__/  \___/  \__|      |_|    \_/\_/ 

 Firmware version: 0.10.1


[ INFO] [1598599254.251238853]: Initializing likelihood field model; this can take some time on large maps...
[ INFO] [1598599257.110002896]: Done initializing likelihood field model.
[ WARN] [1598599275.036842212]: No laser scan received (and thus no pose updates have been published) for 1598599275.036584 seconds.  Verify that data is being published on the /rb2p_0/scan topic.
[ WARN] [1598599275.037272628]: MessageFilter [target=/rb2p_0/odom ]: Dropped 100.00% of messages so far. Please turn the [ros.amcl.message_notifier] rosconsole logger to DEBUG for more information.
[ WARN] [1598599290.036587091]: No laser scan received (and thus no pose updates have been published) for 1598599290.036415 seconds.  Verify that data is being published on the /rb2p_0/scan topic.
[ WARN] [1598599305.035991620]: No laser scan received (and thus no pose updates have been published) for 1598599305.035825 seconds.  Verify that data is being published on the /rb2p_0/scan topic.
[ WARN] [1598599320.036676786]: No laser scan received (and thus no pose updates have been published) for 1598599320.036475 seconds.  Verify that data is being published on the /rb2p_0/scan topic.
[ WARN] [1598599335.036540892]: No laser scan received (and thus no pose updates have been published) for 1598599335.036266 seconds.  Verify that data is being published on the /rb2p_0/scan topic.
[ WARN] [1598599335.038055569]: MessageFilter [target=/rb2p_0/odom ]: Dropped 100.00% of messages so far. Please turn the [ros.amcl.message_notifier] rosconsole logger to DEBUG for more information.
[ WARN] [1598599350.036667725]: No laser scan received (and thus no pose updates have been published) for 1598599350.036541 seconds.  Verify that data is being published on the /rb2p_0/scan topic.
[ WARN] [1598599365.036671067]: No laser scan received (and thus no pose updates have been published) for 1598599365.036463 seconds.  Verify that data is being published on the /rb2p_0/scan topic.
[ WARN] [1598599380.036295845]: No laser scan received (and thus no pose updates have been published) for 1598599380.036107 seconds.  Verify that data is being published on the /rb2p_0/scan topic.
[ WARN] [1598599395.036569373]: No laser scan received (and thus no pose updates have been published) for 1598599395.036404 seconds.  Verify that data is being published on the /rb2p_0/scan topic.
[ WARN] [1598599395.047235308]: MessageFilter [target=/rb2p_0/odom ]: Dropped 100.00% of messages so far. Please turn the [ros.amcl.message_notifier] rosconsole logger to DEBUG for more information.
[ WARN] [1598599410.036871496]: No laser scan received (and thus no pose updates have been published) for 1598599410.036685 seconds.  Verify that data is being published on the /rb2p_0/scan topic.
[ WARN] [1598599425.036432778]: No laser scan received (and thus no pose updates have been published) for 1598599425.036221 seconds.  Verify that data is being published on the /rb2p_0/scan topic.
[ WARN] [1598599440.036580268]: No laser scan received (and thus no pose updates have been published) for 1598599440.036413 seconds.  Verify that data is being published on the /rb2p_0/scan topic.
[ WARN] [1598599455.036308531]: No laser scan received (and thus no pose updates have been published) for 1598599455.036096 seconds.  Verify that data is being published on the /rb2p_0/scan topic.
[ WARN] [1598599455.056863223]: MessageFilter [target=/rb2p_0/odom ]: Dropped 100.00% of messages so far. Please turn the [ros.amcl.message_notifier] rosconsole logger to DEBUG for more information.
[ WARN] [1598599470.036987237]: No laser scan received (and thus no pose updates have been published) for 1598599470.036796 seconds.  Verify that data is being published on the /rb2p_0/scan topic.

I did rostopic echo /rb2p_0/scan, there was data return, also checked the node of /rb2p_0/rosbot_ekf' and topic /rb2p_0/odom, I found topic /rb2p_0/odomwas published ,but with no subscriber, there was no link from/map to '/rb2p_0/odom in the tf_tree. Here is the node info and topic info,

sw@ubuntu:~$ rosnode info /rb2p_0/rosbot_ekf
--------------------------------------------------------------------------------
Node [/rb2p_0/rosbot_ekf]
Publications: 
 * /diagnostics [diagnostic_msgs/DiagnosticArray]
 * /rb2p_0/odom [nav_msgs/Odometry]
 * /rosout [rosgraph_msgs/Log]
 * /tf [tf2_msgs/TFMessage]

Subscriptions: 
 * /rb2p_0/cmd_vel [geometry_msgs/Twist]
 * /rb2p_0/imu [sensor_msgs/Imu]
 * /rb2p_0/odom/wheel [nav_msgs/Odometry]
 * /rb2p_0/set_pose [unknown type]
 * /tf [tf2_msgs/TFMessage]
 * /tf_static [tf2_msgs/TFMessage]

Services: 
 * /rb2p_0/rosbot_ekf/enable
 * /rb2p_0/rosbot_ekf/get_loggers
 * /rb2p_0/rosbot_ekf/set_logger_level
 * /rb2p_0/rosbot_ekf/toggle
 * /rb2p_0/set_pose


contacting node http://192.168.3.154:46883/ ...
Pid: 8542
Connections:
 * topic: /rosout
    * to: /rosout
    * direction: outbound
    * transport: TCPROS
 * topic: /tf
    * to: /rb2p_0/rosbot_ekf
    * direction: outbound
    * transport: INTRAPROCESS
 * topic: /tf
    * to: /rb2p_0/move_base
    * direction: outbound
    * transport: TCPROS
 * topic: /tf
    * to: /rb2p_0/amcl
    * direction: outbound
    * transport: TCPROS
 * topic: /tf
    * to: /rb2p_0/ROSbot_laser (http://192.168.3.154:45167/)
    * direction: inbound
    * transport: TCPROS
 * topic: /tf
    * to: /rb2p_0/robot_state_publisher (http://192.168.3.154:41401/)
    * direction: inbound
    * transport: TCPROS
 * topic: /tf
    * to: /rb2p_0/imu_publisher (http://192.168.3.154:34661/)
    * direction: inbound
    * transport: TCPROS
 * topic: /tf
    * to: /rb2p_0/amcl (http://192.168.3.154:41269/)
    * direction: inbound
    * transport: TCPROS
 * topic: /tf
    * to: /rb2p_0/rosbot_ekf (http://192.168.3.154:46883/)
    * direction: inbound
    * transport: INTRAPROCESS
 * topic: /tf_static
    * to: /rb2p_0/robot_state_publisher (http://192.168.3.154:41401/)
    * direction: inbound
    * transport: TCPROS
 * topic: /rb2p_0/odom/wheel
    * to: /rb2p_0/msgs_conversion (http://192.168.3.154:35235/)
    * direction: inbound
    * transport: TCPROS
 * topic: /rb2p_0/imu
    * to: /rb2p_0/msgs_conversion (http://192.168.3.154:35235/)
    * direction: inbound
    * transport: TCPROS
 * topic: /rb2p_0/cmd_vel
    * to: /rb2p_0/move_base (http://192.168.3.154:35515/)
    * direction: inbound
    * transport: TCPROS

the topic information of /rb2p_0/odom is:

sw@ubuntu:~$ rostopic info /rb2p_0/odom
Type: nav_msgs/Odometry

Publishers: 
 * /rb2p_0/rosbot_ekf (http://192.168.3.154:37959/)

Subscribers: None

And the tf_tree is like:

Any help is appreciated so much!

Hi,

Since we don’t provide any official tutorials about multiple robot, I got no ready to apply solution.
But… once a day I have created this repository multiple_rosbots_simulation.

Note: This is my private repository not documented. Use it just for param check.

In my opinion the best option is just refer to video from our friends at The Construct link

Hope this will help a little bit.

Best,
Adam

Hi, Adam,

Thanks a lot for your reply and share!

With your help, I modified my launch file based on your multiple_navigation.launch to launch my rosbot2.0 pro, but there is still some errors, which are like:

[ WARN] [1600935984.742540220]: Timed out waiting for transform from rosbot1/base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.100567 timeout was 0.1.
[ WARN] [1600935989.780698638]: Timed out waiting for transform from rosbot1/base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.101146 timeout was 0.1.
[ WARN] [1600935994.817235827]: Timed out waiting for transform from rosbot1/base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.100574 timeout was 0.1.
[ WARN] [1600935999.282228859]: No laser scan received (and thus no pose updates have been published) for 1600935999.281958 seconds.  Verify that data is being published on the /rosbot1/scan topic.
[ WARN] [1600935999.287291546]: MessageFilter [target=rosbot1/odom ]: Dropped 100.00% of messages so far. Please turn the [ros.amcl.message_notifier] rosconsole logger to DEBUG for more information.
[ WARN] [1600935999.855853837]: Timed out waiting for transform from rosbot1/base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.10099 timeout was 0.1.
[ WARN] [1600936004.893480647]: Timed out waiting for transform from rosbot1/base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.101078 timeout was 0.1.
[ WARN] [1600936009.931987194]: Timed out waiting for transform from rosbot1/base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.100073 timeout was 0.1.

I will be so appreciated if you can help me again to check if any problem in my scripts!!!

Here is my modified launch file multiple_navigation.launch:

<?xml version="1.0" encoding="UTF-8"?>
<launch>

<!-- map server with simul map -->
<arg name="map_file" default="$(find multiple_rosbots_simulation)/maps/husarion-flat-2.yaml" />
<node name="map_server" pkg="map_server" type="map_server" args="$(arg map_file)" respawn="false" />    ​    

<!-- ROSBOT1 -->
<group ns="rosbot1">
	<param name="tf_prefix" value="rosbot1" />

    <node pkg="rplidar_ros" type="rplidarNode" name="rplidar">
        <param name="tf_prefix" value="rosbot1" />
        <param name="angle_compensate" type="bool" value="true"/>
        <param name="frame_id" type="string" value="/rosbot1/laser"/>
        <param name="serial_baudrate" type="int" value="256000"/>
    </node>

    <!--replace rosbot_ekf/launch/all.launch-->
    <include file="$(find rosbot_ekf)/launch/rosserial_bridge.launch">
        <arg name="serial_port" value="/dev/ttyS4"/>
        <arg name="serial_baudrate" value="460800"/>
    </include>

    <include file="$(find rosbot_ekf)/launch/message_conversion.launch"/>

    <!--<include file="$(find rosbot_ekf)/launch/rosbot_ekf.launch"/>-->
    <node pkg="robot_localization" type="ekf_localization_node" name="rosbot_ekf" clear_params="true">
        <rosparam command="load" file="$(find rosbot_ekf)/params/ekf_params.yaml" />
        <param name="base_link_frame" value="base_link"/>
        <param name="odom_frame" value="odom"/>
        <param name="world_frame" value="odom"/>

        <!--  Placeholder for output topic remapping -->
        <remap from="odometry/filtered" to="/rosbot1/odom"/>
        <!-- <remap from="accel/filtered" to=""/> -->
    </node>
    <node pkg="tf" type="static_transform_publisher" name="imu_publisher" args="0 0 0.02 0 0 0 rosbot1/base_link rosbot1/imu_link 100" />
    <!--replace rosbot_ekf/launch/all.launch-->

<node pkg="tf" type="static_transform_publisher" name="laser_broadcaster" args="0 0 0 3.14 0 0 rosbot1/base_link rosbot1/laser_frame 100" />
</group>

<include file="$(find multiple_rosbots_simulation)/launch/move_base_rosbot1.launch" />
    <!-- <include file="$(find multiple_rosbots_simulation)/launch/move_base_exp.launch" /> -->
<include file="$(find multiple_rosbots_simulation)/launch/amcl_only_rosbot1.launch" />

I also added some parameters for move_base node into move_base_rosbot1.launch, which are

<arg name="sensor_frame_id" default="/rosbot1/laser" />

<param name="global_costmap/laser_scan_sensor/sensor_frame" value="$(arg sensor_frame_id)"/>
<param name="global_costmap/laser_scan_sensor/topic" value="$(arg laser_topic)"/>
<param name="local_costmap/laser_scan_sensor/sensor_frame" value="$(arg sensor_frame_id)"/>
<param name="local_costmap/laser_scan_sensor/topic" value="$(arg laser_topic)"/>

here are the screen output after the launch of my multiple_navigation.launch:

... logging to /home/husarion/.ros/log/cc3051d6-fe2c-11ea-b88b-000c290fedfc/roslaunch-husarion-9906.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://192.168.28.77:36027/

SUMMARY
========

CLEAR PARAMETERS

 * /rosbot1/rosbot_ekf/

PARAMETERS

 * /amcl1/base_frame_id: rosbot1/base_link
 * /amcl1/global_frame_id: map
 * /amcl1/initial_pose_x: 0.0
 * /amcl1/initial_pose_y: 1.0
 * /amcl1/initial_pose_z: 0.0
 * /amcl1/odom_frame_id: rosbot1/odom
 * /amcl1/odom_model_type: diff-corrected
 * /amcl1/update_min_a: 1.0
 * /amcl1/update_min_d: 0.1
 * /amcl1/use_map_topic: True
 * /move_base_rosbot1/DWAPlannerROS/global_frame_id: /rosbot1/odom
 * /move_base_rosbot1/TrajectoryPlannerROS/acc_lim_Y: 1.5
 * /move_base_rosbot1/TrajectoryPlannerROS/acc_lim_theta: 5.0
 * /move_base_rosbot1/TrajectoryPlannerROS/acc_lim_x: 1.5
 * /move_base_rosbot1/TrajectoryPlannerROS/holonomic_robot: False
 * /move_base_rosbot1/TrajectoryPlannerROS/max_vel_theta: 2.5
 * /move_base_rosbot1/TrajectoryPlannerROS/max_vel_x: 0.1
 * /move_base_rosbot1/TrajectoryPlannerROS/meter_scoring: True
 * /move_base_rosbot1/TrajectoryPlannerROS/min_in_place_vel_theta: 0.25
 * /move_base_rosbot1/TrajectoryPlannerROS/min_vel_theta: -2.5
 * /move_base_rosbot1/TrajectoryPlannerROS/min_vel_x: 0.01
 * /move_base_rosbot1/TrajectoryPlannerROS/xy_goal_tolerance: 0.1
 * /move_base_rosbot1/TrajectoryPlannerROS/yaw_goal_tolerance: 0.05
 * /move_base_rosbot1/global_costmap/always_send_full_costmap: True
 * /move_base_rosbot1/global_costmap/footprint: [[0.12, 0.14], [0...
 * /move_base_rosbot1/global_costmap/global_frame: /map
 * /move_base_rosbot1/global_costmap/height: 25
 * /move_base_rosbot1/global_costmap/inflation_radius: 2.5
 * /move_base_rosbot1/global_costmap/laser_scan_sensor/clearing: True
 * /move_base_rosbot1/global_costmap/laser_scan_sensor/data_type: LaserScan
 * /move_base_rosbot1/global_costmap/laser_scan_sensor/marking: True
 * /move_base_rosbot1/global_costmap/laser_scan_sensor/sensor_frame: /rosbot1/laser
 * /move_base_rosbot1/global_costmap/laser_scan_sensor/topic: /rosbot1/scan
 * /move_base_rosbot1/global_costmap/map_topic: /map
 * /move_base_rosbot1/global_costmap/observation_sources: laser_scan_sensor
 * /move_base_rosbot1/global_costmap/obstacle_range: 6.0
 * /move_base_rosbot1/global_costmap/publish_frequency: 0.5
 * /move_base_rosbot1/global_costmap/raytrace_range: 8.5
 * /move_base_rosbot1/global_costmap/resolution: 0.01
 * /move_base_rosbot1/global_costmap/robot_base_frame: /rosbot1/base_link
 * /move_base_rosbot1/global_costmap/rolling_window: True
 * /move_base_rosbot1/global_costmap/static_map: False
 * /move_base_rosbot1/global_costmap/subscribe_to_updates: True
 * /move_base_rosbot1/global_costmap/transform_tolerance: 0.5
 * /move_base_rosbot1/global_costmap/update_frequency: 0.5
 * /move_base_rosbot1/global_costmap/width: 50
 * /move_base_rosbot1/local_costmap/always_send_full_costmap: True
 * /move_base_rosbot1/local_costmap/footprint: [[0.12, 0.14], [0...
 * /move_base_rosbot1/local_costmap/global_frame: /rosbot1/odom
 * /move_base_rosbot1/local_costmap/height: 3
 * /move_base_rosbot1/local_costmap/inflation_radius: 1.0
 * /move_base_rosbot1/local_costmap/laser_scan_sensor/clearing: True
 * /move_base_rosbot1/local_costmap/laser_scan_sensor/data_type: LaserScan
 * /move_base_rosbot1/local_costmap/laser_scan_sensor/marking: True
 * /move_base_rosbot1/local_costmap/laser_scan_sensor/sensor_frame: /rosbot1/laser
 * /move_base_rosbot1/local_costmap/laser_scan_sensor/topic: /rosbot1/scan
 * /move_base_rosbot1/local_costmap/map_topic: /map
 * /move_base_rosbot1/local_costmap/observation_sources: laser_scan_sensor
 * /move_base_rosbot1/local_costmap/obstacle_range: 6.0
 * /move_base_rosbot1/local_costmap/origin_x: -1.5
 * /move_base_rosbot1/local_costmap/origin_y: -1.5
 * /move_base_rosbot1/local_costmap/publish_frequency: 5
 * /move_base_rosbot1/local_costmap/raytrace_range: 8.5
 * /move_base_rosbot1/local_costmap/resolution: 0.01
 * /move_base_rosbot1/local_costmap/robot_base_frame: /rosbot1/base_link
 * /move_base_rosbot1/local_costmap/rolling_window: True
 * /move_base_rosbot1/local_costmap/static_map: True
 * /move_base_rosbot1/local_costmap/subscribe_to_updates: True
 * /move_base_rosbot1/local_costmap/transform_tolerance: 0.25
 * /move_base_rosbot1/local_costmap/update_frequency: 5
 * /move_base_rosbot1/local_costmap/width: 3
 * /rosbot1/rosbot_ekf/acceleration_gains: [0.8, 0.0, 0.0, 0...
 * /rosbot1/rosbot_ekf/acceleration_limits: [1.3, 0.0, 0.0, 0...
 * /rosbot1/rosbot_ekf/base_link_frame: base_link
 * /rosbot1/rosbot_ekf/control_config: [True, False, Fal...
 * /rosbot1/rosbot_ekf/control_timeout: 0.2
 * /rosbot1/rosbot_ekf/debug: False
 * /rosbot1/rosbot_ekf/debug_out_file: /path/to/debug/fi...
 * /rosbot1/rosbot_ekf/deceleration_gains: [1.0, 0.0, 0.0, 0...
 * /rosbot1/rosbot_ekf/deceleration_limits: [1.3, 0.0, 0.0, 0...
 * /rosbot1/rosbot_ekf/frequency: 20
 * /rosbot1/rosbot_ekf/imu0: imu
 * /rosbot1/rosbot_ekf/imu0_config: [False, False, Fa...
 * /rosbot1/rosbot_ekf/imu0_differential: True
 * /rosbot1/rosbot_ekf/imu0_linear_acceleration_rejection_threshold: 0.8
 * /rosbot1/rosbot_ekf/imu0_nodelay: False
 * /rosbot1/rosbot_ekf/imu0_pose_rejection_threshold: 0.8
 * /rosbot1/rosbot_ekf/imu0_queue_size: 4
 * /rosbot1/rosbot_ekf/imu0_relative: True
 * /rosbot1/rosbot_ekf/imu0_remove_gravitational_acceleration: True
 * /rosbot1/rosbot_ekf/imu0_twist_rejection_threshold: 0.8
 * /rosbot1/rosbot_ekf/initial_estimate_covariance: ['1e-9', 0, 0, 0,...
 * /rosbot1/rosbot_ekf/map_frame: map
 * /rosbot1/rosbot_ekf/odom0: odom/wheel
 * /rosbot1/rosbot_ekf/odom0_config: [True, True, True...
 * /rosbot1/rosbot_ekf/odom0_differential: False
 * /rosbot1/rosbot_ekf/odom0_nodelay: False
 * /rosbot1/rosbot_ekf/odom0_queue_size: 6
 * /rosbot1/rosbot_ekf/odom0_relative: True
 * /rosbot1/rosbot_ekf/odom_frame: odom
 * /rosbot1/rosbot_ekf/print_diagnostics: True
 * /rosbot1/rosbot_ekf/process_noise_covariance: [0.05, 0, 0, 0, 0...
 * /rosbot1/rosbot_ekf/publish_acceleration: False
 * /rosbot1/rosbot_ekf/publish_tf: True
 * /rosbot1/rosbot_ekf/sensor_timeout: 0.2
 * /rosbot1/rosbot_ekf/stamped_control: False
 * /rosbot1/rosbot_ekf/transform_time_offset: 0.0
 * /rosbot1/rosbot_ekf/transform_timeout: 0.0
 * /rosbot1/rosbot_ekf/two_d_mode: False
 * /rosbot1/rosbot_ekf/use_control: True
 * /rosbot1/rosbot_ekf/world_frame: odom
 * /rosbot1/rplidar/angle_compensate: True
 * /rosbot1/rplidar/frame_id: /rosbot1/laser
 * /rosbot1/rplidar/serial_baudrate: 256000
 * /rosbot1/rplidar/tf_prefix: rosbot1
 * /rosbot1/serial_node/baud: 460800
 * /rosbot1/serial_node/port: /dev/ttyS4
 * /rosbot1/tf_prefix: rosbot1
 * /rosdistro: kinetic
 * /rosversion: 1.12.14

NODES
  /rosbot1/
    imu_publisher (tf/static_transform_publisher)
    laser_broadcaster (tf/static_transform_publisher)
    msgs_conversion (rosbot_ekf/msgs_conversion)
    rosbot_ekf (robot_localization/ekf_localization_node)
    rplidar (rplidar_ros/rplidarNode)
    serial_node (rosserial_python/serial_node.py)
  /
    amcl1 (amcl/amcl)
    map_server (map_server/map_server)
    move_base_rosbot1 (move_base/move_base)

ROS_MASTER_URI=http://192.168.28.11:11311

process[map_server-1]: started with pid [9915]
process[rosbot1/rplidar-2]: started with pid [9916]
process[rosbot1/serial_node-3]: started with pid [9917]
process[rosbot1/msgs_conversion-4]: started with pid [9924]
process[rosbot1/rosbot_ekf-5]: started with pid [9925]
process[rosbot1/imu_publisher-6]: started with pid [9930]
process[rosbot1/laser_broadcaster-7]: started with pid [9935]
process[move_base_rosbot1-8]: started with pid [9936]
process[amcl1-9]: started with pid [9944]
[INFO] [1600935978.646455]: ROS Serial Python Node
[INFO] [1600935978.773216]: Connecting to /dev/ttyS4 at 460800 baud
[INFO] [1600935980.928034]: Note: publish buffer size is 768 bytes
[INFO] [1600935980.956077]: Setup service server on config [rosbot_ekf/Configuration]
[INFO] [1600935981.020641]: Setup publisher on battery [sensor_msgs/BatteryState]
[INFO] [1600935981.045914]: Setup publisher on pose [geometry_msgs/PoseStamped]
[INFO] [1600935981.078802]: Setup publisher on velocity [geometry_msgs/Twist]
[INFO] [1600935981.124989]: Setup publisher on range/fr [sensor_msgs/Range]
[INFO] [1600935981.166545]: Setup publisher on range/fl [sensor_msgs/Range]
[INFO] [1600935981.202171]: Setup publisher on range/rr [sensor_msgs/Range]
[INFO] [1600935981.234530]: Setup publisher on range/rl [sensor_msgs/Range]
[INFO] [1600935981.263560]: Setup publisher on joint_states [sensor_msgs/JointState]
[INFO] [1600935981.303083]: Setup publisher on mpu9250 [rosbot_ekf/Imu]
[INFO] [1600935981.332134]: Setup publisher on buttons [std_msgs/UInt8]
[INFO] [1600935981.335387]: Note: subscribe buffer size is 768 bytes
[ INFO] [1600935981.342398940]: Subscribed to map topic.
[INFO] [1600935981.377135]: Setup subscriber on cmd_vel [geometry_msgs/Twist]
[INFO] [1600935981.380396]: 

______  _____  _____  _             _           __

 | ___ \|  _  |/  ___|| |           | |         / _|
 | |_/ /| | | |\ `--. | |__    ___  | |_       | |_ __      __
 |    / | | | | `--. \| '_ \  / _ \ | __|      |  _|\ \ /\ / /
 | |\ \ \ \_/ //\__/ /| |_) || (_) || |_       | |   \ V  V / 
 \_| \_| \___/ \____/ |_.__/  \___/  \__|      |_|    \_/\_/ 

 Firmware version: 0.10.1


[ INFO] [1600935984.283283024]: Received a 640 X 384 map @ 0.050 m/pix

[ INFO] [1600935984.550162812]: Initializing likelihood field model; this can take some time on large maps...
[ INFO] [1600935984.683571733]: Done initializing likelihood field model.
[ WARN] [1600935984.742540220]: Timed out waiting for transform from rosbot1/base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.100567 timeout was 0.1.
[ WARN] [1600935989.780698638]: Timed out waiting for transform from rosbot1/base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.101146 timeout was 0.1.
[ WARN] [1600935994.817235827]: Timed out waiting for transform from rosbot1/base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.100574 timeout was 0.1.
[ WARN] [1600935999.282228859]: No laser scan received (and thus no pose updates have been published) for 1600935999.281958 seconds.  Verify that data is being published on the /rosbot1/scan topic.
[ WARN] [1600935999.287291546]: MessageFilter [target=rosbot1/odom ]: Dropped 100.00% of messages so far. Please turn the [ros.amcl.message_notifier] rosconsole logger to DEBUG for more information.
[ WARN] [1600935999.855853837]: Timed out waiting for transform from rosbot1/base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.10099 timeout was 0.1.
[ WARN] [1600936004.893480647]: Timed out waiting for transform from rosbot1/base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.101078 timeout was 0.1.
[ WARN] [1600936009.931987194]: Timed out waiting for transform from rosbot1/base_link to map to become available before running costmap, tf error: canTransform: target_frame map does not exist.. canTransform returned after 0.100073 timeout was 0.1.

The tf_frames are like:

Hope to get your guidence! Thanks a lot!

Si

Hi, Adam,

Currently, I solved the previous erors by replacing

<node pkg="tf" type="static_transform_publisher" name="laser_broadcaster" args="0 0 0 3.14 0 0 rosbot1/base_link rosbot1/laser_frame 100" />

with:

<node pkg="tf" type="static_transform_publisher" name="laser_broadcaster" args="0 0 0 3.14 0 0 rosbot1/base_link rosbot1/laser 100" />

But now I got new warning messages repeatedly from move_base, which are:

 [ WARN] [1601196787.104257717]: MessageFilter [target=map laser ]: Dropped 100.00% of messages so far. Please turn the [ros.costmap_2d.message_notifier] rosconsole logger to DEBUG for more information.
[ WARN] [1601196797.895574150]: MessageFilter [target=rosbot1/odom laser ]: Dropped 100.00% of messages so far. Please turn the [ros.costmap_2d.message_notifier] rosconsole logger to DEBUG for more information., 

After I opened the debug output of ros.costmap_2d.message_filter, it only promt me something like:

[DEBUG] [1601195168.498901002]: MessageFilter [target=rosbot1/odom laser ]: Removed oldest message because buffer is full, count now 50 (frame_id=/rosbot1/laser, stamp=1601195164.629110)
[DEBUG] [1601195168.499183424]: MessageFilter [target=rosbot1/odom laser ]: Added message in frame /rosbot1/laser at time 1601195168.411, count now 50
[DEBUG] [1601195168.569824556]: MessageFilter [target=map laser ]: Removed oldest message because buffer is full, count now 50 (frame_id=/rosbot1/laser, stamp=1601195164.706167)
[DEBUG] [1601195168.570198837]: MessageFilter [target=map laser ]: Added message in frame /rosbot1/laser at time 1601195168.495, count now 50
[DEBUG] [1601195168.571891535]: MessageFilter [target=rosbot1/odom laser ]: Removed oldest message because buffer is full, count now 50 (frame_id=/rosbot1/laser, stamp=1601195164.706167)
[DEBUG] [1601195168.572437032]: MessageFilter [target=rosbot1/odom laser ]: Added message in frame /rosbot1/laser at time 1601195168.495, count now 50
[DEBUG] [1601195168.641671600]: MessageFilter [target=map laser ]: Removed oldest message because buffer is full, count now 50 (frame_id=/rosbot1/laser, stamp=1601195164.786229)
[DEBUG] [1601195168.642146350]: MessageFilter [target=map laser ]: Added message in frame /rosbot1/laser at time 1601195168.567, count now 50

Could you please guide me how to solve this problem? Thanks a lot!

BRs,

Si

Hi,

Could you please pack it as a git repository (all your changes)?
This will speed up the debugging process.

Best,
Adam

Hi, Adam,

Thanks so much for your reply!

I’ve uploaded my latest version to repository here,

The only change on this version is replace rosbot1/laser_frame to rosbot1/laser in

<node pkg="tf" type="static_transform_publisher" name="laser_broadcaster" args="0 0 0 3.14 0 0 rosbot1/base_link rosbot1/laser_frame 100" />

please have a check!

BRs,

Si

Hi Si,

I tried to reproduce your issue but I can’t. Maybe I’ve run impropriety set of launch files.

Please describe in detail what you run on which robot?

Best regards,
Hubert

Hi, Hubert,

Thanks a lot for your reply!

I am now using rosbot 2.0 pro with Ubuntu 16.04 + ROS Kinetic for I am trying to make it work together with my another turtulebot3 (Kinetic too).

I have a master node (Ubuntu16.04 + ROS Kinetic) in the same wifi network with my rosbot, I’ve set the ROS_MASTER_URI and ROS_IP to the master node and rosbot node.

The scripts I launched are as:

  1. run roscore on master node
  2. run roslaunch multi_rosbot_nav nav_namespace.launch

I just run the steps, but at this time, the system give me another warning repeatedly
Map update loop missed its desired rate of 0.5000Hz... the loop actually took 4.2660 seconds

And I also never saw message odom received!

Hope to get your help on how these happened and how to solve them?

Here is the system message after I launched the nav_namespace.launch:

... logging to /home/husarion/.ros/log/0546afd2-09d2-11eb-a250-000c290fedfc/roslaunch-husarion-6521.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://192.168.28.77:43189/

SUMMARY
========

CLEAR PARAMETERS
 * /rosbot1/rosbot_ekf/

PARAMETERS
 * /amcl1/base_frame_id: rosbot1/base_link
 * /amcl1/global_frame_id: map
 * /amcl1/initial_pose_x: 0.0
 * /amcl1/initial_pose_y: 0.0
 * /amcl1/initial_pose_z: 0.0
 * /amcl1/max_particles: 5000
 * /amcl1/min_particles: 1000
 * /amcl1/odom_frame_id: rosbot1/odom
 * /amcl1/odom_model_type: diff-corrected
 * /amcl1/update_min_a: 1.0
 * /amcl1/update_min_d: 0.1
 * /amcl1/use_map_topic: True
 * /move_base_rosbot1/DWAPlannerROS/global_frame_id: /rosbot1/odom
 * /move_base_rosbot1/TrajectoryPlannerROS/acc_lim_Y: 1.5
 * /move_base_rosbot1/TrajectoryPlannerROS/acc_lim_theta: 5.0
 * /move_base_rosbot1/TrajectoryPlannerROS/acc_lim_x: 1.5
 * /move_base_rosbot1/TrajectoryPlannerROS/holonomic_robot: False
 * /move_base_rosbot1/TrajectoryPlannerROS/max_vel_theta: 2.5
 * /move_base_rosbot1/TrajectoryPlannerROS/max_vel_x: 0.1
 * /move_base_rosbot1/TrajectoryPlannerROS/meter_scoring: True
 * /move_base_rosbot1/TrajectoryPlannerROS/min_in_place_vel_theta: 0.25
 * /move_base_rosbot1/TrajectoryPlannerROS/min_vel_theta: -2.5
 * /move_base_rosbot1/TrajectoryPlannerROS/min_vel_x: 0.01
 * /move_base_rosbot1/TrajectoryPlannerROS/xy_goal_tolerance: 0.1
 * /move_base_rosbot1/TrajectoryPlannerROS/yaw_goal_tolerance: 0.05
 * /move_base_rosbot1/global_costmap/always_send_full_costmap: True
 * /move_base_rosbot1/global_costmap/footprint: [[0.12, 0.14], [0...
 * /move_base_rosbot1/global_costmap/global_frame: /map
 * /move_base_rosbot1/global_costmap/height: 25
 * /move_base_rosbot1/global_costmap/inflation_radius: 2.5
 * /move_base_rosbot1/global_costmap/laser_scan_sensor/clearing: True
 * /move_base_rosbot1/global_costmap/laser_scan_sensor/data_type: LaserScan
 * /move_base_rosbot1/global_costmap/laser_scan_sensor/marking: True
 * /move_base_rosbot1/global_costmap/laser_scan_sensor/sensor_frame: laser
 * /move_base_rosbot1/global_costmap/laser_scan_sensor/topic: scan
 * /move_base_rosbot1/global_costmap/map_topic: /map
 * /move_base_rosbot1/global_costmap/observation_sources: laser_scan_sensor
 * /move_base_rosbot1/global_costmap/obstacle_range: 6.0
 * /move_base_rosbot1/global_costmap/publish_frequency: 0.5
 * /move_base_rosbot1/global_costmap/raytrace_range: 8.5
 * /move_base_rosbot1/global_costmap/resolution: 0.01
 * /move_base_rosbot1/global_costmap/robot_base_frame: /rosbot1/base_link
 * /move_base_rosbot1/global_costmap/rolling_window: True
 * /move_base_rosbot1/global_costmap/static_map: True
 * /move_base_rosbot1/global_costmap/subscribe_to_updates: True
 * /move_base_rosbot1/global_costmap/transform_tolerance: 0.8
 * /move_base_rosbot1/global_costmap/update_frequency: 0.5
 * /move_base_rosbot1/global_costmap/width: 50
 * /move_base_rosbot1/local_costmap/always_send_full_costmap: True
 * /move_base_rosbot1/local_costmap/footprint: [[0.12, 0.14], [0...
 * /move_base_rosbot1/local_costmap/global_frame: /rosbot1/odom
 * /move_base_rosbot1/local_costmap/height: 3
 * /move_base_rosbot1/local_costmap/inflation_radius: 1.0
 * /move_base_rosbot1/local_costmap/laser_scan_sensor/clearing: True
 * /move_base_rosbot1/local_costmap/laser_scan_sensor/data_type: LaserScan
 * /move_base_rosbot1/local_costmap/laser_scan_sensor/marking: True
 * /move_base_rosbot1/local_costmap/laser_scan_sensor/sensor_frame: laser
 * /move_base_rosbot1/local_costmap/laser_scan_sensor/topic: scan
 * /move_base_rosbot1/local_costmap/map_topic: /map
 * /move_base_rosbot1/local_costmap/observation_sources: laser_scan_sensor
 * /move_base_rosbot1/local_costmap/obstacle_range: 6.0
 * /move_base_rosbot1/local_costmap/origin_x: -1.5
 * /move_base_rosbot1/local_costmap/origin_y: -1.5
 * /move_base_rosbot1/local_costmap/publish_frequency: 5
 * /move_base_rosbot1/local_costmap/raytrace_range: 8.5
 * /move_base_rosbot1/local_costmap/resolution: 0.01
 * /move_base_rosbot1/local_costmap/robot_base_frame: /rosbot1/base_link
 * /move_base_rosbot1/local_costmap/rolling_window: True
 * /move_base_rosbot1/local_costmap/static_map: True
 * /move_base_rosbot1/local_costmap/subscribe_to_updates: True
 * /move_base_rosbot1/local_costmap/transform_tolerance: 0.25
 * /move_base_rosbot1/local_costmap/update_frequency: 5
 * /move_base_rosbot1/local_costmap/width: 3
 * /rosbot1/rosbot_ekf/acceleration_gains: [0.8, 0.0, 0.0, 0...
 * /rosbot1/rosbot_ekf/acceleration_limits: [1.3, 0.0, 0.0, 0...
 * /rosbot1/rosbot_ekf/base_link_frame: base_link
 * /rosbot1/rosbot_ekf/control_config: [True, False, Fal...
 * /rosbot1/rosbot_ekf/control_timeout: 0.2
 * /rosbot1/rosbot_ekf/debug: False
 * /rosbot1/rosbot_ekf/debug_out_file: /path/to/debug/fi...
 * /rosbot1/rosbot_ekf/deceleration_gains: [1.0, 0.0, 0.0, 0...
 * /rosbot1/rosbot_ekf/deceleration_limits: [1.3, 0.0, 0.0, 0...
 * /rosbot1/rosbot_ekf/frequency: 20
 * /rosbot1/rosbot_ekf/imu0: imu
 * /rosbot1/rosbot_ekf/imu0_config: [False, False, Fa...
 * /rosbot1/rosbot_ekf/imu0_differential: True
 * /rosbot1/rosbot_ekf/imu0_linear_acceleration_rejection_threshold: 0.8
 * /rosbot1/rosbot_ekf/imu0_nodelay: False
 * /rosbot1/rosbot_ekf/imu0_pose_rejection_threshold: 0.8
 * /rosbot1/rosbot_ekf/imu0_queue_size: 4
 * /rosbot1/rosbot_ekf/imu0_relative: True
 * /rosbot1/rosbot_ekf/imu0_remove_gravitational_acceleration: True
 * /rosbot1/rosbot_ekf/imu0_twist_rejection_threshold: 0.8
 * /rosbot1/rosbot_ekf/initial_estimate_covariance: ['1e-9', 0, 0, 0,...
 * /rosbot1/rosbot_ekf/map_frame: map
 * /rosbot1/rosbot_ekf/odom0: odom/wheel
 * /rosbot1/rosbot_ekf/odom0_config: [True, True, True...
 * /rosbot1/rosbot_ekf/odom0_differential: False
 * /rosbot1/rosbot_ekf/odom0_nodelay: False
 * /rosbot1/rosbot_ekf/odom0_queue_size: 6
 * /rosbot1/rosbot_ekf/odom0_relative: True
 * /rosbot1/rosbot_ekf/odom_frame: odom
 * /rosbot1/rosbot_ekf/print_diagnostics: True
 * /rosbot1/rosbot_ekf/process_noise_covariance: [0.05, 0, 0, 0, 0...
 * /rosbot1/rosbot_ekf/publish_acceleration: False
 * /rosbot1/rosbot_ekf/publish_tf: True
 * /rosbot1/rosbot_ekf/sensor_timeout: 0.2
 * /rosbot1/rosbot_ekf/stamped_control: False
 * /rosbot1/rosbot_ekf/transform_time_offset: 0.0
 * /rosbot1/rosbot_ekf/transform_timeout: 0.0
 * /rosbot1/rosbot_ekf/two_d_mode: False
 * /rosbot1/rosbot_ekf/use_control: True
 * /rosbot1/rosbot_ekf/world_frame: odom
 * /rosbot1/rplidar/angle_compensate: True
 * /rosbot1/rplidar/frame_id: rosbot1/laser
 * /rosbot1/rplidar/serial_baudrate: 256000
 * /rosbot1/rplidar/tf_prefix: rosbot1
 * /rosbot1/serial_node/baud: 460800
 * /rosbot1/serial_node/port: /dev/ttyS4
 * /rosbot1/tf_prefix: rosbot1
 * /rosdistro: kinetic
 * /rosversion: 1.12.14

NODES
  /rosbot1/
    imu_publisher (tf/static_transform_publisher)
    laser_broadcaster (tf/static_transform_publisher)
    msgs_conversion (rosbot_ekf/msgs_conversion)
    rosbot_ekf (robot_localization/ekf_localization_node)
    rplidar (rplidar_ros/rplidarNode)
    serial_node (rosserial_python/serial_node.py)
  /
    amcl1 (amcl/amcl)
    map_server (map_server/map_server)
    move_base_rosbot1 (move_base/move_base)

ROS_MASTER_URI=http://192.168.28.11:11311

process[map_server-1]: started with pid [6532]
process[rosbot1/rplidar-2]: started with pid [6533]
process[rosbot1/serial_node-3]: started with pid [6534]
process[rosbot1/msgs_conversion-4]: started with pid [6535]
process[rosbot1/rosbot_ekf-5]: started with pid [6536]
process[rosbot1/imu_publisher-6]: started with pid [6537]
process[rosbot1/laser_broadcaster-7]: started with pid [6547]
process[amcl1-8]: started with pid [6554]
process[move_base_rosbot1-9]: started with pid [6555]
[INFO] [1602210074.658633]: ROS Serial Python Node
[INFO] [1602210074.789251]: Connecting to /dev/ttyS4 at 460800 baud
[ INFO] [1602210076.342161035]: Subscribed to map topic.
[INFO] [1602210076.921674]: Note: publish buffer size is 768 bytes
[INFO] [1602210076.955993]: Setup service server on config [rosbot_ekf/Configuration]
[INFO] [1602210077.012455]: Setup publisher on battery [sensor_msgs/BatteryState]
[INFO] [1602210077.040283]: Setup publisher on pose [geometry_msgs/PoseStamped]
[INFO] [1602210077.064699]: Setup publisher on velocity [geometry_msgs/Twist]
[INFO] [1602210077.083120]: Setup publisher on range/fr [sensor_msgs/Range]
[INFO] [1602210077.116955]: Setup publisher on range/fl [sensor_msgs/Range]
[INFO] [1602210077.153578]: Setup publisher on range/rr [sensor_msgs/Range]
[INFO] [1602210077.183845]: Setup publisher on range/rl [sensor_msgs/Range]
[INFO] [1602210077.234878]: Setup publisher on joint_states [sensor_msgs/JointState]
[INFO] [1602210077.253943]: Setup publisher on mpu9250 [rosbot_ekf/Imu]
[INFO] [1602210077.276084]: Setup publisher on buttons [std_msgs/UInt8]
[INFO] [1602210077.282225]: Note: subscribe buffer size is 768 bytes
[INFO] [1602210077.339708]: Setup subscriber on cmd_vel [geometry_msgs/Twist]
[INFO] [1602210077.344449]: 

 ______  _____  _____  _             _           __
 | ___ \|  _  |/  ___|| |           | |         / _|
 | |_/ /| | | |\ `--. | |__    ___  | |_       | |_ __      __
 |    / | | | | `--. \| '_ \  / _ \ | __|      |  _|\ \ /\ / /
 | |\ \ \ \_/ //\__/ /| |_) || (_) || |_       | |   \ V  V / 
 \_| \_| \___/ \____/ |_.__/  \___/  \__|      |_|    \_/\_/ 

 Firmware version: 0.10.1


[ INFO] [1602210078.898826739]: Received a 416 X 384 map @ 0.050 m/pix

[ INFO] [1602210079.294193639]: Initializing likelihood field model; this can take some time on large maps...
[ INFO] [1602210079.348399840]: Done initializing likelihood field model.
[ INFO] [1602210079.501790759]: Using plugin "static_layer"
[ INFO] [1602210079.675926238]: Requesting the map...
[ INFO] [1602210080.001730287]: Resizing static layer to 416 X 384 at 0.050000 m/pix
[ INFO] [1602210080.100878569]: Received a 416 X 384 map at 0.050000 m/pix
[ INFO] [1602210080.209766556]: Using plugin "obstacle_layer"
[ INFO] [1602210080.277457830]:     Subscribed to Topics: laser_scan_sensor
[ INFO] [1602210080.948141499]: Using plugin "inflation_layer"
[ INFO] [1602210082.903907836]: Using plugin "static_layer"
[ INFO] [1602210083.038407998]: Requesting the map...
[ INFO] [1602210083.117256607]: Resizing static layer to 416 X 384 at 0.050000 m/pix
[ INFO] [1602210083.203276683]: Received a 416 X 384 map at 0.050000 m/pix
[ INFO] [1602210083.314696234]: Using plugin "obstacle_layer"
[ INFO] [1602210083.396752342]:     Subscribed to Topics: laser_scan_sensor
[ INFO] [1602210084.068374968]: Using plugin "inflation_layer"
[ WARN] [1602210084.650543881]: Map update loop missed its desired rate of 0.5000Hz... the loop actually took 2.6090 seconds
[ INFO] [1602210085.372336494]: Created local_planner base_local_planner/TrajectoryPlannerROS
[ INFO] [1602210085.804834721]: Sim period is set to 0.05
[ INFO] [1602210088.709637391]: Recovery behavior will clear layer obstacles
[ INFO] [1602210088.913977614]: Recovery behavior will clear layer obstacles
[ WARN] [1602210092.347154659]: Map update loop missed its desired rate of 0.5000Hz... the loop actually took 2.3056 seconds
[ WARN] [1602210094.634378077]: Map update loop missed its desired rate of 0.5000Hz... the loop actually took 2.5928 seconds
[ WARN] [1602210096.922490318]: Map update loop missed its desired rate of 0.5000Hz... the loop actually took 2.8809 seconds
[ WARN] [1602210099.210207356]: Map update loop missed its desired rate of 0.5000Hz... the loop actually took 3.1686 seconds
[ WARN] [1602210101.551933908]: Map update loop missed its desired rate of 0.5000Hz... the loop actually took 3.5103 seconds
[ WARN] [1602210103.901852544]: Map update loop missed its desired rate of 0.5000Hz... the loop actually took 3.8603 seconds
[ WARN] [1602210106.248210568]: Map update loop missed its desired rate of 0.5000Hz... the loop actually took 4.2066 seconds
[ WARN] [1602210108.601840389]: Map update loop missed its desired rate of 0.5000Hz... the loop actually took 2.3536 seconds

Hi, Adam,

Thanks for you help! I did successfully run my rosbot 2.0 pro in multirobots mode under ROS Kinetic. here is my repository launch_rosbot.

Recently, I updated my rosbot 2.0 pro from ROS Kinetic to Melodic, and then it failed!!!

Here is what I did:

  • I started roscore and map_server at a master node
  • I started my rosbot by roslaunch launch_rosbot launch_rosbot_with_name.launch

Then, I will get warning like:

Warning: Invalid argument “/map” passed to canTransform argument target_frame in tf2 frame_ids cannot start with a ‘/’ like:
at line 134 in /tmp/binarydeb/ros-melodic-tf2-0.6.5/src/buffer_core.cpp

and TF tree will not built successfully, it looks like:

Could you please help to have a check? So Thanks!

BRs,
Si