Sunday, February 3, 2008
CarTel is a distributed, mobile sensor network and telematics system. Applications built on top of this system can collect, process, deliver, analyze, and visualize data from sensors located on mobile units such as automobiles. A small embedded computer on the car interfaces with a variety of sensors in the car, processes the collected data, and delivers it to an Internet server. Applications running on the server analyze this data and provide interesting features for users.
We have used CarTel in several applications, including:
Commute and traffic portal: A Web site that shows all the trips made by a driver and makes personalized route recommendations based on the driver's own history as well as the aggregate driving history of other drivers with information along common paths. The portal provides interesting ways to visualize one's trips, and tools to analyze this data.
Note: This Boston Globe article on CarTel (which summarizes some of the applications of our project very well) suggests that “more often than not” it is better to hit the freeway than the byways in the Boston area. That happened to be true for a particular user's commute during his typical travel times. In reality, our data shows that things are much more complicated and depend on several factors, including which roads are being considered, the time of day, the day of week, weather conditions, and so on. If, upon reading the article, you decide to hit the freeway even against your better judgement, your commute may in fact take longer than you wanted it to — your mileage may, quite literally, vary!
MyRoute: CarTel's rich data set obtained from GPS-equipped cars enables us to model delays observed on various road segments as statistical distributions. These delay distributions are used by algorithms that compute optimal routes at different times of day between two points. “Optimal” does not always mean “shortest” or “shortest time”; it might also mean “most likely to get me to place X by 9am”. MyRoute is a CarTel-affiliated project done jointly with our CSAIL colleagues, Sejoon Lim, Daniela Rus, and David Gifford.
P2 (Pothole Patrol), a road surface monitoring system.
Fleet testbed, a 27-car CarTel deployment in the cars of a local limo company (PlanetTran). This testbed also serves as the “vehicle” for much of our research, allowing us to deploy software and applications on a running system (in addition, some user's cars also have CarTel nodes).
Wi-Fi Monitoring, mapping the proliferation of 802.11 access points in the Boston metro area.
On-board automotive diagnostics & notification: Use the OBD-II interface to monitor and report internal performance characteristics such as emissions, gas mileage, RPM, etc. These reports can be combined with historical data, thus highlighting long-term changes in a car's behavior. Such a system would be able to provide the driver with early trouble notification. In the future, with enough participation, this system could compare and “mine” data across multiple cars of similar make and age to identify anomalies in particular cars (e.g., “all the other cars show a value between X and 1.3X for this sensor, but your car shows a value of X/2, which is suspicious”).
Cars as mules. We have developed CafNet (“carry and forward network”) protocols that will allow cars to serve as data mules, delivering data between nodes that are otherwise not connected to one another. For example, these protocols could be used to deliver data from sensor networks deployed in the field to Internet servers without requiring anything other than short-range radio connectivity on the sensors (or at the sensor gateway node).
Unlike traditional automotive telematics systems that rely on cellular or satellite connectivity, CarTel uses wireless networks opportunistically. It uses a combination of WiFi, Bluetooth, and cellular connectivity, using whatever mode is available and working well at any time, but shields applications from the underlying details. Applications running on the mobile nodes and the server use a simple API to communicate with each other. CarTel's communication protocols handle the variable and intermittent network connectivity. To simplify application development, CarTel uses two well-known programming abstractions—pipes and databases—adapting them to the intermittently connected, mobile environment.