Presentation on theme: "Dynamics of Multybody systems: Vehicle with MacPherson and 5 rod back Suspensions 1 Virginia Álvarez Sánchez 06471 Alberto de la Peña Laguna 09525 Aarón."— Presentation transcript:
Dynamics of Multybody systems: Vehicle with MacPherson and 5 rod back Suspensions 1 Virginia Álvarez Sánchez 06471 Alberto de la Peña Laguna 09525 Aarón Paz Martínez 04293 Miguel Peñalba M07076
Index Practice num 4. Description, Problems & Solutions, & Running Practice num 6. Description, Problems & Solutions, & Running Practice num 7. Description, Problems & Solutions, & Running Conclusions 2
4 th Practice. Exercise 1 It is about the kinematic simulation of the MacPherson(MP) suspension comparing Newton-Raphson (NR) and Newton-Raphson modified(NR- mod) methods. We had some difficulties with the programming of the if command when comparing it with a data type string, because if only compares integers. Our solution has been assigning an integer for each string value and comparing it in the if sentence. It would have been easier and more efficient to use the isequal function, that allows comparing strings. The comparison of times and number of iterations between NR y NR-mod is as follows, working with a Intel Centrino 2,2 GHz processor NR time : 13.437 (605 iterations), Nrmod time: 13.188 (834 iterations). Therefore, the modified method runs a larger number of steps, but tracing parallels is faster than calculating derivatives, so the result is reached sooner. 3
4 th Practice. Exercise 2 (1/2) It involves the construction of the model of a complete MacPherson suspension. Due to our unexperience at that time of the work, our numbering was not appropriate. We finally took a numbering containing explicit displacements and symmetries, which allowed us to detect small errors easily. For instance, point 15 is 4+np, and vector 5 is el 1+nv. Regarding the extra question related with making rotate the wheels in the same clockwise direction, we came to the conclusion, already in this practice, that the clockwise direction of the wheel axis’ symetric vector must be changed. 4
4 th Practice. Exercise 3 (1/2) It consists of the dynamic simulation of a 5 rod back suspension. Our first contact with integrators has not meant big problems. Comparing running times of both integrators ode113 and ode45 with Intel Pentium Core Duo 1.86 GHz processor is: ode113 time: 5.46 s ode45 time: 10.125 s Calculating the derivative of the state vector and changing it before integrating has caused us some theoretical problems, finally learning the differences between fixed and free coordinates, and within these ones, between dependent and independent. 6
4 th Practice. Exercise 4 (1/4) It consists of modelling the vehicle chassis on a Stewart platform. We have had several problems in this exercise. Importing the front and back suspension points, (and their symmetric) and setting them consecutively with the Hexapod and between themselves has forced us to a more organized programming, yet we have had some small mistakes. We also had to displace the vectors, distances and angles in the vector q. In relation to our chassis’ design, we have made use of both suspension’s points, creating segments to connect them, adding a point in the centre which is the only one owned by the chassis. In that point we defined a base of vectors, resulting a vehicle shape similar to a snail. 8
4 th Practice. Exercise 4 (3/4) The main problems we had were related with the constraints equations We organise them in three groups: The ones that define the base as a rigid solid(6), the ones that stick the base to the platform (3) and the ones that fix the chassis segments and vectors to the base(15). At that point we started to make a big use of the command Debugger, making a refining process, which has been decisive for the improvement of the constraint equations. We kept using Debugger from that moment on. Through the refining, we had identified which constraints were not fulfilled. We realized that the constraint 1005 which fix the segment between the centre point of MP and the chassis centre point was unnecessary, because it was already defined in the chassis’ base with a constraint 1000. 10
4 th Practice. Exercise 4 (4/4) In the constraint equations related to the relative coordinates DIST and ANGLES we found a theoretical trouble with the value ipos, eventually we learnt that it refers to the positions in q of the rows of those matrix. Setting the chassis’ segments we found a common problem for all the constraints 1005, which we solved by using “conditional breakpoints” in formFiPU4. Base [rj-ri| um| un] rk-rl= (rj-ri)*c1+um*c2+un*c3 The equation we used first: [1005 i j k l m n 0 0 c1 c2 c3 ] La equation programmed in formFiPU4: [1005 i j l k m n 0 0 c1 c2 c3 ] Finally, the program works properly. Run 11
6 th Practice (1/4) 12 In the first exercise, we had to build the vehicle and check that it has 15 degrees of freedom To organize the information, we have saved the definition of the suspensions and the chassis in “Geometrys” files First of all, to translate the suspensions to the wheel position we defined the variables alejdel, alargdel y elevdel Front suspension: left (a, b, rw) and right (a, -b, rw) Our reference is the point 6 in the centre of the wheel to locate all points, except the number 11(point located in the centre of the rack). We also used that point to locate the point 7 in the elevation 0, because it represents the lower point of the wheel. Back suspension: left ((-a, b, rw) and right (-a, -b, rw) : We used the point 11 (located in the centre of the wheel) as a reference to the translation, and so the point 13 (lower point) will be in the elevation 0.
6 th Practice (3/4) 14 In that moment we used the displ structure to have a tidier programming. Then we define our “Geometrys” according to displ.P, displ.U, displ.DIST, displ.ANGLES. Using this method the back suspension is located after the front. To define the vectors belonging to the axis’ wheel (especially for back suspension) we had big problems doubling them. First we changed the sign of the coordinate “y” so the vector has the same direction, so we could measure the angles in the same clockwise direction. In that moment a lot of constraints about the angles were violated. Our mistake was to consider axial symmetry instead of central symmetry. We solved that adding the “z” symmetry, and so the constraints were corrected
6 th Practice (4/4) 15 In the second exercise we did the first dynamic simulation to calculate the equilibrium static position in the exercise three, which is the starting point in the dynamics' simulations. To program carForces1.m function we had to check specific books about vehicle theory, to know the damping forces. Q=-k*v To look for the problems about the constraint equations we used the Debugger and we realized the constraint about the unit vector in U(1) belonging to the MP was also written in the chassis. And It was not a constraint to define unit vector U(4). That vector belong to the base of the chassis so the equations that fix the chassis segments to the base (1005) were changed using U(4) vector instead of U(1). Finally, the program ran correctly. Run
17 7 th Practice (1/6) The main program that controls the whole simulation is VehicleDinamicMain1.m, through this program we do the numeric integration of the differential equations of the movement. We choose the integrator ode113, because it is less demanding. After we checked it worked, we moved to Runge-Kutta4. Frequently, we checked the function CarModel01.m, it has lots of important checks for the size of ‘q’ and the ranges of each of the Jacobians on the restriction equations. Our major trouble has been the programming of derivRindex3 because its conceptual difficulty we had to go over the theory lessons very often. We did lots of checks with the aim to isolate the problem source, and the successful check was that with all of our files and derivRindex.p, the simulation worked perfectly. For the shock absorbers forces the integration was approach through the Combined Trapezoidal Rule and we change the program to do it through the Combined Simpson Rule.
20 Energy Balance (4/6) The Energy Balance is not fully satisfactory, but it is very straightforward that the solution to the error is just to subtract the non- conservative forces, that are the ones that change the stability of the Mechanical Energy. Doing so, all the Energy of the system would be maintained, something that we do not manage though the program it is not properly executed. Run
21 Conclusions (5/6) Our personal conclusion is completely satisfactory, although our little proficiency with Matlab before starting the lessons. Along the hard weeks of work we have came across plenty of difficulties, that we managed to sort out using different Matlab utilities (Debugger, Help, workspace…), we also had to take the most from classes theory notes and specially from the tutorial days. Finally, we decided to use the tool Profiler, that help us to detect what function needs more Matlab execution time. It was obvious that the function that needed more time was VehicleDynamicMain1.m. However, selecting “self time” we realized that most of the time used on the execution was needed for the drawings and the function derivRindex3, so those would be the ones to optimize.