CORBA in Control Systems Presented at the OMG Workshop On Distributed Object Computing For Real-Time and Embedded Systems, Washington, DC, 14-17 July 2003 Dr. Shahzad Aslam-Mir, Prism Technologies Dr. James L. Paunicka, Boeing Eric J. Martens, Boeing AHS International 59th Annual Forum 2003 • Sam’s slides: – – – – – – Intro Control Systems Importance of CORBA in Control Current schools of thought on CORBA applicability in control systems Historical perceived limitations on CORBA use in control loops Case studies AHS International 59th Annual Forum 2003 Flight Control Example • Standards-based CORBA middleware used in live flight of a commercial rotorcraft UAV in May 2002 – Flight test was collaboration between Boeing and Georgia Tech School of Aerospace Engineering » Boeing – embedded software architecture, integration of software on embedded processing platform » Georgia Tech – flight vehicle, vehicle control software AHS International 59th Annual Forum 2003 Flight Control Example • Flight test was part of the DARPA IXO (Information eXploitation Office) SEC (Software Enabled Control) program – Significant technical direction from Air Force Research Laboratory » Information Systems, Advanced Architecture and Integration organization » Air Vehicles, Control Systems Development and Applications organization – Leverages OCP (Open Control Platform) being developed on the SEC program » Middleware platform that adapts Boeing Bold Stroke software technology to the domain of flight vehicle control » ACE/TAO » Run-time optimizations to support flight vehicle control » API for flight vehicle control applications (“Controls API”) » Developed by Boeing-led team that also includes Georgia Tech, University of California-Berkeley, and Honeywell AHS International 59th Annual Forum 2003 Background • SEC funds two technology areas – Control technology for flight vehicles » Fixed-wing and rotorwing UAVs » Multiple research teams from industry and academia – Enabling Software technology » Adapt Boeing Bold Stroke software technology to the domain of flight vehicle control AHS International 59th Annual Forum 2003 Software Application Components OCP Middleware Download Open Systems Software Open Systems Hardware Online Model Controller Gnd Station Controls API OCP Middleware Extensions ACE & RT CORBA (TAO) Operating System & Board Support Package Hardware (CPU, Memory, IO) Commercial UAV Flight Vehicle • Yamaha R-Max autonomous helicopter – Couple hundred pounds, – 10-foot main rotor diameter • Fitted with open systems avionics platform for SEC program experimentation – Sensors » IMU (Inertial Measurement Unit), GPS, sonar for altimeter, magnetometer for compass – Actuators » Throttle, main rotor, tail rotor – Comms » Wireless ethernet » Wireless serial link – Onboard compute platform » Single 266-MHz Pentium II processor AHS International 59th Annual Forum 2003 R-Max Vehicle AHS International 59th Annual Forum 2003 Autonomous Helicopter Electronics Open Systems Equipment Bay Actuator Command Path Switch (Pilot & YCS controlled) R/C Link Yamaha R/Max Sensors R/C Pilot Control Box Yamaha Control System (YCS) Yamaha Hardware Side YCS Actuator Cmd’s YCS System & Sensor Data Open Systems Avionics Wireless Ethernet Link Wireless Serial Link GIT Actuator Cmd’s IMU GPS AHS International 59th Annual Forum 2003 Sonar Magnetometer R-Max Actuators (blades & throttle) Flight Test Embedded Software Architecture • Major Elements – Lowest level – VxWorks RTOS and appropriate BSP (Board Support Package) – Middleware level – Open Control Platform from SEC program – Application software level – multiple components written by Georgia Tech • Run-time configuration of CORBA-based software – Middleware triggered execution of multiple software components with EC (Event Channel) » 100 Hz operation • Triggered the start of inner-loop control processing with the arrival of IMU data – Middleware mediated I/O among the various aircraft sensors, flight control actuators, and multi-level control loops – Implemented a software reconfiguration in flight » Neural net adaptive controller switching to a conventional inverting controller AHS International 59th Annual Forum 2003 Flight Test Embedded Software Architecture in Context GPS (Signal A at 5 Hz & Signal B at 5 Hz ... not at same time) Controls API Input Port Sensors Serial Interface Controls API Output Port Magnetometer (20 Hz) sonar (40 Hz) <Signal Name> - passed signal IMU (100 Hz) IMUTrigger Global Data Storage Vehicle Serial Interface RMAX Attitude sensors (200 Hz) receiver commands (40 Hz) I/O Component Vehicle Health (? Hz) DataLink Interface Ethernet “Serial” Port Serial port NavDataOutputPort 1 Hz & 10 Hz <NavRunCommand> 1 Hz & 10 Hz Ethernet “Serial” Port Serial port Input datalink ports read @ 100 Hz m0 written at 10 Hz m1 written at 1 Hz 100 Hz NavDataInputPort Navigation Module Component NavControlOutputPort NavControlInputPort Controller Component Actuator Serial Interface 50 Hz <ControlRunCommand> 50 Hz AHS International 59th Annual Forum 2003 RMAX Actuator demultiplexer Flight Test Embedded Software • Multiple Application Components, including – I/O Handler – Navigation Processing » Also handles data link updates – Controller Processing • OCP Frame Manager launches 100-Hz loop after 16-byte IMU burst – Pushes an event to start I/O Handler • Other components also initiated in 100-Hz frame with event pushes • Middleware-Based Reconfiguration accomplished with OCP activating and deactivating different controllers AHS International 59th Annual Forum 2003 WindView Plot of OCPBased Application Flight Test Timeline • R/C (Radio Control) pilot performed take-off (and subsequent landing) using baseline Yamaha flight control system • While in flight, rotorcraft switched to open systems research flight control system – With RT-CORBA-based flight control program • Transition between vehicle controllers (neural net to conventional inverting controller) triggered by ground station command and accomplished by middleware AHS International 59th Annual Forum 2003 Video from Flight Test • Sam’s slides: – Analysis of where we are – Conclusions AHS International 59th Annual Forum 2003