Skip to content

Dynamic Cost Updates#86

Merged
amock merged 46 commits intomainfrom
feature/dynamic-cost-updates
Sep 10, 2025
Merged

Dynamic Cost Updates#86
amock merged 46 commits intomainfrom
feature/dynamic-cost-updates

Conversation

@amock
Copy link
Collaborator

@amock amock commented Sep 10, 2025

Introducing:

  • Graph Layer System for combining layers more intuitively and efficient
  • Obstacle Layer for tracking dynamic obstacles
    Minor Things:
  • Bug-fixes
  • Performance Improvements Inflation Layer
  • Parameter renamings

In total, both library interfaces and user interfaces are not backwards compatible therefore we increased the major version to 3.

for processing incomming data e.g. PointClouds
It is enough to only check the two faces current_vh and nh have in
common. This greatly reduces the number of faces checked for each
neighbor vertex.
… change a layer should be from the layer itself
The dynamic inflation layer was used for protoyping performance
improvements. These improvements were now applied to the InflationLayer
so this layer is no longer needed.
JustusBraun and others added 15 commits August 11, 2025 13:36
We do not want to normalize the combined costs because this creates the
need to recompute/renormalize all costs when the cost range changes due
to a local update.
const references instead of mutable references
Graph-Based Layer System for Dynamic Cost Updates
This layer maps obstacles represented by PointCloud2 messages onto the
mesh surface using raycasting. The vertices of the obstructed faces are
added to the lethal vertex set and their cost is set to infinity. This
enables replanning around dynamic and unmapped obstacles and dynamic
obstacle avoidance (support depends on the controller plugin).
rqt_reconfigure was unable to fetch the parameters when the cost was set
to inf. Since we want to allow setting the cost values to inf and the
range was only there to allow rqt_reconfigure to show a slider (which
did not work with inf) we decided to remove the range.
Copy link
Collaborator

@JustusBraun JustusBraun left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a big step towards enabling dynamic obstacle avoidance and replanning (see #5). I have tested this branch and it works with ROS Jazzy on Ubuntu 24.04.

@amock amock merged commit f0546b7 into main Sep 10, 2025
2 checks passed
@amock amock deleted the feature/dynamic-cost-updates branch September 10, 2025 21:45
@amock amock mentioned this pull request Sep 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants