Comments (1)
Nice feature request! The keepout / other filters all have disable/enable parameters or services that can be dynamically turned off and on. While that is a pretty good first order solution, if you have to disable it to get out, then it can navigate freely within that keepout zone until it leaves.
I don't think your suggested solution is a great fix though. Slowing the robot if its in a keepout zone doesn't seem like it'll help much. Something better to do would be to check the robot's pose and do something based on that. For instance, if the robot is detected to be within a keepout zone, change the keepout cost from LETHAL to 252
(1 below inscribed) to make it very high cost so that the robot tries to navigate out of it. Once the robot's pose is detected to be out of the zone, it resumes being set to lethal.
Another way of handling this that's a bigger development effort would be to change the get cost API to consider the previous pose and the current pose of the robot. In that case, we set it to lethal if the previous step is non-keepout and the current is keepout. But once current is keepout, the next would be 252
. I don't have a fully baked idea there yet though, but I think more something to consider in the long-term. I'll fully acknowledge that relative to the great strides made in the last 5 years in Nav2 in planning, control, behaviors, and flexibility, the costmaps are an area that haven't yet received the same level of attention. But more of these kinds of feature requests and applications help in the eventual design (and motivate me to increase the priority if I hear alot of complaints)
If you simply want to slow your robot when in keepouts, you could just set your keepouts and speed zones to be the same, and set the keepouts to be 252 always. You could get the behavior you mention right now where it would still virtually be a keepout
from navigation2.
Related Issues (20)
- [mppi] Improve testability to explore parameters for Ackermann steered Polaris HOT 2
- [mppi] Add SpeedCritic to favour trajectories that create velocities closer to target speed. HOT 3
- commander API hangs with amcl/get_state service not available HOT 2
- [humble-MPPI] Bug in path align critic HOT 1
- [mppi] Investigate speed up potential of preallocated noise. HOT 1
- maxRGB - alpha broke color logic HOT 2
- BehaviorTreeEngine HOT 1
- [MPPI]: Replace xtensor with Eigen Experiment HOT 17
- [RPP] Make new deceleration on cancelation an option HOT 1
- Is there a method within the ros2 controller plugin to determine its termination status? HOT 6
- [navfn_planner]Optimizations for the navfn planner in large map scenarios
- Expanding the ~/ to the full home dir of user HOT 2
- Costmap resolution is not match HOT 3
- [SMAC planner] Start and goal are moved to closest cell HOT 3
- BT navigator not recognizing a basic ActionNode HOT 3
- HUMBLE: Undefined symbol when launching bt_navigator HOT 3
- cloned_multi_tb3_simulation_launch map is not being published HOT 4
- Doubts on the SMAC lattice planner rotation penalty HOT 3
- Nav2 Robot only rotating HOT 2
- Docker build fails HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from navigation2.