Bend radius from coordinates section
조회 수: 10 (최근 30일)
이전 댓글 표시
Dear Matlab Central,
I am going to try my best to explain the situation and what I want to achieve.
Currently I'm designing a dynamic vehicle simulation in matlab/simulink. For this simulation I'm provided with a set of x and y coordinates with time steps of 1 second. Now, for this simulation I want to find, real time, the corner radius that the vehicle is making during one drive cycle. So if the recorded vehicle is going in a straight line I want it to be zero and when, calculated out of the coordinates, the vehicle is in a corner I want to find that radius.
I am not sure how I can calculate this in simulink and I was wondering if any of you have had any experience in this or have a suggestion of what to try. I have been digging through some literature but I haven't found anything that fits my needs.
Thanks in advance! Kind regards, Michel.
PS. I will attach an m-file with the x and y coordinates. For every new coordinate (in X & Y) we are one second further down the drive cycle
댓글 수: 3
채택된 답변
Mohammad Abouali
2015년 10월 22일
You are looking to calculate Curvature. Here is the link with formula for you to calculate it:
https://en.wikipedia.org/wiki/Curvature
When it is straight line, the Radius is infinity, thus th curvature is zero.
댓글 수: 5
Mohammad Abouali
2015년 10월 28일
편집: Mohammad Abouali
2015년 10월 28일
You need to download deg2utm() from http://www.mathworks.com/matlabcentral/fileexchange/10915-deg2utm
That's not a regular function of MATLAB. It is provided from the MATLAB File Exchange.
Get that and see if that works.
Also you need to append your code that you provided earlier (Coordinates_Problem_Example.m) and include the Latitude and Longitude definition from your code at the beginning of the code snippet that I provided. They had lots of number and I couldn't fit it here. So I did not wrote it in that code. And that's what MATLAB is complaining. If you run that code, it comes to line 3 and then there is not Latitude/Longitude variable defined so it produces that error.
추가 답변 (1개)
Image Analyst
2015년 10월 23일
Take a section of your curve coordinates (like, say, 9 to 21 points or so), and then use the FAQ to fit them to a circle. http://matlab.wikia.com/wiki/FAQ#How_can_I_fit_a_circle_to_a_set_of_XY_data.3F and get the radius.
댓글 수: 0
참고 항목
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!