husky exploration demo in melodic
Although Husky is not technically supported yet for ROS melodic, it did work to run the Husky demos 1-3 here so I am hopeful I can get the 4th demo to run, frontier exploration. But in running that demo (and it does run, just doesn't do exploration) there is an issue because the files in frontier exploration were moved and renamed in the melodic release. I am fairly new to ROS, so I don't know how to properly make the change.
Here is the original Husky exploration launch file:
<launch>
<node pkg="frontier_exploration" type="explore_client" name="explore_client" output="screen"/>
<node pkg="frontier_exploration" type="explore_server" name="explore_server" output="screen">
<param name="frequency" value="1.0"/>
<!-- Should be less than sensor range -->
<param name="goal_aliasing" value="2.0"/>
<rosparam file="$(find husky_navigation)/config/costmap_common.yaml" command="load" ns="explore_costmap" />
<rosparam file="$(find husky_navigation)/config/costmap_exploration.yaml" command="load" ns="explore_costmap" />
</node>
</launch>
The names in both type fields are no longer used. I think explore_server is now called exploration_server, but explore_client I am less sure of. There is something called plugin_client, and the methods in each seem to match up pretty well. Has anyone else already run into this and fixed it? Or if not, does anyone have an idea of the changes that need to be made to the husky files to run the latest version of frontier_exploration?
As mentioned, exploration demo does run, it just does not actually explore. As it starts it gives an error though:
ERROR: cannot launch node of type [frontier_exploration/explore_client]: can't locate node [explore_client] in package [frontier_exploration]
ERROR: cannot launch node of type [frontier_exploration/explore_server]: can't locate node [explore_server] in package [frontier_exploration]
Other info: Ubuntu bionic 18.04, ROS melodic. I'm using the husky package for kinetic and frontier_exploration package for melodic.
I'm having the same errors as you, on both melodic and kinetic.
I managed to run frontier exploration with
rosrun exploration_server exploration.launch
. However, there was a severe warning message and the robot didn't explore the map. Let me know if you are facing the same issues.Yeah when I eventually got it running I got the same severe warning, which didn't make the program crash but no exploration happened, like you said. I switched to using the explore_lite package, which conveniently doesn't require you to enter a polygon, it explores the area until there are no more frontiers. And most importantly, works :)