Opened 16 years ago

Closed 16 years ago

Last modified 16 years ago

#17 closed feature (fixed)

Create the TDA

Reported by: Henrik Heimbuerger Owned by: Florian Roth
Priority: critical Milestone: MS1: First release (1.0.0)
Component: racelogic Version: pre-1.0
Keywords: tda Cc:

Description

The Track Data Approximator is supposed to take whatever the sensor data the slot car track control technology in use can deliver and extrapolate car positions that can be displayed on the screen.

It is an abstraction layer that hides the fact that not all technologies deliver the same kind of data, e.g. some only have a small set of checkpoints, some deliver acceleration data, etc.

The TDA probably needs to be subclassed for each control technology used.

Change History (30)

comment:1 Changed 16 years ago by Henrik Heimbuerger

Status: newassigned

comment:2 Changed 16 years ago by Henrik Heimbuerger

Owner: changed from Henrik Heimbuerger to somebody

comment:3 Changed 16 years ago by Henrik Heimbuerger

Component: unspecifiedracelogic
Priority: majorcritical
Type: enhancementfeature

comment:4 Changed 16 years ago by Henrik Heimbuerger

Owner: changed from somebody to Henrik Heimbuerger
Status: assignedaccepted

comment:5 Changed 16 years ago by SVN

New commit by hheimbuerger (revision [233]):
[Partial fix for ticket #17] Created TDA integration and added FeedbackSignal integration.

comment:6 Changed 16 years ago by SVN

New commit by hheimbuerger (revision [234]):
[Revert of changes to ticket #17] Reverted changes to TrackWidget accidentally commited with [233].

comment:7 Changed 16 years ago by Henrik Heimbuerger

Owner: changed from Henrik Heimbuerger to nobody
Status: acceptedassigned

comment:8 Changed 16 years ago by Henrik Heimbuerger

Remember that the TDA also needs to detect whether the car has left the track, f.e. due to speeding.

comment:9 Changed 16 years ago by SVN

New commit by froth (revision [304]):
[Related to ticket #17] integrated the TDA in the SlotCarSystemConnector?

So now every special TDA will be created in the SlotCarSystemFactory? and sticked to an SlotCarSystemConnector? delivered by it to a Player.

I also added stubs for the several TDA's

comment:10 Changed 16 years ago by SVN

New commit by froth (revision [315]):
[Related to ticket #17] changed the intantiation way and moment in application for the TDAs

now every player will get an specified by its DriveConnector? interface TDA in RaceEngine? on start.
So now every TDA instance is persistent during one race. Therefore I added an TDAInjectorFactory.

comment:11 Changed 16 years ago by SVN

New commit by froth (revision [316]):
[Related to ticket #17] forgot to commit the new available TDAInjectorBean

comment:12 Changed 16 years ago by SVN

New commit by froth (revision [345]):
[Related to ticket #17] added an experimental TDA frame (no working implementation)

comment:13 Changed 16 years ago by SVN

New commit by hheimbuerger (revision [346]):
[Related to ticket #17] Added steps attribute to <checkpoint> and added setPosition() method to CarPosition.

comment:14 Changed 16 years ago by SVN

New commit by froth (revision [350]):
[Related to ticket #17] added an experimental lib42 tda

comment:15 Changed 16 years ago by SVN

New commit by froth (revision [355]):
[Related to ticket #17] added a Testlib42FeedbackConnectorAdapter to simulate feedback from lib42

comment:16 Changed 16 years ago by Florian Roth

I am in checking out a basic concept to do in further calculation on physical bits and pieces for general approximation in tda between to known checkpoints.

First step would be check out:

  • carculate the way checkponit x to y in steps (how can i do this)
  • calculate the current speed in steps per gametick
  • calculate the time needed with current speed in gameticks to next checkpoint y

...
to be continued

comment:17 Changed 16 years ago by Henrik Heimbuerger

Owner: changed from nobody to Florian Roth

comment:18 Changed 16 years ago by SVN

New commit by froth (revision [364]):
[Related to ticket #17] added an ExperimentalLib42TDA implementation with the following functionality.

  • if a checkpoint is detected by lib42 the car will be set to this position
  • if not the car will move in a way i will document later (see code its simple)

comment:19 Changed 16 years ago by SVN

New commit by froth (revision [368]):
[Related to ticket #17] all stepwidth's in tiles.xml multiplicated with 10

I did this for all length and step attributes and for all tilesets.
Also fited the available TDA's to the new stepwidth's

comment:20 Changed 16 years ago by SVN

New commit by froth (revision [374]):
[Related to ticket #17] finished first tda with approximated illusion to the real attitude of a car on track

  • Added new TDA version
  • Fixed an bug in constructor of CheckpointData?
  • Changed an step attribute in tiles.xml to recommended value
  • Added the new TDA phisical engine to the ExperimentalLib42TDA

Further description about this TDA physics below

comment:21 Changed 16 years ago by Florian Roth

The physics of the current TDA's are not as usual. To get the break effect I did the following because I did not figgure out the acceleration approximation. But Iam happy now to have an speed addicted break effect.

speed = Math.max(Math.min((acceleration * raceTimerInterval) + (friction * raceTimerInterval) + speed, car
               .getTopSpeed()), 0);

       if(speed > getMaxSpeed(controllerSignal.getSpeed(), car)) {
           if(getMaxSpeed(controllerSignal.getSpeed(), car) == 0)
               speed--;
           else
               speed = getMaxSpeed(controllerSignal.getSpeed(), car);
       }

comment:22 Changed 16 years ago by SVN

New commit by froth (revision [375]):
[Related to ticket #17] This was forgotten in the last changeset of #17

comment:23 Changed 16 years ago by SVN

New commit by froth (revision [376]):
[Related to ticket #17] added the if(carPosition.isOnTrack){do tda stuff} thing

comment:24 Changed 16 years ago by Florian Roth

Maybe we can do that a car only leafs track in a curve. Maybe we can include in this physics the angel of the curve. ..

comment:25 Changed 16 years ago by SVN

New commit by froth (revision [379]):
[Related to ticket#17] Now the Bluerider also gets the DebugTDA

  • changed TDAInjectorFactory that Bluerider gets an DebugTDA
  • configured Bluerider in cars.xml that it looks a bit like the real on DebugTDA

comment:26 Changed 16 years ago by SVN

New commit by froth (revision [384]):
[Related to ticket #17] refactored ControlerSignal? speed to thrust

We discussed this and thrust is better for this

comment:27 Changed 16 years ago by SVN

New commit by froth (revision [389]):
[Related to ticket #17] fixed an left track bug in ExperimentalLIb42TDA

comment:28 Changed 16 years ago by Florian Roth

Resolution: fixed
Status: assignedclosed

Lib42TDA v0.1 (c) and SimulationTDA v0.1 (c) released.

comment:29 Changed 16 years ago by SVN

New commit by froth (revision [416]):
[Related to ticket #17] fixed the reset to right laneIndex problem on reset

comment:30 Changed 16 years ago by SVN

New commit by froth (revision [431]):
[Related to ticket #17] changed Lib42TDA to fix a bug added in one of the last changes

Know you get the effect that car will stop on checkpoints until he reaches it in real

Note: See TracTickets for help on using tickets.