Rosanswers logo

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:


    <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" />


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.

Originally posted by kitkatme on ROS Answers with karma: 47 on 2019-03-02

Post score: 3

Original comments

Comment by ZeroSan on 2019-04-02:
I'm having the same errors as you, on both melodic and kinetic.

Comment by ZeroSan on 2019-04-02:
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.

[ WARN] [1554219803.512461144]: Please select an initial point for exploration inside the polygon
[ INFO] [1554219808.539661530]: Sending goal
[ INFO] [1554219808.548820923]: Updating polygon
[ INFO] [1554219808.548869413]: Requesting a goal
[ INFO] [1554219808.549878112]: Robot is now at 0.991692, 0.071822
[ INFO] [1554219808.549969368]: Robot moving to: 1.000000, 1.000000
Warning: class_loader.ClassLoader: SEVERE WARNING!!! Attempting to unload library while objects created by this loader exist in the heap! You should delete your objects before attempting to unload the library or destroying the ClassLoader. The library will NOT be unloaded.
         at line 122 in /tmp/binarydeb/ros-melodic-class-loader-0.4.1/src/class_loader.cpp

Comment by kitkatme on 2019-04-02:
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 :)


1 Answer 1


Rosanswers logo

Eventually figured it out. Replace the first two nodes shown in the original post (in the exploration.launch file) with:

<node pkg="exploration_server" type="plugin_client" name="plugin_client" output="screen">


<node pkg="exploration_server" type="exploration_server_node" name="exploration_server_node" output="screen">

However, as mentioned in the comments, the package still doesn't explore, but it now does the same thing for Husky that it does for the other robots I tried it on (namely, shows the severe warning mentioned in the comments). I also had to download a handful of packages from source just to get the Husky packages to run at all, as described in this answer.

Originally posted by kitkatme with karma: 47 on 2019-04-02

This answer was ACCEPTED on the original site

Post score: 0


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.