This repository contains implementation of autonomous driving algorithms used to race around a 1/10th model of a F1 car.
This is my solution for implementing Gap following with clever ideas to help the reactive planner navigate tight turns, and obstacles. Will add testing videos soon!
The repository for this lab is: here
Race 1 Video: (Best time around the track: 7.8s)
IMG_5017.MOV
Simulation Implementation (Includes raceline optimization):
opt_trajectory-2025-03-23_16.27.54.mp4
Race 2 Video: coming on 29th March
Subscribers:
- Odometry topic (nav_msgs::msg::Odometry): wheel odometry/particle filter
Publishers:
- Speed and heading angle to drive (ackermann_msgs::msg::AckermannDriveStampe)
- Visualize corners on Rviz (visualization_msgs::msg::MarkerArray)
- Visualize lookahead waypoint (visualization_msgs::msg::Marker)
- viz_waypoints.py : Visualize entire waypoints from csv in Rviz.
- waypoint_logger.py : Log waypoints in (x, y, theta, speed) format in csv file reading from a topic.
- smoother.py : Downsampling and smoothing waypoints using slerp.
Using RRT for informed planning and to avoid obstacles. Also experiemnting with RRT*, Kinodynamic RRt, etc.
Simulation Implementation (RRT with local occupancy grid, speed = 2m/s):