model-based design, development and validation for uas critical software

12
J Intell Robot Syst (2012) 65:103–114 DOI 10.1007/s10846-011-9618-9 Model-Based Design, Development and Validation for UAS Critical Software Daniel Santamaría · Francisco Alarcón · Antonio Jiménez · Antidio Viguria · Manuel Béjar · Aníbal Ollero Received: 15 February 2011 / Accepted: 30 June 2011 / Published online: 24 August 2011 © Springer Science+Business Media B.V. 2011 Abstract This paper focuses on the major phases present in the development of critical software for UAS: design, development, testing and validation with flying experiments. A model-based approach is the backbone of all these development phases. The presented approach enables the researchers or engineers to work over the whole develop- ment cycle with the same tools, and produces an improvement over the classical design cycle. The model-based approach is illustrated with the de- velopment of guidance, navigation and control al- gorithms applied to rotary-wing UAVs. The paper D. Santamaría · F. Alarcón · A. Jiménez · A. Viguria (B ) · A. Ollero Center for Advanced Aerospace Technologies (CATEC), rque Tecnológico y Aeronáutico de Andalucía, Wilbur y Orville Wright 19, 41309, La Rinconada, Seville, Spain e-mail: [email protected] D. Santamaría e-mail: [email protected] F. Alarcón e-mail: [email protected] A. Jiménez e-mail: [email protected] A. Ollero e-mail: [email protected] M. Béjar University Pablo de Olavide, Seville, Spain e-mail: [email protected] discusses several implementation issues, including the integration of a hardware in the loop (HWIL) test environment within the model-based develop- ment cycle. Finally, several simulations and exper- imental results for this application are shown. Keywords Model-based development · GN&C algorithms · Rotary-wing UAV · HWIL testing 1 Introduction Model-based methodology has grown popularity in the field of software design in the last decade [14], and has been used in very challenging appli- cations such as the autonomous load transporta- tion with multiple UAS [14, 15]. This working methodology centralizes the classical software de- velopment process by the use of mathematical models of the system and the environment as the backbone of the whole product creation. This architecture will allow an easy rapid modeling and testing of the algorithms, and avoid many implementation problems by the use of automatic code generation tools, giving a complete flexibility to the process. Unlike regular software modeling standards (like UML 2.0 [11]), in the embedded critical software community the term model-based design implies a different paradigm. In this field, it refers

Upload: daniel-santamaria

Post on 14-Jul-2016

216 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Model-Based Design, Development and Validation for UAS Critical Software

J Intell Robot Syst (2012) 65:103–114DOI 10.1007/s10846-011-9618-9

Model-Based Design, Development and Validationfor UAS Critical Software

Daniel Santamaría · Francisco Alarcón ·Antonio Jiménez · Antidio Viguria ·Manuel Béjar · Aníbal Ollero

Received: 15 February 2011 / Accepted: 30 June 2011 / Published online: 24 August 2011© Springer Science+Business Media B.V. 2011

Abstract This paper focuses on the major phasespresent in the development of critical software forUAS: design, development, testing and validationwith flying experiments. A model-based approachis the backbone of all these development phases.The presented approach enables the researchersor engineers to work over the whole develop-ment cycle with the same tools, and produces animprovement over the classical design cycle. Themodel-based approach is illustrated with the de-velopment of guidance, navigation and control al-gorithms applied to rotary-wing UAVs. The paper

D. Santamaría · F. Alarcón · A. Jiménez ·A. Viguria (B) · A. OlleroCenter for Advanced Aerospace Technologies(CATEC), rque Tecnológico y Aeronáuticode Andalucía, Wilbur y Orville Wright 19,41309, La Rinconada, Seville, Spaine-mail: [email protected]

D. Santamaríae-mail: [email protected]

F. Alarcóne-mail: [email protected]

A. Jiméneze-mail: [email protected]

A. Olleroe-mail: [email protected]

M. BéjarUniversity Pablo de Olavide, Seville, Spaine-mail: [email protected]

discusses several implementation issues, includingthe integration of a hardware in the loop (HWIL)test environment within the model-based develop-ment cycle. Finally, several simulations and exper-imental results for this application are shown.

Keywords Model-based development ·GN&C algorithms · Rotary-wing UAV ·HWIL testing

1 Introduction

Model-based methodology has grown popularityin the field of software design in the last decade[1–4], and has been used in very challenging appli-cations such as the autonomous load transporta-tion with multiple UAS [14, 15]. This workingmethodology centralizes the classical software de-velopment process by the use of mathematicalmodels of the system and the environment asthe backbone of the whole product creation. Thisarchitecture will allow an easy rapid modelingand testing of the algorithms, and avoid manyimplementation problems by the use of automaticcode generation tools, giving a complete flexibilityto the process.

Unlike regular software modeling standards(like UML 2.0 [11]), in the embedded criticalsoftware community the term model-based designimplies a different paradigm. In this field, it refers

Page 2: Model-Based Design, Development and Validation for UAS Critical Software

104 J Intell Robot Syst (2012) 65:103–114

to development of control models and simulationcapabilities with tools such as Simulink [12] orSCADE [13]. Also, it is related to the ability torapidly transfer the controller portion of the mod-els to embedded target processors via automatedcode generation.

An important factor in any design and devel-opment of a critical process is the ability to ver-ify performance at all stages of the design cycle.Traditional methods would require: study of therequirements, develop the design specificationdocumentation from which the design implemen-tation and design testing plans are derived, andso on. However, this is a time consuming processwith a large degree of interpretation and a con-siderable risk for human error. This process canbe improved by the use of a model-based design,development and validation approach. Moreoverpotential errors, coming from manual coding,are eliminated by automated code generation. Inthe last years the quality of auto-generated codehas obtained a reasonable level, while the latestprogress in microcontrollers makes automaticallyimplemented systems very effective.

This paper is organized as follows. In the nextsection, the model-based approach framework isexplained. In Section 3, a detailed description ofthe GN&C algorithms that will be implementedusing this approach is given. Next, a descriptionof the hardware in the loop (HWIL) testbed ispresented in Section 4. In Section 5, the resultsof simulations and flying experiments, that havebeen obtained using this framework, are provided.Finally, conclusions of this work and future exten-sions are presented in Section 6.

2 Model-Based Approach Framework

Model-based design has proved to be a very re-liable and convenient methodology for systemsdesign and simulation in the last decade. Further-more, the availability of code generation tools, hasimproved the productivity of engineering teams,by the means of automating tedious and errorprone tasks, as it is hand coding of algorithms andmodel to code traceability. The use of this kindof tools also allows faster design iterations, easyreuse of the testing infrastructure, and rapid pro-

totyping of the systems to promote a continuousverification and validation process.

The integration of code generation into themodeling and simulation tools results in a strongrelationship between the models and the software,resulting in an unambiguous specification of thesource code. This does not only allow establishinga common language for the different membersof the development team, but also it eases theadoption of a component based approach for theimplementation and reuse of the models.

Using automatic code generation tools alsohave an impact into the roles of control and soft-ware engineers, freeing them from coding algo-rithms by hand, moving their focus to the softwareintegration with the rest of system and designingthe software architecture.

This work presents a software integrationframework for a model-based developmentworkflow. The goals of this framework are:

• Ease the reuse of the models in different hard-ware platforms, without requiring any changesin the models.

• Allow to reuse the test harness models usedduring the design to validate the target system.

• Make the integration of models into the targethardware completely transparent to the con-trol engineers.

• Establish a systematic and fast procedure tointegrate automatic generated code into thetarget hardware, so the control engineers cantest the model quickly and without the inter-vention of software engineers.

To achieve these goals, a component orientedframework has been designed. This frameworktightly fits the model-based development process,allowing a direct implementation of the models,following the componentization and modularityprinciples used in model-based software such asSimulink or SCADE.

Figure 1 represents the model-based develop-ment workflow and schematizes the integrationprocess.

Within this framework, two main types of com-ponents exist: process containers and I/O drivers.The process containers encapsulate automaticgenerated code from model-based software (inour specific case Simulink models) into individual

Page 3: Model-Based Design, Development and Validation for UAS Critical Software

J Intell Robot Syst (2012) 65:103–114 105

Fig. 1 Model-baseddevelopment workflow

processes that communicates between them usingan IPC library. This IPC library helps to make thisframework Operating System (OS) independent,by abstracting the underlying API. Its main func-tion is to provide a method for implementing thedata interfaces of the models. The use of namingconventions in the models, and setting a collectionof standard data interfaces in Simulink, allows usto reuse these containers among different models,and to quickly create new containers that imple-ment any of the interfaces of our collection.

Another responsibility of process containers isto assure the timed execution of the algorithms,and its synchronization with related components.Both the timing and communication configurationcan be specified in a set of configuration files,where the software engineer defines the inputand output interfaces that the container will im-plement, as well as, the period and priority ofexecution. It is also possible to establish the ex-ecution order of a container between containers

of the same priority, so it is possible to force or-dered data flows between independent containers.Process containers also handle the communica-tions with Simulink using the Real Time Work-shop (RTW) External Mode API. This allows usto log and monitor the system in real-time withinthe same development environment, making therefinement and validation processes of the targetsystem easier.

On the other hand, I/O Drivers addresses thecommunications and control of I/O devices andinstruments, creating an abstraction layer of thehardware, and formatting the data according tothe required data interfaces using the IPC library.These components will require the majority of themanual coding effort.

With the above scheme, the hand coding tasksgets reduced to program the communication func-tions of the process containers to implement anyrequired interfaces, and programming the I/Odrivers. The advantage of this approach is that

Page 4: Model-Based Design, Development and Validation for UAS Critical Software

106 J Intell Robot Syst (2012) 65:103–114

Fig. 2 Tasks assumed bycontrol and softwareengineers

these components will be reusable over time, andthe integration of modified or even completelynew models within an existing process containeris a straight forward task, and can be easily madeby control engineers that are not familiar withsoftware development.

As seen in Fig. 2, control engineers build mod-els that implements standard interfaces. Softwareengineers configure the process containers to im-plement the same interfaces than the model to beintegrated, and set a reference to the code of suchmodel. Once the container is created, the controlengineer only have to update the code referencedin the container each time a modification is madein the model.

The above integration model-based frameworkhas a major impact in the development process,allowing us to implement an agile process withshort iteration times and continuous verificationand validation.

3 Description of GN&C Algorithms

First, the GN&C algorithms implemented withthe model-based development process will bebriefly explained. The rotorcraft UAV navigationalgorithm is based on an Extended Kalman Filterestimation (see [5, 6]), using a loosely couple

INS/GPS integration combined with a magne-tometer unit. On the other hand, the control ap-proach for the helicopter is based on two linearnested control loops and it considers the inertialeffect of the main rotor as the main componentinfluencing the dynamics of the whole helicopter.A mathematical model of the helicopter is usedfor simulation purposes. This simulation modelconsists of the dynamics and kinematics equa-tions of two rigid bodies, the main rotor and thefuselage. The controller and simulation model arebased on the work developed in [8].

3.1 Navigation Algorithm

Due to the high cost of navigation IMUs (InertialMeasurement Unit), it is usual to combine GPSand MEMs-IMU sensors in order to obtain a re-liable estimation of the position and attitude ofthe UAV. Therefore, the main objective of using asensor fusion methodology is to take advantage ofthe complementary attributes of two or more nav-igation systems, obtaining greater precision thaneither of the system components operating alone.On the one hand, a GPS can provide measure-ments with bounded errors, but the updated rateis not high enough (up to 10 Hz). On the otherhand, an IMU can provide measures with veryhigh rate (100–300 Hz), but the obtained mea-

Page 5: Model-Based Design, Development and Validation for UAS Critical Software

J Intell Robot Syst (2012) 65:103–114 107

Fig. 3 Loosely couplednavigation filterarchitecture

surements are very sensitive to noise and presentaccumulative errors. The loosely couple ExtendedKalman Filter combines position and velocitiesfrom GPS and IMU to obtain a high rate accurateposition, attitude and velocity measurements. Thealgorithm also integrates the data of the mag-netic field from a magnetometer for the headingestimation.

The loosely couple filter architecture is shownin Fig. 3. The mechanization equations are usedto obtain the inertial position from the measuredaccelerations and from the transformation of thevelocities and positions into the inertial fix frame.Next, the inertial position is compared with theGPS data. The errors are introduced in the Ex-tended Kalman Filter in order to correct the po-sition and velocity estimation errors. Finally, thedashed lines correspond to the error feedbacks

that are fed into the IMU sensor and the mech-anization equation integrators.

3.2 Model Equations

The mathematical simulation model used in thiswork is focused to small size UAV helicopterswith a stiff main rotor without flapping hinges.This means that each rotor blade has only onedegree of freedom (the pitch angle of the blade) inthe drag hinge. The ratio between the main rotorfuselage masses to the main rotor rotational speedis higher than in the full size helicopter case. Allthese characteristics imply that the inertial effectsof the main rotor cannot be neglected. For thisreason the mechanical model is composed of tworigid bodies, the main rotor and the fuselage.

Fig. 4 Coordinate framesused in the mathematicalmodeling of UAVhelicopters

Page 6: Model-Based Design, Development and Validation for UAS Critical Software

108 J Intell Robot Syst (2012) 65:103–114

The full mathematical model of the UAV iscomposed of two main parts: the mechanicalmodel, and the torques and forces generated bythe aerodynamic model. The aerodynamic of ahelicopter is very complex, but by using experi-mental data we concluded that a linear algebraicapproximation permits to obtain good results inthe design process of the control system. This istrue since the dynamic of the helicopter is mostlygoverned by the mechanical model, and the forcesand moments are the inputs sources.

In the mechanical model, two coordinate andreference frames have been used throughout thismodeling work (see Fig. 4), where the origin Ois the point located at the intersection betweenthe rotation axis of the main rotor and the lineparallel to h1 that goes through the point trCM.Since some modeling expressions depends on thephysical dimensions of the vehicle, these dimen-sions are shown in Fig. 5 to illustrate graphicallytheir definition. It is important to point out thatthese distances are referred to the origin O anddenoted by d0−x.

The moment of inertia and the masses ofthe two rigid bodies have a significant effect onthe model. Commercial computer assistant designsoftware (CAD), such as CATIA, Solid Edge, etc.could be used to calculate the fuselage inertia.However we have applied an empirical procedureconsisting in the measure of free oscillations of thehelicopter hanged from a wire and moving like apendulum or spinning along its CM [9].

The calculation of the inertia of the main ro-tor will be explained in detail since it presents

some complexities. A first option could be to usea rectangle spinning around its orthogonal axis.But this approach assumes that IMR,11 and IMR,22

depends on the position of the blade, so a newdegree of freedom has to be taken into account. Inorder to overcome this problem, we have decidedto use a non homogeneous solid disc to modelthe main rotor inertia, dividing the mass of eachairfoil along the circle described by the rotor. Thesurface density of the disc can be estimate as:

mair f oil = mbladesR

σ(r) = mblades2πr

(1)

and the main rotor inertia

IMR,33 = 2∫ π

0

∫ R

0σ(r) r2dS = mMR R2

3

IMR,11 = IMR,11 = IMR,33

2(2)

where mF is the fuselage mass and mMR is themain rotor fuselage. Then, mH = mMR + m f . It isimportant to point out that the main rotor headinertia is not taken into account.

We introduce the following generalized coor-dinates: q1,2,3 that define the position of the CM(Center of Mass) in GS frame, u1,2,3 are the ve-locities in GS, q4,5,6 are the Euler angles in HSbody frame and u4,5,6 are the angular velocitiesof the frame HS in GS (see Fig. 4). The inputs ofthe system are the main rotor force f H

3 and thetorques tH

1,2,3.Finally, the scheme of all the components that

are used in the mathematical simulation model isshown in Fig. 6 (see [10] for more detail).

Fig. 5 Physicaldimensions used in themodeling expressions

Page 7: Model-Based Design, Development and Validation for UAS Critical Software

J Intell Robot Syst (2012) 65:103–114 109

Fig. 6 Components usedin the mathematicalmodel

The model is broken down into two mainparts:

• Translational dynamics are first characterizedby a rotating block RH→G that transformsforces in HS into the GS according to Eulerangles q4, q5, q6. The rotations follow the roll–pitch–yaw order. This makes possible to applythe Newton’s Second Law in an inertial frameby means of block TDH . Since previous oper-ation results in linear accelerations u̇1, u̇2, u̇3,the subsequent two columns of integrators arerequired to eventually obtain linear positionsq1, q2, q3.

• The law of angular momentum conservation isapplied for rotational dynamics in block RDH ,whose inputs are the torques T H in HS. Inorder to simplify the equations, two assump-tions are accounted. The first one is d0−F,1 =0 which means that the CM of the fuselageis located below the rotation axis of the mainrotor. The other assumption is that the angularvelocity around 3rd axis u6 is constant. Thisis true since the control of the rotation alongthe 3rd axis is realized by a separated controlloop implemented by a commercial gyroscope.Finally Y H→G block implement the kinemat-ics equations that are necessary to transformangular velocities into derivatives is Eulerangles.

A detailed description of the above mathematicalmodel and the complete equations can be foundin [10].

3.3 Guidance and Control

The control system for this helicopter is basedon the inverse relationships of the translational,kinematical and dynamic equations (described inSection 3.2) combined with linear PID controllers[7, 8]. The tuning of most of the control constantsis made by a pole placement method, using thecancellation between the inverse relationships ofthe control and the mathematical model. The fewremaining control constants are tuned by using anexperimental methodology that consists of intro-ducing perturbations in the control variables.

The controller is composed of two nested loops.In the outer loop, the position and velocity errorsare used to calculate the desired accelerations thatare needed to reduce those errors. This controlloop is implemented by means of three PID con-trollers, one for each grade of freedom. Next,the resulting accelerations are converted into thedesired orientation of the main rotor plane andthe needed lifting force.

The inner control loop computes the main rotortorques from the desired and current orientation.The orientation around the third axis is controlledby a separated control loop.

Page 8: Model-Based Design, Development and Validation for UAS Critical Software

110 J Intell Robot Syst (2012) 65:103–114

Fig. 7 Developmentcycle with HWIL testenvironment

4 HWIL Testing Environment

Once the GN&C algorithms are designed, testedin simulation and the integration framework is de-veloped (see Section 2), it is important to validatethe software in the target hardware in order toverify the algorithm behaviors in real-time. Thehardware in the loop (HWIL) test environment isan intermediate step between the software simula-tion and the flight experiments. This intermediatestep is very important in critical software devel-opment such as a GN&C system for helicopterUAVs. The HWIL test environment allows test-ing, in a controlled and simulated environment,both the hardware and software that is going tobe boarded in the UAV. It is possible to detectfailures that have not appeared in the softwaresimulation (mainly synchronization and timing

issues), so it can avoid accidents in the field exper-iments. Moreover, the use of a HWIL test envi-ronment decreases the development time since itallows faster design and development cycles (seeFig. 7).

In this work a generic HWIL platform havebeen developed for the design and validation ofcontrol and navigation algorithms. This HWILtest environment is completely integrated in themodel-based design development cycle. Figure 8shows the schematic of the HWIL test environ-ment and its four main parts.

The first stage in the process is the creation ofthe models in Simulink. By means of this tool,it is possible to design the controllers and algo-rithms that are going to be boarded in the UAV,and also model the UAV platform for simulationpurposes.

Fig. 8 HWIL testenvironment

Page 9: Model-Based Design, Development and Validation for UAS Critical Software

J Intell Robot Syst (2012) 65:103–114 111

The automatic coding of the modules cre-ated in Simulink is performed by the RTW tool.It is important to point out that two differentcodifications are needed. In one hand, the al-gorithms that are going to be tested and imple-mented in the UAV are codified as C code. On theother hand, the model of the UAV, that has beendesigned and developed in Simulink, is translatedto a LabView dynamic library. The movementof the UAV is simulated by this mathematicalmodel loaded as a dynamic library. Also severalI/O LabView modules have been used to simulatethe electrical and software interfaces of all thedifferent sensors and actuators that are part of theUAV avionics.

All these modules are integrated into a Lab-View Real time PXI module that allows a real-time simulation of the complete UAV avionics.With this approach, we have performed HWILsimulations with exactly the same interfaces thatthe one used on-board the UAV. Therefore,the processing unit with the control GN&Calgorithms is validated with the exactly sameconfiguration as the one that will be used in thefield experiments. This fact is extremely importantin critical systems where pure simulations are notenough to capture all the dependencies with thehardware (signal noises, errors, synchronizationproblems, etc.)

The HWIL test environment is composed offour main parts:

• LabView Real Time PXI: the PXI is a PC-based platform for testing, measurement andcontrol that provides high bandwidth and verylow latency and it allows implementing manydifferent interfaces and buses. In this case,the PXI runs the model of the UAV thathas been codified as a dynamic library usingMatlab RTW tool. Also, as mentioned before,all the different avionics sensors and actuatorsinterfaces will be simulated using LabView.

• On-board processing unit: right now, we use aPC-104 unit which contains the algorithms andcontrol strategies to be tested. The same unitis used in the real UAV for field experiments.It implements the code that has been createdwith automated code generation tools and theintegration framework (see Section 2).

Fig. 9 GSS8000 GPS emulator from Spirent

• GPS emulator: this system allows to simulateand to generate the RF signals that the satel-lites of a given constellation, selected by theuser would generate. These signals feed thereal GPS sensor that is on-board the UAV,in the same way that happens in the flight ex-periments. The GPS emulator is the GSS8000model from Spirent (see Fig. 9). The Spirentsoftware also allows simulating the inertialsensors. This software has an important num-ber of options, so it is possible to specifydifferent scenarios, degrade signals, specifythe pattern of the antenna, model the errorsof the IMU sensors, etc.

• Visualization: the behavior of the UAV withthe algorithms that has been developed andhas been downloaded into the target computer

Fig. 10 UAV used in the experiments and based onCB5000 RC helicopter

Page 10: Model-Based Design, Development and Validation for UAS Critical Software

112 J Intell Robot Syst (2012) 65:103–114

Fig. 11 North positioncomparison results

can be debugged using Simulink ExternalMode capability. With this software, it is possi-ble to see in real time the values of the signalsthat the user need to know. Also it is possibleto change the parameters of the algorithms im-plemented in the embedded processing unit.The interface used for these operations is ac-tually the same as the one that the control en-gineer uses when it is simulating and designingthe algorithms. Then, for the control engineerthe whole HWIL testing environment is com-pletely transparent and it is able to performHWIL tests in the same way as performingsimulation tests, decreasing notably the devel-opment time.

5 Simulation, Experiment Results and Validation

In this section, an example of a position referencetracking with the GN&C algorithms, previouslydescribed in Section 3, is presented. All the algo-

rithms have been developed and validated usingthe presented model-based approach.

The flight tests have been performed on amodified RC helicopter (see Fig. 10) that wasconverted into a UAV with the integration ofseveral sensors and a processing unit.

A comparison between flight test telemetry anda HWIL simulation of the same GN&C algo-rithms is presented in Figs. 11, 12, 13. It is im-portant to point out that, as commented for theHWIL test environment, the same visualizationsystem, based on the Simulink External Mode,was used. Therefore, the control engineers arealways using the same visualization and debuggingtool in the complete design, development andvalidation cycle. As was previously mentioned,this fact decreases the development time, allowingfast iterations between the different developmentsteps.

From Figs. 11 and 12, it can be concluded thatthe UAV achieves the required reference valuesin the horizontal plane without overshooting or

Fig. 12 West positioncomparison results

Page 11: Model-Based Design, Development and Validation for UAS Critical Software

J Intell Robot Syst (2012) 65:103–114 113

Fig. 13 Altitudecomparison results

any permanent errors. The dynamic of the UAVis a little slower than the given reference.

In the case of the altitude behavior shown inFig. 13, the telemetry data have an error that oscil-lates around 0.5 to 1 m. The real data was obtainedwith the EKF navigation algorithms without usinga DGPS system. The accuracy of a simple GPSin the vertical axis is worst than in the horizontalaxes. In order to solve this problem related withthe altitude measurement, a slow altitude dynamicbehavior is imposed making the real oscillation ofthe helicopter smaller than the one that is repre-sented in the telemetry data.

It is important to point out that, thanks toour model-based integration framework, the sametools are used in all the development phases,including the flight experiments. Therefore, thecontrol engineer uses the Simulink tool in order totune the controller during flight experiments, andalso uses the same tool for analyzing flying dataand debugging purposes.

Finally, it can be concluded that there is agood correspondence between the HWIL simula-tion and the real flight test results. Therefore theHWIL test environment can be used for validationpurposes in order to test the whole system in thereal hardware before the experimental flights.

6 Conclusions and Future Work

In this work, we have presented how the com-plete development of critical software for UAVscan be performed using a model-based approach.This approach has several advantages: faster it-eration cycles, reuse of the models in different

hardware platforms, integration of models intothe target hardware completely transparent to thecontrol systems engineers, and minimization ofhand coded software which reduces the source oferrors.

Also, we have described how this model-basedapproach can be combined with a HWIL testenvironment for GN&C systems. This combi-nation allows to validate the complete systemon a controlled environment with exactly thesame configuration that will be used on-board theUAV. The presented results show that the simula-tions obtained from the HWIL test environmentand the real flights results are fairly similar, andtherefore, we can conclude that the HWIL testenvironment simulate the main components of thereal UAV behavior.

Future work includes the study of how to inte-grate these tools into a certification process withthe objective of making the traceability and test-ing processes automatically, and therefore, mini-mizing the effort when it is needed to change thecertified software.

Acknowledgements This work was partially funded bythe European Union PLANET Project (ICT-2010-257649)and the CONET Network of Excellence (INFSO-ICT-224053).

References

1. Bhatt, D., Hall, B., Dajani-Brown, S., Hickman, S.,Paulitsch, M.: Model-based development and implica-tions to design assurance and certification. In: The Pro-ceedings of the Digital Avionics Systems Conference(2005)

2. Kirby, B., Kang, H.: Model based design for powersystems protection relays, using matlab & simulink. In:

Page 12: Model-Based Design, Development and Validation for UAS Critical Software

114 J Intell Robot Syst (2012) 65:103–114

The Proceedings of the IET 9th International Con-ference on Developments in Power System Protectio(2008)

3. Ahmadian, M., Nazari, Z.J., Nakbaeet, N., Kostic, Z.:Model based design and SDR. In: The Proceedings ofthe lEEE/EURASIP Conference on DSPenbaleRadio(2005)

4. Orehek, M., Robl, C.: Model-based design of an ECUwith data- and event-driven parts using auto codegeneration. In: The Proceedings of the InternationalConference on Robotics and Automation (ICRA)(2001)

5. Kalman, R.E.: A new approach to linear filtering andprediction problems. J. Basic Eng. 82, 35–45 (1960)

6. Musial, M., Deeg, C., Remuss, V., Hommel, G.: Ori-entation sensing for helicopter UAVs under strict re-source constraints. In: The First European Micro AirVehicle Conference and Flight Competition (2004)

7. Kondak, K., Bernard, M., Losse, N., Hommel, G.:Elaborated modeling and control for autonomoussmall size helicopters. ISR/ROBOTIK (2006)

8. Kondak, K., Deeg, C., Hommel, G., Musial, M., Re-muss, V.: Mechanical model and control of an au-tonomous small size helicopter with a stiff main rotor.

In: The Proceedings of the International Coference onIntelligent Robots and Systems (IROS) (2004)

9. Millar, M.P.: An accurate method of measuring the mo-ments of inertia of airplanes. Langley Memorial Aero-nautical Laboratory, naca-tn-35 (1930)

10. Béjar, M.: Methodology and techniques for designingcontrol systems of autonomous helicopters. Ph.D. the-sis, University of Seville (2009)

11. Object Management Group, Inc., The Unified Mod-eling Language™ (UML), Needham, MA. http://www.uml.org/

12. The MathWorks MATLAB® and Simulink®. http://www.mathworks.com

13. SCADE Suite™, Esterel Technologies France.http://www.esterel-technologies.com/

14. Maza, I., Caballero, F., Capitan, J., Martines-de-Dios,J., Ollero, A.: A distributed architecture for a roboticplatform with aerial sensor transportation and self-deployment capabilities. J. Field Robot. 28, 303–328(2011)

15. Maza, I., Kondak, K., Bernard, M., Ollero, A.: Multi-UAV cooperation and control for load transportationand deployment. J. Intell. Robot. Syst. 57, 417–449(2010)