-
Notifications
You must be signed in to change notification settings - Fork 646
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
feat(simple_planning_simulator): add mechanical actuaion sim model #9252
Conversation
Thank you for contributing to the Autoware project! 🚧 If your pull request is in progress, switch it to draft mode. Please ensure:
|
5defad3
to
0af73ff
Compare
81e09bb
to
8fc6815
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #9252 +/- ##
==========================================
+ Coverage 29.24% 29.38% +0.13%
==========================================
Files 1335 1339 +4
Lines 102954 103218 +264
Branches 39937 40013 +76
==========================================
+ Hits 30114 30329 +215
- Misses 69920 69967 +47
- Partials 2920 2922 +2
*This pull request uses carry forward flags. Click here to find out more. ☔ View full report in Codecov by Sentry. |
8fc6815
to
627ddac
Compare
/** | ||
* @brief update vehicle states | ||
* @param [in] dt delta time [s] | ||
*/ | ||
void update(const double & dt) override; | ||
|
||
/** | ||
* @brief update vehicle states with controller | ||
* @details In updateRungeKutta, calcModel is called four times, but the internal state of PID and | ||
* Dynamics should not be updated. Therefore, a method is prepared to update the internal state | ||
* only once at the end without using the updateRungeKutta of the interface. | ||
*/ | ||
void updateRungeKuttaWithController(const double dt, const Eigen::VectorXd & input); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I override update() and make own updateRungeKuttaWithController
not to update internal state in PID and Mechanical Dynamics during rungge kutta.
/**
* @brief update vehicle states with controller
* @details In updateRungeKutta, calcModel is called four times, but the internal state of PID and
* Dynamics should not be updated. Therefore, a method is prepared to update the internal state
* only once at the end without using the updateRungeKutta of the interface.
*/
413d1cd
to
7ab4298
Compare
Documentation URL: https://autowarefoundation.github.io/autoware.universe/pr-9252/ |
Signed-off-by: kosuke55 <[email protected]> update docs Signed-off-by: kosuke55 <[email protected]>
7ab4298
to
f948fcd
Compare
move to #9300 |
Description
Add new simulator model.
The vehicle side software assumes that it has limiters, PID controllers, power steering, etc. for the input.
The conversion in the power steering is approximated by a polynomial.
Steering Dynamics is a model that represents the motion of the tire angle when the Steering Torque is input. It is represented by the following formula.
system identification result is following. I tested real driving data and compare obeserved and simulated steering angle error (focusing on low steer angle)
Results are
mecanical
>second order
>first order
in that order for train and test data.if tuning for deadzone
Related links
Parent Issue:
How was this PR tested?
Notes for reviewers
None.
Interface changes
None.
Effects on system behavior
None.