I built this during the pandemic to learn about model predictive control and autonomous systems design. The F1TENTH platform is build on a common 1/10 scale rc car that navigates a track fully autonomously.

Beyond getting it running, I focused on improving performance across different hardware configurations. Using DOE with sway bar type and shock stiffness as factors, the setup was optimized to minimize lap times. This one taught me a lot about how physical hardware parameters interact with control system performance.

F1TENTH Car

Some DOE results exploiting the above throttle characteristics:

## # A tibble: 1,440 × 5
##    sway_bar_type shock_stiffness condition   time trial
##    <chr>         <chr>           <chr>      <dbl> <dbl>
##  1 Stiff Low     Travel High     mid-corner  2404     1
##  2 Stiff High    Travel Low      into        2218     1
##  3 Stiff High    Travel High     into        2179     1
##  4 Stiff High    Travel High     out of      2142     1
##  5 Stiff High    Travel High     into        2128     2
##  6 Stiff Low     Travel High     out of      2063     1
##  7 Stiff Low     Travel High     out of      1986     2
##  8 Stiff Low     Travel High     into        1947     1
##  9 Stiff High    Travel Low      mid-corner  1941     1
## 10 Stiff High    Travel High     into        1858     3
## # ℹ 1,430 more rows

Validation of the optimized parameters:

The easiest way to achieve these results is to code up a new algorithm, but where is the fun in that?