trapezoidal operation in velocity-time graph
Mostra commenti meno recenti
Hi guys,
I want to make trapezoidal operation in velocity-time graph. Like below.
How can i do it?

4 Commenti
Mathieu NOE
il 12 Gen 2021
hello
so the signal can be splitted in sections separated by at least one zero (or something very small)
then each section can be post processed and the results concatenated to get the entire output
now what are the "red" curve characteristics :
- rising slope
- falling slope
- plateau value ( = mean of blue signal in that section ? )
have you already a code to plot those data ? can you share it with the input data ?
tx
Irfan Ahmet YILDIRIM
il 12 Gen 2021
Modificato: Irfan Ahmet YILDIRIM
il 12 Gen 2021
Mathieu NOE
il 12 Gen 2021
OK
let me know if you need further assistance
Irfan Ahmet YILDIRIM
il 12 Gen 2021
Risposte (1)
Zuber Khan
il 16 Set 2024
Modificato: Zuber Khan
il 18 Set 2024
Hi,
You can use MATLAB's "trapveltraj" function to create a trapezoidal velocity-time profile as shown. This function is typically used to generate trapezoidal velocity profiles for motion trajectories.
You can follow the below mentioned steps for same.
- Compute the total distance travelled using the given velocity-time data. This can be done by integrating the velocity over time. One such way to calculate it is by using the "trapz" function as shown below.
totalDistance = trapz(time, velocity);
For more information on "trapz" function, you can refer to the following documentation.
- Calculate the average velocity over the entire cycle, which will be the plateau value of your trapezoidal profile.
- Define the acceleration and deceleration slopes based on your requirements.
- Then, you can use "trapveltraj" to generate the velocity profile. Kindly note that you will need to specify the waypoints and the desired time for each segment (acceleration, constant velocity, deceleration). You can refer to the following code snippet as an example.
waypoints = [0,averageVelocity,averageVelocity,0];
timePoints = [0,accelerationTime,accelerationTime + constantVelocityTime, ...
accelerationTime + constantVelocityTime + decelerationTime];
[q,qd,qdd,tSamples,pp] = trapveltraj(waypoints, numel(timePoints), ...
'AccelTime', accelerationTime);
You can also specify additional name-value arguements in the "trapveltraj" function based on the available information. For better understanding on "trapveltraj" function, kindly refer to the following documentation.
Although, it is difficult to arrive at an exact solution without the given data or specific code, but I hope it helps.
Regards,
Zuber
Categorie
Scopri di più su Numerical Integration and Differentiation in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!