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.
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?