Comments (4)
@brilianputraa I am not sure if the optimality is preserved due to clipping. Perhaps the simplest sanity check is to run MPPI on optimal controls problems with known solutions given bounded control inputs. Then see if the solution matches the optimal.
I do think it is an interesting direction to design an MPPI algorithm that has theoretical guarantees given control constraints (where the simplest one being the bounded norm).
from mppi_numba.
Hi @brilianputraa :
- In the rollout_numba function, we crop the perturbed control sequence because we want the state rollouts to be consistent with the bounded control.
- If you look at this code segment we crop again because the update to the current best control
u_cur_d
is based on the unmodified Gaussian noise values. Therefore, there is no guarantee that the updated control will satisfy the control bound without cropping again.
An alternative approach is probably to keep track of how each sampled Gaussian noise gets cropped and do a weighted sum of the cropped Gaussian noise directly, but I did not do that and I wasn't sure if one would see much performance difference
Hope this helps.
from mppi_numba.
Thank you for your explanation @xiaoyi-cai-acl, I got it now. My other question is, if we add that kind of clamping function for the control rate (lets say angular velocity rate and linear velocity rate (acceleration)) as well in the u_cur_d
does it affects the optimality of the control sequence?
from mppi_numba.
@brilianputraa I am not sure if the optimality is preserved due to clipping. Perhaps the simplest sanity check is to run MPPI on optimal controls problems with known solutions given bounded control inputs. Then see if the solution matches the optimal.
I do think it is an interesting direction to design an MPPI algorithm that has theoretical guarantees given control constraints (where the simplest one being the bounded norm).
Okay I take your point, thank you for sharing your opinions on that. I will close the issues, thanks again for your detailed and super helpful answer!
from mppi_numba.
Related Issues (3)
- ROS costmap HOT 5
- Lambda update missing? 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 mppi_numba.