ros-geographic-info/open_street_map

Running error on ROS Melodic

kosmastsk opened this issue · 1 comments

Since a recent update on ROS Melodic there is a running error of osm_cartography package.
I am using the 0.2.5 version, since the last once (0.3.0) is for ROS Noetic and creates other issues related to Python3, tf2 etc.

The errors I get when I am running the osm_cartography/launch/geo_planner.launch are the following:

Traceback (most recent call last):
  File "......../open_street_map/osm_cartography/scripts/viz_osm", line 251, in <module>
    sys.exit(main())
  File "......../open_street_map/osm_cartography/scripts/viz_osm", line 244, in main
    viznode = VizNode()
  File "......../open_street_map/osm_cartography/scripts/viz_osm", line 90, in __init__
    self.reconf_server = ReconfigureServer(Config, self.reconfigure)
  File "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/server.py", line 81, in __init__
    self._change_config(self.config, ~0)  # Consistent with the C++ API, the callback gets called with level=~0 (i.e. -1)
  File "/opt/ros/melodic/lib/python2.7/dist-packages/dynamic_reconfigure/server.py", line 104, in _change_config
    self.config = self.callback(config, level)
  File "......../open_street_map/osm_cartography/scripts/viz_osm", line 226, in reconfigure
    self.get_markers(resp.map)
  File "......../open_street_map/osm_cartography/scripts/viz_osm", line 101, in get_markers
    self.mark_way_points(ColorRGBA(r=1., g=1., b=0., a=0.8))
  File "......../open_street_map/osm_cartography/scripts/viz_osm", line 191, in mark_way_points
    for wp in self.map_points:
TypeError: instance has no next() method

[viz_osm-3] process has died [pid 27414, exit code 1, cmd ......../ros_workspaces/test_ws/src/open_street_map/osm_cartography/scripts/viz_osm __name:=viz_osm __log:=......../.ros/log/232f0042-cdb0-11eb-b97e-d45d641d159e/viz_osm-3.log].
log file: ......../.ros/log/232f0042-cdb0-11eb-b97e-d45d641d159e/viz_osm-3*.log
[ERROR] [1623744200.118555]: bad callback: <bound method RoutePlannerNode.graph_callback of <__main__.RoutePlannerNode instance at 0x7f3e53b17d88>>
Traceback (most recent call last):
  File "/opt/ros/melodic/lib/python2.7/dist-packages/rospy/topics.py", line 750, in _invoke_callback
    cb(msg)
  File "......../ros_workspaces/test_ws/src/open_street_map/route_network/scripts/plan_route", line 90, in graph_callback
    self.planner = planner.Planner(graph)
  File "......../ros_workspaces/test_ws/src/open_street_map/route_network/src/route_network/planner.py", line 114, in __init__
    for p in self.points:
TypeError: instance has no next() method

I still have not made it to fix this and I am not sure what is the real reason behind these errors (could be something related to the geodesy package?)

In a different PC with ROS Melodic that has not received the last update, everything works still OK.

I'm running it on a conda environment with Python 2.7.15

The issue was the updated version of geographic_info package.
Using the 0.5.4 release of https://github.com/ros-geographic-info/geographic_info with the 0.2.5 release of open_street_map everything works OK again.