Plot trajectory based on position/acceleration data

10 views (last 30 days)
JB105
JB105 on 14 Dec 2021
Moved: Voss on 19 Aug 2022
I have acceleration data (a_x a_y a_z) and would like to plot the trajectory. After integration, I have the way (s_x s_y s_z) as well as the velocity. Is there an easy way to plot the traveled way based on this data?
Like geoscatter does with lat and long data from a gps. Due to the fact that I do not have waypoints, I struggle to use the trajectory commands.
Thanks!
hold on
%Read Data from Excel file
%Acceleration
[Time_acc a_x a_y a_z] = readvars('auto_accel.xls');
%GPS Data
[Time_gps lat long height ] = readvars('auto_gps.xls');
%Smooth
iN = 20; % Length of filter
glatt_ax = filter(ones(1,iN)/iN, 1, a_x);
glatt_ay = filter(ones(1,iN)/iN, 1, a_y);
glatt_az = filter(ones(1,iN)/iN, 1, a_z);
%Calculate velocity
v_x = cumtrapz(glatt_ax, Time_acc);
v_y = cumtrapz(glatt_ay, Time_acc);
v_z = cumtrapz(glatt_az, Time_acc);
%Calculate Way
s_x = cumtrapz(v_x, Time_acc);
s_y = cumtrapz(v_y, Time_acc);
s_z = cumtrapz(v_z, Time_acc);
figure;
geoscatter(lat, long)
  1 Comment
Cletus Donkor
Cletus Donkor on 18 Aug 2022
Moved: Voss on 19 Aug 2022
Hi all, i am currently facing a similar challenge. Is there an existing solution for this?
Thank you.

Sign in to comment.

Answers (1)

Voss
Voss on 14 Dec 2021
How about using plot3?
figure();
plot3(s_x,s_y,s_z);
  1 Comment
JB105
JB105 on 14 Dec 2021
Moved: Voss on 19 Aug 2022
Thank you, however, this does not give correct results.
If I plot the three path vectors (s_x,s_y,s_z), I do not get a "path" on which I drove with my vehicle.
The correct path would look like this. I know that the data from the accelerometer may not be as perfect as from the GPS, but I think the problem is not there.

Sign in to comment.

Products


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!