Self-Driving Campus Car

Coolest project so far

A self-driving electric vehicle that three other dreamers and I built from scratch, and paid for ourselves, back in high school.

  • Taoyuan Vocational HS (NTUT-affiliated)
  • HS Year 3
  • 2023–2024
  • Team project
A white surrey bike parked next to a field. It's no ordinary surrey bike, though; it's our self-driving campus car.
2ndPlace 3rdPlace

Highlights

  • Taiwan’s first passenger-carrying electric self-driving car designed and built by high school students
  • Close to Level 3 autonomy on campus
  • 100% built by us, from the electric car itself to the self-driving stack
  • Carries 8+ people
  • tyAI, our own semantic segmentation model
  • Sliding Box, a path-planning algorithm we came up with ourselves
  • Electronically controlled steering
  • Homemade map & navigation system
  • A shuttle-booking app for the self-driving car
The TYAI semantic segmentation model
The TYAI semantic segmentation model

Challenges and How We Handled Them

Funding

For a bunch of high schoolers, this project burned through money like crazy. Even after the school’s project budget, we were still about 80% short, so we only got our big plan off the ground after everyone on the team put in a lot of hours at part-time jobs.

Getting the Car Home

To carry people safely and reliably, we gave up on building our own frame. Instead, we spent some time tracking down a scrapped surrey bike from a rental shop at a fishing harbor. The team decided to take on a 30+ km ride to pedal it all the way from the harbor back to school in downtown Taoyuan. Sadly, 8 km in, the sea wind turned out to be way too strong, so we called a classmate’s parent last minute and they hauled it back to school in a truck. Huge thanks again to that classmate’s whole family 🤗

Going Electric

Once we had a frame, we immediately ordered an electric motor and parts online. When everything arrived, we realized none of us had any welding experience. So we took the chance to learn welding from the school’s Bio-Industrial Mechatronics and Automotive departments, and successfully hooked the motor up to the bike’s original pedal drivetrain.

Electronic Steering

At first we planned to dig into brushless motor control for the steering. But with graduation only half a year away, we decided to try a servo with 60 kg-cm of torque instead. Turns out it really struggled to turn the wheel, so in the end we just threw money at the problem and upgraded to a 150 kg-cm servo.

Semantic Segmentation Model

By graduation, we had collected a dataset of about 2,000 images and hand-labeled six classes: road, sidewalk, person, scooter, car, and traffic cone. We then trained on top of the official DeepLab V3+ weights, and got accuracy that’s good enough to use in daylight.

Self-Driving System

In version one, we ran the segmented road data through some image processing to find the road edges, used those to compute the center of the road, and had the car follow that center line. But the ride was really wobbly. That’s when we realized we needed an algorithm that’s “not quite so precise,” and that’s how our own “Sliding Box” algorithm was born. After a lot of testing, it proved it could run reliably around campus.

Sliding Box actually has three modes: turn right, keep right and go straight, and turn left. To get fully autonomous driving, the car has to switch between them intelligently. So we mapped the campus in OpenStreetMap and set up a map server. The head unit just sends a start and destination to the server, the server sends back a planned route, and the self-driving system switches modes based on its current position and the route data.

Head Unit

Once every system had a basic prototype, we started building a super cool head unit. We used an iPad to run it and built some super cool software that lets you set navigation, control the lights, and see what the self-driving system is detecting.

Sensors

Self-driving needs GPS and compass data to work. Our original plan was to just upload the head unit’s location to the server, until we suddenly realized the Wi-Fi iPad doesn’t have GPS. So we bought a GPS module, mounted it on the car, and used LoRa to send the data back to our base. But our campus is huge and sits in the middle of the city with tons of radio interference, so LoRa couldn’t cover the whole school. In the end, we installed our app on an old phone and had it upload the location and compass data to the server.

Small Wins

  • 3rd place, National Project Competition
  • 2nd place, International START Presentation Competition
  • A high school memory unlike any other
  • It planted the seed of my interest in self-driving cars. In college I’m still working on autonomous driving with the YunTech No. 1 team