mechanical model for quadcopter uav

86
Universit` a degli Studi di Trento FACOLT ` A DI INGEGNERIA Course: Modeling and Simulations of Mechanical Systems Course Project Report Mechanical Model for Quadcopter UAV Candidato: Matteo Ragni Matricola 156994 Anno Accademico 2011-2012

Upload: matteoragni

Post on 21-Jan-2016

652 views

Category:

Documents


0 download

DESCRIPTION

The goal of this report is to define an iterative procedure that can be used to reach a good project of a quadcopter for aggressive maneuvers; this means lowtolerance to wind interference, high accelerations and an automatic control for stabilization. As we will see from QFD interviews, this type of quadcopter is themost requested from typical customers. To reach all those objectives, is important to define a good, robust and complete dynamic model, obtained through quaternions formulation.Force models for propeller are derived from experimental data and aerodynamic force are obtained through numeric simulations (CFD). Inertial values are acquired from an unbalanced, as a real object, CAD model. In section 8 is shown how to optimize quadcopter frame, to lower as much as possible total weight, via analytical or numerical (FEM) simulations. Must be taken into account that even the more refined model cannot provide perfect solutions against bad formed propeller or too high wind interference.

TRANSCRIPT

Page 1: Mechanical Model for Quadcopter UAV

Universita degli Studi di Trento

FACOLTA DI INGEGNERIA

Course: Modeling and Simulations of Mechanical Systems

Course Project Report

Mechanical Modelfor Quadcopter UAV

Candidato:

Matteo RagniMatricola 156994

Anno Accademico 2011-2012

Page 2: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

Part I

Project report1 Introduction

The goal of this report is to define an iterative pro-cedure that can be used to reach a good project of aquadcopter for aggressive maneuvers; this means lowtolerance to wind interference, high accelerations andan automatic control for stabilization. As we will seefrom QFD interviews, this type of quadcopter is themost requested from typical customers. To reach allthose objectives, is important to define a good, ro-bust and complete dynamic model, obtained throughquaternions formulation.

Force models for propeller are derived from ex-perimental data and aerodynamic force are obtainedthrough numeric simulations (CFD). Inertial values areacquired from an unbalanced, as a real object, CADmodel. In section 8 is shown how to optimize quad-copter frame, to lower as much as possible total weight,via analytical or numerical (FEM) simulations. Mustbe taken into account that even the more refined modelcannot provide perfect solutions against bad formedpropeller or too high wind interference.

2 Customer requirements

The first question we have to take into account is: whoare costumers? We can identify four possible main cos-tumers, whose requirements have to be deeply consid-ered:

� hobbyist;

� scientist whom uses quadcopter for geophysicallogging;

� scientist whom uses quadcopter for research inautomation controls and robotics;

� assembler for ready-to-fly quadcopter.

With our simulation of QFD, we succeeded to collectrequirements from the first type of costumers (hob-byist) through interviews1. In the interview were 19multiple-choice questions plus an open question aboutfunctional behavior of an hypothetical quadcopter.

From interview we have extracted 7 main customer re-quirements. Relative importance for each customer re-quirements was judged by Kano method, through fur-ther interviews formed byfeel if [requirement] imple-mented/not implemented questions. Results of thosetwo interviews are summed up in Table 1. Records inmagenta will not be further considered to get a simplerproblem.

#. Customer requirements KIdx

1. It adapts to environmental conditions 0.33

2. It has an human/sensors interface 0.26

3. It is easy to assemble/repair/transport 0.22

4. It has an attractive aspect 0.21

5. It travels at high speed 0.17

6. It has propeller’s blades protections 0.11

7. It has elements in recycled materials 0.06

Table 1: Customer requirements and relative ranks (KIdxstands for Kano index)

Some of those requirements import several issuesin our model approach. The first requirement, for anexample, changes air density value that must be consid-ered for force models (ρ@1000mslm = 1.112 kg/m3), andalso changes the automatic control approach that mustbe persecuted to stabilize the system. The third andsixth requirements have several implications on framedesign and weight. Beside what was expected, cus-tomers do not bother about quadcopter life-time.

3 Benchmark

In this section we compare what market already of-fers against our customer requirements. Beside all DIYprototypes and kits that are available, I have selectedthree different model:

� Parrot A.R. Drone;

� Xenus L;

� Anteos L.

1To make interview Google Form service were used. For privacy restrictions, only interview results are reported in this file.Form (Italian version) is available online at QFD Form (Google Docs).

Mechanical Model for Quadcopter UAV — 2

Page 3: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

If first and second can be considered as toys, the lastone differs for dimensions and aims. In fact AnteosL is an high payload stable quad rotor used for pro-fessional, low cost filming and geophysical logging. Itrequires a specific license and its flights must be ap-proved by nearest control tower. Benchmark are madesumming up data collected from company’s sites andspecific forums (AeroQuad, Mikrokopter.de, etc...). Infact, results compared to customers requirements aremade by customers themselves. Table 2 summarizesresults:

C.R. Model

P X A

1. 2 3 4 1 2 3 4 5

2. 5 3 3

3. 4 2 2

4. 5 2 2

5. 3 4 5

6. 3 1 1

7. 3 1 1

Score 3.61 2.55 2.92

P Parrot A.R. Drone; X Xenus L; A Anteos L.

Table 2: Benchmark results

Parrot A. R. Drone, that is product for hobbyistmarket, seems to be prototype that responds better toour customers requirements.

4 Technical specifications

Customer requirements cannot be used for solutionscomparison, so we need to provide a list of techni-cal specifications. Each customer requirement gener-ates one or more technical specifications that can bein competitions with others. Table 4 summarizes spec-ifications against customer requirements. Records inmagenta will not be further considered to get a sim-pler problem. For example, consider z coordinate ofcenter of mass. This value should be under plane iden-tified by set of propeller’s barycenter. In this case,system can be approximate to a simple pendulum. Ifz coordinate is above the plane, system can be eas-ily approximated to an inverse pendulum, so stabilitybecomes a very hard aim to reach. It is easy to un-derstand why weight has a so strong impact on many

of customer requirements. Some of those specificationsare related each other, with positive or negative rela-tions. In case there is a negative relation, a trade offbetween two specification must be found, as functionof their relative importance. Table 4 summarizes thislast aspect.

SpecificationRequirements1. 2. 3. 4. 5. 6. 7.

A. Mass 9 9 3 3 9 9B. Hor. Area 9 3 3 3 3 1C. Ver. Area 9 3 1 3 1 1D. Z C. of mass 9 9E. Z Speed 3 9 3F. XY Speed 3 3 9 3G. Stall angle 3 9 3H. RF Channels 9I. Arms length 9 9 3 3 3J. Max current 3 3 9K. Tight. torque 3 1L. Thrust force 9 9 9 3M. Drag torque 9 9 9 3

1 low impact 3 medium impact 9 strong impact

Table 3: Technical specifications

Stall angle stands for maximum inclination alongpropeller plane at which maximum propeller force isenough to balance system weight.

A. B. C. D. E. F. G. I. L.M. -1 9 9L. 9 9 9I. 3 3 3 1G. -1F. -1 -1 3E. -1 -1D.C. 9B. 9

-1 Negative relation 1 Low relation

3 Relative relation 9 Strong relation

Table 4: Relative technical specifications relations

One can note strong relations between thrust forceand drag force. This relation derives from aerodynamiclocal force generated by propellers’ rotation, from witchboth phenomena track their origin. If we desire a greatthrust force, we have also to face against a great drag

Mechanical Model for Quadcopter UAV — 3

Page 4: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

torque, that in many cases acts as a disturbance onsystem’s stability.

5 Targets, goals and parameters

Now that we have clearly defined specifications, we candefine some targets for our system. Strong relations al-low us to reduce total number of goals to some that arefundamentals.

Specification Target

Mass m ≤ 3.5 kgStall angle φstall ≥ 45°Z Speed z ≥ 20m/s

Table 5: Targets

Those targets imply all others specifications, asthrust force or dimensions. In fact, those others can beused as parameters for system design. Constrains onmass implies maximum frame volume, batteries, and,therefore, constrains on maximum length or shape forpropellers’ arms. A list of possible parameters are:

� propellers’ arms length: L;

� propellers’ arms shape (2 or 3 parameter, used inoptimization);

� propellers radius and average cord: Rpropeller andcavg;

� materials used;

and so on. Some parameters can be seen in figure 1. Itis obvious that this set of targets is not sufficient to geta stable systems, and other parameters should be setabout closed-loop control system (such as input errorsand settlement times on each controlled variable), butin this document will not be examined thoroughly. Intable reported in section 10 all QFD results discussedfrom section 2 to section 5 are summed up into houseof quality diagram.

L_MCB

Z_C

B

Radius

Proprietà Valore Unità

Massa 2625.40 g

xG -8.79 mm

yG 3.65

zG 1.57

Lxx 60666424.25 g mm^2

Lyy 60677857.88

Lzz 120000774.39

Lxy 1491.78

Lxz 284.59

Lyz 3001.50

z

x y

Figure 1: Quadcopter’s main parameter from CAD model

6 Mechanical system model andsimulation

Mechanical modeling is done in Maple using MB-Symba r6 and other packages. Analysis will proceedin this way: first of all there are some considerationsabout system simplifications. Then the chosen kine-matic approach will be explained. System of force willbe analyzed deeply. At last point, will be sketched asimpler dynamic system to understand what was doneto define Maple model.

6.1 System simplifications

There are a lot of simplifications, and not all of themcan be proofed only with computer modeling.

First of all, we have a clash between a stiff prob-lem (angular speed of propellers too fast w.r.t. centralsystem body angular speed) and a very complex set ofequations. Solutions can be found only with an hugeuse of memory2, so we have decided to neglect pro-pellers’ inertial effects in the model. This assumptionis not new to quadcopter modeling and was often gaveas standard assumption in literature [1, 3].

There are many approximations in aerodynamicmodel for propeller force and torque, most of them de-rived from limit interpretation of [1] equations. Thosesimplified equations should be proved experimentallyto be confirmed. Experimental data are derived from

2With my computer, Maple’s garbage collector system always reached threshold value during numeric integration with stiffoption set to true, interrupting computations.

Mechanical Model for Quadcopter UAV — 4

Page 5: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

online database and compared with unofficial data col-lected by hobbyist.

The last strong simplification regards propellers’arms deflections. Shape of arms is optimized to granteea total deflection littler than 0.1mm, enough to con-sider the central body as rigid.

6.2 Kinematic approach

System is composed by a single rigid body with 6 de-grees of freedom, 3 translations {x(t), y(t), z(t)} and3 rotations, defined by a quaternion vector: ~q ={q0(t), q1(t), q2(t), q3(t)}, so reference system is inform (equation 4.1 in Maple script, variable TMquad):

[TM ] =

x(t)

R3×3(~q) y(t)z(t)

0 0 0 1

(1)

Origin of reference is in system center of mass. Fora simpler definitions of force, another reference sys-tem is defined in the geometrical center of quadcopter(TMquad2). The use of quaternions grants complete ab-sence of singularities, that can occurs during aggressivemaneuver. All functions necessary to make computa-tion with quaternion are defined in the first part of thescript.We need to add to all set of equation a constraintabout quaternion:

|~q| = q20 + q21 + q22 + q23 = 1 (2)

This equations is implicitly used to get a simplificationand maintains system an ODE type. Representationof reference system is portraited in figure 7.

6.3 Force modeling

There are three main forces that must be modeled.The first one, and simpler, is gravitational force, anddefined in the script by gravity variable. The sec-ond force is propeller thrust and propeller drag. If weconsider a single propeller:

0.7 R

FT

MD

w

Propeller force distribution

Figure 2: Propeller forces and aerodynamic force distri-bution

As suggested in [1], thrust force and drag momen-tum are the major effect that must be taken into ac-count. Bending momentum, even if present on a singleblade of propeller, is balanced by bending momentumon the opposite blade, so its effects on central bodycan be neglected. From equations of lift and drag coef-ficients, and inversion of those definitions, it is possibleto find an expression for lift force and drag momen-tum. To get numeric values, we can suppose that withan extreme approximation, to get a stall angle greaterthan 45° with a mass of 3 kg, propeller must impose aforce of: FT ≈ 1/4 3 kg g cos(45°) = 5.3N at low an-gular speed. This means that we can select as initialtype of propeller an APC − 13 × 63, and its value oflift and drag coefficients are tabulated online at [2.a]and how data is collected is explained in [2.b]. Ex-perimental data are interpolated with an exponentialfunction, and interpolation results can be seen in fig-ure 3. Thrust force and drag momentum are definedas functions of angular ratios:

FT (ω) =1

2ρCL(ω)S v2 =

=1

2ρCL(ω) (Rcavg) (.7Rω)2 (3)

MD(ω) =1

2ρCD(ω)S v2 (.7R) =

=1

2ρCD(ω) (Rcavg) (.7Rω)2 (.7R) (4)

To validate model we have compared results of forcew.r.t. some experimental data retrieved from forums

3There are two type of propeller: clockwise and anticlockwise, used to balance drag torque. For anticlockwise propeller only ωand MD change signs. FT is positive in both cases.

Mechanical Model for Quadcopter UAV — 5

Page 6: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

and collected by hobbyist, in figure 4. Our modelis only compared with, and not based upon, becausethose data cannot be verified.

Figure 3: Cd and Cl interpolation

Figure 4: Force model and Drag torque compared to ex-perimental data. Propeller reactions are in-tended only positive.

The last force that must be modeled is force thatapparent wind, as difference between system speed andwind speed, generates on quadcopter. To get an eas-ier formulation, aerodynamic force components are de-fined in system’s reference frame. Aerodynamic forces

follow the same behavior of propeller force, but a valueof drag coefficient must be provided in function of oursystem shape. To obtain a numeric value, we can try tomake a CFD simulation4 of the body (see section 13),for different airflow speed. Using principle of conserva-tion of linear momentum for fluids, we can approximatecoefficient with:

C =∆p

1

2ρ v2

(5)

where ∆p is pressure drop of airflow due to presenceof model in simulated wind gallery. Coefficient for xzplane and yz plane can be considered equal, due tomodel symmetry. With CAD model is easy also toevaluate exposed surface to fluid impact. Results ofsimulations are presented in figure 5 and in figure 6are presented aerodynamic forces, evaluated with nextequations:

F zwind = −

(vz|vz|

)1

2ρCxy Sxy (vz − vzwind)2 (6)

F iwind = −

(vi|vi|

)1

2ρCiz Siz (vi − v

iwind)2 (7)

∀i ∈ {x, y}

Figure 5: Wind coefficients Cxyand Ciz

4Aerodynamic simulation are done by SolidWorks Flow Simulation.

Mechanical Model for Quadcopter UAV — 6

Page 7: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

Figure 6: Aerodynamic forces

With this last one we have completed forces mod-eling, and we can focus on model of the system.

6.4 System mechanical model

Once defined model of forces, dynamic system modelis quite simple, and is obtained through an applicationof Newton-Euler equation to our system model. Wecan use formulations of velocity and angular acceler-ations to get down order equations, necessary to so-lutions of dynamic second order differential equations.Angular accelerations and barycentric velocities are de-rived from solutions of this two equations:

[TM ]

G− [TM ]×

u(t)v(t)z(t)

0

= 0 (8)

d~q

dt− 1

2Q(~q)×

0

ωx(t)ωy(t)ωz(t)

= 0 (9)

with implicit substitutions of quaternion constraint 2.

Ground X

Ground Z

Ground Y

Ground 0

y(t), v(t),m ,w(t) (t)

x(t), u(t),f ,w(t) (t)

z(t), w(t),y ,w(t) (t)

mg

Fwind

gi(t)

31

4

2

i

i

gi

gi

2

3

1

FT( )

MD( )

Figure 7: Force and kinematic

From the scheme in figure 7 we can derive a simpli-fied version of equations of motion defined in systemcenter of mass:

0 = −[ ∑

i FTi + Fw∑i(MDi + Li × FTi) + 0× Fw

]+

+

[m · I 0

0 J

]×(~u

)+

[0

~ω × J~ω

](10)

where J is moment of inertia about center of mass.Equations of motion is formed by set of equations: {Eq.8 ∪ Eq. 9 ∪ Eq. 10}5. As can be seen in Maple script,numeric solutions depends from initial conditions andfrom a set of 8 parameter: 4 angular speed of propellerand 3 wind velocities in absolute frame. As alreadysaid, system is not stable and should be linearized todefine a control law (system diverge from stable con-dition in less than 2 s): here is plotted an example ofpositions of quadcopter after 1 s and 3 s6.

5nequations = 6 + 4 + 3 = 13, with implicit declaration of Eq. 2, for nunknows = dim(~x, ~u, ~q, ~ω}) = 3 + 3 + 4 + 3 = 13.6For simplicity, quaternions values are returned in Euler angles.

Mechanical Model for Quadcopter UAV — 7

Page 8: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

Figure 8: Solutions

Figure 9: Quadcopter position simulation

Linearization around this equilibrium point is agood start for control and stabilization analysis.

7 Result discussions

It is time to discuss our results in comparison withtechnical specifications. With this initial solution,even if our system is not been already optimized, itcan maintain its overall mass lighter than target value(2.62 kg ≤ 3.5 kg). This is the most important techni-cal parameter, and is fundamental to reach this target.

Stall angle, as it has been defined, is strictly con-nected to thrust force that propellers is able to impose:as our propeller can potentially reach 15N of thrust,we can approximate a stall angle of ∼ 60°, that followsour specifications indication.

With some test performed using D’Alembert prin-ciple we have found that with propeller angular speedset {γ1 = 424, γ1 = 431, γ1 = 448, γ4 = 441} s−1 sys-tem can perform a stationary flight with vertical speedz ≈ 20m/s. Even in this case, stationary flight is notstable.

8 Optimization

Structural optimization aims to minimize mass offoverall system. In the first version of analysis, we se-lected ABS, a plastic polymer, for central body frame.Once note propeller force and torque, it was obviousthat this material has a too low Young’s module, sodeflections were too high, against our hypothesis ofrigid body. To maintain this hypothesis, only for thecentral part of the frame, material selection passed toan aluminum alloy. Optimization is done consideringminimization of mass, with constrains of deflection andyield stress:

min (ρAl LA) = W√(1

3

P L3

E Jx

)2

+

(1

2

M L2

E Jy

)2

≤ L

3000(11)√(

M

Jy

)2

+

(P L

Jx

)2

d∗ ≤ σY Al

sf

were d∗ is maximum stress point distance from areabarycenter and sf = 2 is a security factor. Ana-lytical solutions is performed only for hollow circularshape and H section beam. For the other shape, so-lution are performed using SolidWorks Simulation andSolidWorks Design Tools, in which better solution issearched through a discrete set of configuration. Be-cause of Simulation take into account of gravity, resultsseems to be a little different, but we have consideredthat phase littler than 0.1mm are insignificant for areal model. The next figure summarize optimizationproblem:

Mechanical Model for Quadcopter UAV — 8

Page 9: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

A A

SEZIONE A-A

Di

s

a

b

h

b

a

s

a

b

s

b

h

SOLUTION 1 SOLUTION 2 SOLUTION 3 SOLUTION 4 SOLUTION 5

Figure 10: Optimization shapes considered, with param-eters.

Next tables summarize results for optimization7.Analytical studies can be found in latter pages of maplescript, numerical studies are in attachments, as auto-matically generated SolidWorks reports.

Num.Sol. An.Sol. Num.Goal An.Goal

Di = 32 31.30 W = 118.99 130.91s = 1.4 1.51 δ = 0.099 0.099

σ = 2.845 2.639

Table 6: Solution 1

Num.Sol. An.Sol. Num.Goal An.Goal

a = 4 5.75 W = 255.96 376.95b = 34 35 δ = 0.097 0.100h = 19 22.44 σ = 4.126 2.715

Table 7: Solution 2

Num.Sol. Num.Goal

s = 7 W = 111.3a = 30 δ = 0.096b = 30 σ = 3.488

Table 8: Solution 3

Num.Sol. Num.Goal

a = 12.5 W = 129.375b = 7.5 δ = 0.098

σ = 3.488

Table 9: Solution 4

Num.Sol. Num.Goal

b = 26.8 W = 39.816s = 1.4 δ = 0.076h = 17.8 σ = 7.164

Table 10: Solution 5

The best solution seems to be the number 5, withdimensions specified in Table 10.

9 Conclusions

The aim of this document was, previous than define acomplete model, find an iterative procedure that canbe used to project a good quadcopter for aggressivemaneuvers. That’s why, in model definition, we haveused quaternions for rotation, and that’s why we haveimposed so extreme technical specifications on speedand stall angle. This procedure, however, lacks of thefundamental automatic control analysis, but also showshow it is possible with some iteration optimize modelto lower mass, that is a crucial objective. It allows usto change type of propeller (first choice that we havedone, even before definition of mechanical model), andgenerates a complete new set of constraints, even in op-timization procedure (because of change of maximumload). Main limit of mechanical model presented is inthe automatic code generated for quadcopter electron-ics, because of the incredibly complex equations thatquaternions algebra generates, difficult to be evaluatedby a simple µ-controller. An improvement of this anal-ysis must consider the automatic control.

7Dimensions are in mm. Deflections are in mm. Mass is in g. Stress is in MPa.

Mechanical Model for Quadcopter UAV — 9

Page 10: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

Part II

Attachments

10 Complete QFD Diagram

Next page contains attached documents in which is presented all results about QFD investigations, describedin sections 2, 3, 4 and 5.

Mechanical Model for Quadcopter UAV — 10

Page 11: Mechanical Model for Quadcopter UAV
Page 12: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

11 CAD Model

In the next page, the CAD model is shown, with some of real object parameters. This model was used toretrieve inertial data for mechanical studies, and it was modified to follow better technical specifications. Whatis presented is only the last version, and it lacks only of structural optimization alterations.

Mechanical Model for Quadcopter UAV — 12

Page 13: Mechanical Model for Quadcopter UAV

330

300

B

B

APC

13x6

Des

ire 3

3c L

iPo

Batt

Mic

roco

ntro

ller A

RM

EEC

S 20

AAlu

min

um C

entra

l Fra

me

MK3

638ABS

Pro

pelle

rs' p

rote

ctio

ns

SEZI

ON

E B-

B

Alu

min

ium

pro

pelle

r hol

der

12 w

ind

ings

, bal

l bea

rings

Cur

rent

20A

RPM

/V77

0 rp

m/V

Thru

st m

ax22

00 g

Shaf

t4

mm

Wei

ght

125

g

Che

mist

ryLiP

oly

Ratin

g7.

4V 3

.3A

hW

eigh

t20

7 g

Disc

harg

e10

8.9

A

B C D

12

A

32

14

BA

56

TITO

LO:

N. D

ISEG

NO

SCA

LA:1

:10

1 D

I 1

A4

C

Dise

gno

5

Qua

dcop

ter C

AD

Mod

el

PESO

: 2.6

254

Kg3

4M

atte

o Ra

gni [

1569

94]

Page 14: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

12 Maple script

This section contains the attached Maple script in which is defined the mechanical model of quadcopter and itslinearization for further automatic control and stabilization analysis. In last section of script there is analyticaloptimization for two section shape.

Mechanical Model for Quadcopter UAV — 14

Page 15: Mechanical Model for Quadcopter UAV

(1.1.1)(1.1.1)

> >

> >

> >

Libs and tools

restart;

Libs declarations

In this section will be declared Maple's libs used in this worksheet:if true then: System := kernelopts(platform): if System = "unix" then libname := libname, cat(getenv("HOME"), "/Università/Ingegneria Meccatronica Robotica/Modeling and simulation of mechanical systems/Software"): elif System = "windows" then libname := libname, "D:\\Data\\Università\\Ingegneria Meccatronica Robotica\\Modeling and simulation of mechanical systems\\Software": end if: with(plots): with(plottools): with(LinearAlgebra): with(MBSymba_r6); with(CAD[SolidWorks]); with(Matlab); with(Optimization); with(DynamicSystems);end if:

interface(rtablesize=100):kernelopts(numcpus=8): kernelopts(numcpus);

'Loaded_Modules' = packages();8

Tools DeclarationsIn this section a huge list of useful tools are decleared. That tools will be used in the worksheet:

Procedure to calculate a jacobian of a vectorial function with rispect to a list of function.

jacobian := proc(f::{list,Vector},x::{list,Vector}) local nx,j, x2y,y2x: if type(x,Vector) then nx := Dimensions(x): else nx :=nops(x): end: x2y := [seq(x[i]=y[i],i=1..nx)]: y2x := [seq(y[i]=x[i],i=1..nx)]:

j := VectorCalculus[Jacobian](subs(x2y,f),subs(x2y,x)): return(subs(y2x,j)):

Page 16: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

end proc:

eval_tau := proc(xd::{list,Vector},Phi::{list,Vector},xi::{list,Vector},$) return collect(simplify( - MatrixInverse( jacobian(Phi,xd) ) . jacobian(Phi,xi) ,size),diff): end:

Least Square Problem SolverSolve a Least Square problem of the constraint equations:quadraticProblem := proc(Phi,JPhi_xd,guess,dof,data,nsteps,tol,$) local qi,NPhi,NA,NB,A,B,i,Dq, ssqi,res: qi := subs(guess,xd): ssqi := [seq(xd[i]=qi[i],i=1..nops(xd))]: NPhi := subs(data,dof,Phi): NA := subs(data,dof, Transpose(JPhi_xd).JPhi_xd): NB := subs(data,dof,-Transpose(JPhi_xd).<Phi>):

#printf("Start least square solution ---------\n"); for i from 1 to nsteps do: A := subs(ssqi,NA): B := subs(ssqi,NB): Dq := LinearSolve(A,B): qi := convert( <qi>+Dq,list): ssqi := [seq(xd[i]=qi[i],i=1..nops(xd))]: res := Norm(<evalf(subs(ssqi,data,dof,Phi))>, 2, conjugate = false): #printf("i = %2d - res = %f\n",i,res); if (res < tol) then printf("Solution found: iterations = %2d - res = %f\n",i,res); break: end : end do:

return ssqi:

end proc:

Dynamic2dThe next procedures evaluate NE equations of a 2D body (3 equations of second order, N: x andy components. E: z component). The Euler equations are evaluated w.r.t. center of mass of the body.

Dyna2D := proc(body::BODY,forces::set, $) printf(" ------ NEWTON ------ \n"); newton_equations({body} union forces,true): printf(" ------ EULERO ------ \n"); euler_equations({body} union forces,CoM(body),true): return collect(simplify([comp_X(%%),comp_Y(%%),comp_Z(%)],size),{diff}):end:

Dynamic3d

The next procedures evaluate NE equations of a 3D body (6 equations of second order). The Euler equations are evaluated w.r.t. center of mass of the body.

Dyna3D := proc(body::BODY,forces::set, $) printf(" ------ NEWTON ------ \n"); newton_equations({body} union forces,true): printf(" ------ EULERO ------ \n"); euler_equations({body} union forces,CoM(body),true): return collect(simplify([comp_XYZ(%%),comp_XYZ(%)],size),{diff}):end:

Page 17: Mechanical Model for Quadcopter UAV

> >

> >

> >

Dyna3DSE := proc(body::BODY,forces::set,TM, $) printf(" ------ NEWTON ------ \n"); newton_equations({body} union forces,true): printf(" ------ EULERO ------ \n"); euler_equations({body} union forces,CoM(body),true): return collect(simplify([comp_XYZ(%%,TM),comp_XYZ(%,TM)],size),{diff}):end:

Quaternions AlgebraIn this section are declared all functions and procedures used for quaternions algebra: note that all definitions end with the label "_quat".

# Creates a new quaternion: # q = <q0,q1,q2,q3>make_quat := q -> < q||0(t), q||1(t), q||2(t), q||3(t) >:

# Angular ratio of a quaternion: # w = <0,w1,w2,w3>makeAngVel_quat := omega -> < 0, omega||1(t), omega||2(t), omega||3(t) >:

# Quaternion conjugate: # qc = <q0,-q1,-q2,-q3>conj_quat := q -> < q[1], -q[2], -q[3], -q[4] >:

# Derivatives of quaternion components# dq = <dq0,dq1,dq2,dq3>diff_quat := q -> < seq( diff(q[i],t), i=1..4 ) >:

# Quadratic norm of a quaternion# |q|^2abs2_quat := q -> Transpose(q).q:

# Norm of a quaternion# |q|abs_quat := q -> sqrt(abs2_quat(q)):

# Inverse of a quaternion# q^-1 = qc/|q|^2inverse_quat := q -> conj_quat(q)/abs2_quat(q):

# Multiplicative matrix of a quaternion# Q(q)Q_quat := proc(q) local q0,q1,q2,q3: q0 := q[1]: q1 := q[2]: q2 := q[3]: q3 := q[4]: << q0 | -q1 | -q2 | -q3 >, < q1 | q0 | -q3 | q2 >, < q2 | q3 | q0 | -q1 >, < q3 | -q2 | q1 | q0 >>; end:

# Multiplicative conjugate matrix # QC(q)QC_quat := proc(q) local q0,q1,q2,q3:

Page 18: Mechanical Model for Quadcopter UAV

> >

> >

> >

q0 := q[1]: q1 := q[2]: q2 := q[3]: q3 := q[4]: << q0 | -q1 | -q2 | -q3 >, < q1 | q0 | q3 | -q2 >, < q2 | -q3 | q0 | q1 >, < q3 | q2 | -q1 | q0 >>; end:

# Product between quaternions# p*q = Q(p).q prod_quat := (p,q) -> Q(p).q:

# Rotational quaternion# q = < cos(a/2), nx sina(a/2), ny sina(a/2), nz sina(a/2)>make_rotation_quat := proc(alpha,nx,ny,nz) < cos( alpha/2 ), nx*sin( alpha/2 ), ny*sin( alpha/2 ), nz*sin( alpha/2 ) >: end:

# Rotation matrix from a quaternion. Return also the constrainrotation_matrix_quat := proc(q) local rotation_matrix, constrain: constrain := abs2_quat(q) = 1: rotation_matrix := subs( constrain, ( 1/abs2_quat(q) ) * ( Q_quat(q).Transpose(QC_quat(q)) ) ): return rotation_matrix, contrain; end:

# Return a standard 3x3 rotation matrix from a quaternion rotation matrixextract_rotation_matrix_quat := A -> A[2..4,2..4]:

# Creates a frame given a quaternion and a origin positionTM_quat := proc(q,x,y,z) local R,c: R,c := rotation_matrix_quat(q): R := extract_rotation_matrix_quat(R): << R[1..3,1],0 > | < R[1..3,2],0 > | < R[1..3,3],0 > | <x,y,z,1>>; end:

# Returns quaternions values for a given Eulerian rotation XYZEulerZYX2Quat_quat := proc(psi,theta,phi) local qx,qy,qz,qrot: qx := make_rotation_quat(phi,1,0,0): qy := make_rotation_quat(theta,0,1,0): qz := make_rotation_quat(psi,0,0,1): qrot := Q_quat( Q_quat(qz).qy ).qx: return qrot end:

Page 19: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

# Returns an Eulerian rotation from a quaternion that respects contraintQuat2EulerXYZ_quat := proc(q) return [ arctan( 2*(q[1]*q[2] + q[3]*q[4] ) / (1 - 2*(q[2]^2+q[3]^2))), arcsin( 2*(q[1]*q[3]-q[4]*q[2]) ), arctan( 2*(q[1]*q[4] + q[2]*q[3] ) / (1 - 2*(q[3]^2+q[4]^2))) ]; end:

Drawing proceduresProcedure to draw a mechanism 2D

drawMech := proc(PL::list(list(POINT)), data::list, sol::{list,set}, radius::scalar:=0.005, $) local p, pp1, pp2,pp3,pp4,plotList,ic,colorSet:

colorSet := ["DarkOrange", "MidnightBlue","OrangeRed","RoyalBlue", "DarkGray","DarkSlateBlue","Goldenrod","LawnGreen","MediumBlue"]: plotList := []:

ic := 1: for p in PL do: pp1 := subs(data,sol,[comp_X(p[1],ground),comp_Y(p[1],ground)]): pp2 := subs(data,sol,[comp_X(p[2],ground),comp_Y(p[2],ground)]): pp3 := subs(data,sol,plottools[disk](pp1,radius,color=yellow)): pp4 := subs(data,sol,plottools[disk](pp2,radius,color=yellow)): plotList := [op(plotList),plot([pp1,pp2],thickness=4,color=colorSet[ic]),pp3,pp4]: ic := ic+1: end : display(plotList,scaling=constrained,gridlines=true):

end proc:

Procedure to draw a mechanism 3DdrawMech3D := proc(PL::list(list(POINT)), data::list(`=`), dof::`=`, solK::{list(`=`),set(`=`)},$) local p, pp1, pp2,pp3,pp4,plotList:

plotList := []:

for p in PL do: pp1 := subs(data,solK,dof,[comp_XYZ(p[1],ground)]): pp2 := subs(data,solK,dof,[comp_XYZ(p[2],ground)]): pp3 := subs(data,solK,dof,plottools[sphere](pp1,0.05,color=yellow)): pp4 := subs(data,solK,dof,plottools[sphere](pp2,0.05,color=yellow)):

Page 20: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

plotList := [op(plotList),plottools[line](pp1,pp2,thickness=4,color=blue),pp3,pp4]: end :

display(plotList,scaling=constrained,axes=boxed,lightmodel=light3,style=surface):

end proc:

Procedure to draw an oriented polyedronThis procedure drawn an oriented polyedron given the parameter described in proc interface

DrawOrientedPolygons := proc( RF :: Matrix, # Transformation matrix 4x4 h :: {integer,float}, # height a :: {integer,float}, # X lenght b :: {integer,float}, # Y lenght (different for elliptical bases) LL :: {integer,float},$) # Number of later faces that must be rendered

local Origine, CentroSuperiore, SetPointSuperiore, CentroInferiore, SetPointInferiore, DiscoSuperiore, DiscoInferiore, Facce, displayObject, i:

Origine := RF[1..4,4]:

# Disegnare il disco superiore CentroSuperiore := evalf(Origine + RF.((h/2)*<0,0,1,0>)); SetPointSuperiore := [evalf( seq(convert((CentroSuperiore + RF.(<a*cos(2*Pi*i/LL),b*sin(2*Pi*i/LL),0,0>))[1..3],list),i=1..LL))]; DiscoSuperiore:=polygon(SetPointSuperiore);

# Disegnare il disco inferiore CentroInferiore := evalf(Origine - RF.((h/2)*<0,0,1,0>)); SetPointInferiore := [evalf( seq(convert((CentroInferiore + RF.(<a*cos(2*Pi*i/LL),b*sin(2*Pi*i/LL),0,0>))[1..3],list),i=1..LL))]; DiscoInferiore := polygon(SetPointInferiore); # Disegnare le pareti laterali Facce := []; for i from 1 to LL do: if (i < LL) then: Facce := [op(Facce),polygon([op(SetPointSuperiore)[i], op(SetPointInferiore)[i], op(SetPointInferiore)[i+1],

Page 21: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

> >

op(SetPointSuperiore)[i+1]])]; elif (i = LL) then: Facce := [op(Facce),polygon([op(SetPointSuperiore)[i], op(SetPointInferiore)[i], op(SetPointInferiore)[1], op(SetPointSuperiore)[1]])]; end if; end; displayObject := DiscoSuperiore,DiscoInferiore,op(Facce): return displayObject; end:

Procedure to drawn an oriented quadcopterThis procedure uses the last one to draw an oriented quadcopter given parameters described in proc interface. The displayobject returned by this procedured is only an indication of real position of quadcopter.

PlotQUADCOPTER := proc(TF :: Matrix, # Transformation Matrix 4x4 m1 :: {float,integer}, # Motors mass (cilindro) m2 :: {float,integer}, # CentralBody mass (quadrato) L :: {float,integer}, # Distance between CentralBody and motors r :: {float,integer},$) # Propellers radius

local Centro, CorpoCentrale, motore1, propeller1, Line1, motore2, propeller2, Line2, motore3, propeller3, Line3, motore4, propeller4, Line4, TFM1, TFM2, TFM3, TFM4, TFR1, TFR2, TFR3, TFR4, DrawingObject: Centro := TF[1..4,4]; CorpoCentrale := DrawOrientedPolygons(TF.Rotate('Z',Pi/4),evalf(m1),evalf(m1/2*sqrt(2)),evalf(m1/2*sqrt(2)),4):

TFM1 := evalf( <TF[1..4,1]|TF[1..4,2]|TF[1..4,3]|TF.<0,0,0,1>+TF.(L*<1,0,0,0>)>): TFM2 := evalf( <TF[1..4,1]|TF[1..4,2]|TF[1..4,3]|TF.<0,0,0,1>+TF.(L*<-1,0,0,0>)>): TFM3 := evalf( <TF[1..4,1]|TF[1..4,2]|TF[1..4,3]|TF.<0,0,0,1>+TF.(L*<0,1,0,0>)>): TFM4 := evalf( <TF[1..4,1]|TF[1..4,2]|TF[1..4,3]|TF.<0,0,0,1>+TF.(L*<0,-1,0,0>)>):

TFR1 := evalf( <TFM1[1..4,1]|TFM1[1..4,2]|TFM1[1..4,3]|TFM1.<0,0,0,1>+TFM1.(evalf(m2/2)*<0,0,1+0.3,0>)> ): TFR2 := evalf( <TFM2[1..4,1]|TFM2[1..4,2]|TFM2[1..4,3]|TFM2.<0,0,0,1>+TFM2.(evalf(m2/2)*<0,0,1+0.3,0>)> ): TFR3 := evalf( <TFM3[1..4,1]|TFM3[1..4,2]|TFM3[1..4,3]|TFM3.<0,0,0,1>+TFM3.(evalf(m2/2)*<0,0,1+0.3,0>)> ): TFR4 := evalf( <TFM4[1..4,1]|TFM4[1..4,

Page 22: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

> >

> >

> >

2]|TFM4[1..4,3]|TFM4.<0,0,0,1>+TFM4.(evalf(m2/2)*<0,0,1+0.3,0>)> ):

motore1 := DrawOrientedPolygons(TFM1,m2,evalf(m2/2),evalf(m2/2),20): motore2 := DrawOrientedPolygons(TFM2,m2,evalf(m2/2),evalf(m2/2),20): motore3 := DrawOrientedPolygons(TFM3,m2,evalf(m2/2),evalf(m2/2),20): motore4 := DrawOrientedPolygons(TFM4,m2,evalf(m2/2),evalf(m2/2),20):

propeller1 := DrawOrientedPolygons(TFR1,0.1,r,r,20): propeller2 := DrawOrientedPolygons(TFR2,0.1,r,r,20): propeller3 := DrawOrientedPolygons(TFR3,0.1,r,r,20): propeller4 := DrawOrientedPolygons(TFR4,0.1,r,r,20):

Line1 := line(convert(TF[1..3,4],list),convert(TFM1[1..3,4],list),thickness=round(5*m2),color=black): Line2 := line(convert(TF[1..3,4],list),convert(TFM2[1..3,4],list),thickness=round(5*m2),color=black): Line3 := line(convert(TF[1..3,4],list),convert(TFM3[1..3,4],list),thickness=round(5*m2),color=black): Line4 := line(convert(TF[1..3,4],list),convert(TFM4[1..3,4],list),thickness=round(5*m2),color=black):

DrawingObject := [CorpoCentrale, motore1, propeller1, Line1, motore2, propeller2, Line2, motore3, propeller3, Line3, motore4, propeller4, Line4]: return display(DrawingObject);end:

Numerical DataIn this section can be found all experimental data and numerical value for the parameters. At the end of this section, numerical value used for numerical integration are collected in a single variable named Data. Square brackets in comments are used to identificate dimensions.

DataLift := [ rho = 1.112, # [Kg / m^3] Radius = 13*2.54*0.01, # [m] CordAvg = 0.035 ]: # [m]DataWind := [ SYZ = 0.0595, SXY = 0.094 ]: # [m^2]ProbdDBData13x6 := <<1655|0.0936|0.0524>,<2019|0.0962|0.0523>,<2320|0.0972|0.0519>,<2616|0.0978|0.0513>,<2916|0.0996|0.0520>,<3209|0.1002|0.0520>,<3512|0.1008|0.0526>,<3805|0.1009|0.0522>,<4119|0.1014|0.0520>,<4406|0.1023|0.0522>,<4722|0.1029|0.0522>,<5001|0.1042|0.0522>,<5302|0.1065|0.0516>,<5598|0.1072|0.0514>,<5905|0.1096|0.0505>,<6213|0.1118|0.0503>>: # < [RPM] | Clift []| CDrag [] >MikroKData := <<0| 0.>, <.5| 100.00>, <1.0| 200.00>, <1.5| 300.00>, <2.0| 360.00>, <2.5| 435.00>, <3.0| 500.00>, <3.5|

Page 23: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

> >

> >

(2.1)(2.1)

> >

> >

> >

550.00>, <4.0| 600.00>, <4.5| 660.00>, <5.0| 720.00>, <5.5| 780.00>, <6.0| 820.00>, <6.5| 880.00>, <7.0| 920.00>, <7.5| 970.00>, <8.0| 1010.00>, <8.5| 1050.00>, <9.0| 1090.00>, <9.5| 1130.00>, <10.0| 1150.00>>: # < Current [A], Thrust [g]>

CWindFlowSimulationXY := <<4.759|0.0564>,<9.59|0.064>,<14.385|0.0506>,<19.18|0.0554>>: # < Vel [m/s] | CWind [] >CWindFlowSimulationZY := <<4.759|0.1624>,<14.370|0.1793>,<19.161|0.1908>,<23.952|0.1478>>: # < Vel [m/s] | CWind [] > DataCB := [ m = 2.62542189, # kg xG = -0.00878856, # m yG = 0.00364785, zG = 0.00157027, Lxx = 0.05384242, # kg*m^2 Lyy = 0.05385576, Lzz = 0.01066556, Lxy = 0.00000104, Lxz = 0.00000018, Lyz = -0.00000322]:DataGeom := [ L_MCB = 0.3, Z_CB = 0.0403]:Data := DataLift union DataWind union DataCB union DataGeom;

Here I had another idea, that will be implemented when the next version of Maple will be avaiable. Inertial and dimensional data may be queried via SolidWorks local server. This is a very simple method to obtain an update set of data, but version that I'm using now can access only dimensions (andnot inertial SolidWorks's variables). To open a connection to SolidWorks simply use command OpenConnection():then open the model using the command Document := OpenDocument("C:\Address_to_file\file.sldasm"):The variable Document now contains a pointer variable to assembly file (loaded in SolidWorks: noticethat SolidWorks may ask to rebuild the components, so we have to pay attention that server isn't waiting for user input): in the next command and retrieve dinmensions lists:GetDimensionsList(Document);GetDimensionsList(Document,component="part1-1"); (we have to choose an eventually configuration, if different from Default one) Once we know the dimensions avaiable, we can query them with command:DimensionsList := GetDimensionValue(Document, ["Dimension1@part1-1",...,"Dimension2@part1-1"]):

Force Components Modeling

Gravity Force_gravity := make_VECTOR(ground,0,0,-9.81):

Propeller Thrust Force and Propeller Drag Torque

The propeller thrust force and propeller drag torque are modeled using some sperimental information obtained for our specific propeller (APC 13x6). The value for Clift and CDrag for various type of propeller can be found online at http://www.ae.illinois.edu/m-selig/props/propDB.html#APC. In fact, as we know that analitically those two coefficient are defined as follows:

Page 24: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

(3.2.1)(3.2.1)

> >

> >

> >

> >

we can approximate the Thrust Force (or Lift force) as follows (using typical approximation for propeller):

and a drag torque imposed by propeller rotation:

(0.7 is a typical scale factor). First we have to define Cl and Cd functions, from experimental data:<<'RPM'|'CLift'|'CDrag'>>;ProbdDBData13x6;

OmegaPropDB := [seq(evalf(Pi*ProbdDBData13x6[i][1]/30),i=1..16)]:

CLPropDB := [seq(ProbdDBData13x6[i][2],i=1..16)]:CDPropDB := [seq(ProbdDBData13x6[i][3],i=1..16)]:

# Creation of spline interpolation of Clift:CliftData := [seq( [ OmegaPropDB[i],CLPropDB[i] ],i=1..nops(OmegaPropDB)) ]:CLift := unapply(CurveFitting[Spline](CliftData,omega,degree=3,endpoint='notaknot'),[omega]):

# Creation of spline interpolation of CDrag:CdragData := [seq( [ OmegaPropDB[i],CDPropDB[i] ],i=1..nops(OmegaPropDB)) ]:CDrag := unapply(CurveFitting[Spline](CdragData,omega,degree=2,endpoint='notaknot'),[omega]):

display(array(1..2,[display([pointplot([OmegaPropDB,CLPropDB],legend="Experimental"), plot(CLift(omega),omega=OmegaPropDB[1]..OmegaPropDB[nops(OmegaPropDB)],legend="Spline interpolation")], title="CLift",thickness=2),display([pointplot([OmegaPropDB,CDPropDB],legend=

Page 25: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

> >

> >

> >

> >

"Experimental"), plot(CDrag(omega),omega=OmegaPropDB[1]..OmegaPropDB[nops(OmegaPropDB)],legend="Spline interpolation")], title = "CDrag",thickness=2)]));

ExperimentalSpline interpolation

w

200 300 400 500 600

CLift

ExperimentalSpline interpolation

w

200 300 400 500 600

CDrag

# Definition of the force FLift and MDrag:FLift2 := omega -> 0.50 * 0.7^2 * rho * CLift(omega) * omega^2 * Radius^3 * CordAvg: # NMDrag2 := omega -> 0.50 * 0.7^3 * rho * CDrag(omega) * omega^2 * Radius^4 * CordAvg: # N*mFLift174omega := FLift2(174):MDrag174omega := MDrag2(174):

FLift := omega -> piecewise( omega <= -174, (-1)*FLift2(-omega), omega > -174 and omega < 174, FLift174omega*omega/174, omega >= 174, FLift2(omega) );MDrag := omega -> piecewise( omega <= -174, (-1)*MDrag2(-omega), omega > -174 and omega < 174, MDrag174omega*omega/174, omega >= 174, MDrag2(omega) );

display(array(1..2, [plot(subs(DataLift,FLift(omega)),omega=0..650,title="FLift(omega)",thickness=2 ), plot(subs(DataLift,MDrag(omega)),omega=0..650,title="MDrag(omega)",thickness=2)]));

Page 26: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

> >

> >

> >

w

0 100 200 300 400 500 6000

2

4

6

8

10

12

14

16FLift(omega)

w

0 100 200 300 400 500 6000

1

MDrag(omega)

Obviously, this function cannot be used to evaluate the dynamic of quadcopter, due to singularities that splines and approximetions generate. As we can see, I have implemented those two functions only to compare results of approximations.I have decided to approximate the value of CL and CD with continuos parametric functions, in wich parameters are defined with a minimization of function:

Page 27: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

> >

> >

> >

> >

PARAM_C cannot be automatically minimized (an automatic minimization will return obviously the minimum value possible), so will be chosen manually. We can do the same minimization with CD coefficient. This is the best way that I have found to interpolate experimental data. The interpolation systems already implemented in Maple create non continuos (piecewise) functions, that cannot be used in numeric solvers.infolevel[Optimization] := 3:# Speed of exponential functionPARAM_T := 45:

printf(" STARTING CLIFT APPROXIMATION \n ----------------------------\n");residualsLift := [seq( CLPropDB[i] - (PARAM_A+PARAM_B*OmegaPropDB[i])*( 1-exp(-OmegaPropDB[i]/PARAM_T)),i=1..16)]:optimizedL:=op(LSSolve(residualsLift))[2]:Param_A := subs(optimizedL,PARAM_A);Param_B := subs(optimizedL,PARAM_B);

CLiftApprox := omega -> (Param_A + Param_B*omega) * ( 1-exp(-omega/PARAM_T));

printf(" STARTING CDRAG APPROXIMATION \n ----------------------------\n");residualsDrag := [ seq( CDPropDB[i] - (PARAM_C+PARAM_D*OmegaPropDB[i])*( 1-exp(-OmegaPropDB[i]/PARAM_T)),i=1..16)]: optimizedD:=op(LSSolve(residualsDrag))[2];Param_C := subs(optimizedD,PARAM_C);Param_D := subs(optimizedD,PARAM_D);

CDragApprox := omega -> (Param_C + Param_D * abs(omega)) * ( 1-exp(-omega/PARAM_T));

display(array(1..2, [display([pointplot([OmegaPropDB,CDPropDB]), plot(CDragApprox(omega),omega=0..700,thickness=2)], view=[0..700,0.02..0.08],title="CDrag Approximation",gridlines=true), display([pointplot([OmegaPropDB,CLPropDB]), plot(CLiftApprox(omega),omega=0..700,thickness=2)], view=[0..700,0.08..0.12], title="CLift Approximation",gridlines=true)]));

STARTING CLIFT APPROXIMATION ----------------------------LSSolve: calling linear LS solverLSSolve: calling solver for linearly-constrained linear least-squares problemsLSSolve: number of problem variables 2LSSolve: number of residuals 16LSSolve: number of general linear constraints 0LSSolve: feasibility tolerance set to 0.1053671213e-7LSSolve: iteration limit set to 50LSSolve: infinite bound set to 0.10e21LSSolve: number of iterations taken 1LSSolve: final value of objective 0.949277992106190486e-5

Page 28: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

> >

> >

> >

STARTING CDRAG APPROXIMATION ----------------------------LSSolve: calling linear LS solverLSSolve: calling solver for linearly-constrained linear least-squares problemsLSSolve: number of problem variables 2LSSolve: number of residuals 16LSSolve: number of general linear constraints 0LSSolve: feasibility tolerance set to 0.1053671213e-7LSSolve: iteration limit set to 50LSSolve: infinite bound set to 0.10e21LSSolve: number of iterations taken 1LSSolve: final value of objective 0.210573730504911153e-5

Page 29: Mechanical Model for Quadcopter UAV

> >

(3.2.3)(3.2.3)

> >

> >

(3.2.2)(3.2.2)

> >

> >

> >

> >

> >

> >

> >

w

0 100200300400500600700

CDrag Approximation

w

0 100200300400500600700

CLift Approximation

# Definitions of thrust force and drag momentum of propellers§FLiftApprox := omega -> 0.50 * rho * CLiftApprox(omega) * omega^2 * Radius^3 * CordAvg *(0.7)^2; # NMDragApprox := omega -> 0.35 * rho * CDragApprox(omega) * omega^2 * Radius^4 * CordAvg *0.7^2; # N*m

We can now evaluate errors committed in that approximation. To have a more robust model will be made another comparison with experimental data from a different source (the wiki of MikroKopter.de on MK3538 motor with the same propeller here modeled: http://www.mikrokopter.de/ucwiki/MK3538). Because of documentation about experimental data collecting are not provide, those data are used only for comparison and not as base for model. Data are provided as Thrust [g] in function of Current [A]. The translation from Current to angular ratio will be based upon Conservative Energy concept (see The Propeller Handbook, Dave Gerr)

in which:R_inch := 13: # Radius [inch]P_inch := 6: # Pitch [inch]k_inch := 5.3*10^(-15): # ConstantVoltage := 16: # [V]

< 'Current'| 'Thrust' >;MikroKData;

Page 30: Mechanical Model for Quadcopter UAV

(3.2.3)(3.2.3)

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

OmegaMikrok := [ seq( evalf( Pi/30 * (( MikroKData[i][1] * Voltage )/ ( (R_inch)^4 * P_inch * k_inch ))^(1/3)), i=1..21)]:FTMikrok := [seq([OmegaMikrok[i], MikroKData[i][2]*9.81*0.001],i=1..21)]:

Now that we have comparable data we can plot the difference between formulations:

display(array(1..3,1..2, [[display( [pointplot(FTMikrok,legend="MikroKopter experimental data"), plot(subs(DataLift,[FLift(omega),FLiftApprox(omega)]),omega=0..650,title="FLift(omega)", legend=["FLift","FLift approx"],thickness=2 )],gridlines=true), plot(subs(DataLift,[MDrag(omega),MDragApprox(omega)]),omega=0..650,title="MDrag(omega)" , legend=["MDrag","MDrag approx"], thickness=2,gridlines=true )], [plot(subs(DataLift,FLift(omega)-FLiftApprox(omega)),omega=0..650,title="Errore FLift(omega)" ), plot(subs(DataLift,MDrag(omega)-MDragApprox(omega)),omega=0..650,title="Errore MDrag(omega)")], [plot(subs(DataLift,(FLift(omega)-FLiftApprox(omega))/FLift(omega)),omega=0..650,title="Errore \% FLift(omega)"

Page 31: Mechanical Model for Quadcopter UAV

> >

> >

(3.2.3)(3.2.3)

> >

> >

> >

> >

> >

> >

> >

> >

), plot(subs(DataLift,(MDrag(omega)-MDragApprox(omega))/MDrag(omega)),omega=0..650,title="Errore \% MDrag(omega)")]]));

MikroKopter experimental dataFLiftFLift approx

w

0 100 200 300 400 500 6000

2

4

6

8

10

12

14

16FLift(omega)

MDragMDrag approx

w

0 100 200 300 400 500 6000

1

MDrag(omega)

Page 32: Mechanical Model for Quadcopter UAV

> >

> >

(3.2.3)(3.2.3)

> >

> >

> >

> >

> >

> >

> >

> >

w

100 200 300 400 500 6000

Errore FLift(omega)

w

100 200 300 400 500 6000

Errore MDrag(omega)

Page 33: Mechanical Model for Quadcopter UAV

(3.2.3)(3.2.3)

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

w

100 200 300 400 500 6000

1Errore % FLift(omega)

w

100 200 300 400 500 6000

1Errore % MDrag(omega)

The error, as we can see in the second and third row, is more evident for low angular ratio.

Wind Force

The wind force with the follow equation:

Extimation for value of C_wind maybe hard and depends on relative speed of body. I have decided to use a flow simulation software to extimate this value with this procedure:- build of an approximate quadcopter CAD model in SolidWorks and evaluation of exposed surfaceof the model - simulation of a wind gallery (CAD) bigger enough to approximate boundaries walls dynamic;- Flow Simulation of a air fluid with defined initial speed and pressure (2 different type of simulation, for XY and ZY (= ZX) plane);- retireving from solution average value of pressure behind cad approximate model of quadcopter (horizontal cut plot for pressure, vertical cut plot for velocities).- Evaluation from next equation of drag coefficient:

The simulation returned those values, approximated to a mean value:< 'Velocity' | 'CWindXY' >;CWindFlowSimulationXY;CWindXY := ( CWindFlowSimulationXY[1][2] + CWindFlowSimulationXY[2][2] + CWindFlowSimulationXY[3][2] +

Page 34: Mechanical Model for Quadcopter UAV

(3.2.3)(3.2.3)

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

CWindFlowSimulationXY[4][2] ) / 4;< 'Velocity' | 'CWindZY' >;CWindFlowSimulationZY;CWindZY := ( CWindFlowSimulationZY[1][2] + CWindFlowSimulationZY[2][2] + CWindFlowSimulationZY[3][2] + CWindFlowSimulationZY[4][2] ) / 4;

CWindXYplot := [ seq( [CWindFlowSimulationXY[i][1],CWindFlowSimulationXY[i][2]],i=1..4) ]:CWindZYplot := [ seq( [CWindFlowSimulationZY[i][1],CWindFlowSimulationZY[i][2]],i=1..4) ]:

display( array(1..2, [display( [plot(CWindXY,x=CWindFlowSimulationXY[1][1]..CWindFlowSimulationXY[4][1],linestyle=dash,thickness=2), pointplot(CWindXYplot)],gridlines=true,title="CwindXY",view=[0..25,0..0.25]), display( [plot(CWindZY,x=CWindFlowSimulationZY[1][1]..CWindFlowSimulationZY[4][1],linestyle=dash,thickness=2), pointplot(CWindZYplot)],gridlines=true,title="CwindZY",view=[0..25,0..0.25])]));

Page 35: Mechanical Model for Quadcopter UAV

(3.2.3)(3.2.3)

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

x0 5 10 15 20 25

0

CwindXY

x0 5 10 15 20 25

0

CwindZY

To create a sign function will be used the combination of a sin and an arctan: in this case is not important to have fast sign function (as in friction model problem) plot(sin(arctan(x)), x = -5 .. 5);

Page 36: Mechanical Model for Quadcopter UAV

(3.2.3)(3.2.3)

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

x0 2 4

# Function of wind. Wind speed components must be projected in plant reference matrix:FWindX := (vx,vwindx) -> - sin(arctan(vx)) * 1/2 * rho * CWindZY * SYZ * ( vx - vwindx )^2:FWindY := (vy,vwindy) -> - sin(arctan(vy)) * 1/2 * rho * CWindZY * SYZ * ( vy - vwindy )^2:FWindZ := (vz,vwindz) -> - sin(arctan(vz)) * 1/2 * rho * CWindXY * SXY * ( vz - vwindz )^2:plot(subs(DataLift,DataWind,[FWindX(v,0),FWindZ(v,0)]),v=-50..50,title="Wind force",legend=["FwindX/Y","FwindZ"],gridlines=true);

Page 37: Mechanical Model for Quadcopter UAV

(3.2.3)(3.2.3)

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

FwindX/Y FwindZ

v0 20 40

5

10

Wind force

Quadcopter Modelingdef_quat := true: # TRUE: Quaternion formulation. FALSE: Euler angle formulation

As first passage we need to define the body kinematic with quaternion algebra:

Page 38: Mechanical Model for Quadcopter UAV

(3.2.3)(3.2.3)

> >

> >

> >

> >

> >

(4.2)(4.2)

> >

> >

> >

> >

> >

> >

> >

> >

(4.1)(4.1)

> >

if def_quat then: qq := make_quat(q): Position := [ x(t), y(t), z(t) ]; TMquad := TM_quat(qq,seq(Position[i],i=1..3)); Phiqq := [abs2_quat(qq)-1];else: Angle := [ phi(t), mu(t), psi(t) ]; Position := [ x(t), y(t), z(t) ]; TMquad := Translate(x(t),y(t),z(t)). Rotate('Z',Angle[3]). Rotate('Y',Angle[2]). Rotate('X',Angle[1]);end;

Definition of main point for body:PG := origin(TMquad):TMquad2 := TMquad.Translate(-xG,-yG,-zG):PP1 := make_POINT(TMquad2, L_MCB, 0, Z_CB):PP2 := make_POINT(TMquad2, 0,-L_MCB, Z_CB):PP3 := make_POINT(TMquad2,-L_MCB, 0, Z_CB):PP4 := make_POINT(TMquad2, 0, L_MCB, Z_CB):

Definition of first order substitution equations:we can refer velocity to origin of the main body as we are considering body as rigid.if def_quat then: qq_dot := makeAngVel_quat(omega); x_dot := [ u(t), v(t), w(t) ];

# Quaternions angular ratio vs. derivative Phiqq_dot := simplify(subs( abs2_quat(qq) = 1, op( solve( convert( qq_dot - (2 * Transpose(Q_quat(qq)) . map(diff,qq,t)),set), convert( map(diff,qq,t),list)))),Phiqq): <%>;

Phiqq_dot2 := simplify( simplify([seq( diff(lhs(Phiqq_dot[i]),t) = subs(Phiqq_dot,expand(diff(rhs(Phiqq_dot[i]),t)) ), i=1..4)],size), Phiqq);

Phix_dot := simplify( simplify(subs( Phiqq_dot,collect( op(

Page 39: Mechanical Model for Quadcopter UAV

(3.2.3)(3.2.3)

> >

> >

> >

> >

> >

(4.2)(4.2)

> >

> >

> >

> >

> >

> >

> >

> >

(4.1)(4.1)

solve( [comp_XYZ( velocity(PG) - make_VECTOR(TMquad, op(x_dot)), TMquad)], map(diff,[comp_XYZ(origin(TMquad),ground)],t))), x_dot)),size),Phiqq): <%>;

Phix_dot2 := simplify( simplify([seq( diff(lhs(Phix_dot[i]),t) = subs(Phix_dot,Phiqq_dot,expand(diff(rhs(Phix_dot[i]),t)) ), i=1..3)],size), Phiqq);

Phi := Phiqq_dot union Phix_dot:

else: x_dot := [ u(t), v(t), w(t) ]; AngRatio := [ phi_dot(t), mu_dot(t), psi_dot(t) ]; Phix_dot := [ seq( diff(Position[i],t) - x_dot[i], i=1..3)];

PhiAngRatio := [ seq( diff(Angle[i],t) - AngRatio[i],i=1..3) ]; Phix_dot_subs := [ seq( diff(Position[i],t) = x_dot[i], i=1..3)] union [ seq( diff(Position[i],t,t) = diff(x_dot[i],t), i=1..3)]; PhiAngRatio_subs := [ seq( diff(Angle[i],t,t) = diff(AngRatio[i],t),i=1..3) ] union [ seq( diff(Angle[i],t) = AngRatio[i],i=1..3) ];

Phi := Phix_dot union PhiAngRatio:

end:if def_quat then: <Phiqq_dot>; <Phiqq_dot2>; <Phix_dot>; <Phix_dot2>;else: <PhiAngRatio>; <Phix_dot>;end;

Page 40: Mechanical Model for Quadcopter UAV

(3.2.3)(3.2.3)

> >

> >

> >

> >

> >

(4.2)(4.2)

> >

> >

> >

> >

> >

> >

> >

> >

(4.1)(4.1)

Page 41: Mechanical Model for Quadcopter UAV

(3.2.3)(3.2.3)

> >

> >

> >

> >

> >

(4.3)(4.3)

> >

> >

(4.2)(4.2)

> >

> >

> >

> >

> >

> >

> >

> >

> >

(4.1)(4.1)

We can now define dynamic of bodies. The dynamic of propeller is neglected as too fast for numeric solutions (as usually done in litterature). In fact the presence of propeller dynamuc generates a stiff problem, so solver requires a huge ammount of time and computational resource to converge to numeric solution. So I have decided to use one body formulation.QUADCOPTER := make_BODY(PG, m, Lxx, Lyy, Lzz, Lyz, Lxz, Lxy):

We have to define the propeller angular ratio functions, propeller forces and drag torque of propeller that acts on quadcopter. We can define a sign rule:

w.r.t. Z axis

FProp Tprop

P1 (+x) + + -

P2 (-y) - + +

P3 (-x) + + -

P4 (+y) - + +

Rule sign -1^(i+1) + -1^(i)

Segni### PROPELLER FUNCTIONS ###

#gamma1 := t -> 390; # rad/s#gamma2 := t -> 390; # rad/s#gamma3 := t -> 420; # rad/s#gamma4 := t -> 390; # rad/s

############################## PROPELLER FORCE ###

for i from 1 to 4 do:

ForceP||i := make_FORCE( make_VECTOR( TMquad2, 0, 0, FLiftApprox( gamma||i(t) )),

Page 42: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

> >

> >

> >

(4.1)(4.1)

(3.2.3)(3.2.3)

> >

> >

> >

(4.3)(4.3)

(4.2)(4.2)

> >

> >

> >

> >

> >

PP||i, QUADCOPTER): TorqueP||i := make_TORQUE( make_VECTOR( TMquad2, 0, 0, (-1)^(i) * MDragApprox( gamma||i(t) )), QUADCOPTER):

end:PropellerForce := [ seq(ForceP||i, i=1..4) ] union [ seq(TorqueP||i, i=1..4) ];

### WIND FORCE ### #VwX := t -> 0; #VwX := t -> 0; #VwX := t -> 0;

WindSpeed := make_VECTOR(ground, VwX(t),VwY(t),VwZ(t)): FWind := make_FORCE( make_VECTOR(TMquad, FWindX(u(t),comp_X(WindSpeed,TMquad)), FWindY(v(t),comp_Y(WindSpeed,TMquad)), FWindZ(w(t),comp_Z(WindSpeed,TMquad))), PG, QUADCOPTER):

Now we are ready to define the equations of motion (Newton - Euler formulation)ts := time(): if def_quat then: if true then: DynaEq2 := Dyna3DSE(QUADCOPTER,{op(PropellerForce),FWind},TMquad): DynaEq := simplify( simplify(subs(Phiqq_dot,Phix_dot, expand(subs(Phiqq_dot2,Phix_dot2, evalf(subs(Data,DynaEq2))))),size),Phiqq); end: else: if true then: DynaEq2 := Dyna3D(QUADCOPTER,{op(PropellerForce),FWind}): DynaEq := subs(PhiAngRatio_subs, Phix_dot_subs, DynaEq2): end: end: te := time():printf("\n--- Evaluation time: %f s ---\n",te-ts);

------ NEWTON ------ BODIES: 1 - QUADCOPTEREXTERNAL FORCES: 2 - FWind 3 - ForceP1 4 - ForceP2 5 - ForceP3 6 - ForceP4WARNING: the following objects will not appear in the equationsof motion: 7 - TorqueP1 8 - TorqueP2 9 - TorqueP3 10 - TorqueP4 ------ EULERO ------

Page 43: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

> >

> >

> >

(4.1)(4.1)

(3.2.3)(3.2.3)

> >

> >

> >

> >

(4.3)(4.3)

(4.2)(4.2)

> >

> >

> >

> >

> >

(4.4)(4.4)

BODIES: 1 - QUADCOPTEREXTERNAL FORCES: 2 - FWind 3 - ForceP1 4 - ForceP2 5 - ForceP3 6 - ForceP4EXTERNAL TORQUES: 7 - TorqueP1 8 - TorqueP2 9 - TorqueP3 10 - TorqueP4

--- Evaluation time: 92.165000 s ---It is necessary to define initial conditions. We start with a steady state Quadcopter (velocities all neglected):if def_quat then: IC_position := { x(t) = 0, y(t) = 0, z(t) = 2}: IC_quaternion := { seq( qq[i] = EulerZYX2Quat_quat(0,0,0)[i] ,i=1..4)}: IC_speed := { seq( x_dot[i] = 0, i=1..3) }: IC_AngRatio := { seq( qq_dot[i+1] = 0, i=1..3) }:

IC0 := subs(t=0,IC_position union IC_quaternion union IC_speed union IC_AngRatio);else: IC_position := { x(t) = 0, y(t) = 0, z(t) = 0}: IC_angle := { seq( Angle[i] = 0, i=1..3) }: IC_speed := { seq( x_dot[i] = 0, i=1..3) }: IC_AngRatio := { seq( AngRatio[i] = 0, i=1..3) }:

IC0 := subs(t=0, IC_position union IC_angle union IC_speed union IC_AngRatio);end:IC0;

DAEs := convert(subs( Data union [seq(gamma||i(t)=gamma||i,i=1..4)] union [VwX(t) = VwX,VwY(t) = VwY,VwZ(t) = VwZ], DynaEq union Phi),set):if true then:

###### WARNING :: DSOLVE! :: #######IntRange := 5:ts := time(): solZ := dsolve(DAEs union IC0, numeric,method=classical[rk4],parameters=[gamma1,gamma2,gamma3,gamma4,VwX,VwY,VwZ]);te := time():printf("Computation DONE! Time: %f seconds",(te-ts)):solZ(parameters=[415.52,422.55,439.11,432.34,0,0,0]);if def_quat then: odeplot(solZ, [t,op(Phiqq)],0..5); end;####################################

end;

Page 44: Mechanical Model for Quadcopter UAV

(3.2.3)(3.2.3)

> >

> >

> >

> >

(4.3)(4.3)

> >

> >

> >

> >

(4.2)(4.2)

> >

> >

> >

> >

> >

> >

> >

> >

(4.5)(4.5)

(4.1)(4.1)

Computation DONE! Time: 4.009000 seconds

t1 2 3 4 5

0

solZ(parameters);

if def_quat then: odeplot(solZ,[[t,x(t)],[t,y(t)],[t,z(t)]], 0..5, legend=[x,y,z],numpoints=150); odeplot(solZ, [[t,evalf(Quat2EulerXYZ_quat(qq)[1])],[t,evalf(Quat2EulerXYZ_quat(qq)[2])],[t,evalf(Quat2EulerXYZ_quat(qq)[3])]],0..5,legend=[psi,mu,phi],numpoints=150); odeplot(solZ,[seq([t,qq[i]],i=1..4)],0..5,legend=[q1,q2,q3,q4],numpoints=150);else: odeplot(solZ,[[t,x(t)],[t,y(t)],[t,z(t)]], 0..5, legend=[x,y,z],numpoints=150); odeplot(solZ,[[t,psi(t)],[t,mu(t)],[t,phi(t)]], 0..5, legend=[psi,mu,phi],numpoints=150); odeplot(solZ,[[t,u(t)],[t,v(t)],[t,w(t)]], 0..5, legend=[u,v,w],numpoints=150);end;

Page 45: Mechanical Model for Quadcopter UAV

(3.2.3)(3.2.3)

> >

> >

> >

> >

(4.3)(4.3)

> >

> >

(4.2)(4.2)

> >

> >

> >

> >

> >

> >

> >

> >

(4.1)(4.1)

x y zt

1 2 3 4 5

x, y, z

0

1

2

Page 46: Mechanical Model for Quadcopter UAV

(3.2.3)(3.2.3)

> >

> >

> >

> >

(4.3)(4.3)

> >

> >

(4.2)(4.2)

> >

> >

> >

> >

> >

> >

> >

> >

(4.1)(4.1)

y m f

t0 1 2 3 4 5

0

Page 47: Mechanical Model for Quadcopter UAV

> >

(3.2.3)(3.2.3)

> >

> >

> >

> >

(4.3)(4.3)

> >

> >

(4.2)(4.2)

> >

> >

> >

> >

(4.6)(4.6)

> >

> >

> >

> >

(4.1)(4.1)

q1 q2 q3 q4t

0 1 2 3 4 50

1

if true then: CUDA[Enable](true); ts := time(); NSTEPS := 50:

PlotSeq := [seq(PlotQUADCOPTER(subs(solZ(IntRange/NSTEPS*i),Data,TMquad),3,1,10,5),i=0..NSTEPS)]: display(PlotSeq,view=[-100..100,-100..100,-100..100],scaling=constrained,insequence=true,axes=boxed); te := time(); te-ts; CUDA[Enable](false);end;

false

Page 48: Mechanical Model for Quadcopter UAV

(3.2.3)(3.2.3)

> >

> >

> >

> >

> >

(4.3)(4.3)

> >

(5.1)(5.1)

> >

(4.2)(4.2)

> >

> >

> >

> >

> >

(4.6)(4.6)

> >

> >

> >

> >

(4.1)(4.1)

37.674true

Automatic Control applied to nonlinear model (draft)STATE_SPACE := op(solve(DynaEq[1..3],map(diff,x_dot,t))) union op(solve(DynaEq[4..6],[seq(diff(qq_dot[i],t),i=2..4)])) union Phiqq_dot union Phix_dot:

Now that we have the state space model, we need to find a point around which we want to linearize the model. The linearized version will be used to stabilize non-linear system through eigenvalue assigned regulator: we can try to evaluate the equilibrium force that is needed to mantain system in hoovering at 2m from ground when wind velocity is {0,0,0}. InputVar := [ seq(gamma||i(t),i=1..4),VwX(t),VwY(t),VwZ(t)];

OutputVar := [ x(t), y(t), z(t), seq(qq[i],i=1..4)];

Now we have to find an equilibrium point. I have used a little trick to make system converge to desired equilibrium, based on the fact that our modeled quadcopter (like a real one) is not balanced (there is a slighty distance between center of mass and geometrical center of the system). First of all we try to evaluate equilibrium point desired without define input vector values, but only setting a constraint on it. Equilibrium point will evaluate for us exact values for input vector, but not positions.

Page 49: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

> >

> >

> >

(4.1)(4.1)

(3.2.3)(3.2.3)

> >

(5.2)(5.2)

> >

> >

(4.3)(4.3)

(4.2)(4.2)

> >

> >

(4.6)(4.6)

> >

> >

We have only to recall equilibrium point function to get the list of right positions that has to be passed to linearize command. Thus this can be done with a simple equilibrium evaluated with a solve command, this method can be easily used to find propeller speed in non-canonical positions (positions different from hoovering, usefull if we want to perform a gain scheduling controller, even if it's a little bit useless regulator for quadcopter). eqPoint := EquilibriumPoint(subs([VwX(t)=0,VwY(t)=0,VwZ(t)=0],STATE_SPACE), subs([VwX(t)=0,VwY(t)=0,VwZ(t)=0],InputVar)[1..4], initialpoint = [x(t)=0, y(t)=0, z(t)=2, u(t)=0, v(t)=0, w(t)=0, q0(t)=1, q1(t)=0, q2(t)=0, q3(t)=0, omega1(t)=0, omega2(t)=0, omega3(t)=0], constraints=[seq(gamma||i(t)>250,i=1..4)]);eqPoint2 := EquilibriumPoint(subs([VwX(t)=0,VwY(t)=0,VwZ(t)=0],STATE_SPACE), subs([VwX(t)=0,VwY(t)=0,VwZ(t)=0],InputVar)[1..4], initialpoint = [x(t)=0, y(t)=0, z(t)=2, u(t)=0, v(t)=0, w(t)=0, q0(t)=1, q1(t)=0, q2(t)=0, q3(t)=0, omega1(t)=0, omega2(t)=0, omega3(t)=0,op(eqPoint[3])]);

NLPSolve: calling NLP solverNLPSolve: using method=sqpNLPSolve: number of problem variables 17NLPSolve: number of nonlinear inequality constraints 4NLPSolve: number of nonlinear equality constraints 0NLPSolve: number of general linear constraints 0NLPSolve: feasibility tolerance set to 0.1053671213e-7NLPSolve: optimality tolerance set to 0.3256082241e-11NLPSolve: iteration limit set to 91NLPSolve: infinite bound set to 0.10e21NLPSolve: trying evalhf modeNLPSolve: trying evalf modeNLPSolve: calling NLP solverNLPSolve: using method=sqpNLPSolve: number of problem variables 17NLPSolve: number of nonlinear inequality constraints 4NLPSolve: number of nonlinear equality constraints 0NLPSolve: number of general linear constraints 0NLPSolve: feasibility tolerance set to 0.1053671213e-7NLPSolve: optimality tolerance set to 0.3256082241e-11NLPSolve: iteration limit set to 91NLPSolve: infinite bound set to 0.10e21NLPSolve: trying evalhf modeWarning, limiting number of major iterations has been reachedattemptsolution: number of major iterations taken 91

Page 50: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

> >

> >

(4.1)(4.1)

(3.2.3)(3.2.3)

(5.3)(5.3)

> >

(5.2)(5.2)

> >

> >

(4.3)(4.3)

(4.2)(4.2)

> >

> >

> >

(4.6)(4.6)

> >

> >

NLPSolve: calling NLP solverNLPSolve: using method=pcgNLPSolve: number of problem variables 17NLPSolve: optimality tolerance set to 0.3256082241e-11NLPSolve: iteration limit set to 85NLPSolve: trying evalhf modeattemptsolution: number of major iterations taken 48

Now the system is linearized around equilibrium point found in previous step:

LinPoint := [x(t)=0, y(t)=0, z(t)=2, u(t)=0, v(t)=0, w(t)=0, q0(t)=1, q1(t)=0, q2(t)=0, q3(t)=0, omega1(t)=0, omega2(t)=0, omega3(t)=0, op(eqPoint2[3])]:LINEAR_SYSTEM := Linearize(subs([VwX(t)=0,VwY(t)=0,VwZ(t)=0],STATE_SPACE), InputVar[1..4], OutputVar, LinPoint);

Page 51: Mechanical Model for Quadcopter UAV

(5.3)(5.3)

(3.2.3)(3.2.3)

> >

> >

(5.2)(5.2)

> >

> >

(4.3)(4.3)

> >

> >

> >

(5.5)(5.5)

> >

(4.2)(4.2)

> >

> >

> >

> >

(4.6)(4.6)

> >

(5.4)(5.4)

> >

> >

> >

(4.1)(4.1)

PrintSystem(LINEAR_SYSTEM[1]);

LinearizedSysEquations := LINEAR_SYSTEM[1]:-de; whattype(%);

Page 52: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

> >

> >

> >

(4.1)(4.1)

(3.2.3)(3.2.3)

(5.3)(5.3)

> >

(5.2)(5.2)

> >

> >

(4.3)(4.3)

> >

(5.5)(5.5)

(4.2)(4.2)

> >

(5.6)(5.6)

> >

(4.6)(4.6)

> >

> >

LinearizedSysOutputs := [seq(y[i](t)= (LINEAR_SYSTEM[1]:-outputvariable)[i],i=1..7)];linsysout := LINEAR_SYSTEM[1]:-outputvariable;

list

From those equations we can easily derive state space matrices:x_V2 := [seq(x[i](t),i=1..13)]:u_V2 := [seq(u[i](t),i=1..4)]:

A_LinSys,garbage := GenerateMatrix([seq(rhs(LinearizedSysEquations[i]),i=1..13)],x_V2):

Page 53: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

> >

> >

> >

(4.1)(4.1)

(3.2.3)(3.2.3)

(5.3)(5.3)

> >

(5.2)(5.2)

> >

> >

(4.3)(4.3)

> >

(5.5)(5.5)

(4.2)(4.2)

> >

(5.6)(5.6)

> >

(4.6)(4.6)

> >

> >

'A' = A_LinSys;B_LinSys,garbage := GenerateMatrix([seq(rhs(LinearizedSysEquations[i]),i=1..13)],u_V2): 'B' = B_LinSys;C_LinSys,garbage := GenerateMatrix([seq(rhs(LinearizedSysOutputs[i]),i=1..7)],x_V2): 'C' = C_LinSys;D_LinSys,garbage := GenerateMatrix(linsysout,u_V2): 'D' = D_LinSys;

'x_dot' = 'Ax' + 'Bu';'y' = 'Cx';

Page 54: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

(4.1)(4.1)

(3.2.3)(3.2.3)

(5.3)(5.3)

> >

(5.2)(5.2)

> >

> >

(4.3)(4.3)

> >

(5.5)(5.5)

(4.2)(4.2)

> >

> >

(5.6)(5.6)

> >

(4.6)(4.6)

> >

> >

(5.7)(5.7)

Now we are ready to pass those matrices and the nonlinear model to Matlab.# Open connection with Matlab internal server. Remember to add Matlab path to enviromental Path variable. Also remember to register Matlab server running a prompt as administrator a typing "matlab /regserver" the first time you try to open a Matlab-link. To open desktop interface type "desktop" in Matlab console. (it does it automatically now!)openlink();evalM("desktop");setvar("ASYS",A_LinSys);setvar("BSYS",B_LinSys);setvar("CSYS",C_LinSys);setvar("DSYS",D_LinSys);

Here I have to stop my analysis on system regulator. I have no time to carry on also this topic, that will be implemented as main topic for another course (Automatic Control). In fact, this system presents several issues in stability, observability and reachability, so it requires a very accurate synthesys that, at moment, I don't have enough time to implement. But the initial idea was:- find eigenvalues assigned regulator that manteins linearized system in equilibrium- connect regulator to nonlinear model, via Simulink- Start a simulation with Simulink and check - as option, get vector for numeric value from Matlab enviroment (getvar command) and show quadcopter trajectory with PlotQUADCOPTER procedure.x_VARS_ss := [ x(t) = x11, y(t) = x12, z(t) = x13, q0(t) = x4, q1(t) = x5, q2(t) = x6, q3(t) = x7, u(t) = x8, v(t) = x9, w(t) = x10, omega1(t) = x1, omega2(t) = x2, omega3(t) = x3];

xdot_VARS_ss := [ diff(omega1(t),t) = x1_dot,

Page 55: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

> >

> >

> >

> >

> >

> >

(4.1)(4.1)

> >

(5.8)(5.8)

(3.2.3)(3.2.3)

(5.3)(5.3)

> >

(5.2)(5.2)

> >

> >

(4.3)(4.3)

> >

(5.5)(5.5)

(4.2)(4.2)

> >

(5.6)(5.6)

> >

(4.6)(4.6)

> >

> >

(5.7)(5.7)

diff(omega2(t),t) = x2_dot, diff(omega3(t),t) = x3_dot, diff(q0(t),t) = x4_dot, diff(q1(t),t) = x5_dot, diff(q2(t),t) = x6_dot, diff(q3(t),t) = x7_dot, diff(u(t),t) = x8_dot, diff(v(t),t) = x9_dot, diff(w(t),t) = x10_dot, diff(x(t),t) = x11_dot, diff(y(t),t) = x12_dot, diff(z(t),t) = x13_dot];

u_VARS_ss := [ gamma1(t) = u1, gamma2(t) = u2, gamma3(t) = u3, gamma4(t) = u4];

NonLinearModel := subs(x_VARS_ss union u_VARS_ss union [VwX(t)=0,VwY(t)=0,VwZ(t)=0], subs(xdot_VARS_ss,STATE_SPACE)):

Eigenvalues assignment problem return as result:evalM("cd('D:\\Data\\Università\\Ingegneria Meccatronica Robotica\\Modeling and simulation of mechanical systems\\Tesina\\Matlab')");evalm("run ./QuadCopter.m");'K'=getvar("K");getvar("StableEig");

"run ./QuadCopter.m"

Page 56: Mechanical Model for Quadcopter UAV

> >

> >

> >

> >

(6.3)(6.3)

> >

> >

> >

> >

> >

> >

(6.1)(6.1)

> >

(4.1)(4.1)

(5.8)(5.8)

(3.2.3)(3.2.3)

(5.3)(5.3)

> >

(5.2)(5.2)

> >

> >

(4.3)(4.3)

> >

(5.5)(5.5)

(4.2)(4.2)

> >

(5.6)(5.6)

> >

(4.6)(4.6)

(6.2)(6.2)

> >

> >

> >

(5.7)(5.7)

For a simply stable system.

Optimization: shape selection and dimensions optimization for frame beamsThere is an example of structural optimization for two shape.

DataMin := [ P = 15, # N M = 1500, # N mm L = 300, # mm E = 69000, # MPa Density = evalf(2700*1000/10^9), # g/mm^3 delta = 0.1, # mm #epsilon = 0.1, # mm sigma[Amm] = 13.8 ]; # MPa

# Minimizing functionMinimizeIT := (Weight,Deflection,Payload,ConstSet) -> Minimize( subs(DataMin,Weight), subs(DataMin,{ Deflection^2 <= delta^2, Payload^2 <= sigma[Amm]^2, seq( ConstSet[i],i=1..nops(ConstSet)) }));

FWeight := (A) -> A*L*Density;FDeflection := (Ix,Iy) -> sqrt((1/3*P*L^3/(Ix*E))^2 + (1/2*M*L^2/(Iy*E))^2);FPayload := (dg,Ix,Iy) -> (sqrt(M+P*L^2))*dg/sqrt(Iy^2+Ix^2);

Page 57: Mechanical Model for Quadcopter UAV

> >

(6.4)(6.4)

> >

> >

(6.3)(6.3)

> >

> >

> >

> >

> >

> >

(6.5)(6.5)

(6.6)(6.6)

(4.1)(4.1)

(5.8)(5.8)

> >

(3.2.3)(3.2.3)

(5.3)(5.3)

> >

(5.2)(5.2)

> >

> >

> >

(4.3)(4.3)

> >

> >

(5.5)(5.5)

(4.2)(4.2)

> >

(5.6)(5.6)

> >

(4.6)(4.6)

> >

> >

(5.7)(5.7)

#################### Sezione 1: Circular empty shape beam ######################

# DimensionsParameter1 := {Di, s};Area1 := Pi*((Di+2*s)^2-Di^2)/4;Ix1 := Pi*((Di+2*s)^4-Di^4)/64;Iy1 := Pi*((Di+2*s)^4-Di^4)/64;dg1 := Di/2+s;

# ShapeShape1 := {s>=0,s>=Di/20};

# ValueWeight1 := FWeight(Area1);Deflection1 := FDeflection(Ix1,Iy1);Payload1 := FPayload(dg1,Ix1,Iy1);

MinimizeIT(Weight1,Deflection1,Payload1,Shape1);NLPSolve: calling NLP solverNLPSolve: using method=sqpNLPSolve: number of problem variables 2NLPSolve: number of nonlinear inequality constraints 2NLPSolve: number of nonlinear equality constraints 0NLPSolve: number of general linear constraints 2NLPSolve: feasibility tolerance set to 0.1053671213e-7NLPSolve: optimality tolerance set to 0.3256082241e-11NLPSolve: iteration limit set to 50NLPSolve: infinite bound set to 0.10e21NLPSolve: trying evalhf modeattemptsolution: number of major iterations taken 29

############# Section 2: I Shape Beam ##################

Page 58: Mechanical Model for Quadcopter UAV

(6.7)(6.7)

> >

> >

> >

(6.3)(6.3)

> >

> >

> >

> >

> >

> >

> >

(4.1)(4.1)

(6.6)(6.6)

(5.8)(5.8)

(3.2.3)(3.2.3)

(5.3)(5.3)

> >

(5.2)(5.2)

> >

> >

> >

(4.3)(4.3)

> >

(5.5)(5.5)

(4.2)(4.2)

> >

(5.6)(5.6)

> >

(4.6)(4.6)

> >

> >

(5.7)(5.7)

# DimensionsParameter2 := { b, h, a };Area2 := b*h-(b-a)*(h-2*a);Iy2 := b*h^3/12-(b-a)*(h-2*a)^3/12;Ix2 := a*b^3/12+a^3*(h-2*a)/12;dg2 := sqrt((b/2)^2+(h/2)^2);

# ShapeShape2 := {b>=20, h>=20, a>=1, a<=6, b<=35, h<=35};

# ValueWeight2 := FWeight(Area2);Deflection2 := FDeflection(Ix2,Iy2);Payload2 := FPayload(dg2,Ix2,Iy2);

MinimizeIT(Weight2,Deflection2,Payload2,Shape2);NLPSolve: calling NLP solverNLPSolve: using method=sqpNLPSolve: number of problem variables 3NLPSolve: number of nonlinear inequality constraints 2NLPSolve: number of nonlinear equality constraints 0NLPSolve: number of general linear constraints 6NLPSolve: feasibility tolerance set to 0.1053671213e-7NLPSolve: optimality tolerance set to 0.3256082241e-11NLPSolve: iteration limit set to 50NLPSolve: infinite bound set to 0.10e21NLPSolve: trying evalhf modeattemptsolution: number of major iterations taken 16

Page 59: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

13 CFD Simulation for aerodynamic drag coefficients

In this section there are several images that portrait CFD simulation made with SolidWorks Flow Simulation.Simulation is made considering model fixed inside a CAD model of a wind gallery with radius greater than1m (big enough to not consider gallery boundaries effect), in which a defined airflow impacts on surface of themodel. On the plane in which is evaluated drag coefficient there is a contour plot for global pressure. On theother plane, there is a contour plot of local velocities.

13.1 Simulation images

Figure 11: Simulation XY 1: v = 4.759ms−1

Mechanical Model for Quadcopter UAV — 59

Page 60: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

Figure 12: Simulation XY 2: v = 9.590ms−1

Figure 13: Simulation XY 3: v = 14.385ms−1

Mechanical Model for Quadcopter UAV — 60

Page 61: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

Figure 14: Simulation XY 4: v = 19.180ms−1

Figure 15: Simulation IZ 1: v = 4.790ms−1

Mechanical Model for Quadcopter UAV — 61

Page 62: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

Figure 16: Simulation IZ 2: v = 14.371ms−1

Figure 17: Simulation IZ 3: v = 19.161ms−1

Mechanical Model for Quadcopter UAV — 62

Page 63: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

Figure 18: Simulation IZ 4: v = 23.952ms−1

13.2 Coefficients interpolation

Mechanical Model for Quadcopter UAV — 63

Page 64: Mechanical Model for Quadcopter UAV
Page 65: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

14 Optimization: numeric simulations

In the next pages are attached automatically generated reports, in which all proofed configurations results foreach solution are summarized.

Mechanical Model for Quadcopter UAV — 65

Page 66: Mechanical Model for Quadcopter UAV

Università degli studi di Trento

Analizzato con SolidWorks Simulation

Simulazione di Sezione Circolare

1

Sim

ulazione di

Sezione Circolare Cava

Data: martedì 19 giugno 2012

Designer: Matteo Ragni [134977]

Nome studio: Studio progettuale 1

Tipo di analisi: Studio progettuale

Table of Contents

Descrizione .......................................... 1

Trave a sezione circolare cava ................... 2

Proprietà dello studio .............................. 2

Unità ................................................. 3

Impostazione Studio progettuale ................. 3

Risultati dello studio ............................... 4

Descrizione

Studio Trave a sezione circolare cava. Ottim

izzazione del

diametro interno e dello spessore della sezione. In questo

documento è presente solo l’ultim

a parte della

ottim

izzazione, con la fase più stretta. Il report è stato

generato automaticamente da SolidWorks Simulation

Università degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione diSezioneCircolare

2

Trave a sezione circolare cava

Nome

documento

Configurazione

Percorso del documento

Data m

odifica

SezioneCircolar

e

Default

D:\Data\Università\Ingegneria Meccatronica

Robotica\M

odeling and sim

ulation of

mechanical

systems\Tesina\Ottim

izzazione\Sezione

Circolare\SezioneCircolare.SLDPRT

Jun 18 19:54:11

2012

Proprietà dello studio

Nome studio

Studio progettuale 1

Tipo di analisi

Studio progettuale(Ottim

izzazione)

Qualità Studio del progetto

Qualità ottim

a (più lento)

Cartella Risultato

Documento

SolidWorks(D:\Data\Università\Ingegneria

Meccatronica Robotica\M

odeling and sim

ulation of

mechanical systems\Tesina\Ottim

izzazione\Sezione

Circolare)

Page 67: Mechanical Model for Quadcopter UAV

Università degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione diSezioneCircolare

3

Unità

Sistema di unità:

SI (MKS)

Lunghezza/Spostamento

mm

Temperatura

Kelvin

Velocità angolare

Rad/sec

Pressione/Sollecitazione

N/m^2

Impostazione Studio progettuale

Variabili di progetto

Nome

Tipo

Valori

Unità

Spessore

Range con fase

Min:1 Max:2 Fase:0.2

mm

Diametro Interno

Range con fase

Min:30 Max:32 Fase:0.2

mm

Vincoli

Nome sensore

Condizione

Margini

Unità

Nome studio

Spostamento1

è m

inore di

Max:0.1

mm

Studio 1

Sollecitazione1

è m

inore di

Max:2001.5207798

psi

Studio 1

Obiettivi

Nome

Obiettivo

Proprietà

Spessore

Nome studio

Massa1

Minim

izzare

Massa

10

-

Università degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione diSezioneCircolare

4

Risultati dello studio

68 su 68 scenari eseguiti con successo.

Nome del componente

Unità

Corrente

Iniziale

Ottim

ale

Spessore

mm

1.4

2

1.4

Diametro Interno

mm

30

32

32

Sollecitazione1

psi

0.12143169

0.07178218

0.09950787

Massa1

g

111.865

173.039

118.99

Spostamento1

mm

610.42446009

405.84108037

846.6258128

Nome del componente

Unità

Scenario3

Scenario4

Scenario5

Scenario6

Scenario7

Spessore

mm

1.4

1.6

1.8

2

1

Diametro Interno

mm

30

30

30

30

30.2

Spostamento1

mm

0.12143169

0.10969349

0.09706627

0.08577904

0.16122306

Sollecitazione1

psi

610.42446009

576.73658102

518.48442177

455.45167365

1284.9944703

Massa1

g

111.865

128.66

145.658

162.86

79.3943

Nome del componente

Unità

Scenario8

Scenario9

Scenario10

Scenario11

Scenario12

Spessore

mm

1.2

1.4

1.6

1.8

2

Diametro Interno

mm

30.2

30.2

30.2

30.2

30.2

Spostamento1

mm

0.13608423

0.11326159

0.10750383

0.09540702

0.08426337

Sollecitazione1

psi

707.94449903

588.10260837

566.30582952

503.15186611

450.56984844

Massa1

g

95.8839

112.577

129.474

146.574

163.878

Nome del componente

Unità

Scenario13

Scenario14

Scenario15

Scenario16

Scenario17

Spessore

mm

1

1.2

1.4

1.6

1.8

Diametro Interno

mm

30.4

30.4

30.4

30.4

30.4

Spostamento1

mm

0.15792772

0.13345236

0.11586928

0.10574237

0.09369678

Sollecitazione1

psi

828.99567808

706.80551767

629.36109475

562.8746355

496.93583875

Massa1

g

79.9033

96.4946

113.29

130.288

147.49

Nome del componente

Unità

Scenario18

Scenario19

Scenario20

Scenario21

Scenario22

Spessore

mm

2

1

1.2

1.4

1.6

Diametro Interno

mm

30.4

30.6

30.6

30.6

30.6

Spostamento1

mm

0.08269411

0.15382809

0.13121677

0.11437707

0.10349574

Sollecitazione1

psi

441.7444834

807.34270415

709.75819594

636.0021552

548.13238344

Massa1

g

164.896

80.4122

97.1054

114.002

131.102

Nome del componente

Unità

Scenario23

Scenario24

Scenario25

Scenario26

Scenario27

Spessore

mm

1.8

2

1

1.2

1.4

Diametro Interno

mm

30.6

30.6

30.8

30.8

30.8

Page 68: Mechanical Model for Quadcopter UAV

Università degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione diSezioneCircolare

5

Spostamento1

mm

0.09189119

0.0812658

0.15121674

0.12915045

0.1128012

Sollecitazione1

psi

499.1457425

450.13444515

790.61281867

726.30605906

629.82528803

Massa1

g

148.406

165.914

80.9211

97.7161

114.715

Nome del componente

Unità

Scenario28

Scenario29

Scenario30

Scenario31

Scenario32

Spessore

mm

1.6

1.8

2

1

1.2

Diametro Interno

mm

30.8

30.8

30.8

31

31

Spostamento1

mm

0.09959677

0.09031077

0.07974409

0.14580514

0.12595671

Sollecitazione1

psi

555.05427321

484.79701408

432.97115065

754.62163155

690.45642877

Massa1

g

131.917

149.322

166.932

81.4301

98.3268

Nome del componente

Unità

Scenario33

Scenario34

Scenario35

Scenario36

Scenario37

Spessore

mm

1.4

1.6

1.8

2

1

Diametro Interno

mm

31

31

31

31

31.2

Spostamento1

mm

0.11000472

0.09767451

0.08863376

0.07835789

0.14543868

Sollecitazione1

psi

599.77368634

535.80852687

484.19974867

429.38139412

780.83198127

Massa1

g

115.427

132.731

150.239

167.95

81.939

Nome del componente

Unità

Scenario38

Scenario39

Scenario40

Scenario41

Scenario42

Spessore

mm

1.2

1.4

1.6

1.8

2

Diametro Interno

mm

31.2

31.2

31.2

31.2

31.2

Spostamento1

mm

0.12391721

0.10808469

0.09554715

0.0871365

0.07700518

Sollecitazione1

psi

655.58108949

602.40459839

488.57941698

478.37488809

427.20894637

Massa1

g

98.9375

116.14

133.545

151.155

168.967

Nome del componente

Unità

Scenario43

Scenario44

Scenario45

Scenario46

Scenario47

Spessore

mm

1

1.2

1.4

1.6

1.8

Diametro Interno

mm

31.4

31.4

31.4

31.4

31.4

Spostamento1

mm

0.14318847

0.12138973

0.10639112

0.09361462

0.08559959

Sollecitazione1

psi

765.01082973

651.6094486

605.45068095

498.11543067

474.52388234

Massa1

g

82.448

99.5483

116.852

134.36

152.071

Nome del componente

Unità

Scenario48

Scenario49

Scenario50

Scenario51

Scenario52

Spessore

mm

2

1

1.2

1.4

1.6

Diametro Interno

mm

31.4

31.6

31.6

31.6

31.6

Spostamento1

mm

0.0756606

0.14017217

0.11948347

0.10368563

0.09220161

Sollecitazione1

psi

424.58274805

741.15277456

651.18173231

735.8326453

505.69096927

Massa1

g

169.985

82.9569

100.159

117.565

135.174

Nome del componente

Unità

Scenario53

Scenario54

Scenario55

Scenario56

Scenario57

Spessore

mm

1.8

2

1

1.2

1.4

Diametro Interno

mm

31.6

31.6

31.8

31.8

31.8

Spostamento1

mm

0.08411516

0.07434461

0.13775504

0.11698274

0.10174167

Università degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione diSezioneCircolare

6

Sollecitazione1

psi

462.18740749

412.5287342

763.84131794

663.33415427

782.72849473

Massa1

g

152.987

171.003

83.4658

100.77

118.277

Nome del componente

Unità

Scenario58

Scenario59

Scenario60

Scenario61

Scenario62

Spessore

mm

1.6

1.8

2

1

1.2

Diametro Interno

mm

31.8

31.8

31.8

32

32

Spostamento1

mm

0.09061268

0.08256982

0.07305576

0.13523897

0.11474927

Sollecitazione1

psi

504.47551677

455.6784039

408.15225672

771.48422656

645.66681737

Massa1

g

135.988

153.903

172.021

83.9748

101.38

Nome del componente

Unità

Scenario63

Scenario64

Scenario65

Scenario66

<L_Iter5/>

Spessore

mm

1.4

1.6

1.8

2

<SR_Iter5/>

Diametro Interno

mm

32

32

32

32

Spostamento1

mm

0.09950787

0.08893566

0.08116318

0.07178218

Sollecitazione1

psi

846.6258128

489.69033353

447.00282658

405.84108037

Massa1

g

118.99

136.803

154.819

173.039

Page 69: Mechanical Model for Quadcopter UAV

Università degli studi di Trento

Analizzato con SolidWorks Simulation

Simulazione diSezioneI

1

Simulazione di

Sezione H

Data: martedì 19 giugno 2012

Designer: Matteo Ragni [134977]

Nome studio: Studio progettuale 1

Tipo di analisi: Studio progettuale

Table of Contents

Descrizione .......................................... 1

Trave Sezione ad I .................................. 2

Proprietà dello studio .............................. 2

Unità ................................................. 3

Impostazione Studio progettuale ................. 3

Risultati dello studio ............................... 4

Conclusione .......................................... 9

Descrizione

Studi della trave con sezione ad H. Ottim

izzazione della

altezza, larghezza e dello spessore. In questo documento è

presente solo l’ultim

a parte della ottim

izzazione, con la fase

più stretta. Il report è stato generato automaticamente da

SolidWorks Simulation

Università degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione di Sezione ad H

2

Trave Sezione ad H

Nome

documento

Configurazione

Percorso del documento

Data modifica

SezioneI

Default

D:\Data\Università\Ingegneria Meccatronica

Robotica\M

odeling and sim

ulation of

mechanical

systems\Tesina\Ottim

izzazione\Sezione

I\SezioneI.SLDPRT

Jun 19 11:17:13

2012

Proprietà dello studio

Nome studio

Studio progettuale 1

Tipo di analisi

Studio progettuale(Ottim

izzazione)

Qualità Studio del progetto

Qualità ottim

a (più lento)

Cartella Risultato

Documento

SolidWorks(D:\Data\Università\Ingegneria

Meccatronica Robotica\M

odeling and sim

ulation of

mechanical systems\Tesina\Ottim

izzazione\Sezione

I)

Page 70: Mechanical Model for Quadcopter UAV

Università degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione di Sezione ad H

3

Unità

Sistema di unità:

SI (MKS)

Lunghezza/Spostamento

mm

Temperatura

Kelvin

Velocità angolare

Rad/sec

Pressione/Sollecitazione

N/m^2

Impostazione Studio progettuale

Variabili di progetto

Nome

Tipo

Valori

Unità

Altezza

Range con fase

Min:19 Max:21 Fase:0.5

mm

Larghezza

Range con fase

Min:34 Max:36 Fase:0.5

mm

Spessore

Range con fase

Min:4 Max:6 Fase:0.5

mm

Vincoli

Nome sensore

Condizione

Margini

Unità

Nome studio

Spostamento1

è m

inore di

Max:0.1

mm

Ottim

izzazione

Trave a I

Sollecitazione1

è m

inore di

Max:13.8

N/mm^2 (MPa)

Ottim

izzazione

Trave a I

Obiettivi

Nome

Obiettivo

Proprietà

Spessore

Nome studio

Massa1

Minim

izzare

Massa

10

-

Università degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione di Sezione ad H

4

Risultati dello studio

127 su 127 scenari eseguiti con successo.

Nome del

componente

Unità

Corrente

Iniziale

Ottimale

Scenario1

Scenario2

Altezza

mm

25

25

19

19

19.5

Larghezza

mm

40

40

34

34

34

Spessore

mm

6

6

4

4

4

Spostamento1

mm

0.03768558

0.03768558

0.09746581

0.09746581

0.0950711

Sollecitazione1

N/mm^2

(MPa)

1.9527185

1.9527185

4.11659425

4.11659425

4.08560125

Massa1

451.98

451.98

255.96

255.96

257.58

Nome del componente

Unità

Scenario3

Scenario4

Scenario5

Scenario6

Scenario7

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

34

34

34

34.5

34.5

Spessoreg

mm

4

4

4

4

4

Spostamento1

mm

0.09298078

0.09114565

0.08953881

0.09446235

0.09206063

Sollecitazione1

N/mm^2 (MPa)

4.0529705

4.0839495

3.99720725

4.02497

4.07852975

Massa1

g 259.2

260.82

262.44

259.2

260.82

Nome del componente

Unità

Scenario8 Scenario9 Scenario10 Scenario11 Scenario12

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

34.5

34.5

34.5

35

35

Spessore

mm

4

4

4

4

4

Spostamento1

mm

0.089959

0.08811151

0.08649752

0.09162331

0.08921293

Sollecitazione1

N/mm^2 (MPa)

4.03726875

3.929784

3.90058225

3.93276725

3.89358225

Massa1

g

262.44

264.06

265.68

262.44

264.06

Nome del

componente

Unità

Scenario13 Scenario14 Scenario15 Scenario16 Scenario17

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

35

35

35

35.5

35.5

Spessore

mm

4

4

4

4

4

Spostamento1

mm

0.08710475

0.08525827

0.08362726

0.08894553

0.08653042

Sollecitazione1

N/mm^2

(MPa)

3.87315875

3.83279525

3.80396725

3.9003905

3.8660375

Massa1

g

265.68

267.3

268.92

265.68

267.3

Nome del

componente

Unità

Scenario18 Scenario19 Scenario20 Scenario21 Scenario22

Page 71: Mechanical Model for Quadcopter UAV

Università degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione di Sezione ad H

5

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

35.5

35.5

35.5

36

36

Spessore

mm

4

4

4

4

4

Spostamento1

mm

0.08441373

0.08255701

0.08092549

0.08641526

0.08399176

Sollecitazione1

N/mm^2

(MPa)

3.83669825

3.80682075

3.77989025

3.81038

3.77722125

Massa1

g

268.92

270.54

272.16

268.92

270.54

Nome del

componente

Unità

Scenario23 Scenario24 Scenario25 Scenario26 Scenario27

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

36

36

36

34

34

Spessore

mm

4

4

4

4.5

4.5

Spostamento1

mm

0.08187498

0.08000922

0.07837282

0.08873439

0.0863228

Sollecitazione1

N/mm^2

(MPa)

3.74698875

3.7183375

3.69243125

3.704013

3.66814775

Massa1

g

272.16

273.78

275.4

284.31

286.132

Nome del

componente

Unità

Scenario28 Scenario29 Scenario30 Scenario31 Scenario32

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

34

34

34

34.5

34.5

Spessore

mm

4.5

4.5

4.5

4.5

4.5

Spostamento1

mm

0.08421916

0.08237916

0.08076191

0.0860671

0.08364882

Sollecitazione1

N/mm^2

(MPa)

3.59546325

3.60871875

3.581138

3.61205925

3.5405535

Massa1

g

287.955

289.778

291.6

287.955

289.777

Nome del

componente

Unità

Scenario33 Scenario34 Scenario35 Scenario36 Scenario37

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

34.5

34.5

34.5

35

35

Spessore

mm

4.5

4.5

4.5

4.5

4.5

Spostamento1

mm

0.08153608

0.07969176

0.07806777

0.08355103

0.08112857

Sollecitazione1

N/mm^2

(MPa)

3.50936925

3.48307175

3.49337175

3.538038

3.65201125

Massa1

g

291.6

293.423

295.245

291.6

293.423

Nome del

component

e

Unità

Scenario

38

Scenario

39

Scenario

40

Scenario

41

Scenario42

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

35

35

35

35.5

35.5

Spessore

mm

4.5

4.5

4.5

4.5

4.5

Spostamento

mm

0.0790123

0.0771563

0.0755301

0.0811723

0.07874482

Università degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione di Sezione ad H

6

1

7

7

3

6

Sollecitazion

e1

N/mm^2

(MPa)295.245297.068298.8295

.2459

3.5245645

3.439484

3.371938

3.5377295

3.6928297.0680

075

Massa1

g

Nome del

componente

Unità

Scenario43 Scenario44 Scenario45 Scenario46 Scenario47

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

35.5

35.5

35.5

36

36

Spessore

mm

4.5

4.5

4.5

4.5

4.5

Spostamento1

mm

0.0766263

0.0747656

0.07313131

0.0789254

0.07649816

Sollecitazione1

N/mm^2

(MPa)

3.43775475

3.626173

3.597642

3.63105275

3.596984

Massa1

g

298.89

300.713

302.535

298.89

300.712

Nome del

componente

Unità

Scenario48 Scenario49 Scenario50 Scenario51 Scenario52

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

36

36

36

34

34

Spessore

mm

4.5

4.5

4.5

5

5

Spostamento1

mm

0.0743729

0.07250719

0.07086813

0.08200271

0.0795518

Sollecitazione1

N/mm^2

(MPa)

3.37698675

3.54302375

3.50536075

3.369987

3.337427

Massa1

g

302.535

304.358

306.18

311.85

313.875

Nome del

componente

Unità

Scenario53 Scenario54 Scenario55 Scenario56 Scenario57

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

34

34

34

34.5

34.5

Spessore

mm

5

5

5

5

5

Spostamento1

mm

0.07741262

0.07554364

0.07390594

0.07961317

0.07715078

Sollecitazione1

N/mm^2

(MPa)

3.306679

3.28022175

3.25626325

3.2922245

3.258899

Massa1

g

315.9

317.925

319.95

315.9

317.925

Nome del

componente

Unità

Scenario58 Scenario59 Scenario60 Scenario61 Scenario62

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

34.5

34.5

34.5

35

35

Spessore

mm

5

5

5

5

5

Spostamento1

mm

0.07500745

0.07313109

0.07148852

0.07735693

0.074884

Sollecitazione1

N/mm^2

(MPa)

3.2288455

3.2020695

3.17324275

3.2183895

3.18560275

Massa1

g

319.95

321.975

324

319.95

321.975

Page 72: Mechanical Model for Quadcopter UAV

Università degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione di Sezione ad H

7

Nome del

componente

Unità

Scenario63 Scenario64 Scenario65 Scenario66 Scenario67

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

35

35

35

35.5

35.5

Spessore

mm

5

5

5

5

5

Spostamento1

mm

0.07273808

0.07085634

0.06921105

0.07523139

0.07275194

Sollecitazione1

N/mm^2

(MPa)

3.15553975

3.12780275

3.10206775

3.1921475

3.1049415

Massa1

g

324

326.025

328.05

324

326.025

Nome del

componente

Unità

Scenario68 Scenario69 Scenario70 Scenario71 Scenario72

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

35.5

35.5

35.5

36

36

Spessore

mm

5

5

5

5

5

Spostamento1

mm

0.07060322

0.06871953

0.06706898

0.07321574

0.07073226

Sollecitazione1

N/mm^2

(MPa)

3.0852925

3.04973425

3.03025125

3.12319925

3.0940625

Massa1

g

328.05

330.075

332.1

328.05

330.075

Nome del

componente

Unità

Scenario73 Scenario74 Scenario75 Scenario76 Scenario77

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

36

36

36

34

34

Spessore

mm

5

5

5

5.5

5.5

Spostamento1

mm

0.06857901

0.06669124

0.06503444

0.07684458

0.07430769

Sollecitazione1

N/mm^2

(MPa)

3.0871575

3.019176

2.992017

3.1055035

3.09682325

Massa1

g

332.1

334.125

336.15

338.58

340.807

Nome del

componente

Unità

Scenario78 Scenario79 Scenario80 Scenario81 Scenario82

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

34

34

34

34.5

34.5

Spessore

mm

5.5

5.5

5.5

5.5

5.5

Spostamento1

mm

0.07209054

0.07015235

0.06845419

0.07466792

0.07213029

Sollecitazione1

N/mm^2

(MPa)

3.04844675

3.01627925

2.993788

3.03811525

3.005349

Massa1

g

343.035

345.263

347.49

343.035

345.262

Nome del

componente

Unità

Scenario83 Scenario84 Scenario85 Scenario86 Scenario87

Altezza

mm

20

20.5

21

19

19.5

Università degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione di Sezione ad H

8

Larghezza

mm

34.5

34.5

34.5

35

35

Spessore

mm

5.5

5.5

5.5

5.5

5.5

Spostamento1

mm

0.06991492

0.0679735

0.06627038

0.07261319

0.07007851

Sollecitazione1

N/mm^2

(MPa)

2.97771975

2.952936

2.9270095

2.9683695

2.93946475

Massa1

g

347.49

349.717

351.945

347.49

349.718

Nome del

componente

Unità

Scenario88 Scenario89 Scenario90 Scenario91 Scenario92

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

35

35

35

35.5

35.5

Spessore

mm

5.5

5.5

5.5

5.5

5.5

Spostamento1

mm

0.06786043

0.0659183

0.06421269

0.07067106

0.06813777

Sollecitazione1

N/mm^2

(MPa)

2.911744

2.8851585

2.861188

2.90269725

2.87320475

Massa1

g

351.945

354.173

356.4

351.945

354.172

Nome del

componente

Unità

Scenario93 Scenario94 Scenario95 Scenario96 Scenario97

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

35.5

35.5

35.5

36

36

Spessore

mm

5.5

5.5

5.5

5.5

5.5

Spostamento1

mm

0.06592083

0.06397764

0.06226957

0.06883781

0.06630879

Sollecitazione1

N/mm^2

(MPa)

2.846526

2.8237885

2.79919525

2.8643505

2.84047775

Massa1

g

356.4

358.628

360.855

356.4

358.627

Nome del

componente

Unità

Scenario98 Scenario99 Scenario100 Scenario101 Scenario102

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

36

36

36

34

34

Spessore

mm

5.5

5.5

5.5

6

6

Spostamento1

mm

0.06409281

0.06214859

0.06043861

0.07276135

0.07015752

Sollecitazione1

N/mm^2

(MPa)

2.75900475

2.78648625

2.72142975

2.94930825

2.7568805

Massa1

g

360.855

363.083

365.31

364.5

366.93

Nome del

componente

Unità

Scenario103 Scenario104 Scenario105 Scenario106 Scenario107

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

34

34

34

34.5

34.5

Spessore

mm

6

6

6

6

6

Spostamento1

mm

0.06788046

0.06589232

0.06414823

0.07076219

0.06815762

Sollecitazione1

N/mm^2

(MPa)

2.744921

2.7151115

2.68630075

2.74339875

2.854401

Page 73: Mechanical Model for Quadcopter UAV

Università degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione di Sezione ad H

9

Massa1

g

369.36

371.79

374.22

369.36

371.79

Nome del

componente

Unità

Scenario108 Scenario109 Scenario110 Scenario111 Scenario112

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

34.5

34.5

34.5

35

35

Spessore

mm

6

6

6

6

6

Spostamento1

mm

0.06588498

0.06389224

0.06214686

0.0688745

0.06627055

Sollecitazione1

N/mm^2

(MPa)

2.670604

2.79542375

2.61835125

2.68010175

2.78728925

Massa1

g

374.22

376.65

379.08

374.22

376.65

Nome del

componente

Unità

Scenario113 Scenario114 Scenario115 Scenario116 Scenario117

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

35

35

35

35.5

35.5

Spessore

mm

6

6

6

6

6

Spostamento1

mm

0.06399964

0.06200818

0.06026157

0.06708833

0.06449281

Sollecitazione1

N/mm^2

(MPa)

2.75594675

2.8463115

2.713791

2.61236

2.5695515

Massa1

g

379.08

381.51

383.94

379.08

381.51

Nome del

componente

Unità

Scenario118 Scenario119 Scenario120 Scenario121 Scenario122

Altezza

mm

20

20.5

21

19

19.5

Larghezza

mm

35.5

35.5

35.5

36

36

Spessore

mm

6

6

6

6

6

Spostamento1

mm

0.06222259

0.06023133

0.05848395

0.06539591

0.06280706

Sollecitazione1

N/mm^2

(MPa)

2.548199

2.5183905

2.49698725

2.5417215

2.52277575

Massa1

g

383.94

386.37

388.8

383.94

386.37

Nome del componente

Unità

Scenario123

Scenario124

Scenario125

Altezza

mm

20

20.5

21

Larghezza

mm

36

36

36

Spessore

mm

6

6

6

Spostamento1

mm

0.0605407

0.05855098

0.05680104

Sollecitazione1

N/mm^2 (MPa)

2.4883295

2.46638175

2.453035

Massa1

g

388.8

391.23

393.66

Page 74: Mechanical Model for Quadcopter UAV

Univeristà degli studi di Trento

Analizzato con SolidWorks Simulation

Simulazione di Trave Sezione a T

1

Sim

ulazione di Trave

Sezione a T

Data: martedì 19 giugno 2012

Designer: Matteo Ragni [134977]

Nome studio: Studio progettuale 1

Tipo di analisi: Studio progettuale

Table of Contents

Descrizione .......................................... 1

Proprietà dello studio .............................. 2

Unità ................................................. 2

Impostazione Studio progettuale ................. 2

Risultati dello studio ............................... 3

Descrizione

Studio di design: ottim

izzazione della sezione della trave a

T. Si ottim

izzano larghezza, altezza e spessore. In questo

documento è presente solo l’ultim

a parte della

ottim

izzazione, con la fase più stretta. Il report è stato

generato automaticamente da SolidWorks Simulation

Univeristà degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione diTrave T

2

Proprietà dello studio

Nome studio

Studio progettuale 1

Tipo di analisi

Studio progettuale(Ottim

izzazione)

Qualità Studio del progetto

Qualità ottim

a (più lento)

Cartella Risultato

Documento

SolidWorks(D:\Data\Università\Ingegneria

Meccatronica Robotica\M

odeling and sim

ulation of

mechanical systems\Tesina\Ottim

izzazione\Trave T)

Unità

Sistema di unità:

SI (MKS)

Lunghezza/Spostamento

mm

Temperatura

Kelvin

Velocità angolare

Rad/sec

Pressione/Sollecitazione

N/m^2

Impostazione Studio progettuale

Variabili di progetto

Nome

Tipo

Valori

Unità

Larghezza

Range con fase

Min:25 Max:30 Fase:1

mm

Spessore

Range con fase

Min:4 Max:8 Fase:1

mm

Altezza

Range con fase

Min:25 Max:30 Fase:1

mm

Vincoli

Nome sensore

Condizione

Margini

Unità

Nome studio

Spostamento1

è m

inore di

Max:0.1

mm

Trave T

Sollecitazione1

è m

inore di

Max:13.8

N/mm^2 (MPa)

Trave T

Obiettivi

Nome

Obiettivo

Proprietà

Spessore

Nome studio

Massa2

Minim

izzare

Massa

10

-

Page 75: Mechanical Model for Quadcopter UAV

Univeristà degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione diTrave T

3

Risultati dello studio

182 su 182 scenari eseguiti con successo.

Nome del

componente

Unità

Corrente

Iniziale

Ottim

ale

Scenario1

Scenario2

Larghezza

mm

30

30

30

25

26

Spessore

mm

8

8

7

4

4

Altezza

mm

27

27

30

25

25

Spostamento1

mm

0.10137196

0.10137196

0.09605732

0.27739868

0.26142079

Sollecitazione1

N/mm^2

(MPa)

3.67478425

3.67478425

3.48882775

8.261297

8.1450795

Massa2

117.6

117.6

111.3

55.2

56.4

Nome del componente

Unità

Scenario3

Scenario4

Scenario5

Scenario6

Scenario7

Larghezza

mm

27

28

29

30

25

Spessore

mm

4

4

4

4

5

Altezzag

mm

25

25

25

25

25

Spostamento1

mm

0.24804921

0.23674083

0.2271113

0.21892127

0.22354788

Sollecitazione1

N/mm^2 (MPa)

8.0522185

7.9727465

7.876529

7.803796

6.7475725

Massa2

g 57.6

58.8

60

61.2

67.5

Nome del componente

Unità

Scenario8 Scenario9 Scenario10 Scenario11 Scenario12

Larghezza

mm

26

27

28

29

30

Spessore

mm

5

5

5

5

5

Altezza

mm

25

25

25

25

25

Spostamento1

mm

0.22354788

0.20114558

0.19253002

0.19253002

0.1791041

Sollecitazione1

N/mm^2 (MPa)

6.7475725

6.5662635

6.4968385

6.4062895

6.35442

Massa2

g

69

70.5

72

73.5

75

Nome del

componente

Unità

Scenario13 Scenario14 Scenario15 Scenario16 Scenario17

Larghezza

mm

25

26

27

28

29

Spessore

mm

6

6

6

6

6

Altezza

mm

25

25

25

25

25

Spostamento1

mm

0.18888357

0.17914879

0.17099506

0.16408571

0.15820198

Sollecitazione1

N/mm^2

(MPa)

5.827081

5.751001

5.663142

5.587464

5.506645

Massa2

g

79.2

81

82.8

84.6

86.4

Nome del

componente

Unità

Scenario18 Scenario19 Scenario20 Scenario21 Scenario22

Univeristà degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione diTrave T

4

Larghezza

mm

30

25

26

27

28

Spessore

mm

6

7

7

7

7

Altezza

mm

25

25

25

25

25

Spostamento1

mm

0.15343649

0.16479845

0.15677734

0.15003564

0.14430177

Sollecitazione1

N/mm^2

(MPa)

5.459576

5.169893

5.06272

4.9639445

4.901832

Massa2

g

88.2

90.3

92.4

94.5

96.6

Nome del

componente

Unità

Scenario23 Scenario24 Scenario25 Scenario26 Scenario27

Larghezza

mm

29

30

25

26

27

Spessore

mm

7

7

8

8

8

Altezza

mm

25

25

25

25

25

Spostamento1

mm

0.13949594

0.13546638

0.14695205

0.14018167

0.1344523

Sollecitazione1

N/mm^2

(MPa)

4.839794

4.7814715

4.6676825

4.58313

4.816414

Massa2

g

98.7

100.8

100.8

103.2

105.6

Nome del

componente

Unità

Scenario28 Scenario29 Scenario30 Scenario31 Scenario32

Larghezza

mm

28

29

30

25

26

Spessore

mm

8

8

8

4

4

Altezza

mm

25

25

25

26

26

Spostamento1

mm

0.12957191

0.12549984

0.12202599

0.27650304

0.25938899

Sollecitazione1

N/mm^2

(MPa)

4.743337

4.6830135

4.324064

7.83761

7.8346735

Massa2

g

108

110.4

112.8

56.4

57.6

Nome del

componente

Unità

Scenario33 Scenario34 Scenario35 Scenario36 Scenario37

Larghezza

mm

27

28

29

30

25

Spessore

mm

4

4

4

4

5

Altezza

mm

26

26

26

26

26

Spostamento1

mm

0.24497104

0.23272479

0.22213557

0.21311201

0.21762722

Sollecitazione1

N/mm^2

(MPa)

8.161995

7.604447

7.5216755

7.4484425

6.519492

Massa2

g

58.8

60

61.2

62.4

69

Nome del

componente

Unità

Scenario38 Scenario39 Scenario40 Scenario41 Scenario42

Larghezza

mm

26

27

28

29

30

Spessore

mm

5

5

5

5

5

Altezza

mm

26

26

26

26

26

Spostamento1

mm

0.20471872

0.19388599

0.18466249

0.17677424

0.17002466

Sollecitazione1

N/mm^2

6.4226825

6.3545465

6.2772695

6.1980215

6.130626

Page 76: Mechanical Model for Quadcopter UAV

Univeristà degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione diTrave T

5

(MPa)70.57273.57576.5

Massa2

g

Nome del

componente

Unità

Scenario43 Scenario44 Scenario45 Scenario46 Scenario47

Larghezza

mm

25

26

27

28

29

Spessore

mm

6

6

6

6

6

Altezza

mm

26

26

26

26

26

Spostamento1

mm

0.18122872

0.17102995

0.16243917

0.15513304

0.14890201

Sollecitazione1

N/mm^2

(MPa)

5.5467155

5.4719075

5.3863505

5.299087

5.2359915

Massa2

g

81

82.8

84.6

86.4

88.2

Nome del

componente

Unità

Scenario48 Scenario49 Scenario50 Scenario51 Scenario52

Larghezza

mm

30

25

26

27

28

Spessore

mm

6

7

7

7

7

Altezza

mm

26

26

26

26

26

Spostamento1

mm

0.14355639

0.15637312

0.14803906

0.14099898

0.13499742

Sollecitazione1

N/mm^2

(MPa)

5.172532

5.330896

4.814897

4.7424155

4.6646585

Massa2

g

90

92.4

94.5

96.6

98.7

Nome del

componente

Unità

Scenario53 Scenario54 Scenario55 Scenario56 Scenario57

Larghezza

mm

29

30

25

26

27

Spessore

mm

7

7

8

8

8

Altezza

mm

26

26

26

26

26

Spostamento1

mm

0.12987082

0.12544208

0.13847488

0.13146276

0.12552548

Sollecitazione1

N/mm^2

(MPa)

4.6086515

5.0819265

4.372572

4.314104

4.2313125

Massa2

g

100.8

102.9

103.2

105.6

108

Nome del

componente

Unità

Scenario58 Scenario59 Scenario60 Scenario61 Scenario62

Larghezza

mm

28

29

30

25

26

Spessore

mm

8

8

8

4

4

Altezza

mm

26

26

26

27

27

Spostamento1

mm

0.12045777

0.11612257

0.11243895

0.26633259

0.24878667

Sollecitazione1

N/mm^2

(MPa)

4.15458

4.0953565

4.058508

7.3777095

7.2815125

Massa2

g

110.4

112.8

115.2

57.6

58.8

Univeristà degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione diTrave T

6

Nome del

componente

Unità

Scenario63 Scenario64 Scenario65 Scenario66 Scenario67

Larghezza

mm

27

28

29

30

25

Spessore

mm

4

4

4

4

5

Altezza

mm

27

27

27

27

27

Spostamento1

mm

0.23401818

0.22130636

0.21041367

0.20104775

0.20821214

Sollecitazione1

N/mm^2

(MPa)

7.177038

7.8958135

7.0667295

7.4849885

6.015032

Massa2

g

60

61.2

62.4

63.6

70.5

Nome del

componente

Unità

Scenario68 Scenario69 Scenario70 Scenario71 Scenario72

Larghezza

mm

26

27

28

29

30

Spessore

mm

5

5

5

5

5

Altezza

mm

27

27

27

27

27

Spostamento1

mm

0.19492549

0.183793

0.17426112

0.16614508

0.15915744

Sollecitazione1

N/mm^2

(MPa)

6.0071595

5.880449

5.8062245

5.7299315

5.664773

Massa2

g

72

73.5

75

76.5

78

Nome del

componente

Unità

Scenario73 Scenario74 Scenario75 Scenario76 Scenario77

Larghezza

mm

25

26

27

28

29

Spessore

mm

6

6

6

6

6

Altezza

mm

27

27

27

27

27

Spostamento1

mm

0.17231306

0.16180206

0.1529818

0.14545651

0.13904058

Sollecitazione1

N/mm^2

(MPa)

5.3445775

5.250276

5.169158

5.098862

4.9876755

Massa2

g

82.8

84.6

86.4

88.2

90

Nome del

componente

Unità

Scenario78 Scenario79 Scenario80 Scenario81 Scenario82

Larghezza

mm

30

25

26

27

28

Spessore

mm

6

7

7

7

7

Altezza

mm

27

27

27

27

27

Spostamento1

mm

0.13352459

0.14793529

0.13938968

0.13215093

0.12598043

Sollecitazione1

N/mm^2

(MPa)

4.923774

4.558894

4.5846925

4.5103975

4.4408695

Massa2

g

91.8

94.5

96.6

98.7

100.8

Nome del

componente

Unità

Scenario83 Scenario84 Scenario85 Scenario86 Scenario87

Larghezza

mm

29

30

25

26

27

Spessore

mm

7

7

8

8

8

Page 77: Mechanical Model for Quadcopter UAV

Univeristà degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione diTrave T

7

Altezza

mm

27

27

27

27

27

Spostamento1

mm

0.12071317

0.11618206

0.13029974

0.12313173

0.11705037

Sollecitazione1

N/mm^2

(MPa)

4.36464

4.306768

4.1514455

4.0672475

3.98250175

Massa2

g

102.9

105

105.6

108

110.4

Nome del

componente

Unità

Scenario88 Scenario89 Scenario90 Scenario91 Scenario92

Larghezza

mm

28

29

30

25

26

Spessore

mm

8

8

8

4

4

Altezza

mm

27

27

27

28

28

Spostamento1

mm

0.11185661

0.10741926

0.10359097

0.25815089

0.24022159

Sollecitazione1

N/mm^2

(MPa)

3.90214875

3.865645

3.815069

7.1667855

7.3582095

Massa2

g

112.8

115.2

117.6

58.8

60

Nome del

componente

Unità

Scenario93 Scenario94 Scenario95 Scenario96 Scenario97

Larghezza

mm

27

28

29

30

25

Spessore

mm

4

4

4

4

5

Altezza

mm

28

28

28

28

28

Spostamento1

mm

0.22509624

0.21213997

0.2009384

0.1913196

0.20050981

Sollecitazione1

N/mm^2

(MPa)

7.2590025

6.720429

6.627073

6.593891

5.880336

Massa2

g

61.2

62.4

63.6

64.8

72

Nome del

componente

Unità

Scenario98 Scenario99 Scenario100 Scenario101 Scenario102

Larghezza

mm

26

27

28

29

30

Spessore

mm

5

5

5

5

5

Altezza

mm

28

28

28

28

28

Spostamento1

mm

0.1869557

0.17553889

0.1657426

0.15739267

0.15019931

Sollecitazione1

N/mm^2

(MPa)

5.6356285

5.541313

5.912696

5.3857765

5.3066325

Massa2

g

73.5

75

76.5

78

79.5

Nome del

componente

Unità

Scenario103 Scenario104 Scenario105 Scenario106 Scenario107

Larghezza

mm

25

26

27

28

29

Spessore

mm

6

6

6

6

6

Altezza

mm

28

28

28

28

28

Spostamento1

mm

0.16408454

0.15337671

0.14435066

0.13665686

0.1300944

Sollecitazione1

N/mm^2

(MPa)

4.964514

4.794583

4.708513

4.6450625

4.580428

Massa2

g

84.6

86.4

88.2

90

91.8

Univeristà degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione diTrave T

8

Nome del

componente

Unità

Scenario108 Scenario109 Scenario110 Scenario111 Scenario112

Larghezza

mm

30

25

26

27

28

Spessore

mm

6

7

7

7

7

Altezza

mm

28

28

28

28

28

Spostamento1

mm

0.12441908

0.11172609

0.13168999

0.12428366

0.11797644

Sollecitazione1

N/mm^2

(MPa)

4.898758

4.101182

4.2243265

4.150165

4.0819875

Massa2

g

93.6

96.6

98.7

100.8

102.9

Nome del

componente

Unità

Scenario113 Scenario114 Scenario115 Scenario116 Scenario117

Larghezza

mm

29

30

25

26

27

Spessore

mm

7

7

8

8

8

Altezza

mm

28

28

28

28

28

Spostamento1

mm

0.11259218

0.10796692

0.123256

0.11595093

0.10974936

Sollecitazione1

N/mm^2

(MPa)

4.0234785

3.96782275

3.9008885

3.8360285

3.76091275

Massa2

g

105

107.1

108

110.4

112.8

Nome del

componente

Unità

Scenario118 Scenario119 Scenario120 Scenario121 Scenario122

Larghezza

mm

28

29

30

25

26

Spessore

mm

8

8

8

4

4

Altezza

mm

28

28

28

29

29

Spostamento1

mm

0.10445643

0.09992319

0.09601616

0.24795692

0.22993292

Sollecitazione1

N/mm^2

(MPa)

3.688542

3.639528

3.585015

6.964135

6.5978525

Massa2

g

115.2

117.6

120

60

61.2

Nome del

componente

Unità

Scenario123 Scenario124 Scenario125 Scenario126 Scenario127

Larghezza

mm

27

28

29

30

25

Spessore

mm

4

4

4

4

5

Altezza

mm

29

29

29

29

29

Spostamento1

mm

0.21461253

0.20147036

0.19012399

0.18039542

0.19247591

Sollecitazione1

N/mm^2

(MPa)

6.3805615

6.2966655

6.1938705

6.761063

5.6473005

Massa2

g

62.4

63.6

64.8

66

73.5

Nome del

componente

Unità

Scenario128 Scenario129 Scenario130 Scenario131 Scenario132

Larghezza

mm

26

27

28

29

30

Page 78: Mechanical Model for Quadcopter UAV

Univeristà degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione diTrave T

9

Spessore

mm

5

5

5

5

5

Altezza

mm

29

29

29

29

29

Spostamento1

mm

0.17870223

0.16712131

0.15718037

0.14868357

0.14134451

Sollecitazione1

N/mm^2

(MPa)

5.6533695

5.145599

5.133854

5.020054

4.950963

Massa2

g

75

76.5

78

79.5

81

Nome del

componente

Unità

Scenario133 Scenario134 Scenario135 Scenario136 Scenario137

Larghezza

mm

25

26

27

28

29

Spessore

mm

6

6

6

6

6

Altezza

mm

29

29

29

29

29

Spostamento1

mm

0.15809106

0.14718009

0.13795683

0.13007276

0.12334617

Sollecitazione1

N/mm^2

(MPa)

5.0617495

4.627392

4.815043

4.3783895

4.314088

Massa2

g

86.4

88.2

90

91.8

93.6

Nome del

componente

Unità

Scenario138 Scenario139 Scenario140 Scenario141 Scenario142

Larghezza

mm

30

25

26

27

28

Spessore

mm

6

7

7

7

7

Altezza

mm

29

29

29

29

29

Spostamento1

mm

0.1175306

0.13465936

0.12576387

0.11821787

0.11174458

Sollecitazione1

N/mm^2

(MPa)

4.1977245

4.381186

4.377112

3.9079675

4.239091

Massa2

g

95.4

98.7

100.8

102.9

105

Nome del

componente

Unità

Scenario143 Scenario144 Scenario145 Scenario146 Scenario147

Larghezza

mm

29

30

25

26

27

Spessore

mm

7

7

8

8

8

Altezza

mm

29

29

29

29

29

Spostamento1

mm

0.10622424

0.10148811

0.11771148

0.11026985

0.1039394

Sollecitazione1

N/mm^2

(MPa)

3.76910125

3.7273595

3.7491875

3.57301575

3.54167825

Massa2

g

107.1

109.2

110.4

112.8

115.2

Nome del

componente

Unità

Scenario148 Scenario149 Scenario150 Scenario151 Scenario152

Larghezza

mm

28

29

30

25

26

Spessore

mm

8

8

8

4

4

Altezza

mm

29

29

29

30

30

Spostamento1

mm

0.09852786

0.09388272

0.08988116

0.24255109

0.22420551

Sollecitazione1

N/mm^2

(MPa)

3.45237275

3.39609

3.345553

6.7985375

6.518727

Univeristà degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione diTrave T

10

Massa2

g

117.6

120

122.4

61.2

62.4

Nome del

componente

Unità

Scenario153 Scenario154 Scenario155 Scenario156 Scenario157

Larghezza

mm

27

28

29

30

25

Spessore

mm

4

4

4

4

5

Altezza

mm

30

30

30

30

30

Spostamento1

mm

0.2086766

0.19524741

0.18369063

0.17375508

0.18736176

Sollecitazione1

N/mm^2

(MPa)

6.081536

6.331444

6.2417715

5.809114

5.509791

Massa2

g

63.6

64.8

66

67.2

75

Nome del

componente

Unità

Scenario158 Scenario159 Scenario160 Scenario161 Scenario162

Larghezza

mm

26

27

28

29

30

Spessore

mm

5

5

5

5

5

Altezza

mm

30

30

30

30

30

Spostamento1

mm

0.17332293

0.16153565

0.151384

0.14269353

0.13516516

Sollecitazione1

N/mm^2

(MPa)

5.3575545

4.978848

4.8478495

4.753133

4.694936

Massa2

g

76.5

78

79.5

81

82.5

Nome del

componente

Unità

Scenario163 Scenario164 Scenario165 Scenario166 Scenario167

Larghezza

mm

25

26

27

28

29

Spessore

mm

6

6

6

6

6

Altezza

mm

30

30

30

30

30

Spostamento1

mm

0.15318417

0.14209295

0.13270049

0.12464069

0.11773423

Sollecitazione1

N/mm^2

(MPa)

4.6866285

4.4958625

4.249382

4.12722775

4.06662175

Massa2

g

88.2

90

91.8

93.6

95.4

Nome del

componente

Unità

Scenario168 Scenario169 Scenario170 Scenario171 Scenario172

Larghezza

mm

30

25

26

27

28

Spessore

mm

6

7

7

7

7

Altezza

mm

30

30

30

30

30

Spostamento1

mm

0.11176163

0.12993552

0.12090895

0.11318483

0.10659123

Sollecitazione1

N/mm^2

(MPa)

4.0060715

4.0540505

3.90214625

3.72824925

3.6344885

Massa2

g

97.2

100.8

102.9

105

107.1

Nome del

componente

Unità

Scenario173 Scenario174 Scenario175 Scenario176 Scenario177

Page 79: Mechanical Model for Quadcopter UAV

Univeristà degli studi di Trento

Matteo Ragni [134977]

19/06/2012

Analizzato con SolidWorks Simulation

Simulazione diTrave T

11

Larghezza

mm

29

30

25

26

27

Spessore

mm

7

7

8

8

8

Altezza

mm

30

30

30

30

30

Spostamento1

mm

0.10091829

0.09605732

0.11311136

0.10555935

0.09910939

Sollecitazione1

N/mm^2

(MPa)

3.57066375

3.48882775

3.62342625

3.4549285

3.34402525

Massa2

g

109.2

111.3

112.8

115.2

117.6

Nome del componente

Unità

Scenario178

Scenario179

Scenario180

Larghezza

mm

28

29

30

Spessore

mm

8

8

8

Altezza

mm

30

30

30

Spostamento1

mm

0.09355915

0.08884665

0.08474895

Sollecitazione1

N/mm^2 (MPa)

3.53204625

3.20081275

3.164884

Massa2

g

120

122.4

124.8

Page 80: Mechanical Model for Quadcopter UAV

Università degli studi di Trento

Analizz

ato

con S

olidW

ork

s Si

mula

tion

Si

mula

zione d

i Se

zione a

cro

ce

1

Sim

ulazione di

Sezione a Croce

Data: m

art

edì 19 g

iugno 2

012

Designer: M

att

eo R

agni [1

34977]

Nome studio: St

udio

pro

gett

uale

1

Tipo di analisi: St

udio

pro

gett

uale

Table of Contents

Desc

rizi

one ...

....

....

....

....

....

....

....

....

....

... 1

Sezi

one a

cro

ce ...

....

....

....

....

....

....

....

....

.. 2

Pro

prietà

dello stu

dio

....

....

....

....

....

....

....

.. 2

Unità .

....

....

....

....

....

....

....

....

....

....

....

....

2

Impost

azi

one S

tudio

pro

gett

uale

....

....

....

....

. 2

Risultati d

ello stu

dio

...

....

....

....

....

....

....

....

4

Descrizione

Tra

ve sezi

one a

cro

ce. Ott

imiz

zazi

one d

elle d

imensioni

cara

tterist

iche d

i altezz

a e

larg

hezz

a d

el bra

cci

o d

ella

croce. In

quest

o d

ocum

ento

è p

rese

nte

solo

l’u

ltim

a p

art

e

della o

ttim

izza

zione, co

n la fase

più

str

ett

a. Il report

è sta

to

genera

to a

uto

matica

mente

da S

olidW

ork

s Si

mula

tion

Università degli studi di Trento

Matt

eo R

agni [1

34977]

19/06/2012

Analizz

ato

con S

olidW

ork

s Si

mula

tion

Sim

ula

zione d

iSezi

one c

roce

2

Sezione a croce

Nome

documento

Configurazione

Percorso del documento

Data m

odifica

Sezi

one c

roce

Defa

ult

D:\Data

\Univ

ers

ità\Ingegneria M

ecc

atr

onic

a

Robotica

\Modeling

and sim

ula

tion o

f m

ech

anic

al

syst

em

s\Tesina\O

ttim

izza

zione\S

ezi

one

Cro

ce\S

ezi

one c

roce

.SLDPRT

Jun 1

9 1

1:4

5:3

3

2012

Proprietà dello studio

Nome studio

Studio

pro

gett

uale

1

Tipo di analisi

Studio

pro

gett

uale

(Ott

imiz

zazi

one)

Qualità Studio del progetto

Qualità

ott

ima (più

lento

)

Cartella Risultato

Docu

mento

So

lidW

ork

s(D:\Data

\Univ

ers

ità\Ingegneria

Mecca

tronic

a R

obotica

\Modeling a

nd sim

ula

tion o

f m

ech

anic

al sy

stem

s\Tesina\O

ttim

izza

zione\S

ezi

one

Cro

ce)

Unità

Sistema di unità:

SI (MKS)

Lunghezza/Spostamento

mm

Temperatura

Kelv

in

Velocità angolare

Rad/se

c

Pressione/Sollecitazione

N/m

^2

Impost

azi

one S

tudio

pro

gett

uale

Variabili di progetto

Nome

Tipo

Valori

Unità

B

Range c

on fase

Min

:11 M

ax:1

3 F

ase

:0.5

m

m

A

Range c

on fase

Min

:7 M

ax:9

F

ase

:0.5

m

m

Vincoli

Page 81: Mechanical Model for Quadcopter UAV

Università degli studi di Trento

Matt

eo R

agni [1

34977]

19/06/2012

Analizz

ato

con S

olidW

ork

s Si

mula

tion

Sim

ula

zione d

iSezi

one c

roce

3

Nome sensore

Condizione

Margini

Unità

Nome studio

Sollecitazi

one1

è m

inore

di

Max:1

3.8

N/m

m^2 (MPa)

Tra

ve a

cro

ce

Spost

am

ento

1

è m

inore

di

Max:0

.1

mm

Tra

ve a

cro

ce

Obiettivi

Nome

Obiettivo

Proprietà

Spessore

Nome studio

Mass

a1

Min

imiz

zare

Mass

a

10

-

Università degli studi di Trento

Matt

eo R

agni [1

34977]

19/06/2012

Analizz

ato

con S

olidW

ork

s Si

mula

tion

Sim

ula

zione d

iSezi

one c

roce

4

Risultati dello studio

27 su 2

7 sce

nari e

seguiti co

n succe

sso.

Nome del

componente

Unità

Corrente

Iniziale

Ottim

ale

Scenario1

Scenario2

B

mm

13

13

12.5

11

11.5

A

mm

10

10

7.5

7

7

Sollecitazione

1

N/m

m^2

(MPa)

2.0

26624875

2.0

26624875

3.6

2968875

4.5

658045

4.2

297295

Spostamento1

0.0

5347195

0.0

5347195

0.0

9814074

0.1

4732881

0.1

3343977

Massa1

186

186

129.3

75

107.1

111.3

Nome del componente

Unità

Scenario3

Scenario4

Scenario5

Scenario6

Scenario7

Bmm

mm

12

12.5

13

11

11.5

A

gm

m

7

7

7

7.5

7.5

Sollecitazione1

N/m

m^2 (MPa)

4.2

488005

3.7

9522675

3.4

8886275

4.1

15922

4.0

9412725

Spostamento1

mm

0.1

2127088

0.1

1050614

0.1

0103859

0.1

3014858

0.1

1810204

Massa1

g 115.5

119.7

123.9

115.8

75

120.3

75

Nome del componente

Unità

Scenario8 Scenario9 Scenario10 Scenario11 Scenario12

B

mm

12

12.5

13

11

11.5

A

mm

7.5

7.5

7.5

8

8

Sollecitazione1

N/m

m^2 (MPa)

3.8

3950475

3.6

2968875

3.1

5592025

3.7

1391275

3.4

5335325

Spostamento1

mm

0.1

0750756

0.0

9814074

0.0

8985421

0.1

1558882

0.1

0509312

Massa1

g

124.8

75

129.3

75

133.8

75

124.8

129.6

Nome del

componente

Unità

Scenario13 Scenario14 Scenario15 Scenario16

Scenario1

7

B

mm

12

12.5

13

11

11.5

A

mm

8

8

8

8.5

8.5

Sollecitazione1

N/m

m^2

(MPa)

3.2

37834

3.0

4491325

2.8

63346

3.6

46204

3.3

7887775

Spostamento1

mm

0.0

9579855

0.0

8761243

0.0

8030582

0.1

0315002

0.0

9395117

Massa1

g

134.4

139.2

144

133.8

75

138.9

75

Nome del

componente

Unità

Scenario18 Scenario19 Scenario20 Scenario21

Scenario2

2

B

mm

12

12.5

13

11

11.5

A

mm

8.5

8.5

8.5

9

9

Sollecitazione1

N/m

m^2

(MPa)

3.1

95578

2.9

8488275

2.6

08378

3.0

814185

2.8

7256975

Page 82: Mechanical Model for Quadcopter UAV

Università degli studi di Trento

Matt

eo R

agni [1

34977]

19/06/2012

Analizz

ato

con S

olidW

ork

s Si

mula

tion

Sim

ula

zione d

iSezi

one c

roce

5

Spostamento1

mm

0.0

8578294

0.0

7855781

0.0

7212436

0.0

9251177

0.0

8437292

Massa1

g

144.0

75

149.1

75

154.2

75

143.1

148.5

Nome del componente

Unità

Scenario23

Scenario24

Scenario25

B

mm

12

12.5

13

A

mm

9

9

9

Sollecitazione1

N/m

m^2 (MPa)

2.7

0282225

2.5

690435

2.5

9888575

Spostamento1

mm

0.0

7714669

0.0

707584

0.0

6504755

Massa1

g

153.9

159.3

164.7

Page 83: Mechanical Model for Quadcopter UAV

Università degli studi di Trento

Analizzato con SolidWorks Simulation

Simulazione di Sezione Rettangolare Cava

1

Sim

ulazione di

Sezione Rettangolare

Cava

Data: lunedì 25 giugno 2012

Designer: Matteo Ragni [156994]

Nome studio: Studio progettuale 1

Tipo di analisi: Studio progettuale

Table of Contents

Descrizione .......................................... 1

Sezione Rettangolare Cava ........................ 2

Proprietà dello studio .............................. 2

Unità ................................................. 3

Impostazione Studio progettuale ................. 3

Risultati dello studio ............................... 4

Descrizione

Ottim

izzazione della trave rettangolare cava. Ottim

izzazione

di tre parametri, altezza base e spessore. In questo

documento è presente solo l’ultim

a parte della

ottim

izzazione, con la fase più stretta. Il report è stato

generato automaticamente da SolidWorks Simulation

Università degli studi di Trento

Matteo Ragni [156994]

25/06/2012

Analizzato con SolidWorks Simulation

Simulazione diRettangolare Cava

2

Sezione Rettangolare Cava

Nome

documento

Configurazione

Percorso del documento

Data m

odifica

Rettangolare

Cava

Default

D:\Data\Università\Ingegneria Meccatronica

Robotica\M

odeling and sim

ulation of

mechanical

systems\Tesina\Ottim

izzazione\Rettangolare

Cava\Rettangolare Cava.SLDPRT

Jun 25 12:31:22

2012

Proprietà dello studio

Nome studio

Studio progettuale 1

Tipo di analisi

Studio progettuale(Ottim

izzazione)

Qualità Studio del progetto

Qualità ottim

a (più lento)

Cartella Risultato

Documento

SolidWorks(D:\Data\Università\Ingegneria

Meccatronica Robotica\M

odeling and sim

ulation of

mechanical

systems\Tesina\Ottim

izzazione\Rettangolare Cava)

Page 84: Mechanical Model for Quadcopter UAV

Università degli studi di Trento

Matteo Ragni [156994]

25/06/2012

Analizzato con SolidWorks Simulation

Simulazione diRettangolare Cava

3

Unità

Sistema di unità:

SI (MKS)

Lunghezza/Spostamento

mm

Temperatura

Kelvin

Velocità angolare

Rad/sec

Pressione/Sollecitazione

N/m^2

Impostazione Studio progettuale

Variabili di progetto

Nome

Tipo

Valori

Unità

Spessore

Range con fase

Min:1.4 Max:1.6 Fase:0.1

mm

Altezza

Range con fase

Min:17.8 Max:18.2 Fase:0.2

mm

Base

Range con fase

Min:26.8 Max:27.2 Fase:0.2

mm

Vincoli

Nome sensore

Condizione

Margini

Unità

Nome studio

Spostamento2

è m

inore di

Max:0.1

mm

Studio 1

Sollecitazione2

è m

inore di

Max:13.7

N/mm^2 (MPa)

Studio 1

Obiettivi

Nome

Obiettivo

Proprietà

Spessore

Nome studio

Massa1

Minim

izzare

Massa

10

-

Università degli studi di Trento

Matteo Ragni [156994]

25/06/2012

Analizzato con SolidWorks Simulation

Simulazione diRettangolare Cava

4

Risultati dello studio

29 su 29 scenari eseguiti con successo.

Nome del

componente

Unità

Corrente

Iniziale

Ottim

ale

Scenario1

Scenario2

Spessore

mm

0.6

0.6

1.4

1.4

1.5

Altezza

mm

17.2

17.2

17.8

17.8

17.8

Base

mm

25.2

25.2

26.8

26.8

26.8

Spostamento2

mm

0.22706023

0.22706023

0.07610937

0.07610937

0.06999203

Sollecitazione2

N/mm^2

(MPa)

18.57607

18.57607

7.1647475

7.1647475

6.666674

Massa1

15.696

15.696

39.816

39.816

42.84

Nome del componente

Unità

Scenario3

Scenario4

Scenario5

Scenario6

Scenario7

Spessore

mm

1.6

1.4

1.5

1.6

1.4

Altezza

mm

17.8

18

18

18

18.2

Baseg

mm

26.8

26.8

26.8

26.8

26.8

Spostamento2

mm

0.06462566

0.07453382

0.06852005

0.06330381

0.07297816

Sollecitazione2

N/mm^2 (MPa)

6.23523

7.032224

6.5893375

6.1558515

6.9968685

Massa1

g 45.888

39.984

43.02

46.08

40.152

Nome del componente

Unità

Scenario8 Scenario9 Scenario10 Scenario11 Scenario12

Spessore

mm

1.5

1.6

1.4

1.5

1.6

Altezza

mm

18.2

18.2

17.8

17.8

17.8

Base

mm

26.8

26.8

27

27

27

Spostamento2

mm

0.06711245

0.06198674

0.07562208

0.0695513

0.06421348

Sollecitazione2

N/mm^2 (MPa)

6.518461

6.093457

7.1203165

6.633831

6.199914

Massa1

g

43.2

46.272

39.984

43.02

46.08

Nome del

componente

Unità

Scenario13 Scenario14 Scenario15 Scenario16 Scenario17

Spessore

mm

1.4

1.5

1.6

1.4

1.5

Altezza

mm

18

18

18

18.2

18.2

Base

mm

27

27

27

27

27

Spostamento2

mm

0.07407039

0.06807843

0.06290845

0.07253393

0.06669274

Sollecitazione2

N/mm^2

(MPa)

7.0350325

6.555144

6.125087

6.9545165

6.471719

Massa1

g

40.152

43.2

46.272

40.32

43.38

Nome del

componente

Unità

Scenario18 Scenario19 Scenario20 Scenario21 Scenario22

Page 85: Mechanical Model for Quadcopter UAV

Università degli studi di Trento

Matteo Ragni [156994]

25/06/2012

Analizzato con SolidWorks Simulation

Simulazione diRettangolare Cava

5

Spessore

mm

1.6

1.4

1.5

1.6

1.4

Altezza

mm

18.2

17.8

17.8

17.8

18

Base

mm

27

27.2

27.2

27.2

27.2

Spostamento2

mm

0.06160806

0.07518091

0.06911332

0.06382501

0.07362358

Sollecitazione2

N/mm^2

(MPa)

6.053096

7.084602

6.5904435

6.1196725

6.941991

Massa1

g

46.464

40.152

43.2

46.272

40.32

Nome del

componente

Unità

Scenario23 Scenario24 Scenario25 Scenario26 Scenario27

Spessore

mm

1.5

1.6

1.4

1.5

1.6

Altezza

mm

18

18

18.2

18.2

18.2

Base

mm

27.2

27.2

27.2

27.2

27.2

Spostamento2

mm

0.06767169

0.06251829

0.07206156

0.06629116

0.06122446

Sollecitazione2

N/mm^2

(MPa)

6.5144185

6.092531

6.9117895

6.4401555

6.0199545

Massa1

g

43.38

46.464

40.488

43.56

46.656

Page 86: Mechanical Model for Quadcopter UAV

Modeling and Simulation of Mechanical Systems - Master Degree Course

Contents

I Project report 2

1 Introduction 2

2 Customer requirements 2

3 Benchmark 2

4 Technical specifications 3

5 Targets, goals and parameters 4

6 Mechanical system model and simulation 46.1 System simplifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46.2 Kinematic approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56.3 Force modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56.4 System mechanical model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

7 Result discussions 8

8 Optimization 8

9 Conclusions 9

II Attachments 10

10 Complete QFD Diagram 10

11 CAD Model 12

12 Maple script 14

13 CFD Simulation for aerodynamic drag coefficients 5913.1 Simulation images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5913.2 Coefficients interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

14 Optimization: numeric simulations 65

References

[1] P.J. Bristeau, P. Martin, E. Salaun, N. Pedit,The role of propeller aerodynamics in the model ofquadrotor UAV, 2009, Procedings of the European Control Conference, 683-688

[2.a] Propeller coefficients database

[2.b] Brandt, J.B. and Selig, M.S., Propeller Performance Data at Low Reynolds Numbers, 2011, 49thAIAA Aerospace Sciences Meeting, AIAA Paper 2011-1255

[3] P. Castillo, R. Lozano, A. Dzul, Stabilization of a Mini Rotorcraft with Four Rotors, 2005, IEEEControl Systems Magazine, 46-55

Mechanical Model for Quadcopter UAV — 86