Advertisement

A Giotto-Based Helicopter Control System

  • Christoph M. Kirsch
  • Marco A. A. Sanvido
  • Thomas A. Henzinger
  • Wolfgang Pree
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2491)

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.

Keywords

Timing Code Device Driver Schedulability Analysis Functionality Code Model Helicopter 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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.Google Scholar
  2. 2.
    C. Eck. Navigation Algorithms with Applications to Unmanned Helicopters. PhD thesis 14402, ETH Zürich, 2001.Google Scholar
  3. 3.
    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.Google Scholar
  4. 4.
    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.Google Scholar
  5. 5.
    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.Google Scholar
  6. 6.
    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.CrossRefGoogle Scholar
  7. 7.
    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.Google Scholar
  8. 8.
    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.CrossRefGoogle Scholar
  9. 9.
    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.Google Scholar
  10. 10.
    N. Wirth and J. Gutknecht. Projekt Oberon: The Design of an Operating System and Compiler. ACM Press, 1992.Google Scholar
  11. 11.
    http://www.cs.cmu.edu/afs/cs/project/chopper/www/heli_project.html. The Robotics Institute, Carnegie Mellon University.
  12. 12.
    http://controls.ae.gatech.edu/labs/uavrf/. The UAV Lab, Georgia Institute of Technology.
  13. 13.
    Aerial Robotics. http://gewurtz.mit.edu/research/heli.htm. Laboratory for Information and Decision Systems, Massachusetts Institute of Technology.
  14. 14.
    Autonomous Flying Vehicles. http://www-robotics.usc.edu/~avatar. Robotics Research Laboratory, University of Southern California.
  15. 15.
    Autonomous HelicopterProject. http://www.heli.ethz.ch. Measurement and Control Laboratory, ETH Zürich.
  16. 16.
    BEAR: Berkeley Aerobot. http://robotics.eecs.berkeley.edu/bear. Electronic Research Laboratory, University of California at Berkeley.
  17. 17.
    The Hummingbird Helicopter. http://sun-valley.stanford.edu/~heli. Aerospace Robotics Laboratory, Stanford University.
  18. 18.
    Marvin. http://pdv.cs.tu-berlin.de/MARVIN. Institute for Technical Computer Science, Technische Universität Berlin.
  19. 19.
    OSEKWorks Operating System. http://www.windriver.com/products/html/osekworks.html WindRiver.

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Christoph M. Kirsch
    • 1
  • Marco A. A. Sanvido
    • 1
  • Thomas A. Henzinger
    • 1
  • Wolfgang Pree
    • 2
  1. 1.Department of Electrical Engineering and Computer SciencesUniversity of CaliforniaBerkeleyUSA
  2. 2.Software Research LabUniversity of SalzburgAustria

Personalised recommendations