Code Monkey home page Code Monkey logo

frontier_exploration's People

Contributors

130s avatar achim-k avatar hdeeken avatar hiddewie avatar ihrabar avatar joao-aguizo avatar paulbovbel avatar vickymmcd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

frontier_exploration's Issues

frontier_exploration demo loads but vehicle does not explore/move

I have tried running the ExamplePlugin demo with both turtlebot3 and husky, and I also ran their (modified to match the new organization scheme) frontier_exploration demos, and I get the same outcome every time: Everything goes as expected (loads with no major warnings, change marker topic, select the polygon points) until I select the initial point for exploration. Then I get both a class_loader warning and an illegal bounds change warning at this point:

[ WARN] [1551792888.556225222, 1398.450000000]: Please select an initial point for exploration inside the polygon Registering Scans:Done [ INFO] [1551792892.976814161, 1401.040000000]: Sending goal [ INFO] [1551792893.053697226, 1401.080000000]: Updating polygon [ INFO] [1551792893.054820548, 1401.080000000]: Requesting a goal 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 Laser Pose= 0.337864 -1.00836e-05 -2.98469e-05 [ WARN] [1551792903.341009126, 1406.930000000]: Illegal bounds change, was [tl: (-99.975000, -99.975000), br: (100.025003, 100.025003)], but is now [tl: (-7.580047, -1.736327), br: (-1.910897, 1.987719)]. The offending layer is explore_costmap/polygon_layer

And nothing happens, the vehicle just sits there. I can still teleoperate the vehicle, but no autonomous exploration. The warning about the class unloading is not informative, as it doesn't say what class or library is being deleted or unloaded.

I am running frontier_exploration melodic branch on ROS melodic on ubuntu 18.04. If you have the turtlebot3 package (to build I downloaded 3 turtlebot3 packages from their respective github master branches, here, here and here) you should be able to reproduce this error by running, in 3 terminals:
$ export TURTLEBOT3_MODEL=waffle_pi
$ roslaunch turtlebot3_gazebo turtlebot3_world.launch

$ export TURTLEBOT3_MODEL=waffle_pi
$ roslaunch turtlebot3_slam turtlebot3_slam.launch slam_methods:=gmapping

$ roslaunch exploration_server exploration.launch plugin:=exploration_server::ExamplePlugin

Looking for ROS1 maintainer

If anyone is interested in taking over maintainership of frontier_exploration in ROS1 and cleaning things up, please email me. I have some general suggestions on how to deal with the costmap bounds update, but I don't have the cycles for working on this package at the moment.

Dying Explore_Server caused by costmap resize

I have the problem that the explore_server sometimes dies after resizing of the costmap.

[ INFO] [1446742099.636580488, 461.970000000]: Resizing costmap to 287 X 318 at 0.050000 m/pix
[ WARN] [1446742099.636652708, 461.970000000]: InflationLayer::updateCosts(): seen_ array size is wrong
*** Error in `/home/mark/catkin_ws/devel/lib/frontier_exploration/explore_server': free(): invalid next size (normal): 0x0000000002078850 ***
[planner/explore_server-14] process has died

"Failed Exploration"

Using the same setup as described in #1, I now always get the error "Failed Exploration". What does that mean? Am I doing something wrong, or is this a bug?

clarification ~explore_clear_space (bool, default: true)

Good morning and thank you in advance for your help,

My problem is the following, I have a robot that navigates in an area potentially hosting obstacles made of glass that my robot could not see with its laser. On my robot I have bumpers and sonars that could sense these glasses. Is there a simple way for me to make this package work by using my other sensors data in order to prevent collisions but still explore everything that is explorable ? Also what is this parameter <explore_clear_space> achieving ? Can I use it to my advantage ?

Thank you

How do you use actionlib to send a bounded exploration goal?

I understand how to use actionlib to send an unbounded exploration goal (simply send a goal with a blank polygon) but I want to send a bounded exploration goal using actionlib.

My code is set up like this:

frontier_exploration::ExploreTaskGoal goal;

geometry_msgs::PolygonStamped boundary;
geometry_msgs::Point32 p1, p2, p3, p4, p5;

p1.x = dim/2; p1.y = dim/2; p1.z = 0.0;
p2.x = dim/2; p2.y = -dim/2; p2.z = 0.0;
p3.x = -dim/2; p3.y = -dim/2; p3.z = 0.0;
p4.x = -dim/2; p4.y = dim/2; p4.z = 0.0;
p5.x = dim/2; p5.y = dim/2; p5.z = 0.0;

boundary.polygon.points.reserve(5);
boundary.header.seq = 0;
boundary.header.stamp = ros::Time::now();
boundary.header.frame_id = "map";
boundary.polygon.points[0] = p1;
boundary.polygon.points[1] = p2;
boundary.polygon.points[2] = p3;
boundary.polygon.points[3] = p4;
boundary.polygon.points[4] = p5;

geometry_msgs::PointStamped start_point;
start_point.point.x = 0.0; start_point.point.y = 0.0; start_point.point.z = 0.0;

goal.explore_center = start_point;
goal.explore_boundary = boundary;
client.sendGoal(goal)

The problem is that the boundary never gets sent and I end up with unbounded exploration no matter how small I make the boundary dimensions. The output of "cout << boundary << endl;" shows that the polygon.points[] is blank. Am I initiating the boundary polygon correctly? Thanks!

Rewrite frontier_exploration

Need to rewrite frontier_exploration in plugin form:

  • plugins to explore_server for different search algorithms
  • plugins to frontier_exploration for different goal filters

Boundary costmap layer should be isolated to just serve as boundary, and costmap data should be read and processed outside of layer. Having a costmap layer expose a service to find frontiers is a little crazy.

Failed to call update polygon service

I am getting the following error when attempting to use frontier_exploration:

[ WARN] [1545419265.256089445, 1688.620000000]: Please select an initial point for exploration inside the polygon
[ INFO] [1545419266.483870438, 1689.850000000]: Sending goal
[ERROR] [1545419266.499376502, 1689.870000000]: Failed to call update polygon service.
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

A few notes about my environment:

  • I am running ROS melodic.
  • Because frontier_exploration relies on tf instead of tf2 (specifically in its use of costmap_2d in the navigation ros package), I rolled back the navigation package about 5 months (before the costmap_2d package was updated to tf2).
  • I am attempting to run the husky exploration demo (http://www.clearpathrobotics.com/assets/guides/husky/HuskyFrontiers.html#instructions). Their exploration.launch hasn't been updated to the new naming/organization scheme of frontier_exploration, so I updated the nodes in exploration.launch to fit the new naming/organization scheme. Likewise, their costmap_exploration uses the old BoundedExploreLayer rather than the new PolygonLayer, so I updated that as well.

After making these changes, I am able to get my workspace to compile. I am able to run the exploration_demo.launch without any errors. I am able to select points in rviz without any errors. I am able to complete the polygon without any errors. I am able to select a point to initialize the exploration without any errors. But when it tries to communicate with the polygon service, things die.

The mechanisms for how it uses the service and communicates with the other nodes is a bit beyond my initial attempts to understand. Any help to understand (or to fix any bugs that may be involved) would be appreciated!

Cartographer Unable To Find Frontier

With the current version of cartographer, frontier exploration and explore_lite have the issue where they are unable to read the map correctly due to how the cells are created.

Would it be possible to update this to work with the cartographer map?

Catkin_Make failed in ros kinetic ubuntu 16.04

Hi,

When I try to Catkin_make it in my workspace. The following showed up.

/home/aron/catkin_ws/src/frontier_exploration/exploration_server/src/exploration_server.cpp: In member function ‘bool exploration_server::ExplorationServer::inBoundary()’:
/home/aron/catkin_ws/src/frontier_exploration/exploration_server/src/exploration_server.cpp:144:35: error: no matching function for call to ‘costmap_2d::Costmap2DROS::getRobotPose(geometry_msgs::PoseStamped&)’
costmap_ros_->getRobotPose(pose1);
^
In file included from /home/aron/catkin_ws/src/frontier_exploration/exploration_server/include/exploration_server/base_plugin.h:7:0,
from /home/aron/catkin_ws/src/frontier_exploration/exploration_server/include/exploration_server/exploration_server.h:4,
from /home/aron/catkin_ws/src/frontier_exploration/exploration_server/src/exploration_server.cpp:1:
/opt/ros/kinetic/include/costmap_2d/costmap_2d_ros.h:123:8: note: candidate: bool costmap_2d::Costmap2DROS::getRobotPose(tf::Stampedtf::Transform&) const
bool getRobotPose(tf::Stampedtf::Pose& global_pose) const;
^
/opt/ros/kinetic/include/costmap_2d/costmap_2d_ros.h:123:8: note: no known conversion for argument 1 from ‘geometry_msgs::PoseStamped {aka geometry_msgs::PoseStamped_<std::allocator >}’ to ‘tf::Stampedtf::Transform&’
/home/aron/catkin_ws/src/frontier_exploration/exploration_server/src/exploration_server.cpp: In member function ‘void exploration_server::ExplorationServer::requestAndSendGoal()’:
/home/aron/catkin_ws/src/frontier_exploration/exploration_server/src/exploration_server.cpp:209:42: error: no matching function for call to ‘costmap_2d::Costmap2DROS::getRobotPose(geometry_msgs::PoseStamped&)’
costmap_ros_->getRobotPose(current_pose);
^
In file included from /home/aron/catkin_ws/src/frontier_exploration/exploration_server/include/exploration_server/base_plugin.h:7:0,
from /home/aron/catkin_ws/src/frontier_exploration/exploration_server/include/exploration_server/exploration_server.h:4,
from /home/aron/catkin_ws/src/frontier_exploration/exploration_server/src/exploration_server.cpp:1:
/opt/ros/kinetic/include/costmap_2d/costmap_2d_ros.h:123:8: note: candidate: bool costmap_2d::Costmap2DROS::getRobotPose(tf::Stampedtf::Transform&) const
bool getRobotPose(tf::Stampedtf::Pose& global_pose) const;
^
/opt/ros/kinetic/include/costmap_2d/costmap_2d_ros.h:123:8: note: no known conversion for argument 1 from ‘geometry_msgs::PoseStamped {aka geometry_msgs::PoseStamped_<std::allocator >}’ to ‘tf::Stampedtf::Transform&’
[ 88%] Built target polygon_layer
In file included from /usr/include/boost/smart_ptr/make_shared.hpp:15:0,
from /usr/include/boost/make_shared.hpp:15,
from /opt/ros/kinetic/include/ros/forwards.h:38,
from /opt/ros/kinetic/include/ros/common.h:37,
from /opt/ros/kinetic/include/ros/ros.h:43,
from /opt/ros/kinetic/include/tf2_ros/buffer.h:38,
from /opt/ros/kinetic/include/tf/tf.h:48,
from /opt/ros/kinetic/include/costmap_2d/layer.h:43,
from /opt/ros/kinetic/include/costmap_2d/layered_costmap.h:42,
from /opt/ros/kinetic/include/costmap_2d/costmap_2d_ros.h:41,
from /home/aron/catkin_ws/src/frontier_exploration/exploration_server/include/exploration_server/base_plugin.h:7,
from /home/aron/catkin_ws/src/frontier_exploration/exploration_server/include/exploration_server/exploration_server.h:4,
from /home/aron/catkin_ws/src/frontier_exploration/exploration_server/src/exploration_server.cpp:1:
/usr/include/boost/smart_ptr/make_shared_object.hpp: In instantiation of ‘typename boost::detail::sp_if_not_array::type boost::make_shared(Args&& ...) [with T = costmap_2d::Costmap2DROS; Args = {const char (&)[16], tf2_ros::Buffer&}; typename boost::detail::sp_if_not_array::type = boost::shared_ptr<costmap_2d::Costmap2DROS>]’:
/home/aron/catkin_ws/src/frontier_exploration/exploration_server/src/exploration_server.cpp:33:93: required from here
/usr/include/boost/smart_ptr/make_shared_object.hpp:254:5: error: no matching function for call to ‘costmap_2d::Costmap2DROS::Costmap2DROS(const char [16], tf2_ros::Buffer&)’
::new( pv ) T( boost::detail::sp_forward( args )... );
^
In file included from /home/aron/catkin_ws/src/frontier_exploration/exploration_server/include/exploration_server/base_plugin.h:7:0,
from /home/aron/catkin_ws/src/frontier_exploration/exploration_server/include/exploration_server/exploration_server.h:4,
from /home/aron/catkin_ws/src/frontier_exploration/exploration_server/src/exploration_server.cpp:1:
/opt/ros/kinetic/include/costmap_2d/costmap_2d_ros.h:80:3: note: candidate: costmap_2d::Costmap2DROS::Costmap2DROS(std::__cxx11::string, tf::TransformListener&)
Costmap2DROS(std::string name, tf::TransformListener& tf);
^
/opt/ros/kinetic/include/costmap_2d/costmap_2d_ros.h:80:3: note: no known conversion for argument 2 from ‘tf2_ros::Buffer’ to ‘tf::TransformListener&’
[ 90%] Linking CXX shared library /home/aron/catkin_ws/devel/lib/libexample_plugin.so
frontier_exploration/exploration_server/CMakeFiles/exploration_server.dir/build.make:62: recipe for target 'frontier_exploration/exploration_server/CMakeFiles/exploration_server.dir/src/exploration_server.cpp.o' failed
make[2]: *** [frontier_exploration/exploration_server/CMakeFiles/exploration_server.dir/src/exploration_server.cpp.o] Error 1
CMakeFiles/Makefile2:4955: recipe for target 'frontier_exploration/exploration_server/CMakeFiles/exploration_server.dir/all' failed
make[1]: *** [frontier_exploration/exploration_server/CMakeFiles/exploration_server.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
[ 90%] Built target example_plugin
Makefile:160: recipe for target 'all' failed
make: *** [all] Error 2
Invoking "make -j12 -l12" failed

segfault on BoundedExploreLayer::nearestCell()

While testing the package with my Gazebo simulation, it always crashes with the following backtrace. It always crashes on the exact moment that the robot crosses into the area selected in RViz.

Program received signal SIGSEGV, Segmentation fault.
0x00007fffd4a66210 in frontier_exploration::BoundedExploreLayer::nearestCell(unsigned int&, unsigned int, unsigned char, unsigned char const*) () from /home/martin/ros-hydro-ws/devel/lib//libexplore_costmap.so
(gdb) bt
#0  0x00007fffd4a66210 in frontier_exploration::BoundedExploreLayer::nearestCell(unsigned int&, unsigned int, unsigned char, unsigned char const*) () from /home/martin/ros-hydro-ws/devel/lib//libexplore_costmap.so
#1  0x00007fffd4a653e7 in frontier_exploration::BoundedExploreLayer::findFrontiers(geometry_msgs::Point_<std::allocator<void> >, costmap_2d::Costmap2D*) () from /home/martin/ros-hydro-ws/devel/lib//libexplore_costmap.so
#2  0x00007fffd4a6464f in frontier_exploration::BoundedExploreLayer::getNextFrontier(geometry_msgs::PoseStamped_<std::allocator<void> >, geometry_msgs::PoseStamped_<std::allocator<void> >&) ()
   from /home/martin/ros-hydro-ws/devel/lib//libexplore_costmap.so
#3  0x00007fffd4a641d7 in frontier_exploration::BoundedExploreLayer::getNextFrontierService(frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >&, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> >&)
    () from /home/martin/ros-hydro-ws/devel/lib//libexplore_costmap.so
#4  0x00007fffd4a90191 in boost::_mfi::mf2<bool, frontier_exploration::BoundedExploreLayer, frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >&, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> >&>::operator()(frontier_exploration::BoundedExploreLayer*, frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >&, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> >&) const ()
   from /home/martin/ros-hydro-ws/devel/lib//libexplore_costmap.so
#5  0x00007fffd4a8e117 in bool boost::_bi::list3<boost::_bi::value<frontier_exploration::BoundedExploreLayer*>, boost::arg<1>, boost::arg<2> >::operator()<bool, boost::_mfi::mf2<bool, frontier_exploration::BoundedExploreLayer, frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >&, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> >&>, boost::_bi::list2<frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >&, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> >&> >(boost::_bi::type<bool>, boost::_mfi::mf2<bool, frontier_exploration::BoundedExploreLayer, frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >&, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> >&>&, boost::_bi::list2<frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >&, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> >&>&, long) ()
   from /home/martin/ros-hydro-ws/devel/lib//libexplore_costmap.so
#6  0x00007fffd4a8c55c in bool boost::_bi::bind_t<bool, boost::_mfi::mf2<bool, frontier_exploration::BoundedExploreLayer, frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >&, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> >&>, boost::_bi::list3<boost::_bi::value<frontier_exploration::BoundedExploreLayer*>, boost::arg<1>, boost::arg<2> > >::operator()<frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> > >(frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >&, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> >&) ()
   from /home/martin/ros-hydro-ws/devel/lib//libexplore_costmap.so
#7  0x00007fffd4a89937 in boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::_mfi::mf2<bool, frontier_exploration::BoundedExploreLayer, frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >&, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> >&>, boost::_bi::list3<boost::_bi::value<frontier_exploration::BoundedExploreLayer*>, boost::arg<1>, boost::arg<2> > >, bool, frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >&, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> >&>::invoke(boost::detail::function::function_buffer&, frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >&, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> >&) () from /home/martin/ros-hydro-ws/devel/lib//libexplore_costmap.so
#8  0x00007fffd4a97a74 in boost::function2<bool, frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >&, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> >&>::operator()(frontier_exploration::GetNextFron
tierRequest_<std::allocator<void> >&, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> >&) const () from /home/martin/ros-hydro-ws/devel/lib//libexplore_costmap.so
#9  0x00007fffd4a96b8f in ros::ServiceSpec<frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> > >::call(boost::function<bool (frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >&, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> >&)> const&, ros::ServiceSpecCallParams<frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> > >&) () from /home/martin/ros-hydro-ws/devel/lib//libexplore_costmap.so
#10 0x00007fffd4a951cc in ros::ServiceCallbackHelperT<ros::ServiceSpec<frontier_exploration::GetNextFrontierRequest_<std::allocator<void> >, frontier_exploration::GetNextFrontierResponse_<std::allocator<void> > > >::call(ros::ServiceCallbackHelperCallParams&) () from /home/martin/ros-hydro-ws/devel/lib//libexplore_costmap.so
#11 0x00007ffff740c978 in ros::ServiceCallback::call() () from /opt/ros/hydro/lib/libroscpp.so
#12 0x00007ffff744e349 in ros::CallbackQueue::callOneCB(ros::CallbackQueue::TLS*) () from /opt/ros/hydro/lib/libroscpp.so
#13 0x00007ffff744fe0b in ros::CallbackQueue::callAvailable(ros::WallDuration) () from /opt/ros/hydro/lib/libroscpp.so
#14 0x00007ffff749d0f8 in ros::SingleThreadedSpinner::spin(ros::CallbackQueue*) () from /opt/ros/hydro/lib/libroscpp.so
#15 0x00007ffff7482d7b in ros::spin() () from /opt/ros/hydro/lib/libroscpp.so
#16 0x00000000004c6f6b in main ()

Steps to reproduce:

roslaunch kurt_gazebo kurt_avz_world.launch
roslaunch kurt_navigation_slam slam_gmapping.xml
roslaunch kurt_navigation_slam move_base.xml
roslaunch frontier_exploration global_map.launch

(This is using our kurt_driver and kurt_apps stacks, both on GitHub + ROS wiki.)

Here's the global_map.launch that I used.

why should we do this when searching free cell

i have a little bit of confusion about line 61 in frontier_search.cpp
map_[nbr] <= map_[idx]
We have found the variable idx ,it is the FREE_SPACE that is nearest to the start. nbr is the nhood4 for idx.
On my opinion.it should be map_[nbr] < INSCRIBED_INFLATED_OBSTACLE not map_[nbr] <= map_[idx]
if we wanna search the free cell from the idx,because the cost values between 0 to 253 is free,is that right?
I am not sure,I am looking forward to your reply,thank you !

Footprint filter

Need to filter out goals that fall inside robot footprint, behaves poorly with some local planners.

Failed reaching frontiers

I have a strange problem, my robot starts to explore, finds frontiers and starts to navigate to the frontiers in the correct order starting with the nearest. At some points the robot navigates to the point which is marked as frontier, reaches the point but it looks like the callback does not recognize the point as reached. The robot stands still but driving forward manually and let the robot navigate back to the frontier mostly solves the problem.
May this failure belongs to the move_base node or to the frontier exploration node?

melodic failed to request goal

Hi,
I'm running melodic, properly setup navigation stack, latest melodic-devel branch
I'm trying to use the point-click tool from Rviz and I find an issue very similar to #41

However it happens later on after polygon is generated.

       [WARN] [1558978984.946517955, 746.901000000]: Please select an initial point for exploration inside the polygon
       [ INFO] [1558978987.503531121, 749.439000000]: Sending goal
       [ INFO] [1558978987.514613285, 749.447000000]: Updating polygon
       [ INFO] [1558978987.514674446, 749.447000000]: Requesting a goal
       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

My explore_costmap params look like this:

       #must match incoming static map
        global_frame: map
        robot_base_frame: base_link
        resolution: 0.05

        rolling_window: false
        track_unknown_space: true

        plugins:

            - {name: static,           type: "costmap_2d::StaticLayer"}
            - {name: polygon_layer,    type: "polygon_layer::PolygonLayer"}
            #Can disable sensor layer if gmapping is fast enough to update scans
            - {name: sensor,           type: "costmap_2d::ObstacleLayer"}
            - {name: inflation,        type: "costmap_2d::InflationLayer"}

        static:
            #Can pull data from gmapping, map_server or a non-rolling costmap
            # map_topic: /map
            map_topic: move_base/global_costmap/costmap
            subscribe_to_updates: true

        polygon_layer:
            resize_to_polygon: true

Any advice for debugging direction?

ROS Melodic compilation

Hello,

I'm trying to compile it with ROS melodic, I'm using the melodic-devel branch. But I'm getting the following error:

[ 98%] Building CXX object all_lib/frontier_exploration/CMakeFiles/explore_server.dir/src/explore_server.cpp.o /home/simulations/lib_ws/src/all_lib/frontier_exploration/src/explore_server.cpp: In constructor ‘frontier_exploration::FrontierExplorationServer::FrontierExplorationServer(std::__cxx11::string)’: /home/simulations/lib_ws/src/all_lib/frontier_exploration/src/explore_server.cpp:46:136: error: no matching function for call to ‘costmap_2d::Costmap2DROS::Costmap2DROS(const char [16], tf::TransformListener&)’ explore_costmap_ros_ = boost::shared_ptr<costmap_2d::Costmap2DROS>(new costmap_2d::Costmap2DROS("explore_costmap", tf_listener_)); ^ In file included from /home/simulations/lib_ws/src/all_lib/frontier_exploration/src/explore_server.cpp:4:0: /opt/ros/melodic/include/costmap_2d/costmap_2d_ros.h:82:3: note: candidate: costmap_2d::Costmap2DROS::Costmap2DROS(const string&, tf2_ros::Buffer&) Costmap2DROS(const std::string &name, tf2_ros::Buffer& tf); ^~~~~~~~~~~~ /opt/ros/melodic/include/costmap_2d/costmap_2d_ros.h:82:3: note: no known conversion for argument 2 from ‘tf::TransformListener’ to ‘tf2_ros::Buffer&’ /home/simulations/lib_ws/src/all_lib/frontier_exploration/src/explore_server.cpp: In member function ‘void frontier_exploration::FrontierExplorationServer::executeCb(const ExploreTaskGoalConstPtr&)’: /home/simulations/lib_ws/src/all_lib/frontier_exploration/src/explore_server.cpp:116:58: error: no matching function for call to ‘costmap_2d::Costmap2DROS::getRobotPose(tf::Stamped<tf::Transform>&)’ explore_costmap_ros_->getRobotPose(robot_pose); ^ In file included from /home/simulations/lib_ws/src/all_lib/frontier_exploration/src/explore_server.cpp:4:0: /opt/ros/melodic/include/costmap_2d/costmap_2d_ros.h:125:8: note: candidate: bool costmap_2d::Costmap2DROS::getRobotPose(geometry_msgs::PoseStamped&) const bool getRobotPose(geometry_msgs::PoseStamped& global_pose) const; ^~~~~~~~~~~~ /opt/ros/melodic/include/costmap_2d/costmap_2d_ros.h:125:8: note: no known conversion for argument 1 from ‘tf::Stamped<tf::Transform>’ to ‘geometry_msgs::PoseStamped& {aka geometry_msgs::PoseStamped_<std::allocator<void> >&}’ all_lib/frontier_exploration/CMakeFiles/explore_server.dir/build.make:62: recipe for target 'all_lib/frontier_exploration/CMakeFiles/explore_server.dir/src/explore_server.cpp.o' failed make[2]: *** [all_lib/frontier_exploration/CMakeFiles/explore_server.dir/src/explore_server.cpp.o] Error 1 CMakeFiles/Makefile2:15069: recipe for target 'all_lib/frontier_exploration/CMakeFiles/explore_server.dir/all' failed make[1]: *** [all_lib/frontier_exploration/CMakeFiles/explore_server.dir/all] Error 2 Makefile:140: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j1" failed

Is it missing a dependency?

Thanks!

Illegal bounds change

Hello @paulbovbel ,

I tried follwing the documentation in ROS WIKI to run froniter exploration, but when i try running it I am getting the follwoing error:

[ WARN] [1498586157.959931982, 1836.780000000]: Illegal bounds change, was [tl: (-99.975000, -99.975000), br: (100.025003, 100.025003)], but is now [tl: (-100.000000, -100.000000), br: (99.975003, 99.975003)]. The offending layer is explore_costmap/explore_boundary

I tired to debug it, but I was not able to do it. Can you help me sovle this?

Thanks.

bounded exploration not working

Hi,

when I start the exploration.launch file within a labyrinth where my turtlebot3 spawned. I create a polygon using the publish point. However, after fully exploring that polygon. The turtlebot3 continues exploring the rest of the labyrinth (and the endless open space as soon as it finds the exit). How can I set to only explore the space within the polygon?

Thanks in advance!

Release to Kinetic

Hi,

Do you have any plans on releasing this on Kinetic as a prebuilt binary package?

Thanks in advance.

Plugin Issue

Seems that frontier_exploration::BoundedExploreLayer refuses to work.

[ INFO] [1556071613.786979233]: Resizing costmap to 145 X 175 at 0.050000 m/pix [ INFO] [1556071613.886355032]: Received a 145 X 175 map at 0.050000 m/pix [ INFO] [1556071613.900507311]: Using plugin "obstacles_laser" [ INFO] [1556071613.909553321]: Subscribed to Topics: laser [ INFO] [1556071613.989898968]: Using plugin "inflation" [ INFO] [1556071614.019334182]: Using plugin "explore_boundary" terminate called after throwing an instance of 'pluginlib::LibraryLoadException' what(): According to the loaded plugin descriptions the class frontier_exploration::BoundedExploreLayer with base class type costmap_2d::Layer does not exist. Declared types are costmap_2d::InflationLayer costmap_2d::ObstacleLayer costmap_2d::StaticLayer costmap_2d::VoxelLayer polygon_layer::PolygonLayer rtabmap_ros::StaticLayer

how to compute frontier

Hi,
How can you compute the frontier in your implementation? I mean, do you calculate the distance of every frontier cell to the robot location or you just group the frontier cells and calculate the centroid of cell groups to the robot?
Many thanks!

memory leak melodic release

image

hi, I was able to successfully build the package for melodic ROS. I was trying to run the basic implementation on Stage simulator when I am getting the above error. Possibly a memory leak or maybe something I am doing wrong. Is there any documentation for melodic-devel or tutorials of any sort that might help.
Thanks.

Not moving after draw marker with melodic

Hello guys
I'm quite new in ros and encountered some problem when I try frontier_exploration.
I got the error after finish the drawing like this :
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

I have also tried #47 this solution but still not move

I am using Jackal_simulation to do this.
thank you

How to load a map in the frontier_exploration for the resumption of the frontier_exploration in uncharted areas

On the first day, using frontier_exploration, I create a corridor map and save it via map_saver.
On the second day, I need to load the map into the frontier_exploration and continue creating the map in the unexplored rooms.
If I upload a map to frontier_exploration using map_saver, it will simply be erased.
How to save a map from frontier_exploration so that it can be loaded back into it and continue research in unknown areas?

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]

i have solved the previous issue but now it is giving the following error when i launch the launch file
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]

ROS2 Port.

Hi Paul,

The second commit includes the entire indigo-devel branch ported to ROS2. I chose to do this so that I could get the basic program working. I will look into porting the melodic branch soon along with any changes/upgrades.
Please let me know if you have anything in mind and if you have any desired changes.

I will include a turtlebot4 demo in the next commit for this package so as to facilitate it's use.

Error in `/opt/ros/kinetic/lib/frontier_exploration/explore_server': munmap_chunk(): invalid pointer: 0x0000000000cde020

Hi @paulbovbel,

I am using your package for exploration in simulation with Gazebo. Instead of setting the boundary region by hand through rviz, I have written a service that reads in width, height etc from the /map_metadata topic and then publishes the corner points (the map's vertices, plus one interior point) to the /clicked_point topic. Essentially I want to automate the exploration procedure. When i call my service, three times out of four the explorer crashes with the following message:

[ WARN] [1538132555.536172600, 226.917000000]: Please select an initial point for exploration inside the polygon [ INFO] [1538132555.769769780, 227.146000000]: Sending goal [ INFO] [1538132555.795009297, 227.170000000]: Region boundary set [ WARN] [1538132555.955437449, 227.328000000]: Illegal bounds change, was [tl: (0.012500, 0.012500), br: (24.012500, 12.812500)], but is now [tl: (0.000000, 0.000000), br: (23.987500, 12.787500)]. The offending layer is explore_costmap/explore_boundary [ERROR] [1538132555.998780239, 227.370000000]: **Exception thrown while processing service call: boost: mutex lock failed in pthread_mutex_lock: Invalid argument** [ INFO] [1538132555.999889567, 227.370000000]: [sbpl_lattice_planner] getting start point (12.1924,12.1581) goal point (12.0375,11.9875) [ERROR] [1538132556.297255889, 227.672000000]: received a tcpros connection for a nonexistent service [/explore_server/explore_costmap/explore_boundary/get_next_frontier]. [ERROR] [1538132556.298650908, 227.672000000]: received a tcpros connection for a nonexistent service [/explore_server/explore_costmap/explore_boundary/get_next_frontier]. [ERROR] [1538132556.299545601, 227.673000000]: received a tcpros connection for a nonexistent service [/explore_server/explore_costmap/explore_boundary/get_next_frontier]. [ERROR] [1538132556.301401941, 227.675000000]: received a tcpros connection for a nonexistent service [/explore_server/explore_costmap/explore_boundary/get_next_frontier]. [ERROR] [1538132556.303888543, 227.677000000]: received a tcpros connection for a nonexistent service [/explore_server/explore_costmap/explore_boundary/get_next_frontier]. [ERROR] [1538132556.304975741, 227.678000000]: received a tcpros connection for a nonexistent service [/explore_server/explore_costmap/explore_boundary/get_next_frontier]. [ WARN] [1538132556.305275967, 227.678000000]: Finished exploring room

When I Ctrl-C, the following is printed:

^C[rviz-16] killing on exit [marker_replacement_node-15] killing on exit [explore_server-14] killing on exit [move_base-12] killing on exit [explore_client-13] killing on exit [kobuki_safety_controller-11] killing on exit [navigation_velocity_smoother-10] killing on exit [amcl-9] killing on exit [robot_state_publisher-8] killing on exit [cmd_vel_mux-7] killing on exit [mobile_base_nodelet_manager-6] killing on exit [gazebo_gui-4] killing on exit *** **Error in /opt/ros/kinetic/lib/frontier_exploration/explore_server': munmap_chunk(): invalid pointer:** 0x0000000000cde020 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7fe84239c7e5]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x1a8)[0x7fe8423a9698]
/opt/ros/kinetic/lib/libroscpp.so(_ZN3ros11PublicationD2Ev+0x2c5)[0x7fe843d174e5]
/opt/ros/kinetic/lib/libroscpp.so(_ZN5boost6detail18sp_counted_impl_pdIPN3ros11PublicationENS0_13sp_ms_deleterIS3_EEE7disposeEv+0x1d)[0x7fe843d0bedd]
/opt/ros/kinetic/lib/libroscpp.so(+0xc8faa)[0x7fe843d01faa]
/opt/ros/kinetic/lib/libroscpp.so(_ZN3ros12TopicManager8shutdownEv+0x380)[0x7fe843d060c0]
/opt/ros/kinetic/lib/libroscpp.so(_ZN3ros8shutdownEv+0xd9)[0x7fe843d676e9]
/opt/ros/kinetic/lib/libroscpp.so(_ZN3ros16checkForShutdownEv+0x59)[0x7fe843d677f9]
/opt/ros/kinetic/lib/libroscpp.so(_ZN5boost8signals26detail11signal_implIFvvENS0_19optional_last_valueIvEEiSt4lessIiENS_8functionIS3_EENS8_IFvRKNS0_10connectionEEEENS0_5mutexEEclEv+0x1ba)[0x7fe843d1269a]
/opt/ros/kinetic/lib/libroscpp.so(_ZN3ros11PollManager10threadFuncEv+0x54)[0x7fe843d0eae4]
/usr/lib/x86_64-linux-gnu/libboost_thread.so.1.58.0(+0x115d5)[0x7fe8431be5d5]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x76ba)[0x7fe842f976ba]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7fe84242c41d]
======= Memory map: ========
00400000-0048e000 r-xp 00000000 08:01 6034808 /opt/ros/kinetic/lib/frontier_exploration/explore_server
0068d000-0068e000 r--p 0008d000 08:01 6034808 /opt/ros/kinetic/lib/frontier_exploration/explore_server
0068e000-0068f000 rw-p 0008e000 08:01 6034808 /opt/ros/kinetic/lib/frontier_exploration/explore_server
0068f000-00690000 rw-p 00000000 00:00 0
0071a000-00f14000 rw-p 00000000 00:00 0 [heap]
7fe808000000-7fe808080000 rw-p 00000000 00:00 0
7fe808080000-7fe80c000000 ---p 00000000 00:00 0
7fe810000000-7fe810021000 rw-p 00000000 00:00 0
7fe810021000-7fe814000000 ---p 00000000 00:00 0
7fe814000000-7fe814745000 rw-p 00000000 00:00 0
7fe814745000-7fe818000000 ---p 00000000 00:00 0
7fe818000000-7fe818021000 rw-p 00000000 00:00 0
7fe818021000-7fe81c000000 ---p 00000000 00:00 0
7fe81c000000-7fe81c08d000 rw-p 00000000 00:00 0
7fe81c08d000-7fe820000000 ---p 00000000 00:00 0
7fe820000000-7fe820021000 rw-p 00000000 00:00 0
7fe820021000-7fe824000000 ---p 00000000 00:00 0
7fe824000000-7fe8240bb000 rw-p 00000000 00:00 0
7fe8240bb000-7fe828000000 ---p 00000000 00:00 0
7fe828466000-7fe828467000 ---p 00000000 00:00 0
7fe828467000-7fe828c67000 rw-p 00000000 00:00 0
7fe828c67000-7fe828c68000 ---p 00000000 00:00 0
7fe828c68000-7fe829468000 rw-p 00000000 00:00 0
7fe829468000-7fe829469000 ---p 00000000 00:00 0
7fe829469000-7fe829c69000 rw-p 00000000 00:00 0
7fe829c69000-7fe829c6a000 ---p 00000000 00:00 0
7fe829c6a000-7fe82a46a000 rw-p 00000000 00:00 0
7fe82a46a000-7fe82a4ba000 r-xp 00000000 08:01 6034839 /opt/ros/kinetic/lib/libexplore_costmap.so
7fe82a4ba000-7fe82a6b9000 ---p 00050000 08:01 6034839 /opt/ros/kinetic/lib/libexplore_costmap.so
7fe82a6b9000-7fe82a6bc000 r--p 0004f000 08:01 6034839 /opt/ros/kinetic/lib/libexplore_costmap.so
7fe82a6bc000-7fe82a6bd000 rw-p 00052000 08:01 6034839 /opt/ros/kinetic/lib/libexplore_costmap.so
7fe82a6bd000-7fe82a6c1000 r-xp 00000000 08:01 6031806 /opt/ros/kinetic/lib/libvoxel_grid.so
7fe82a6c1000-7fe82a8c0000 ---p 00004000 08:01 6031806 /opt/ros/kinetic/lib/libvoxel_grid.so
7fe82a8c0000-7fe82a8c1000 r--p 00003000 08:01 6031806 /opt/ros/kinetic/lib/libvoxel_grid.so
7fe82a8c1000-7fe82a8c2000 rw-p 00004000 08:01 6031806 /opt/ros/kinetic/lib/libvoxel_grid.so
7fe82a8c2000-7fe82a8c6000 r-xp 00000000 08:01 6032153 /opt/ros/kinetic/lib/libmessage_filters.so
7fe82a8c6000-7fe82aac5000 ---p 00004000 08:01 6032153 /opt/ros/kinetic/lib/libmessage_filters.so
7fe82aac5000-7fe82aac6000 r--p 00003000 08:01 6032153 /opt/ros/kinetic/lib/libmessage_filters.so
7fe82aac6000-7fe82aac7000 rw-p 00004000 08:01 6032153 /opt/ros/kinetic/lib/libmessage_filters.so
7fe82aac7000-7fe82aad8000 r-xp 00000000 08:01 6031801 /opt/ros/kinetic/lib/liblaser_geometry.so
7fe82aad8000-7fe82acd8000 ---p 00011000 08:01 6031801 /opt/ros/kinetic/lib/liblaser_geometry.so
7fe82acd8000-7fe82acd9000 r--p 00011000 08:01 6031801 /opt/ros/kinetic/lib/liblaser_geometry.so
7fe82acd9000-7fe82acda000 rw-p 00012000 08:01 6031801 /opt/ros/kinetic/lib/liblaser_geometry.so
7fe82acda000-7fe82adf4000 r-xp 00000000 08:01 6031837 /opt/ros/kinetic/lib/liblayers.so
7fe82adf4000-7fe82aff4000 ---p 0011a000 08:01 6031837 /opt/ros/kinetic/lib/liblayers.so
7fe82aff4000-7fe82affb000 r--p 0011a000 08:01 6031837 /opt/ros/kinetic/lib/liblayers.so
7fe82affb000-7fe82affd000 rw-p 00121000 08:01 6031837 /opt/ros/kinetic/lib/liblayers.so
7fe82affd000-7fe82affe000 rw-p 00000000 00:00 0
7fe82affe000-7fe82afff000 ---p 00000000 00:00 0
7fe82afff000-7fe82b7ff000 rw-p 00000000 00:00 0
7fe82b7ff000-7fe82b800000 ---p 00000000 00:00 0
7fe82b800000-7fe82c000000 rw-p 00000000 00:00 0
7fe82c000000-7fe82c021000 rw-p 00000000 00:00 0
7fe82c021000-7fe830000000 ---p 00000000 00:00 0
7fe830000000-7fe830021000 rw-p 00000000 00:00 0
7fe830021000-7fe834000000 ---p 00000000 00:00 0
7fe834000000-7fe83408b000 rw-p 00000000 00:00 0
7fe83408b000-7fe838000000 ---p 00000000 00:00 0
7fe8381a1000-7fe8381ac000 r-xp 00000000 08:01 2626083 /lib/x86_64-linux-gnu/libnss_nis-2.23.so
7fe8381ac000-7fe8383ab000 ---p 0000b000 08:01 2626083 /lib/x86_64-linux-gnu/libnss_nis-2.23.so
7fe8383ab000-7fe8383ac000 r--p 0000a000 08:01 2626083 /lib/x86_64-linux-gnu/libnss_nis-2.23.so
7fe8383ac000-7fe8383ad000 rw-p 0000b000 08:01 2626083 /lib/x86_64-linux-gnu/libnss_nis-2.23.so
7fe8383ad000-7fe8383c3000 r-xp 00000000 08:01 2626067 /lib/x86_64-linux-gnu/libnsl-2.23.so
7fe8383c3000-7fe8385c2000 ---p 00016000 08:01 2626067 /lib/x86_64-linux-gnu/libnsl-2.23.so
7fe8385c2000-7fe8385c3000 r--p 00015000 08:01 2626067 /lib/x86_64-linux-gnu/libnsl-2.23.so
7fe8385c3000-7fe8385c4000 rw-p 00016000 08:01 2626067 /lib/x86_64-linux-gnu/libnsl-2.23.so
7fe8385c4000-7fe8385c6000 rw-p 00000000 00:00 0
7fe8385c6000-7fe8385ce000 r-xp 00000000 08:01 2626069 /lib/x86_64-linux-gnu/libnss_compat-2.23.so
7fe8385ce000-7fe8387cd000 ---p 00008000 08:01 2626069 /lib/x86_64-linux-gnu/libnss_compat-2.23.so
7fe8387cd000-7fe8387ce000 r--p 00007000 08:01 2626069 /lib/x86_64-linux-gnu/libnss_compat-2.23.so
7fe8387ce000-7fe8387cf000 rw-p 00008000 08:01 2626069 /lib/x86_64-linux-gnu/libnss_compat-2.23.so
7fe8387cf000-7fe8387d0000 ---p 00000000 00:00 0
7fe8387d0000-7fe838fd0000 rw-p 00000000 00:00 0
7fe838fd0000-7fe838fd1000 ---p 00000000 00:00 0
7fe838fd1000-7fe8397d1000 rw-p 00000000 00:00 0
7fe8397d1000-7fe8397d2000 ---p 00000000 00:00 0
7fe8397d2000-7fe839fd2000 rw-p 00000000 00:00 0
7fe839fd2000-7fe839fd3000 ---p 00000000 00:00 0
7fe839fd3000-7fe83a7d3000 rw-p 00000000 00:00 0
7fe83a7d3000-7fe83a7d4000 ---p 00000000 00:00 0
7fe83a7d4000-7fe83afd4000 rw-p 00000000 00:00 0
7fe83afd4000-7fe83afdf000 r-xp 00000000 08:01 2626073 /lib/x86_64-linux-gnu/libnss_files-2.23.so
7fe83afdf000-7fe83b1de000 ---p 0000b000 08:01 2626073 /lib/x86_64-linux-gnu/libnss_files-2.23.so
7fe83b1de000-7fe83b1df000 r--p 0000a000 08:01 2626073 /lib/x86_64-linux-gnu/libnss_files-2.23.so
7fe83b1df000-7fe83b1e0000 rw-p 0000b000 08:01 2626073 /lib/x86_64-linux-gnu/libnss_files-2.23.so
7fe83b1e0000-7fe83b1e6000 rw-p 00000000 00:00 0
7fe83b1e6000-7fe83b1e8000 r-xp 00000000 08:01 2626155 /lib/x86_64-linux-gnu/libutil-2.23.so
7fe83b1e8000-7fe83b3e7000 ---p 00002000 08:01 2626155 /lib/x86_64-linux-gnu/libutil-2.23.so
7fe83b3e7000-7fe83b3e8000 r--p 00001000 08:01 2626155 /lib/x86_64-linux-gnu/libutil-2.23.so
7fe83b3e8000-7fe83b3e9000 rw-p 00002000 08:01 2626155 /lib/x86_64-linux-gnu/libutil-2.23.so
7fe83b3e9000-7fe83cc9f000 r-xp 00000000 08:01 14815226 /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7fe83cc9f000-7fe83ce9e000 ---p 018b6000 08:01 14815226 /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7fe83ce9e000-7fe83ce9f000 r--p 018b5000 08:01 14815226 /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7fe83ce9f000-7fe83cea0000 rw-p 018b6000 08:01 14815226 /usr/lib/x86_64-linux-gnu/libicudata.so.55.1
7fe83cea0000-7fe83cec6000 r-xp 00000000 08:01 2626005 /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7fe83cec6000-7fe83d0c6000 ---p 00026000 08:01 2626005 /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7fe83d0c6000-7fe83d0c8000 r--p 00026000 08:01 2626005 /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7fe83d0c8000-7fe83d0c9000 rw-p 00028000 08:01 2626005 /lib/x86_64-linux-gnu/libexpat.so.1.6.0
7fe83d0c9000-7fe83d0d2000 r-xp 00000000 08:01 2625984 /lib/x86_64-linux-gnu/libcrypt-2.23.so
7fe83d0d2000-7fe83d2d1000 ---p 00009000 08:01 2625984 /lib/x86_64-linux-gnu/libcrypt-2.23.so
7fe83d2d1000-7fe83d2d2000 r--p 00008000 08:01 2625984 /lib/x86_64-linux-gnu/libcrypt-2.23.so
7fe83d2d2000-7fe83d2d3000 rw-p 00009000 08:01 2625984 /lib/x86_64-linux-gnu/libcrypt-2.23.so
7fe83d2d3000-7fe83d301000 rw-p 00000000 00:00 0
7fe83d301000-7fe83d305000 r-xp 00000000 08:01 2621526 /lib/x86_64-linux-gnu/libuuid.so.1.3.0
7fe83d305000-7fe83d504000 ---p 00004000 08:01 2621526 /lib/x86_64-linux-gnu/libuuid.so.1.3.0
7fe83d504000-7fe83d505000 r--p 00003000 08:01 2621526 /lib/x86_64-linux-gnu/libuuid.so.1.3.0
7fe83d505000-7fe83d506000 rw-p 00004000 08:01 2621526 /lib/x86_64-linux-gnu/libuuid.so.1.3.0
7fe83d506000-7fe83d7f8000 r-xp 00000000 08:01 14819976 /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
7fe83d7f8000-7fe83d9f8000 ---p 002f2000 08:01 14819976 /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
7fe83d9f8000-7fe83d9fa000 r--p 002f2000 08:01 14819976 /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
7fe83d9fa000-7fe83da71000 rw-p 002f4000 08:01 14819976 /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
7fe83da71000-7fe83da94000 rw-p 00000000 00:00 0
7fe83da94000-7fe83db0e000 r-xp 00000000 08:01 14814698 /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.58.0
7fe83db0e000-7fe83dd0e000 ---p 0007a000 08:01 14814698 /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.58.0
7fe83dd0e000-7fe83dd11000 r--p 0007a000 08:01 14814698 /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.58.0
7fe83dd11000-7fe83dd12000 rw-p 0007d000 08:01 14814698 /usr/lib/x86_64-linux-gnu/libboost_program_options.so.1.58.0
7fe83dd12000-7fe83dd26000 r-xp 00000000 08:01 14814268 /usr/lib/x86_64-linux-gnu/libtinyxml.so.2.6.2
7fe83dd26000-7fe83df26000 ---p 00014000 08:01 14814268 /usr/lib/x86_64-linux-gnu/libtinyxml.so.2.6.2
7fe83df26000-7fe83df27000 r--p 00014000 08:01 14814268 /usr/lib/x86_64-linux-gnu/libtinyxml.so.2.6.2
7fe83df27000-7fe83df28000 rw-p 00015000 08:01 14814268 /usr/lib/x86_64-linux-gnu/libtinyxml.so.2.6.2
7fe83df28000-7fe83df41000 r-xp 00000000 08:01 2626165 /lib/x86_64-linux-gnu/libz.so.1.2.8
7fe83df41000-7fe83e140000 ---p 00019000 08:01 2626165 /lib/x86_64-linux-gnu/libz.so.1.2.8
7fe83e140000-7fe83e141000 r--p 00018000 08:01 2626165 /lib/x86_64-linux-gnu/libz.so.1.2.8
7fe83e141000-7fe83e142000 rw-p 00019000 08:01 2626165 /lib/x86_64-linux-gnu/libz.so.1.2.8
7fe83e142000-7fe83e1b0000 r-xp 00000000 08:01 2626103 /lib/x86_64-linux-gnu/libpcre.so.3.13.2
7fe83e1b0000-7fe83e3b0000 ---p 0006e000 08:01 2626103 /lib/x86_64-linux-gnu/libpcre.so.3.13.2
7fe83e3b0000-7fe83e3b1000 r--p 0006e000 08:01 2626103 /lib/x86_64-linux-gnu/libpcre.so.3.13.2
7fe83e3b1000-7fe83e3b2000 rw-p 0006f000 08:01 2626103 /lib/x86_64-linux-gnu/libpcre.so.3.13.2
7fe83e3b2000-7fe83e3b5000 r-xp 00000000 08:01 2625998 /lib/x86_64-linux-gnu/libdl-2.23.so
7fe83e3b5000-7fe83e5b4000 ---p 00003000 08:01 2625998 /lib/x86_64-linux-gnu/libdl-2.23.so
7fe83e5b4000-7fe83e5b5000 r--p 00002000 08:01 2625998 /lib/x86_64-linux-gnu/libdl-2.23.so
7fe83e5b5000-7fe83e5b6000 rw-p 00003000 08:01 2625998 /lib/x86_64-linux-gnu/libdl-2.23.so
7fe83e5b6000-7fe83e735000 r-xp 00000000 08:01 14815230 /usr/lib/x86_64-linux-gnu/libicuuc.so.55.1
7fe83e735000-7fe83e935000 ---p 0017f000 08:01 14815230 /usr/lib/x86_64-linux-gnu/libicuuc.so.55.1
7fe83e935000-7fe83e945000 r--p 0017f000 08:01 14815230 /usr/lib/x86_64-linux-gnu/libicuuc.so.55.1
7fe83e945000-7fe83e946000 rw-p 0018f000 08:01 14815230 /usr/lib/x86_64-linux-gnu/libicuuc.so.55.1
7fe83e946000-7fe83e94a000 rw-p 00000000 00:00 0
7fe83e94a000-7fe83eb9c000 r-xp 00000000 08:01 14815227 /usr/lib/x86_64-linux-gnu/libicui18n.so.55.1
7fe83eb9c000-7fe83ed9c000 ---p 00252000 08:01 14815227 /usr/lib/x86_64-linux-gnu/libicui18n.so.55.1
7fe83ed9c000-7fe83edab000 r--p 00252000 08:01 14815227 /usr/lib/x86_64-linux-gnu/libicui18n.so.55.1
7fe83edab000-7fe83edac000 rw-p 00261000 08:01 14815227 /usr/lib/x86_64-linux-gnu/libicui18n.so.55.1
7fe83edac000-7fe83edd2000 r-xp 00000000 08:01 14821794 /usr/lib/x86_64-linux-gnu/libaprutil-1.so.0.5.4
7fe83edd2000-7fe83efd1000 ---p 00026000 08:01 14821794 /usr/lib/x86_64-linux-gnu/libaprutil-1.so.0.5.4
7fe83efd1000-7fe83efd2000 r--p 00025000 08:01 14821794 /usr/lib/x86_64-linux-gnu/libaprutil-1.so.0.5.4
7fe83efd2000-7fe83efd3000 rw-p 00026000 08:01 14821794 /usr/lib/x86_64-linux-gnu/libaprutil-1.so.0.5.4
7fe83efd3000-7fe83f004000 r-xp 00000000 08:01 14821780 /usr/lib/x86_64-linux-gnu/libapr-1.so.0.5.2
7fe83f004000-7fe83f203000 ---p 00031000 08:01 14821780 /usr/lib/x86_64-linux-gnu/libapr-1.so.0.5.2
7fe83f203000-7fe83f204000 r--p 00030000 08:01 14821780 /usr/lib/x86_64-linux-gnu/libapr-1.so.0.5.2
7fe83f204000-7fe83f205000 rw-p 00031000 08:01 14821780 /usr/lib/x86_64-linux-gnu/libapr-1.so.0.5.2
7fe83f205000-7fe83f246000 r-xp 00000000 08:01 6030055 /opt/ros/kinetic/lib/librospack.so
7fe83f246000-7fe83f445000 ---p 00041000 08:01 6030055 /opt/ros/kinetic/lib/librospack.so
7fe83f445000-7fe83f446000 r--p 00040000 08:01 6030055 /opt/ros/kinetic/lib/librospack.so
7fe83f446000-7fe83f447000 rw-p 00041000 08:01 6030055 /opt/ros/kinetic/lib/librospack.so
7fe83f447000-7fe83f596000 r-xp 00000000 08:01 14822505 /usr/lib/libPocoFoundation.so.9
7fe83f596000-7fe83f796000 ---p 0014f000 08:01 14822505 /usr/lib/libPocoFoundation.so.9
7fe83f796000-7fe83f79f000 r--p 0014f000 08:01 14822505 /usr/lib/libPocoFoundation.so.9
7fe83f79f000-7fe83f7a2000 rw-p 00158000 08:01 14822505 /usr/lib/libPocoFoundation.so.9
7fe83f7a2000-7fe83f7a3000 rw-p 00000000 00:00 0
7fe83f7a3000-7fe83f7c4000 r-xp 00000000 08:01 14811439 /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
7fe83f7c4000-7fe83f9c3000 ---p 00021000 08:01 14811439 /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
7fe83f9c3000-7fe83f9c4000 r--p 00020000 08:01 14811439 /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
7fe83f9c4000-7fe83f9c5000 rw-p 00021000 08:01 14811439 /usr/lib/x86_64-linux-gnu/libgomp.so.1.0.0
7fe83f9c5000-7fe83f9cc000 r-xp 00000000 08:01 2626128 /lib/x86_64-linux-gnu/librt-2.23.so
7fe83f9cc000-7fe83fbcb000 ---p 00007000 08:01 2626128 /lib/x86_64-linux-gnu/librt-2.23.so
7fe83fbcb000-7fe83fbcc000 r--p 00006000 08:01 2626128 /lib/x86_64-linux-gnu/librt-2.23.so
7fe83fbcc000-7fe83fbcd000 rw-p 00007000 08:01 2626128 /lib/x86_64-linux-gnu/librt-2.23.so
7fe83fbcd000-7fe83fcd0000 r-xp 00000000 08:01 14814699 /usr/lib/x86_64-linux-gnu/libboost_regex.so.1.58.0
7fe83fcd0000-7fe83fed0000 ---p 00103000 08:01 14814699 /usr/lib/x86_64-linux-gnu/libboost_regex.so.1.58.0
7fe83fed0000-7fe83fed4000 r--p 00103000 08:01 14814699 /usr/lib/x86_64-linux-gnu/libboost_regex.so.1.58.0
7fe83fed4000-7fe83fed5000 rw-p 00107000 08:01 14814699 /usr/lib/x86_64-linux-gnu/libboost_regex.so.1.58.0
7fe83fed5000-7fe840084000 r-xp 00000000 08:01 14822465 /usr/lib/x86_64-linux-gnu/liblog4cxx.so.10.0.0
7fe840084000-7fe840283000 ---p 001af000 08:01 14822465 /usr/lib/x86_64-linux-gnu/liblog4cxx.so.10.0.0
7fe840283000-7fe8402a9000 r--p 001ae000 08:01 14822465 /usr/lib/x86_64-linux-gnu/liblog4cxx.so.10.0.0
7fe8402a9000-7fe8402aa000 rw-p 001d4000 08:01 14822465 /usr/lib/x86_64-linux-gnu/liblog4cxx.so.10.0.0
7fe8402aa000-7fe8402ac000 rw-p 00000000 00:00 0
7fe8402ac000-7fe8402ad000 r-xp 00000000 08:01 6029691 /opt/ros/kinetic/lib/librosconsole_backend_interface.so
7fe8402ad000-7fe8404ac000 ---p 00001000 08:01 6029691 /opt/ros/kinetic/lib/librosconsole_backend_interface.so
7fe8404ac000-7fe8404ad000 r--p 00000000 08:01 6029691 /opt/ros/kinetic/lib/librosconsole_backend_interface.so
7fe8404ad000-7fe8404ae000 rw-p 00001000 08:01 6029691 /opt/ros/kinetic/lib/librosconsole_backend_interface.so
7fe8404ae000-7fe8404c4000 r-xp 00000000 08:01 6029696 /opt/ros/kinetic/lib/librosconsole_log4cxx.so
7fe8404c4000-7fe8406c4000 ---p 00016000 08:01 6029696 /opt/ros/kinetic/lib/librosconsole_log4cxx.so
7fe8406c4000-7fe8406c6000 r--p 00016000 08:01 6029696 /opt/ros/kinetic/lib/librosconsole_log4cxx.so
7fe8406c6000-7fe8406c7000 rw-p 00018000 08:01 6029696 /opt/ros/kinetic/lib/librosconsole_log4cxx.so
7fe8406c7000-7fe8406cd000 r-xp 00000000 08:01 14821888 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.58.0
7fe8406cd000-7fe8408cd000 ---p 00006000 08:01 14821888 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.58.0
7fe8408cd000-7fe8408ce000 r--p 00006000 08:01 14821888 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.58.0
7fe8408ce000-7fe8408cf000 rw-p 00007000 08:01 14821888 /usr/lib/x86_64-linux-gnu/libboost_chrono.so.1.58.0
7fe8408cf000-7fe8408d6000 r-xp 00000000 08:01 6029530 /opt/ros/kinetic/lib/libcpp_common.so
7fe8408d6000-7fe840ad5000 ---p 00007000 08:01 6029530 /opt/ros/kinetic/lib/libcpp_common.so
7fe840ad5000-7fe840ad6000 r--p 00006000 08:01 6029530 /opt/ros/kinetic/lib/libcpp_common.so
7fe840ad6000-7fe840ad7000 rw-p 00007000 08:01 6029530 /opt/ros/kinetic/lib/libcpp_common.so
7fe840ad7000-7fe840b09000 r-xp 00000000 08:01 6032376 /opt/ros/kinetic/lib/libtf2.so
7fe840b09000-7fe840d08000 ---p 00032000 08:01 6032376 /opt/ros/kinetic/lib/libtf2.so
7fe840d08000-7fe840d0a000 r--p 00031000 08:01 6032376 /opt/ros/kinetic/lib/libtf2.so
7fe840d0a000-7fe840d0b000 rw-p 00033000 08:01 6032376 /opt/ros/kinetic/lib/libtf2.so
7fe840d0b000-7fe840db0000 r-xp 00000000 08:01 6032380 /opt/ros/kinetic/lib/libtf2_ros.so
7fe840db0000-7fe840fb0000 ---p 000a5000 08:01 6032380 /opt/ros/kinetic/lib/libtf2_ros.so
7fe840fb0000-7fe840fb4000 r--p 000a5000 08:01 6032380 /opt/ros/kinetic/lib/libtf2_ros.so
7fe840fb4000-7fe840fb6000 rw-p 000a9000 08:01 6032380 /opt/ros/kinetic/lib/libtf2_ros.so
7fe840fb6000-7fe840fba000 r-xp 00000000 08:01 14815873 /usr/lib/x86_64-linux-gnu/libconsole_bridge.so.0.2
7fe840fba000-7fe8411b9000 ---p 00004000 08:01 14815873 /usr/lib/x86_64-linux-gnu/libconsole_bridge.so.0.2
7fe8411b9000-7fe8411ba000 r--p 00003000 08:01 14815873 /usr/lib/x86_64-linux-gnu/libconsole_bridge.so.0.2
7fe8411ba000-7fe8411bb000 rw-p 00004000 08:01 14815873 /usr/lib/x86_64-linux-gnu/libconsole_bridge.so.0.2
7fe8411bb000-7fe8411d9000 r-xp 00000000 08:01 6029769 /opt/ros/kinetic/lib/libxmlrpcpp.so
7fe8411d9000-7fe8413d8000 ---p 0001e000 08:01 6029769 /opt/ros/kinetic/lib/libxmlrpcpp.so
7fe8413d8000-7fe8413d9000 r--p 0001d000 08:01 6029769 /opt/ros/kinetic/lib/libxmlrpcpp.so
7fe8413d9000-7fe8413da000 rw-p 0001e000 08:01 6029769 /opt/ros/kinetic/lib/libxmlrpcpp.so
7fe8413da000-7fe8413ea000 r-xp 00000000 08:01 6029904 /opt/ros/kinetic/lib/libroslib.so
7fe8413ea000-7fe8415ea000 ---p 00010000 08:01 6029904 /opt/ros/kinetic/lib/libroslib.so
7fe8415ea000-7fe8415eb000 r--p 00010000 08:01 6029904 /opt/ros/kinetic/lib/libroslib.so
7fe8415eb000-7fe8415ec000 rw-p 00011000 08:01 6029904 /opt/ros/kinetic/lib/libroslib.so
7fe8415ec000-7fe84160e000 r-xp 00000000 08:01 6031579 /opt/ros/kinetic/lib/libclass_loader.so
7fe84160e000-7fe84180e000 ---p 00022000 08:01 6031579 /opt/ros/kinetic/lib/libclass_loader.so
7fe84180e000-7fe84180f000 r--p 00022000 08:01 6031579 /opt/ros/kinetic/lib/libclass_loader.so
7fe84180f000-7fe841810000 rw-p 00023000 08:01 6031579 /opt/ros/kinetic/lib/libclass_loader.so
7fe841810000-7fe841821000 r-xp 00000000 08:01 14815887 /usr/lib/x86_64-linux-gnu/libtinyxml2.so.2.2.0
7fe841821000-7fe841a21000 ---p 00011000 08:01 14815887 /usr/lib/x86_64-linux-gnu/libtinyxml2.so.2.2.0
7fe841a21000-7fe841a22000 r--p 00011000 08:01 14815887 /usr/lib/x86_64-linux-gnu/libtinyxml2.so.2.2.0
7fe841a22000-7fe841a23000 rw-p 00012000 08:01 14815887 /usr/lib/x86_64-linux-gnu/libtinyxml2.so.2.2.0
7fe841a23000-7fe841a28000 r-xp 00000000 08:01 6030982 /opt/ros/kinetic/lib/libdynamic_reconfigure_config_init_mutex.so
7fe841a28000-7fe841c27000 ---p 00005000 08:01 6030982 /opt/ros/kinetic/lib/libdynamic_reconfigure_config_init_mutex.so
7fe841c27000-7fe841c28000 r--p 00004000 08:01 6030982 /opt/ros/kinetic/lib/libdynamic_reconfigure_config_init_mutex.so
7fe841c28000-7fe841c29000 rw-p 00005000 08:01 6030982 /opt/ros/kinetic/lib/libdynamic_reconfigure_config_init_mutex.so
7fe841c29000-7fe841c51000 r-xp 00000000 08:01 6031474 /opt/ros/kinetic/lib/libpcl_ros_tf.so
7fe841c51000-7fe841e51000 ---p 00028000 08:01 60[gazebo-3] killing on exit
31474 /opt/ros/kinetic/lib/libpcl_ros_tf.so
7fe841e51000-7fe841e52000 r--p 00028000 08:01 6031474 /opt/ros/kinetic/lib/libpcl_ros_tf.so
7fe841e52000-7fe841e53000 rw-p 00029000 08:01 6031474 /opt/ros/kinetic/lib/libpcl_ros_tf.so
7fe841e53000-7fe841f09000 r-xp 00000000 08:01 14823911 /usr/lib/x86_64-linux-gnu/libpcl_common.so.1.7.2
7fe841f09000-7fe842108000 ---p 000b6000 08:01 14823911 /usr/lib/x86_64-linux-gnu/libpcl_common.so.1.7.2
7fe842108000-7fe84210c000 r--p 000b5000 08:01 14823911 /usr/lib/x86_64-linux-gnu/libpcl_common.so.1.7.2
7fe84210c000-7fe84210d000 rw-p 000b9000 08:01 14823911 /usr/lib/x86_64-linux-gnu/libpcl_common.so.1.7.2
7fe84210d000-7fe842124000 r-xp 00000000 08:01 14819093 /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0
7fe842124000-7fe842323000 ---p 00017000 08:01 14819093 /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0
7fe842323000-7fe842324000 r--p 00016000 08:01 14819093 /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0
7fe842324000-7fe842325000 rw-p 00017000 08:01 14819093 /usr/lib/x86_64-linux-gnu/libboost_filesystem.so.1.58.0
7fe842325000-7fe8424e5000 r-xp 00000000 08:01 2625974 /lib/x86_64-linux-gnu/libc-2.23.so
7fe8424e5000-7fe8426e5000 ---p 001c0000 08:01 2625974 /lib/x86_64-linux-gnu/libc-2.23.so
7fe8426e5000-7fe8426e9000 r--p 001c0000 08:01 2625974 /lib/x86_64-linux-gnu/libc-2.23.so
7fe8426e9000-7fe8426eb000 rw-p 001c4000 08:01 2625974 /lib/x86_64-linux-gnu/libc-2.23.so
7fe8426eb000-7fe8426ef000 rw-p 00000000 00:00 0
7fe8426ef000-7fe842705000 r-xp 00000000 08:01 2626012 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fe842705000-7fe842904000 ---p 00016000 08:01 2626012 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fe842904000-7fe842905000 rw-p 00015000 08:01 2626012 /lib/x86_64-linux-gnu/libgcc_s.so.1
7fe842905000-7fe842a0d000 r-xp 00000000 08:01 2626044 /lib/x86_64-linux-gnu/libm-2.23.so
7fe842a0d000-7fe842c0c000 ---p 00108000 08:01 2626044 /lib/x86_64-linux-gnu/libm-2.23.so
7fe842c0c000-7fe842c0d000 r--p 00107000 08:01 2626044 /lib/x86_64-linux-gnu/libm-2.23.so
7fe842c0d000-7fe842c0e000 rw-p 00108000 08:01 2626044 /lib/x86_64-linux-gnu/libm-2.23.so
7fe842c0e000-7fe842d80000 r-xp 00000000 08:01 14813317 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7fe842d80000-7fe842f80000 ---p 00172000 08:01 14813317 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7fe842f80000-7fe842f8a000 r--p 00172000 08:01 14813317 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7fe842f8a000-7fe842f8c000 rw-p 0017c000 08:01 14813317 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21
7fe842f8c000-7fe842f90000 rw-p 00000000 00:00 0
7fe842f90000-7fe842fa8000 r-xp 00000000 08:01 2626120 /lib/x86_64-linux-gnu/libpthread-2.23.so
7fe842fa8000-7fe8431a7000 ---p 00018000 08:01 2626120 /lib/x86_64-linux-gnu/libpthread-2.23.so
7fe8431a7000-7fe8431a8000 r--p 00017000 08:01 2626120 /lib/x86_64-linux-gnu/libpthread-2.23.so
7fe8431a8000-7fe8431a9000 rw-p 00018000 08:01 2626120 /lib/x86_64-linux-gnu/libpthread-2.23.so
7fe8431a9000-7fe8431ad000 rw-p 00000000 00:00 0
7fe8431ad000-7fe8431d1000 r-xp 00000000 08:01 14814700 /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.58.0
7fe8431d1000-7fe8433d0000 ---p 00024000 08:01 14814700 /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.58.0
7fe8433d0000-7fe8433d2000 r--p 00023000 08:01 14814700 /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.58.0
7fe8433d2000-7fe8433d3000 rw-p 00025000 08:01 14814700 /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.58.0
7fe8433d3000-7fe8433d6000 r-xp 00000000 08:01 14819095 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0
7fe8433d6000-7fe8435d5000 ---p 00003000 08:01 14819095 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0
7fe8435d5000-7fe8435d6000 r--p 00002000 08:01 14819095 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0
7fe8435d6000-7fe8435d7000 rw-p 00003000 08:01 14819095 /usr/lib/x86_64-linux-gnu/libboost_system.so.1.58.0
7fe8435d7000-7fe843602000 r-xp 00000000 08:01 6029542 /opt/ros/kinetic/lib/librostime.so
7fe843602000-7fe843801000 ---p 0002b000 08:01 6029542 /opt/ros/kinetic/lib/librostime.so
7fe843801000-7fe843803000 r--p 0002a000 08:01 6029542 /opt/ros/kinetic/lib/librostime.so
7fe843803000-7fe843804000 rw-p 0002c000 08:01 6029542 /opt/ros/kinetic/lib/librostime.so
7fe843804000-7fe843806000 r-xp 00000000 08:01 6029562 /opt/ros/kinetic/lib/libroscpp_serialization.so
7fe843806000-7fe843a05000 ---p 00002000 08:01 6029562 /opt/ros/kinetic/lib/libroscpp_serialization.so
7fe843a05000-7fe843a06000 r--p 00001000 08:01 6029562 /opt/ros/kinetic/lib/libroscpp_serialization.so
7fe843a06000-7fe843a07000 rw-p 00002000 08:01 6029562 /opt/ros/kinetic/lib/libroscpp_serialization.so
7fe843a07000-7fe843a36000 r-xp 00000000 08:01 6029694 /opt/ros/kinetic/lib/librosconsole.so
7fe843a36000-7fe843c36000 ---p 0002f000 08:01 6029694 /opt/ros/kinetic/lib/librosconsole.so
7fe843c36000-7fe843c38000 r--p 0002f000 08:01 6029694 /opt/ros/kinetic/lib/librosconsole.so
7fe843c38000-7fe843c39000 rw-p 00031000 08:01 6029694 /opt/ros/kinetic/lib/librosconsole.so
7fe843c39000-7fe843dcb000 r-xp 00000000 08:01 6029891 /opt/ros/kinetic/lib/libroscpp.so
7fe843dcb000-7fe843fca000 ---p 00192000 08:01 6029891 /opt/ros/kinetic/lib/libroscpp.so
7fe843fca000-7fe843fd1000 r--p 00191000 08:01 6029891 /opt/ros/kinetic/lib/libroscpp.so
7fe843fd1000-7fe843fd5000 rw-p 00198000 08:01 6029891 /opt/ros/kinetic/lib/libroscpp.so
7fe843fd5000-7fe843ff3000 r-xp 00000000 08:01 6035455 /opt/ros/kinetic/lib/libactionlib.so
7fe843ff3000-7fe8441f2000 ---p 0001e000 08:01 6035455 /opt/ros/kinetic/lib/libactionlib.so
7fe8441f2000-7fe8441f4000 r--p 0001d000 08:01 6035455 /opt/ros/kinetic/lib/libactionlib.so
7fe8441f4000-7fe8441f5000 rw-p 0001f000 08:01 6035455 /opt/ros/kinetic/lib/libactionlib.so
7fe8441f5000-7fe84422b000 r-xp 00000000 08:01 6032385 /opt/ros/kinetic/lib/libtf.so
7fe84422b000-7fe84442b000 ---p 00036000 08:01 6032385 /opt/ros/kinetic/lib/libtf.so
7fe84442b000-7fe84442d000 r--p 00036000 08:01 6032385 /opt/ros/kinetic/lib/libtf.so
7fe84442d000-7fe84442e000 rw-p 00038000 08:01 6032385 /opt/ros/kinetic/lib/libtf.so
7fe84442e000-7fe8444ce000 r-xp 00000000 08:01 6031808 /opt/ros/kinetic/lib/libcostmap_2d.so
7fe8444ce000-7fe8446cd000 ---p 000a0000 08:01 6031808 /opt/ros/kinetic/lib/libcostmap_2d.so
7fe8446cd000-7fe8446d1000 r--p 0009f000 08:01 6031808 /opt/ros/kinetic/lib/libcostmap_2d.so
7fe8446d1000-7fe8446d3000 rw-p 000a3000 08:01 6031808 /opt/ros/kinetic/lib/libcostmap_2d.so
7fe8446d3000-7fe8446f9000 r-xp 00000000 08:01 2625946 /lib/x86_64-linux-gnu/ld-2.23.so
7fe84488c000-7fe8448b2000 rw-p 00000000 00:00 0
7fe8448e2000-7fe8448f8000 rw-p 00000000 00:00 0
7fe8448f8000-7fe8448f9000 r--p 00025000 08:01 2625946 /lib/x86_64-linux-gnu/ld-2.23.so
7fe8448f9000-7fe8448fa000 rw-p 00026000 08:01 2625946 /lib/x86_64-linux-gnu/ld-2.23.so
7fe8448fa000-7fe8448fb000 rw-p 00000000 00:00 0
7ffedd2a2000-7ffedd2c4000 rw-p 00000000 00:00 0 [stack]
7ffedd2c6000-7ffedd2c9000 r--p 00000000 00:00 0 [vvar]
7ffedd2c9000-7ffedd2cb000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
[map_server-2] killing on exit
[gazebo-3] escalating to SIGTERM
[rosout-1] killing on exit
[master] killing on exit
shutting down processing monitor...
... shutting down processing monitor complete
done`

When I provide the boundary region by hand through rviz, the node does not crash.
I included the whole message for completeness reasons. Do you have any idea why this happens?
Thanks for your time.

Illegal bounds change, was [tl: ...., but is now ...]. The offending layer is explore_costmap/explore_boundary

I have a problem when using frontier_exploration, move_base, rtabmap for unknown map exploration.

Below are the log messages in layered_costmap.cpp:
(100.... -> 1e30, -100... ->-1e30)

global_costmap/static_layer
prev [tl: (100......., 100.......), br: (-100....., -100.....)]
now [tl: (-25.475000, -25.475000), br: (25.525001, 25.525001)]
global_costmap/obstacle_layer
prev [tl: (-25.475000, -25.475000), br: (25.525001, 25.525001)]
now [tl: (-25.475000, -25.475000), br: (25.525001, 25.525001)]
global_costmap/inflation_layer
prev [tl: (-25.475000, -25.475000), br: (25.525001, 25.525001)]
now [tl: (-25.975000, -25.975000), br: (26.025001, 26.025001)]

local_costmap/obstacle_layer
prev [tl: (100......., 100.......), br: (-100....., -100.....)]
now [tl: (-1.450000, -1.600000), br: (0.197008, 0.062753)]
local_costmap/inflation_layer
prev [tl: (-1.450000, -1.600000), br: (0.197008, 0.062753)]
now [tl: (-1.950000, -2.100000), br: (0.715967, 0.579622)]

explore_costmap/static_layer
prev [tl: (100......., 100.......), br: (-100....., -100.....)]
now [tl: (-25.475000, -25.475000), br: (25.525001, 25.525001)]

explore_costmap/explore_boundary
prev [tl: (-25.475000, -25.475000), br: (25.525001, 25.525001)]
now [tl: (-25.500000, -25.500000), br: (25.475001, 25.475001)]
>>> show Illegal bounds change WARN

explore_costmap/obstacle_layer
prev [tl: (-25.500000, -25.500000), br: (25.475001, 25.475001)]
now [tl: (-25.500000, -25.500000), br: (25.475001, 25.475001)]
explore_costmap/inflation_layer
prev [tl: (-25.500000, -25.500000), br: (25.475001, 25.475001)]
now [tl: (-26.000000, -26.000000), br: (25.975001, 25.975001)]

The warning message is because "now" br is small than "prev" br.
Is there possible initial setting wrong and cause this warning?

Publish point unable to draw polygon in Rviz

Hi everyone. I am using the melodic branch of frontier exploration and the package compiled without any errors. Now when I launch the exploartion.launch file in the exploration_server folder, I am unable to specify the vertices of the polygon on Rviz i.e. I click on the map and the nothing happens (vertex does not get marked). I am following instructions as posted here :

https://github.com/paulbovbel/frontier_exploration/tree/melodic-devel/exploration_server

How to use the program on turtlebot2 and kinect2?

I want use the program on turtlebot2(ros indigo) and kinect2, and I have do something in launch file. But a error show me as following :

 The base_scan observation buffer has not been updated for 0.43 seconds, and it should be updated every 0.40 seconds.

What should I do for this error or can you give me some launch file to do same thing?
Thank you!

"No such file" error during catkin_make with ROS Melodic

I've just cloned the Frontier-exploration package, and I get an error when running catkin_make:

In file included from /home/erinline/Documents/testsim-mod/src/frontier_exploration/polygon_layer/src/polygon_layer.cpp:1:0: /home/erinline/Documents/testsim-mod/src/frontier_exploration/polygon_layer/include/polygon_layer/polygon_layer.h:9:10: fatal error: exploration_msgs/SetPolygon.h: No such file or directory #include <exploration_msgs/SetPolygon.h> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. frontier_exploration/polygon_layer/CMakeFiles/polygon_layer.dir/build.make:62: recipe for target 'frontier_exploration/polygon_layer/CMakeFiles/polygon_layer.dir/src/polygon_layer.cpp.o' failed make[2]: *** [frontier_exploration/polygon_layer/CMakeFiles/polygon_layer.dir/src/polygon_layer.cpp.o] Error 1 CMakeFiles/Makefile2:9226: recipe for target 'frontier_exploration/polygon_layer/CMakeFiles/polygon_layer.dir/all' failed make[1]: *** [frontier_exploration/polygon_layer/CMakeFiles/polygon_layer.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 19%] Generating Python code from SRV exploration_msgs/SetPolygon [ 19%] Generating Python msg __init__.py for exploration_msgs [ 19%] Generating Python srv __init__.py for exploration_msgs [ 19%] Built target exploration_msgs_generate_messages_py In file included from /home/erinline/Documents/testsim-mod/src/frontier_exploration/exploration_server/src/exploration_server.cpp:1:0: /home/erinline/Documents/testsim-mod/src/frontier_exploration/exploration_server/include/exploration_server/exploration_server.h:8:10: fatal error: exploration_msgs/ExploreAction.h: No such file or directory #include <exploration_msgs/ExploreAction.h> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ compilation terminated. frontier_exploration/exploration_server/CMakeFiles/exploration_server.dir/build.make:62: recipe for target 'frontier_exploration/exploration_server/CMakeFiles/exploration_server.dir/src/exploration_server.cpp.o' failed make[2]: *** [frontier_exploration/exploration_server/CMakeFiles/exploration_server.dir/src/exploration_server.cpp.o] Error 1 CMakeFiles/Makefile2:9527: recipe for target 'frontier_exploration/exploration_server/CMakeFiles/exploration_server.dir/all' failed make[1]: *** [frontier_exploration/exploration_server/CMakeFiles/exploration_server.dir/all] Error 2 [ 19%] Built target exploration_msgs_generate_messages_eus Makefile:140: recipe for target 'all' failed make: *** [all] Error 2 Invoking "make -j4 -l4" failed

I don't see the file on github either. Any suggestions how to resolve?

no branch for ros-kinetic?

hello,can you tell me why there is no branch for ros-kinetic(ubuntu16.04), there is some trouble when i build your code in my ros-kineitc. if i want to run your code in ubuntu16.04, some code might be changed?
thanks.

Failed Exploration

I get failed exploration problem a lot of times. Sometimes it works pretty well and sometimes it gives failed exploration problems. Is there an issue with my usage?

Updated instructions for non-EOL versions (melodic).

Has anyone successfully deployed this package in any non-EOL distributions of ROS (e.g. melodic, noetic)? If so, what does the procedure looks like?

I have loosely followed the instructions available here, which are specific for the EOL distributions of ROS, and cannot get the package to work.

Updated instructions for melodic would be cool, since I have noticed that a couple of parameters seem to have changed, at least just by looking into the demonstration launch files.

Reference for algorithm

Hi,
Could you please point to the reference for implemented algorithm? Is the the one by Yamauch?

Thanks,
Ninad

STILL ERROR: "No such file" error during catkin_make with ROS Melodic

This issue was considered closed:

But its not working. The catkin_make triggers this error all the time. Any idea on how to fix the import error of those .h generated for the messages? Becuase I tested creating a dummy binary thta includes those messages inside the same package, and worked , so it seems its a dependency issue of the packages that use these messages.

Scanning dependencies of target exploration_server
[ 46%] Building CXX object frontier_exploration/exploration_server/CMakeFiles/exploration_server.dir/src/exploration_server.cpp.o
In file included from /home/user/catkin_ws/src/frontier_exploration/polygon_layer/src/polygon_layer.cpp:1:0:
/home/user/catkin_ws/src/frontier_exploration/polygon_layer/include/polygon_layer/polygon_layer.h:9:10: fatal error: exploration_msgs/SetPolygon.h: No such file or directory
#include <exploration_msgs/SetPolygon.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
frontier_exploration/polygon_layer/CMakeFiles/polygon_layer.dir/build.make:62: recipe for target 'frontier_exploration/polygon_layer/CMakeFiles/polygon_layer.dir/src/polygon_layer.cpp.o' failed
make[2]: *** [frontier_exploration/polygon_layer/CMakeFiles/polygon_layer.dir/src/polygon_layer.cpp.o] Error 1
CMakeFiles/Makefile2:2424: recipe for target 'frontier_exploration/polygon_layer/CMakeFiles/polygon_layer.dir/all' failed
make[1]: *** [frontier_exploration/polygon_layer/CMakeFiles/polygon_layer.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....
In file included from /home/user/catkin_ws/src/frontier_exploration/exploration_server/src/exploration_server.cpp:1:0:
/home/user/catkin_ws/src/frontier_exploration/exploration_server/include/exploration_server/exploration_server.h:8:10: fatal error: exploration_msgs/ExploreAction.h: No such file or directory
#include <exploration_msgs/ExploreAction.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.