Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Explanation of the DDP optimization #80

Closed
alexbuyval opened this issue May 31, 2019 · 2 comments
Closed

Explanation of the DDP optimization #80

alexbuyval opened this issue May 31, 2019 · 2 comments

Comments

@alexbuyval
Copy link

alexbuyval commented May 31, 2019

Hi,

Are there any explanation (paper, post or something else) of using DDP optimization after the MPPI control iteration?

I would be very appreciated for any comments about the advantages and disadvantages of using DDP.

@gradyrw
Copy link
Contributor

gradyrw commented May 31, 2019

The MPPI optimization runs at 50Hz, but the control publisher is designed to queue off of the state estimator, and so it runs at the same rate as the state estimator (200Hz). To publish controls at 200Hz when the solution is only found at 50Hz, by default, there is some interpolation done between the first and second control input in the computed control sequence. However, since we're queuing off the state estimate and have both a desired control sequence and desired state sequence, we can do slightly better. What we do is compare the interpolated desired state with the actual state that was just received, which gives us an error term. Then, instead of just applying the feedforward control found by interpolating the control sequence, we apply the feedforward term plus the feedback gains times the error term. In order to find the feedback gains, we linearize around the computed state and control sequences and then use LQR (to compute the LQR gains we use DDP code, since LQR is a special case of DDP). This seems to help improve performance slightly versus just running the feedforward controls, but we haven't done any systematic study. Possible disadvantages are increased chatter in the controls if there's a lot of noise in the IMU (this can be an issue in Gazebo especially).

@alexbuyval
Copy link
Author

@gradyrw Thank you very much for so fast and comprehensive answer!

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

No branches or pull requests

2 participants