Towards a REST architecture for networked vehicles and sensors


Published on

We present our efforts towards the creation of an open web-based architecture for controlling the behavior of systems composed by static sensors, mobile sensors and unmanned vehicles. We present the initial implementation of the architecture and its application to our hardware devices.

Published in: Technology
1 Comment
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Apresentações pequeno tutorial, essencialmente prático de Stateflow e Simulink
  • Pelo outline nota-se que vai ser uma sessão essencialmente prática. Começo por introduzir simulink/stateflow, depois exemplo prático na modelaçãao de FSMs em stateflow Depois ODEs e sua simulação no simulink Por fim automatos híbridos e mais um exercício prático Eu não tenho matéria para as 3 horas portanto têm duas opções. Fazer um intervalo às 11 ou sair meia hora mais cedo.
  • Towards a REST architecture for networked vehicles and sensors

    1. 2. Towards a REST-style architecture for networked vehicles and sensors José Pinto, Ricardo Martins, João Borges Sousa Web Of Things 2010 – Mannheim
    2. 3. Presentation Outline <ul><li>LSTS Technologies </li></ul><ul><ul><li>Unmanned Vehicles </li></ul></ul><ul><ul><li>Wireless Sensor Networks </li></ul></ul><ul><ul><li>Drifting sensors </li></ul></ul><ul><ul><li>Software stack </li></ul></ul><ul><li>Abstract System Description </li></ul><ul><li>REST-style architecture </li></ul><ul><li>Implementation and results </li></ul>
    3. 4. Underwater Systems and Technology Lab (LSTS) <ul><li>1. </li></ul>
    4. 5. Underwater Systems and Technology Lab <ul><li>Mission </li></ul><ul><ul><li>“ To design and deploy innovative solutions for oceanographic and environmental applications” </li></ul></ul><ul><li>Technologies </li></ul><ul><ul><li>Autonomous and remotely operated submarines </li></ul></ul><ul><ul><li>Unmanned Air Vehicles </li></ul></ul><ul><ul><li>Autonomous Surface Vehicles </li></ul></ul><ul><ul><li>Wireless Sensor Networks </li></ul></ul><ul><ul><li>Drifting and Moored Sensors </li></ul></ul><ul><ul><li>Flexible Software Infrastructure </li></ul></ul><ul><li>Team </li></ul><ul><ul><li>Multi-disciplinary (EE, CS, ME) group of 20+ researchers </li></ul></ul>
    5. 6. Unmanned Vehicles at LSTS (1) <ul><li>Autonomous Submarine for long range missions </li></ul><ul><li>Acoustic Modem, ADCP, Sidescan Sonar, CTD, IMU, GPS </li></ul><ul><li>Acoustic modem, Wi-Fi and GSM/GPRS communications </li></ul><ul><li>Low cost and small (lightweight) </li></ul><ul><li>Modular sensors (altimeter, GPS, CTD, IMU, …) </li></ul><ul><li>Acoustic modem, Wi-Fi and GSM/GPRS communications </li></ul><ul><li>7 vehicles built since 2008 </li></ul>Light Autonomous Underwater Vehicle (LAUV) New Autonomous Underwater Vehicle (NAUV)
    6. 7. Unmanned Vehicles at LSTS (2) <ul><li>Built completely in FEUP </li></ul><ul><li>IMU, LBL Navigation </li></ul><ul><li>Onboard camera and robotic arm </li></ul><ul><li>Remotely operated using a laptop/joystick </li></ul><ul><li>On board real-time control </li></ul><ul><li>Katamaran frame with two electric thrusters </li></ul><ul><li>Wireless video camera, sonar </li></ul><ul><li>Wi-Fi and GSM/GPRS communications </li></ul>Swordfish ASV ROV-KOS
    7. 8. Unmanned Vehicles at LSTS (3) <ul><li>Picollo autopilot </li></ul><ul><li>Radio, Wi-Fi and GSM/GPRS communications </li></ul><ul><li>Wireless video camera </li></ul><ul><li>Gas-powered thruster </li></ul><ul><li>Frame built by the portuguese air force academy </li></ul><ul><li>CPU stack and software developed by USTL </li></ul><ul><li>Wi-Fi + GSM/GPRS communications </li></ul><ul><li>Wireless video camera </li></ul>Antex X02 UAVs Lusitania UAV
    8. 9. Wireless Sensor Networks at LSTS <ul><li>Sentilla TMote (COTS) devices </li></ul><ul><li>Rugged casing + extended range antenna </li></ul><ul><li>Software based on TinyOS, can be easily ported to other devices </li></ul><ul><li>Radio (zigbee) communication up to 300m with ad-hoc mesh networking </li></ul><ul><li>Past deployments for wild-fire prevention (temperature, humidity and luminosity), noise detection and comfort monitoring </li></ul><ul><li>All data is stored / disseminated by local gateways </li></ul>
    9. 10. Drifting Sensors at LSTS <ul><li>Low cost embedded Telit GPRS/GPS modules </li></ul><ul><li>Multiple co-located drifters can be used to derive better current models </li></ul><ul><li>Positions are stored locally and sent periodically to a remote Web Server </li></ul><ul><li>Drifters are controlled through SMS commands </li></ul><ul><li>Drifter’s positions can be followed in real-time through a web browser </li></ul>
    10. 11. Modular Software Stack <ul><li>All vehicles share a common modular onboard software platform – Dune </li></ul><ul><li>Neptus Command and Control Software Framework provides planning, monitoring and mission revision for unmanned vehicles </li></ul><ul><li>IMC is a (transport-agnostic) message-oriented protocol for data exchange between all USTL components </li></ul>
    11. 12. Modular Control Architecture
    12. 13. Abstract System Description <ul><li>2. </li></ul>
    13. 14. Abstract System Description <ul><li>System composed by nodes (consoles, vehicles, sensors) </li></ul><ul><li>Nodes provide a time-varying set of resources </li></ul><ul><ul><li>Periodic Data </li></ul></ul><ul><ul><li>Static Data </li></ul></ul><ul><ul><li>Queries </li></ul></ul><ul><li>Some resources can be changed by network peers, changing the state and behavior of nodes </li></ul>
    14. 15. Abstract System Description - Example <ul><li>Periodic Data </li></ul><ul><ul><li>Position </li></ul></ul><ul><ul><li>Attitude </li></ul></ul><ul><ul><li>Velocity </li></ul></ul><ul><ul><li>Sonar Data </li></ul></ul><ul><li>Static Data </li></ul><ul><ul><li>Obstacle Map </li></ul></ul><ul><ul><li>Active Plan </li></ul></ul><ul><ul><li>Control Mode </li></ul></ul><ul><ul><li>Sonar Configuration </li></ul></ul><ul><li>Queries </li></ul><ul><ul><li>Visible Neighborhood </li></ul></ul><ul><ul><li>Announce (list resources) </li></ul></ul>
    15. 16. Abstract System Description - Composition <ul><li>Virtual resources (queries) may be derived from one or more nodes in the network </li></ul><ul><ul><li>History data </li></ul></ul><ul><ul><li>Data from visible neighborhood </li></ul></ul><ul><li>When resource rewriting is approved, the node changes its behavior accordingly </li></ul><ul><ul><li>Behavior change may involve rewriting resources in other nodes (cooperation) </li></ul></ul>
    16. 17. REST-style architecture <ul><li>3. </li></ul>
    17. 18. Web-enablement <ul><li>Web technologies are standard and ubiquitous </li></ul><ul><li>Eases integration and dissemination of data </li></ul><ul><li>Web applications are easy to create (web mashups) given proliferation of web frameworks and APIs </li></ul>
    18. 19. REST architecture implementation <ul><li>Data is transferred as structured documents </li></ul><ul><ul><li>Creation of a new XML serialization for IMC </li></ul></ul><ul><ul><li>Also compatible with JSON and LSF (binary format) </li></ul></ul>
    19. 20. REST architecture implementation <ul><li>Each IMC message type corresponds to an URL </li></ul><ul><ul><li>GET – read last state </li></ul></ul><ul><ul><li>PUT/POST – replace state </li></ul></ul><ul><ul><li>HEAD – retrieve information of last state </li></ul></ul>
    20. 21. REST architecture implementation <ul><li>Network nodes have an embedded web server </li></ul><ul><ul><li>Neptus consoles use Jetty </li></ul></ul><ul><ul><li>DUNE provides a custom web server (and client API) </li></ul></ul><ul><li>Data is stored locally in a SQLite database </li></ul><ul><ul><li>Small footprint </li></ul></ul><ul><ul><li>Database files can be used as logs </li></ul></ul>
    21. 22. REST architecture implementation <ul><li>HTTP streaming for periodic data </li></ul><ul><ul><li>Flush message writing and always advance to last state </li></ul></ul><ul><li>Atom service repositories </li></ul><ul><ul><li>Each node lists known resources using the Atom standard </li></ul></ul><ul><ul><li>URL and date of last change are part of Atom standard </li></ul></ul><ul><ul><li>Central repositories store resource directories </li></ul></ul>
    22. 23. Resource examples <ul><li>http://lauv/dune/imc/Position.xml </li></ul><ul><ul><li>Last generated position as XML (periodic, read-only) </li></ul></ul><ul><li>http://neptus/imc/Mission.xml?q=vehicle%3Dlauv </li></ul><ul><ul><li>Retrieve a list of missions for LAUV vehicle (query) </li></ul></ul><ul><li>http://lauv/dune/imc/ActivePlan.xml </li></ul><ul><ul><li>Monitor/control the active this node’s active plan (static, read/write) </li></ul></ul><ul><li>http://l2/dune/imc/Position.json?q=altitude%3E0 </li></ul><ul><ul><li>Query all positions which have an altitude bigger than 0 </li></ul></ul>
    23. 24. Connections Diagram Example
    24. 25. Evaluation <ul><li>4. </li></ul>
    25. 26. REST vs UDP-based publish/subscribe Atom standard, directory-based UDP broadcast and Multicast Resource announcements Binary files, IMC structures, JSON, IMC-XML Small messages (IMC structures) Supported formats HTTP PUT method Unreliable (using just UDP) Sending Configurations HTTP data streaming. Intermediate states dropped All states are broadcasted in the network. Better performance Real-time data monitoring HTTP GET method All states are broadcasted in the network Sporadic state consulting REST-style IMC + UDP
    26. 27. Drifting Sensors Mashups
    27. 28. WSN Mashups
    28. 29. Unmanned Vehicles Mashups
    29. 30. Future work <ul><li>Multi-node data interpolation as queries </li></ul><ul><li>Cooperation as automatic service discovery and orchestration </li></ul><ul><li>Declarative language for defining resource composition </li></ul><ul><li>More sensors, mashups (actuation) and services </li></ul>
    30. 31. Thank you for your attention <ul><li>The End </li></ul>[email_address]