swri-robotics / mapviz

Modular ROS visualization tool for 2D data.
BSD 3-Clause "New" or "Revised" License
370 stars 144 forks source link

remote rosmaster via Husarnet: Tile map only shows map when mapviz is initialised before the first NavSatFix message #801

Closed AnthonyZJiang closed 6 months ago

AnthonyZJiang commented 7 months ago

ROS version: Melodic Mapviz version: master d6fe4b8e97f83f9334ba324920ca7d2ac253d06d

Problem

When using a remote rosmaster via Husarnet, tile map not showing up when mapviz is launched after the first NavSatFix message is published.

Steps to reproduce

Terminal 1:

ssh user@remote
roscore

Terminal 2:

rostopic pub /fix sensor_msgs/NavSatFix "header:
  seq: 0
  stamp: {secs: 0, nsecs: 0}
  frame_id: ''
status: {status: 0, service: 0}
latitude: 53 
longitude: -2 
altitude: 26 
position_covariance: [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]
position_covariance_type: 0" -r 1

Terminal 3:

$ cat mapviz.launch
<launch>
    <node pkg="swri_transform_util" type="initialize_origin.py" name="initialize_origin">
        <param name="local_xy_origin" value="auto" />
        <param name="local_xy_frame" value="origin" />
    </node>

    <node pkg="mapviz" type="mapviz" name="mapviz" output="screen">
        <param name="config" value="/home/ice9/empty.mvc" />
    </node>
</launch>

roslaunch catkin_ws mapviz.launch

Additional Info

  1. Everything runs normally when mapviz is launched before the first NavSatFix message.
  2. The same issue is not reproducible when using a local rosmaster.
  3. The latency between the local machine and remote master is between 200-300 ms.
AnthonyZJiang commented 6 months ago

Problem solved. It turns out that I have not checked out to the latest commit that addressed this issue.