Rank: Driver's Permit
#1 Posted : Tuesday, April 23, 2019 5:04:38 AM(UTC)
So I do not post often but I just found out about the data output update and I can hardly contain my excitement. I have big plans to do a motion rig and stats mapping/tracking
(as to whether they will ever actually be realized is another matter altogether ;) )

First I would like to get familiar with the UDP data in python. To do this I am going to make a program that tracks lap times providing you with stats like running average, standard deviation, and turn by turn break down. I would also like to visualize my racing line for each lap overlayed on a track map. And do fun things like color the line by velocity, time, acceleration, etc... Problem is I cant seem to find Turn 10 track maps anywhere for Forza 7. I imagine there is a reason for this but wanted to ask if anyone knows where I can find these maps.

If the devs are listening it would be nice to have not just a bunch of track map images, but also to know the location of the coordinate system datum on each to make plotting easier.

PS - I think I may have seen some of this but does anyone have a list also of the unique track and car ID's?

PPS - Links for context:
FORZA MOTORSPORT 7 'DATA OUT' FEATURE DETAILS - https://forums.forzamoto...ut--feature-details.aspx
VISUALIZING AND USING DATA OUT FEATURE - https://forums.forzamoto...ng-Data-Out-Feature.aspx
FM7 TRACKS LIST - https://forums.forzamoto...7_FM7-Tracks-List.aspx?=
The Always-Up-To-Date Forza Motorsport 7 Track List (EXTERNAL LINK) - https://www.gtplanet.net...motorsport-7-track-list/

PPPS - I am planning to dump data I capture somewhere for others to use/look at as it may be useful to have a basic dataset to play around with. If others wanted to do the same that would be just swell.

Edited by user Tuesday, April 23, 2019 5:13:33 AM(UTC)  | Reason: Not specified

Rank: Driver's Permit
#2 Posted : Tuesday, April 30, 2019 7:07:18 PM(UTC)
So I have played around with data capture and visualization a little bit. I really wish I had a rough idea of track extents from the games frame of reference. Please DEVs can someone reply on this matter, I will hack something together using screen-captures or screen-shots but would really prefer if you could share basic track images from above or something like that. Something like the below picture but with an idea idea of track edges in game coordinates.
Laguna Seca

I want to visualize the racing line and make comparisons between laps as well as facilitate the comparison of laps between users. Right now I have the data capture and plot generation working somewhat. I turned off the axes for a clean look but the information can be turned back on.
Colored by speed
Color by Yaw

An animated gif version is also automatically generated. And any variety of captured channels can be using to plot scatter, line, etc and colored by other various channels.
Color by speed GIF

I would also like to hear back from the community if there are any specific visualizations people would be interested in seeing? I intend to upload the source and compiled windows compatible executables somewhere where others can use. I re-did what others have done for capture and filtering to make things more robust, automatically detecting lost connection and re-establishing, auto detecting game type and telemetry data format, etc.

As food for though check out this brief write up a guy did about visualizing F1 telemetry in R. I like his idea for "Driver DNA" and would like to make something that at a glance gives you a good idea of how a track is being driven or how a tune in performing.
Plotting F1 data in R

Edited by user Wednesday, May 1, 2019 1:46:22 PM(UTC)  | Reason: Not specified

Rank: Driver's Permit
#3 Posted : Monday, March 22, 2021 3:08:41 AM(UTC)
I'm not sure if you're still playing around with this. What I did was put the data into a pandas dataframe. Then I added a column with a 1s rolling average (60 samples at 60 Hz) of the y angular rotation. Then I set a limit and said that if the absolute value of the rolling angular rotation was above a certain value I set yet another column ("inCorner") to 1, otherwise 0. Then I took all of the datapoints where "inCorner" was 1 and ran it through sklearn's clustering algorithm: DBSCAN. This produced a practically perfect automatically corner-numbered map after just 1 lap of driving.