Abstract
We demonstrate the feasibility and benefits of Giotto-based control software development by reimplementing the autopilot system of an autonomously flying model helicopter. Giotto offers a clean separation between the platform-independent concerns of software functionality and I/O timing, and the platform-dependent concerns of software scheduling and execution. Functionality code such as code computing control laws can be generated automatically from Simulink models or, as in the case of this project, inherited from a legacy system. I/O timing code is generated automatically from Giotto models that specify real-time requirements such as task frequencies and actuator update rates. We extend Simulink to support the design of Giotto models, and from these models, the automatic generation of Giotto code that supervises the interaction of the functionality code with the physical environment. The Giotto compiler performs a schedulability analysis on the Giotto code, and generates timing code for the helicopter platform. The Giotto methodology guarantees the stringent hard real-time requirements of the autopilot system, and at the same time supports the automation of the software development process in a way that produces a transparent software architecture with predictable behavior and reusable components.
This research was supported in part by the DARPA SEC grant F33615-C-98-3614, the MARCO GSRC grant 98-DT-660, and the AFOSR MURI grant F49620-00-1-0327.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
J. Chapuis, C. Eck, M. Kottmann, M. Sanvido, and O. Tanner. Control of helicopters. In Control of Complex Systems, pages 359–392. Springer Verlag, 1999.
C. Eck. Navigation Algorithms with Applications to Unmanned Helicopters. PhD thesis 14402, ETH Zürich, 2001.
T. A. Henzinger, B. Horowitz, and C.M. Kirsch. Giotto: a time-triggered language for embedded programming. In Proc. First International Workshop on Embedded Software (EMSOFT), LNCS 2211, pages 166–184. Springer Verlag, 2001.
T.A. Henzinger and C.M. Kirsch. The Embedded Machine: predictable, portable real-time code. In Proc. ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), pages 315–326. ACM Press, 2002.
T.A. Henzinger, C.M. Kirsch, R. Majumdar, and S. Matic. Time safety checking for embedded programs. In Proc. Second International Workshop on Embedded Software (EMSOFT), LNCS. Springer Verlag, 2002.
D.J. McConnel, B. Lewis, and L. Gray. Reengineering a single-threaded embedded missile application onto a parallel processing platform using MetaH. Real-Time Systems, 14:7–20, 1998.
M. Sanvido. A Computer Systemfor Model Helicopter Flight Control; Technical Memo 3: The Software Core. Technical Report 317, Institute for Computer Systems, ETH Zürich, 1999.
L. Wills, S. Kannan, S. Sander, M. Guler, B. Heck, V.D. Prasad, D. Schrage, and G. Vachtsevanos. An open platform for reconfigurable control. IEEE Control Systems Magazine, 21:49–64, 2001.
N. Wirth. A Computer Systemfor Model Helicopter Flight Control; Technical Memo 6: The Oberon Compiler for the StrongARM Processor. Technical Report 314, Institute for Computer Systems, ETH Zürich, 1999.
N. Wirth and J. Gutknecht. Projekt Oberon: The Design of an Operating System and Compiler. ACM Press, 1992.
http://www.cs.cmu.edu/afs/cs/project/chopper/www/heli_project.html. The Robotics Institute, Carnegie Mellon University.
http://controls.ae.gatech.edu/labs/uavrf/. The UAV Lab, Georgia Institute of Technology.
Aerial Robotics. http://gewurtz.mit.edu/research/heli.htm. Laboratory for Information and Decision Systems, Massachusetts Institute of Technology.
Autonomous Flying Vehicles. http://www-robotics.usc.edu/~avatar. Robotics Research Laboratory, University of Southern California.
Autonomous HelicopterProject. http://www.heli.ethz.ch. Measurement and Control Laboratory, ETH Zürich.
BEAR: Berkeley Aerobot. http://robotics.eecs.berkeley.edu/bear. Electronic Research Laboratory, University of California at Berkeley.
The Hummingbird Helicopter. http://sun-valley.stanford.edu/~heli. Aerospace Robotics Laboratory, Stanford University.
Marvin. http://pdv.cs.tu-berlin.de/MARVIN. Institute for Technical Computer Science, Technische Universität Berlin.
OSEKWorks Operating System. http://www.windriver.com/products/html/osekworks.html WindRiver.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kirsch, C.M., Sanvido, M.A.A., Henzinger, T.A., Pree, W. (2002). A Giotto-Based Helicopter Control System. In: Sangiovanni-Vincentelli, A., Sifakis, J. (eds) Embedded Software. EMSOFT 2002. Lecture Notes in Computer Science, vol 2491. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45828-X_5
Download citation
DOI: https://doi.org/10.1007/3-540-45828-X_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-44307-0
Online ISBN: 978-3-540-45828-9
eBook Packages: Springer Book Archive