Diploma Thesis 2006

In 2006 I finished my engineering degree in Automation at the Technical University of Cluj-Napoca (Politehnica). My diploma thesis was a system for monitoring and controlling car fleets with bidirectional communication: a way to track every vehicle in a fleet in real time over the mobile network, and to dispatch work back to the driver over that same channel. My thesis advisor was Assoc. Prof. Eng. Daniel Moga, PhD.

The system had two halves. In each vehicle sat a piece of mobile equipment, a Windows CE PDA with a GPS receiver and a GPRS modem, that reported its position to a command and control center and displayed assignments to the driver. The control center collected positions from the whole fleet, decided which free vehicle was closest to a new job, and sent the assignment out for the driver to accept or decline. I built it end to end: the storage backend on Linux and MySQL, the operator interface on Windows, the communication server in between, and the software on the device itself.

The piece I am still proudest of is the geographical information system. Rather than buy a commercial GIS, I wrote a minimal one from scratch: map projections, an in-memory street graph, a shortest-path solver for routing, and a way to build the maps from satellite imagery. I tested the whole thing on a taxi fleet in Cluj and Alba Iulia, and used Google Earth with dynamically generated KML to visualise the routes and the speed traces.

What was new in 2006#

It is easy to forget how early this was. The first iPhone was still a year away, Google Earth had only launched the year before, and almost no one was carrying a GPS in their pocket.

  • Commodity networks instead of dedicated radio. Fleet tracking at the time usually meant expensive private radio infrastructure. I built mine on consumer GPS and the existing GSM/GPRS network, talking over IP, which made wide-area tracking cheap enough to be practical.
  • Genuinely two-way. Most systems then only tracked vehicles. Mine also sent assignments and routes back to the driver, who could accept or reject them, so the fleet could actually be dispatched and not just watched.
  • The ride-hailing model, before ride-hailing. Matching a job to the nearest available car and pushing it to that driver is exactly how Uber and its peers work. I built that dispatch loop for a taxi fleet three years before Uber was founded.
  • Push notifications, before the phrase existed. The control center pushed a new assignment to the device and it popped up on the driver’s screen for a yes or no. That is a push notification, built three years before Apple and Google gave the pattern a name.
  • A custom GIS built from nothing. There was no Google Maps API to lean on and OpenStreetMap had barely any data yet. Writing my own street graph and routing engine, light enough to run on the hardware of the day, was the only way to get there.
  • Google Earth as a live client. Google Earth was barely a year old. Using it, fed by KML I generated on the fly, as the visualisation front end for a fleet was genuinely novel.
  • Fighting GPS error in the city. I worked in DGPS/RTCM corrections and course estimation to handle the urban-canyon problem, where buildings wreck GPS accuracy, well before that was common in consumer applications.
  • Ideas that arrived years later anyway. The thesis proposed accelerometer-based crash detection with automatic ambulance dispatch, and using data gathered from the fleet to optimise city traffic and monitor air quality. Automatic emergency calling became an EU mandate around 2018, and crowd-sourced traffic data is now everywhere.