RoboRacer (AI Robot)
RoboRacer is a hands-on, project-based course built on the
F1TENTH autonomous racing platform, designed to teach the full
pipeline of autonomous driving โ perception, planning,
control, and safety engineering.
This course follows the official UPenn F1TENTH curriculum and
guides students through an end-to-end workflow:
Ubuntu โ ROS2 โ LiDAR perception โ AEB โ PID control โ
Follow-the-Gap โ Particle Filter Localization โ Graph-based SLAM โ
Pure Pursuit โ Real-world racing.
Full weekly schedule (Syllabus) Here
๐ฅ Course Overview
This course covers the full-stack AI robot system:
- Linux-based development environment
- ROS2 nodes, pub/sub, service-based architectures
- LiDAR perception, TTC (Time-to-Collision), and safety monitors
- PID-based wall following & real-time control
- Follow-the-Gap obstacle avoidance
- Particle Filter localization & Bayesian filtering
- Graph-based SLAM and mapping
- Pure Pursuit and racing-line optimization
- Real-world racing events and performance evaluation
The course culminates in official time-attack races using a real
F1TENTH vehicle.
๐ Course Highlights
- ROS2-based software stack for autonomous racing
- LiDAR perception and AEB (Automatic Emergency Braking)
- PID control and Follow-the-Gap obstacle avoidance
- Graph-based SLAM for mapping & localization
- Pure Pursuit trajectory tracking
- Particle Filter Localization
- Simulator-to-real transfer strategies
- Team-based racing competitions
๐ Weekly Topics (Enhanced)
- Week 1โ2: Intro to Robot Systems & F1TENTH
- Week 3โ4: Ubuntu, Git, Docker, ROS2 Fundamentals
- Week 5: Automatic Emergency Braking (AEB)
- Week 7: Launching the vehicle & rigid-body transforms
- Week 9: PID control & wall following
- Week 10: Follow-the-Gap obstacle avoidance
- Week 11: State Estimation, Filtering, Particle Filter Localization
- Week 13: Intro to Graph-based SLAM & mapping
- Week 14: Pure Pursuit
- Week 12 & 15โ16: Racing practice & competitions
ํ๊ตญ์ด ๊ฐ์์๊ฐ
๋ก๋ณด๋ ์ด์ (AI ๋ก๋ด ์์คํ )
RoboRacer(๋ก๋ณด๋ ์ด์) ๊ฐ์๋ F1TENTH ์์จ์ฃผํ ๋ ์ด์ฑ ํ๋ซํผ์
๊ธฐ๋ฐ์ผ๋ก ํ๋ ํ๋ก์ ํธ ์ค์ฌ์ ์ค์ตํ ๊ต๊ณผ๋ชฉ์ผ๋ก,
์์จ์ฃผํ์ ํต์ฌ ์์์ธ ์ง๊ฐ(Perception),
๊ณํ(Planning), ์ ์ด(Control), ๊ทธ๋ฆฌ๊ณ ์์ (Safety)์
์๋-ํฌ-์๋ ํ์ดํ๋ผ์ธ ์ ์ฒด๋ก ํ์ตํฉ๋๋ค.
UPenn ๊ณต์ F1TENTH ์ปค๋ฆฌํ๋ผ์ ๊ธฐ๋ฐ์ผ๋ก,
Ubuntu โ ROS2 โ LiDAR โ AEB โ PID โ Gap-following โ
PF Localization โ SLAM โ Pure Pursuit โ ์ค์ฐจ ๋ ์ด์ฑ
์ ์ด๋ฅด๋ ์ค์ ์์จ์ฃผํ ์์คํ
์ ๋จ๊ณ๋ณ๋ก ๊ตฌ์ถํฉ๋๋ค.
์ ์ฒด ๊ฐ์ Syllabus๋ ๋ค์์์ ํ์ธํ ์ ์์ต๋๋ค: Full weekly schedule (Syllabus)
๐ฅ ๊ฐ์ ๊ฐ์
์ด ๊ฐ์์์๋ ๋ค์๊ณผ ๊ฐ์ ์์จ์ฃผํ ์์คํ ์ ํต์ฌ ์์๋ฅผ ํ์ตํฉ๋๋ค.
- Ubuntu ๊ธฐ๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ ๊ตฌ์ถ
- ROS2 ๋ ธ๋, ํ ํฝ, ํผ๋ธ๋ฆฌ์ ยท์๋ธ์คํฌ๋ผ์ด๋ฒ ๊ตฌ์กฐ
- LiDAR ๊ธฐ๋ฐ ์ธ์ง ๋ฐ TTC ๊ณ์ฐ
- ์๋ ๊ธด๊ธ ์ ๋(AEB) ๊ตฌํ
- PID ๊ธฐ๋ฐ ๋ฒฝ ์ถ์ข ์ ์ด
- Follow-the-Gap ์ฅ์ ๋ฌผ ํํผ
- Particle Filter ๊ธฐ๋ฐ ์์น์ถ์
- Graph-based SLAM์ ์ด์ฉํ ๋งคํ
- Pure Pursuit ๊ธฐ๋ฐ ๊ฒฝ๋ก์ถ์ข ๋ฐ ๋ ์ด์ฑ๋ผ์ธ ํ๋
- ์ค์ฐจ ๊ธฐ๋ฐ ํ์์ดํ ๋ ์ด์ฑ ๋ํ
๐ ์ฃผ์ ํ์ต ๋ด์ฉ
- ์์จ์ฃผํ ๋ ์ด์ฑ์ฉ ROS2 ์ํํธ์จ์ด ์คํ
- LiDAR ์ธ์ง ๋ฐ AEB ๊ตฌํ
- PID ์ ์ด, Gap-following ๊ธฐ๋ฐ ์ฅ์ ๋ฌผ ํํผ
- SLAM, Particle Filter Localization
- Pure Pursuit ์ฃผํ ์ ๋ต
- ์๋ฎฌ๋ ์ดํฐโ์ค์ฐจ ์ ์ด(Sim-to-Real)
- ํ ๊ธฐ๋ฐ ๋ ์ด์ฑ ๋ฐ ์ฑ๋ฅ ํ๊ฐ
๐ ์ฃผ์ฐจ๋ณ ์์ฝ (๊ฐํ ๋ฒ์ )
- 1โ2์ฃผ์ฐจ: ๋ก๋ด ์์คํ ๋ฐ F1TENTH ์๊ฐ
- 3โ4์ฃผ์ฐจ: Ubuntu, Git, Docker, ROS2 ์ค์ต
- 5์ฃผ์ฐจ: AEB ๊ตฌํ
- 7์ฃผ์ฐจ: ์ฐจ๋ ๋ฐ์นญ & ๋ณํ(Transform)
- 9์ฃผ์ฐจ: PID ๊ธฐ๋ฐ Wall Following
- 10์ฃผ์ฐจ: Follow-the-Gap ์ฅ์ ๋ฌผ ํํผ
- 11์ฃผ์ฐจ: ๋ฒ ์ด์ฆ ํํฐยทํํฐํด ํํฐ ์์น์ถ์
- 13์ฃผ์ฐจ: Graph-based SLAM
- 14์ฃผ์ฐจ: Pure Pursuit
- 12 & 15โ16์ฃผ์ฐจ: ์ค์ฐจ ์ฃผํ ์ฐ์ต ๋ฐ ๋ ์ด์ฑ ๋ํ