F1TENTH
F1TENTH is a 1/10th scale racing car that serves as a platform to research Head-to-Head Autonomous Racing. I got access to this vehicle by doing a URA under professor Yash Pant since September 2022.
I implemented the entire software stack onto this car (mapping, localization, raceline generation, pure pursuit, obstacle avoidance) using ROS2. During this process, I learned so much about autonomy and realized just how much effort it takes to simply getting Robotics to work.
The F1TENTH is worth $3000+ and equipped with:
- Nvidia Jetson NX (Compute Platform)
- Hokuyo 10LX (LiDAR)
- VESC 6 MkV (Motor Controller)
- Intel RealSense D345i (Depth Camera) (OPTIONAL)
Engineering Focus (DONE)
Got really good at implementing algorithms on ROS2, including:
- Perception: SLAM (Mapping), Particle Filter (Localization), Occupancy Grids from LiDAR scans
- Planning: Generate Optimal Racelines with Convex Optimization, RRT* for Obstacle Avoidance
- Control: Pure Pursuit and Stanley Controller (better) for line tracking
Competed at F1TENTH @ CPS-IoT Week 2023 for May 2023. Got fastest qualifying lap. Crashed out for race day due to Localization issues with changing track conditions.
Some things I still want to look into:
Research Focus (In Progress)
Check out Head-to-Head Autonomous Racing and F1TENTH Research Proposal. Very much still in the early phases of ideation. This stuff is hard…
Through the research, I’ve learned about concepts such as
External Links
- https://f1tenth.org/
- F1TENTH Foxy Documentation, pdf version here
- Bill of Materials
- F1TENTH Syllabus 2023 (Google Sheets, includes lecture videos)
- F1TENTH permanent syllabus
- F1TENTH Code by CL2-UWaterloo (GitHub)
- Autonomous Racing Literature
Concepts Learned from Lab Assignments
- Automatic Emergency Braking (AEB) Lab2
- PID Control for Wall Following Lab3
- Obstacle Avoidance Lab4
- Scan Matching Lab5
- Particle Filter Use particle_filter
- SLAM Lab6, use slam_toolbox
- Motion Planning using RRT Lab7
- Perception Lab8
F1TENTH Notes
Concepts
- Rigid-Body Transformations
- Ackermann Steering
- Model Predictive Control
- Raceline Optimization using Optimal Control
- Teleoperation
- Head-to-Head Autonomous Racing
- F1TENTH Research Proposal
Links to Projects
About the F1TENTH Car
One of the coolest features that was presented is this custom ESC, the VESC - Vedder ESC which has so many COOL features, including built-in IMU chips and Regenerative Braking.
Links
- Building the F1/10 car , with slides
It uses a Velineon 3500 Brushless Motor Motor (BLDC)
- RPM/volt: 3500, so we operate at 10-12V,
- Max RPM: 50,000 (this is ridiculously high) → It can go up to 30 miles per hour
- Wire size: 12-gauge
Full voltge: ~12.2V Low Voltage: Around 11V is where it is start to get really low.
Other random things I learned:
- Slipper Clutch
- This is a safety feature
Engineering Lessons
- SLAM doesn’t work when Odometry is inverted
- Car doesn’t drive well / squeaking, then it is most likely a hardware issue. In my case, it was because the pinion and the spur gear didn’t make a solid connection