Obtain updated track velocities and velocity covariance matrix
returns velocities of tracked objects.velocity
= getTrackVelocities(tracks
,velocitySelector
)
[
also returns the track velocity covariance matrices.velocity
,velocityCovariances
]
= getTrackVelocities(tracks
,velocitySelector
)
Create an extended Kalman filter tracker for 3-D constant-acceleration motion.
tracker = trackerGNN('FilterInitializationFcn',@initcaekf);
Initialize the tracker with one detection.
detection = objectDetection(0,[10;-20;4],'ObjectClassID',3);
tracks = step(tracker,detection,0);
Add a second detection at a later time and at a different position.
detection = objectDetection(0.1,[10.3;-20.2;4],'ObjectClassID',3);
tracks = step(tracker,detection,0.2);
Obtain the velocity vector from the track state.
velocitySelector = [0 1 0 0 0 0 0 0 0; 0 0 0 0 1 0 0 0 0; 0 0 0 0 0 0 0 1 0]; velocity = getTrackVelocities(tracks,velocitySelector)
velocity = 1×3
1.0093 -0.6728 0
Create an extended Kalman filter tracker for 3-D constant-acceleration motion.
tracker = trackerGNN('FilterInitializationFcn',@initcaekf);
Initialize the tracker with one detection.
detection = objectDetection(0,[10;-20;4],'ObjectClassID',3);
tracks = step(tracker,detection,0);
Add a second detection at a later time and at a different position.
detection = objectDetection(0.1,[10.3;-20.2;4.3],'ObjectClassID',3);
tracks = step(tracker,detection,0.2);
Obtain the velocity vector from the track state.
velocitySelector = [0 1 0 0 0 0 0 0 0; 0 0 0 0 1 0 0 0 0; 0 0 0 0 0 0 0 1 0]; [velocity,velocityCovariance] = getTrackVelocities(tracks,velocitySelector)
velocity = 1×3
1.0093 -0.6728 1.0093
velocityCovariance = 3×3
70.0685 0 0
0 70.0685 0
0 0 70.0685
tracks
— Track data structurestruct array
Tracked object, specified as a
struct
array. A track struct
array
is an array of MATLAB®
struct
types containing sufficient information to obtain
the track position vector and, optionally, the position covariance matrix.
At a minimum, the struct
must contain a
State
column vector field and a positive-definite
StateCovariance
matrix field. For an example of a
track struct
used by Automated Driving Toolbox™, examine the output argument, tracks
,
returned by the updateTracks
function when
used with a multiObjectTracker
System object™.
velocitySelector
— Velocity selection matrixVelocity selector, specified as a D-by-N real-valued matrix of ones and zeros. D is the number of dimensions of the tracker. N is the size of the state vector. Using this matrix, the function extracts track velocities from the state vector. Multiply the state vector by velocity selector matrix returns velocities. The same selector is applied to all object tracks.
velocity
— Velocities of tracked objectsVelocities of tracked objects at last update time, returned as a 1-by-D vector or a real-valued M-by-D matrix. D represents the number of velocity elements. M represents the number of tracks.
velocityCovariances
— Velocity covariance matrices of tracked objectsVelocity covariance matrices of tracked objects, returned as a real-valued D-by-D-matrix or a real-valued D-by-D-by-M array. D represents the number of velocity elements. M represents the number of tracks. Each D-by-D submatrix is a velocity covariance matrix for a track.
Show the velocity selection matrix for two-dimensional motion when the state consists of the position and velocity.
Show the velocity selection matrix for three-dimensional motion when the state consists of the position and velocity.
Show the velocity selection matrix for three-dimensional motion when the state consists of the position, velocity, and acceleration.
You have a modified version of this example. Do you want to open this example with your edits?