Motivation Traffic signal schedule information : unavailable Drivers : Accelerate, decelerate, and undergo a complete halt Causes increased fuel consumption, air pollution, and even road accidents. Speed-advisory driving system Map-independent and infrastructureless, only runs on smartphones and a server Traffic signal schedule is inferred and calibrated dynamically by the Internet server when there are vehicles accelerating as the light turns green Maximize the probability that drivers do not have to undergo a complete halt at intersections Smartphone capabilities 3-axis Accelerometer: measures the acceleration applied to the device in device’s body coordinate system, including the force of gravity. We need Acc. to infer intersection location and traffic signal phase transition. 3-axis Magnetometer: measures the geomagnetic field in device’s body coordinate system. We need Mag. to serve as a reference to transform acceleration into different coordinate systems. Global Positioning System: average accuracy of position is about 4-11 meters; devices’ position (longitude and latitude), speed (m/s), bearing (heading direction, in degrees), UTC time (in milliseconds since January 1, 1970), accuracy (in meters) Coordinate Systems Body Coordinate System: Local North-EastDown Coordinate System: (Local NED coordinate system) Transformation from body coordinate system to local NED coordinate system Rotation Matrix Transform acceleration vector from body coordinate system to Local NED coordinate system: Transformed Acceleration in local NED coordinate system Acc. in Local NED Coor. Sys. Time (s) Constructing Road-intersection Topology Volunteers : transmit acceleration data and GPS traces to the central server when wifi is available. Acceleration from zeros speed mostly happens at the intersection with traffic lights. Volunteers should try to avoid using this application in parking lots or residential areas so as not to produce false positives. Allow noise and acceleration on road segments. Acceleration location vectors Magenta vectors are valid acc. Black vectors are invalid acc. Mean shift to locate possible intersections We use a method similar to mean-shift to locate candidate intersections. Find possible intersections Bad ones: filtered away It may be parking lots or residential areas Valid ones: It may be intersections Road segment construction Raw GPS data sent by individual smartphone. Shown in different colors. Road segment construction Use anchor points (red circle with arrow) to simplify map data. Anchor points generated similar to mean-shift. Road segment construction B-Spline Use generated anchor points to reconstruct road segment. Here is an example. Road segment construction Ground truth from Google Map. Traffic signal schedule inference Smartphones transmit traffic phase transition signal to the server. Message: {intersection ID, index of in/out branch, time interval from acceleration to transmission, zero-speed state time interval, vehicle ID} Assume the popularity of this app. Assume drivers obey traffic rules Phases in intersections Phase Phase Phase Phase Phase length and sequence inference Smartphone sends its phase Si (i=0,1,2,3), acceleration time tsi (i=0,1,2,3) to the server. Find the min{ΔTsi} as the traffic signal cycle length T. Find the closest phase following each phase Si, so (tsj-tsi) is the duration of Si, denoted as dtsi. Sequence of phase {S0, S1, S2, S3} and the phase length {dts0, dts1, dts2, dts3} is determined, although not accurate. Traffic signal timing calibration Upon the arrival of the starting time (tsi) of phase Si, (i=0,1,2,3) the server judges whether the prediction is ahead of real time or is lagging behind, and then record the event time (tsi) and the number of times (nsi) each phase occurred. Into vectors: ts ns0 ns1 ns2 ns3 Traffic signal timing calibration To find the calibrated starting time (t0), and phase length (dtsi), we minimize the Mean Square Error. Target function: Taking partial derivative of each variable and let it equal to zero: Server Smartphone communication Routing: When the driver launches the system, the destination is specified and sent to server, the server calculates the route that takes least time, using Dijkstra algorithm. Server Smartphone communication Traffic signal schedule downloading & Optimal speed calculation: as the vehicle goes, the timing information of the two intersections ahead is provided by the server. Using the timing information and the GPS and map data, the smartphone calculates the best speed and advise the driver. Other Applications of this system Commercial map revision and refinement. We can provide a considerable amount of trace data that can be used to extract lane information and revise some inaccuracy of road and intersection position in some commercial maps such as Google Map. Traffic signal planning advisory service. The central server collects average vehicle speed of a particular road. If the average speed is much lower than a threshold, the system can infer road congestions and provide traffic signal adjusting suggestion to government agencies. Driving behavior and road condition estimation. Our system calculates and records vehicle acceleration. With combined information about vehicle travel direction, we can infer driver’s behavior and suggests better commuting safety. In addition, the bumps and potholes can be detected by the smartphone sensors and thus proper road maintenance advice can be obtained. Results of Matlab Simulation The number of times encountering a green phase or a red phase is compared. Results of Matlab Simulation The time spent waiting for green phase is compared. Results of Matlab Simulation The distance traveled per vehicle is compared. Results of Real-world Experiments Comparison of speed-acceleration histogram with and without CityDrive The End Results show that with our speedadvisory service throughout the travel, 58:8%of kinetic energy can be saved! Imagine a world with such intelligent transportation system! Thank you!