Changelog for package costmap_2d

1.17.3 (2023-01-10)

  • [ROS-O] various patches (#1225) * do not specify obsolete c++11 standard this breaks with current versions of log4cxx. * update pluginlib include paths the non-hpp headers have been deprecated since kinetic * use lambdas in favor of boost::bind Using boost’s _1 as a global system is deprecated since C++11. The ROS packages in Debian removed the implicit support for the global symbols, so this code fails to compile there without the patch.

  • Contributors: Michael Görner

1.17.2 (2022-06-20)

  • Removed unused variables in costmap_2d_ros (#1126) remove unused robot_stopped_, old_pose_ and timer_

  • Check if stamp of transformed pose is non-zero (#1200)

  • fix crashes in AMCL (#1152) * fix: catch runtime_error from roscore * ignore malformed message from laser, otherwise it will crash

  • The main function has to return an int value. (#1101)

  • fix boundary point exclusion in convexFillCells (#1095)

  • Fix deadlock when starting map with map-update-frequency set to zero (#1072) Co-authored-by: Dima Dorezyuk <dorezyuk@magazino.eu>

  • Increase scope of costmap mutex in publishCostmap to cover costmap calls (#992)

  • costmap_2d: remove useless and buggy testing helper function (#1069) (#1070) Co-authored-by: JF Dalbosco <jean-francois.dalbosco@safrangroup.com>

  • Fix future robot pose by Costmap2D (#1066) Co-authored-by: Pavlo Kolomiiets <pavlo@blindnology.com>

  • use const-ref-getter for strings and vectors (#1035) Co-authored-by: Dima Dorezyuk <dorezyuk@magazino.eu>

  • move enabled-logic to the LayeredCostmap (#1036) Co-authored-by: Dima Dorezyuk <dorezyuk@magazino.eu>

  • cosmetic change (#1055)

  • costmap_2d: Add missing package dependency to Eigen (#1033)

  • Add invert_area_to_clear to clear costmap recovery behavior (#1030)

  • Contributors: Atsushi Watanabe, ChristofDubs, Dhruv Maroo, Dima Dorezyuk, G.Doisy, Griswald Brooks, Noriaki Ando, Pavlo Kolomiiets, Yuki Furuta, Yukihiro Saito, easylyou, jdalbosc

1.17.1 (2020-08-27)

  • add explicit call to ros::Timer::stop in the destructor (#984) Co-authored-by: Dima Dorezyuk <dorezyuk@magazino.eu>

  • Exposing stopped_ variable in costmap2D_ros with the getter function isStopped (#913)

  • use const for getter methods (#948)

  • Contributors: Dima Dorezyuk, Marco Bassa, Yuki Furuta

1.17.0 (2020-04-02)

  • Merge pull request #982 from ros-planning/noetic_prep Noetic Migration

  • fix invalid memory access

  • attempt to get test to run

  • increase required cmake version

  • Contributors: Michael Ferguson

1.16.6 (2020-03-18)

1.16.5 (2020-03-15)

  • [melodic] updated install for better portability. (#973)

  • Contributors: Sean Yen

1.16.4 (2020-03-04)

  • fix published footprint topic name (#947) The default name of the topic will be updated in noetic

  • fix usage of size_locked, fixes #959 (#966)

  • [Windows][melodic] Navigation (except for map_server and amcl) Windows build bring up (#851)

  • Merge pull request #957 from Blindnology/melodic-updateOrigin Optimize costmap_2d::updateOrigin

  • Optimize costmap_2d::updateOrigin

  • Contributors: Michael Ferguson, Pavlo Kolomiiets, Sean Yen, Yuki Furuta

1.16.3 (2019-11-15)

  • Merge pull request #877 from SteveMacenski/layer_clear_area-melodic [melodic] moving clearing area method to costmap_layer so other applications can clear other types.

  • Merge branch ‘melodic-devel’ into layer_clear_area-melodic

  • Drop Parameter Magic (#893)

  • Fixes #782 (#892)

  • Costmap_2d plugin universal parameters and pre-hydro warnings (#738) * Comment and description clarification * Renamed resetOldParameters to loadOldParameters * Upscaled pre-hydro parameter info message to warning and added costmap-name * Warn user when static_map or map_type is set but not used while plugins are used * Added function that copies parent parameters inside each layer (makes it possible to set a global inflation_radius) * use parameter magic

  • Changed logic for when to resize layered costmap in static layer (#792) * Changed logic for when to resize layered costmap in static layer -Now the master layered costmap should no longer get resized when isSizeLocked returns true * Fixing format for if loop

  • clear area in layer for melodic

  • [kinetic] Fix Bounds Bug (plus test) (#871) (#875) * fix map bounds bug * Add test

  • Fix install (#855)

  • Add additional linked libraries (#803)

  • Contributors: David V. Lu!!, Martin Ganeff, Michael Ferguson, Steven Macenski, stevemacenski

1.16.2 (2018-07-31)

  • Merge pull request #773 from ros-planning/packaging_fixes packaging fixes

  • update costmap_2d cmake * explicit dependency on tf2 * remove old PCL disable crap

  • Contributors: Michael Ferguson

1.16.1 (2018-07-28)

  • Merge pull request #770 from ros-planning/fix_debians Fix debian builds (closes #769)

  • add tf2_geometry_msgs depend to costmap_2d

  • Contributors: Michael Ferguson

1.16.0 (2018-07-25)

  • Switch to TF2 #755

  • unify combination_method dynamic reconfig, closes #402

  • Merge pull request #723 from moriarty/melodic-buildfarm-errors Melodic buildfarm errors

  • [costmap_2d/test] set empty transform to Identity

  • fix test: abs(unsigned int) is ambiguous Instead, compare values and subtract smaller from larger to find the dx and dy.

  • fixes pluginlib deprecated header warnings

  • Merge pull request #694 from ros-planning/lunar_691 costmap variable init & cleanup (forward port of #691)

  • remove unused got_footprint_

  • initialize all costmap variables

  • Merge pull request #686 from ros-planning/lunar_675 Fixed race condition with costmaps in LayeredCostmap::resizeMap()

  • Fixed race condition with costmaps in LayeredCostmap::resizeMap() LayeredCostmap::updateMap() and LayeredCostmap::resizeMap() write to the master grid costmap. And these two functions can be called by different threads at the same time. One example of these cases is a race condition between subscriber callback thread dealing with dynamically-size-changing static_layer and periodical updateMap() calls from Costmap2DROS thread. Under the situation the master grid costmap is not thread-safe. LayeredCostmap::updateMap() already used the master grid costmap’s lock.

  • Contributors: Alexander Moriarty, David V. Lu, Jaeyoung Lee, Michael Ferguson, Vincent Rabaud

1.15.2 (2018-03-22)

  • Merge pull request #673 from ros-planning/email_update_lunar update maintainer email (lunar)

  • Merge pull request #670 from DLu/fix206_lunar Fixes #206 for Lunar

  • fix ‘enable’ for static_layer with rolling window (#659) (#665)

  • Merge pull request #649 from aaronhoy/lunar_add_ahoy Add myself as a maintainer.

  • Contributors: Aaron Hoy, David V. Lu!!, Jannik Abbenseth, Michael Ferguson

1.15.1 (2017-08-14)

1.15.0 (2017-08-07)

  • Added parameter for allowing inflation in unknown cells (#564)

  • Inflation Layer protected members and virtual computeCost [ABI BREAKING]

  • Fix for #517: create a getRobotPose method on move_base instead of using that on the costmaps

  • don’t update costs if inflation radius is zero

  • rebase fixups

  • convert packages to format2

  • Speedup (~60%) inflation layer update (#525)

  • Fix CMakeLists + package.xmls (#548)

  • add missing deps on libpcl

  • import only PCL common

  • pcl proagate -lQt5::Widgets flag so we need to find_package Qt5Widgets (#578)

  • Added deps to amcl costmap_2d move_base (#512)

  • remove GCC warnings

  • Fix CMake warnings

  • renamed targets for message generation (gencpp -> generate_messages_cpp) in order to avoid warnings for non-existing target dependencies

  • Fixed race condition with costmaps

  • Merge pull request #491 from alexhenning/kinetic-inflation-fix

  • Fixed sign error in inflation layer

  • Adds warning when a layer shrinks the bounds

  • Fixed bug with inflation layer that caused underinflation

  • Fixed bug with artifacts when not current

  • Fix bug with inflation artifacts being left behind

  • Fixes issue with costmaps shearing

  • Made costmap publishing truly lazy

  • Contributors: Alex Henning, Alexander Reimann, Hidde Wieringa, Jorge Santos, Jorge Santos Simón, Martin Günther, Michael Ferguson, Mikael Arguedas, Stephan Opfer, Vincent Rabaud, mryellow

1.14.0 (2016-05-20)

  • Reordered initializer list to match order of declarations. This avoids compiler warning with some compilers.

  • Made update map threadsafe This is necessary for some plugins (e.g. VoxelLayer) that implement a thread unsafe updateBounds() function.

  • Fix bug with resetting static layer If we don’t have a new topic, consider our old data as if it were new.

  • fix resource locations to fix tests

  • Increase time-limit on failing test

  • Merge pull request #388 from yujinrobot/jade_inflation_ghost_fix No more ghosts in the inflation layer

  • Fixes the dynamic reconfigure segfault Doing a dynamic reconfigure of the inflation radius recreates the cached cost values without first locking a mutex, which causes a segfault. This breaks the reconfigure of inflation parameters into a separate function and adds a mutex lock.

  • Merge pull request #415 from alexhenning/jade-fix-multiple-static-layers Fixes an issue with having multiple static layers

  • Fixes an issue with having multiple static layers If you have a static layer in both the local and global costmaps that use the same map topic, there is a race condition that can cause the static layer to get stuck after printing Requesting map….. This race condition seems to be due to the call to shutdown in deactivate and how the NodeHandle handles multiple subscribers under the hood. This issue appears to happen about 1 in 1000 times in the setup I was testing. This fix has never failed in over 1000000 tests. Instead of calling activate and deactivate, the publisher is only recreated if the topic has changed. Otherwise, it reuses the old setup.

  • fix related to issue #408 - With Rolling Window on, costmap_2d not properly updating bounds and costs in the static layer

  • No more ghosts in the inflation layer Previous bounds would fit the sensor measurements, and the inflation layer would clear out to these, but leave ‘ghosts’ behind. These ghosts are from two sources - 1) the inflation radius and 2) whole obstacles left behind as the robot has moved from the last point. The modifications here remember the last bounds and set the new bounds so that a box at least large enough to incorporate the old bounds plus the inflation radius is generated.

  • Contributors: Alex Henning, Daniel Stonier, Levon Avagyan, Michael Ferguson, palmieri

1.13.1 (2015-10-29)

  • Remove excessive canTransform spam.

  • Fix for #382

  • Republish costmap if origin changes

  • Remove Footprint Layer

  • Remove extra sign definition and use proper one when padding footprint

  • fix plugin warnings on throw, closes #205

  • initialize publisher variables

  • Look for robot_radius when footprint is not set. #206

  • Add a first_map_only parameter so we keep reusing the first received static map

  • Merge pull request #331 from mikeferguson/static_layer_any_frame

  • support rolling static map in any frame

  • fix destructor of Costmap2D

  • proper locking during costmap update

  • do not resize static map when rolling

  • Static layer works with rolling window now

  • Contributors: Daniel Stonier, David Lu, Jihoon Lee, Michael Ferguson, Rein Appeldoorn, commaster90

1.13.0 (2015-03-17)

  • fixed issue with voxel_layer and obstacle_layer both deleting the same dynamic_reconfigure::Server and causing segfaults

  • Fixing various memory freeing operations

  • static_layer: Fix indexing error in OccupancyGridUpdate callback function.

  • Contributors: Alex Bencz, David V. Lu!!, James Servos, Julse, Kaijen Hsiao

1.12.0 (2015-02-04)

  • update maintainer email

  • Contributors: Michael Ferguson

1.11.15 (2015-02-03)

  • Add ARCHIVE_DESTINATION for static builds

  • Contributors: Gary Servin

1.11.14 (2014-12-05)

  • added waitForTransform to bufferCloud to solve extrapolation into the future exception

  • deallocate costmap_ before reallocating

  • prevent div by zero in raytraceLine

  • only prefix sensor_frame when it’s not empty

  • tf_prefix support in obstacle_layer

  • remove undefined function updateUsingPlugins

  • remove unused cell_data.h

  • numerous style fixes

  • Contributors: Andrzej Pronobis, David Lu, Jeremie Deray, Mani Monajjemi, Michael Ferguson, enriquefernandez

1.11.13 (2014-10-02)

1.11.12 (2014-10-01)

  • costmap_2d: export library layers

  • Merge pull request #198 from kmhallen/hydro-devel Fixed costmap_2d clearing from service /move_base/clear_costmaps

  • Costmap Layer comments

  • Add destructors for all of the layers to remove the dynamic parameter clients

  • Add method for removing static observations (for testing)

  • Move testing_helper

  • Initial Clearing Costmap parameter change

  • Fixed costmap_2d clearing from service /move_base/clear_costmaps

  • Contributors: David Lu!!, Kevin Hallenbeck, Michael Ferguson

1.11.11 (2014-07-23)

  • removes trailing spaces and empty lines

  • Contributors: Enrique Fernández Perdomo

1.11.10 (2014-06-25)

  • Remove unnecessary colons

  • Remove unused robot_radius parameter from dynamic_reconfigure

  • Contributors: Daniel Stonier, David Lu!!

1.11.9 (2014-06-10)

  • fix hypot issues, add comments to tests from tracking this down

  • dynamically reconfigure the previously uninitialised variable ‘combination_method’, closes #187.

  • uses ::hypot(x, y) instead of sqrt(x*x, y*y)

  • Contributors: Daniel Stonier, Michael Ferguson, Enrique Fernández Perdomo

1.11.8 (2014-05-21)

1.11.7 (2014-05-21)

  • uses %u instead of %d for unsigned int

  • update build to find eigen using cmake_modules

  • inflation_layer: place .top() & .pop() calls together

  • add parameter to configure whether full costmap is published each time

  • Contributors: Michael Ferguson, Siegfried-A. Gevatter Pujals, agentx3r, enriquefernandez

1.11.5 (2014-01-30)

  • Better threading in inflation layer

  • don’t set initialized until updateMap is called

  • check whether costmap is initalized before publishing

  • New Overwrite Methods updateMap method Fix for #68 Fix for inflation memory problems InfIsValid #128 Static layer can recieve updates and accept non-lethal values Obstacle layer uses track_unknown_space parameter Footprint layer is not longer created as top-level layer (used as part of obstacle layer instead)

  • Download test data from download.ros.org instead of willow

  • Change maintainer from Hersh to Lu

1.11.4 (2013-09-27)

  • Improve bounds checking

  • Reimplement Clear Costmaps Service by implementing reset functions in each layer

  • Package URL Updates

  • Additional static layer functionality for receiving updates

  • Misc. Pointcloud fixes

  • Improved eigen alignment problem on 32-bit arch.

  • fixed costmap_2d tests