Propagate system and return valid motion
iteratively propagates the system from the current state
steps] = propagateWhileValid(
q0 towards a
qTgt with an initial control input
for a maximum number of steps
At the end of each propagation step
i, the system returns these values:
q(i,:)— Current state of the system
u(i,:)— Control input for step
i + 1
steps(i)— Number of steps between
i - 1and
The function validates all propagations and returns system information between
q0 and the last valid state.
mobileProp — Mobile robot state propagator
Mobile robot state propagator, specified as a
q0 — Initial state
Initial state of the system, specified as an s-element vector. s is the number of state variables in the state space.
u0 — Initial control on initial state
Initial control on the initial state, specified as an c-element vector. c is the number of control inputs.
qTgt — Target state
Target state of the system, specified as an s-element vector. s is the number of state variables in the state space.
maxSteps — Maximum number of steps
Maximum number of steps, specified as a positive scalar.
q — Propagated states
Propagated states of the system, returned as an s-element vector. s is the number of state variables in the state space.
u — Control inputs for propagating states
Control inputs for propagating states, returned as an n-by-c matrix. c is the number of control inputs
steps — Number of steps from each state and control input to next
n-element vector of positive integers
Number of steps from each state and control input to next, returned as an n-element vector of positive integers.
Introduced in R2021b