smartBike is a prototype of an adaptive navigation system which is especially designed for e-bikes. Contextinformation like the current battery status or the drivers fitness level have an effect on the route finding. One of the key functionalities is that the system provides additional routes to the user if the bike runs out of battery. In that case, he simply gets redirected towards the closest charging station.
(c) 2012, Christoph Kieslich, Alexander Lenz, Michael Schöllhammer, Manuel Lindorfer - University of Applied Sciences Upper Austria Campus Hagenberg - Department Mobile Computing
2. smartBike
Overview
• Big Picture
• Motivation
• System Architecture
• Server
• Client
• Context Framework
• Sensor Technology
• Future Work
3. smartBike
Big Picture
• Android Navigation App for E-Bikes
• Personal routing
– Age
– Weight
– Fitnesslevel, …
• Adaptive routing
– Current batterylevel has an influence on the routing algorithm
– Redirection over nearby charging stations
4. smartBike
Motivation
• Increase cruising reach
• CO2 awareness
– Show the users how many CO2 they have saved
– Create footprints, graphs
• Motivate people to go by bicycle
7. smartBike
Server
• PostgreSQL-Database SOAP
• ASP.NET Webservice
– Communication via SOAP - XML
ASP.NET Webservice
NpgSQL
PostgreSQL DB
8. smartBike
Why PostgreSQL?
• Open Source DBMS
• PostGIS
– Geospatial querys on a object-relational database
– PostgreSQL-Server as a backend GIS
9. smartBike
pgRouting
• Open Source Routing Library
• Adds routing functionalities to an exisiting PostGIS/PostgreSQL database
– Calculation of shortest paths (Dijkstra, A*)
– Travelling Salesman Problem (TSP)
10. smartBike
OSM-Import
• Osm2po
– Java-based command line tool
– Produces routable SQL files
– Integrated web tool
11. smartBike
Route calculation
• Client requests a new route with a list of GPS-Coordinates (lat/lon) and
an unique user id
• Server mapps coordinates on valid positions
• Calculation of the euclidean distance between the positions
• Nearest-Neighbour-Heuristic is used to find the cheapest connection of all locations
• Route is stored to the database and transmitted to the user
13. smartBike
Client
• Android App
• Navigation mode
• Communicates with the server via SOAP
• Context Framework provides sensor values (pressure, energy, heading…)
• Shows nearby charging stations
14. smartBike
Client Librarys
• mapsforge
– Mapview
– Offline Maps
– OpenStreetMap Mapmaterial
• kSoap
– RPC for Client Server Communication
15. smartBike
Functions
• Map
– Fully offline mode
– Vector maps, use less space
• Navigation
– User types in there start / endposition
– Server calculates cheapest route
– Client presents the route
– Shows sensorvalues from the arduino
18. smartBike
Context Awareness
• Context
– is any information that can be used to characterize the situation of an entity. An
entity is a person, place, or object that is considered relevant to the interaction
between a user and an application, including the user and applications themselves.
[Anind K. Dey and Gregory D. Abowd]
– Location, Time, Movement, Volumne …
• Context is calculated from sensor values
19. smartBike
Android Context Service
• interface to offer context information to applications
Application 1 … Application N
Context Service
Context Aggregators
Hardware Sensors
20. smartBike
Implementation
• Hardware Sensors
– On Android device and Arduino board
• Context Aggregators
– Combine the output of sensors and context aggregators
– Offer context information
Context Aggregators
Running Driving Moving …
Hardware Sensors
GPS Acc Lightsensor …
21. smartBike
Architecture
• Framework
GPS Acc
– Context Aggregator:
• Input
Input
– Calibration or filters
• Output Moving
– Context is published
– New Context Aggregators can be implemented and
Output
used by interested applications
• Combined to get better and better context information
22. smartBike
Tasks
• Processes the raw Arduino sensor values
– Altitude changes
– Distance
– Velocity
– Compass
• Offers context information to Green Route Android Application
– To adapt the route according to the new context
– Show information to user
24. smartBike
Sensor System
• Aim: designing and developing a prototype of a µC-based Sensorsystem
including all relevant sensors for an E-bike Navigation Application
• Calculate all Sensor-Data periodically
• Wireless Transmission of the data to an Android-device
• Android Service as a receiver of the sensor-data
• -> Possibility to save energy with an alternate calculation of the position by
turning off the GPS-receiver partly
26. smartBike
Amarino
• Android meets Arduino
• Toolkit (Android-Lib + Arduino-Lib) to ease the BT-Communication between
Android-Devices and Arduino µC Boards
• It includes a simple frame based communication protocol
29. smartBike
Summary
• Adaptive navigation system for E-bikes
• Trying to convince people to go by bike
• Using sensors to gather context information and present it to user
30. smartBike
Future Work
• Improve Adaptive Routing
– Taking personal data into account
• Apply navigation functionality
• Calculation of CO2 footprint
• Visualization of following statistics
– Calorie consumption
– Altitude, elevation, speed