← Work / Foundations

Co-founder · 2015 – 2016

Varden Labs

Driverless low-speed shuttles for private campuses. Our first prototype became the first self-driving vehicle on Canadian roads; we went through Y Combinator and later pivoted the company into Embark.

Role
Co-founder
Period
Jan 2015 – Apr 2016
Team
2 founders, growing to 4
Program
Y Combinator W16 · $2M seed
Stack
ROS · Velodyne VLP-16 · NovAtel GPS · custom actuators
Press
Discovery Channel, national news
Varden Labs Gen 2 shuttle parked at a hilltop overlook
Gen 2 shuttle on a Polaris Gem, California, 2016
Jul 2015
First self-driving vehicle on Canadian roads: a fully autonomous lap of Ring Road
2 months
From used golf cart to working prototype
YC W16
Accepted to Y Combinator; team moved to California
$2M
Seed round raised at Y Combinator Demo Day

Overview

My engineering classmate and I founded Varden at the start of 2015, in second year of Mechatronics at the University of Waterloo. What started as a summer project became a company building driverless shuttles for privately owned campuses like universities.

We went full time in May 2015. Within a month we had converted a used golf cart to follow a pre-recorded route with nobody on board, slowing or stopping for obstacles in its path.

Gen 1 — “Marvin”

Built by my co-founder and me in two months. We added custom steering and brake actuators, tapped into the existing throttle, and used an embedded controller to interface with actuators and sensors.

High-level software ran in ROS on a laptop. We recorded GPS waypoint paths by driving a route once, then followed them with a pure-pursuit steering controller. A lidar occupancy grid, overlaid on the planned trajectory, slowed the vehicle when objects were near the path and stopped it when they were on it. That simple approach handled nearly all non-adversarial situations at our speeds of up to 16 km/h.

Gen 1 golf cart on a paved track with nobody on board, a laptop mounted beside the steering wheel
Gen 1 “Marvin” driving with nobody on board

Gen 1 system architecture

  1. Sensors
    NovAtel GPS±2 cm (1σ, open sky)
    Velodyne VLP-16 lidar360° point cloud
  2. High-level
    ROS laptopPure-pursuit path following · local occupancy grid for obstacles
  3. Low-level
    Embedded controllerActuator interface & sensing
  4. Actuators
    Steering servocustom
    Brake actuatorcustom
    Throttletapped into existing
Gen 1 “Marvin”: sensors to actuatorsSimplified

Gen 2 — Polaris Gem

At the start of Y Combinator we moved to a Polaris Gem electric shuttle, capable of 35 km/h, close to our target product speed. I designed its drive-by-wire actuators and its embedded safety system. We started with a ruggedized ROS computer handling everything, then moved vehicle interfacing to a custom board with multiple microprocessors and safety verification.

Garage workshop: the Gen 1 golf cart with its roof sensor rack on the left, the Gen 2 Gem on the right with its front panels off and wiring exposed, and a desk with a joystick between them
Gen 1 (left) and Gen 2 (right) in the garage

We toured private campuses around California to demonstrate the shuttle in different settings.

Gen 2 shuttle in a campus courtyard, with two people walking towards it
Gen 2 campus demo

Localization

Like Gen 1, the Gem carried a single Velodyne VLP-16 with a full view around the vehicle. But a survey-grade GPS in every vehicle didn’t work economically or in poor conditions, so we began localizing with lidar and high-resolution 3D maps. The plan was to map each campus once with a removable GPS rig, using ICP scan registration and a particle filter, then localize online against that map with a cheaper GPS.

Gen 2 shuttle in a parking lot, with a lidar and a GPS antenna on a rack along its roof
Gen 2 with its roof-mounted lidar and GPS antenna

By the time we pivoted, our maps were good enough to localize on; online localization had been tested in simulation.

Outcome

We raised a $2M seed round at Y Combinator’s Demo Day. Around the same time we saw how under-served self-driving trucking was, and in April 2016 we pivoted the company and renamed it Embark.

Related