You are on page 1of 5

Avionics system for a mini-helicopter robot in a rapid

software prototyping environment

Carlos Mario Vélez S. Mónica Hernández L. Andrés Agudelo T.


Ingeniería Matemática Maestría en Matemáticas Aplicadas Maestría en Matemáticas Aplicadas
Universidad EAFIT Universidad EAFIT Universidad EAFIT
Medellín, Colombia Medellín, Colombia Medellín, Colombia
cmvelez@eafit.edu.co mherna23@eafit.edu.co agdtoro@gmail.com

Abstract— This paper describes the hardware and software of the (Controller–area network) communication interface to send the
avionics for a mini-helicopter robot called Colibrí, which measurements to the flight computer and it needed additional
provides the instrumentation, intelligence, and energy to the power sources. That configuration added too much weight to
autonomous navigation. The paper describes the function of each the avionics hardware and required more space; also, the
electronic device in the navigation system and explains the tools material used to construct the box was 0.9 mm aluminum. In
for rapid software prototyping. This programming environment the new design avionic box (version 2.0), the weight was
uses a high-level graphical language like Simulink® to design a reduced to 50% of the initial weight, by using 0.4 mm
test model, and from it automatically build the executable code in aluminum and by the integration of sensors into a single device
C, which runs in the QNX real-time operating system during
called IMU (Inertial Measurement Unit).
each flight. Matlab® Real-Time Workshop is the tool that
enables this efficient programming methodology. The tests in The avionics box has the following functions: to provide a
pilot assisted flights show that the environment makes easy the communication link between the vehicle and the ground
development of state estimators, finite state machines, controllers station, to carry electronic devices that make up the hardware,
and other subsystems. to enable the change of manual/autonomous mode, to perform
real-time acquisition and autonomous control algorithms in the
Keywords- Avionics; mini-helicopter; real-time systems; rapid on-board computer. Thus, the fundamental components
software prototyping; Matlab/Simulink; Unmanned Aircraft
required in avionics are an integrated sensor unit for
Systems
navigation, a flight computer with a real-time operating system
(QNX), a communication system, video equipment, a reading
I. INTRODUCTION card for servomotors, a manual/autonomous mode switching
The avionics of Unmanned Aircraft Systems (UAS) is a card, a wireless network card, and a power supply.
technological development that integrates processing, The tasks performed by the computer on board during the
measuring, wireless communication and sensors systems, and it flight tests are scheduled in the Simulink graphical design
can be programmed for tasks like acquisition, communication environment; once the application is compiled, the Real-Time
and real-time control of autonomous or non-autonomous aerial Workshop (a Matlab tool) automatically generates C code,
vehicles. The avionics box is attached to the fuselage of the optimizes it, and transfers it from the host computer to the
vehicle and its weight must be considered within the limits of flight computer. This methodology, known as rapid software
the effective load that the mini-helicopter can carry. The prototyping, has the advantage of eliminating the intermediate
different electronic devices that contribute to weight are steps between the design and the implementation of test models
sensors, cables, flight computer, wireless bridge, etc. These can customized for each flight. The generation, collection and
reduce the maneuverability or autonomous control of the transfer are invisible to the designer. Real-Time Workshop
vehicle, therefore the hardware inside the box should be as works with real-time operating systems; Colibrí system uses
light as possible. QNX because of its versatility, reliability, technical support and
Many kinds of avionics boxes have been built and applied excellent documentation (licenses are free for universities).
with different purposes [1]-[6]. Colibrí avionics box is one of The rapid software prototyping environment is an
them. It has been built from COTS (commercial, off-the-shelf) environment in which the working versions of a system
components, integrated with a friendly software environment (prototype) can be tested and implemented quickly and
and tested in several experiments. Colibrí system is described automatically [8],[9]. Rapid software prototyping requires a
in this paper. design environment (Matlab), a builder (Real-Time
The first version of Colibrí avionic box [7] used non- Workshop), a wired or wireless way of transferring files, a
integrated sensors (magnetometer, barometer and sonar, global development computer (host), and a target computer (target). It
positioning system - GPS), which required an additional CAN allows the simulation of mini-helicopter behavior in different
flight scenarios to adjust parameters in the controllers, excite
the system with different trajectories, to communicate the test antennas. The distribution of components inside the box was
model to an external device like a joystick. made so that the center of mass coincided with the geometrical
center, so that the helicopter center of gravity is not displaced
from the main rotor shaft and it does not create unnecessary
additional torques.

Figure 1. X-Cell 60 Gas 105-102 radio control helicopter with the avionic box

The aim of this paper is to provide technical and


methodological guidance for the construction and Figure 2. CAD design of the box in “Solid Edge”
implementation of the avionic box for a mini-helicopter robot
and for the scheduling of flight routines using the rapid
software prototyping environment. Initially, the paper describes
the test vehicle for which the box was designed, then it
specifies the systems that comprise the box and, finally, it
shows the methodology for programming tasks in the avionic
box within a safe environment for rapid software prototyping.
Some technical details are omitted because they are
irrelevant for global understanding of the environment and
proposed design methodology, and they can be read in
respective hardware manuals. It is shown the general ideas of
implementation that will enable the reader to capture the ideas
and advantages of the complete Colibrí system, which has
innovative ideas to implement avionics and rapid software
prototyping to systems as complex as autonomous vehicles.

II. THE AVIONICS BOX


Figure 3. Distribution of the components in the avionics box.
The avionic box was developed for a small X-Cell 60 Gas
105-102 radio control helicopter [10]. This helicopter weighs
The material used for the prototype of the box is aluminum,
about 5.9 Kg without fuel and its payload is 3 Kg. The weight
which allows the internal shielding from electromagnetic
of the current avionic box including its components is about
waves and the transmission of heat to the environment. It is
1.75 kg.
lightweight and easy to bend. All electronic devices are isolated
The fuselage has an adaptation of trains that allow the from the chassis of the box with foam.
articulation of the box and the mechanical vibration isolators,
Fig. 3 shows the distribution of components in the upper
as shown in Fig. 1. The main rotor system has the Bell-Hiller
and lower side. The orientation of the box is aligned with the
stabilizer bar. Its power plant can reach speeds between 1600
INS reference system. The reference system of the INS is the
and 1700 RPM, which are driven independently by a control
following, called the NED (North-East-Down) system: the X-
system called the governor, which is outside the box. The
axis points to the geographical north (nose of the vehicle), the
vehicle also has a stability augmentation system in the tail
Y-axis points to the geographical east and, the Z-axis points
driven by a gyro (yaw damper system). The radio control
downwards.
system works with Futaba PCM (Pulse Code Modulation)
receivers. The vehicle has a GPS antenna that is connected to Components of avionics box (see figures 3, 4 and 6):
the MNav [11] inertial navigation system (INS).
1. Flight computer: TP400B PC/104 Plus, 300 MHz [12]
The mechanical design of the avionics box was performed
with the CAD (Computer-Aided Design) tool Solid Edge® that 2. Flash memory, which contains the QNX operating system
provides the optimal location of each component without the [13]
need of building physical prototypes. Fig. 2 shows one of the 3. Inertial Navigation System: MNav 100CA, Crossbow
final versions for the final assembly of the box. The restriction [11]
of some components in terms of location was taken into
account, especially because of the need for line of sight of the 4. Power Supply: TP4200-3s2pl Thunder Power
5. Wireless network card: WLAN (Wireless Local Area) uint16
uint8 high
rx
lat,lon,alt
Network Linksys 802.11b WET11 uint8 low
v x,v y ,v z
Byte Split 16 UDPRX
hx,hy ,hz
6. Servomotor reading card: it is an original design. It uses a tx ax,ay ,az
microcontroller PIC 18F258 serv os
p,q,r
UDPT X
int8 low 1
t1,t2,t3
7. Switch card Manual/Autonomous mode: R-306 RxMUX int32
int8 low 2
int8 high 3 Altitude
[14] int8 high 4
tx rx
Pitot
Byte Split 32 QNX SERIAL
8. Video camera Transmitter: Combo AVX 900s 9-V M icroNav
man/auto lat,lon,alt
9. Video camera: Combo AVX 900s 9-V u_manual v x,v y ,v z

10. Regulated power supply 1 col u_manual_raw hx,hy ,hz


lon
v olt_serv os ax,ay ,az
lat
11. Regulated power supply 2 ped v olt_box p,q,r
Servo Encoder Servos PIC M icroNav
12. Serial connector DB-9 Sim ulator

13. On/off switch Figure 5. Drivers in Matlab/Simulink of avionics devices and communication
in Colibrí system
A. Inertial Measurement Unit: MNav 100AC
The software in the PC104 uses hardware interruptions;
The Colibrí inertial navigation system is integrated into the thus, the processing unit does not require to continuously
MNav [11], which manages two groups of sensors: three checking the state of the PWM signals. The application has a
accelerometers, three gyroscopes, a magnetometer and a GPS, time base controlled by the activation of the signal of the pedal
which estimates the three approximated geodesic coordinates servomotor. This signal activates the time base within which all
and three NED velocities. This device sends measurements to scheduled breaks must occur, including data packaging and
the flight computer through a RS-232 serial protocol. The delivery to the serial port of the flight computer.
number of sensors used in the MNav varies according to the
information required on each flight. The MNav also offers the When there is a rising edge on the pedal channel, a
possibility of driving directly the four servos by means of hardware timer and a countdown variable start. The timer is
Pulse-Width Modulation (PWM) signals generated by a built-in used to calculate the current pulse width of the pedal signal, in
microcontroller (see Fig. 4). time units, and to mark the moment when it can gather
information from the three remaining signals and send their
B. Servomotor reading card state. The software has a cyclic component that decreases the
countdown variable in each iteration, and when it is zero the
The status of the four servos (lateral and longitudinal cyclic above task is executed. When a falling edge occurs on the pedal
actuators, collective actuators and pedal actuators) needs to be channel, the timer stops and its current value will be the pulse
known to ensure a smooth transition when the pilot using the width measurement of the pedal signal. The code uses the same
joystick changes from manual to autonomous mode. The servos logic for the three remaining signals.
are connected in turn to a Futaba PCM1024 receiver integrated
into the helicopter chassis. The channels of this receiver get
C. Flight computer
four PWM signals corresponding to the current states of the
servos, driven by the pilot, and an additional signal to switch Real-time processing is one of the main features of the
from manual to autonomous. The output PWM signals are computer system in UAS. Control actions computation, state
intercepted in the avionic box and registered in a PIC18F258, estimation (extended Kalman filter), wireless transmission of
sent to the flight computer via RS232 and sent to the data to the ground station, and capture of data are continuously
monitoring station (Ground Control Station) by wireless processing for navigation and control. The flight computer of
communication [7]. the X-Cell works with the real-time operating system QNX
[13]. The system has different sampling rates for different
sensors, but the control sampling rate is 50 Hz.
The program in the flight computer integrates the whole
system of acquisition, filtering, estimation, control and discrete
events logic. The computer coordinates the hierarchy of
required tasks: reception of INS measurements via RS-232,
reading of servomotors, delivery of received data packets to the
ground station via TCP/IP, selection of the control according to
some operation point, execution of the estimation and control
algorithms, and sending of commands to the servos.

D. Power supply of the avionic box


The power supply of the box is a critical aspect in any flight
Figure 4. Inner configuration of the MNav test. It must be monitored all the time in the ground station for
safety. As power supply, the box uses lithium-polymer (Li-Po for Matlab/Simulink is an intellectual property development of
system) batteries. They have charge storage cells that must be the Colibrí project that contains configurable blocks that
balanced with a charge balancer to achieve the highest implement the various communication protocols and memory
performance in power supply. The Li-Po system has three access to the flight computer during each flight. Fig. 5 shows
elements: the source of charge, the balancer and the batteries. the elements of the QNX library. It shows the MNav block,
Batteries provide 12.6 V which must be regulated to 5 V by which receives and scales the data frame from the IMU and
DC/DC bridges, and then to supply power to the other devices transmits it to the ground station. In the library, there are also
inside the box. blocks for synchronizing and detection of errors in
communication. The block called "PIC Servo" in Fig 5 is
E. Video equipment responsible for transmitting the normalized data from the servo
The video system comprises two elements: the transmitter card.
and the camera. The first one is inside the box and the second is As regards the communication between the flight computer
outside (see figures 3 and 6). This system is oriented to video and the ground station, the PC-104 and the ground station
capture, aerial photography and, in the future, to image communicate each other using the wireless network
processing for pattern recognition. "Colibri_Link" ruled by the 802.11b standard, which allows
fast communication at speeds of 7.1 Mbps.
Fig. 6 shows the interaction between devices attached to the
helicopter (outside the avionic box), the avionic box, the
ground station, and the pilot.

III. AVIONICS SYSTEM PROGRAMMED USING THE RAPID


SOFTWARE PROTOTYPING ENVIRONMENT
Fig. 7 shows a typical Simulink model used in a flight test.
The blocks called MNav and PIC Servo perform the operations
described in section II and the state of all the variables is
monitored from the ground station. Therefore, Simulink
diagram becomes the Graphical User Interface (GUI). Fig. 8
shows some sensor measurements, which are obtained directly
in Simulink. The modules of Rapid Software Prototyping
Environment are shown in Fig. 9.
The model designed in Simulink in the host computer is
transferred to the flight computer by a wireless bridge that uses
the telnet console of the host computer. Once the connection is
enabled, the model is loaded in the QNX operating system.
Figure 6. Internal and external components in Colibrí environment

Figure 7. Test model for the acquisition and communication between the
avionic box and the ground station

Figure 8. Actual accelerations from the avionic box


F. Communication system
For the communication between the box internal devices, The procedure starts by the generation and compilation of
which receive signals, and the flight computer, the devices are the C code from the model in Simulink using the "incremental
the MNav and the servo card. The communication of these two build" button from the Simulink menu bar; the model is valid
devices with the computer is serial RS-232. The QNX Blockset for the selected operating system; this process can be seen in a
Matlab command window. Then the host computer is
synchronized with the target computer clock, i.e., the flight
computer, and the model begins to be transferred via TCP/IP.
Any software change in the Simulink model requires a new
compilation, generation, construction and transference of the C
code to the flight computer.

Once the model is in the target computer, the executable


file is generated by the compiler in that system, and it is
loaded in the host by entering the IP address of the flight
computer through the telnet console of the host computer; the
process can be seen in a telnet window. The next step is to run
the Simulink model that is in the host computer, and to enable
the connection with the target computer (flight computer). At
this point, changes in the variables of the helicopter can be
viewed and monitored directly in a Simulink scope block like
Fig. 8, where the accelerations in the X, Y, and Z-axes are
shown. See Fig. 10 for entire development process. Figure 10. Development cycle in Rapid Software Prototyping with Matlab and
Simulink

IV. CONCLUSIONS
REFERENCES
In this paper, the basic elements of a simple avionics box
[1] Cai G., Chen B.M., “An overview on development of miniature
are presented with some details. The description allows to unmanned rotorcraft systems”, Frontiers of Electrical and Electronic
somebody to reproduce the box and understand the key ideas of Engineering in China, Vol. 5, No. 1, pp 1-14, 2010.
the hardware development. Together with the hardware, [2] Sprague K., et al., “Design and applications of an avionics system for a
general ideas of rapid software prototyping are exposed and miniature acrobatic helicopter”, AIAA Digital Avionics Systems
applied to the avionics box into the possibilities and advantages Conference, USA, 3C5/1-3C5/10, vol.1, 2001.
of a well-supported tool like Matlab and Simulink. The details [3] Brown N., Samuel A., Bhandari S., Colgren R., Schinstock D.,
of electronic components can be found in the manuals. Lookadoo J., “Modular Wireless Avionics System for Autonomous
UAVs”, AIAA Guidance, Navigation, and Control Conference and
Several tests show that the exposed avionics box together Exhibit, 21 – 24 August 2006, Keystone, Colorado, Paper No. 2006-
with the rapid software prototyping environment is an 6683, 2006
interesting and easy deployment platform to reach the [4] Gravilets V., Shterenberg A., Dahleh M. A., Feron, E., “Avionics
autonomous fly of a mini-helicopter robot. The system must be System for a Small Unmanned Helicopter Performing Agressive
Maneuvers”, Digital Avionics Systems Conference, 2000.
improved permanently, but the global architecture could be the
[5] Unmanned Aircraft Systems Roadmap 2005-2030. Department of
same. Defense, USA. 2005.
[6] Selier M., Voorsluijs G., et al., “Future surveillance using autonomous
unmanned helicopters”, AIAA/ICAS International Air and Space
Symposium and Exposition: The Next 100 Years, 2003.
[7] Vélez C.M., Agudelo A., “Control and Parameter Estimation of a Mini-
Helicopter Robot Using Rapid Prototyping Tools”, WSEAS Trans. on
Systems, Vol. 5, No. 9, ISSN 1109-2777, pp. 2250-2256, 2006
[8] Luqi L. Steigerwald R., “Rapid software prototyping”, Proceedings of
International Conference on System Sciences, Vol. 2, pp. 470-479, 1992
[9] Pollini L., Innocenti M., “A Synthetic Environment for Dynamic
Systems Control and Distributed Simulation”, IEEE Control System
Magazine, Vol. 20, No. 2, pp. 49-61, 2000
[10] Gas X-Cell Graphite Instruction Manual. Part Number 105-102. 1995
[11] MNav100CA User’s Manual. San Jose: Crossbow, 2005
[12] TP400B PC/104-Plus PC Compatible Computer: Technical Reference
Manual. Chesterfield: DSP Design, 2002.
[13] QNX Software, versión 6.2.1. www.qnx.com. Last visit: July 2010.
Figure 9. Software prototyping environment modules
[14] RxMux Functional Specifications. Merrimack: Reactive Technologies,
2007
ACKNOWLEDGMENT [15] Barry controls, Metal and Mesh Isolators,
http://www.barrycontrols.com/products/product.cfm?cid=8&fid=37,
This work was supported by EAFIT University with the Last visit: July 2010.
project under code 103-000011. The authors express thanks to [16] Real-Time Workshop: Users guide. Mathworks Inc, 2006.
students of Mathematical Engineering and Master in Applied [17] Using MATLAB version 7.3.0. (R2006b). MathWorks Inc, 2007.
Mathematics of EAFIT University, Medellin, Colombia, by [18] Using SIMULINK version 6.5 (R2006b). MathWorks Inc.
their constant support to the project.

You might also like