Você está na página 1de 86

Universit` a degli Studi di Trento

` DI INGEGNERIA FACOLTA Course: Modeling and Simulations of Mechanical Systems

Course Project Report

Mechanical Model for Quadcopter UAV

Candidato:

Matteo Ragni
Matricola 156994

Anno Accademico 2011-2012

Modeling and Simulation of Mechanical Systems - Master Degree Course

Part I

Project report
1 Introduction
The goal of this report is to dene an iterative procedure that can be used to reach a good project of a quadcopter for aggressive maneuvers; this means low tolerance to wind interference, high accelerations and an automatic control for stabilization. As we will see from QFD interviews, this type of quadcopter is the most requested from typical customers. To reach all those objectives, is important to dene a good, ro#. Customer requirements KIdx bust and complete dynamic model, obtained through 1. It adapts to environmental conditions 0.33 quaternions formulation. Force models for propeller are derived from ex2. It has an human/sensors interface 0.26 perimental data and aerodynamic force are obtained 3. It is easy to assemble/repair/transport 0.22 through numeric simulations (CFD). Inertial values are acquired from an unbalanced, as a real object, CAD 4. It has an attractive aspect 0.21 model. In section 8 is shown how to optimize quad5. It travels at high speed 0.17 copter frame, to lower as much as possible total weight, 6. It has propellers blades protections 0.11 via analytical or numerical (FEM) simulations. Must be taken into account that even the more rened model 7. It has elements in recycled materials 0.06 cannot provide perfect solutions against bad formed propeller or too high wind interference. Table 1: Customer requirements and relative ranks (KIdx
stands for Kano index)

From interview we have extracted 7 main customer requirements. Relative importance for each customer requirements was judged by Kano method, through further interviews formed byfeel if [requirement] implemented/not implemented questions. Results of those two interviews are summed up in Table 1. Records in magenta will not be further considered to get a simpler problem.

Some of those requirements import several issues in our model approach. The rst requirement, for an The rst question we have to take into account is: who example, changes air density value that must be considare costumers? We can identify four possible main cos- ered for force models ( 3 @1000mslm = 1.112 kg/m ), and tumers, whose requirements have to be deeply consid- also changes the automatic control approach that must ered: be persecuted to stabilize the system. The third and sixth requirements have several implications on frame hobbyist; design and weight. Beside what was expected, cus scientist whom uses quadcopter for geophysical tomers do not bother about quadcopter life-time. logging;
scientist whom uses quadcopter for research in automation controls and robotics; assembler for ready-to-y quadcopter.

Customer requirements

Benchmark

With our simulation of QFD, we succeeded to collect requirements from the rst type of costumers (hobbyist) through interviews1 . In the interview were 19 multiple-choice questions plus an open question about functional behavior of an hypothetical quadcopter.

In this section we compare what market already offers against our customer requirements. Beside all DIY prototypes and kits that are available, I have selected three dierent model:
Parrot A.R. Drone; Xenus L; Anteos L.

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

Mechanical Model for Quadcopter UAV 2

Modeling and Simulation of Mechanical Systems - Master Degree Course

If rst and second can be considered as toys, the last one diers for dimensions and aims. In fact Anteos L is an high payload stable quad rotor used for professional, low cost lming and geophysical logging. It requires a specic license and its ights must be approved by nearest control tower. Benchmark are made summing up data collected from companys sites and specic forums (AeroQuad, Mikrokopter.de, etc...). In fact, results compared to customers requirements are made by customers themselves. Table 2 summarizes results: C.R. Model P 1. 2. 3. 4. 5. 6. 7. Score
P

of customer requirements. Some of those specications are related each other, with positive or negative relations. In case there is a negative relation, a trade o between two specication must be found, as function of their relative importance. Table 4 summarizes this last aspect. Specication A. Mass B. Hor. Area C. Ver. Area D. Z C. of mass E. Z Speed F. XY Speed G. Stall angle H. RF Channels I. Arms length J. Max current K. Tight. torque L. Thrust force M. Drag torque
1 low impact 3

X 3 3 2 2 4 1 1 2.55
X

A 4 3 2 2 5 1 1 2.92
Xenus L; A Anteos L.
1 2 3 4 5

2 5 4 5 3 3 3 3.61

Requirements 1. 2. 3. 4. 9 9 3 9 3 3 9 3 1 9 3 3 3 3 9 9 9 3 3 3 3 1 9 9
medium impact 9

5. 3 3 3 9 9 9 9 3 9 9 9

6. 9 3 1 3 3 3

7. 9 1 1

9 9

3 3

strong impact

Table 3: Technical specications

Parrot A.R. Drone;

Table 2: Benchmark results

Stall angle stands for maximum inclination along propeller plane at which maximum propeller force is enough to balance system weight. A. M. L. I. G. F. E. D. C. B. B. C. D. E. -1 9 F. 9 9 G. 9 1 I. L. 9

Parrot A. R. Drone, that is product for hobbyist market, seems to be prototype that responds better to our customers requirements.

Technical specications

Customer requirements cannot be used for solutions comparison, so we need to provide a list of technical specications. Each customer requirement generates one or more technical specications that can be in competitions with others. Table 4 summarizes specications against customer requirements. Records in magenta will not be further considered to get a simpler problem. For example, consider z coordinate of center of mass. This value should be under plane identied by set of propellers barycenter. In this case, system can be approximate to a simple pendulum. If z coordinate is above the plane, system can be easily approximated to an inverse pendulum, so stability becomes a very hard aim to reach. It is easy to understand why weight has a so strong impact on many

3 -1 -1 -1 9 9
-1 3

3 -1

3 3 -1

Negative relation Relative relation

1 9

Low relation Strong relation

Table 4: Relative technical specications relations

One can note strong relations between thrust force and drag force. This relation derives from aerodynamic local force generated by propellers rotation, from witch both phenomena track their origin. If we desire a great thrust force, we have also to face against a great drag Mechanical Model for Quadcopter UAV 3

Modeling and Simulation of Mechanical Systems - Master Degree Course

torque, that in many cases acts as a disturbance on systems stability.


CB L_M

Now that we have clearly dened specications, we can dene some targets for our system. Strong relations allow us to reduce total number of goals to some that are fundamentals.
z

Z_CB

Targets, goals and parameters

Ra

diu

Propriet Massa xG yG zG Lxx Lyy Lzz Lxy

Valore 2625.40 -8.79 3.65 1.57 60666424.25 60677857.88 120000774.39 1491.78 284.59 3001.50

Unit g mm

Specication Mass Stall angle Z Speed

Target m 3.5 kg stall 45 z 20 m/s

g mm^2

Lxz Lyz

Figure 1: Quadcopters main parameter from CAD model

Table 5: Targets

Mechanical system model and

Those targets imply all others specications, as simulation thrust force or dimensions. In fact, those others can be used as parameters for system design. Constrains on Mechanical modeling is done in Maple using MBmass implies maximum frame volume, batteries, and, Symba r6 and other packages. Analysis will proceed therefore, constrains on maximum length or shape for in this way: rst of all there are some considerations propellers arms. A list of possible parameters are: about system simplications. Then the chosen kinematic approach will be explained. System of force will propellers arms length: L; be analyzed deeply. At last point, will be sketched a simpler dynamic system to understand what was done to dene Maple model. propellers arms shape (2 or 3 parameter, used in optimization);

6.1
propellers radius and average cord: Rpropeller and cavg ; materials used;

System simplications

and so on. Some parameters can be seen in gure 1. It is obvious that this set of targets is not sucient to get a stable systems, and other parameters should be set about closed-loop control system (such as input errors and settlement times on each controlled variable), but in this document will not be examined thoroughly. In table reported in section 10 all QFD results discussed from section 2 to section 5 are summed up into house of quality diagram.

There are a lot of simplications, and not all of them can be proofed only with computer modeling. First of all, we have a clash between a sti problem (angular speed of propellers too fast w.r.t. central system body angular speed) and a very complex set of equations. Solutions can be found only with an huge use of memory2 , so we have decided to neglect propellers inertial eects in the model. This assumption is not new to quadcopter modeling and was often gave as standard assumption in literature [1, 3]. There are many approximations in aerodynamic model for propeller force and torque, most of them derived from limit interpretation of [1] equations. Those simplied equations should be proved experimentally to be conrmed. Experimental data are derived from

2 With my computer, Maples garbage collector system always reached threshold value during numeric integration with sti option set to true, interrupting computations.

Mechanical Model for Quadcopter UAV 4

Modeling and Simulation of Mechanical Systems - Master Degree Course

online database and compared with unocial data collected by hobbyist. The last strong simplication regards propellers arms deections. Shape of arms is optimized to grantee a total deection littler than 0.1 mm, enough to consider the central body as rigid.

Propeller force distribution

FT

0.7

6.2

Kinematic approach

System is composed by a single rigid body with 6 degrees of freedom, 3 translations {x(t), y (t), z (t)} and MD 3 rotations, dened by a quaternion vector: q = {q0 (t), q1 (t), q2 (t), q3 (t)}, so reference system is in form (equation 4.1 in Maple script, variable TMquad): Figure 2: Propeller forces and aerodynamic force distribution

[T M ] = 0 R33 (q ) 0

x(t) y (t) z (t) 0 1

(1) As suggested in [1], thrust force and drag momentum are the major eect that must be taken into account. Bending momentum, even if present on a single blade of propeller, is balanced by bending momentum on the opposite blade, so its eects on central body can be neglected. From equations of lift and drag coefcients, and inversion of those denitions, it is possible to nd an expression for lift force and drag momentum. To get numeric values, we can suppose that with an extreme approximation, to get a stall angle greater than 45 with a mass of 3 kg , propeller must impose a force of: F T 1/4 3 kg g cos(45) = 5.3 N at low angular speed. This means that we can select as initial type of propeller an AP C 13 63 , and its value of lift and drag coecients are tabulated online at [2.a] and how data is collected is explained in [2.b]. Experimental data are interpolated with an exponential function, and interpolation results can be seen in gure 3. Thrust force and drag momentum are dened as functions of angular ratios: FT ( ) =

Origin of reference is in system center of mass. For a simpler denitions of force, another reference system is dened in the geometrical center of quadcopter (TMquad2). The use of quaternions grants complete absence of singularities, that can occurs during aggressive maneuver. All functions necessary to make computation with quaternion are dened in the rst part of the script.We need to add to all set of equation a constraint about quaternion:
2 2 2 2 |q | = q0 + q1 + q2 + q3 =1

(2)

This equations is implicitly used to get a simplication and maintains system an ODE type. Representation of reference system is portraited in gure 7.

1 CL ( ) S v 2 = 2 1 = CL ( ) (R cavg ) (.7 R )2 (3) 2 6.3 Force modeling 1 MD ( ) = CD ( ) S v 2 (.7 R) = 2 There are three main forces that must be modeled. 1 The rst one, and simpler, is gravitational force, and = CD ( ) (R cavg ) (.7 R )2 (.7 R) (4) 2 dened in the script by gravity variable. The second force is propeller thrust and propeller drag. If we To validate model we have compared results of force w.r.t. some experimental data retrieved from forums consider a single propeller:
3 There are two type of propeller: clockwise and anticlockwise, used to balance drag torque. For anticlockwise propeller only and M D change signs. F T is positive in both cases.

Mechanical Model for Quadcopter UAV 5

Modeling and Simulation of Mechanical Systems - Master Degree Course

and collected by hobbyist, in gure 4. Our model is only compared with, and not based upon, because those data cannot be veried.

follow the same behavior of propeller force, but a value of drag coecient must be provided in function of our system shape. To obtain a numeric value, we can try to make a CFD simulation4 of the body (see section 13), for dierent airow speed. Using principle of conservation of linear momentum for uids, we can approximate coecient with: C= p 1 2 v 2 (5)

where p is pressure drop of airow due to presence of model in simulated wind gallery. Coecient for xz plane and yz plane can be considered equal, due to model symmetry. With CAD model is easy also to evaluate exposed surface to uid impact. Results of simulations are presented in gure 5 and in gure 6 are presented aerodynamic forces, evaluated with next equations:
Figure 3: Cd and Cl interpolation
z Fwind i Fwind

= =

vz |vz | v i |v i|

1 z 2 Cxy Sxy ( vz vwind ) (6) 2 1 i 2 Ciz (7) Siz (v i vwind ) 2 i {x , y }

Figure 4: Force model and Drag torque compared to experimental data. Propeller reactions are intended only positive.

The last force that must be modeled is force that apparent wind, as dierence between system speed and wind speed, generates on quadcopter. To get an easier formulation, aerodynamic force components are dened in systems reference frame. Aerodynamic forces
4 Aerodynamic

Figure 5: Wind coecients Cxy and Ciz

simulation are done by SolidWorks Flow Simulation.

Mechanical Model for Quadcopter UAV 6

Modeling and Simulation of Mechanical Systems - Master Degree Course

z(t), w(t), y(t),w3 (t) g MD( i i)


Fw in d

g) FT( i i

x(t), u(t), f(t),w1(t) 1


mg

3 gi (t)

Ground Z
Ground Y

Ground 0

Ground X

y(t), v(t), m(t),w2 (t)

Figure 7: Force and kinematic Figure 6: Aerodynamic forces

With this last one we have completed forces modeling, and we can focus on model of the system. From the scheme in gure 7 we can derive a simplied version of equations of motion dened in system center of mass:

6.4

System mechanical model

Once dened model of forces, dynamic system model is quite simple, and is obtained through an application of Newton-Euler equation to our system model. We can use formulations of velocity and angular accelerations to get down order equations, necessary to solutions of dynamic second order dierential equations. Angular accelerations and barycentric velocities are derived from solutions of this two equations: u(t) v (t) [T M ] G [T M ] z (t) 0 0 dq 1 x (t) Q(q ) y (t) dt 2 z (t)

i F Ti + Fw + ( M D + Li F Ti ) + 0 Fw i i mI 0 u 0 + (10) 0 J J

(8)

(9)

with implicit substitutions of quaternion constraint 2.


5n equations = 6 + 4 + 3 = 13, with 6 For simplicity, quaternions values

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 and from a set of 8 parameter: 4 angular speed of propeller and 3 wind velocities in absolute frame. As already said, system is not stable and should be linearized to dene a control law (system diverge from stable condition in less than 2 s): here is plotted an example of positions of quadcopter after 1 s and 3 s6 .

implicit declaration of Eq. 2, for nunknows = dim(x, u, q, }) = 3 + 3 + 4 + 3 = 13. are returned in Euler angles.

Mechanical Model for Quadcopter UAV 7

Modeling and Simulation of Mechanical Systems - Master Degree Course

Stall angle, as it has been dened, is strictly connected to thrust force that propellers is able to impose: as our propeller can potentially reach 15 N of thrust, we can approximate a stall angle of 60, that follows our specications indication. With some test performed using DAlembert principle we have found that with propeller angular speed set {1 = 424, 1 = 431, 1 = 448, 4 = 441} s1 system can perform a stationary ight with vertical speed z 20 m/s. Even in this case, stationary ight is not stable.

8
Figure 8: Solutions

Optimization

Structural optimization aims to minimize mass o overall system. In the rst version of analysis, we selected ABS, a plastic polymer, for central body frame. Once note propeller force and torque, it was obvious that this material has a too low Youngs module, so deections were too high, against our hypothesis of rigid body. To maintain this hypothesis, only for the central part of the frame, material selection passed to an aluminum alloy. Optimization is done considering minimization of mass, with constrains of deection and yield stress: min (Al L A) 1 P L3 3 E Jx M Jy
Figure 9: Quadcopter position simulation
2

= W L 3000 Y Al sf (11)

+
2

1 M L2 2 E Jy PL Jx
2

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

Result discussions

It is time to discuss our results in comparison with technical specications. With this initial solution, even if our system is not been already optimized, it can maintain its overall mass lighter than target value (2.62 kg 3.5 kg ). This is the most important technical parameter, and is fundamental to reach this target.

were d is maximum stress point distance from area barycenter and sf = 2 is a security factor. Analytical solutions is performed only for hollow circular shape and H section beam. For the other shape, solution are performed using SolidWorks Simulation and SolidWorks Design Tools, in which better solution is searched through a discrete set of conguration. Because of Simulation take into account of gravity, results seems to be a little dierent, but we have considered that phase littler than 0.1 mm are insignicant for a real model. The next gure summarize optimization problem: Mechanical Model for Quadcopter UAV 8

Modeling and Simulation of Mechanical Systems - Master Degree Course

Num.Sol. a = 12.5 b = 7.5

Num.Goal W = 129.375 = 0.098 = 3.488

Table 9: Solution 4
A A

SEZIONE A-A

Num.Sol. b = 26.8 s = 1.4 h = 17.8


h s

Num.Goal W = 39.816 = 0.076 = 7.164

Di

b a b s

Table 10: Solution 5

h SOLUTION 1 SOLUTION 2

s SOLUTION 3 SOLUTION 4

b SOLUTION 5

Figure 10: Optimization shapes considered, with parameters.


7

The best solution seems to be the number 5, with dimensions specied in Table 10.

Conclusions

Next tables summarize results for optimization . Analytical studies can be found in latter pages of maple The aim of this document was, previous than dene a script, numerical studies are in attachments, as auto- complete model, nd an iterative procedure that can be used to project a good quadcopter for aggressive matically generated SolidWorks reports. maneuvers. Thats why, in model denition, we have used quaternions for rotation, and thats why we have Num.Sol. An.Sol. Num.Goal An.Goal imposed so extreme technical specications on speed Di = 32 31.30 W = 118.99 130.91 and stall angle. This procedure, however, lacks of the s = 1.4 1.51 = 0.099 0.099 fundamental automatic control analysis, but also shows = 2.845 2.639 how it is possible with some iteration optimize model to lower mass, that is a crucial objective. It allows us Table 6: Solution 1 to change type of propeller (rst choice that we have done, even before denition of mechanical model), and generates a complete new set of constraints, even in opNum.Sol. An.Sol. Num.Goal An.Goal timization procedure (because of change of maximum a=4 5.75 W = 255.96 376.95 load). Main limit of mechanical model presented is in b = 34 35 = 0.097 0.100 the automatic code generated for quadcopter electronh = 19 22.44 = 4.126 2.715 ics, because of the incredibly complex equations that quaternions algebra generates, dicult to be evaluated Table 7: Solution 2 by a simple -controller. An improvement of this analysis must consider the automatic control. Num.Sol. s=7 a = 30 b = 30 Num.Goal W = 111.3 = 0.096 = 3.488

Table 8: Solution 3

7 Dimensions

are in mm. Deections are in mm. Mass is in g . Stress is in M P a.

Mechanical Model for Quadcopter UAV 9

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, described in sections 2, 3, 4 and 5.

Mechanical Model for Quadcopter UAV 10

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 to retrieve inertial data for mechanical studies, and it was modied to follow better technical specications. What is presented is only the last version, and it lacks only of structural optimization alterations.

Mechanical Model for Quadcopter UAV 12

1 5 6

ABS Propellers' protections

12 windings, ball bearings

330

Aluminum Central Frame


Aluminium propeller holder

Chemistry LiPoly Rating 7.4V 3.3Ah Weight 207 g Discharge 108.9 A Desire 33c LiPo Batt APC13x6

300

EECS 20A
C

Microcontroller ARM

SEZIONE B-B
TITOLO:

MK3638 Current RPM/V Thrust max Shaft Weight

20A 770 rpm/V 2200 g 4 mm 125 g

Quadcopter CAD Model


N. DISEGNO

Disegno 5
3 4
SCALA:1:10
PESO: 2.6254 Kg

A4
1 DI 1

Matteo Ragni [156994]

Modeling and Simulation of Mechanical Systems - Master Degree Course

12

Maple script

This section contains the attached Maple script in which is dened the mechanical model of quadcopter and its linearization for further automatic control and stabilization analysis. In last section of script there is analytical optimization for two section shape.

Mechanical Model for Quadcopter UAV 14

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 (1.1.1)

Tools Declarations
In 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)):

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 Solver


Solve 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:

Dynamic2d
The next procedures evaluate NE equations of a 2D body (3 equations of second order, N: x and y 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:

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 Algebra
In 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|^2 abs2_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|^2 inverse_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 q1 q2 q3 << < < < end: # Multiplicative conjugate matrix # QC(q) QC_quat := proc(q) local q0,q1,q2,q3: := := := := q0 q1 q2 q3 q[1]: q[2]: q[3]: q[4]: | -q1 | -q2 | -q3 >, | q0 | -q3 | q2 >, | q3 | q0 | -q1 >, | -q2 | q1 | q0 >>;

q0 q1 q2 q3 << < < < end:

:= := := := q0 q1 q2 q3

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

# 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 constrain rotation_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 matrix extract_rotation_matrix_quat := A -> A[2..4,2..4]: # Creates a frame given a quaternion and a origin position TM_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 XYZ EulerZYX2Quat_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:

# Returns an Eulerian rotation from a quaternion that respects contraint Quat2EulerXYZ_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 procedures Procedure 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 := "RoyalBlue", ["DarkOrange", "MidnightBlue","OrangeRed",

"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 3D


> drawMech3D := 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)):

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 polyedron


This 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], # # # # #

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 quadcopter


This 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,

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 Data
In 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|

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; (2.1)

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 (and not 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: notice that 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:

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 CDPropDB := [seq(ProbdDBData13x6[i][2],i=1..16)]: := [seq(ProbdDBData13x6[i][3],i=1..16)]:

(3.2.1)

> # 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=

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

CLift

CDrag

200 300 400 500 600 w

200 300 400 500 600 w

Experimental Spline interpolation

Experimental Spline interpolation

> # Definition of the force FLift and MDrag: FLift2 := omega -> 0.50 * 0.7^2 * rho * CLift(omega) * omega^2 * Radius^3 * CordAvg: # N MDrag2 := omega -> 0.50 * 0.7^3 * rho * CDrag(omega) * omega^2 * Radius^4 * CordAvg: # N*m FLift174omega := 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)]));

FLift(omega) 16 14 12 10 8 6 4 2 0 0 100 200 300 400 500 600 w 0

MDrag(omega)

0 100 200 300 400 500 600 w

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:

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 function PARAM_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 solver LSSolve: calling solver for linearly-constrained linear least-squares problems LSSolve: number of problem variables 2 LSSolve: number of residuals 16 LSSolve: number of general linear constraints 0 LSSolve: feasibility tolerance set to 0.1053671213e-7 LSSolve: iteration limit set to 50 LSSolve: infinite bound set to 0.10e21 LSSolve: number of iterations taken 1 LSSolve: final value of objective 0.949277992106190486e-5

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

CDrag Approximation

CLift Approximation

0 100 200 300 400 500 600 700 w

0 100 200 300 400 500 600 700 w

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

(3.2.2) 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): # Constant Voltage := 16: # [V] < 'Current'| 'Thrust' >; MikroKData;

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)]:

(3.2.3)

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)"

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

FLift(omega) 16 14 12 10 8 6 4 2 0 0 100 200 300 400 500 600 w 0 1

MDrag(omega)

MikroKopter experimental data FLift FLift approx

0 100 200 300 400 500 600 w

MDrag MDrag approx

Errore FLift(omega)

Errore MDrag(omega)

0 100 200 300 400 500 600 w 0 100 200 300 400 500 600 w

Errore % FLift(omega) 1 1

Errore % MDrag(omega)

0 100 200 300 400 500 600 w

0 100 200 300 400 500 600 w

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 surface of 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] +

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

) / 4; + + + ) / 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])]));

CwindXY

CwindZY

0 0 5 10 x 15 20 25

0 0 5 10 x 15 20 25

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);

2 x

> # 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);

Wind force

10

20 v

40

FwindX/Y

FwindZ

Quadcopter Modeling
> def_quat := true: # TRUE: Quaternion formulation. FALSE: Euler angle formulation

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

> 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;

(4.1) 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(

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) = .3)] union [ seq( diff(Position[i],t,t) [i],t), i=1..3)]; PhiAngRatio_subs := [ seq( diff(Angle[i],t,t) [i],t),i=1..3) ] union [ seq( diff(Angle[i],t) = 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; x_dot[i], i=1. = diff(x_dot = diff(AngRatio AngRatio[i],i=

(4.2)

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 P1 (+x) P2 (-y) P3 (-x) P4 (+y) Rule sign + + -1^(i+1)

FProp + + + + +

Tprop + + -1^(i)

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

########################### > ### PROPELLER FORCE ### for i from 1 to 4 do: ForceP||i := make_FORCE( make_VECTOR( TMquad2, 0, 0, FLiftApprox( gamma||i(t) )),

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) ]; (4.3) > ### 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 - QUADCOPTER EXTERNAL FORCES: 2 - FWind 3 - ForceP1 4 - ForceP2 5 - ForceP3 6 - ForceP4 WARNING: the following objects will not appear in the equations of motion: 7 - TorqueP1 8 - TorqueP2 9 - TorqueP3 10 - TorqueP4 ------ EULERO ------

BODIES: 1 - QUADCOPTER EXTERNAL FORCES: 2 - FWind 3 - ForceP1 4 - ForceP2 5 - ForceP3 6 - ForceP4 EXTERNAL 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; (4.4) > 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;

Computation DONE! Time: 4.009000 seconds

0 1 2 t 3 4 5

> solZ(parameters); (4.5) > 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;

x, y, z

0 1 2 t 3 4 5

0 0 1 2 t 3 4 5

0 0 1 2 t 3 4 5

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

q2

q3

q4

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

37.674 true

(4.6)

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)];

(5.1) 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.

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 solver NLPSolve: using method=sqp NLPSolve: number of problem variables 17 NLPSolve: number of nonlinear inequality constraints 4 NLPSolve: number of nonlinear equality constraints 0 NLPSolve: number of general linear constraints 0 NLPSolve: feasibility tolerance set to 0.1053671213e-7 NLPSolve: optimality tolerance set to 0.3256082241e-11 NLPSolve: iteration limit set to 91 NLPSolve: infinite bound set to 0.10e21 NLPSolve: trying evalhf mode NLPSolve: trying evalf mode NLPSolve: calling NLP solver NLPSolve: using method=sqp NLPSolve: number of problem variables 17 NLPSolve: number of nonlinear inequality constraints 4 NLPSolve: number of nonlinear equality constraints 0 NLPSolve: number of general linear constraints 0 NLPSolve: feasibility tolerance set to 0.1053671213e-7 NLPSolve: optimality tolerance set to 0.3256082241e-11 NLPSolve: iteration limit set to 91 NLPSolve: infinite bound set to 0.10e21 NLPSolve: trying evalhf mode Warning, limiting number of major iterations has been reached attemptsolution: number of major iterations taken 91

NLPSolve: calling NLP solver NLPSolve: using method=pcg NLPSolve: number of problem variables 17 NLPSolve: optimality tolerance set to 0.3256082241e-11 NLPSolve: iteration limit set to 85 NLPSolve: trying evalhf mode attemptsolution: number of major iterations taken 48 (5.2)

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);

(5.3)

(5.3)

> PrintSystem(LINEAR_SYSTEM[1]);

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

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

list

(5.5) 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):

'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';

(5.6) 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,

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) gamma2(t) gamma3(t) gamma4(t) = = = = u1, u2, u3, u4];

(5.7) > 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"

(5.8)

For a simply stable system.

Optimization: shape selection and dimensions optimization for frame beams


There is an example of structural optimization for two shape. > DataMin := [ P = 15, M = 1500, L = 300, E = 69000, Density = evalf(2700*1000/10^9), delta = 0.1, #epsilon = 0.1, sigma[Amm] = 13.8 ]; # # # # # # # # N N mm mm MPa g/mm^3 mm mm MPa (6.1)

> # Minimizing function MinimizeIT := (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)) })); (6.2)

> 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);

(6.3) > #################### Sezione 1: Circular empty shape beam ###################### # Dimensions Parameter1 := {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; # Shape Shape1 := {s>=0,s>=Di/20}; # Value Weight1 := FWeight(Area1); Deflection1 := FDeflection(Ix1,Iy1); Payload1 := FPayload(dg1,Ix1,Iy1);

(6.4) > MinimizeIT(Weight1,Deflection1,Payload1,Shape1); NLPSolve: calling NLP solver NLPSolve: using method=sqp NLPSolve: number of problem variables 2 NLPSolve: number of nonlinear inequality constraints 2 NLPSolve: number of nonlinear equality constraints 0 NLPSolve: number of general linear constraints 2 NLPSolve: feasibility tolerance set to 0.1053671213e-7 NLPSolve: optimality tolerance set to 0.3256082241e-11 NLPSolve: iteration limit set to 50 NLPSolve: infinite bound set to 0.10e21 NLPSolve: trying evalhf mode attemptsolution: number of major iterations taken 29 (6.5) > ############# Section 2: I Shape Beam ##################

> # Dimensions Parameter2 := { 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); # Shape Shape2 := {b>=20, h>=20, a>=1, a<=6, b<=35, h<=35}; # Value Weight2 := FWeight(Area2); Deflection2 := FDeflection(Ix2,Iy2); Payload2 := FPayload(dg2,Ix2,Iy2);

(6.6)

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

Modeling and Simulation of Mechanical Systems - Master Degree Course

13

CFD Simulation for aerodynamic drag coecients

In this section there are several images that portrait CFD simulation made with SolidWorks Flow Simulation. Simulation is made considering model xed inside a CAD model of a wind gallery with radius greater than 1 m (big enough to not consider gallery boundaries eect), in which a dened airow impacts on surface of the model. On the plane in which is evaluated drag coecient there is a contour plot for global pressure. On the other plane, there is a contour plot of local velocities.

13.1

Simulation images

Figure 11: Simulation XY 1: v = 4.759 ms1

Mechanical Model for Quadcopter UAV 59

Modeling and Simulation of Mechanical Systems - Master Degree Course

Figure 12: Simulation XY 2: v = 9.590 ms1

Figure 13: Simulation XY 3: v = 14.385 ms1

Mechanical Model for Quadcopter UAV 60

Modeling and Simulation of Mechanical Systems - Master Degree Course

Figure 14: Simulation XY 4: v = 19.180 ms1

Figure 15: Simulation IZ 1: v = 4.790 ms1

Mechanical Model for Quadcopter UAV 61

Modeling and Simulation of Mechanical Systems - Master Degree Course

Figure 16: Simulation IZ 2: v = 14.371 ms1

Figure 17: Simulation IZ 3: v = 19.161 ms1

Mechanical Model for Quadcopter UAV 62

Modeling and Simulation of Mechanical Systems - Master Degree Course

Figure 18: Simulation IZ 4: v = 23.952 ms1

13.2

Coecients interpolation

Mechanical Model for Quadcopter UAV 63

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 congurations results for each solution are summarized.

Mechanical Model for Quadcopter UAV 65

Universit degli studi di Trento

Matteo Ragni [134977] 19/06/2012

Universit degli studi di Trento

Trave a sezione circolare cava


Configurazione Default D:\Data\Universit\Ingegneria Meccatronica Robotica\Modeling and simulation of mechanical systems\Tesina\Ottimizzazione\Sezione Circolare\SezioneCircolare.SLDPRT Nome documento SezioneCircolar e Percorso del documento Data modifica Jun 18 19:54:11 2012

Simulazione 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 Propriet dello studio


Nome studio Tipo di analisi Qualit Studio del progetto Cartella Risultato Studio progettuale 1 Studio progettuale(Ottimizzazione) Qualit ottima (pi lento)

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. Ottimizzazione del diametro interno e dello spessore della sezione. In questo documento presente solo lultima parte della ottimizzazione, con la fase pi stretta. Il report stato generato automaticamente da SolidWorks Simulation

Documento SolidWorks(D:\Data\Universit\Ingegneria Meccatronica Robotica\Modeling and simulation of mechanical systems\Tesina\Ottimizzazione\Sezione Circolare)

Analizzato con SolidWorks Simulation

Simulazione di Sezione Circolare

1
Analizzato con SolidWorks Simulation Simulazione diSezioneCircolare

Universit degli studi di Trento Matteo Ragni [134977] 19/06/2012

Universit degli studi di Trento

Matteo Ragni [134977] 19/06/2012

Unit
68 su 68 scenari eseguiti con successo. Nome del componente
Spessore Diametro Interno Sollecitazione1 Massa1 Spostamento1 mm mm psi g mm 1.4 30 0.12143169 111.865 610.42446009 2 32 0.07178218 173.039 405.84108037

Risultati dello studio

Sistema di unit:

SI (MKS)

Lunghezza/Spostamento Unit Corrente Iniziale

mm

Temperatura

Kelvin

Ottimale
1.4 32 0.09950787 118.99 846.6258128

Velocit angolare

Rad/sec

Pressione/Sollecitazione

N/m^2

Impostazione Studio progettuale


Unit
mm mm Spessore Diametro Interno Spostamento1 Sollecitazione1 Massa1 mm mm mm psi g 1.4 30 0.12143169 610.42446009 111.865

Nome del componente

Unit

Scenario3

Scenario4

Scenario5

Scenario6

Scenario7

Variabili di progetto

Nome

Tipo

Valori

Spessore

Range con fase

Min:1 Max:2 Fase:0.2

1.6 30 0.10969349 576.73658102 128.66

1.8 30 0.09706627 518.48442177 145.658

2 30 0.08577904 455.45167365 162.86

1 30.2 0.16122306 1284.9944703 79.3943

Diametro Interno

Range con fase

Min:30 Max:32 Fase:0.2

Nome del componente

Unit

Scenario8

Scenario9

Scenario10

Scenario11

Scenario12

Vincoli Unit
mm psi Studio 1 Studio 1

Nome sensore

Condizione

Margini

Nome studio

Spostamento1

minore di

Max:0.1

Spessore Diametro Interno Spostamento1 Sollecitazione1 Massa1 mm mm mm psi g

1.2 30.2 0.13608423 707.94449903 95.8839

1.4 30.2 0.11326159 588.10260837 112.577

1.6 30.2 0.10750383 566.30582952 129.474

1.8 30.2 0.09540702 503.15186611 146.574

2 30.2 0.08426337 450.56984844 163.878

Sollecitazione1

minore di

Max:2001.5207798

Nome del componente

Unit

Scenario13

Scenario14

Scenario15

Scenario16

Scenario17

Obiettivi Nome studio


-

Nome

Obiettivo

Propriet

Spessore

Massa1

Minimizzare

Massa

10

Spessore Diametro Interno Spostamento1 Sollecitazione1 Massa1

mm mm mm psi g

1 30.4 0.15792772 828.99567808 79.9033

1.2 30.4 0.13345236 706.80551767 96.4946

1.4 30.4 0.11586928 629.36109475 113.29

1.6 30.4 0.10574237 562.8746355 130.288

1.8 30.4 0.09369678 496.93583875 147.49

Nome del componente


Spessore Diametro Interno Spostamento1 Sollecitazione1 Massa1

Unit
mm mm mm psi g

Scenario18
2 30.4 0.08269411 441.7444834 164.896

Scenario19
1 30.6 0.15382809 807.34270415 80.4122

Scenario20
1.2 30.6 0.13121677 709.75819594 97.1054

Scenario21
1.4 30.6 0.11437707 636.0021552 114.002

Scenario22
1.6 30.6 0.10349574 548.13238344 131.102

Nome del componente


Spessore Diametro Interno

Unit
mm mm

Scenario23
1.8 30.6

Scenario24
2 30.6

Scenario25
1 30.8

Scenario26
1.2 30.8

Scenario27
1.4 30.8

Analizzato con SolidWorks Simulation

Simulazione diSezioneCircolare

Analizzato con SolidWorks Simulation

Simulazione diSezioneCircolare

Universit degli studi di Trento Matteo Ragni [134977] 19/06/2012

Universit degli studi di Trento

Matteo Ragni [134977] 19/06/2012

Spostamento1 Sollecitazione1 Massa1 0.15121674 790.61281867 80.9211 0.12915045 726.30605906 97.7161 0.1128012 629.82528803 114.715 psi g 462.18740749 152.987 412.5287342 171.003 763.84131794 83.4658 663.33415427 100.77

mm psi g

0.09189119 499.1457425 148.406

0.0812658 450.13444515 165.914

Sollecitazione1 Massa1

782.72849473 118.277

Nome del componente Scenario30


2 30.8 0.07974409 432.97115065 166.932 1 31 0.14580514 754.62163155 81.4301 1.2 31 0.12595671 690.45642877 98.3268 Spessore Diametro Interno Spostamento1 Sollecitazione1 Massa1 mm mm mm psi g 1.6 31.8 0.09061268 504.47551677 135.988 1.8 31.8 0.08256982 455.6784039 153.903 2 31.8 0.07305576 408.15225672 172.021

Unit

Scenario58

Scenario59

Scenario60

Scenario61
1 32 0.13523897 771.48422656 83.9748

Scenario62
1.2 32 0.11474927 645.66681737 101.38

Nome del componente

Unit

Scenario28

Scenario29

Scenario31

Scenario32

Spessore Diametro Interno Spostamento1 Sollecitazione1 Massa1

mm mm mm psi g

1.6 30.8 0.09959677 555.05427321 131.917

1.8 30.8 0.09031077 484.79701408 149.322

Nome del componente Scenario35


1.8 31 0.08863376 484.19974867 150.239 2 31 0.07835789 429.38139412 167.95 1 31.2 0.14543868 780.83198127 81.939 Spessore Diametro Interno Spostamento1 Sollecitazione1 Massa1 mm mm mm psi g 1.4 32 0.09950787 846.6258128 118.99 1.6 32 0.08893566 489.69033353 136.803

Unit

Scenario63

Scenario64

Scenario65
1.8 32 0.08116318 447.00282658 154.819

Scenario66
2 32 0.07178218 405.84108037 173.039

<L_Iter5/>
<SR_Iter5/>

Nome del componente

Unit

Scenario33

Scenario34

Scenario36

Scenario37

Spessore Diametro Interno Spostamento1 Sollecitazione1 Massa1

mm mm mm psi g

1.4 31 0.11000472 599.77368634 115.427

1.6 31 0.09767451 535.80852687 132.731

Nome del componente


1.6 31.2 0.09554715 488.57941698 133.545 1.8 31.2 0.0871365 478.37488809 151.155 2 31.2 0.07700518 427.20894637 168.967

Unit

Scenario38

Scenario39

Scenario40

Scenario41

Scenario42

Spessore Diametro Interno Spostamento1 Sollecitazione1 Massa1

mm mm mm psi g

1.2 31.2 0.12391721 655.58108949 98.9375

1.4 31.2 0.10808469 602.40459839 116.14

Nome del componente


1.4 31.4 0.10639112 605.45068095 116.852 1.6 31.4 0.09361462 498.11543067 134.36 1.8 31.4 0.08559959 474.52388234 152.071

Unit

Scenario43

Scenario44

Scenario45

Scenario46

Scenario47

Spessore Diametro Interno Spostamento1 Sollecitazione1 Massa1

mm mm mm psi g

1 31.4 0.14318847 765.01082973 82.448

1.2 31.4 0.12138973 651.6094486 99.5483

Nome del componente


1.2 31.6 0.11948347 651.18173231 100.159 1.4 31.6 0.10368563 735.8326453 117.565 1.6 31.6 0.09220161 505.69096927 135.174

Unit

Scenario48

Scenario49

Scenario50

Scenario51

Scenario52

Spessore Diametro Interno Spostamento1 Sollecitazione1 Massa1

mm mm mm psi g

2 31.4 0.0756606 424.58274805 169.985

1 31.6 0.14017217 741.15277456 82.9569

Nome del componente


1 31.8 0.13775504 1.2 31.8 0.11698274 1.4 31.8 0.10174167

Unit

Scenario53

Scenario54

Scenario55

Scenario56

Scenario57

Spessore Diametro Interno Spostamento1

mm mm mm

1.8 31.6 0.08411516

2 31.6 0.07434461

Analizzato con SolidWorks Simulation

Simulazione diSezioneCircolare

Analizzato con SolidWorks Simulation

Simulazione diSezioneCircolare

Universit degli studi di Trento

Matteo Ragni [134977] 19/06/2012

Universit degli studi di Trento

Trave Sezione ad H
Nome documento SezioneI Default D:\Data\Universit\Ingegneria Meccatronica Robotica\Modeling and simulation of mechanical systems\Tesina\Ottimizzazione\Sezione I\SezioneI.SLDPRT Configurazione Percorso del documento Data modifica Jun 19 11:17:13 2012

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 Propriet dello studio


Nome studio Tipo di analisi Qualit Studio del progetto Cartella Risultato Studio progettuale 1 Studio progettuale(Ottimizzazione) Qualit ottima (pi lento)

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

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

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

Unit ................................................. 3

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

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

Descrizione

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

Studi della trave con sezione ad H. Ottimizzazione della altezza, larghezza e dello spessore. In questo documento presente solo lultima parte della ottimizzazione, con la fase pi stretta. Il report stato generato automaticamente da SolidWorks Simulation

Documento SolidWorks(D:\Data\Universit\Ingegneria Meccatronica Robotica\Modeling and simulation of mechanical systems\Tesina\Ottimizzazione\Sezione I)

Analizzato con SolidWorks Simulation

Simulazione diSezioneI

1
Analizzato con SolidWorks Simulation

Simulazione di Sezione ad H

Universit degli studi di Trento Matteo Ragni [134977] 19/06/2012

Universit degli studi di Trento

Matteo Ragni [134977] 19/06/2012

Unit
127 su 127 scenari eseguiti con successo. Nome del componente Unit
25 40 6 0.03768558 1.9527185 451.98 451.98 1.9527185 25 40 6 0.03768558 19 34 4 0.09746581 4.11659425 255.96

Risultati dello studio

Sistema di unit:

SI (MKS)

Lunghezza/Spostamento Corrente Iniziale Ottimale

mm

Temperatura
Altezza Larghezza Spessore Spostamento1 Sollecitazione1 Massa1 mm mm mm mm N/mm^2 (MPa)

Kelvin

Velocit angolare

Rad/sec

Scenario1
19 34 4 0.09746581 4.11659425 255.96

Scenario2
19.5 34 4 0.0950711 4.08560125 257.58

Pressione/Sollecitazione

N/m^2

Impostazione Studio progettuale


Nome del componente Unit
mm mm mm

Variabili di progetto Unit

Scenario3

Scenario4

Scenario5

Scenario6

Scenario7

Nome

Tipo

Valori

Altezza

Range con fase

Min:19 Max:21 Fase:0.5

Larghezza

Range con fase

Min:34 Max:36 Fase:0.5

Spessore

Range con fase

Min:4 Max:6 Fase:0.5

Altezza Larghezza Spessoreg Spostamento1 Sollecitazione1 Massa1 mm mm mm mm N/mm^2 (MPa) g

20 34 4 0.09298078 4.0529705 259.2

20.5 34 4 0.09114565 4.0839495 260.82

21 34 4 0.08953881 3.99720725 262.44

19 34.5 4 0.09446235 4.02497 259.2

19.5 34.5 4 0.09206063 4.07852975 260.82

Vincoli Unit
mm Ottimizzazione Trave a I Ottimizzazione Trave a I

Nome del componente Nome studio

Unit

Scenario8

Scenario9

Scenario10

Scenario11

Scenario12

Nome sensore

Condizione

Margini

Spostamento1

minore di

Max:0.1

Sollecitazione1

minore di N/mm^2 (MPa)

Max:13.8

Altezza Larghezza Spessore Spostamento1 Sollecitazione1 Massa1

mm mm mm mm N/mm^2 (MPa) g

20 34.5 4 0.089959 4.03726875 262.44

20.5 34.5 4 0.08811151 3.929784 264.06

21 34.5 4 0.08649752 3.90058225 265.68

19 35 4 0.09162331 3.93276725 262.44

19.5 35 4 0.08921293 3.89358225 264.06

Obiettivi Nome studio


-

Nome del componente

Unit

Scenario13 Scenario14 Scenario15 Scenario16 Scenario17

Nome

Obiettivo

Propriet

Spessore

Massa1

Minimizzare

Massa

10

Altezza Larghezza Spessore Spostamento1 Sollecitazione1 Massa1

20 35 4 0.08710475 3.87315875 265.68

20.5 35 4 0.08525827 3.83279525 267.3

21 35 4 0.08362726 3.80396725 268.92

19 35.5 4 0.08894553 3.9003905 265.68

19.5 35.5 4 0.08653042 3.8660375 267.3

mm mm mm mm N/mm^2 (MPa) g

Nome del componente

Unit

Scenario18 Scenario19 Scenario20 Scenario21 Scenario22

Simulazione di Sezione ad H

Simulazione di Sezione ad H

Analizzato con SolidWorks Simulation

Analizzato con SolidWorks Simulation

Universit degli studi di Trento Matteo Ragni [134977] 19/06/2012

Universit degli studi di Trento

Matteo Ragni [134977] 19/06/2012

1 7 3.5245645 3.439484 3.371938 3.5377295 7 3 6 Sollecitazion e1 Massa1 N/mm^2 (MPa)295.245297.068298.8295 .2459 g

Altezza Larghezza Spessore Spostamento1 21 35.5 4 0.08092549 3.77989025 272.16 268.92 270.54 3.81038 3.77722125 19 36 4 0.08641526 19.5 36 4 0.08399176

20 35.5 4 0.08441373

20.5 35.5 4 0.08255701

3.6928297.0680 075

Sollecitazione1

3.83669825

3.80682075

Massa1

mm mm mm mm N/mm^2 (MPa) g

268.92

270.54

Nome del componente Unit


20 35.5 4.5 0.0766263 3.43775475 298.89 3.626173 300.713 20.5 35.5 4.5 0.0747656 Altezza Larghezza Spessore Spostamento1 Sollecitazione1 Massa1 mm mm mm mm N/mm^2 (MPa) g 21 35.5 4.5 0.07313131 3.597642 302.535

Scenario43 Scenario44 Scenario45 Scenario46 Scenario47


19 36 4.5 0.0789254 3.63105275 298.89 19.5 36 4.5 0.07649816 3.596984 300.712

Nome del componente


21 36 4 0.07837282 3.69243125 275.4 284.31 286.132 3.704013 3.66814775 19 34 4.5 0.08873439 19.5 34 4.5 0.0863228

Unit

Scenario23 Scenario24 Scenario25 Scenario26 Scenario27

Altezza Larghezza Spessore Spostamento1

20 36 4 0.08187498

20.5 36 4 0.08000922

Sollecitazione1

3.74698875

3.7183375

Massa1

mm mm mm mm N/mm^2 (MPa) g

272.16

273.78

Nome del componente Unit


20 36 4.5 0.0743729 3.37698675 302.535 Altezza Larghezza Spessore Spostamento1 Sollecitazione1 Massa1 mm mm mm mm N/mm^2 (MPa) g

Scenario48 Scenario49 Scenario50 Scenario51 Scenario52


20.5 36 4.5 0.07250719 3.54302375 304.358 21 36 4.5 0.07086813 3.50536075 306.18 19 34 5 0.08200271 3.369987 311.85 19.5 34 5 0.0795518 3.337427 313.875

Nome del componente


21 34 4.5 0.08076191 3.581138 291.6 287.955 289.777 3.61205925 3.5405535 19 34.5 4.5 0.0860671 19.5 34.5 4.5 0.08364882

Unit

Scenario28 Scenario29 Scenario30 Scenario31 Scenario32

Altezza Larghezza Spessore Spostamento1

20 34 4.5 0.08421916

20.5 34 4.5 0.08237916

Sollecitazione1

3.59546325

3.60871875

Massa1

mm mm mm mm N/mm^2 (MPa) g

287.955

289.778

Nome del componente


Altezza Larghezza Spessore Spostamento1 Sollecitazione1 Massa1

Unit

Scenario53 Scenario54 Scenario55 Scenario56 Scenario57


20 34 5 0.07741262 3.306679 315.9 20.5 34 5 0.07554364 3.28022175 317.925 21 34 5 0.07390594 3.25626325 319.95 19 34.5 5 0.07961317 3.2922245 315.9 19.5 34.5 5 0.07715078 3.258899 317.925

Nome del componente


21 34.5 4.5 0.07806777 3.49337175 295.245 291.6 293.423 3.538038 3.65201125 19 35 4.5 0.08355103 19.5 35 4.5 0.08112857

Unit

Scenario33 Scenario34 Scenario35 Scenario36 Scenario37

Altezza Larghezza Spessore Spostamento1

20 34.5 4.5 0.08153608

20.5 34.5 4.5 0.07969176

Sollecitazione1

3.50936925

3.48307175

mm mm mm mm N/mm^2 (MPa) g

Massa1

mm mm mm mm N/mm^2 (MPa) g

291.6

293.423

Nome del componente


Altezza Larghezza Spessore Spostamento1 Sollecitazione1 Massa1

Unit

Scenario58 Scenario59 Scenario60 Scenario61 Scenario62


20 34.5 5 0.07500745 3.2288455 319.95 20.5 34.5 5 0.07313109 3.2020695 321.975 21 34.5 5 0.07148852 3.17324275 324 19 35 5 0.07735693 3.2183895 319.95 19.5 35 5 0.074884 3.18560275 321.975 mm mm mm mm N/mm^2 (MPa) g

Nome del component e Scenario 40 Scenario42


19.5 35.5 4.5 0.07874482 21 35 4.5 0.0755301 19 35.5 4.5 0.0811723

Unit

Scenario 38

Scenario 39

Scenario 41

Altezza Larghezza Spessore Spostamento

mm mm mm mm

20 35 4.5 0.0790123

20.5 35 4.5 0.0771563

Simulazione di Sezione ad H

Simulazione di Sezione ad H

Analizzato con SolidWorks Simulation

Analizzato con SolidWorks Simulation

Universit degli studi di Trento Matteo Ragni [134977] 19/06/2012

Universit degli studi di Trento

Matteo Ragni [134977] 19/06/2012

Nome del componente


Sollecitazione1 2.97771975 347.49 349.717 351.945 2.952936 2.9270095 Massa1 2.9683695 347.49 21 35 5 0.06921105 3.10206775 3.1921475 3.1049415 19 35.5 5 0.07523139 19.5 35.5 5 0.07275194

Unit

Scenario63 Scenario64 Scenario65 Scenario66 Scenario67

Larghezza Spessore Spostamento1 34.5 5.5 0.06991492 34.5 5.5 0.0679735 34.5 5.5 0.06627038 35 5.5 0.07261319 mm mm mm N/mm^2 (MPa) g

35 5.5 0.07007851 2.93946475 349.718

Altezza Larghezza Spessore Spostamento1

20 35 5 0.07273808

20.5 35 5 0.07085634

Sollecitazione1

3.15553975

3.12780275

Nome del componente Unit

Scenario88 Scenario89 Scenario90 Scenario91 Scenario92

Massa1 328.05 324 326.025

mm mm mm mm N/mm^2 (MPa) g

324

326.025

Nome del componente


Sollecitazione1 2.911744 351.945 Massa1 2.8851585 354.173 21 35.5 5 0.06706898 3.03025125 3.12319925 3.0940625 19 36 5 0.07321574 19.5 36 5 0.07073226

Unit

Scenario68 Scenario69 Scenario70 Scenario71 Scenario72

Altezza Larghezza Spessore Spostamento1 20 35 5.5 0.06786043 20.5 35 5.5 0.0659183 mm mm mm mm N/mm^2 (MPa) g

21 35 5.5 0.06421269 2.861188 356.4

19 35.5 5.5 0.07067106 2.90269725 351.945

19.5 35.5 5.5 0.06813777 2.87320475 354.172

Altezza Larghezza Spessore Spostamento1

20 35.5 5 0.07060322

20.5 35.5 5 0.06871953

Sollecitazione1

3.0852925

3.04973425

Nome del componente Unit

Scenario93 Scenario94 Scenario95 Scenario96 Scenario97

Massa1 332.1 328.05 330.075

mm mm mm mm N/mm^2 (MPa) g

328.05

330.075

Nome del componente


Sollecitazione1 Massa1 21 36 5 0.06503444 2.992017 336.15 338.58 340.807 3.1055035 3.09682325 19 34 5.5 0.07684458 19.5 34 5.5 0.07430769

Unit

Scenario73 Scenario74 Scenario75 Scenario76 Scenario77

Altezza Larghezza Spessore Spostamento1 mm mm mm mm N/mm^2 (MPa) g

20 35.5 5.5 0.06592083 2.846526 356.4

20.5 35.5 5.5 0.06397764 2.8237885 358.628

21 35.5 5.5 0.06226957 2.79919525 360.855

19 36 5.5 0.06883781 2.8643505 356.4

19.5 36 5.5 0.06630879 2.84047775 358.627

Altezza Larghezza Spessore Spostamento1

20 36 5 0.06857901

20.5 36 5 0.06669124

Sollecitazione1

3.0871575

3.019176

Nome del componente

Unit

Scenario98 Scenario99 Scenario100 Scenario101 Scenario102

Massa1

mm mm mm mm N/mm^2 (MPa) g

332.1

334.125

Nome del componente


21 34 5.5 0.06845419 2.993788 347.49 343.035 345.262 3.03811525 3.005349 19 34.5 5.5 0.07466792 19.5 34.5 5.5 0.07213029

Unit

Scenario78 Scenario79 Scenario80 Scenario81 Scenario82

Altezza Larghezza Spessore Spostamento1 Sollecitazione1 Massa1

20 36 5.5 0.06409281 2.75900475 360.855

20.5 36 5.5 0.06214859 2.78648625 363.083

21 36 5.5 0.06043861 2.72142975 365.31

19 34 6 0.07276135 2.94930825 364.5

19.5 34 6 0.07015752 2.7568805 366.93

Altezza Larghezza Spessore Spostamento1

20 34 5.5 0.07209054

20.5 34 5.5 0.07015235

mm mm mm mm N/mm^2 (MPa) g

Sollecitazione1

3.04844675

3.01627925

Nome del componente

Unit

Scenario103 Scenario104 Scenario105 Scenario106 Scenario107

Massa1

mm mm mm mm N/mm^2 (MPa) g

343.035

345.263

Nome del componente


21 19 19.5

Unit

Scenario83 Scenario84 Scenario85 Scenario86 Scenario87

Altezza Larghezza Spessore Spostamento1 Sollecitazione1

20 34 6 0.06788046 2.744921

20.5 34 6 0.06589232 2.7151115

21 34 6 0.06414823 2.68630075

19 34.5 6 0.07076219 2.74339875

19.5 34.5 6 0.06815762 2.854401

Altezza

mm

20

20.5

mm mm mm mm N/mm^2 (MPa)

Simulazione di Sezione ad H

Simulazione di Sezione ad H

Analizzato con SolidWorks Simulation

Analizzato con SolidWorks Simulation

Universit degli studi di Trento Matteo Ragni [134977] 19/06/2012

Massa1 374.22 369.36 371.79

369.36

371.79

Nome del componente


21 34.5 6 0.06214686 2.61835125 379.08 374.22 376.65 2.68010175 2.78728925 19 35 6 0.0688745 19.5 35 6 0.06627055

Unit

Scenario108 Scenario109 Scenario110 Scenario111 Scenario112

Altezza Larghezza Spessore Spostamento1

20 34.5 6 0.06588498

20.5 34.5 6 0.06389224

Sollecitazione1

2.670604

2.79542375

Massa1

mm mm mm mm N/mm^2 (MPa) g

374.22

376.65

Nome del componente


21 35 6 0.06026157 2.713791 383.94 379.08 381.51 2.61236 2.5695515 19 35.5 6 0.06708833 19.5 35.5 6 0.06449281

Unit

Scenario113 Scenario114 Scenario115 Scenario116 Scenario117

Altezza Larghezza Spessore Spostamento1

20 35 6 0.06399964

20.5 35 6 0.06200818

Sollecitazione1

2.75594675

2.8463115

Massa1

mm mm mm mm N/mm^2 (MPa) g

379.08

381.51

Nome del componente


21 35.5 6 0.05848395 2.49698725 388.8 383.94 386.37 2.5417215 2.52277575 19 36 6 0.06539591 19.5 36 6 0.06280706

Unit

Scenario118 Scenario119 Scenario120 Scenario121 Scenario122

Altezza Larghezza Spessore Spostamento1

20 35.5 6 0.06222259

20.5 35.5 6 0.06023133

Sollecitazione1

2.548199

2.5183905

Massa1

mm mm mm mm N/mm^2 (MPa) g

383.94

386.37

Nome del componente


20.5 36 6 0.05855098 2.46638175 391.23 21 36 6 0.05680104 2.453035 393.66

Unit

Scenario123

Scenario124

Scenario125

Altezza Larghezza Spessore Spostamento1 Sollecitazione1 Massa1

mm mm mm mm N/mm^2 (MPa) g

20 36 6 0.0605407 2.4883295 388.8

Simulazione di Sezione ad H

Analizzato con SolidWorks Simulation

Univerist degli studi di Trento

Matteo Ragni [134977] 19/06/2012

Univerist degli studi di Trento

Propriet dello studio


Nome studio Studio progettuale 1 Studio progettuale(Ottimizzazione) Qualit ottima (pi lento) Documento SolidWorks(D:\Data\Universit\Ingegneria Meccatronica Robotica\Modeling and simulation of mechanical systems\Tesina\Ottimizzazione\Trave T) Tipo di analisi Qualit Studio del progetto Cartella Risultato

Simulazione di Trave Sezione a T

Data: marted 19 giugno 2012 Designer: Matteo Ragni [134977] Nome studio: Studio progettuale 1 Tipo di analisi: Studio progettuale

Unit
Sistema di unit: Lunghezza/Spostamento Temperatura Velocit angolare Pressione/Sollecitazione mm Kelvin Rad/sec N/m^2 SI (MKS)

Table of Contents

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

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

Unit ................................................. 2

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

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

Descrizione
Variabili di progetto Nome
Larghezza Spessore Altezza

Impostazione Studio progettuale


Tipo
Range con fase Range con fase Range con fase

Valori
Min:25 Max:30 Fase:1 Min:4 Max:8 Fase:1 Min:25 Max:30 Fase:1

Unit
mm mm mm

Studio di design: ottimizzazione della sezione della trave a T. Si ottimizzano larghezza, altezza e spessore. In questo documento presente solo lultima parte della ottimizzazione, con la fase pi stretta. Il report stato generato automaticamente da SolidWorks Simulation

Vincoli Nome sensore


Spostamento1 Sollecitazione1

Condizione
minore di minore di

Margini
Max:0.1 Max:13.8

Unit
mm N/mm^2 (MPa)

Nome studio
Trave T Trave T

Obiettivi Nome
Massa2

Obiettivo
Minimizzare

Propriet
Massa

Spessore
10

Nome studio
-

Analizzato con SolidWorks Simulation

Simulazione di Trave Sezione a T

1
Analizzato con SolidWorks Simulation Simulazione diTrave T

Univerist degli studi di Trento Matteo Ragni [134977] 19/06/2012

Univerist degli studi di Trento

Matteo Ragni [134977] 19/06/2012

Risultati dello studio


Sollecitazione1 5.459576 88.2 90.3 92.4 5.169893 5.06272

Larghezza Spessore Altezza Spostamento1 30 6 25 0.15343649 4.9639445 94.5 25 7 25 0.16479845 26 7 25 0.15677734 27 7 25 0.15003564

28 7 25 0.14430177 4.901832 96.6

182 su 182 scenari eseguiti con successo. Ottimale


30 7 30 0.09605732 25 4 25 0.27739868 26 4 25 0.26142079

Nome del componente Scenario1 Nome del componente Unit Scenario2

Unit

Corrente

Iniziale

Massa2

mm mm mm mm N/mm^2 (MPa) g

Larghezza Spessore Altezza Spostamento1 3.48882775 111.3 Sollecitazione1 4.839794 98.7 Massa2 55.2 56.4 8.261297 8.1450795 Larghezza Spessore Altezza Spostamento1 29 7 25 0.13949594 4.7814715 100.8 30 7 25 0.13546638 mm mm mm mm N/mm^2 (MPa) g

30 8 27 0.10137196

30 8 27 0.10137196

Scenario23 Scenario24 Scenario25 Scenario26 Scenario27

Sollecitazione1

mm mm mm mm N/mm^2 (MPa)

3.67478425

3.67478425

25 8 25 0.14695205 4.6676825 100.8

26 8 25 0.14018167 4.58313 103.2

27 8 25 0.1344523 4.816414 105.6

Massa2

117.6

117.6

Nome del componente


29 4 25 0.2271113 7.876529 60 30 4 25 0.21892127 7.803796 61.2 25 5 25 0.22354788 6.7475725 67.5

Unit Nome del componente Unit


Larghezza Spessore Altezza Spostamento1 Sollecitazione1 Massa2 mm mm mm mm N/mm^2 (MPa) g

Scenario3

Scenario4

Scenario5

Scenario6

Scenario7

Larghezza Spessore Altezzag Spostamento1 Sollecitazione1 Massa2

mm mm mm mm N/mm^2 (MPa) g

27 4 25 0.24804921 8.0522185 57.6

28 4 25 0.23674083 7.9727465 58.8

Scenario28 Scenario29 Scenario30 Scenario31 Scenario32


28 8 25 0.12957191 4.743337 108 29 8 25 0.12549984 4.6830135 110.4 30 8 25 0.12202599 4.324064 112.8 25 4 26 0.27650304 7.83761 56.4 26 4 26 0.25938899 7.8346735 57.6

Nome del componente

Unit

Scenario8

Scenario9

Scenario10

Scenario11

Scenario12

Larghezza Spessore Altezza Spostamento1 Sollecitazione1 Massa2 28 5 25 0.19253002 6.4968385 72 29 5 25 0.19253002 6.4062895 73.5 30 5 25 0.1791041 6.35442 75

mm mm mm mm N/mm^2 (MPa) g

26 5 25 0.22354788 6.7475725 69

27 5 25 0.20114558 6.5662635 70.5

Nome del componente

Unit

Scenario33 Scenario34 Scenario35 Scenario36 Scenario37

Nome del componente


27 6 25 0.17099506 5.663142 82.8 84.6 86.4 5.587464 5.506645 28 6 25 0.16408571 29 6 25 0.15820198

Unit

Scenario13 Scenario14 Scenario15 Scenario16 Scenario17

Larghezza Spessore Altezza Spostamento1 Sollecitazione1 Massa2

27 4 26 0.24497104 8.161995 58.8

28 4 26 0.23272479 7.604447 60

29 4 26 0.22213557 7.5216755 61.2

30 4 26 0.21311201 7.4484425 62.4

25 5 26 0.21762722 6.519492 69

Larghezza Spessore Altezza Spostamento1

25 6 25 0.18888357

26 6 25 0.17914879

mm mm mm mm N/mm^2 (MPa) g

Sollecitazione1

5.827081

5.751001

Nome del componente

Unit

Scenario38 Scenario39 Scenario40 Scenario41 Scenario42

Massa2

mm mm mm mm N/mm^2 (MPa) g

79.2

81

Nome del componente

Unit

Scenario18 Scenario19 Scenario20 Scenario21 Scenario22

Larghezza Spessore Altezza Spostamento1 Sollecitazione1

mm mm mm mm N/mm^2

26 5 26 0.20471872 6.4226825

27 5 26 0.19388599 6.3545465

28 5 26 0.18466249 6.2772695

29 5 26 0.17677424 6.1980215

30 5 26 0.17002466 6.130626

Analizzato con SolidWorks Simulation

Simulazione diTrave T

Analizzato con SolidWorks Simulation

Simulazione diTrave T

Univerist degli studi di Trento Matteo Ragni [134977] 19/06/2012

Univerist degli studi di Trento

Matteo Ragni [134977] 19/06/2012

Massa2

(MPa)70.57273.57576.5 g

Nome del componente Unit


Larghezza Spessore Altezza Spostamento1 27 4 27 0.23401818 7.177038 60 61.2 62.4 7.8958135 7.0667295 28 4 27 0.22130636 29 4 27 0.21041367 Sollecitazione1 Massa2 mm mm mm mm N/mm^2 (MPa) g 63.6 30 4 27 0.20104775 7.4849885

Scenario63 Scenario64 Scenario65 Scenario66 Scenario67

Nome del componente

Unit

Scenario43 Scenario44 Scenario45 Scenario46 Scenario47

25 5 27 0.20821214 6.015032 70.5

Larghezza Spessore Altezza Spostamento1 27 6 26 0.16243917 5.3863505 84.6 86.4 88.2 5.299087 5.2359915 28 6 26 0.15513304 29 6 26 0.14890201

25 6 26 0.18122872

26 6 26 0.17102995

Sollecitazione1

5.5467155

5.4719075

Massa2

mm mm mm mm N/mm^2 (MPa) g

81

82.8

Nome del componente Unit


Larghezza Spessore Altezza Spostamento1 26 5 27 0.19492549 6.0071595 72 Sollecitazione1 Massa2 mm mm mm mm N/mm^2 (MPa) g 73.5 27 5 27 0.183793 5.880449

Scenario68 Scenario69 Scenario70 Scenario71 Scenario72

Nome del componente

Unit

Scenario48 Scenario49 Scenario50 Scenario51 Scenario52

28 5 27 0.17426112 5.8062245 75

29 5 27 0.16614508 5.7299315 76.5

30 5 27 0.15915744 5.664773 78

Larghezza Spessore Altezza Spostamento1 26 7 26 0.14803906 4.814897 94.5 96.6 98.7 4.7424155 4.6646585 27 7 26 0.14099898 28 7 26 0.13499742

30 6 26 0.14355639

25 7 26 0.15637312

Sollecitazione1

5.172532

5.330896

Massa2

mm mm mm mm N/mm^2 (MPa) g

90

92.4

Nome del componente Unit


Larghezza Spessore Altezza Spostamento1 Sollecitazione1 Massa2 mm mm mm mm N/mm^2 (MPa) g

Scenario73 Scenario74 Scenario75 Scenario76 Scenario77

Nome del componente

Unit

Scenario53 Scenario54 Scenario55 Scenario56 Scenario57

25 6 27 0.17231306 5.3445775 82.8

26 6 27 0.16180206 5.250276 84.6

27 6 27 0.1529818 5.169158 86.4

28 6 27 0.14545651 5.098862 88.2

29 6 27 0.13904058 4.9876755 90

Larghezza Spessore Altezza Spostamento1 25 8 26 0.13847488 4.372572 103.2 105.6 108 4.314104 4.2313125 26 8 26 0.13146276 27 8 26 0.12552548

29 7 26 0.12987082

30 7 26 0.12544208

Sollecitazione1

4.6086515

5.0819265

Massa2

mm mm mm mm N/mm^2 (MPa) g

100.8

102.9

Nome del componente


Larghezza Spessore Altezza Spostamento1 Sollecitazione1 Massa2

Unit

Scenario78 Scenario79 Scenario80 Scenario81 Scenario82

Nome del componente

Unit

Scenario58 Scenario59 Scenario60 Scenario61 Scenario62

30 6 27 0.13352459 4.923774 91.8

25 7 27 0.14793529 4.558894 94.5

26 7 27 0.13938968 4.5846925 96.6

27 7 27 0.13215093 4.5103975 98.7

28 7 27 0.12598043 4.4408695 100.8

Larghezza Spessore Altezza Spostamento1 30 8 26 0.11243895 4.058508 115.2 57.6 58.8 7.3777095 7.2815125 25 4 27 0.26633259 26 4 27 0.24878667

28 8 26 0.12045777

29 8 26 0.11612257

mm mm mm mm N/mm^2 (MPa) g

Sollecitazione1

4.15458

4.0953565

Massa2

mm mm mm mm N/mm^2 (MPa) g

110.4

112.8

Nome del componente


Larghezza Spessore

Unit
mm mm

Scenario83 Scenario84 Scenario85 Scenario86 Scenario87


29 7 30 7 25 8 26 8 27 8

Analizzato con SolidWorks Simulation

Simulazione diTrave T

Analizzato con SolidWorks Simulation

Simulazione diTrave T

Univerist degli studi di Trento Matteo Ragni [134977] 19/06/2012

Univerist degli studi di Trento

Matteo Ragni [134977] 19/06/2012

Altezza Spostamento1 27 0.13029974 4.1514455 105.6 108 110.4 Larghezza Spessore Altezza Spostamento1 30 6 28 0.12441908 4.898758 93.6 96.6 98.7 4.101182 4.2243265 25 7 28 0.11172609 26 7 28 0.13168999 Sollecitazione1 Massa2 mm mm mm mm N/mm^2 (MPa) g 4.0672475 3.98250175 27 0.12313173 27 0.11705037

27 0.12071317

27 0.11618206

Sollecitazione1

4.36464

4.306768

Nome del componente Unit


27 7 28 0.12428366 4.150165 100.8

Scenario108 Scenario109 Scenario110 Scenario111 Scenario112


28 7 28 0.11797644 4.0819875 102.9

Massa2

mm mm N/mm^2 (MPa) g

102.9

105

Nome del componente


30 8 27 0.10359097 3.815069 117.6 58.8 60 Larghezza Spessore Altezza Spostamento1 29 7 28 0.11259218 4.0234785 105 Sollecitazione1 Massa2 mm mm mm mm N/mm^2 (MPa) g 107.1 30 7 28 0.10796692 3.96782275 7.1667855 7.3582095 25 4 28 0.25815089 26 4 28 0.24022159

Unit

Scenario88 Scenario89 Scenario90 Scenario91 Scenario92

Larghezza Spessore Altezza Spostamento1

28 8 27 0.11185661

29 8 27 0.10741926

Sollecitazione1

3.90214875

3.865645

Nome del componente Unit

Scenario113 Scenario114 Scenario115 Scenario116 Scenario117


25 8 28 0.123256 3.9008885 108 26 8 28 0.11595093 3.8360285 110.4 27 8 28 0.10974936 3.76091275 112.8

Massa2

mm mm mm mm N/mm^2 (MPa) g

112.8

115.2

Nome del componente


29 4 28 0.2009384 6.627073 63.6 64.8 72 Larghezza Spessore Altezza Spostamento1 Sollecitazione1 Massa2 mm mm mm mm N/mm^2 (MPa) g 6.593891 5.880336 30 4 28 0.1913196 25 5 28 0.20050981

Unit

Scenario93 Scenario94 Scenario95 Scenario96 Scenario97

Larghezza Spessore Altezza Spostamento1

27 4 28 0.22509624

28 4 28 0.21213997

Sollecitazione1

7.2590025

6.720429

Nome del componente Unit

Scenario118 Scenario119 Scenario120 Scenario121 Scenario122


28 8 28 0.10445643 3.688542 115.2 29 8 28 0.09992319 3.639528 117.6 30 8 28 0.09601616 3.585015 120 25 4 29 0.24795692 6.964135 60 26 4 29 0.22993292 6.5978525 61.2

Massa2

mm mm mm mm N/mm^2 (MPa) g

61.2

62.4

Nome del componente


28 5 28 0.1657426 5.912696 76.5 78 79.5 5.3857765 5.3066325 29 5 28 0.15739267 30 5 28 0.15019931

Unit

Scenario98 Scenario99 Scenario100 Scenario101 Scenario102

Larghezza Spessore Altezza Spostamento1

26 5 28 0.1869557

27 5 28 0.17553889

Sollecitazione1

5.6356285

5.541313

Nome del componente


Larghezza Spessore Altezza Spostamento1 Sollecitazione1 Massa2

Unit

Scenario123 Scenario124 Scenario125 Scenario126 Scenario127


27 4 29 0.21461253 6.3805615 62.4 28 4 29 0.20147036 6.2966655 63.6 29 4 29 0.19012399 6.1938705 64.8 30 4 29 0.18039542 6.761063 66 25 5 29 0.19247591 5.6473005 73.5

Massa2

mm mm mm mm N/mm^2 (MPa) g

73.5

75

Nome del componente


27 6 28 0.14435066 4.708513 88.2 90 91.8 4.6450625 4.580428 28 6 28 0.13665686 29 6 28 0.1300944

Unit

Scenario103 Scenario104 Scenario105 Scenario106 Scenario107

Larghezza Spessore Altezza Spostamento1

25 6 28 0.16408454

26 6 28 0.15337671

mm mm mm mm N/mm^2 (MPa) g

Sollecitazione1

4.964514

4.794583

Nome del componente


Larghezza

Unit
mm

Scenario128 Scenario129 Scenario130 Scenario131 Scenario132


26 27 28 29 30

Massa2

mm mm mm mm N/mm^2 (MPa) g

84.6

86.4

Analizzato con SolidWorks Simulation

Simulazione diTrave T

Analizzato con SolidWorks Simulation

Simulazione diTrave T

Univerist degli studi di Trento Matteo Ragni [134977] 19/06/2012

Univerist degli studi di Trento

Matteo Ragni [134977] 19/06/2012

Spessore Altezza Spostamento1 5 29 0.15718037 5.133854 78 79.5 81 Larghezza Spessore Altezza Spostamento1 27 4 30 0.2086766 6.081536 63.6 64.8 66 6.331444 6.2417715 28 4 30 0.19524741 29 4 30 0.18369063 Sollecitazione1 Massa2 mm mm mm mm N/mm^2 (MPa) g 5.020054 4.950963 5 29 0.14868357 5 29 0.14134451 g 117.6 120 122.4 61.2

5 29 0.17870223

5 29 0.16712131

Massa2

62.4

Sollecitazione1

5.6533695

5.145599

Nome del componente Unit

Scenario153 Scenario154 Scenario155 Scenario156 Scenario157


30 4 30 0.17375508 5.809114 67.2 25 5 30 0.18736176 5.509791 75

Massa2

mm mm mm N/mm^2 (MPa) g

75

76.5

Nome del componente


27 6 29 0.13795683 4.815043 90 91.8 93.6 Larghezza Spessore Altezza Spostamento1 26 5 30 0.17332293 5.3575545 76.5 Sollecitazione1 Massa2 mm mm mm mm N/mm^2 (MPa) g 78 4.3783895 4.314088 28 6 29 0.13007276 29 6 29 0.12334617

Unit

Scenario133 Scenario134 Scenario135 Scenario136 Scenario137

Larghezza Spessore Altezza Spostamento1

25 6 29 0.15809106

26 6 29 0.14718009

Sollecitazione1

5.0617495

4.627392

Nome del componente Unit


27 5 30 0.16153565 4.978848

Scenario158 Scenario159 Scenario160 Scenario161 Scenario162


28 5 30 0.151384 4.8478495 79.5 29 5 30 0.14269353 4.753133 81 30 5 30 0.13516516 4.694936 82.5

Massa2

mm mm mm mm N/mm^2 (MPa) g

86.4

88.2

Nome del componente


26 7 29 0.12576387 4.377112 100.8 102.9 105 Larghezza Spessore Altezza Spostamento1 Sollecitazione1 Massa2 3.9079675 4.239091 27 7 29 0.11821787 28 7 29 0.11174458

Unit

Scenario138 Scenario139 Scenario140 Scenario141 Scenario142

Larghezza Spessore Altezza Spostamento1

30 6 29 0.1175306

25 7 29 0.13465936

Sollecitazione1

4.1977245

4.381186

Nome del componente Unit

Scenario163 Scenario164 Scenario165 Scenario166 Scenario167


25 6 30 0.15318417 4.6866285 88.2 26 6 30 0.14209295 4.4958625 90 27 6 30 0.13270049 4.249382 91.8 28 6 30 0.12464069 4.12722775 93.6 29 6 30 0.11773423 4.06662175 95.4

Massa2

mm mm mm mm N/mm^2 (MPa) g

95.4

98.7

Nome del componente


25 8 29 0.11771148 3.7491875 110.4 112.8 115.2 3.57301575 3.54167825 26 8 29 0.11026985 27 8 29 0.1039394

Unit

Scenario143 Scenario144 Scenario145 Scenario146 Scenario147

Larghezza Spessore Altezza Spostamento1

29 7 29 0.10622424

30 7 29 0.10148811

mm mm mm mm N/mm^2 (MPa) g

Sollecitazione1

3.76910125

3.7273595

Nome del componente


Larghezza Spessore Altezza Spostamento1 Sollecitazione1 Massa2

Unit

Scenario168 Scenario169 Scenario170 Scenario171 Scenario172


30 6 30 0.11176163 4.0060715 97.2 25 7 30 0.12993552 4.0540505 100.8 26 7 30 0.12090895 3.90214625 102.9 27 7 30 0.11318483 3.72824925 105 28 7 30 0.10659123 3.6344885 107.1

Massa2

mm mm mm mm N/mm^2 (MPa) g

107.1

109.2

Nome del componente


30 8 29 0.08988116 3.345553 6.7985375 6.518727 25 4 30 0.24255109 26 4 30 0.22420551

Unit

Scenario148 Scenario149 Scenario150 Scenario151 Scenario152

Larghezza Spessore Altezza Spostamento1

28 8 29 0.09852786

29 8 29 0.09388272

mm mm mm mm N/mm^2 (MPa) g

Sollecitazione1

mm mm mm mm N/mm^2 (MPa)

3.45237275

3.39609

Nome del componente

Unit

Scenario173 Scenario174 Scenario175 Scenario176 Scenario177

Analizzato con SolidWorks Simulation

Simulazione diTrave T

Analizzato con SolidWorks Simulation

Simulazione diTrave T

10

Univerist degli studi di Trento Matteo Ragni [134977] 19/06/2012

Larghezza Spessore Altezza Spostamento1 25 8 30 0.11311136 3.62342625 112.8 115.2 117.6 3.4549285 3.34402525 26 8 30 0.10555935 27 8 30 0.09910939

29 7 30 0.10091829

30 7 30 0.09605732

Sollecitazione1

3.57066375

3.48882775

Massa2

mm mm mm mm N/mm^2 (MPa) g

109.2

111.3

Nome del componente


29 8 30 0.08884665 3.20081275 122.4 30 8 30 0.08474895 3.164884 124.8

Unit

Scenario178

Scenario179

Scenario180

Larghezza Spessore Altezza Spostamento1 Sollecitazione1 Massa2

mm mm mm mm N/mm^2 (MPa) g

28 8 30 0.09355915 3.53204625 120

Analizzato con SolidWorks Simulation

Simulazione diTrave T

11

Universit degli studi di Trento

Matteo Ragni [134977] 19/06/2012

Universit degli studi di Trento

Sezione a croce
Nome documento Sezione croce Default D:\Data\Universit\Ingegneria Meccatronica Robotica\Modeling and simulation of mechanical systems\Tesina\Ottimizzazione\Sezione Croce\Sezione croce.SLDPRT Configurazione Percorso del documento Data modifica Jun 19 11:45:33 2012

Simulazione di Sezione a Croce

Data: marted 19 giugno 2012 Designer: Matteo Ragni [134977] Nome studio: Studio progettuale 1 Tipo di analisi: Studio progettuale

Table of Contents
Nome studio Tipo di analisi Qualit Studio del progetto Cartella Risultato

Propriet dello studio


Studio progettuale 1 Studio progettuale(Ottimizzazione) Qualit ottima (pi lento)

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

Sezione a croce ..................................... 2

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

Unit ................................................. 2

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

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

Descrizione Unit
Sistema di unit: Lunghezza/Spostamento Temperatura Velocit angolare Pressione/Sollecitazione

Documento SolidWorks(D:\Data\Universit\Ingegneria Meccatronica Robotica\Modeling and simulation of mechanical systems\Tesina\Ottimizzazione\Sezione Croce)

SI (MKS) mm Kelvin Rad/sec N/m^2

Trave sezione a croce. Ottimizzazione delle dimensioni caratteristiche di altezza e larghezza del braccio della croce. In questo documento presente solo lultima parte della ottimizzazione, con la fase pi stretta. Il report stato generato automaticamente da SolidWorks Simulation

Impostazione Studio progettuale


Variabili di progetto Nome
B A

Tipo
Range con fase Range con fase

Valori
Min:11 Max:13 Fase:0.5 Min:7 Max:9 Fase:0.5

Unit
mm mm

Vincoli

Analizzato con SolidWorks Simulation

Simulazione di Sezione a croce

1
Analizzato con SolidWorks Simulation Simulazione diSezione croce

Universit degli studi di Trento Matteo Ragni [134977] 19/06/2012

Universit degli studi di Trento

Matteo Ragni [134977] 19/06/2012

Nome sensore
N/mm^2 (MPa) mm Trave a croce Trave a croce

Condizione

Margini

Unit

Nome studio

Sollecitazione1

minore di

Max:13.8

Risultati dello studio


27 su 27 scenari eseguiti con successo. Nome del componente Unit
13 10 2.026624875 0.05347195 186 0.05347195 186 2.026624875 13 10 12.5 7.5 3.62968875 0.09814074 129.375

Spostamento1

minore di

Max:0.1

Obiettivi Corrente Iniziale Ottimale Nome studio


-

Scenario1
11 7 4.5658045 0.14732881 107.1

Scenario2
11.5 7 4.2297295 0.13343977 111.3

Nome
B A Sollecitazione 1 Spostamento1 Massa1 mm mm N/mm^2 (MPa)

Obiettivo

Propriet

Spessore

Massa1

Minimizzare

Massa

10

Nome del componente


Bmm A Sollecitazione1 Spostamento1 Massa1 mm gmm N/mm^2 (MPa) mm g 12 7 4.2488005 0.12127088 115.5

Unit

Scenario3

Scenario4
12.5 7 3.79522675 0.11050614 119.7

Scenario5
13 7 3.48886275 0.10103859 123.9

Scenario6
11 7.5 4.115922 0.13014858 115.875

Scenario7
11.5 7.5 4.09412725 0.11810204 120.375

Nome del componente


B A Sollecitazione1 Spostamento1 Massa1

Unit
mm mm N/mm^2 (MPa) mm g

Scenario8
12 7.5 3.83950475 0.10750756 124.875

Scenario9
12.5 7.5 3.62968875 0.09814074 129.375

Scenario10
13 7.5 3.15592025 0.08985421 133.875

Scenario11
11 8 3.71391275 0.11558882 124.8

Scenario12
11.5 8 3.45335325 0.10509312 129.6

Nome del componente


B A Sollecitazione1 Spostamento1 Massa1

Unit

Scenario13 Scenario14 Scenario15 Scenario16


12 8 3.237834 0.09579855 134.4 12.5 8 3.04491325 0.08761243 139.2 13 8 2.863346 0.08030582 144 11 8.5 3.646204 0.10315002 133.875

Scenario1 7
11.5 8.5 3.37887775 0.09395117 138.975 mm mm N/mm^2 (MPa) mm g

Nome del componente


B A Sollecitazione1

Unit

Scenario18 Scenario19 Scenario20 Scenario21


12 8.5 3.195578 12.5 8.5 2.98488275 13 8.5 2.608378 11 9 3.0814185

Scenario2 2
11.5 9 2.87256975 mm mm N/mm^2 (MPa)

Analizzato con SolidWorks Simulation

Simulazione diSezione croce

Analizzato con SolidWorks Simulation

Simulazione diSezione croce

Universit degli studi di Trento Matteo Ragni [134977] 19/06/2012

Spostamento1 Massa1 0.07212436 154.275 0.09251177 143.1 0.08437292 148.5

mm g

0.08578294 144.075

0.07855781 149.175

Nome del componente


12.5 9 2.5690435 0.0707584 159.3 13 9 2.59888575 0.06504755 164.7

Unit

Scenario23

Scenario24

Scenario25

B A Sollecitazione1 Spostamento1 Massa1

mm mm N/mm^2 (MPa) mm g

12 9 2.70282225 0.07714669 153.9

Analizzato con SolidWorks Simulation

Simulazione diSezione croce

Universit degli studi di Trento

Matteo Ragni [156994] 25/06/2012

Universit degli studi di Trento

Sezione Rettangolare Cava


Configurazione Default D:\Data\Universit\Ingegneria Meccatronica Robotica\Modeling and simulation of mechanical systems\Tesina\Ottimizzazione\Rettangolare Cava\Rettangolare Cava.SLDPRT Nome documento Rettangolare Cava Percorso del documento Data modifica Jun 25 12:31:22 2012

Simulazione 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
Nome studio Tipo di analisi Qualit Studio del progetto Cartella Risultato

Propriet dello studio


Studio progettuale 1 Studio progettuale(Ottimizzazione) Qualit ottima (pi lento)

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

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

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

Unit ................................................. 3

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

Descrizione

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

Ottimizzazione della trave rettangolare cava. Ottimizzazione di tre parametri, altezza base e spessore. In questo documento presente solo lultima parte della ottimizzazione, con la fase pi stretta. Il report stato generato automaticamente da SolidWorks Simulation

Documento SolidWorks(D:\Data\Universit\Ingegneria Meccatronica Robotica\Modeling and simulation of mechanical systems\Tesina\Ottimizzazione\Rettangolare Cava)

Analizzato con SolidWorks Simulation

Simulazione di Sezione Rettangolare Cava

1
Analizzato con SolidWorks Simulation Simulazione diRettangolare Cava

Universit degli studi di Trento Matteo Ragni [156994] 25/06/2012

Universit degli studi di Trento

Matteo Ragni [156994] 25/06/2012

Unit
29 su 29 scenari eseguiti con successo. Nome del componente Unit
0.6 17.2 25.2 0.22706023 18.57607 15.696 15.696 18.57607 0.6 17.2 25.2 0.22706023 1.4 17.8 26.8 0.07610937 7.1647475 39.816

Risultati dello studio

Sistema di unit:

SI (MKS)

Lunghezza/Spostamento Corrente Iniziale Ottimale

mm

Temperatura
Spessore Altezza Base Spostamento2 Sollecitazione2 Massa1 mm mm mm mm N/mm^2 (MPa)

Kelvin

Velocit angolare

Rad/sec

Scenario1
1.4 17.8 26.8 0.07610937 7.1647475 39.816

Scenario2
1.5 17.8 26.8 0.06999203 6.666674 42.84

Pressione/Sollecitazione

N/m^2

Impostazione Studio progettuale


Nome del componente Unit
mm mm mm

Variabili di progetto Unit

Scenario3

Scenario4

Scenario5

Scenario6

Scenario7

Nome

Tipo

Valori

Spessore

Range con fase

Min:1.4 Max:1.6 Fase:0.1

Altezza

Range con fase

Min:17.8 Max:18.2 Fase:0.2

Base

Range con fase

Min:26.8 Max:27.2 Fase:0.2

Spessore Altezza Baseg Spostamento2 Sollecitazione2 Massa1 mm mm mm mm N/mm^2 (MPa) g

1.6 17.8 26.8 0.06462566 6.23523 45.888

1.4 18 26.8 0.07453382 7.032224 39.984

1.5 18 26.8 0.06852005 6.5893375 43.02

1.6 18 26.8 0.06330381 6.1558515 46.08

1.4 18.2 26.8 0.07297816 6.9968685 40.152

Vincoli Unit
mm N/mm^2 (MPa) Studio 1 Studio 1

Nome del componente Nome studio

Unit

Scenario8

Scenario9

Scenario10

Scenario11

Scenario12

Nome sensore

Condizione

Margini

Spostamento2

minore di

Max:0.1

Sollecitazione2

minore di

Max:13.7

Spessore Altezza Base Spostamento2 Sollecitazione2 Massa1

mm mm mm mm N/mm^2 (MPa) g

1.5 18.2 26.8 0.06711245 6.518461 43.2

1.6 18.2 26.8 0.06198674 6.093457 46.272

1.4 17.8 27 0.07562208 7.1203165 39.984

1.5 17.8 27 0.0695513 6.633831 43.02

1.6 17.8 27 0.06421348 6.199914 46.08

Obiettivi Nome studio


-

Nome

Obiettivo

Propriet

Spessore

Nome del componente


Spessore Altezza Base Spostamento2 Sollecitazione2 Massa1

Unit

Scenario13 Scenario14 Scenario15 Scenario16 Scenario17


1.4 18 27 0.07407039 7.0350325 40.152 1.5 18 27 0.06807843 6.555144 43.2 1.6 18 27 0.06290845 6.125087 46.272 1.4 18.2 27 0.07253393 6.9545165 40.32 1.5 18.2 27 0.06669274 6.471719 43.38 mm mm mm mm N/mm^2 (MPa) g

Massa1

Minimizzare

Massa

10

Nome del componente

Unit

Scenario18 Scenario19 Scenario20 Scenario21 Scenario22

Analizzato con SolidWorks Simulation

Simulazione diRettangolare Cava

Analizzato con SolidWorks Simulation

Simulazione diRettangolare Cava

Universit degli studi di Trento Matteo Ragni [156994] 25/06/2012

Spessore Altezza Base Spostamento2 1.5 17.8 27.2 0.06911332 6.5904435 43.2 46.272 40.32 6.1196725 6.941991 1.6 17.8 27.2 0.06382501 1.4 18 27.2 0.07362358

1.6 18.2 27 0.06160806

1.4 17.8 27.2 0.07518091

Sollecitazione2

6.053096

7.084602

Massa1

mm mm mm mm N/mm^2 (MPa) g

46.464

40.152

Nome del componente


1.4 18.2 27.2 0.07206156 6.9117895 40.488 43.56 46.656 6.4401555 6.0199545 1.5 18.2 27.2 0.06629116 1.6 18.2 27.2 0.06122446

Unit

Scenario23 Scenario24 Scenario25 Scenario26 Scenario27

Spessore Altezza Base Spostamento2

1.5 18 27.2 0.06767169

1.6 18 27.2 0.06251829

Sollecitazione2

6.5144185

6.092531

Massa1

mm mm mm mm N/mm^2 (MPa) g

43.38

46.464

Analizzato con SolidWorks Simulation

Simulazione diRettangolare Cava

Modeling and Simulation of Mechanical Systems - Master Degree Course

Contents
I Project report 2
2 2 2 3 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 5 5 7 8 8 9

1 Introduction 2 Customer requirements 3 Benchmark 4 Technical specications 5 Targets, goals and parameters 6 Mechanical system model and simulation 6.1 System simplications . . . . . . . . . . . 6.2 Kinematic approach . . . . . . . . . . . . 6.3 Force modeling . . . . . . . . . . . . . . . 6.4 System mechanical model . . . . . . . . . 7 Result discussions 8 Optimization 9 Conclusions

II

Attachments

10
10 12 14

10 Complete QFD Diagram 11 CAD Model 12 Maple script

13 CFD Simulation for aerodynamic drag coecients 59 13.1 Simulation images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 13.2 Coecients interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 14 Optimization: numeric simulations 65

References
[1] [2.a] [2.b] [3] P.J. Bristeau, P. Martin, E. Sala un, N. Pedit,The role of propeller aerodynamics in the model of quadrotor UAV, 2009, Procedings of the European Control Conference, 683-688 Propeller coecients database Brandt, J.B. and Selig, M.S., Propeller Performance Data at Low Reynolds Numbers, 2011, 49th AIAA Aerospace Sciences Meeting, AIAA Paper 2011-1255 P. Castillo, R. Lozano, A. Dzul, Stabilization of a Mini Rotorcraft with Four Rotors, 2005, IEEE Control Systems Magazine, 46-55

Mechanical Model for Quadcopter UAV 86

Você também pode gostar