Automatic Transmission Emulation

Hi all, based on two variables I’m trying to determine which gear I should be in on an automatic transmission. The ‘x axis’ is in kilometres per hour (0 - 160KPH) and the ‘y axis’ is throttle position (i.e. between 0=closed throttle and 100% = full throttle).

The gear change points are represented by three fairly linear ‘up shift’ lines that are defined by the transmission manufacturer, i.e. 1-2, 2-3, 3-4. Similarly there are three down shift lines representing when the transmission should shift down a gear.

The output is a number: 1 = 1st Gear, 2 = 2nd Gear, 3 = 3rd Gear and 4 = 4th Gear

Any ideas how I would represent this in XOD? many thanks.

Slope is generally written as y=mx+b. In your case, this means throttle=slope*speed+constant. You will need a different slope and constant for each gear change.

Based on speed, you would calculate throttle position for gear shift. If current throttle is less than calculated throttle for upshift, it is time to shift. If current throttle position is greater than calculated throttle position for downshift, then it is time to shift. You can use nth-input nodes to select which calculated values to use (current gear would be used for nth-input-IDX).

A count node that allows you to increment and decrement could be used to store current gear (I don’t think built in node allows decrement, you can use an existing library or create your own around a buffer node).

Thanks for the reply. I will have a go at implementing using the method you describe. Thanks for your help.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.