Power Aware Communication Platform for an Autonomous Sailboat
Total Page:16
File Type:pdf, Size:1020Kb
Master Thesis Power Aware Communication Platform for an Autonomous Sailboat by David Frey March 2009 – October 2009 Supervisors: Andreas Schranzhofer Dr Clemens Moser Professor: Prof. Dr. Lothar Thiele Abstract Building autonomous sailing boats is a difficult and not yet well understood problem. A group of mechanical engineers of ETH Zurich committed to build such a vessel to participate in Microtransat, a contest to cross the At- lantic ocean. The communication platform developed in the scope of this thesis not only provides communication services to the existing control system of the boat, it also adds robustness by supervising it and employs a power management system which prolongs the responsiveness of the system in low energy situ- ations. The platform was assembled from its basic building blocks that include an embedded computer, voltage and temperature measurement, a GPS receiver as well as a GSM and an Iridium modem. The power consumption of all parts was measured and the main energy consumers were connected such that they can be powered off when not used. The intricacies of high-sea communication and different transmission de- vices are dealt with by the platform and hidden from the sailing system, which only has to implement a high-level interface over an internal link. Thus it can send status and control messages in both directions and it is reachable in emergency situations. Also using the internal link, the sailing system is supervised for responsive- ness by the communication platform and rebooted, should an error condition occur. To be prepared for periods on the sea with little energy input from the solar panels, a power management system has been developed that can influence the energy consumption of the communication platform as well as the sail- ing system. Using a forecast of the expected solar power input an algorithm optimizes the power consumption such that the minimal service level of the boat is maximized. Several different algorithms have been compared in sim- ulation based on statistical and historical data and the most competitive was implemented to run on the boat. Table Of Contents Abstract................................................................................................................................................3 1 Introduction.......................................................................................................................................1 1.1 The Microtransat challenge......................................................................................................1 1.1.1 Avalon, an autonomous sailing boat...............................................................................2 1.2 Problem Setting........................................................................................................................3 1.3 Approach..................................................................................................................................4 1.4 Results......................................................................................................................................4 1.5 Contributions............................................................................................................................5 2 Hardware...........................................................................................................................................6 2.1 Overview of the Boat...............................................................................................................6 2.2 Overview of the Communication platform..............................................................................9 2.3 Platform Components............................................................................................................10 2.3.1 Main Switch.................................................................................................................10 2.3.2 Rebooting of Sailing Computer....................................................................................11 2.3.3 Iridium..........................................................................................................................12 2.3.4 GSM.............................................................................................................................13 2.3.5 GPS...............................................................................................................................13 2.3.6 Serial Communication..................................................................................................13 2.3.7 Temperature and Humidity Sensors.............................................................................13 2.3.8 Voltage and Current Sensors........................................................................................14 2.3.9 Camera.........................................................................................................................14 2.3.10 External LED..............................................................................................................14 2.4 Waterproof casing..................................................................................................................14 3 Software...........................................................................................................................................16 3.1 Overview................................................................................................................................16 3.1.1 Programming Language and Naming Conventions.....................................................17 3.1.2 Software Requirements................................................................................................17 3.1.3 Software structure........................................................................................................19 3.2 Inter-Process Communication................................................................................................22 3.2.1 Shared Memory............................................................................................................23 3.2.2 Semaphores..................................................................................................................23 3.2.3 Signals..........................................................................................................................24 3.2.4 Files..............................................................................................................................24 3.2.5 Network protocol to Sailing Computer........................................................................24 3.3 Components...........................................................................................................................26 3.3.1 Watchdog......................................................................................................................26 3.3.2 Power Manager............................................................................................................30 3.3.3 Message Manager.........................................................................................................31 3.3.4 DataLogger...................................................................................................................35 4 Power Management.........................................................................................................................40 4.1 Problem Setting......................................................................................................................40 4.1.1 Assumptions.................................................................................................................40 4.1.2 Variability of Power Consumption...............................................................................41 4.1.3 Objective......................................................................................................................44 4.1.4 Metric...........................................................................................................................44 4.2 Method...................................................................................................................................49 4.2.1 Simulation Data............................................................................................................49 4.2.2 Algorithms tested..........................................................................................................50 4.3 Results....................................................................................................................................54 4.3.1 Historical Data..............................................................................................................54 4.3.2 Statistical Data..............................................................................................................55 4.4 Discussion..............................................................................................................................56 5 Conclusion.......................................................................................................................................58 5.1 Future work............................................................................................................................58 6 Appendix..........................................................................................................................................60