Intelligent Racing Seat Design Research
Intelligent Racing Seat Design Research
[Link]
ISSN Online: 2331-4249
ISSN Print: 2331-4222
Human-Machine Interaction Lab, School of Industrial Design, College of Design, Georgia Institute of Technology,
Atlanta, USA
Keywords
Design Research, Design Planning, Automotive, Engineering Design, Racing
Accessories, Seat Design, Georgia Tech, Industrial Design, HMI Lab
1. Introduction
Between 2017 and 2022, the automotive seat market will experience an
on-average Compound Annual Growth rate of 10% [1]. The landscape of users
in this market include, but are not limited to, drivers that use vehicles to com-
plete everyday tasks, drivers that use vehicles as their workplace, and drivers that
DOI: 10.4236/wjet.2018.62026 May 30, 2018 420 World Journal of Engineering and Technology
T. Hyman, [Link]
modifications to his or her vehicle, though multiple drivers may use the same
car. This type of driver may bring an extra set of competition tires to swap in
and out, however, they are attracted to the low financial commitment necessary
to be a competitive driver in this class. Despite there being a low barrier to entry,
many Solo competitors have expressed that there are plenty of Street drivers that
are overall better drivers than those that compete in the Modified class, for ex-
ample.
2) Secondary Stakeholder: The Racing Seat Driver
The racing seat driver uses his or her own car as both a daily driving and
competition vehicle, he or she minimal changes to the interior of the car, and he
or she has permanently switched out the OEM seat in exchange for an aftermar-
ket racing seat. The racing seat driver typically competes in the Street Touring,
though he or she is allowed to compete in all racing classes except for Street.
Street Touring is the ideal racing class for this persona due to the higher finan-
cial commitment required by the higher classes.
3) Tertiary Stakeholder: The Different Seats Driver
The different seat driver is a unique stakeholder, as he or she switches the
OEM seat prior to or upon arrival to the Solo competition. This stakeholder has
chosen to switch out their seats due to complaints surrounding daily driver
comfort and durability regarding racing-specific seats. This stakeholder com-
petes in all racing classes except for Street, and most commonly competes in
Street Touring and Street Prepared classes.
4) Quaternary Stakeholder: The Different Cars Driver
The different cars driver tows his or her competition vehicle to the Solo com-
petition via trailer. Modified and Prepared class rules allow for the large number
of changes that these stakeholders to their vehicles. The different cars driver
spends the most capital on changes vehicle changes—most of these vehicles have
very few OEM parts. As a result, this stakeholder not only requires the most fi-
nancial commitment, but also the most background knowledge of vehicular en-
gineering and design.
improves driving ability. Solo drivers explained that to be skilled, one must bea-
ble to drive by “the seat of the pants feel”. The “seat of the pants feel” is driver
jargon for one’s driving intuition and ability to naturally respond to feedback
from one’s own vehicle, communicated through the driver’s seat pan surface [5].
These natural reactions are the most effective way to navigate unfamiliar Solo
tracks; the ability to process information quickly and properly respond instan-
taneously is a skill that many drivers have expressed can only be developed
through “seat time”—driver jargon for the amount of time spent in the driver’s
seat competing in Solo events. Very few drivers possess OBD (on-board diag-
nostic) systems to relate brake and throttle position to specific instances on a
course as well as gravitational forces on car suspensions. Additionally, OBD sys-
tems are thousands of dollars and are unaffordable for most users that compete
in Autocross. For those that do make the financial commitment and purchase
this software, many have to take classes or workshops, another large financial
commitment, to understand the data that the software is presenting.
These design directions allowed researchers to test which scenario has the
largest share of stakeholders through consented survey data presented in Ap-
pendix A. Drivers of all skill levels and all Solo classes have the need to improve
racing ability, and existing solutions to improving ability are extremely costly for
drivers. The typical SCCA member will spend $1971 dollars per year on car im-
provements and upkeep [4]. Evaluating these stakeholders using quantitative
data to verify qualitative research insights confirms that research should contin-
ue in Design Direction (3), allowing us to develop stakeholder needs, impera-
tives and design principles to be outlined in Section 2.4.
were on opposite legs, signifying a shift in body weight during a turn. In subse-
quent testing rounds, data was also gathered in a controlled driving environment
similar to that of an SCCA event. The primary goal of these testing rounds was
to confirm that additional sensor configurations would not yield clearer results.
These testing rounds confirmed researchers’ hypothesis that the seat pan surface
was the best setup for gathering data that would characterize driving behavior.
tem Pressure mat to characterize driver seat movement across the seat pan sur-
face. Authors expected to see certain areas of the pressure sensor mat activate
based off of specific driving behavior or actions. Using these sensors combined
with synchronized video data of the course, researchers could confirm that sen-
sors were in-fact reading these movements properly. Figures 7-9, demonstrate
different driving actions and the corresponding activation of sensors due to leg
movement and pressure.
Figure 7. Acceleration.
data from the previous drive in real time, updating itself based on individual
driving habits to determine whether the driver is performing the correct driving
action and the precise moment. In this case, some type of digital driving coach
or avatar could be created from the AI platform.
5. Conclusion
Though the directions to this project are open ended, there are specific qualities
in each use case scenario that align and meet the criteria specified by the afore-
mentioned design principles and imperatives. Drivers need to know how to im-
prove their driving, and a low-cost, technologically-advanced, sensor-based
technology that allows them to do so. This technology can additionally be de-
veloped to meet the needs of similar user groups, such as those in the Go-kart
industry, a primary segue for garnering interest in racing for young adults and
children. By informing, teaching, and clarifying driving data, this product aims
to give racers a competitive edge.
Acknowledgements
The authors would like to thank the members of the Sports Car Club of America
for their generous support of the project, specifically, Tom Gorman, Randall
Prince, and Dave Hardy—the SCCA Southeast Region Leadership. Also deserv-
ing recognition is Dr. Stephen Sprigle of the REAR Lab at the Georgia Institute
of Technology for letting the HMI lab borrow their Tekscan sensors. Finally, the
authors would like to thank General Motors and Autodesk through which this
research project was partially funded.
References
[1] Hiemstra-van Mastrigt, S., Kamp, I., van Veen, S.A.T., Vink, P. and Bosch, T.
(2015) The Influence of Active Seating on Passengers’ Perceived Comfort and Ac-
tivity Levels. Applied Ergonomics, 47, 211-219.
[2] Patnaik, D. (2017) Create Space Independent Publishing Platform. 4th Edition.
[3] SCCA. What Is Autocross? Sports Car Club of America.
[Link]
[4] SPORTSCAR Magazine (2014) RACER. SPORTSCAR Magazine Media Kit 2014
Issue. [Link]
[5] Fuller, R. (2005) Behavioral Research in Road Safety 2005: Fifteenth Seminar. Uni-
versity of Dublin, Department for Transport, London.
[Link]
[6] Learnard, D., Nguyen, G., Strauss, A., Zhang, I. and Eberle, M. (2017) Interactive
Sensor Based Driver’s Seating Design: General Motors Final Report. School of In-
dustrial Design, Capstone Studio Final Project Report, Georgia Institute of Tech-
nology.
int i = 0;
const int FSR_PIN = A0;
const int FSR_PIN1 = A1;
const int FSR_PIN2 = A2;
const int FSR_PIN3 = A3;
const int FSR_PIN4 = A4;
const float VCC = 4.98;
const float R_DIV = 1000000;
const int sampleSize = 500;
const int IRPin = A5;
void setup() {
// int fsrADC;
// open serial connection
[Link](9600);
pinMode(FSR_PIN, INPUT);
pinMode(FSR_PIN1, INPUT);
pinMode(FSR_PIN2, INPUT);
pinMode(FSR_PIN3, INPUT);
pinMode(FSR_PIN4, INPUT);
pinMode(IRPin, INPUT);
//[Link]("CLEARDATA"); // clears sheet starting at row 2
[Link]("CLEARSHEET"); // clears sheet starting at row 1
void loop() {
float dataArray[5]; //create an array of all 5 data points for each second
//////PS0
if (fsrADC != 0) // If the analog reading is non-zero
{
// Use ADC reading to calculate voltage:
float fsrV = fsrADC * VCC / 1023.0;
// Use voltage and static resistor value to
// calculate FSR resistance:
float fsrR = R_DIV * (VCC / fsrV - 1.0);
// [Link]("Resistance: " + String(fsrR) + " ohms");
// Guesstimate force based on slopes in figure 3 of
// FSR datasheet:
float fsrG = 1.0 / fsrR; // Calculate conductance
// Break parabolic curve down into two linear slopes:
if (fsrR <= 600)
force = (fsrG - 0.00075) / 0.0000000168;
//force = (fsrG - 0.00075) / 0.00000032639;
else
force = fsrG / 0.0000000328;
//force = fsrG / 0.000000642857;
// [Link]("Force: " + String(force) + " g");
// [Link]();
/////////////////
//delay(500);
}
else
{
// No pressure detected
}
//////PS1
if (fsrADC1 != 0) // If the analog reading is non-zero
{
//////PS2
if (fsrADC2 != 0) // If the analog reading is non-zero
{
float fsrV2 = fsrADC2 * VCC / 1023.0;
// Use voltage and static resistor value to
// calculate FSR resistance:
float fsrR2 = R_DIV * (VCC / fsrV2 - 1.0);
// [Link]("Resistance: " + String(fsrR) + " ohms");
// Guesstimate force based on slopes in figure 3 of
// FSR datasheet:
float fsrG2 = 1.0 / fsrR2; // Calculate conductance
// Break parabolic curve down into two linear slopes:
if (fsrR2 <= 600)
force2 = (fsrG2 - 0.00075) / 0.0000000168;
//force2 = (fsrG2 - 0.00075) / 0.00000032639;
//force2 = (fsrG2 - 0.00075) / 0.00000032639;
else
force2 = fsrG2 / 0.0000000328;
//force2 = fsrG2 / 0.00000075;
//force2 = fsrG2 / 0.000000642857;
// [Link]("Force: " + String(force) + " g");
// [Link]();
//delay(500);
}
else
{
// No pressure detected
}
//////PS3
//////PS4
if (fsrADC4 != 0) // If the analog reading is non-zero
{
float fsrV4 = fsrADC4 * VCC / 1023.0;
// Use voltage and static resistor value to
// calculate FSR resistance:
float fsrR4 = R_DIV * (VCC / fsrV4 - 1.0);
// [Link]("Resistance: " + String(fsrR) + " ohms");
// Guesstimate force based on slopes in figure 3 of
// FSR datasheet:
float fsrG4 = 1.0 / fsrR4; // Calculate conductance
// Break parabolic curve down into two linear slopes:
if (fsrR4 <= 600)
force4 = (fsrG4 - 0.00075) / 0.0000000168;
//force3 = (fsrG3 - 0.00075) / 0.00000032639;
dataArray[0] = force;
dataArray[1] = force1;
dataArray[2] = force2;
dataArray[3] = force3;
dataArray[4] = force4;
// [Link]("SENSORVALUE,");
//// [Link](i++);
//// [Link](",");
//// [Link](millis());
//// [Link](",");
// [Link](force);
// [Link](",");
// [Link]("SCROLLDATA_20");
// clear some cells in Excel (rectangle range from B10 to D20)
// if(i==100)
// [Link]("ClearRange,B,10,D,20");
//
// // do a simple beep in Excel on PC
// if(i==150)
// [Link]("BEEP");
// read a value (in this case integer) from Excel (from a sheet by name)
// if(i==200)
// {
// [Link]("CELL,GET,FROMSHEET,Simple Data,E,4"); // ==>
request value from sheet
// // [Link]("CELL,GET,E4"); ==> short version to read from ac-
tive sheet in Excel
// int readvalue = [Link](10).toInt(); // get response.
Note: the '10' is important! Always use but never change ;-)
// [Link]( (String) "Value of cell E4 is: " + readvalue); // result dis-
played in Excel DirectDebugWindow to double check
// }
"DATA" is missing
// // instead this information can be seen in the direct debug window
// }
// and for forced quit of Excel with saving the file first
// if(i==450)
// {
// [Link]("CUSTOMBOX3,GET");
// if([Link](10).toInt()) {
// [Link]("SAVEWORKBOOKAS,450-Lines-File");
// [Link]("FORCEEXCELQUIT");
// }
// else
// [Link]("No forced Excel quit requested!");
// }
}
%this code reads in values from a specified excel data sheet containing
%code for A401 Pressure Sensors and displays the pressure data for each
%sensor as a function of time (1/5 of a second—there are five data points
%for each second).
datafilename = 'example_data.xlsx';
sensor0data = 'B1:B37';
sensor1data = 'C1:C37';
sensor2data = 'D1:D37';
sensor3data = 'E1:E37';
sensor4data = 'F1:F37';
seconds = 'J1:J37';
sheet1 = 1;
%plot seat sensor data as a function of time. 'hold on' command allows
%multiple plots to be shown on the same figure.
figure
plot(readtime, readseatsensor0);
hold on
plot(readtime, readseatsensor1);
hold on
plot(readtime, readseatsensor2);
hold on
plot(readtime, readseatsensor3);
hold on
plot(readtime, readseatsensor4);
legend('Right Rear Sensor', 'Left Rear Sensor', 'Right Front Sensor', 'Left Front
Sensor', 'Back Sensor')
xlabel('seconds');
ylabel('force in gs');
hold off