paulbovbel / frontier_exploration Goto Github PK
View Code? Open in Web Editor NEWROS Node and Costmap 2D plugin layer for frontier exploration
Home Page: http://wiki.ros.org/frontier_exploration
License: Other
ROS Node and Costmap 2D plugin layer for frontier exploration
Home Page: http://wiki.ros.org/frontier_exploration
License: Other
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?
Hi,
There was an inquiry regarding ROS 1 melodic support. Do you have any plan for this?
ROBOTIS-GIT/turtlebot3#596
Thank you.
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:
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!
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.
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.
Hi,
Do you have any plans on releasing this on Kinetic as a prebuilt binary package?
Thanks in advance.
Timed out waiting for transform from base_link to map to become available before running costmap, tf error: . canTransform returned after 0.100704 timeout was 0.1.
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?
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.
when ever i use the roslaunch command the following error is displayed, i dont know what is the problem can someone help me plz i have my project based on frontier exploration.
[global_map.launch] is neither a launch file in package [frontier_exploration-indigo-devel] nor is [frontier_exploration-indigo-devel] a launch file name
Could you do a melodic release please!
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.
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?
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.
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!
Hi,
Could you please point to the reference for implemented algorithm? Is the the one by Yamauch?
Thanks,
Ninad
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
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
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!
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?
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?
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?
Mainly because of the evaluation here (https://github.com/paulbovbel/frontier_exploration/blob/hydro-devel/src/explore_server.cpp#L128), but symptomatic of larger issue where explore_server is extremely inflexible.
At the start, the robot explores well ,but it stop after errors" Rotate recovery can't rotate in place because there is a potential collision" "Aborting because a valid plan could not be found. Even after executing all recovery behaviors" appeared.
"
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 !
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]
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.
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
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
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!
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
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
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!
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?
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.
i use other pkg that contain two .h files,but it can not find it .and i find two file in the whole workspace,it do not have the file.can you give me additional help or the replace files.thank you !
Need to rewrite frontier_exploration in plugin form:
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.
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!
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?
Need to filter out goals that fall inside robot footprint, behaves poorly with some local planners.
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.
Are there any plans for a Noetic release or a ROS2 release?
Thanks!
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>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.