I want to design Raster path on Matlab
Show older comments
I want to define it as a function of t
Answers (1)
Walter Roberson
on 28 Apr 2021
Let the horizontal length be H and the vertical jog be V. Then one full cycle is distance 2*(H+V); suppose that it is to be completed in time P (the period.)
WIthin the first period, the horizontal position goes like
s = 2*(H+V)/P; %speed
x = piecewise( MOD(t,P) <= H/P, H-mod(t,P)*s, ...
MOD(t,P) > H/P & MOD(t,P) <= (H+D)/P, 0, ...
MOD(t,P)>(H+D)/P & MOD(t,P) <= (D+2*H)/P, mod(t-D-H,P) * s, ...
MOD(t,P)>(D+2*H), 0)
and you can define the vertical position by similar means, except that the vertical position progresses by 2*D for every full period.
Above, MOD should not be implemented as mod() unless you have R2020b or later. Instead
MOD = @(val,period) val - floor(val/period)*period
This is because in earlier releases, mod() of a symbolic expression gets a bit odd and difficult to work with.
Categories
Find more on Tables 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!