View
655
Download
0
Category
Preview:
DESCRIPTION
The goal of this report is to define an iterative procedure that can be used to reach a good project of a quadcopter for aggressive maneuvers; this means lowtolerance to wind interference, high accelerations and an automatic control for stabilization. As we will see from QFD interviews, this type of quadcopter is themost requested from typical customers. To reach all those objectives, is important to define a good, robust and complete dynamic model, obtained through quaternions formulation.Force models for propeller are derived from experimental data and aerodynamic force are obtained through numeric simulations (CFD). Inertial values are acquired from an unbalanced, as a real object, CAD model. In section 8 is shown how to optimize quadcopter frame, to lower as much as possible total weight, via analytical or numerical (FEM) simulations. Must be taken into account that even the more refined model cannot provide perfect solutions against bad formed propeller or too high wind interference.
Citation preview
Universita degli Studi di Trento
FACOLTA DI INGEGNERIA
Course: Modeling and Simulations of Mechanical Systems
Course Project Report
Mechanical Modelfor Quadcopter UAV
Candidato:
Matteo RagniMatricola 156994
Anno Accademico 2011-2012
Modeling and Simulation of Mechanical Systems - Master Degree Course
Part I
Project report1 Introduction
The goal of this report is to define an iterative pro-cedure that can be used to reach a good project of aquadcopter for aggressive maneuvers; this means lowtolerance to wind interference, high accelerations andan automatic control for stabilization. As we will seefrom QFD interviews, this type of quadcopter is themost requested from typical customers. To reach allthose objectives, is important to define a good, ro-bust and complete dynamic model, obtained throughquaternions formulation.
Force models for propeller are derived from ex-perimental data and aerodynamic force are obtainedthrough numeric simulations (CFD). Inertial values areacquired from an unbalanced, as a real object, CADmodel. In section 8 is shown how to optimize quad-copter frame, to lower as much as possible total weight,via analytical or numerical (FEM) simulations. Mustbe taken into account that even the more refined modelcannot provide perfect solutions against bad formedpropeller or too high wind interference.
2 Customer requirements
The first question we have to take into account is: whoare costumers? We can identify four possible main cos-tumers, whose requirements have to be deeply consid-ered:
� hobbyist;
� scientist whom uses quadcopter for geophysicallogging;
� scientist whom uses quadcopter for research inautomation controls and robotics;
� assembler for ready-to-fly quadcopter.
With our simulation of QFD, we succeeded to collectrequirements from the first type of costumers (hob-byist) through interviews1. In the interview were 19multiple-choice questions plus an open question aboutfunctional behavior of an hypothetical quadcopter.
From interview we have extracted 7 main customer re-quirements. Relative importance for each customer re-quirements was judged by Kano method, through fur-ther interviews formed byfeel if [requirement] imple-mented/not implemented questions. Results of thosetwo interviews are summed up in Table 1. Records inmagenta will not be further considered to get a simplerproblem.
#. Customer requirements KIdx
1. It adapts to environmental conditions 0.33
2. It has an human/sensors interface 0.26
3. It is easy to assemble/repair/transport 0.22
4. It has an attractive aspect 0.21
5. It travels at high speed 0.17
6. It has propeller’s blades protections 0.11
7. It has elements in recycled materials 0.06
Table 1: Customer requirements and relative ranks (KIdxstands for Kano index)
Some of those requirements import several issuesin our model approach. The first requirement, for anexample, changes air density value that must be consid-ered for force models (ρ@1000mslm = 1.112 kg/m3), andalso changes the automatic control approach that mustbe persecuted to stabilize the system. The third andsixth requirements have several implications on framedesign and weight. Beside what was expected, cus-tomers do not bother about quadcopter life-time.
3 Benchmark
In this section we compare what market already of-fers against our customer requirements. Beside all DIYprototypes and kits that are available, I have selectedthree different model:
� Parrot A.R. Drone;
� Xenus L;
� Anteos L.
1To make interview Google Form service were used. For privacy restrictions, only interview results are reported in this file.Form (Italian version) is available online at QFD Form (Google Docs).
Mechanical Model for Quadcopter UAV — 2
Modeling and Simulation of Mechanical Systems - Master Degree Course
If first and second can be considered as toys, the lastone differs for dimensions and aims. In fact AnteosL is an high payload stable quad rotor used for pro-fessional, low cost filming and geophysical logging. Itrequires a specific license and its flights must be ap-proved by nearest control tower. Benchmark are madesumming up data collected from company’s sites andspecific forums (AeroQuad, Mikrokopter.de, etc...). Infact, results compared to customers requirements aremade by customers themselves. Table 2 summarizesresults:
C.R. Model
P X A
1. 2 3 4 1 2 3 4 5
2. 5 3 3
3. 4 2 2
4. 5 2 2
5. 3 4 5
6. 3 1 1
7. 3 1 1
Score 3.61 2.55 2.92
P Parrot A.R. Drone; X Xenus L; A Anteos L.
Table 2: Benchmark results
Parrot A. R. Drone, that is product for hobbyistmarket, seems to be prototype that responds better toour customers requirements.
4 Technical specifications
Customer requirements cannot be used for solutionscomparison, so we need to provide a list of techni-cal specifications. Each customer requirement gener-ates one or more technical specifications that can bein competitions with others. Table 4 summarizes spec-ifications against customer requirements. Records inmagenta will not be further considered to get a sim-pler problem. For example, consider z coordinate ofcenter of mass. This value should be under plane iden-tified by set of propeller’s barycenter. In this case,system can be approximate to a simple pendulum. Ifz coordinate is above the plane, system can be eas-ily approximated to an inverse pendulum, so stabilitybecomes a very hard aim to reach. It is easy to un-derstand why weight has a so strong impact on many
of customer requirements. Some of those specificationsare related each other, with positive or negative rela-tions. In case there is a negative relation, a trade offbetween two specification must be found, as functionof their relative importance. Table 4 summarizes thislast aspect.
SpecificationRequirements1. 2. 3. 4. 5. 6. 7.
A. Mass 9 9 3 3 9 9B. Hor. Area 9 3 3 3 3 1C. Ver. Area 9 3 1 3 1 1D. Z C. of mass 9 9E. Z Speed 3 9 3F. XY Speed 3 3 9 3G. Stall angle 3 9 3H. RF Channels 9I. Arms length 9 9 3 3 3J. Max current 3 3 9K. Tight. torque 3 1L. Thrust force 9 9 9 3M. Drag torque 9 9 9 3
1 low impact 3 medium impact 9 strong impact
Table 3: Technical specifications
Stall angle stands for maximum inclination alongpropeller plane at which maximum propeller force isenough to balance system weight.
A. B. C. D. E. F. G. I. L.M. -1 9 9L. 9 9 9I. 3 3 3 1G. -1F. -1 -1 3E. -1 -1D.C. 9B. 9
-1 Negative relation 1 Low relation
3 Relative relation 9 Strong relation
Table 4: Relative technical specifications relations
One can note strong relations between thrust forceand drag force. This relation derives from aerodynamiclocal force generated by propellers’ rotation, from witchboth phenomena track their origin. If we desire a greatthrust force, we have also to face against a great drag
Mechanical Model for Quadcopter UAV — 3
Modeling and Simulation of Mechanical Systems - Master Degree Course
torque, that in many cases acts as a disturbance onsystem’s stability.
5 Targets, goals and parameters
Now that we have clearly defined specifications, we candefine some targets for our system. Strong relations al-low us to reduce total number of goals to some that arefundamentals.
Specification Target
Mass m ≤ 3.5 kgStall angle φstall ≥ 45°Z Speed z ≥ 20m/s
Table 5: Targets
Those targets imply all others specifications, asthrust force or dimensions. In fact, those others can beused as parameters for system design. Constrains onmass implies maximum frame volume, batteries, and,therefore, constrains on maximum length or shape forpropellers’ arms. A list of possible parameters are:
� propellers’ arms length: L;
� propellers’ arms shape (2 or 3 parameter, used inoptimization);
� propellers radius and average cord: Rpropeller andcavg;
� materials used;
and so on. Some parameters can be seen in figure 1. Itis obvious that this set of targets is not sufficient to geta stable systems, and other parameters should be setabout closed-loop control system (such as input errorsand settlement times on each controlled variable), butin this document will not be examined thoroughly. Intable reported in section 10 all QFD results discussedfrom section 2 to section 5 are summed up into houseof quality diagram.
L_MCB
Z_C
B
Radius
Proprietà Valore Unità
Massa 2625.40 g
xG -8.79 mm
yG 3.65
zG 1.57
Lxx 60666424.25 g mm^2
Lyy 60677857.88
Lzz 120000774.39
Lxy 1491.78
Lxz 284.59
Lyz 3001.50
z
x y
Figure 1: Quadcopter’s main parameter from CAD model
6 Mechanical system model andsimulation
Mechanical modeling is done in Maple using MB-Symba r6 and other packages. Analysis will proceedin this way: first of all there are some considerationsabout system simplifications. Then the chosen kine-matic approach will be explained. System of force willbe analyzed deeply. At last point, will be sketched asimpler dynamic system to understand what was doneto define Maple model.
6.1 System simplifications
There are a lot of simplifications, and not all of themcan be proofed only with computer modeling.
First of all, we have a clash between a stiff prob-lem (angular speed of propellers too fast w.r.t. centralsystem body angular speed) and a very complex set ofequations. Solutions can be found only with an hugeuse of memory2, so we have decided to neglect pro-pellers’ inertial effects in the model. This assumptionis not new to quadcopter modeling and was often gaveas standard assumption in literature [1, 3].
There are many approximations in aerodynamicmodel for propeller force and torque, most of them de-rived from limit interpretation of [1] equations. Thosesimplified equations should be proved experimentallyto be confirmed. Experimental data are derived from
2With my computer, Maple’s garbage collector system always reached threshold value during numeric integration with stiffoption set to true, interrupting computations.
Mechanical Model for Quadcopter UAV — 4
Modeling and Simulation of Mechanical Systems - Master Degree Course
online database and compared with unofficial data col-lected by hobbyist.
The last strong simplification regards propellers’arms deflections. Shape of arms is optimized to granteea total deflection littler than 0.1mm, enough to con-sider the central body as rigid.
6.2 Kinematic approach
System is composed by a single rigid body with 6 de-grees of freedom, 3 translations {x(t), y(t), z(t)} and3 rotations, defined by a quaternion vector: ~q ={q0(t), q1(t), q2(t), q3(t)}, so reference system is inform (equation 4.1 in Maple script, variable TMquad):
[TM ] =
x(t)
R3×3(~q) y(t)z(t)
0 0 0 1
(1)
Origin of reference is in system center of mass. Fora simpler definitions of force, another reference sys-tem is defined in the geometrical center of quadcopter(TMquad2). The use of quaternions grants complete ab-sence of singularities, that can occurs during aggressivemaneuver. All functions necessary to make computa-tion with quaternion are defined in the first part of thescript.We need to add to all set of equation a constraintabout quaternion:
|~q| = q20 + q21 + q22 + q23 = 1 (2)
This equations is implicitly used to get a simplificationand maintains system an ODE type. Representationof reference system is portraited in figure 7.
6.3 Force modeling
There are three main forces that must be modeled.The first one, and simpler, is gravitational force, anddefined in the script by gravity variable. The sec-ond force is propeller thrust and propeller drag. If weconsider a single propeller:
0.7 R
FT
MD
w
Propeller force distribution
Figure 2: Propeller forces and aerodynamic force distri-bution
As suggested in [1], thrust force and drag momen-tum are the major effect that must be taken into ac-count. Bending momentum, even if present on a singleblade of propeller, is balanced by bending momentumon the opposite blade, so its effects on central bodycan be neglected. From equations of lift and drag coef-ficients, and inversion of those definitions, it is possibleto find an expression for lift force and drag momen-tum. To get numeric values, we can suppose that withan extreme approximation, to get a stall angle greaterthan 45° with a mass of 3 kg, propeller must impose aforce of: FT ≈ 1/4 3 kg g cos(45°) = 5.3N at low an-gular speed. This means that we can select as initialtype of propeller an APC − 13 × 63, and its value oflift and drag coefficients are tabulated online at [2.a]and how data is collected is explained in [2.b]. Ex-perimental data are interpolated with an exponentialfunction, and interpolation results can be seen in fig-ure 3. Thrust force and drag momentum are definedas functions of angular ratios:
FT (ω) =1
2ρCL(ω)S v2 =
=1
2ρCL(ω) (Rcavg) (.7Rω)2 (3)
MD(ω) =1
2ρCD(ω)S v2 (.7R) =
=1
2ρCD(ω) (Rcavg) (.7Rω)2 (.7R) (4)
To validate model we have compared results of forcew.r.t. some experimental data retrieved from forums
3There are two type of propeller: clockwise and anticlockwise, used to balance drag torque. For anticlockwise propeller only ωand MD change signs. FT is positive in both cases.
Mechanical Model for Quadcopter UAV — 5
Modeling and Simulation of Mechanical Systems - Master Degree Course
and collected by hobbyist, in figure 4. Our modelis only compared with, and not based upon, becausethose data cannot be verified.
Figure 3: Cd and Cl interpolation
Figure 4: Force model and Drag torque compared to ex-perimental data. Propeller reactions are in-tended only positive.
The last force that must be modeled is force thatapparent wind, as difference between system speed andwind speed, generates on quadcopter. To get an eas-ier formulation, aerodynamic force components are de-fined in system’s reference frame. Aerodynamic forces
follow the same behavior of propeller force, but a valueof drag coefficient must be provided in function of oursystem shape. To obtain a numeric value, we can try tomake a CFD simulation4 of the body (see section 13),for different airflow speed. Using principle of conserva-tion of linear momentum for fluids, we can approximatecoefficient with:
C =∆p
1
2ρ v2
(5)
where ∆p is pressure drop of airflow due to presenceof model in simulated wind gallery. Coefficient for xzplane and yz plane can be considered equal, due tomodel symmetry. With CAD model is easy also toevaluate exposed surface to fluid impact. Results ofsimulations are presented in figure 5 and in figure 6are presented aerodynamic forces, evaluated with nextequations:
F zwind = −
(vz|vz|
)1
2ρCxy Sxy (vz − vzwind)2 (6)
F iwind = −
(vi|vi|
)1
2ρCiz Siz (vi − v
iwind)2 (7)
∀i ∈ {x, y}
Figure 5: Wind coefficients Cxyand Ciz
4Aerodynamic simulation are done by SolidWorks Flow Simulation.
Mechanical Model for Quadcopter UAV — 6
Modeling and Simulation of Mechanical Systems - Master Degree Course
Figure 6: Aerodynamic forces
With this last one we have completed forces mod-eling, and we can focus on model of the system.
6.4 System mechanical model
Once defined model of forces, dynamic system modelis quite simple, and is obtained through an applicationof Newton-Euler equation to our system model. Wecan use formulations of velocity and angular acceler-ations to get down order equations, necessary to so-lutions of dynamic second order differential equations.Angular accelerations and barycentric velocities are de-rived from solutions of this two equations:
[TM ]
G− [TM ]×
u(t)v(t)z(t)
0
= 0 (8)
d~q
dt− 1
2Q(~q)×
0
ωx(t)ωy(t)ωz(t)
= 0 (9)
with implicit substitutions of quaternion constraint 2.
Ground X
Ground Z
Ground Y
Ground 0
y(t), v(t),m ,w(t) (t)
x(t), u(t),f ,w(t) (t)
z(t), w(t),y ,w(t) (t)
mg
Fwind
gi(t)
31
4
2
i
i
gi
gi
2
3
1
FT( )
MD( )
Figure 7: Force and kinematic
From the scheme in figure 7 we can derive a simpli-fied version of equations of motion defined in systemcenter of mass:
0 = −[ ∑
i FTi + Fw∑i(MDi + Li × FTi) + 0× Fw
]+
+
[m · I 0
0 J
]×(~u
~ω
)+
[0
~ω × J~ω
](10)
where J is moment of inertia about center of mass.Equations of motion is formed by set of equations: {Eq.8 ∪ Eq. 9 ∪ Eq. 10}5. As can be seen in Maple script,numeric solutions depends from initial conditions andfrom a set of 8 parameter: 4 angular speed of propellerand 3 wind velocities in absolute frame. As alreadysaid, system is not stable and should be linearized todefine a control law (system diverge from stable con-dition in less than 2 s): here is plotted an example ofpositions of quadcopter after 1 s and 3 s6.
5nequations = 6 + 4 + 3 = 13, with implicit declaration of Eq. 2, for nunknows = dim(~x, ~u, ~q, ~ω}) = 3 + 3 + 4 + 3 = 13.6For simplicity, quaternions values are returned in Euler angles.
Mechanical Model for Quadcopter UAV — 7
Modeling and Simulation of Mechanical Systems - Master Degree Course
Figure 8: Solutions
Figure 9: Quadcopter position simulation
Linearization around this equilibrium point is agood start for control and stabilization analysis.
7 Result discussions
It is time to discuss our results in comparison withtechnical specifications. With this initial solution,even if our system is not been already optimized, itcan maintain its overall mass lighter than target value(2.62 kg ≤ 3.5 kg). This is the most important techni-cal parameter, and is fundamental to reach this target.
Stall angle, as it has been defined, is strictly con-nected to thrust force that propellers is able to impose:as our propeller can potentially reach 15N of thrust,we can approximate a stall angle of ∼ 60°, that followsour specifications indication.
With some test performed using D’Alembert prin-ciple we have found that with propeller angular speedset {γ1 = 424, γ1 = 431, γ1 = 448, γ4 = 441} s−1 sys-tem can perform a stationary flight with vertical speedz ≈ 20m/s. Even in this case, stationary flight is notstable.
8 Optimization
Structural optimization aims to minimize mass offoverall system. In the first version of analysis, we se-lected ABS, a plastic polymer, for central body frame.Once note propeller force and torque, it was obviousthat this material has a too low Young’s module, sodeflections were too high, against our hypothesis ofrigid body. To maintain this hypothesis, only for thecentral part of the frame, material selection passed toan aluminum alloy. Optimization is done consideringminimization of mass, with constrains of deflection andyield stress:
min (ρAl LA) = W√(1
3
P L3
E Jx
)2
+
(1
2
M L2
E Jy
)2
≤ L
3000(11)√(
M
Jy
)2
+
(P L
Jx
)2
d∗ ≤ σY Al
sf
were d∗ is maximum stress point distance from areabarycenter and sf = 2 is a security factor. Ana-lytical solutions is performed only for hollow circularshape and H section beam. For the other shape, so-lution are performed using SolidWorks Simulation andSolidWorks Design Tools, in which better solution issearched through a discrete set of configuration. Be-cause of Simulation take into account of gravity, resultsseems to be a little different, but we have consideredthat phase littler than 0.1mm are insignificant for areal model. The next figure summarize optimizationproblem:
Mechanical Model for Quadcopter UAV — 8
Modeling and Simulation of Mechanical Systems - Master Degree Course
A A
SEZIONE A-A
Di
s
a
b
h
b
a
s
a
b
s
b
h
SOLUTION 1 SOLUTION 2 SOLUTION 3 SOLUTION 4 SOLUTION 5
Figure 10: Optimization shapes considered, with param-eters.
Next tables summarize results for optimization7.Analytical studies can be found in latter pages of maplescript, numerical studies are in attachments, as auto-matically generated SolidWorks reports.
Num.Sol. An.Sol. Num.Goal An.Goal
Di = 32 31.30 W = 118.99 130.91s = 1.4 1.51 δ = 0.099 0.099
σ = 2.845 2.639
Table 6: Solution 1
Num.Sol. An.Sol. Num.Goal An.Goal
a = 4 5.75 W = 255.96 376.95b = 34 35 δ = 0.097 0.100h = 19 22.44 σ = 4.126 2.715
Table 7: Solution 2
Num.Sol. Num.Goal
s = 7 W = 111.3a = 30 δ = 0.096b = 30 σ = 3.488
Table 8: Solution 3
Num.Sol. Num.Goal
a = 12.5 W = 129.375b = 7.5 δ = 0.098
σ = 3.488
Table 9: Solution 4
Num.Sol. Num.Goal
b = 26.8 W = 39.816s = 1.4 δ = 0.076h = 17.8 σ = 7.164
Table 10: Solution 5
The best solution seems to be the number 5, withdimensions specified in Table 10.
9 Conclusions
The aim of this document was, previous than define acomplete model, find an iterative procedure that canbe used to project a good quadcopter for aggressivemaneuvers. That’s why, in model definition, we haveused quaternions for rotation, and that’s why we haveimposed so extreme technical specifications on speedand stall angle. This procedure, however, lacks of thefundamental automatic control analysis, but also showshow it is possible with some iteration optimize modelto lower mass, that is a crucial objective. It allows usto change type of propeller (first choice that we havedone, even before definition of mechanical model), andgenerates a complete new set of constraints, even in op-timization procedure (because of change of maximumload). Main limit of mechanical model presented is inthe automatic code generated for quadcopter electron-ics, because of the incredibly complex equations thatquaternions algebra generates, difficult to be evaluatedby a simple µ-controller. An improvement of this anal-ysis must consider the automatic control.
7Dimensions are in mm. Deflections are in mm. Mass is in g. Stress is in MPa.
Mechanical Model for Quadcopter UAV — 9
Modeling and Simulation of Mechanical Systems - Master Degree Course
Part II
Attachments
10 Complete QFD Diagram
Next page contains attached documents in which is presented all results about QFD investigations, describedin sections 2, 3, 4 and 5.
Mechanical Model for Quadcopter UAV — 10
Modeling and Simulation of Mechanical Systems - Master Degree Course
11 CAD Model
In the next page, the CAD model is shown, with some of real object parameters. This model was used toretrieve inertial data for mechanical studies, and it was modified to follow better technical specifications. Whatis presented is only the last version, and it lacks only of structural optimization alterations.
Mechanical Model for Quadcopter UAV — 12
330
300
B
B
APC
13x6
Des
ire 3
3c L
iPo
Batt
Mic
roco
ntro
ller A
RM
EEC
S 20
AAlu
min
um C
entra
l Fra
me
MK3
638ABS
Pro
pelle
rs' p
rote
ctio
ns
SEZI
ON
E B-
B
Alu
min
ium
pro
pelle
r hol
der
12 w
ind
ings
, bal
l bea
rings
Cur
rent
20A
RPM
/V77
0 rp
m/V
Thru
st m
ax22
00 g
Shaf
t4
mm
Wei
ght
125
g
Che
mist
ryLiP
oly
Ratin
g7.
4V 3
.3A
hW
eigh
t20
7 g
Disc
harg
e10
8.9
A
B C D
12
A
32
14
BA
56
TITO
LO:
N. D
ISEG
NO
SCA
LA:1
:10
1 D
I 1
A4
C
Dise
gno
5
Qua
dcop
ter C
AD
Mod
el
PESO
: 2.6
254
Kg3
4M
atte
o Ra
gni [
1569
94]
Modeling and Simulation of Mechanical Systems - Master Degree Course
12 Maple script
This section contains the attached Maple script in which is defined the mechanical model of quadcopter and itslinearization for further automatic control and stabilization analysis. In last section of script there is analyticaloptimization for two section shape.
Mechanical Model for Quadcopter UAV — 14
(1.1.1)(1.1.1)
> >
> >
> >
Libs and tools
restart;
Libs declarations
In this section will be declared Maple's libs used in this worksheet:if true then: System := kernelopts(platform): if System = "unix" then libname := libname, cat(getenv("HOME"), "/Università/Ingegneria Meccatronica Robotica/Modeling and simulation of mechanical systems/Software"): elif System = "windows" then libname := libname, "D:\\Data\\Università\\Ingegneria Meccatronica Robotica\\Modeling and simulation of mechanical systems\\Software": end if: with(plots): with(plottools): with(LinearAlgebra): with(MBSymba_r6); with(CAD[SolidWorks]); with(Matlab); with(Optimization); with(DynamicSystems);end if:
interface(rtablesize=100):kernelopts(numcpus=8): kernelopts(numcpus);
'Loaded_Modules' = packages();8
Tools DeclarationsIn this section a huge list of useful tools are decleared. That tools will be used in the worksheet:
Procedure to calculate a jacobian of a vectorial function with rispect to a list of function.
jacobian := proc(f::{list,Vector},x::{list,Vector}) local nx,j, x2y,y2x: if type(x,Vector) then nx := Dimensions(x): else nx :=nops(x): end: x2y := [seq(x[i]=y[i],i=1..nx)]: y2x := [seq(y[i]=x[i],i=1..nx)]:
j := VectorCalculus[Jacobian](subs(x2y,f),subs(x2y,x)): return(subs(y2x,j)):
> >
> >
> >
> >
end proc:
eval_tau := proc(xd::{list,Vector},Phi::{list,Vector},xi::{list,Vector},$) return collect(simplify( - MatrixInverse( jacobian(Phi,xd) ) . jacobian(Phi,xi) ,size),diff): end:
Least Square Problem SolverSolve a Least Square problem of the constraint equations:quadraticProblem := proc(Phi,JPhi_xd,guess,dof,data,nsteps,tol,$) local qi,NPhi,NA,NB,A,B,i,Dq, ssqi,res: qi := subs(guess,xd): ssqi := [seq(xd[i]=qi[i],i=1..nops(xd))]: NPhi := subs(data,dof,Phi): NA := subs(data,dof, Transpose(JPhi_xd).JPhi_xd): NB := subs(data,dof,-Transpose(JPhi_xd).<Phi>):
#printf("Start least square solution ---------\n"); for i from 1 to nsteps do: A := subs(ssqi,NA): B := subs(ssqi,NB): Dq := LinearSolve(A,B): qi := convert( <qi>+Dq,list): ssqi := [seq(xd[i]=qi[i],i=1..nops(xd))]: res := Norm(<evalf(subs(ssqi,data,dof,Phi))>, 2, conjugate = false): #printf("i = %2d - res = %f\n",i,res); if (res < tol) then printf("Solution found: iterations = %2d - res = %f\n",i,res); break: end : end do:
return ssqi:
end proc:
Dynamic2dThe next procedures evaluate NE equations of a 2D body (3 equations of second order, N: x andy components. E: z component). The Euler equations are evaluated w.r.t. center of mass of the body.
Dyna2D := proc(body::BODY,forces::set, $) printf(" ------ NEWTON ------ \n"); newton_equations({body} union forces,true): printf(" ------ EULERO ------ \n"); euler_equations({body} union forces,CoM(body),true): return collect(simplify([comp_X(%%),comp_Y(%%),comp_Z(%)],size),{diff}):end:
Dynamic3d
The next procedures evaluate NE equations of a 3D body (6 equations of second order). The Euler equations are evaluated w.r.t. center of mass of the body.
Dyna3D := proc(body::BODY,forces::set, $) printf(" ------ NEWTON ------ \n"); newton_equations({body} union forces,true): printf(" ------ EULERO ------ \n"); euler_equations({body} union forces,CoM(body),true): return collect(simplify([comp_XYZ(%%),comp_XYZ(%)],size),{diff}):end:
> >
> >
> >
Dyna3DSE := proc(body::BODY,forces::set,TM, $) printf(" ------ NEWTON ------ \n"); newton_equations({body} union forces,true): printf(" ------ EULERO ------ \n"); euler_equations({body} union forces,CoM(body),true): return collect(simplify([comp_XYZ(%%,TM),comp_XYZ(%,TM)],size),{diff}):end:
Quaternions AlgebraIn this section are declared all functions and procedures used for quaternions algebra: note that all definitions end with the label "_quat".
# Creates a new quaternion: # q = <q0,q1,q2,q3>make_quat := q -> < q||0(t), q||1(t), q||2(t), q||3(t) >:
# Angular ratio of a quaternion: # w = <0,w1,w2,w3>makeAngVel_quat := omega -> < 0, omega||1(t), omega||2(t), omega||3(t) >:
# Quaternion conjugate: # qc = <q0,-q1,-q2,-q3>conj_quat := q -> < q[1], -q[2], -q[3], -q[4] >:
# Derivatives of quaternion components# dq = <dq0,dq1,dq2,dq3>diff_quat := q -> < seq( diff(q[i],t), i=1..4 ) >:
# Quadratic norm of a quaternion# |q|^2abs2_quat := q -> Transpose(q).q:
# Norm of a quaternion# |q|abs_quat := q -> sqrt(abs2_quat(q)):
# Inverse of a quaternion# q^-1 = qc/|q|^2inverse_quat := q -> conj_quat(q)/abs2_quat(q):
# Multiplicative matrix of a quaternion# Q(q)Q_quat := proc(q) local q0,q1,q2,q3: q0 := q[1]: q1 := q[2]: q2 := q[3]: q3 := q[4]: << q0 | -q1 | -q2 | -q3 >, < q1 | q0 | -q3 | q2 >, < q2 | q3 | q0 | -q1 >, < q3 | -q2 | q1 | q0 >>; end:
# Multiplicative conjugate matrix # QC(q)QC_quat := proc(q) local q0,q1,q2,q3:
> >
> >
> >
q0 := q[1]: q1 := q[2]: q2 := q[3]: q3 := q[4]: << q0 | -q1 | -q2 | -q3 >, < q1 | q0 | q3 | -q2 >, < q2 | -q3 | q0 | q1 >, < q3 | q2 | -q1 | q0 >>; end:
# Product between quaternions# p*q = Q(p).q prod_quat := (p,q) -> Q(p).q:
# Rotational quaternion# q = < cos(a/2), nx sina(a/2), ny sina(a/2), nz sina(a/2)>make_rotation_quat := proc(alpha,nx,ny,nz) < cos( alpha/2 ), nx*sin( alpha/2 ), ny*sin( alpha/2 ), nz*sin( alpha/2 ) >: end:
# Rotation matrix from a quaternion. Return also the constrainrotation_matrix_quat := proc(q) local rotation_matrix, constrain: constrain := abs2_quat(q) = 1: rotation_matrix := subs( constrain, ( 1/abs2_quat(q) ) * ( Q_quat(q).Transpose(QC_quat(q)) ) ): return rotation_matrix, contrain; end:
# Return a standard 3x3 rotation matrix from a quaternion rotation matrixextract_rotation_matrix_quat := A -> A[2..4,2..4]:
# Creates a frame given a quaternion and a origin positionTM_quat := proc(q,x,y,z) local R,c: R,c := rotation_matrix_quat(q): R := extract_rotation_matrix_quat(R): << R[1..3,1],0 > | < R[1..3,2],0 > | < R[1..3,3],0 > | <x,y,z,1>>; end:
# Returns quaternions values for a given Eulerian rotation XYZEulerZYX2Quat_quat := proc(psi,theta,phi) local qx,qy,qz,qrot: qx := make_rotation_quat(phi,1,0,0): qy := make_rotation_quat(theta,0,1,0): qz := make_rotation_quat(psi,0,0,1): qrot := Q_quat( Q_quat(qz).qy ).qx: return qrot end:
> >
> >
> >
> >
> >
# Returns an Eulerian rotation from a quaternion that respects contraintQuat2EulerXYZ_quat := proc(q) return [ arctan( 2*(q[1]*q[2] + q[3]*q[4] ) / (1 - 2*(q[2]^2+q[3]^2))), arcsin( 2*(q[1]*q[3]-q[4]*q[2]) ), arctan( 2*(q[1]*q[4] + q[2]*q[3] ) / (1 - 2*(q[3]^2+q[4]^2))) ]; end:
Drawing proceduresProcedure to draw a mechanism 2D
drawMech := proc(PL::list(list(POINT)), data::list, sol::{list,set}, radius::scalar:=0.005, $) local p, pp1, pp2,pp3,pp4,plotList,ic,colorSet:
colorSet := ["DarkOrange", "MidnightBlue","OrangeRed","RoyalBlue", "DarkGray","DarkSlateBlue","Goldenrod","LawnGreen","MediumBlue"]: plotList := []:
ic := 1: for p in PL do: pp1 := subs(data,sol,[comp_X(p[1],ground),comp_Y(p[1],ground)]): pp2 := subs(data,sol,[comp_X(p[2],ground),comp_Y(p[2],ground)]): pp3 := subs(data,sol,plottools[disk](pp1,radius,color=yellow)): pp4 := subs(data,sol,plottools[disk](pp2,radius,color=yellow)): plotList := [op(plotList),plot([pp1,pp2],thickness=4,color=colorSet[ic]),pp3,pp4]: ic := ic+1: end : display(plotList,scaling=constrained,gridlines=true):
end proc:
Procedure to draw a mechanism 3DdrawMech3D := proc(PL::list(list(POINT)), data::list(`=`), dof::`=`, solK::{list(`=`),set(`=`)},$) local p, pp1, pp2,pp3,pp4,plotList:
plotList := []:
for p in PL do: pp1 := subs(data,solK,dof,[comp_XYZ(p[1],ground)]): pp2 := subs(data,solK,dof,[comp_XYZ(p[2],ground)]): pp3 := subs(data,solK,dof,plottools[sphere](pp1,0.05,color=yellow)): pp4 := subs(data,solK,dof,plottools[sphere](pp2,0.05,color=yellow)):
> >
> >
> >
> >
> >
plotList := [op(plotList),plottools[line](pp1,pp2,thickness=4,color=blue),pp3,pp4]: end :
display(plotList,scaling=constrained,axes=boxed,lightmodel=light3,style=surface):
end proc:
Procedure to draw an oriented polyedronThis procedure drawn an oriented polyedron given the parameter described in proc interface
DrawOrientedPolygons := proc( RF :: Matrix, # Transformation matrix 4x4 h :: {integer,float}, # height a :: {integer,float}, # X lenght b :: {integer,float}, # Y lenght (different for elliptical bases) LL :: {integer,float},$) # Number of later faces that must be rendered
local Origine, CentroSuperiore, SetPointSuperiore, CentroInferiore, SetPointInferiore, DiscoSuperiore, DiscoInferiore, Facce, displayObject, i:
Origine := RF[1..4,4]:
# Disegnare il disco superiore CentroSuperiore := evalf(Origine + RF.((h/2)*<0,0,1,0>)); SetPointSuperiore := [evalf( seq(convert((CentroSuperiore + RF.(<a*cos(2*Pi*i/LL),b*sin(2*Pi*i/LL),0,0>))[1..3],list),i=1..LL))]; DiscoSuperiore:=polygon(SetPointSuperiore);
# Disegnare il disco inferiore CentroInferiore := evalf(Origine - RF.((h/2)*<0,0,1,0>)); SetPointInferiore := [evalf( seq(convert((CentroInferiore + RF.(<a*cos(2*Pi*i/LL),b*sin(2*Pi*i/LL),0,0>))[1..3],list),i=1..LL))]; DiscoInferiore := polygon(SetPointInferiore); # Disegnare le pareti laterali Facce := []; for i from 1 to LL do: if (i < LL) then: Facce := [op(Facce),polygon([op(SetPointSuperiore)[i], op(SetPointInferiore)[i], op(SetPointInferiore)[i+1],
> >
> >
> >
> >
> >
> >
op(SetPointSuperiore)[i+1]])]; elif (i = LL) then: Facce := [op(Facce),polygon([op(SetPointSuperiore)[i], op(SetPointInferiore)[i], op(SetPointInferiore)[1], op(SetPointSuperiore)[1]])]; end if; end; displayObject := DiscoSuperiore,DiscoInferiore,op(Facce): return displayObject; end:
Procedure to drawn an oriented quadcopterThis procedure uses the last one to draw an oriented quadcopter given parameters described in proc interface. The displayobject returned by this procedured is only an indication of real position of quadcopter.
PlotQUADCOPTER := proc(TF :: Matrix, # Transformation Matrix 4x4 m1 :: {float,integer}, # Motors mass (cilindro) m2 :: {float,integer}, # CentralBody mass (quadrato) L :: {float,integer}, # Distance between CentralBody and motors r :: {float,integer},$) # Propellers radius
local Centro, CorpoCentrale, motore1, propeller1, Line1, motore2, propeller2, Line2, motore3, propeller3, Line3, motore4, propeller4, Line4, TFM1, TFM2, TFM3, TFM4, TFR1, TFR2, TFR3, TFR4, DrawingObject: Centro := TF[1..4,4]; CorpoCentrale := DrawOrientedPolygons(TF.Rotate('Z',Pi/4),evalf(m1),evalf(m1/2*sqrt(2)),evalf(m1/2*sqrt(2)),4):
TFM1 := evalf( <TF[1..4,1]|TF[1..4,2]|TF[1..4,3]|TF.<0,0,0,1>+TF.(L*<1,0,0,0>)>): TFM2 := evalf( <TF[1..4,1]|TF[1..4,2]|TF[1..4,3]|TF.<0,0,0,1>+TF.(L*<-1,0,0,0>)>): TFM3 := evalf( <TF[1..4,1]|TF[1..4,2]|TF[1..4,3]|TF.<0,0,0,1>+TF.(L*<0,1,0,0>)>): TFM4 := evalf( <TF[1..4,1]|TF[1..4,2]|TF[1..4,3]|TF.<0,0,0,1>+TF.(L*<0,-1,0,0>)>):
TFR1 := evalf( <TFM1[1..4,1]|TFM1[1..4,2]|TFM1[1..4,3]|TFM1.<0,0,0,1>+TFM1.(evalf(m2/2)*<0,0,1+0.3,0>)> ): TFR2 := evalf( <TFM2[1..4,1]|TFM2[1..4,2]|TFM2[1..4,3]|TFM2.<0,0,0,1>+TFM2.(evalf(m2/2)*<0,0,1+0.3,0>)> ): TFR3 := evalf( <TFM3[1..4,1]|TFM3[1..4,2]|TFM3[1..4,3]|TFM3.<0,0,0,1>+TFM3.(evalf(m2/2)*<0,0,1+0.3,0>)> ): TFR4 := evalf( <TFM4[1..4,1]|TFM4[1..4,
> >
> >
> >
> >
> >
> >
> >
> >
2]|TFM4[1..4,3]|TFM4.<0,0,0,1>+TFM4.(evalf(m2/2)*<0,0,1+0.3,0>)> ):
motore1 := DrawOrientedPolygons(TFM1,m2,evalf(m2/2),evalf(m2/2),20): motore2 := DrawOrientedPolygons(TFM2,m2,evalf(m2/2),evalf(m2/2),20): motore3 := DrawOrientedPolygons(TFM3,m2,evalf(m2/2),evalf(m2/2),20): motore4 := DrawOrientedPolygons(TFM4,m2,evalf(m2/2),evalf(m2/2),20):
propeller1 := DrawOrientedPolygons(TFR1,0.1,r,r,20): propeller2 := DrawOrientedPolygons(TFR2,0.1,r,r,20): propeller3 := DrawOrientedPolygons(TFR3,0.1,r,r,20): propeller4 := DrawOrientedPolygons(TFR4,0.1,r,r,20):
Line1 := line(convert(TF[1..3,4],list),convert(TFM1[1..3,4],list),thickness=round(5*m2),color=black): Line2 := line(convert(TF[1..3,4],list),convert(TFM2[1..3,4],list),thickness=round(5*m2),color=black): Line3 := line(convert(TF[1..3,4],list),convert(TFM3[1..3,4],list),thickness=round(5*m2),color=black): Line4 := line(convert(TF[1..3,4],list),convert(TFM4[1..3,4],list),thickness=round(5*m2),color=black):
DrawingObject := [CorpoCentrale, motore1, propeller1, Line1, motore2, propeller2, Line2, motore3, propeller3, Line3, motore4, propeller4, Line4]: return display(DrawingObject);end:
Numerical DataIn this section can be found all experimental data and numerical value for the parameters. At the end of this section, numerical value used for numerical integration are collected in a single variable named Data. Square brackets in comments are used to identificate dimensions.
DataLift := [ rho = 1.112, # [Kg / m^3] Radius = 13*2.54*0.01, # [m] CordAvg = 0.035 ]: # [m]DataWind := [ SYZ = 0.0595, SXY = 0.094 ]: # [m^2]ProbdDBData13x6 := <<1655|0.0936|0.0524>,<2019|0.0962|0.0523>,<2320|0.0972|0.0519>,<2616|0.0978|0.0513>,<2916|0.0996|0.0520>,<3209|0.1002|0.0520>,<3512|0.1008|0.0526>,<3805|0.1009|0.0522>,<4119|0.1014|0.0520>,<4406|0.1023|0.0522>,<4722|0.1029|0.0522>,<5001|0.1042|0.0522>,<5302|0.1065|0.0516>,<5598|0.1072|0.0514>,<5905|0.1096|0.0505>,<6213|0.1118|0.0503>>: # < [RPM] | Clift []| CDrag [] >MikroKData := <<0| 0.>, <.5| 100.00>, <1.0| 200.00>, <1.5| 300.00>, <2.0| 360.00>, <2.5| 435.00>, <3.0| 500.00>, <3.5|
> >
> >
> >
> >
> >
> >
> >
(2.1)(2.1)
> >
> >
> >
550.00>, <4.0| 600.00>, <4.5| 660.00>, <5.0| 720.00>, <5.5| 780.00>, <6.0| 820.00>, <6.5| 880.00>, <7.0| 920.00>, <7.5| 970.00>, <8.0| 1010.00>, <8.5| 1050.00>, <9.0| 1090.00>, <9.5| 1130.00>, <10.0| 1150.00>>: # < Current [A], Thrust [g]>
CWindFlowSimulationXY := <<4.759|0.0564>,<9.59|0.064>,<14.385|0.0506>,<19.18|0.0554>>: # < Vel [m/s] | CWind [] >CWindFlowSimulationZY := <<4.759|0.1624>,<14.370|0.1793>,<19.161|0.1908>,<23.952|0.1478>>: # < Vel [m/s] | CWind [] > DataCB := [ m = 2.62542189, # kg xG = -0.00878856, # m yG = 0.00364785, zG = 0.00157027, Lxx = 0.05384242, # kg*m^2 Lyy = 0.05385576, Lzz = 0.01066556, Lxy = 0.00000104, Lxz = 0.00000018, Lyz = -0.00000322]:DataGeom := [ L_MCB = 0.3, Z_CB = 0.0403]:Data := DataLift union DataWind union DataCB union DataGeom;
Here I had another idea, that will be implemented when the next version of Maple will be avaiable. Inertial and dimensional data may be queried via SolidWorks local server. This is a very simple method to obtain an update set of data, but version that I'm using now can access only dimensions (andnot inertial SolidWorks's variables). To open a connection to SolidWorks simply use command OpenConnection():then open the model using the command Document := OpenDocument("C:\Address_to_file\file.sldasm"):The variable Document now contains a pointer variable to assembly file (loaded in SolidWorks: noticethat SolidWorks may ask to rebuild the components, so we have to pay attention that server isn't waiting for user input): in the next command and retrieve dinmensions lists:GetDimensionsList(Document);GetDimensionsList(Document,component="part1-1"); (we have to choose an eventually configuration, if different from Default one) Once we know the dimensions avaiable, we can query them with command:DimensionsList := GetDimensionValue(Document, ["Dimension1@part1-1",...,"Dimension2@part1-1"]):
Force Components Modeling
Gravity Force_gravity := make_VECTOR(ground,0,0,-9.81):
Propeller Thrust Force and Propeller Drag Torque
The propeller thrust force and propeller drag torque are modeled using some sperimental information obtained for our specific propeller (APC 13x6). The value for Clift and CDrag for various type of propeller can be found online at http://www.ae.illinois.edu/m-selig/props/propDB.html#APC. In fact, as we know that analitically those two coefficient are defined as follows:
> >
> >
> >
> >
> >
(3.2.1)(3.2.1)
> >
> >
> >
> >
we can approximate the Thrust Force (or Lift force) as follows (using typical approximation for propeller):
and a drag torque imposed by propeller rotation:
(0.7 is a typical scale factor). First we have to define Cl and Cd functions, from experimental data:<<'RPM'|'CLift'|'CDrag'>>;ProbdDBData13x6;
OmegaPropDB := [seq(evalf(Pi*ProbdDBData13x6[i][1]/30),i=1..16)]:
CLPropDB := [seq(ProbdDBData13x6[i][2],i=1..16)]:CDPropDB := [seq(ProbdDBData13x6[i][3],i=1..16)]:
# Creation of spline interpolation of Clift:CliftData := [seq( [ OmegaPropDB[i],CLPropDB[i] ],i=1..nops(OmegaPropDB)) ]:CLift := unapply(CurveFitting[Spline](CliftData,omega,degree=3,endpoint='notaknot'),[omega]):
# Creation of spline interpolation of CDrag:CdragData := [seq( [ OmegaPropDB[i],CDPropDB[i] ],i=1..nops(OmegaPropDB)) ]:CDrag := unapply(CurveFitting[Spline](CdragData,omega,degree=2,endpoint='notaknot'),[omega]):
display(array(1..2,[display([pointplot([OmegaPropDB,CLPropDB],legend="Experimental"), plot(CLift(omega),omega=OmegaPropDB[1]..OmegaPropDB[nops(OmegaPropDB)],legend="Spline interpolation")], title="CLift",thickness=2),display([pointplot([OmegaPropDB,CDPropDB],legend=
> >
> >
> >
> >
> >
> >
> >
> >
> >
"Experimental"), plot(CDrag(omega),omega=OmegaPropDB[1]..OmegaPropDB[nops(OmegaPropDB)],legend="Spline interpolation")], title = "CDrag",thickness=2)]));
ExperimentalSpline interpolation
w
200 300 400 500 600
CLift
ExperimentalSpline interpolation
w
200 300 400 500 600
CDrag
# Definition of the force FLift and MDrag:FLift2 := omega -> 0.50 * 0.7^2 * rho * CLift(omega) * omega^2 * Radius^3 * CordAvg: # NMDrag2 := omega -> 0.50 * 0.7^3 * rho * CDrag(omega) * omega^2 * Radius^4 * CordAvg: # N*mFLift174omega := FLift2(174):MDrag174omega := MDrag2(174):
FLift := omega -> piecewise( omega <= -174, (-1)*FLift2(-omega), omega > -174 and omega < 174, FLift174omega*omega/174, omega >= 174, FLift2(omega) );MDrag := omega -> piecewise( omega <= -174, (-1)*MDrag2(-omega), omega > -174 and omega < 174, MDrag174omega*omega/174, omega >= 174, MDrag2(omega) );
display(array(1..2, [plot(subs(DataLift,FLift(omega)),omega=0..650,title="FLift(omega)",thickness=2 ), plot(subs(DataLift,MDrag(omega)),omega=0..650,title="MDrag(omega)",thickness=2)]));
> >
> >
> >
> >
> >
> >
> >
> >
w
0 100 200 300 400 500 6000
2
4
6
8
10
12
14
16FLift(omega)
w
0 100 200 300 400 500 6000
1
MDrag(omega)
Obviously, this function cannot be used to evaluate the dynamic of quadcopter, due to singularities that splines and approximetions generate. As we can see, I have implemented those two functions only to compare results of approximations.I have decided to approximate the value of CL and CD with continuos parametric functions, in wich parameters are defined with a minimization of function:
> >
> >
> >
> >
> >
> >
> >
> >
> >
PARAM_C cannot be automatically minimized (an automatic minimization will return obviously the minimum value possible), so will be chosen manually. We can do the same minimization with CD coefficient. This is the best way that I have found to interpolate experimental data. The interpolation systems already implemented in Maple create non continuos (piecewise) functions, that cannot be used in numeric solvers.infolevel[Optimization] := 3:# Speed of exponential functionPARAM_T := 45:
printf(" STARTING CLIFT APPROXIMATION \n ----------------------------\n");residualsLift := [seq( CLPropDB[i] - (PARAM_A+PARAM_B*OmegaPropDB[i])*( 1-exp(-OmegaPropDB[i]/PARAM_T)),i=1..16)]:optimizedL:=op(LSSolve(residualsLift))[2]:Param_A := subs(optimizedL,PARAM_A);Param_B := subs(optimizedL,PARAM_B);
CLiftApprox := omega -> (Param_A + Param_B*omega) * ( 1-exp(-omega/PARAM_T));
printf(" STARTING CDRAG APPROXIMATION \n ----------------------------\n");residualsDrag := [ seq( CDPropDB[i] - (PARAM_C+PARAM_D*OmegaPropDB[i])*( 1-exp(-OmegaPropDB[i]/PARAM_T)),i=1..16)]: optimizedD:=op(LSSolve(residualsDrag))[2];Param_C := subs(optimizedD,PARAM_C);Param_D := subs(optimizedD,PARAM_D);
CDragApprox := omega -> (Param_C + Param_D * abs(omega)) * ( 1-exp(-omega/PARAM_T));
display(array(1..2, [display([pointplot([OmegaPropDB,CDPropDB]), plot(CDragApprox(omega),omega=0..700,thickness=2)], view=[0..700,0.02..0.08],title="CDrag Approximation",gridlines=true), display([pointplot([OmegaPropDB,CLPropDB]), plot(CLiftApprox(omega),omega=0..700,thickness=2)], view=[0..700,0.08..0.12], title="CLift Approximation",gridlines=true)]));
STARTING CLIFT APPROXIMATION ----------------------------LSSolve: calling linear LS solverLSSolve: calling solver for linearly-constrained linear least-squares problemsLSSolve: number of problem variables 2LSSolve: number of residuals 16LSSolve: number of general linear constraints 0LSSolve: feasibility tolerance set to 0.1053671213e-7LSSolve: iteration limit set to 50LSSolve: infinite bound set to 0.10e21LSSolve: number of iterations taken 1LSSolve: final value of objective 0.949277992106190486e-5
> >
> >
> >
> >
> >
> >
> >
> >
STARTING CDRAG APPROXIMATION ----------------------------LSSolve: calling linear LS solverLSSolve: calling solver for linearly-constrained linear least-squares problemsLSSolve: number of problem variables 2LSSolve: number of residuals 16LSSolve: number of general linear constraints 0LSSolve: feasibility tolerance set to 0.1053671213e-7LSSolve: iteration limit set to 50LSSolve: infinite bound set to 0.10e21LSSolve: number of iterations taken 1LSSolve: final value of objective 0.210573730504911153e-5
> >
(3.2.3)(3.2.3)
> >
> >
(3.2.2)(3.2.2)
> >
> >
> >
> >
> >
> >
> >
w
0 100200300400500600700
CDrag Approximation
w
0 100200300400500600700
CLift Approximation
# Definitions of thrust force and drag momentum of propellers§FLiftApprox := omega -> 0.50 * rho * CLiftApprox(omega) * omega^2 * Radius^3 * CordAvg *(0.7)^2; # NMDragApprox := omega -> 0.35 * rho * CDragApprox(omega) * omega^2 * Radius^4 * CordAvg *0.7^2; # N*m
We can now evaluate errors committed in that approximation. To have a more robust model will be made another comparison with experimental data from a different source (the wiki of MikroKopter.de on MK3538 motor with the same propeller here modeled: http://www.mikrokopter.de/ucwiki/MK3538). Because of documentation about experimental data collecting are not provide, those data are used only for comparison and not as base for model. Data are provided as Thrust [g] in function of Current [A]. The translation from Current to angular ratio will be based upon Conservative Energy concept (see The Propeller Handbook, Dave Gerr)
in which:R_inch := 13: # Radius [inch]P_inch := 6: # Pitch [inch]k_inch := 5.3*10^(-15): # ConstantVoltage := 16: # [V]
< 'Current'| 'Thrust' >;MikroKData;
(3.2.3)(3.2.3)
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
OmegaMikrok := [ seq( evalf( Pi/30 * (( MikroKData[i][1] * Voltage )/ ( (R_inch)^4 * P_inch * k_inch ))^(1/3)), i=1..21)]:FTMikrok := [seq([OmegaMikrok[i], MikroKData[i][2]*9.81*0.001],i=1..21)]:
Now that we have comparable data we can plot the difference between formulations:
display(array(1..3,1..2, [[display( [pointplot(FTMikrok,legend="MikroKopter experimental data"), plot(subs(DataLift,[FLift(omega),FLiftApprox(omega)]),omega=0..650,title="FLift(omega)", legend=["FLift","FLift approx"],thickness=2 )],gridlines=true), plot(subs(DataLift,[MDrag(omega),MDragApprox(omega)]),omega=0..650,title="MDrag(omega)" , legend=["MDrag","MDrag approx"], thickness=2,gridlines=true )], [plot(subs(DataLift,FLift(omega)-FLiftApprox(omega)),omega=0..650,title="Errore FLift(omega)" ), plot(subs(DataLift,MDrag(omega)-MDragApprox(omega)),omega=0..650,title="Errore MDrag(omega)")], [plot(subs(DataLift,(FLift(omega)-FLiftApprox(omega))/FLift(omega)),omega=0..650,title="Errore \% FLift(omega)"
> >
> >
(3.2.3)(3.2.3)
> >
> >
> >
> >
> >
> >
> >
> >
), plot(subs(DataLift,(MDrag(omega)-MDragApprox(omega))/MDrag(omega)),omega=0..650,title="Errore \% MDrag(omega)")]]));
MikroKopter experimental dataFLiftFLift approx
w
0 100 200 300 400 500 6000
2
4
6
8
10
12
14
16FLift(omega)
MDragMDrag approx
w
0 100 200 300 400 500 6000
1
MDrag(omega)
> >
> >
(3.2.3)(3.2.3)
> >
> >
> >
> >
> >
> >
> >
> >
w
100 200 300 400 500 6000
Errore FLift(omega)
w
100 200 300 400 500 6000
Errore MDrag(omega)
(3.2.3)(3.2.3)
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
w
100 200 300 400 500 6000
1Errore % FLift(omega)
w
100 200 300 400 500 6000
1Errore % MDrag(omega)
The error, as we can see in the second and third row, is more evident for low angular ratio.
Wind Force
The wind force with the follow equation:
Extimation for value of C_wind maybe hard and depends on relative speed of body. I have decided to use a flow simulation software to extimate this value with this procedure:- build of an approximate quadcopter CAD model in SolidWorks and evaluation of exposed surfaceof the model - simulation of a wind gallery (CAD) bigger enough to approximate boundaries walls dynamic;- Flow Simulation of a air fluid with defined initial speed and pressure (2 different type of simulation, for XY and ZY (= ZX) plane);- retireving from solution average value of pressure behind cad approximate model of quadcopter (horizontal cut plot for pressure, vertical cut plot for velocities).- Evaluation from next equation of drag coefficient:
The simulation returned those values, approximated to a mean value:< 'Velocity' | 'CWindXY' >;CWindFlowSimulationXY;CWindXY := ( CWindFlowSimulationXY[1][2] + CWindFlowSimulationXY[2][2] + CWindFlowSimulationXY[3][2] +
(3.2.3)(3.2.3)
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
CWindFlowSimulationXY[4][2] ) / 4;< 'Velocity' | 'CWindZY' >;CWindFlowSimulationZY;CWindZY := ( CWindFlowSimulationZY[1][2] + CWindFlowSimulationZY[2][2] + CWindFlowSimulationZY[3][2] + CWindFlowSimulationZY[4][2] ) / 4;
CWindXYplot := [ seq( [CWindFlowSimulationXY[i][1],CWindFlowSimulationXY[i][2]],i=1..4) ]:CWindZYplot := [ seq( [CWindFlowSimulationZY[i][1],CWindFlowSimulationZY[i][2]],i=1..4) ]:
display( array(1..2, [display( [plot(CWindXY,x=CWindFlowSimulationXY[1][1]..CWindFlowSimulationXY[4][1],linestyle=dash,thickness=2), pointplot(CWindXYplot)],gridlines=true,title="CwindXY",view=[0..25,0..0.25]), display( [plot(CWindZY,x=CWindFlowSimulationZY[1][1]..CWindFlowSimulationZY[4][1],linestyle=dash,thickness=2), pointplot(CWindZYplot)],gridlines=true,title="CwindZY",view=[0..25,0..0.25])]));
(3.2.3)(3.2.3)
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
x0 5 10 15 20 25
0
CwindXY
x0 5 10 15 20 25
0
CwindZY
To create a sign function will be used the combination of a sin and an arctan: in this case is not important to have fast sign function (as in friction model problem) plot(sin(arctan(x)), x = -5 .. 5);
(3.2.3)(3.2.3)
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
x0 2 4
# Function of wind. Wind speed components must be projected in plant reference matrix:FWindX := (vx,vwindx) -> - sin(arctan(vx)) * 1/2 * rho * CWindZY * SYZ * ( vx - vwindx )^2:FWindY := (vy,vwindy) -> - sin(arctan(vy)) * 1/2 * rho * CWindZY * SYZ * ( vy - vwindy )^2:FWindZ := (vz,vwindz) -> - sin(arctan(vz)) * 1/2 * rho * CWindXY * SXY * ( vz - vwindz )^2:plot(subs(DataLift,DataWind,[FWindX(v,0),FWindZ(v,0)]),v=-50..50,title="Wind force",legend=["FwindX/Y","FwindZ"],gridlines=true);
(3.2.3)(3.2.3)
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
FwindX/Y FwindZ
v0 20 40
5
10
Wind force
Quadcopter Modelingdef_quat := true: # TRUE: Quaternion formulation. FALSE: Euler angle formulation
As first passage we need to define the body kinematic with quaternion algebra:
(3.2.3)(3.2.3)
> >
> >
> >
> >
> >
(4.2)(4.2)
> >
> >
> >
> >
> >
> >
> >
> >
(4.1)(4.1)
> >
if def_quat then: qq := make_quat(q): Position := [ x(t), y(t), z(t) ]; TMquad := TM_quat(qq,seq(Position[i],i=1..3)); Phiqq := [abs2_quat(qq)-1];else: Angle := [ phi(t), mu(t), psi(t) ]; Position := [ x(t), y(t), z(t) ]; TMquad := Translate(x(t),y(t),z(t)). Rotate('Z',Angle[3]). Rotate('Y',Angle[2]). Rotate('X',Angle[1]);end;
Definition of main point for body:PG := origin(TMquad):TMquad2 := TMquad.Translate(-xG,-yG,-zG):PP1 := make_POINT(TMquad2, L_MCB, 0, Z_CB):PP2 := make_POINT(TMquad2, 0,-L_MCB, Z_CB):PP3 := make_POINT(TMquad2,-L_MCB, 0, Z_CB):PP4 := make_POINT(TMquad2, 0, L_MCB, Z_CB):
Definition of first order substitution equations:we can refer velocity to origin of the main body as we are considering body as rigid.if def_quat then: qq_dot := makeAngVel_quat(omega); x_dot := [ u(t), v(t), w(t) ];
# Quaternions angular ratio vs. derivative Phiqq_dot := simplify(subs( abs2_quat(qq) = 1, op( solve( convert( qq_dot - (2 * Transpose(Q_quat(qq)) . map(diff,qq,t)),set), convert( map(diff,qq,t),list)))),Phiqq): <%>;
Phiqq_dot2 := simplify( simplify([seq( diff(lhs(Phiqq_dot[i]),t) = subs(Phiqq_dot,expand(diff(rhs(Phiqq_dot[i]),t)) ), i=1..4)],size), Phiqq);
Phix_dot := simplify( simplify(subs( Phiqq_dot,collect( op(
(3.2.3)(3.2.3)
> >
> >
> >
> >
> >
(4.2)(4.2)
> >
> >
> >
> >
> >
> >
> >
> >
(4.1)(4.1)
solve( [comp_XYZ( velocity(PG) - make_VECTOR(TMquad, op(x_dot)), TMquad)], map(diff,[comp_XYZ(origin(TMquad),ground)],t))), x_dot)),size),Phiqq): <%>;
Phix_dot2 := simplify( simplify([seq( diff(lhs(Phix_dot[i]),t) = subs(Phix_dot,Phiqq_dot,expand(diff(rhs(Phix_dot[i]),t)) ), i=1..3)],size), Phiqq);
Phi := Phiqq_dot union Phix_dot:
else: x_dot := [ u(t), v(t), w(t) ]; AngRatio := [ phi_dot(t), mu_dot(t), psi_dot(t) ]; Phix_dot := [ seq( diff(Position[i],t) - x_dot[i], i=1..3)];
PhiAngRatio := [ seq( diff(Angle[i],t) - AngRatio[i],i=1..3) ]; Phix_dot_subs := [ seq( diff(Position[i],t) = x_dot[i], i=1..3)] union [ seq( diff(Position[i],t,t) = diff(x_dot[i],t), i=1..3)]; PhiAngRatio_subs := [ seq( diff(Angle[i],t,t) = diff(AngRatio[i],t),i=1..3) ] union [ seq( diff(Angle[i],t) = AngRatio[i],i=1..3) ];
Phi := Phix_dot union PhiAngRatio:
end:if def_quat then: <Phiqq_dot>; <Phiqq_dot2>; <Phix_dot>; <Phix_dot2>;else: <PhiAngRatio>; <Phix_dot>;end;
(3.2.3)(3.2.3)
> >
> >
> >
> >
> >
(4.2)(4.2)
> >
> >
> >
> >
> >
> >
> >
> >
(4.1)(4.1)
(3.2.3)(3.2.3)
> >
> >
> >
> >
> >
(4.3)(4.3)
> >
> >
(4.2)(4.2)
> >
> >
> >
> >
> >
> >
> >
> >
> >
(4.1)(4.1)
We can now define dynamic of bodies. The dynamic of propeller is neglected as too fast for numeric solutions (as usually done in litterature). In fact the presence of propeller dynamuc generates a stiff problem, so solver requires a huge ammount of time and computational resource to converge to numeric solution. So I have decided to use one body formulation.QUADCOPTER := make_BODY(PG, m, Lxx, Lyy, Lzz, Lyz, Lxz, Lxy):
We have to define the propeller angular ratio functions, propeller forces and drag torque of propeller that acts on quadcopter. We can define a sign rule:
w.r.t. Z axis
FProp Tprop
P1 (+x) + + -
P2 (-y) - + +
P3 (-x) + + -
P4 (+y) - + +
Rule sign -1^(i+1) + -1^(i)
Segni### PROPELLER FUNCTIONS ###
#gamma1 := t -> 390; # rad/s#gamma2 := t -> 390; # rad/s#gamma3 := t -> 420; # rad/s#gamma4 := t -> 390; # rad/s
############################## PROPELLER FORCE ###
for i from 1 to 4 do:
ForceP||i := make_FORCE( make_VECTOR( TMquad2, 0, 0, FLiftApprox( gamma||i(t) )),
> >
> >
> >
> >
> >
> >
> >
> >
(4.1)(4.1)
(3.2.3)(3.2.3)
> >
> >
> >
(4.3)(4.3)
(4.2)(4.2)
> >
> >
> >
> >
> >
PP||i, QUADCOPTER): TorqueP||i := make_TORQUE( make_VECTOR( TMquad2, 0, 0, (-1)^(i) * MDragApprox( gamma||i(t) )), QUADCOPTER):
end:PropellerForce := [ seq(ForceP||i, i=1..4) ] union [ seq(TorqueP||i, i=1..4) ];
### WIND FORCE ### #VwX := t -> 0; #VwX := t -> 0; #VwX := t -> 0;
WindSpeed := make_VECTOR(ground, VwX(t),VwY(t),VwZ(t)): FWind := make_FORCE( make_VECTOR(TMquad, FWindX(u(t),comp_X(WindSpeed,TMquad)), FWindY(v(t),comp_Y(WindSpeed,TMquad)), FWindZ(w(t),comp_Z(WindSpeed,TMquad))), PG, QUADCOPTER):
Now we are ready to define the equations of motion (Newton - Euler formulation)ts := time(): if def_quat then: if true then: DynaEq2 := Dyna3DSE(QUADCOPTER,{op(PropellerForce),FWind},TMquad): DynaEq := simplify( simplify(subs(Phiqq_dot,Phix_dot, expand(subs(Phiqq_dot2,Phix_dot2, evalf(subs(Data,DynaEq2))))),size),Phiqq); end: else: if true then: DynaEq2 := Dyna3D(QUADCOPTER,{op(PropellerForce),FWind}): DynaEq := subs(PhiAngRatio_subs, Phix_dot_subs, DynaEq2): end: end: te := time():printf("\n--- Evaluation time: %f s ---\n",te-ts);
------ NEWTON ------ BODIES: 1 - QUADCOPTEREXTERNAL FORCES: 2 - FWind 3 - ForceP1 4 - ForceP2 5 - ForceP3 6 - ForceP4WARNING: the following objects will not appear in the equationsof motion: 7 - TorqueP1 8 - TorqueP2 9 - TorqueP3 10 - TorqueP4 ------ EULERO ------
> >
> >
> >
> >
> >
> >
> >
> >
(4.1)(4.1)
(3.2.3)(3.2.3)
> >
> >
> >
> >
(4.3)(4.3)
(4.2)(4.2)
> >
> >
> >
> >
> >
(4.4)(4.4)
BODIES: 1 - QUADCOPTEREXTERNAL FORCES: 2 - FWind 3 - ForceP1 4 - ForceP2 5 - ForceP3 6 - ForceP4EXTERNAL TORQUES: 7 - TorqueP1 8 - TorqueP2 9 - TorqueP3 10 - TorqueP4
--- Evaluation time: 92.165000 s ---It is necessary to define initial conditions. We start with a steady state Quadcopter (velocities all neglected):if def_quat then: IC_position := { x(t) = 0, y(t) = 0, z(t) = 2}: IC_quaternion := { seq( qq[i] = EulerZYX2Quat_quat(0,0,0)[i] ,i=1..4)}: IC_speed := { seq( x_dot[i] = 0, i=1..3) }: IC_AngRatio := { seq( qq_dot[i+1] = 0, i=1..3) }:
IC0 := subs(t=0,IC_position union IC_quaternion union IC_speed union IC_AngRatio);else: IC_position := { x(t) = 0, y(t) = 0, z(t) = 0}: IC_angle := { seq( Angle[i] = 0, i=1..3) }: IC_speed := { seq( x_dot[i] = 0, i=1..3) }: IC_AngRatio := { seq( AngRatio[i] = 0, i=1..3) }:
IC0 := subs(t=0, IC_position union IC_angle union IC_speed union IC_AngRatio);end:IC0;
DAEs := convert(subs( Data union [seq(gamma||i(t)=gamma||i,i=1..4)] union [VwX(t) = VwX,VwY(t) = VwY,VwZ(t) = VwZ], DynaEq union Phi),set):if true then:
###### WARNING :: DSOLVE! :: #######IntRange := 5:ts := time(): solZ := dsolve(DAEs union IC0, numeric,method=classical[rk4],parameters=[gamma1,gamma2,gamma3,gamma4,VwX,VwY,VwZ]);te := time():printf("Computation DONE! Time: %f seconds",(te-ts)):solZ(parameters=[415.52,422.55,439.11,432.34,0,0,0]);if def_quat then: odeplot(solZ, [t,op(Phiqq)],0..5); end;####################################
end;
(3.2.3)(3.2.3)
> >
> >
> >
> >
(4.3)(4.3)
> >
> >
> >
> >
(4.2)(4.2)
> >
> >
> >
> >
> >
> >
> >
> >
(4.5)(4.5)
(4.1)(4.1)
Computation DONE! Time: 4.009000 seconds
t1 2 3 4 5
0
solZ(parameters);
if def_quat then: odeplot(solZ,[[t,x(t)],[t,y(t)],[t,z(t)]], 0..5, legend=[x,y,z],numpoints=150); odeplot(solZ, [[t,evalf(Quat2EulerXYZ_quat(qq)[1])],[t,evalf(Quat2EulerXYZ_quat(qq)[2])],[t,evalf(Quat2EulerXYZ_quat(qq)[3])]],0..5,legend=[psi,mu,phi],numpoints=150); odeplot(solZ,[seq([t,qq[i]],i=1..4)],0..5,legend=[q1,q2,q3,q4],numpoints=150);else: odeplot(solZ,[[t,x(t)],[t,y(t)],[t,z(t)]], 0..5, legend=[x,y,z],numpoints=150); odeplot(solZ,[[t,psi(t)],[t,mu(t)],[t,phi(t)]], 0..5, legend=[psi,mu,phi],numpoints=150); odeplot(solZ,[[t,u(t)],[t,v(t)],[t,w(t)]], 0..5, legend=[u,v,w],numpoints=150);end;
(3.2.3)(3.2.3)
> >
> >
> >
> >
(4.3)(4.3)
> >
> >
(4.2)(4.2)
> >
> >
> >
> >
> >
> >
> >
> >
(4.1)(4.1)
x y zt
1 2 3 4 5
x, y, z
0
1
2
(3.2.3)(3.2.3)
> >
> >
> >
> >
(4.3)(4.3)
> >
> >
(4.2)(4.2)
> >
> >
> >
> >
> >
> >
> >
> >
(4.1)(4.1)
y m f
t0 1 2 3 4 5
0
> >
(3.2.3)(3.2.3)
> >
> >
> >
> >
(4.3)(4.3)
> >
> >
(4.2)(4.2)
> >
> >
> >
> >
(4.6)(4.6)
> >
> >
> >
> >
(4.1)(4.1)
q1 q2 q3 q4t
0 1 2 3 4 50
1
if true then: CUDA[Enable](true); ts := time(); NSTEPS := 50:
PlotSeq := [seq(PlotQUADCOPTER(subs(solZ(IntRange/NSTEPS*i),Data,TMquad),3,1,10,5),i=0..NSTEPS)]: display(PlotSeq,view=[-100..100,-100..100,-100..100],scaling=constrained,insequence=true,axes=boxed); te := time(); te-ts; CUDA[Enable](false);end;
false
(3.2.3)(3.2.3)
> >
> >
> >
> >
> >
(4.3)(4.3)
> >
(5.1)(5.1)
> >
(4.2)(4.2)
> >
> >
> >
> >
> >
(4.6)(4.6)
> >
> >
> >
> >
(4.1)(4.1)
37.674true
Automatic Control applied to nonlinear model (draft)STATE_SPACE := op(solve(DynaEq[1..3],map(diff,x_dot,t))) union op(solve(DynaEq[4..6],[seq(diff(qq_dot[i],t),i=2..4)])) union Phiqq_dot union Phix_dot:
Now that we have the state space model, we need to find a point around which we want to linearize the model. The linearized version will be used to stabilize non-linear system through eigenvalue assigned regulator: we can try to evaluate the equilibrium force that is needed to mantain system in hoovering at 2m from ground when wind velocity is {0,0,0}. InputVar := [ seq(gamma||i(t),i=1..4),VwX(t),VwY(t),VwZ(t)];
OutputVar := [ x(t), y(t), z(t), seq(qq[i],i=1..4)];
Now we have to find an equilibrium point. I have used a little trick to make system converge to desired equilibrium, based on the fact that our modeled quadcopter (like a real one) is not balanced (there is a slighty distance between center of mass and geometrical center of the system). First of all we try to evaluate equilibrium point desired without define input vector values, but only setting a constraint on it. Equilibrium point will evaluate for us exact values for input vector, but not positions.
> >
> >
> >
> >
> >
> >
> >
> >
(4.1)(4.1)
(3.2.3)(3.2.3)
> >
(5.2)(5.2)
> >
> >
(4.3)(4.3)
(4.2)(4.2)
> >
> >
(4.6)(4.6)
> >
> >
We have only to recall equilibrium point function to get the list of right positions that has to be passed to linearize command. Thus this can be done with a simple equilibrium evaluated with a solve command, this method can be easily used to find propeller speed in non-canonical positions (positions different from hoovering, usefull if we want to perform a gain scheduling controller, even if it's a little bit useless regulator for quadcopter). eqPoint := EquilibriumPoint(subs([VwX(t)=0,VwY(t)=0,VwZ(t)=0],STATE_SPACE), subs([VwX(t)=0,VwY(t)=0,VwZ(t)=0],InputVar)[1..4], initialpoint = [x(t)=0, y(t)=0, z(t)=2, u(t)=0, v(t)=0, w(t)=0, q0(t)=1, q1(t)=0, q2(t)=0, q3(t)=0, omega1(t)=0, omega2(t)=0, omega3(t)=0], constraints=[seq(gamma||i(t)>250,i=1..4)]);eqPoint2 := EquilibriumPoint(subs([VwX(t)=0,VwY(t)=0,VwZ(t)=0],STATE_SPACE), subs([VwX(t)=0,VwY(t)=0,VwZ(t)=0],InputVar)[1..4], initialpoint = [x(t)=0, y(t)=0, z(t)=2, u(t)=0, v(t)=0, w(t)=0, q0(t)=1, q1(t)=0, q2(t)=0, q3(t)=0, omega1(t)=0, omega2(t)=0, omega3(t)=0,op(eqPoint[3])]);
NLPSolve: calling NLP solverNLPSolve: using method=sqpNLPSolve: number of problem variables 17NLPSolve: number of nonlinear inequality constraints 4NLPSolve: number of nonlinear equality constraints 0NLPSolve: number of general linear constraints 0NLPSolve: feasibility tolerance set to 0.1053671213e-7NLPSolve: optimality tolerance set to 0.3256082241e-11NLPSolve: iteration limit set to 91NLPSolve: infinite bound set to 0.10e21NLPSolve: trying evalhf modeNLPSolve: trying evalf modeNLPSolve: calling NLP solverNLPSolve: using method=sqpNLPSolve: number of problem variables 17NLPSolve: number of nonlinear inequality constraints 4NLPSolve: number of nonlinear equality constraints 0NLPSolve: number of general linear constraints 0NLPSolve: feasibility tolerance set to 0.1053671213e-7NLPSolve: optimality tolerance set to 0.3256082241e-11NLPSolve: iteration limit set to 91NLPSolve: infinite bound set to 0.10e21NLPSolve: trying evalhf modeWarning, limiting number of major iterations has been reachedattemptsolution: number of major iterations taken 91
> >
> >
> >
> >
> >
> >
> >
(4.1)(4.1)
(3.2.3)(3.2.3)
(5.3)(5.3)
> >
(5.2)(5.2)
> >
> >
(4.3)(4.3)
(4.2)(4.2)
> >
> >
> >
(4.6)(4.6)
> >
> >
NLPSolve: calling NLP solverNLPSolve: using method=pcgNLPSolve: number of problem variables 17NLPSolve: optimality tolerance set to 0.3256082241e-11NLPSolve: iteration limit set to 85NLPSolve: trying evalhf modeattemptsolution: number of major iterations taken 48
Now the system is linearized around equilibrium point found in previous step:
LinPoint := [x(t)=0, y(t)=0, z(t)=2, u(t)=0, v(t)=0, w(t)=0, q0(t)=1, q1(t)=0, q2(t)=0, q3(t)=0, omega1(t)=0, omega2(t)=0, omega3(t)=0, op(eqPoint2[3])]:LINEAR_SYSTEM := Linearize(subs([VwX(t)=0,VwY(t)=0,VwZ(t)=0],STATE_SPACE), InputVar[1..4], OutputVar, LinPoint);
(5.3)(5.3)
(3.2.3)(3.2.3)
> >
> >
(5.2)(5.2)
> >
> >
(4.3)(4.3)
> >
> >
> >
(5.5)(5.5)
> >
(4.2)(4.2)
> >
> >
> >
> >
(4.6)(4.6)
> >
(5.4)(5.4)
> >
> >
> >
(4.1)(4.1)
PrintSystem(LINEAR_SYSTEM[1]);
LinearizedSysEquations := LINEAR_SYSTEM[1]:-de; whattype(%);
> >
> >
> >
> >
> >
> >
> >
> >
(4.1)(4.1)
(3.2.3)(3.2.3)
(5.3)(5.3)
> >
(5.2)(5.2)
> >
> >
(4.3)(4.3)
> >
(5.5)(5.5)
(4.2)(4.2)
> >
(5.6)(5.6)
> >
(4.6)(4.6)
> >
> >
LinearizedSysOutputs := [seq(y[i](t)= (LINEAR_SYSTEM[1]:-outputvariable)[i],i=1..7)];linsysout := LINEAR_SYSTEM[1]:-outputvariable;
list
From those equations we can easily derive state space matrices:x_V2 := [seq(x[i](t),i=1..13)]:u_V2 := [seq(u[i](t),i=1..4)]:
A_LinSys,garbage := GenerateMatrix([seq(rhs(LinearizedSysEquations[i]),i=1..13)],x_V2):
> >
> >
> >
> >
> >
> >
> >
> >
(4.1)(4.1)
(3.2.3)(3.2.3)
(5.3)(5.3)
> >
(5.2)(5.2)
> >
> >
(4.3)(4.3)
> >
(5.5)(5.5)
(4.2)(4.2)
> >
(5.6)(5.6)
> >
(4.6)(4.6)
> >
> >
'A' = A_LinSys;B_LinSys,garbage := GenerateMatrix([seq(rhs(LinearizedSysEquations[i]),i=1..13)],u_V2): 'B' = B_LinSys;C_LinSys,garbage := GenerateMatrix([seq(rhs(LinearizedSysOutputs[i]),i=1..7)],x_V2): 'C' = C_LinSys;D_LinSys,garbage := GenerateMatrix(linsysout,u_V2): 'D' = D_LinSys;
'x_dot' = 'Ax' + 'Bu';'y' = 'Cx';
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
(4.1)(4.1)
(3.2.3)(3.2.3)
(5.3)(5.3)
> >
(5.2)(5.2)
> >
> >
(4.3)(4.3)
> >
(5.5)(5.5)
(4.2)(4.2)
> >
> >
(5.6)(5.6)
> >
(4.6)(4.6)
> >
> >
(5.7)(5.7)
Now we are ready to pass those matrices and the nonlinear model to Matlab.# Open connection with Matlab internal server. Remember to add Matlab path to enviromental Path variable. Also remember to register Matlab server running a prompt as administrator a typing "matlab /regserver" the first time you try to open a Matlab-link. To open desktop interface type "desktop" in Matlab console. (it does it automatically now!)openlink();evalM("desktop");setvar("ASYS",A_LinSys);setvar("BSYS",B_LinSys);setvar("CSYS",C_LinSys);setvar("DSYS",D_LinSys);
Here I have to stop my analysis on system regulator. I have no time to carry on also this topic, that will be implemented as main topic for another course (Automatic Control). In fact, this system presents several issues in stability, observability and reachability, so it requires a very accurate synthesys that, at moment, I don't have enough time to implement. But the initial idea was:- find eigenvalues assigned regulator that manteins linearized system in equilibrium- connect regulator to nonlinear model, via Simulink- Start a simulation with Simulink and check - as option, get vector for numeric value from Matlab enviroment (getvar command) and show quadcopter trajectory with PlotQUADCOPTER procedure.x_VARS_ss := [ x(t) = x11, y(t) = x12, z(t) = x13, q0(t) = x4, q1(t) = x5, q2(t) = x6, q3(t) = x7, u(t) = x8, v(t) = x9, w(t) = x10, omega1(t) = x1, omega2(t) = x2, omega3(t) = x3];
xdot_VARS_ss := [ diff(omega1(t),t) = x1_dot,
> >
> >
> >
> >
> >
> >
> >
> >
> >
> >
(4.1)(4.1)
> >
(5.8)(5.8)
(3.2.3)(3.2.3)
(5.3)(5.3)
> >
(5.2)(5.2)
> >
> >
(4.3)(4.3)
> >
(5.5)(5.5)
(4.2)(4.2)
> >
(5.6)(5.6)
> >
(4.6)(4.6)
> >
> >
(5.7)(5.7)
diff(omega2(t),t) = x2_dot, diff(omega3(t),t) = x3_dot, diff(q0(t),t) = x4_dot, diff(q1(t),t) = x5_dot, diff(q2(t),t) = x6_dot, diff(q3(t),t) = x7_dot, diff(u(t),t) = x8_dot, diff(v(t),t) = x9_dot, diff(w(t),t) = x10_dot, diff(x(t),t) = x11_dot, diff(y(t),t) = x12_dot, diff(z(t),t) = x13_dot];
u_VARS_ss := [ gamma1(t) = u1, gamma2(t) = u2, gamma3(t) = u3, gamma4(t) = u4];
NonLinearModel := subs(x_VARS_ss union u_VARS_ss union [VwX(t)=0,VwY(t)=0,VwZ(t)=0], subs(xdot_VARS_ss,STATE_SPACE)):
Eigenvalues assignment problem return as result:evalM("cd('D:\\Data\\Università\\Ingegneria Meccatronica Robotica\\Modeling and simulation of mechanical systems\\Tesina\\Matlab')");evalm("run ./QuadCopter.m");'K'=getvar("K");getvar("StableEig");
"run ./QuadCopter.m"
> >
> >
> >
> >
(6.3)(6.3)
> >
> >
> >
> >
> >
> >
(6.1)(6.1)
> >
(4.1)(4.1)
(5.8)(5.8)
(3.2.3)(3.2.3)
(5.3)(5.3)
> >
(5.2)(5.2)
> >
> >
(4.3)(4.3)
> >
(5.5)(5.5)
(4.2)(4.2)
> >
(5.6)(5.6)
> >
(4.6)(4.6)
(6.2)(6.2)
> >
> >
> >
(5.7)(5.7)
For a simply stable system.
Optimization: shape selection and dimensions optimization for frame beamsThere is an example of structural optimization for two shape.
DataMin := [ P = 15, # N M = 1500, # N mm L = 300, # mm E = 69000, # MPa Density = evalf(2700*1000/10^9), # g/mm^3 delta = 0.1, # mm #epsilon = 0.1, # mm sigma[Amm] = 13.8 ]; # MPa
# Minimizing functionMinimizeIT := (Weight,Deflection,Payload,ConstSet) -> Minimize( subs(DataMin,Weight), subs(DataMin,{ Deflection^2 <= delta^2, Payload^2 <= sigma[Amm]^2, seq( ConstSet[i],i=1..nops(ConstSet)) }));
FWeight := (A) -> A*L*Density;FDeflection := (Ix,Iy) -> sqrt((1/3*P*L^3/(Ix*E))^2 + (1/2*M*L^2/(Iy*E))^2);FPayload := (dg,Ix,Iy) -> (sqrt(M+P*L^2))*dg/sqrt(Iy^2+Ix^2);
> >
(6.4)(6.4)
> >
> >
(6.3)(6.3)
> >
> >
> >
> >
> >
> >
(6.5)(6.5)
(6.6)(6.6)
(4.1)(4.1)
(5.8)(5.8)
> >
(3.2.3)(3.2.3)
(5.3)(5.3)
> >
(5.2)(5.2)
> >
> >
> >
(4.3)(4.3)
> >
> >
(5.5)(5.5)
(4.2)(4.2)
> >
(5.6)(5.6)
> >
(4.6)(4.6)
> >
> >
(5.7)(5.7)
#################### Sezione 1: Circular empty shape beam ######################
# DimensionsParameter1 := {Di, s};Area1 := Pi*((Di+2*s)^2-Di^2)/4;Ix1 := Pi*((Di+2*s)^4-Di^4)/64;Iy1 := Pi*((Di+2*s)^4-Di^4)/64;dg1 := Di/2+s;
# ShapeShape1 := {s>=0,s>=Di/20};
# ValueWeight1 := FWeight(Area1);Deflection1 := FDeflection(Ix1,Iy1);Payload1 := FPayload(dg1,Ix1,Iy1);
MinimizeIT(Weight1,Deflection1,Payload1,Shape1);NLPSolve: calling NLP solverNLPSolve: using method=sqpNLPSolve: number of problem variables 2NLPSolve: number of nonlinear inequality constraints 2NLPSolve: number of nonlinear equality constraints 0NLPSolve: number of general linear constraints 2NLPSolve: feasibility tolerance set to 0.1053671213e-7NLPSolve: optimality tolerance set to 0.3256082241e-11NLPSolve: iteration limit set to 50NLPSolve: infinite bound set to 0.10e21NLPSolve: trying evalhf modeattemptsolution: number of major iterations taken 29
############# Section 2: I Shape Beam ##################
(6.7)(6.7)
> >
> >
> >
(6.3)(6.3)
> >
> >
> >
> >
> >
> >
> >
(4.1)(4.1)
(6.6)(6.6)
(5.8)(5.8)
(3.2.3)(3.2.3)
(5.3)(5.3)
> >
(5.2)(5.2)
> >
> >
> >
(4.3)(4.3)
> >
(5.5)(5.5)
(4.2)(4.2)
> >
(5.6)(5.6)
> >
(4.6)(4.6)
> >
> >
(5.7)(5.7)
# DimensionsParameter2 := { b, h, a };Area2 := b*h-(b-a)*(h-2*a);Iy2 := b*h^3/12-(b-a)*(h-2*a)^3/12;Ix2 := a*b^3/12+a^3*(h-2*a)/12;dg2 := sqrt((b/2)^2+(h/2)^2);
# ShapeShape2 := {b>=20, h>=20, a>=1, a<=6, b<=35, h<=35};
# ValueWeight2 := FWeight(Area2);Deflection2 := FDeflection(Ix2,Iy2);Payload2 := FPayload(dg2,Ix2,Iy2);
MinimizeIT(Weight2,Deflection2,Payload2,Shape2);NLPSolve: calling NLP solverNLPSolve: using method=sqpNLPSolve: number of problem variables 3NLPSolve: number of nonlinear inequality constraints 2NLPSolve: number of nonlinear equality constraints 0NLPSolve: number of general linear constraints 6NLPSolve: feasibility tolerance set to 0.1053671213e-7NLPSolve: optimality tolerance set to 0.3256082241e-11NLPSolve: iteration limit set to 50NLPSolve: infinite bound set to 0.10e21NLPSolve: trying evalhf modeattemptsolution: number of major iterations taken 16
Modeling and Simulation of Mechanical Systems - Master Degree Course
13 CFD Simulation for aerodynamic drag coefficients
In this section there are several images that portrait CFD simulation made with SolidWorks Flow Simulation.Simulation is made considering model fixed inside a CAD model of a wind gallery with radius greater than1m (big enough to not consider gallery boundaries effect), in which a defined airflow impacts on surface of themodel. On the plane in which is evaluated drag coefficient there is a contour plot for global pressure. On theother plane, there is a contour plot of local velocities.
13.1 Simulation images
Figure 11: Simulation XY 1: v = 4.759ms−1
Mechanical Model for Quadcopter UAV — 59
Modeling and Simulation of Mechanical Systems - Master Degree Course
Figure 12: Simulation XY 2: v = 9.590ms−1
Figure 13: Simulation XY 3: v = 14.385ms−1
Mechanical Model for Quadcopter UAV — 60
Modeling and Simulation of Mechanical Systems - Master Degree Course
Figure 14: Simulation XY 4: v = 19.180ms−1
Figure 15: Simulation IZ 1: v = 4.790ms−1
Mechanical Model for Quadcopter UAV — 61
Modeling and Simulation of Mechanical Systems - Master Degree Course
Figure 16: Simulation IZ 2: v = 14.371ms−1
Figure 17: Simulation IZ 3: v = 19.161ms−1
Mechanical Model for Quadcopter UAV — 62
Modeling and Simulation of Mechanical Systems - Master Degree Course
Figure 18: Simulation IZ 4: v = 23.952ms−1
13.2 Coefficients interpolation
Mechanical Model for Quadcopter UAV — 63
Modeling and Simulation of Mechanical Systems - Master Degree Course
14 Optimization: numeric simulations
In the next pages are attached automatically generated reports, in which all proofed configurations results foreach solution are summarized.
Mechanical Model for Quadcopter UAV — 65
Università degli studi di Trento
Analizzato con SolidWorks Simulation
Simulazione di Sezione Circolare
1
Sim
ulazione di
Sezione Circolare Cava
Data: martedì 19 giugno 2012
Designer: Matteo Ragni [134977]
Nome studio: Studio progettuale 1
Tipo di analisi: Studio progettuale
Table of Contents
Descrizione .......................................... 1
Trave a sezione circolare cava ................... 2
Proprietà dello studio .............................. 2
Unità ................................................. 3
Impostazione Studio progettuale ................. 3
Risultati dello studio ............................... 4
Descrizione
Studio Trave a sezione circolare cava. Ottim
izzazione del
diametro interno e dello spessore della sezione. In questo
documento è presente solo l’ultim
a parte della
ottim
izzazione, con la fase più stretta. Il report è stato
generato automaticamente da SolidWorks Simulation
Università degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione diSezioneCircolare
2
Trave a sezione circolare cava
Nome
documento
Configurazione
Percorso del documento
Data m
odifica
SezioneCircolar
e
Default
D:\Data\Università\Ingegneria Meccatronica
Robotica\M
odeling and sim
ulation of
mechanical
systems\Tesina\Ottim
izzazione\Sezione
Circolare\SezioneCircolare.SLDPRT
Jun 18 19:54:11
2012
Proprietà dello studio
Nome studio
Studio progettuale 1
Tipo di analisi
Studio progettuale(Ottim
izzazione)
Qualità Studio del progetto
Qualità ottim
a (più lento)
Cartella Risultato
Documento
SolidWorks(D:\Data\Università\Ingegneria
Meccatronica Robotica\M
odeling and sim
ulation of
mechanical systems\Tesina\Ottim
izzazione\Sezione
Circolare)
Università degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione diSezioneCircolare
3
Unità
Sistema di unità:
SI (MKS)
Lunghezza/Spostamento
mm
Temperatura
Kelvin
Velocità angolare
Rad/sec
Pressione/Sollecitazione
N/m^2
Impostazione Studio progettuale
Variabili di progetto
Nome
Tipo
Valori
Unità
Spessore
Range con fase
Min:1 Max:2 Fase:0.2
mm
Diametro Interno
Range con fase
Min:30 Max:32 Fase:0.2
mm
Vincoli
Nome sensore
Condizione
Margini
Unità
Nome studio
Spostamento1
è m
inore di
Max:0.1
mm
Studio 1
Sollecitazione1
è m
inore di
Max:2001.5207798
psi
Studio 1
Obiettivi
Nome
Obiettivo
Proprietà
Spessore
Nome studio
Massa1
Minim
izzare
Massa
10
-
Università degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione diSezioneCircolare
4
Risultati dello studio
68 su 68 scenari eseguiti con successo.
Nome del componente
Unità
Corrente
Iniziale
Ottim
ale
Spessore
mm
1.4
2
1.4
Diametro Interno
mm
30
32
32
Sollecitazione1
psi
0.12143169
0.07178218
0.09950787
Massa1
g
111.865
173.039
118.99
Spostamento1
mm
610.42446009
405.84108037
846.6258128
Nome del componente
Unità
Scenario3
Scenario4
Scenario5
Scenario6
Scenario7
Spessore
mm
1.4
1.6
1.8
2
1
Diametro Interno
mm
30
30
30
30
30.2
Spostamento1
mm
0.12143169
0.10969349
0.09706627
0.08577904
0.16122306
Sollecitazione1
psi
610.42446009
576.73658102
518.48442177
455.45167365
1284.9944703
Massa1
g
111.865
128.66
145.658
162.86
79.3943
Nome del componente
Unità
Scenario8
Scenario9
Scenario10
Scenario11
Scenario12
Spessore
mm
1.2
1.4
1.6
1.8
2
Diametro Interno
mm
30.2
30.2
30.2
30.2
30.2
Spostamento1
mm
0.13608423
0.11326159
0.10750383
0.09540702
0.08426337
Sollecitazione1
psi
707.94449903
588.10260837
566.30582952
503.15186611
450.56984844
Massa1
g
95.8839
112.577
129.474
146.574
163.878
Nome del componente
Unità
Scenario13
Scenario14
Scenario15
Scenario16
Scenario17
Spessore
mm
1
1.2
1.4
1.6
1.8
Diametro Interno
mm
30.4
30.4
30.4
30.4
30.4
Spostamento1
mm
0.15792772
0.13345236
0.11586928
0.10574237
0.09369678
Sollecitazione1
psi
828.99567808
706.80551767
629.36109475
562.8746355
496.93583875
Massa1
g
79.9033
96.4946
113.29
130.288
147.49
Nome del componente
Unità
Scenario18
Scenario19
Scenario20
Scenario21
Scenario22
Spessore
mm
2
1
1.2
1.4
1.6
Diametro Interno
mm
30.4
30.6
30.6
30.6
30.6
Spostamento1
mm
0.08269411
0.15382809
0.13121677
0.11437707
0.10349574
Sollecitazione1
psi
441.7444834
807.34270415
709.75819594
636.0021552
548.13238344
Massa1
g
164.896
80.4122
97.1054
114.002
131.102
Nome del componente
Unità
Scenario23
Scenario24
Scenario25
Scenario26
Scenario27
Spessore
mm
1.8
2
1
1.2
1.4
Diametro Interno
mm
30.6
30.6
30.8
30.8
30.8
Università degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione diSezioneCircolare
5
Spostamento1
mm
0.09189119
0.0812658
0.15121674
0.12915045
0.1128012
Sollecitazione1
psi
499.1457425
450.13444515
790.61281867
726.30605906
629.82528803
Massa1
g
148.406
165.914
80.9211
97.7161
114.715
Nome del componente
Unità
Scenario28
Scenario29
Scenario30
Scenario31
Scenario32
Spessore
mm
1.6
1.8
2
1
1.2
Diametro Interno
mm
30.8
30.8
30.8
31
31
Spostamento1
mm
0.09959677
0.09031077
0.07974409
0.14580514
0.12595671
Sollecitazione1
psi
555.05427321
484.79701408
432.97115065
754.62163155
690.45642877
Massa1
g
131.917
149.322
166.932
81.4301
98.3268
Nome del componente
Unità
Scenario33
Scenario34
Scenario35
Scenario36
Scenario37
Spessore
mm
1.4
1.6
1.8
2
1
Diametro Interno
mm
31
31
31
31
31.2
Spostamento1
mm
0.11000472
0.09767451
0.08863376
0.07835789
0.14543868
Sollecitazione1
psi
599.77368634
535.80852687
484.19974867
429.38139412
780.83198127
Massa1
g
115.427
132.731
150.239
167.95
81.939
Nome del componente
Unità
Scenario38
Scenario39
Scenario40
Scenario41
Scenario42
Spessore
mm
1.2
1.4
1.6
1.8
2
Diametro Interno
mm
31.2
31.2
31.2
31.2
31.2
Spostamento1
mm
0.12391721
0.10808469
0.09554715
0.0871365
0.07700518
Sollecitazione1
psi
655.58108949
602.40459839
488.57941698
478.37488809
427.20894637
Massa1
g
98.9375
116.14
133.545
151.155
168.967
Nome del componente
Unità
Scenario43
Scenario44
Scenario45
Scenario46
Scenario47
Spessore
mm
1
1.2
1.4
1.6
1.8
Diametro Interno
mm
31.4
31.4
31.4
31.4
31.4
Spostamento1
mm
0.14318847
0.12138973
0.10639112
0.09361462
0.08559959
Sollecitazione1
psi
765.01082973
651.6094486
605.45068095
498.11543067
474.52388234
Massa1
g
82.448
99.5483
116.852
134.36
152.071
Nome del componente
Unità
Scenario48
Scenario49
Scenario50
Scenario51
Scenario52
Spessore
mm
2
1
1.2
1.4
1.6
Diametro Interno
mm
31.4
31.6
31.6
31.6
31.6
Spostamento1
mm
0.0756606
0.14017217
0.11948347
0.10368563
0.09220161
Sollecitazione1
psi
424.58274805
741.15277456
651.18173231
735.8326453
505.69096927
Massa1
g
169.985
82.9569
100.159
117.565
135.174
Nome del componente
Unità
Scenario53
Scenario54
Scenario55
Scenario56
Scenario57
Spessore
mm
1.8
2
1
1.2
1.4
Diametro Interno
mm
31.6
31.6
31.8
31.8
31.8
Spostamento1
mm
0.08411516
0.07434461
0.13775504
0.11698274
0.10174167
Università degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione diSezioneCircolare
6
Sollecitazione1
psi
462.18740749
412.5287342
763.84131794
663.33415427
782.72849473
Massa1
g
152.987
171.003
83.4658
100.77
118.277
Nome del componente
Unità
Scenario58
Scenario59
Scenario60
Scenario61
Scenario62
Spessore
mm
1.6
1.8
2
1
1.2
Diametro Interno
mm
31.8
31.8
31.8
32
32
Spostamento1
mm
0.09061268
0.08256982
0.07305576
0.13523897
0.11474927
Sollecitazione1
psi
504.47551677
455.6784039
408.15225672
771.48422656
645.66681737
Massa1
g
135.988
153.903
172.021
83.9748
101.38
Nome del componente
Unità
Scenario63
Scenario64
Scenario65
Scenario66
<L_Iter5/>
Spessore
mm
1.4
1.6
1.8
2
<SR_Iter5/>
Diametro Interno
mm
32
32
32
32
Spostamento1
mm
0.09950787
0.08893566
0.08116318
0.07178218
Sollecitazione1
psi
846.6258128
489.69033353
447.00282658
405.84108037
Massa1
g
118.99
136.803
154.819
173.039
Università degli studi di Trento
Analizzato con SolidWorks Simulation
Simulazione diSezioneI
1
Simulazione di
Sezione H
Data: martedì 19 giugno 2012
Designer: Matteo Ragni [134977]
Nome studio: Studio progettuale 1
Tipo di analisi: Studio progettuale
Table of Contents
Descrizione .......................................... 1
Trave Sezione ad I .................................. 2
Proprietà dello studio .............................. 2
Unità ................................................. 3
Impostazione Studio progettuale ................. 3
Risultati dello studio ............................... 4
Conclusione .......................................... 9
Descrizione
Studi della trave con sezione ad H. Ottim
izzazione della
altezza, larghezza e dello spessore. In questo documento è
presente solo l’ultim
a parte della ottim
izzazione, con la fase
più stretta. Il report è stato generato automaticamente da
SolidWorks Simulation
Università degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione di Sezione ad H
2
Trave Sezione ad H
Nome
documento
Configurazione
Percorso del documento
Data modifica
SezioneI
Default
D:\Data\Università\Ingegneria Meccatronica
Robotica\M
odeling and sim
ulation of
mechanical
systems\Tesina\Ottim
izzazione\Sezione
I\SezioneI.SLDPRT
Jun 19 11:17:13
2012
Proprietà dello studio
Nome studio
Studio progettuale 1
Tipo di analisi
Studio progettuale(Ottim
izzazione)
Qualità Studio del progetto
Qualità ottim
a (più lento)
Cartella Risultato
Documento
SolidWorks(D:\Data\Università\Ingegneria
Meccatronica Robotica\M
odeling and sim
ulation of
mechanical systems\Tesina\Ottim
izzazione\Sezione
I)
Università degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione di Sezione ad H
3
Unità
Sistema di unità:
SI (MKS)
Lunghezza/Spostamento
mm
Temperatura
Kelvin
Velocità angolare
Rad/sec
Pressione/Sollecitazione
N/m^2
Impostazione Studio progettuale
Variabili di progetto
Nome
Tipo
Valori
Unità
Altezza
Range con fase
Min:19 Max:21 Fase:0.5
mm
Larghezza
Range con fase
Min:34 Max:36 Fase:0.5
mm
Spessore
Range con fase
Min:4 Max:6 Fase:0.5
mm
Vincoli
Nome sensore
Condizione
Margini
Unità
Nome studio
Spostamento1
è m
inore di
Max:0.1
mm
Ottim
izzazione
Trave a I
Sollecitazione1
è m
inore di
Max:13.8
N/mm^2 (MPa)
Ottim
izzazione
Trave a I
Obiettivi
Nome
Obiettivo
Proprietà
Spessore
Nome studio
Massa1
Minim
izzare
Massa
10
-
Università degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione di Sezione ad H
4
Risultati dello studio
127 su 127 scenari eseguiti con successo.
Nome del
componente
Unità
Corrente
Iniziale
Ottimale
Scenario1
Scenario2
Altezza
mm
25
25
19
19
19.5
Larghezza
mm
40
40
34
34
34
Spessore
mm
6
6
4
4
4
Spostamento1
mm
0.03768558
0.03768558
0.09746581
0.09746581
0.0950711
Sollecitazione1
N/mm^2
(MPa)
1.9527185
1.9527185
4.11659425
4.11659425
4.08560125
Massa1
451.98
451.98
255.96
255.96
257.58
Nome del componente
Unità
Scenario3
Scenario4
Scenario5
Scenario6
Scenario7
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
34
34
34
34.5
34.5
Spessoreg
mm
4
4
4
4
4
Spostamento1
mm
0.09298078
0.09114565
0.08953881
0.09446235
0.09206063
Sollecitazione1
N/mm^2 (MPa)
4.0529705
4.0839495
3.99720725
4.02497
4.07852975
Massa1
g 259.2
260.82
262.44
259.2
260.82
Nome del componente
Unità
Scenario8 Scenario9 Scenario10 Scenario11 Scenario12
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
34.5
34.5
34.5
35
35
Spessore
mm
4
4
4
4
4
Spostamento1
mm
0.089959
0.08811151
0.08649752
0.09162331
0.08921293
Sollecitazione1
N/mm^2 (MPa)
4.03726875
3.929784
3.90058225
3.93276725
3.89358225
Massa1
g
262.44
264.06
265.68
262.44
264.06
Nome del
componente
Unità
Scenario13 Scenario14 Scenario15 Scenario16 Scenario17
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
35
35
35
35.5
35.5
Spessore
mm
4
4
4
4
4
Spostamento1
mm
0.08710475
0.08525827
0.08362726
0.08894553
0.08653042
Sollecitazione1
N/mm^2
(MPa)
3.87315875
3.83279525
3.80396725
3.9003905
3.8660375
Massa1
g
265.68
267.3
268.92
265.68
267.3
Nome del
componente
Unità
Scenario18 Scenario19 Scenario20 Scenario21 Scenario22
Università degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione di Sezione ad H
5
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
35.5
35.5
35.5
36
36
Spessore
mm
4
4
4
4
4
Spostamento1
mm
0.08441373
0.08255701
0.08092549
0.08641526
0.08399176
Sollecitazione1
N/mm^2
(MPa)
3.83669825
3.80682075
3.77989025
3.81038
3.77722125
Massa1
g
268.92
270.54
272.16
268.92
270.54
Nome del
componente
Unità
Scenario23 Scenario24 Scenario25 Scenario26 Scenario27
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
36
36
36
34
34
Spessore
mm
4
4
4
4.5
4.5
Spostamento1
mm
0.08187498
0.08000922
0.07837282
0.08873439
0.0863228
Sollecitazione1
N/mm^2
(MPa)
3.74698875
3.7183375
3.69243125
3.704013
3.66814775
Massa1
g
272.16
273.78
275.4
284.31
286.132
Nome del
componente
Unità
Scenario28 Scenario29 Scenario30 Scenario31 Scenario32
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
34
34
34
34.5
34.5
Spessore
mm
4.5
4.5
4.5
4.5
4.5
Spostamento1
mm
0.08421916
0.08237916
0.08076191
0.0860671
0.08364882
Sollecitazione1
N/mm^2
(MPa)
3.59546325
3.60871875
3.581138
3.61205925
3.5405535
Massa1
g
287.955
289.778
291.6
287.955
289.777
Nome del
componente
Unità
Scenario33 Scenario34 Scenario35 Scenario36 Scenario37
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
34.5
34.5
34.5
35
35
Spessore
mm
4.5
4.5
4.5
4.5
4.5
Spostamento1
mm
0.08153608
0.07969176
0.07806777
0.08355103
0.08112857
Sollecitazione1
N/mm^2
(MPa)
3.50936925
3.48307175
3.49337175
3.538038
3.65201125
Massa1
g
291.6
293.423
295.245
291.6
293.423
Nome del
component
e
Unità
Scenario
38
Scenario
39
Scenario
40
Scenario
41
Scenario42
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
35
35
35
35.5
35.5
Spessore
mm
4.5
4.5
4.5
4.5
4.5
Spostamento
mm
0.0790123
0.0771563
0.0755301
0.0811723
0.07874482
Università degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione di Sezione ad H
6
1
7
7
3
6
Sollecitazion
e1
N/mm^2
(MPa)295.245297.068298.8295
.2459
3.5245645
3.439484
3.371938
3.5377295
3.6928297.0680
075
Massa1
g
Nome del
componente
Unità
Scenario43 Scenario44 Scenario45 Scenario46 Scenario47
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
35.5
35.5
35.5
36
36
Spessore
mm
4.5
4.5
4.5
4.5
4.5
Spostamento1
mm
0.0766263
0.0747656
0.07313131
0.0789254
0.07649816
Sollecitazione1
N/mm^2
(MPa)
3.43775475
3.626173
3.597642
3.63105275
3.596984
Massa1
g
298.89
300.713
302.535
298.89
300.712
Nome del
componente
Unità
Scenario48 Scenario49 Scenario50 Scenario51 Scenario52
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
36
36
36
34
34
Spessore
mm
4.5
4.5
4.5
5
5
Spostamento1
mm
0.0743729
0.07250719
0.07086813
0.08200271
0.0795518
Sollecitazione1
N/mm^2
(MPa)
3.37698675
3.54302375
3.50536075
3.369987
3.337427
Massa1
g
302.535
304.358
306.18
311.85
313.875
Nome del
componente
Unità
Scenario53 Scenario54 Scenario55 Scenario56 Scenario57
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
34
34
34
34.5
34.5
Spessore
mm
5
5
5
5
5
Spostamento1
mm
0.07741262
0.07554364
0.07390594
0.07961317
0.07715078
Sollecitazione1
N/mm^2
(MPa)
3.306679
3.28022175
3.25626325
3.2922245
3.258899
Massa1
g
315.9
317.925
319.95
315.9
317.925
Nome del
componente
Unità
Scenario58 Scenario59 Scenario60 Scenario61 Scenario62
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
34.5
34.5
34.5
35
35
Spessore
mm
5
5
5
5
5
Spostamento1
mm
0.07500745
0.07313109
0.07148852
0.07735693
0.074884
Sollecitazione1
N/mm^2
(MPa)
3.2288455
3.2020695
3.17324275
3.2183895
3.18560275
Massa1
g
319.95
321.975
324
319.95
321.975
Università degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione di Sezione ad H
7
Nome del
componente
Unità
Scenario63 Scenario64 Scenario65 Scenario66 Scenario67
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
35
35
35
35.5
35.5
Spessore
mm
5
5
5
5
5
Spostamento1
mm
0.07273808
0.07085634
0.06921105
0.07523139
0.07275194
Sollecitazione1
N/mm^2
(MPa)
3.15553975
3.12780275
3.10206775
3.1921475
3.1049415
Massa1
g
324
326.025
328.05
324
326.025
Nome del
componente
Unità
Scenario68 Scenario69 Scenario70 Scenario71 Scenario72
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
35.5
35.5
35.5
36
36
Spessore
mm
5
5
5
5
5
Spostamento1
mm
0.07060322
0.06871953
0.06706898
0.07321574
0.07073226
Sollecitazione1
N/mm^2
(MPa)
3.0852925
3.04973425
3.03025125
3.12319925
3.0940625
Massa1
g
328.05
330.075
332.1
328.05
330.075
Nome del
componente
Unità
Scenario73 Scenario74 Scenario75 Scenario76 Scenario77
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
36
36
36
34
34
Spessore
mm
5
5
5
5.5
5.5
Spostamento1
mm
0.06857901
0.06669124
0.06503444
0.07684458
0.07430769
Sollecitazione1
N/mm^2
(MPa)
3.0871575
3.019176
2.992017
3.1055035
3.09682325
Massa1
g
332.1
334.125
336.15
338.58
340.807
Nome del
componente
Unità
Scenario78 Scenario79 Scenario80 Scenario81 Scenario82
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
34
34
34
34.5
34.5
Spessore
mm
5.5
5.5
5.5
5.5
5.5
Spostamento1
mm
0.07209054
0.07015235
0.06845419
0.07466792
0.07213029
Sollecitazione1
N/mm^2
(MPa)
3.04844675
3.01627925
2.993788
3.03811525
3.005349
Massa1
g
343.035
345.263
347.49
343.035
345.262
Nome del
componente
Unità
Scenario83 Scenario84 Scenario85 Scenario86 Scenario87
Altezza
mm
20
20.5
21
19
19.5
Università degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione di Sezione ad H
8
Larghezza
mm
34.5
34.5
34.5
35
35
Spessore
mm
5.5
5.5
5.5
5.5
5.5
Spostamento1
mm
0.06991492
0.0679735
0.06627038
0.07261319
0.07007851
Sollecitazione1
N/mm^2
(MPa)
2.97771975
2.952936
2.9270095
2.9683695
2.93946475
Massa1
g
347.49
349.717
351.945
347.49
349.718
Nome del
componente
Unità
Scenario88 Scenario89 Scenario90 Scenario91 Scenario92
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
35
35
35
35.5
35.5
Spessore
mm
5.5
5.5
5.5
5.5
5.5
Spostamento1
mm
0.06786043
0.0659183
0.06421269
0.07067106
0.06813777
Sollecitazione1
N/mm^2
(MPa)
2.911744
2.8851585
2.861188
2.90269725
2.87320475
Massa1
g
351.945
354.173
356.4
351.945
354.172
Nome del
componente
Unità
Scenario93 Scenario94 Scenario95 Scenario96 Scenario97
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
35.5
35.5
35.5
36
36
Spessore
mm
5.5
5.5
5.5
5.5
5.5
Spostamento1
mm
0.06592083
0.06397764
0.06226957
0.06883781
0.06630879
Sollecitazione1
N/mm^2
(MPa)
2.846526
2.8237885
2.79919525
2.8643505
2.84047775
Massa1
g
356.4
358.628
360.855
356.4
358.627
Nome del
componente
Unità
Scenario98 Scenario99 Scenario100 Scenario101 Scenario102
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
36
36
36
34
34
Spessore
mm
5.5
5.5
5.5
6
6
Spostamento1
mm
0.06409281
0.06214859
0.06043861
0.07276135
0.07015752
Sollecitazione1
N/mm^2
(MPa)
2.75900475
2.78648625
2.72142975
2.94930825
2.7568805
Massa1
g
360.855
363.083
365.31
364.5
366.93
Nome del
componente
Unità
Scenario103 Scenario104 Scenario105 Scenario106 Scenario107
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
34
34
34
34.5
34.5
Spessore
mm
6
6
6
6
6
Spostamento1
mm
0.06788046
0.06589232
0.06414823
0.07076219
0.06815762
Sollecitazione1
N/mm^2
(MPa)
2.744921
2.7151115
2.68630075
2.74339875
2.854401
Università degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione di Sezione ad H
9
Massa1
g
369.36
371.79
374.22
369.36
371.79
Nome del
componente
Unità
Scenario108 Scenario109 Scenario110 Scenario111 Scenario112
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
34.5
34.5
34.5
35
35
Spessore
mm
6
6
6
6
6
Spostamento1
mm
0.06588498
0.06389224
0.06214686
0.0688745
0.06627055
Sollecitazione1
N/mm^2
(MPa)
2.670604
2.79542375
2.61835125
2.68010175
2.78728925
Massa1
g
374.22
376.65
379.08
374.22
376.65
Nome del
componente
Unità
Scenario113 Scenario114 Scenario115 Scenario116 Scenario117
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
35
35
35
35.5
35.5
Spessore
mm
6
6
6
6
6
Spostamento1
mm
0.06399964
0.06200818
0.06026157
0.06708833
0.06449281
Sollecitazione1
N/mm^2
(MPa)
2.75594675
2.8463115
2.713791
2.61236
2.5695515
Massa1
g
379.08
381.51
383.94
379.08
381.51
Nome del
componente
Unità
Scenario118 Scenario119 Scenario120 Scenario121 Scenario122
Altezza
mm
20
20.5
21
19
19.5
Larghezza
mm
35.5
35.5
35.5
36
36
Spessore
mm
6
6
6
6
6
Spostamento1
mm
0.06222259
0.06023133
0.05848395
0.06539591
0.06280706
Sollecitazione1
N/mm^2
(MPa)
2.548199
2.5183905
2.49698725
2.5417215
2.52277575
Massa1
g
383.94
386.37
388.8
383.94
386.37
Nome del componente
Unità
Scenario123
Scenario124
Scenario125
Altezza
mm
20
20.5
21
Larghezza
mm
36
36
36
Spessore
mm
6
6
6
Spostamento1
mm
0.0605407
0.05855098
0.05680104
Sollecitazione1
N/mm^2 (MPa)
2.4883295
2.46638175
2.453035
Massa1
g
388.8
391.23
393.66
Univeristà degli studi di Trento
Analizzato con SolidWorks Simulation
Simulazione di Trave Sezione a T
1
Sim
ulazione di Trave
Sezione a T
Data: martedì 19 giugno 2012
Designer: Matteo Ragni [134977]
Nome studio: Studio progettuale 1
Tipo di analisi: Studio progettuale
Table of Contents
Descrizione .......................................... 1
Proprietà dello studio .............................. 2
Unità ................................................. 2
Impostazione Studio progettuale ................. 2
Risultati dello studio ............................... 3
Descrizione
Studio di design: ottim
izzazione della sezione della trave a
T. Si ottim
izzano larghezza, altezza e spessore. In questo
documento è presente solo l’ultim
a parte della
ottim
izzazione, con la fase più stretta. Il report è stato
generato automaticamente da SolidWorks Simulation
Univeristà degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione diTrave T
2
Proprietà dello studio
Nome studio
Studio progettuale 1
Tipo di analisi
Studio progettuale(Ottim
izzazione)
Qualità Studio del progetto
Qualità ottim
a (più lento)
Cartella Risultato
Documento
SolidWorks(D:\Data\Università\Ingegneria
Meccatronica Robotica\M
odeling and sim
ulation of
mechanical systems\Tesina\Ottim
izzazione\Trave T)
Unità
Sistema di unità:
SI (MKS)
Lunghezza/Spostamento
mm
Temperatura
Kelvin
Velocità angolare
Rad/sec
Pressione/Sollecitazione
N/m^2
Impostazione Studio progettuale
Variabili di progetto
Nome
Tipo
Valori
Unità
Larghezza
Range con fase
Min:25 Max:30 Fase:1
mm
Spessore
Range con fase
Min:4 Max:8 Fase:1
mm
Altezza
Range con fase
Min:25 Max:30 Fase:1
mm
Vincoli
Nome sensore
Condizione
Margini
Unità
Nome studio
Spostamento1
è m
inore di
Max:0.1
mm
Trave T
Sollecitazione1
è m
inore di
Max:13.8
N/mm^2 (MPa)
Trave T
Obiettivi
Nome
Obiettivo
Proprietà
Spessore
Nome studio
Massa2
Minim
izzare
Massa
10
-
Univeristà degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione diTrave T
3
Risultati dello studio
182 su 182 scenari eseguiti con successo.
Nome del
componente
Unità
Corrente
Iniziale
Ottim
ale
Scenario1
Scenario2
Larghezza
mm
30
30
30
25
26
Spessore
mm
8
8
7
4
4
Altezza
mm
27
27
30
25
25
Spostamento1
mm
0.10137196
0.10137196
0.09605732
0.27739868
0.26142079
Sollecitazione1
N/mm^2
(MPa)
3.67478425
3.67478425
3.48882775
8.261297
8.1450795
Massa2
117.6
117.6
111.3
55.2
56.4
Nome del componente
Unità
Scenario3
Scenario4
Scenario5
Scenario6
Scenario7
Larghezza
mm
27
28
29
30
25
Spessore
mm
4
4
4
4
5
Altezzag
mm
25
25
25
25
25
Spostamento1
mm
0.24804921
0.23674083
0.2271113
0.21892127
0.22354788
Sollecitazione1
N/mm^2 (MPa)
8.0522185
7.9727465
7.876529
7.803796
6.7475725
Massa2
g 57.6
58.8
60
61.2
67.5
Nome del componente
Unità
Scenario8 Scenario9 Scenario10 Scenario11 Scenario12
Larghezza
mm
26
27
28
29
30
Spessore
mm
5
5
5
5
5
Altezza
mm
25
25
25
25
25
Spostamento1
mm
0.22354788
0.20114558
0.19253002
0.19253002
0.1791041
Sollecitazione1
N/mm^2 (MPa)
6.7475725
6.5662635
6.4968385
6.4062895
6.35442
Massa2
g
69
70.5
72
73.5
75
Nome del
componente
Unità
Scenario13 Scenario14 Scenario15 Scenario16 Scenario17
Larghezza
mm
25
26
27
28
29
Spessore
mm
6
6
6
6
6
Altezza
mm
25
25
25
25
25
Spostamento1
mm
0.18888357
0.17914879
0.17099506
0.16408571
0.15820198
Sollecitazione1
N/mm^2
(MPa)
5.827081
5.751001
5.663142
5.587464
5.506645
Massa2
g
79.2
81
82.8
84.6
86.4
Nome del
componente
Unità
Scenario18 Scenario19 Scenario20 Scenario21 Scenario22
Univeristà degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione diTrave T
4
Larghezza
mm
30
25
26
27
28
Spessore
mm
6
7
7
7
7
Altezza
mm
25
25
25
25
25
Spostamento1
mm
0.15343649
0.16479845
0.15677734
0.15003564
0.14430177
Sollecitazione1
N/mm^2
(MPa)
5.459576
5.169893
5.06272
4.9639445
4.901832
Massa2
g
88.2
90.3
92.4
94.5
96.6
Nome del
componente
Unità
Scenario23 Scenario24 Scenario25 Scenario26 Scenario27
Larghezza
mm
29
30
25
26
27
Spessore
mm
7
7
8
8
8
Altezza
mm
25
25
25
25
25
Spostamento1
mm
0.13949594
0.13546638
0.14695205
0.14018167
0.1344523
Sollecitazione1
N/mm^2
(MPa)
4.839794
4.7814715
4.6676825
4.58313
4.816414
Massa2
g
98.7
100.8
100.8
103.2
105.6
Nome del
componente
Unità
Scenario28 Scenario29 Scenario30 Scenario31 Scenario32
Larghezza
mm
28
29
30
25
26
Spessore
mm
8
8
8
4
4
Altezza
mm
25
25
25
26
26
Spostamento1
mm
0.12957191
0.12549984
0.12202599
0.27650304
0.25938899
Sollecitazione1
N/mm^2
(MPa)
4.743337
4.6830135
4.324064
7.83761
7.8346735
Massa2
g
108
110.4
112.8
56.4
57.6
Nome del
componente
Unità
Scenario33 Scenario34 Scenario35 Scenario36 Scenario37
Larghezza
mm
27
28
29
30
25
Spessore
mm
4
4
4
4
5
Altezza
mm
26
26
26
26
26
Spostamento1
mm
0.24497104
0.23272479
0.22213557
0.21311201
0.21762722
Sollecitazione1
N/mm^2
(MPa)
8.161995
7.604447
7.5216755
7.4484425
6.519492
Massa2
g
58.8
60
61.2
62.4
69
Nome del
componente
Unità
Scenario38 Scenario39 Scenario40 Scenario41 Scenario42
Larghezza
mm
26
27
28
29
30
Spessore
mm
5
5
5
5
5
Altezza
mm
26
26
26
26
26
Spostamento1
mm
0.20471872
0.19388599
0.18466249
0.17677424
0.17002466
Sollecitazione1
N/mm^2
6.4226825
6.3545465
6.2772695
6.1980215
6.130626
Univeristà degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione diTrave T
5
(MPa)70.57273.57576.5
Massa2
g
Nome del
componente
Unità
Scenario43 Scenario44 Scenario45 Scenario46 Scenario47
Larghezza
mm
25
26
27
28
29
Spessore
mm
6
6
6
6
6
Altezza
mm
26
26
26
26
26
Spostamento1
mm
0.18122872
0.17102995
0.16243917
0.15513304
0.14890201
Sollecitazione1
N/mm^2
(MPa)
5.5467155
5.4719075
5.3863505
5.299087
5.2359915
Massa2
g
81
82.8
84.6
86.4
88.2
Nome del
componente
Unità
Scenario48 Scenario49 Scenario50 Scenario51 Scenario52
Larghezza
mm
30
25
26
27
28
Spessore
mm
6
7
7
7
7
Altezza
mm
26
26
26
26
26
Spostamento1
mm
0.14355639
0.15637312
0.14803906
0.14099898
0.13499742
Sollecitazione1
N/mm^2
(MPa)
5.172532
5.330896
4.814897
4.7424155
4.6646585
Massa2
g
90
92.4
94.5
96.6
98.7
Nome del
componente
Unità
Scenario53 Scenario54 Scenario55 Scenario56 Scenario57
Larghezza
mm
29
30
25
26
27
Spessore
mm
7
7
8
8
8
Altezza
mm
26
26
26
26
26
Spostamento1
mm
0.12987082
0.12544208
0.13847488
0.13146276
0.12552548
Sollecitazione1
N/mm^2
(MPa)
4.6086515
5.0819265
4.372572
4.314104
4.2313125
Massa2
g
100.8
102.9
103.2
105.6
108
Nome del
componente
Unità
Scenario58 Scenario59 Scenario60 Scenario61 Scenario62
Larghezza
mm
28
29
30
25
26
Spessore
mm
8
8
8
4
4
Altezza
mm
26
26
26
27
27
Spostamento1
mm
0.12045777
0.11612257
0.11243895
0.26633259
0.24878667
Sollecitazione1
N/mm^2
(MPa)
4.15458
4.0953565
4.058508
7.3777095
7.2815125
Massa2
g
110.4
112.8
115.2
57.6
58.8
Univeristà degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione diTrave T
6
Nome del
componente
Unità
Scenario63 Scenario64 Scenario65 Scenario66 Scenario67
Larghezza
mm
27
28
29
30
25
Spessore
mm
4
4
4
4
5
Altezza
mm
27
27
27
27
27
Spostamento1
mm
0.23401818
0.22130636
0.21041367
0.20104775
0.20821214
Sollecitazione1
N/mm^2
(MPa)
7.177038
7.8958135
7.0667295
7.4849885
6.015032
Massa2
g
60
61.2
62.4
63.6
70.5
Nome del
componente
Unità
Scenario68 Scenario69 Scenario70 Scenario71 Scenario72
Larghezza
mm
26
27
28
29
30
Spessore
mm
5
5
5
5
5
Altezza
mm
27
27
27
27
27
Spostamento1
mm
0.19492549
0.183793
0.17426112
0.16614508
0.15915744
Sollecitazione1
N/mm^2
(MPa)
6.0071595
5.880449
5.8062245
5.7299315
5.664773
Massa2
g
72
73.5
75
76.5
78
Nome del
componente
Unità
Scenario73 Scenario74 Scenario75 Scenario76 Scenario77
Larghezza
mm
25
26
27
28
29
Spessore
mm
6
6
6
6
6
Altezza
mm
27
27
27
27
27
Spostamento1
mm
0.17231306
0.16180206
0.1529818
0.14545651
0.13904058
Sollecitazione1
N/mm^2
(MPa)
5.3445775
5.250276
5.169158
5.098862
4.9876755
Massa2
g
82.8
84.6
86.4
88.2
90
Nome del
componente
Unità
Scenario78 Scenario79 Scenario80 Scenario81 Scenario82
Larghezza
mm
30
25
26
27
28
Spessore
mm
6
7
7
7
7
Altezza
mm
27
27
27
27
27
Spostamento1
mm
0.13352459
0.14793529
0.13938968
0.13215093
0.12598043
Sollecitazione1
N/mm^2
(MPa)
4.923774
4.558894
4.5846925
4.5103975
4.4408695
Massa2
g
91.8
94.5
96.6
98.7
100.8
Nome del
componente
Unità
Scenario83 Scenario84 Scenario85 Scenario86 Scenario87
Larghezza
mm
29
30
25
26
27
Spessore
mm
7
7
8
8
8
Univeristà degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione diTrave T
7
Altezza
mm
27
27
27
27
27
Spostamento1
mm
0.12071317
0.11618206
0.13029974
0.12313173
0.11705037
Sollecitazione1
N/mm^2
(MPa)
4.36464
4.306768
4.1514455
4.0672475
3.98250175
Massa2
g
102.9
105
105.6
108
110.4
Nome del
componente
Unità
Scenario88 Scenario89 Scenario90 Scenario91 Scenario92
Larghezza
mm
28
29
30
25
26
Spessore
mm
8
8
8
4
4
Altezza
mm
27
27
27
28
28
Spostamento1
mm
0.11185661
0.10741926
0.10359097
0.25815089
0.24022159
Sollecitazione1
N/mm^2
(MPa)
3.90214875
3.865645
3.815069
7.1667855
7.3582095
Massa2
g
112.8
115.2
117.6
58.8
60
Nome del
componente
Unità
Scenario93 Scenario94 Scenario95 Scenario96 Scenario97
Larghezza
mm
27
28
29
30
25
Spessore
mm
4
4
4
4
5
Altezza
mm
28
28
28
28
28
Spostamento1
mm
0.22509624
0.21213997
0.2009384
0.1913196
0.20050981
Sollecitazione1
N/mm^2
(MPa)
7.2590025
6.720429
6.627073
6.593891
5.880336
Massa2
g
61.2
62.4
63.6
64.8
72
Nome del
componente
Unità
Scenario98 Scenario99 Scenario100 Scenario101 Scenario102
Larghezza
mm
26
27
28
29
30
Spessore
mm
5
5
5
5
5
Altezza
mm
28
28
28
28
28
Spostamento1
mm
0.1869557
0.17553889
0.1657426
0.15739267
0.15019931
Sollecitazione1
N/mm^2
(MPa)
5.6356285
5.541313
5.912696
5.3857765
5.3066325
Massa2
g
73.5
75
76.5
78
79.5
Nome del
componente
Unità
Scenario103 Scenario104 Scenario105 Scenario106 Scenario107
Larghezza
mm
25
26
27
28
29
Spessore
mm
6
6
6
6
6
Altezza
mm
28
28
28
28
28
Spostamento1
mm
0.16408454
0.15337671
0.14435066
0.13665686
0.1300944
Sollecitazione1
N/mm^2
(MPa)
4.964514
4.794583
4.708513
4.6450625
4.580428
Massa2
g
84.6
86.4
88.2
90
91.8
Univeristà degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione diTrave T
8
Nome del
componente
Unità
Scenario108 Scenario109 Scenario110 Scenario111 Scenario112
Larghezza
mm
30
25
26
27
28
Spessore
mm
6
7
7
7
7
Altezza
mm
28
28
28
28
28
Spostamento1
mm
0.12441908
0.11172609
0.13168999
0.12428366
0.11797644
Sollecitazione1
N/mm^2
(MPa)
4.898758
4.101182
4.2243265
4.150165
4.0819875
Massa2
g
93.6
96.6
98.7
100.8
102.9
Nome del
componente
Unità
Scenario113 Scenario114 Scenario115 Scenario116 Scenario117
Larghezza
mm
29
30
25
26
27
Spessore
mm
7
7
8
8
8
Altezza
mm
28
28
28
28
28
Spostamento1
mm
0.11259218
0.10796692
0.123256
0.11595093
0.10974936
Sollecitazione1
N/mm^2
(MPa)
4.0234785
3.96782275
3.9008885
3.8360285
3.76091275
Massa2
g
105
107.1
108
110.4
112.8
Nome del
componente
Unità
Scenario118 Scenario119 Scenario120 Scenario121 Scenario122
Larghezza
mm
28
29
30
25
26
Spessore
mm
8
8
8
4
4
Altezza
mm
28
28
28
29
29
Spostamento1
mm
0.10445643
0.09992319
0.09601616
0.24795692
0.22993292
Sollecitazione1
N/mm^2
(MPa)
3.688542
3.639528
3.585015
6.964135
6.5978525
Massa2
g
115.2
117.6
120
60
61.2
Nome del
componente
Unità
Scenario123 Scenario124 Scenario125 Scenario126 Scenario127
Larghezza
mm
27
28
29
30
25
Spessore
mm
4
4
4
4
5
Altezza
mm
29
29
29
29
29
Spostamento1
mm
0.21461253
0.20147036
0.19012399
0.18039542
0.19247591
Sollecitazione1
N/mm^2
(MPa)
6.3805615
6.2966655
6.1938705
6.761063
5.6473005
Massa2
g
62.4
63.6
64.8
66
73.5
Nome del
componente
Unità
Scenario128 Scenario129 Scenario130 Scenario131 Scenario132
Larghezza
mm
26
27
28
29
30
Univeristà degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione diTrave T
9
Spessore
mm
5
5
5
5
5
Altezza
mm
29
29
29
29
29
Spostamento1
mm
0.17870223
0.16712131
0.15718037
0.14868357
0.14134451
Sollecitazione1
N/mm^2
(MPa)
5.6533695
5.145599
5.133854
5.020054
4.950963
Massa2
g
75
76.5
78
79.5
81
Nome del
componente
Unità
Scenario133 Scenario134 Scenario135 Scenario136 Scenario137
Larghezza
mm
25
26
27
28
29
Spessore
mm
6
6
6
6
6
Altezza
mm
29
29
29
29
29
Spostamento1
mm
0.15809106
0.14718009
0.13795683
0.13007276
0.12334617
Sollecitazione1
N/mm^2
(MPa)
5.0617495
4.627392
4.815043
4.3783895
4.314088
Massa2
g
86.4
88.2
90
91.8
93.6
Nome del
componente
Unità
Scenario138 Scenario139 Scenario140 Scenario141 Scenario142
Larghezza
mm
30
25
26
27
28
Spessore
mm
6
7
7
7
7
Altezza
mm
29
29
29
29
29
Spostamento1
mm
0.1175306
0.13465936
0.12576387
0.11821787
0.11174458
Sollecitazione1
N/mm^2
(MPa)
4.1977245
4.381186
4.377112
3.9079675
4.239091
Massa2
g
95.4
98.7
100.8
102.9
105
Nome del
componente
Unità
Scenario143 Scenario144 Scenario145 Scenario146 Scenario147
Larghezza
mm
29
30
25
26
27
Spessore
mm
7
7
8
8
8
Altezza
mm
29
29
29
29
29
Spostamento1
mm
0.10622424
0.10148811
0.11771148
0.11026985
0.1039394
Sollecitazione1
N/mm^2
(MPa)
3.76910125
3.7273595
3.7491875
3.57301575
3.54167825
Massa2
g
107.1
109.2
110.4
112.8
115.2
Nome del
componente
Unità
Scenario148 Scenario149 Scenario150 Scenario151 Scenario152
Larghezza
mm
28
29
30
25
26
Spessore
mm
8
8
8
4
4
Altezza
mm
29
29
29
30
30
Spostamento1
mm
0.09852786
0.09388272
0.08988116
0.24255109
0.22420551
Sollecitazione1
N/mm^2
(MPa)
3.45237275
3.39609
3.345553
6.7985375
6.518727
Univeristà degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione diTrave T
10
Massa2
g
117.6
120
122.4
61.2
62.4
Nome del
componente
Unità
Scenario153 Scenario154 Scenario155 Scenario156 Scenario157
Larghezza
mm
27
28
29
30
25
Spessore
mm
4
4
4
4
5
Altezza
mm
30
30
30
30
30
Spostamento1
mm
0.2086766
0.19524741
0.18369063
0.17375508
0.18736176
Sollecitazione1
N/mm^2
(MPa)
6.081536
6.331444
6.2417715
5.809114
5.509791
Massa2
g
63.6
64.8
66
67.2
75
Nome del
componente
Unità
Scenario158 Scenario159 Scenario160 Scenario161 Scenario162
Larghezza
mm
26
27
28
29
30
Spessore
mm
5
5
5
5
5
Altezza
mm
30
30
30
30
30
Spostamento1
mm
0.17332293
0.16153565
0.151384
0.14269353
0.13516516
Sollecitazione1
N/mm^2
(MPa)
5.3575545
4.978848
4.8478495
4.753133
4.694936
Massa2
g
76.5
78
79.5
81
82.5
Nome del
componente
Unità
Scenario163 Scenario164 Scenario165 Scenario166 Scenario167
Larghezza
mm
25
26
27
28
29
Spessore
mm
6
6
6
6
6
Altezza
mm
30
30
30
30
30
Spostamento1
mm
0.15318417
0.14209295
0.13270049
0.12464069
0.11773423
Sollecitazione1
N/mm^2
(MPa)
4.6866285
4.4958625
4.249382
4.12722775
4.06662175
Massa2
g
88.2
90
91.8
93.6
95.4
Nome del
componente
Unità
Scenario168 Scenario169 Scenario170 Scenario171 Scenario172
Larghezza
mm
30
25
26
27
28
Spessore
mm
6
7
7
7
7
Altezza
mm
30
30
30
30
30
Spostamento1
mm
0.11176163
0.12993552
0.12090895
0.11318483
0.10659123
Sollecitazione1
N/mm^2
(MPa)
4.0060715
4.0540505
3.90214625
3.72824925
3.6344885
Massa2
g
97.2
100.8
102.9
105
107.1
Nome del
componente
Unità
Scenario173 Scenario174 Scenario175 Scenario176 Scenario177
Univeristà degli studi di Trento
Matteo Ragni [134977]
19/06/2012
Analizzato con SolidWorks Simulation
Simulazione diTrave T
11
Larghezza
mm
29
30
25
26
27
Spessore
mm
7
7
8
8
8
Altezza
mm
30
30
30
30
30
Spostamento1
mm
0.10091829
0.09605732
0.11311136
0.10555935
0.09910939
Sollecitazione1
N/mm^2
(MPa)
3.57066375
3.48882775
3.62342625
3.4549285
3.34402525
Massa2
g
109.2
111.3
112.8
115.2
117.6
Nome del componente
Unità
Scenario178
Scenario179
Scenario180
Larghezza
mm
28
29
30
Spessore
mm
8
8
8
Altezza
mm
30
30
30
Spostamento1
mm
0.09355915
0.08884665
0.08474895
Sollecitazione1
N/mm^2 (MPa)
3.53204625
3.20081275
3.164884
Massa2
g
120
122.4
124.8
Università degli studi di Trento
Analizz
ato
con S
olidW
ork
s Si
mula
tion
Si
mula
zione d
i Se
zione a
cro
ce
1
Sim
ulazione di
Sezione a Croce
Data: m
art
edì 19 g
iugno 2
012
Designer: M
att
eo R
agni [1
34977]
Nome studio: St
udio
pro
gett
uale
1
Tipo di analisi: St
udio
pro
gett
uale
Table of Contents
Desc
rizi
one ...
....
....
....
....
....
....
....
....
....
... 1
Sezi
one a
cro
ce ...
....
....
....
....
....
....
....
....
.. 2
Pro
prietà
dello stu
dio
....
....
....
....
....
....
....
.. 2
Unità .
....
....
....
....
....
....
....
....
....
....
....
....
2
Impost
azi
one S
tudio
pro
gett
uale
....
....
....
....
. 2
Risultati d
ello stu
dio
...
....
....
....
....
....
....
....
4
Descrizione
Tra
ve sezi
one a
cro
ce. Ott
imiz
zazi
one d
elle d
imensioni
cara
tterist
iche d
i altezz
a e
larg
hezz
a d
el bra
cci
o d
ella
croce. In
quest
o d
ocum
ento
è p
rese
nte
solo
l’u
ltim
a p
art
e
della o
ttim
izza
zione, co
n la fase
più
str
ett
a. Il report
è sta
to
genera
to a
uto
matica
mente
da S
olidW
ork
s Si
mula
tion
Università degli studi di Trento
Matt
eo R
agni [1
34977]
19/06/2012
Analizz
ato
con S
olidW
ork
s Si
mula
tion
Sim
ula
zione d
iSezi
one c
roce
2
Sezione a croce
Nome
documento
Configurazione
Percorso del documento
Data m
odifica
Sezi
one c
roce
Defa
ult
D:\Data
\Univ
ers
ità\Ingegneria M
ecc
atr
onic
a
Robotica
\Modeling
and sim
ula
tion o
f m
ech
anic
al
syst
em
s\Tesina\O
ttim
izza
zione\S
ezi
one
Cro
ce\S
ezi
one c
roce
.SLDPRT
Jun 1
9 1
1:4
5:3
3
2012
Proprietà dello studio
Nome studio
Studio
pro
gett
uale
1
Tipo di analisi
Studio
pro
gett
uale
(Ott
imiz
zazi
one)
Qualità Studio del progetto
Qualità
ott
ima (più
lento
)
Cartella Risultato
Docu
mento
So
lidW
ork
s(D:\Data
\Univ
ers
ità\Ingegneria
Mecca
tronic
a R
obotica
\Modeling a
nd sim
ula
tion o
f m
ech
anic
al sy
stem
s\Tesina\O
ttim
izza
zione\S
ezi
one
Cro
ce)
Unità
Sistema di unità:
SI (MKS)
Lunghezza/Spostamento
mm
Temperatura
Kelv
in
Velocità angolare
Rad/se
c
Pressione/Sollecitazione
N/m
^2
Impost
azi
one S
tudio
pro
gett
uale
Variabili di progetto
Nome
Tipo
Valori
Unità
B
Range c
on fase
Min
:11 M
ax:1
3 F
ase
:0.5
m
m
A
Range c
on fase
Min
:7 M
ax:9
F
ase
:0.5
m
m
Vincoli
Università degli studi di Trento
Matt
eo R
agni [1
34977]
19/06/2012
Analizz
ato
con S
olidW
ork
s Si
mula
tion
Sim
ula
zione d
iSezi
one c
roce
3
Nome sensore
Condizione
Margini
Unità
Nome studio
Sollecitazi
one1
è m
inore
di
Max:1
3.8
N/m
m^2 (MPa)
Tra
ve a
cro
ce
Spost
am
ento
1
è m
inore
di
Max:0
.1
mm
Tra
ve a
cro
ce
Obiettivi
Nome
Obiettivo
Proprietà
Spessore
Nome studio
Mass
a1
Min
imiz
zare
Mass
a
10
-
Università degli studi di Trento
Matt
eo R
agni [1
34977]
19/06/2012
Analizz
ato
con S
olidW
ork
s Si
mula
tion
Sim
ula
zione d
iSezi
one c
roce
4
Risultati dello studio
27 su 2
7 sce
nari e
seguiti co
n succe
sso.
Nome del
componente
Unità
Corrente
Iniziale
Ottim
ale
Scenario1
Scenario2
B
mm
13
13
12.5
11
11.5
A
mm
10
10
7.5
7
7
Sollecitazione
1
N/m
m^2
(MPa)
2.0
26624875
2.0
26624875
3.6
2968875
4.5
658045
4.2
297295
Spostamento1
0.0
5347195
0.0
5347195
0.0
9814074
0.1
4732881
0.1
3343977
Massa1
186
186
129.3
75
107.1
111.3
Nome del componente
Unità
Scenario3
Scenario4
Scenario5
Scenario6
Scenario7
Bmm
mm
12
12.5
13
11
11.5
A
gm
m
7
7
7
7.5
7.5
Sollecitazione1
N/m
m^2 (MPa)
4.2
488005
3.7
9522675
3.4
8886275
4.1
15922
4.0
9412725
Spostamento1
mm
0.1
2127088
0.1
1050614
0.1
0103859
0.1
3014858
0.1
1810204
Massa1
g 115.5
119.7
123.9
115.8
75
120.3
75
Nome del componente
Unità
Scenario8 Scenario9 Scenario10 Scenario11 Scenario12
B
mm
12
12.5
13
11
11.5
A
mm
7.5
7.5
7.5
8
8
Sollecitazione1
N/m
m^2 (MPa)
3.8
3950475
3.6
2968875
3.1
5592025
3.7
1391275
3.4
5335325
Spostamento1
mm
0.1
0750756
0.0
9814074
0.0
8985421
0.1
1558882
0.1
0509312
Massa1
g
124.8
75
129.3
75
133.8
75
124.8
129.6
Nome del
componente
Unità
Scenario13 Scenario14 Scenario15 Scenario16
Scenario1
7
B
mm
12
12.5
13
11
11.5
A
mm
8
8
8
8.5
8.5
Sollecitazione1
N/m
m^2
(MPa)
3.2
37834
3.0
4491325
2.8
63346
3.6
46204
3.3
7887775
Spostamento1
mm
0.0
9579855
0.0
8761243
0.0
8030582
0.1
0315002
0.0
9395117
Massa1
g
134.4
139.2
144
133.8
75
138.9
75
Nome del
componente
Unità
Scenario18 Scenario19 Scenario20 Scenario21
Scenario2
2
B
mm
12
12.5
13
11
11.5
A
mm
8.5
8.5
8.5
9
9
Sollecitazione1
N/m
m^2
(MPa)
3.1
95578
2.9
8488275
2.6
08378
3.0
814185
2.8
7256975
Università degli studi di Trento
Matt
eo R
agni [1
34977]
19/06/2012
Analizz
ato
con S
olidW
ork
s Si
mula
tion
Sim
ula
zione d
iSezi
one c
roce
5
Spostamento1
mm
0.0
8578294
0.0
7855781
0.0
7212436
0.0
9251177
0.0
8437292
Massa1
g
144.0
75
149.1
75
154.2
75
143.1
148.5
Nome del componente
Unità
Scenario23
Scenario24
Scenario25
B
mm
12
12.5
13
A
mm
9
9
9
Sollecitazione1
N/m
m^2 (MPa)
2.7
0282225
2.5
690435
2.5
9888575
Spostamento1
mm
0.0
7714669
0.0
707584
0.0
6504755
Massa1
g
153.9
159.3
164.7
Università degli studi di Trento
Analizzato con SolidWorks Simulation
Simulazione di Sezione Rettangolare Cava
1
Sim
ulazione di
Sezione Rettangolare
Cava
Data: lunedì 25 giugno 2012
Designer: Matteo Ragni [156994]
Nome studio: Studio progettuale 1
Tipo di analisi: Studio progettuale
Table of Contents
Descrizione .......................................... 1
Sezione Rettangolare Cava ........................ 2
Proprietà dello studio .............................. 2
Unità ................................................. 3
Impostazione Studio progettuale ................. 3
Risultati dello studio ............................... 4
Descrizione
Ottim
izzazione della trave rettangolare cava. Ottim
izzazione
di tre parametri, altezza base e spessore. In questo
documento è presente solo l’ultim
a parte della
ottim
izzazione, con la fase più stretta. Il report è stato
generato automaticamente da SolidWorks Simulation
Università degli studi di Trento
Matteo Ragni [156994]
25/06/2012
Analizzato con SolidWorks Simulation
Simulazione diRettangolare Cava
2
Sezione Rettangolare Cava
Nome
documento
Configurazione
Percorso del documento
Data m
odifica
Rettangolare
Cava
Default
D:\Data\Università\Ingegneria Meccatronica
Robotica\M
odeling and sim
ulation of
mechanical
systems\Tesina\Ottim
izzazione\Rettangolare
Cava\Rettangolare Cava.SLDPRT
Jun 25 12:31:22
2012
Proprietà dello studio
Nome studio
Studio progettuale 1
Tipo di analisi
Studio progettuale(Ottim
izzazione)
Qualità Studio del progetto
Qualità ottim
a (più lento)
Cartella Risultato
Documento
SolidWorks(D:\Data\Università\Ingegneria
Meccatronica Robotica\M
odeling and sim
ulation of
mechanical
systems\Tesina\Ottim
izzazione\Rettangolare Cava)
Università degli studi di Trento
Matteo Ragni [156994]
25/06/2012
Analizzato con SolidWorks Simulation
Simulazione diRettangolare Cava
3
Unità
Sistema di unità:
SI (MKS)
Lunghezza/Spostamento
mm
Temperatura
Kelvin
Velocità angolare
Rad/sec
Pressione/Sollecitazione
N/m^2
Impostazione Studio progettuale
Variabili di progetto
Nome
Tipo
Valori
Unità
Spessore
Range con fase
Min:1.4 Max:1.6 Fase:0.1
mm
Altezza
Range con fase
Min:17.8 Max:18.2 Fase:0.2
mm
Base
Range con fase
Min:26.8 Max:27.2 Fase:0.2
mm
Vincoli
Nome sensore
Condizione
Margini
Unità
Nome studio
Spostamento2
è m
inore di
Max:0.1
mm
Studio 1
Sollecitazione2
è m
inore di
Max:13.7
N/mm^2 (MPa)
Studio 1
Obiettivi
Nome
Obiettivo
Proprietà
Spessore
Nome studio
Massa1
Minim
izzare
Massa
10
-
Università degli studi di Trento
Matteo Ragni [156994]
25/06/2012
Analizzato con SolidWorks Simulation
Simulazione diRettangolare Cava
4
Risultati dello studio
29 su 29 scenari eseguiti con successo.
Nome del
componente
Unità
Corrente
Iniziale
Ottim
ale
Scenario1
Scenario2
Spessore
mm
0.6
0.6
1.4
1.4
1.5
Altezza
mm
17.2
17.2
17.8
17.8
17.8
Base
mm
25.2
25.2
26.8
26.8
26.8
Spostamento2
mm
0.22706023
0.22706023
0.07610937
0.07610937
0.06999203
Sollecitazione2
N/mm^2
(MPa)
18.57607
18.57607
7.1647475
7.1647475
6.666674
Massa1
15.696
15.696
39.816
39.816
42.84
Nome del componente
Unità
Scenario3
Scenario4
Scenario5
Scenario6
Scenario7
Spessore
mm
1.6
1.4
1.5
1.6
1.4
Altezza
mm
17.8
18
18
18
18.2
Baseg
mm
26.8
26.8
26.8
26.8
26.8
Spostamento2
mm
0.06462566
0.07453382
0.06852005
0.06330381
0.07297816
Sollecitazione2
N/mm^2 (MPa)
6.23523
7.032224
6.5893375
6.1558515
6.9968685
Massa1
g 45.888
39.984
43.02
46.08
40.152
Nome del componente
Unità
Scenario8 Scenario9 Scenario10 Scenario11 Scenario12
Spessore
mm
1.5
1.6
1.4
1.5
1.6
Altezza
mm
18.2
18.2
17.8
17.8
17.8
Base
mm
26.8
26.8
27
27
27
Spostamento2
mm
0.06711245
0.06198674
0.07562208
0.0695513
0.06421348
Sollecitazione2
N/mm^2 (MPa)
6.518461
6.093457
7.1203165
6.633831
6.199914
Massa1
g
43.2
46.272
39.984
43.02
46.08
Nome del
componente
Unità
Scenario13 Scenario14 Scenario15 Scenario16 Scenario17
Spessore
mm
1.4
1.5
1.6
1.4
1.5
Altezza
mm
18
18
18
18.2
18.2
Base
mm
27
27
27
27
27
Spostamento2
mm
0.07407039
0.06807843
0.06290845
0.07253393
0.06669274
Sollecitazione2
N/mm^2
(MPa)
7.0350325
6.555144
6.125087
6.9545165
6.471719
Massa1
g
40.152
43.2
46.272
40.32
43.38
Nome del
componente
Unità
Scenario18 Scenario19 Scenario20 Scenario21 Scenario22
Università degli studi di Trento
Matteo Ragni [156994]
25/06/2012
Analizzato con SolidWorks Simulation
Simulazione diRettangolare Cava
5
Spessore
mm
1.6
1.4
1.5
1.6
1.4
Altezza
mm
18.2
17.8
17.8
17.8
18
Base
mm
27
27.2
27.2
27.2
27.2
Spostamento2
mm
0.06160806
0.07518091
0.06911332
0.06382501
0.07362358
Sollecitazione2
N/mm^2
(MPa)
6.053096
7.084602
6.5904435
6.1196725
6.941991
Massa1
g
46.464
40.152
43.2
46.272
40.32
Nome del
componente
Unità
Scenario23 Scenario24 Scenario25 Scenario26 Scenario27
Spessore
mm
1.5
1.6
1.4
1.5
1.6
Altezza
mm
18
18
18.2
18.2
18.2
Base
mm
27.2
27.2
27.2
27.2
27.2
Spostamento2
mm
0.06767169
0.06251829
0.07206156
0.06629116
0.06122446
Sollecitazione2
N/mm^2
(MPa)
6.5144185
6.092531
6.9117895
6.4401555
6.0199545
Massa1
g
43.38
46.464
40.488
43.56
46.656
Modeling and Simulation of Mechanical Systems - Master Degree Course
Contents
I Project report 2
1 Introduction 2
2 Customer requirements 2
3 Benchmark 2
4 Technical specifications 3
5 Targets, goals and parameters 4
6 Mechanical system model and simulation 46.1 System simplifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46.2 Kinematic approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56.3 Force modeling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56.4 System mechanical model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
7 Result discussions 8
8 Optimization 8
9 Conclusions 9
II Attachments 10
10 Complete QFD Diagram 10
11 CAD Model 12
12 Maple script 14
13 CFD Simulation for aerodynamic drag coefficients 5913.1 Simulation images . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5913.2 Coefficients interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
14 Optimization: numeric simulations 65
References
[1] P.J. Bristeau, P. Martin, E. Salaun, N. Pedit,The role of propeller aerodynamics in the model ofquadrotor UAV, 2009, Procedings of the European Control Conference, 683-688
[2.a] Propeller coefficients database
[2.b] Brandt, J.B. and Selig, M.S., Propeller Performance Data at Low Reynolds Numbers, 2011, 49thAIAA Aerospace Sciences Meeting, AIAA Paper 2011-1255
[3] P. Castillo, R. Lozano, A. Dzul, Stabilization of a Mini Rotorcraft with Four Rotors, 2005, IEEEControl Systems Magazine, 46-55
Mechanical Model for Quadcopter UAV — 86
Recommended