Create a v-t graph with constant deceleration in Simulink
3 views (last 30 days)
Show older comments
Dear all,
I am a beginner in Simulink and I am making a driver model. The driver sees a curve 100m in front of him, at this moment he wants to slow down to the curve entry with a constant deceleration. The speed-time v-t function during approaching can be worked out mentally by looking distance(100m)and curve speed. But I have difficulty to realize it in Simulink, I try to use rising trigger to hold v but I can't hold it just in the approaching range.
Given Signals are current speed, position, curve speed and curve-position as s-radius in an Excel file.
Even some ideas will be very thankful. Sorry for my English, maybe a sketch is better and merry Christmas ;-D
2 Comments
Answers (1)
Walter Roberson
on 27 Dec 2011
Consider this physics:
v = v0 - a*t
dist = integral of v from t = t0 to t1
this leads us to
dist = v0*(t1-t0) - 1/2 * a * (t1^2 - t0^2)
We can simplify a bit by setting t0 = 0
dist = v0 * t1 - 1/2 * a * t1^2
We know that dist = 100 (meters)
100 = v0 * t1 - 1/2 * a * t1^2
so
a/2 * t1^2 - v0 * t1 + 100 = 0
This is a quadratic in t1 so use the traditional (-b +/- sqrt(b^2-4*a*c))/(2*a)
t1 = (v0 +/- sqrt(v0^2 - 200*a)) / a
Is this enough to solve the problem? No, it isn't. In order to solve the problem we need to be given at last two more pieces of information: the starting velocity v0, and the target velocity. The target velocity might perhaps be what you have named "curve speed", but we cannot really tell from your wording that it is given to us.
If the target velocity, v1, is given then the equation v = v0 - a*t allows us to say v1 = v0 - a*t1, and that in combination with the distance equation and the starting velocity v0 should allow us to calculate everything.
See Also
Categories
Find more on General Applications in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!