Experimental Evaluation and Optimization of a Soccer Ball Shooting Machine’s Acceleration Unit - Bachelor’s Thesis - Authors: Coaches: Luzius Brodbeck Franziska Ullrich Prof. Dr.-Ing. Robert Riener Dipl.-Ing. Georg Rauter June 2008 ii Abstract The Bachelor’s Thesis is embedded in the focus project bend it. The bend it team, consisting of six mechanical engineering students, has built a soccer ball launching machine, called Bender, in their third year at ETH Zurich. This Bachelor’s Thesis aims the experimental evaluation of a soccer ball launching machine, its most important parameters and a subsequent optimization of the machine. The parameters, influencing a soccer ball’s trajectory, are mainly the ball’s initial velocity and its spin. In order to evaluate the machine’s repeatability and accuracy, those parameters are measured using diverse measurement methods. These methods imply the analysis of high speed videos by the use of a self implemented Matlab program and the evaluation of data obtained from light barriers and encoders. Furthermore, an optimization of the machine, Bender, takes place. The machine itself is improved as well as its control. Correction terms for the parameters are introduced, based on the earlier data analysis. Concluding the Bachelor’s Thesis, it is found, that the machine’s repeatability is quite high, as the deviation of velocity and spin is low. The relative errors of the real initial velocity and spin compared to their setpoint velocity could be improved due to the optimizations made. Still, it is found that for very high launch velocities the relative errors increase extremely. iii iv I Preface In order to enable this Bachelor’s Thesis, many people besides the authors, Luzius Brodbeck and Franziska Ullrich, are involved. We like to thank everybody, who contributed to this Bachelor’s Thesis’ success. Special thanks go to our mentors Prof. Robert Riener of the SMS, and to Georg Rauter, who helped with engagement and commitment. Furthermore, we thank Prof. Thomas Rösgen, who lent a high speed camera to us several times and also helped to implement the camera system. We also appreciated the cooperation of the ASVZ in Fluntern (Academic Sports Association Zurich). Special thanks go to Ueli Stadelmann and Renato Maggi, who made a gymnasium available as a place for testing the machine. Furthermore, we like to thank the IMRT, under the direction of Prof. Lino Guzzella, for providing us with a dSpace measurement system. Thank goes to Moritz Oetiker, who helped implementing the dSpace system. Furthermore, we thank Julian Schmid, who provided us with an image processing program and saved us a lot of work. Last but least, we like to thank the entire team bend it for their cooperation and great help during time-consuming measurements. v vi II 1 Table of Contents Description of the Task and its Circumstances............................................................................. 1 1.1 The Relevance of Sensor Systems in Modern Engineering ......................................................1 1.2 This Bachelor’s Thesis Task Description .................................................................................1 1.2.1 A Bachelor’s Thesis Complementing the Focus Project “bend it” ............................... 2 1.2.2 The Machine Bender forming the Basis for the Bachelor’s Thesis................................3 1.3 The Document’s Structure ........................................................................................................4 2 Implementation of Sensory Systems and Measuring Methods.................................................... 5 2.1 Introducing the Machine Called Bender ...................................................................................5 2.1.1 Intended Competences of Bender ..................................................................................5 2.1.2 The General Configuration of Bender ...........................................................................7 2.2 Parameters to be Evaluated by a Sensory System..................................................................... 9 2.2.1 The First Parameter: the Ball’s Spin.............................................................................9 2.2.2 The Second Parameter: the Ball’s Velocity ...................................................................9 2.2.3 The Third Parameter: the Flywheels’ Angular Velocity................................................9 2.2.4 The Machine’s Behavior due to Different Dependences ............................................... 9 2.3 Measurement Methods and Sensory System Used ................................................................. 10 2.3.1 Methods of Measuring: the Ball’s Spin and Velocity ..................................................10 2.3.2 Methods of Measuring: the Ball’s Velocity .................................................................17 2.3.3 Methods of Measuring: the Flywheels’ Angular Velocity ...........................................19 2.3.4 Methods of Measuring: the Dependence on Different Balls and their Internal Pressure19 3 Experimental Evaluation and Analysis of Obtained Data.........................................................21 3.1 Deriving the Ball’s Real Initial Spin Using High Speed Videos ............................................ 21 3.1.1 Measurements of the Ball’s Initial Spin....................................................................... 21 3.1.2 Evaluation and Analysis - Spin.................................................................................... 22 3.2 Deriving the Ball’s Real Initial Velocity Using Light Barriers............................................... 26 3.2.1 Measurements of the Ball’s Initial Velocity................................................................. 26 3.2.2 Evaluation and Analysis - Velocity.............................................................................. 27 3.3 Deriving the Flywheels’ Velocity during the Launch of a Ball .............................................. 27 3.3.1 Measurements of the Flywheels’ Change in Rotational Speed....................................28 3.3.2 Evaluation and Analysis – Flywheels’ Speeds.............................................................28 3.4 Bender’s Dependence on Different Balls and Internal Pressures............................................29 3.4.1 Measurements of the Dependence on Ball and Pressure.............................................30 3.4.2 Evaluation and Analysis – Different Balls and Internal Pressures ............................. 31 3.5 Improvements Done in the Optimization Process...................................................................32 3.5.1 Improvements Concerning the Machine Itself ............................................................. 32 3.5.2 Improvements Concerning the Machine’s Control......................................................32 3.6 Experimental Measurements after Optimization ....................................................................35 3.6.1 Results for Spin and Velocity due to Optimization ......................................................35 3.6.2 Reference Coordinate System ......................................................................................37 3.6.3 Results of the Optimized Iterative Measurements........................................................39 3.7 Closing Remarks on the Measurement Phase .........................................................................40 4 Concluding the Measurements and Optimization ......................................................................43 4.1 A Short Summary of the Results ............................................................................................43 4.2 Bender’s Abilities as Concluded from the Measurements ......................................................43 5 Table of References .......................................................................................................................45 6 Appendices .....................................................................................................................................47 6.1 Appendix A– Matlab Code .....................................................................................................47 6.1.1 datagen_neu.m.............................................................................................................47 6.1.2 grc20.m........................................................................................................................51 6.1.3 grc21.m........................................................................................................................53 6.1.4 hsceval20.m .................................................................................................................54 6.1.5 hsceval21.m .................................................................................................................55 6.1.6 lsqfun20.m ...................................................................................................................56 vii 6.2 6.3 6.4 6.5 viii 6.1.7 lsqfun21.m ...................................................................................................................58 6.1.8 spincalc_final.m...........................................................................................................59 6.1.9 plot_k.m .......................................................................................................................62 Appendix B – Simulink Model ...............................................................................................63 Appendix C – Analysis Sheet 2nd May ...................................................................................65 Appendix D – Analysis Sheet 7th/8th May...............................................................................67 Appendix E – Analysis Sheet 23rd May (Optimized Measurements)......................................69 III List of Figures Figure 1: The ASGU as the Accelerating Module of Bender ....................................................................... 3 Figure 2: Initial Conditions of the Launched Ball ........................................................................................5 Figure 3: The Adjusting Angles ...................................................................................................................6 Figure 4: The Entire Machine, Bender .........................................................................................................7 Figure 5: Principle of Ball Acceleration .......................................................................................................7 Figure 6: The General Conception of the Accelerating Unit ........................................................................8 Figure 7: The General Conception of the Adjusting Unit.............................................................................8 Figure 8: The Schematic Setup of the Measuring System ..........................................................................10 Figure 9: Structure of the Spin Measurement.............................................................................................11 Figure 10: Screenshot of ImageJ ................................................................................................................12 Figure 11: Calculation of speed and spin from image coordinates.............................................................12 Figure 12: Simplified illustration of the projection ....................................................................................13 Figure 13: Method to Obtain Real Coordinates from Picture.....................................................................14 Figure 14: The two different arrangements used ........................................................................................15 Figure 15: The Rotation of the Coordinate System ....................................................................................15 Figure 16: Coordinates of the Panels for Different Times..........................................................................16 Figure 17: Program Structure .....................................................................................................................17 Figure 18: The Principle Setup of the Light Barriers (LB1 and LB2) ........................................................ 18 Figure 19: Light Barrier FS-V31CP from Keyence....................................................................................18 Figure 20: Measuring System.....................................................................................................................19 Figure 21: Simulink Model Encoder ..........................................................................................................19 Figure 22: High Speed Camera Video of Launching Ball .......................................................................... 22 Figure 23: High Speed Camera Video of the Ball inside Bender ...............................................................22 Figure 24: High Speed Camera Frame in Detail.........................................................................................22 Figure 25: Relative Error of Spin Plotted against Setpoint Velocity .......................................................... 24 Figure 26: Relative Error of Velocity Plotted against Setpoint Velocity.................................................... 24 Figure 27: An Encoder, Situated at the End of an axis...............................................................................28 Figure 28: The Flywheels’ Speed during Ball Launch ...............................................................................29 Figure 29: The Influence of the Ball Properties on Energy Transfer..........................................................30 Figure 30: The Improvement of the Guide Rail – Before and After Abrasion ...........................................32 Figure 31: Polynomial Fit of Correction Terms for Spin ...........................................................................33 Figure 32: Polynomial Fit of Correction Terms for Velocity ..................................................................... 34 Figure 33: Measured Relative Error for Velocity – Optimized Measurements .......................................... 36 Figure 34: Measured Relative Error for Spin – Optimized Measurements ................................................ 37 Figure 35: Example picture analyzed .........................................................................................................38 Figure 36: The Newly Fitted Polynomial ...................................................................................................40 ix IV List of Tables Table 1: Detailed Timetable ......................................................................................................................... 3 Table 2: Realistic Values of Velocity and Spin of a Kicked Ball................................................................. 6 Table 3: Summarized Values for Positioning Angles................................................................................... 6 Table 4: Summarized Values for Measurement Series for Spin................................................................. 22 Table 5: Summarized Results for High Speed Measurements.................................................................... 23 Table 6: Mean and Standard Deviation for High Speed Measurements - Velocity.................................... 25 Table 7: Mean and Standard Deviation for High Speed Measurements - Spin .......................................... 25 Table 8: Summarized Values for Measurement Series for Velocity .......................................................... 27 Table 9: The Internal Pressures of Ball D .................................................................................................. 30 Table 10: Summary of Analyzed Values for Different Balls...................................................................... 31 Table 11: Summary of Analyzed Values one Ball at Different Internal Pressures..................................... 31 Table 12: Relative Errors of Spin and Velocity - Optimized Measurements ............................................. 35 Table 13: Deflections of Velocity and Spin ............................................................................................... 38 x 1 Description of the Task and its Circumstances Sensor systems have great relevance in the concept and operation of modern automation systems. The sensors convert the non-electrical quantities to be measured into electrical signals. In succession, the obtained signals can be used as an input to technical processes [Dubbel]. This Bachelor’s Thesis focuses on the implementation of a sensor system. This system is needed to obtain the necessary data in order to evaluate an existing soccer ball shooting machine called Bender experimentally. Furthermore, the acquired data will help to optimize Bender’s performance. 1.1 The Relevance of Sensor Systems in Modern Engineering The first challenge for an engineer is always to describe the process he or she is interested in by terms of equations. Therefore good standardizations, assumptions and idealizations have to be made in order to quantify the process. Based on these theoretical equations a machine can then be engineered and constructed. The second challenge is to choose and implement a sensory system that is able to measure the quantities of interest in a reproducible and accurate way. The third challenge then is to compare and interpret the differences between the data obtained by measurement and calculation. As reality often differs from the ideal calculations made, the quantitative acquisition of data gives a much better understanding of the real machine. The physical quantities measured can later be used in order to control the machine much more efficiently. For us it is especially interesting to analyze the behavior of a newly developed machine, as after the assembly no data on the machine’s performance exist. Furthermore, it is a challenge to set up a fully functional sensor system that will be used to mechanically calibrate and optimize the control system. The acquired data on the machine’s behavior must therefore be highly accurate and reproducible. Therefore the sensors need to be sensitive to the measured quantities, but must not be sensitive to any other influences. Furthermore, the sensors must not influence the measured quantity itself. The following Bachelor’s Thesis focuses on the implementation of a spin and velocity measurement system and its testing process. The data acquired during the testing process are then analyzed and evaluated in order to validate the theory and calculations underlying the development of the machine. 1.2 This Bachelor’s Thesis Task Description In order to make the newly developed soccer ball shooting machine function properly, a sensor system for soccer ball spin and velocity measurement has to be implemented. Ball spin and velocity are measured during a test phase and the data are analyzed and evaluated offline. The results are used to perform the needed calibration so that the machine is able to shoot soccer balls reproducibly and accurately at 1 an intended speed and with an intended spin. This initial spin and velocity of the ball will be used by another group of engineers to predict the ball’s trajectory. 1.2.1 A Bachelor’s Thesis Complementing the Focus Project “bend it” This Bachelor’s Thesis is written complementing the focus project bend it. The ETH Zurich provides the possibility for mechanical engineering students to accomplish a self intended engineering and designing project during their third year. The students start the project with only a rough task description and have to design and construct a fully functional prototype. The focus project bend it aims at constructing a machine, which is able to perform a flawless soccer free kick like soccer stars, such as David Beckham or Roberto Carlos. The machine should be able to shoot the ball following a user-defined trajectory in order to fly around a players’ wall, standing between the machine and the goal on a real sized soccer field. For such a user-defined trajectory of the soccer ball not only the initial ball velocity has to be imparted, but also the correct initial spin must be applied. The machine, called Bender in the following, is constructed by the entire team, consisting of six mechanical engineering students from ETH Zurich. As Bender is a newly designed, innovative device, it must be tested during a test phase. In order to determine all necessary physical quantities, this Bachelor’s Thesis aims at the implementation of a sensor system and its evaluation. Furthermore, after a first testing the machine is optimized due to the obtained results. To evaluate the improvement due to the optimization an iteration of the tests takes place. The aim of the whole iteration process is to relate the machine’s behavior to physical parameters, which help to calibrate the machine. Furthermore, the assumptions made during earlier theoretical calculations are to be validated. The experimentally collected data for initial spin and velocity of the ball then are analyzed and evaluated offline using the MathWorks programs Matlab and Simulink. The obtained data can be used to improve and calibrate the supporting simulation, which calculates the ball’s trajectory. The implementation of the correction factors in the simulation is subject of two further team members’ Bachelor’s Thesis [BscSim]. As time is limited, good organization of the sensor implementation, the test phase, the evaluation and analysis is necessary. Since the Bachelor’s Thesis is performed by two members of the bend it team, the tasks are subdivided. Especially, the technical preparation of the different measurement concepts is divided and therefore can be worked on concurrently. Whereas, the experimental tests, analysis and evaluation of acquired data are accomplished together due to the large work load. A detailed timetable is prepared, showing the thorough planning of the project. The schedule implies the preparation of measurement concepts at the beginning of the Bachelor’s Thesis. Before the measurements can be accomplished, the machine is assembled and initiated. Then the first experimental collection of data 2 takes place, as well as their evaluation. Following this, the machine is optimized and iterative measurements are carried out. The original schedule is shown in Table 1. Table 1: Detailed Timetable 1.2.2 The Machine Bender forming the Basis for the Bachelor’s Thesis The machine, Bender, mainly consists of two modules, one being the Three Axes Adjusting Unit (Ta2U), the other being the Acceleration and Spin Generating Unit. In this work only the Acceleration and Spin Generating Unit, in the following referred to as ASGU, is evaluated. This module is responsible for the shot of a soccer ball. The other unit adjusts the three axes of the ASGU. The entire machine is placed on a real soccer field in free kick distance in front of the goal. An original sized soccer ball is inserted into the ASGU and is then accelerated, while spin is imparted. Figure 1 shows the entire machine including both modules. A detailed technical description of the module is given in section 2.1.2. Figure 1: The ASGU as the Accelerating Module of Bender 3 All adjustments of the machine are made manually by setting up all angles responsible for spin and velocity vectors at the ball’s launch. The soccer ball’s trajectory also depends highly on the functioning of the ASGU, as all fine adjustments of the parameters spin and velocity are made manually by adjusting the motors’ rotation speed. All parts have been designed and constructed due to calculations, which imply mechanical effects of the machine and the aerodynamic effects on the ball. Still, due to assumptions and idealizations made, these calculations might not totally correspond to reality. In order to observe occurring differences between the calculations and the real behavior of the ball in- and outside the machine, a sensor system is implemented. This Bachelor’s Thesis aims at the experimental evaluation of the Acceleration and Spin Generating Unit, in order to assess the initial conditions of the ball for the trajectory towards the goal, which imply the initial vectors of spin and velocity. These parameters are measured using various measurement methods, such as high speed records, encoder and photo sensors. Furthermore, the error between a theoretical calculation and a real soccer shot is estimated. The ASGU then is optimized due the ball’s initial velocity and the imparted spin. All experiments are recorded by the previously implemented sensor system. 1.3 4 The Document’s Structure This report is structured in chronological order: implementation of the sensor system, the collection of data, the thorough analysis and the evaluation and optimization of the machine. This document focuses on the full technical description of the machine, Bender, as a basis for all further explanations. The next section describes which physical quantities are measured throughout the experimental evaluation. Furthermore, the How is described. This implies the explanation of all measurement concepts, methods used and how the sensors are implemented in order to function properly. After illustrating the theoretical concepts, a description of the test phase is given. Also the analysis and the evaluation of the acquired data are clarified. Next, some possible advancement of sensor system and machine is proposed due to the results from the measurements. After a short summary at the end of the report, the authors give an overview on the machine’s behavior and the accuracy of the measurement system and determine the future prospects of the sensor system implemented. 2 Implementation of Sensory Systems and Measuring Methods This section explains the background of this Bachelor’s Thesis. The thesis aims at the experimental evaluation and a latter optimization of the machine, Bender. The evaluation of those parameters, mainly influencing the flight of the ball, acts as a basis for a better understanding of the machine, the ball and its behavior during launching. In the following section the general mechanics of the machine are explained as well as the parameters to be measured and evaluated. 2.1 Introducing the Machine Called Bender In order to give a general understanding of the use of the machine called Bender, this section explains which quantitative specifications are required. Later in this section an overview is given on the constructional details of the device and functional principles are illuminated. 2.1.1 Intended Competences of Bender The entire machine’s aim can be summarized as launching a soccer ball, whose flight path follows a predicted user-defined trajectory. This means that waypoints as well as the point of ball impact can be given as conditions for a trajectory planning. The result of the trajectory planning is the initial conditions in terms of ball velocity and spin. This information is given to the machine, which then realizes the demanded initial conditions of the ball. In this way the desired ball trajectory can be realized. In reality a soccer ball is usually kicked, so that linear velocity as well as spin is transmitted to the ball as shown in Figure 2. The ball’s centre of mass velocity vector is illustrated by the red v vector, while the spin is shown by the green vector. The gravity, constantly acting on the ball, is shown by the blue vector named mg. Figure 2: Initial Conditions of the Launched Ball In order to simulate a real soccer kick as realistic as possible, the machine, Bender, also is able to impart linear velocity and spin on the 5 ball. Throughout former research [Carre2002], it was noticed, that a human soccer player can kick a ball imparting high values for velocity and spin, summarized in Table 2. Parameter Value Unit velocity v 0 to +30 m/s spin ω -16 to +16 rps Table 2: Realistic Values of Velocity and Spin of a Kicked Ball These values define the requirements for the Acceleration and Spin Generating Unit. Furthermore, the machine is able to launch the ball obtaining almost every possible direction of speed and spin axis. This is achieved by the Three Axes Adjusting Unit, as illustrated in Figure 7, which is the lower unit. Three different angles can be adjusted in order to position the machine. These angles are shown in Figure 3. ψ θ ϕ Figure 3: The Adjusting Angles The ranges of values of the angles, which position the machine, are summarized in Table 3. positioning angle range of values ϕ ±60° θ 0° - 25° ψ ±90° Table 3: Summarized Values for Positioning Angles Although not being fully realistic, the machine imparts no spin around the tangents to the ball trajectory. Each other spin axis, which does not imply a fraction of the spin in direction of flight, can be reached. Therefore every reached spin axis is perpendicular to the direction of ball travel. This means the spin axis, imparted by Bender lies always in the plane, which is normal to the ball’s direction of flight, due to the arrangement of the belts. 6 To summarize, the device is able to apply velocity and spin of almost realistic magnitudes and directions due to its possible positioning. In this way the machine can imitate a real soccer kick, keeping the ball on a preset trajectory. Compared to a real soccer kick, there is one limitation, as the machine can not impart spin in the direction of ball travel. 2.1.2 The General Configuration of Bender After specifying the requirements and demands for Bender, this section describes the general configuration and the functional principle. Figure 4 shows the soccer ball launching device generated with the CAD program ProEngineer, including the Acceleration and Spin Generating Unit and the Three Axes Adjusting Unit. Figure 4: The Entire Machine, Bender The ASGU, the upper module, is responsible for the generation of velocity and spin of the ball. This can be done using two symmetric belt drives on opposite sides of the ball, illustrated in Figure 5. The angular velocities of the two belts are described by ω1 and ω2, where in general ω1 ≠ ω2. ω1 ω2 ω1 ω2 Figure 5: Principle of Ball Acceleration The belts can rotate at different speeds, imparting spin and velocity on the ball. Figure 6 shows the functional principle of the ASGU in detail. Note that the figure shows one side only, as the unit is symmetric. 7 Figure 6: The General Conception of the Accelerating Unit The belts (6) are toothed, in order to form a positive connection between the pulleys and the belts. Furthermore they are supported by flywheels (1) storing the energy in the system. The deflection pulley (2) and the eccentric (5) complete the belt drive and tension the belt. The belt is guided along a slide rail (4), which is responsible for imparting force on the ball. Furthermore, the ball is guided by guide bars (3), so that it keeps its track and does not lurch. The belt drives are powered by an electric motor (7) each. The flywheel is directly connected to the motor by another toothed belt. When a ball enters between the two belts, force is applied to the ball due to friction between the belt and the ball, so that the ball is accelerated up to the belts’ speed. Additionally, if the belts rotate with different speed, the ball experiences different velocities on opposite sides. The result is a rotation of the ball; spin is imparted. The entire module is situated in a frame, consisting of aluminum bars. For security reasons, the two belt drives are covered by aluminum sheeting. Figure 7 shows the two connected modules. The lower module is responsible for the adjustment of the upper unit’s three axes, so that spin and velocity can be transmitted to the ball in almost every direction. Figure 7 shows the general conception of the unit. Figure 7: The General Conception of the Adjusting Unit The module basically consists of a tilt element (3) being held by a turn plate (5). A lift cylinder (6) supports the tilting of the tilt element up to 25° to the horizontal plane. The turn plate enables a rotation around the vertical axes of the machine by 360°. The cantilevers (4) stabilize the entire construction and help to distribute the forces on the elements evenly. The upper unit, the ASGU, is suspended (2) with an interfacing 8 ring. This ring is fixed to the ASGU (1) and is mounted by eight ball bearings at the tilt element. This arrangement of bearings allows the ASGU to be rotated by 360° around the rings centre axis. Summarizing, the adjusting unit can adjust three axes of the machine and therefore controls the axis of spin of a launching soccer ball. 2.2 Parameters to be Evaluated by a Sensory System The goal of the focus project bend it is to create a machine that shoots a soccer ball with predefined velocity and spin. To judge the success of the project, the ball’s spin and velocity are measured in terms of magnitude and direction and compared with the presetting. It is important that the ball’s spin and velocity are correct in order to be able to realize the desired ball trajectory. Additional information about the processes occurring in the acceleration module when launching the ball can be obtained by measuring the flywheels’ rotational speed. The behavior of the flywheels after the ball has been inserted may be used for the optimization of the machine and the controller. 2.2.1 The First Parameter: the Ball’s Spin The first parameter measured is the ball’s initial spin. Magnitude of the ball’s rotational speed and the direction of the spin axis are to be determined in order to receive the complete initial conditions of the ball’s flight together with the velocity of the ball’s centre of mass. 2.2.2 The Second Parameter: the Ball’s Velocity The second parameter measured is the initial velocity of the ball’s centre of mass. The ball’s point of impact in the goal shows a high sensitivity to the initial velocity of the ball. The accuracy in this parameter is an important quality characteristic for Bender. Therefore magnitude and direction of the initial ball velocity have to be determined. 2.2.3 The Third Parameter: the Flywheels’ Angular Velocity The third parameter measured is the rotational speed of the flywheels. Given the fact, that there is no sliding between ball and belt, the magnitudes of speed and spin are directly linked to the rotational speeds of the flywheels. If that assumption is fulfilled, when ball and belt loose contact, the ball’s speed and spin result from the flywheels’ speed. Applying this, the ball’s spin and velocity can be easily detected. 2.2.4 The Machine’s Behavior due to Different Dependences Furthermore, the machine must be tested in terms of its behavior due to its dependency on different soccer balls used and various internal pressures of the ball. In future, Bender must be able to realize reliable and precise soccer ball trajectories with any official FIFA ball and different internal pressures of balls. Still, as diverse balls differ slightly in size, mass, grip and sphericity, the reproducibility of ball trajectories might be limited. For the experiments a soccer ball from Tramondi is used, with a diameter of d = 0.22 m. 9 The investigation of Bender’s behavior due to this dependence on the type of ball and its internal pressure is important for determining Bender’s reliability and accuracy. 2.3 Measurement Methods and Sensory System Used After having defined all parameters, which have to be measured and evaluated in order to become fully acquainted with the machine’s behavior, this section describes the measurement concepts. In the following it is made clear how the parameters ball spin, ball velocity and flywheel velocity are analyzed. The schematic setup is shown in Figure 8. Figure 8: The Schematic Setup of the Measuring System 2.3.1 10 Methods of Measuring: the Ball’s Spin and Velocity The spin of the ball is an essential measure that defines the ball’s trajectory. In order to calculate the ball’s spin, its position as well as its orientation in space have to be known. The measurement of the ball’s coordinates consists of the following steps illustrated in Figure 9. First, a shot is filmed with a high speed camera. The obtained movie contains two dimensional information about the shot. In the next step, the movie is imported into the image processing program ImageJ. With this program, the two dimensional coordinates of the ball points can be determined. This data is later used to calculate the three dimensional coordinates of the real ball in space. These calculations are made in Matlab. Figure 9: Structure of the Spin Measurement All high speed movies are made using the high speed camera Photron Fastcam-ultima 512. The camera requires a high level of illumination as its frame rate is set to 2000 frames per second (fps) and the shutter is set to be 1/32000 s. Three floodlights, each with a power rating of 500 W, are installed to ensure the illumination required. The camera is set up in a sufficient distance, so that the first meter of the ball’s trajectory is in the range of vision of the high speed camera. The video is saved in the audio video interleave (.avi) format. In the next step, the coordinates of the reference points on the ball have to be read out and saved in a log file. For this purpose, ImageJ is used. With the help of this program, the two dimensional coordinates of the reference points can easily be recorded by manually selecting the accordant point of the picture. This is intended to be done on about ten pictures per video sequence with steps of about ten pictures in between. For shots with high spin, it is not always possible to analyze that many pictures, as the ball turns too fast and the arrangement of reference points can not be seen on enough pictures. A screenshot of the program is shown in Figure 10. 11 Figure 10: Screenshot of ImageJ To calculate speed and spin, the three dimensional coordinates of the reference points on the ball and the coordinates of the centre of mass need to be known. This is done in the next step consisting of the elements shown in Figure 11. Figure 11: Calculation of speed and spin from image coordinates The two dimensional coordinates of the image are obtained from ImageJ. These are processed by the use of a projection to obtain the real ball’s three dimensional coordinates. Further calculations allow determining the ball’s spin and speed. Given are the two dimensional coordinates of the reference points on the image, obtained from ImageJ, as well as the three dimensional geometry of the real ball. The underlying assumption for the applied calculations is, that the real ball is projected into a focal point through the image plane. A simplified explanation of the problem is given in two dimensions in Figure 12. 12 Stretched vector Viewing beams 1’ d1’2’ 2’ 1 3’ 2 Focal point 3 Real object Image Unit direction vector Figure 12: Simplified illustration of the projection The focal point is located on a line perpendicular to the image. This line leads through the middle point of the photo at the same time. So the direction of the vectors from the focal point to each image point only depends on the distance of the focal point from the image plane. Now, the projection from Figure 12 is extended to three dimensions as shown in Figure 13. The unit direction vectors (blue) from the focal point to the image points on the ball are stretched by a factor ti to form the real soccer ball (blue + red) in space. To obtain the coordinates in space, the stretching factors ti need to be known. This is done by minimizing the errors in the distance between each reference point on the ball and the center of mass. This is described by the following equation 2 (xi − xCM )2 + ( yi − yCM )2 + (z i + z CM )2 = rBall + er In the equation, xi, yi and zi are the Cartesian coordinates of the reference point i on the real ball. The index CM denotes the coordinates of the center of mass of the real ball. rball is the ball’s radius and er the error to be minimized. Another constraint results from the errors of the distance between each pair of reference points, obtained by the equation (x − x j ) + ( y i − y j ) + (z i + z j ) = d ij2 + ed 2 i 2 2 Again, x, y and z are the Cartesian coordinates of the real ball for the two points i and j. dij is the geometrically obtained distance between the points i and j on the real ball and ed the error in the distance to be minimized. The obtained errors from both equations have to be minimized. The stretching factors are found at that position of the ball, where the errors are minimal. 13 Figure 13: Method to Obtain Real Coordinates from Picture To solve the problem, a nonlinear least squares algorithm is used. If there are n points considered, there are n unknown stretching factors plus the three unknown coordinates of the ball’s center of mass and the unknown distance of the focal point from the image. There are n constraints for the distance from each point to the center of mass and n ⋅ (n − 1) constraints for the distances from a point on the ball to all 2 the other points. The real distances between these points are known, as the ball’s radius can be measured and the panels form a trenched icosahedron. For the measurements done, the distance of the focal point from image plane is no longer considered as an unknown parameter. It is fixed at an average value obtained from preceding measurements. For the measurements two different arrangements of the points can appear as shown in Figure 14. The left one has a hexagon in the center and consists of 21 points. The right one is arranged around a pentagon and consists of 20 points. Normally four points would be enough to solve this kind of problem, which means that the system of equations resulting is highly overdetermined. But tests with fewer points have shown, that the accuracy, especially in the distance between ball and camera (z-direction), is much better with more points used. Therefore, 14 the seam intersection and no longer the crosses on the ball are used as reference points. Figure 14: The two different arrangements used The function described above outputs the ball’s center of mass for each picture analyzed. As the time between two pictures is known, the calculation of the velocity v of the ball’s center of mass is trivial using the equation v= s t where s is the travelled distance and t the time between two considered pictures. Because there are more than two pictures analyzed per shot, the velocity is the mean value of the values received from each step. The determination of the ball’s spin is slightly more complex. First, there is a coordinate system placed through three points of the ball. Then the rotary matrix of the coordinate system from one point in time to the next is identified, which contains the information about the turning angles, which are calculated using Euler angles. With this information about the turning angles and the knowledge of the time between the two pictures considered, the spin around each turning axis can be calculated. Same as the velocity, the calculated spin is also a mean value. The rotation of the coordinate system is illustrated in Figure 15 Figure 15: The Rotation of the Coordinate System 15 The evaluation of the high speed camera picture data for the different arrangements is made with the two Matlab functions hsceval20.m and hsceval21.m, which can be found in Appendix A. The number refers to the number of points considered, which is 20 for the arrangement with a pentagon at the center and 21 with a hexagon. For simplification, only hsceval20.m is explained in more detail. hsceval21.m is constructed analogously. The only input is the data imported from ImageJ. The outputs are spin vector, speed vector and the k-vector, which contains the real coordinates calculated and picture numbers. The program is structured as shown in Figure 17. The main program receives the data matrix. Each row of it contains x and y coordinates of a point selected in the picture and the picture number. The image coordinates of each picture are consecutively handed over to the function grc20.m, which returns the real three dimensional coordinates. grc20.m calls up the Matlab function lsqnonlin for the calculations. The errors for each iteration are calculated in function lsqfun20.m. The calculated coordinates are plotted and allow the user to easily check optically whether the coordinates calculated make sense. An example plot of a measurement is shown in Figure 16. For each time step the calculated coordinates are plotted in different colors. Figure 16: Coordinates of the Panels for Different Times After gathering all the real coordinates, hsceval20.m hands over the coordinates spincalcfinal.m, which calculates the spin as stated above. Due to its simplicity the speed calculation is executed directly in the main program. Figure 17 summarizes the program’s structure. 16 Figure 17: Program Structure To validate the analysis program, a data generator was programmed. It calculates the real coordinates of the ball points for two points in time for a user defined speed and spin. In a second step, these coordinates are projected onto an image plane and a data matrix, analogue to the one received from ImageJ, when analyzing a real picture, is constructed. When applying hsceval to the artificially generated data, the calculated ball coordinates match with the original values. 2.3.2 Methods of Measuring: the Ball’s Velocity The speed of the ball is measured using light barriers, which are attached at the output of the machine. The simple relation v= Δs where Δt = t2 − t1 Δt allows to calculate the ball’s velocity using the obtained data. The time Δt, the ball needs to cover a known distance Δs, is measured and allows to calculate the balls speed. Two light barriers are fixed at the outlet of Bender in a distance of Δs = 280 mm to each other. The principle setup is shown in Figure 18. 17 LB1 LB2 Δs t1 t2 Figure 18: The Principle Setup of the Light Barriers (LB1 and LB2) To get an accuracy of 0.1 m/s, the error of the time measurement must not exceed 0.02 ms, which is time difference between a shot with 35 m/s and one with 34.9 m/s. For this measurement a pair of light barriers is used. Light barrier FS-V31CP from Keyence are chosen in connection with fibre optic light guides FU-77V, as shown in Figure 19. Manuals and technical data can be found in [Keyence]. Figure 19: Light Barrier FS-V31CP from Keyence Emitter and receiver are screwed into two aluminium profiles, which are connected to bender. The light barriers are connected to the dSpace measuring system according to the connection scheme in Figure 20. The voltage divider is used to reduce the output voltage of the light barrier to a level that is acceptable for the dSpace system. 18 Figure 20: Measuring System A Matlab / Simulink model, found in Appendix B, is used to make the time measurements and the calculation of the actual speed of the ball. It runs in real time on the dSpace system and the data measured can easily be recorded for further analysis. 2.3.3 Methods of Measuring: the Flywheels’ Angular Velocity The flywheel speeds are measured with two encoders fixed on the flywheels’ axes. The encoders used are two Admotec KXS-1241-1024-08 with 1024 counts per revolution (cpr). For detailed technical data see [Admotec]. The evaluation of the encoder signal is also made with the dSpace system that is also used for the evaluation of the light barrier signal. The dSpace system provides preconfigured encoder inputs, which are directly connected to the encoders. The associated Matlab / Simulink model is shown in Figure 21. The encoder input block outputs the pulse count. The flywheel speed is the discrete derivative of that signal divided by the number of pulses per revolution. For all further analysis, the flywheel speed will be converted into the unit rpm, as all preceding design has been made using this unit. Further analysis and filtering of the signal is made in Matlab: due to the knowledge of the flywheel speeds and using the assumption, that no slip occurs between belt and ball, the ball spin and velocity can be calculated. The entire Simulink model can be found in Appendix B. Figure 21: Simulink Model Encoder 2.3.4 Methods of Measuring: the Dependence on Different Balls and their Internal Pressure The dependence of the machine’s accuracy due to the use of diverse soccer balls with different size and internal pressure is measured using 19 the high speed videos. The videos later are evaluated by the analysis program, implemented in Matlab. Two collections of data are performed, one where the internal pressure is held constant, but different balls are used. The other implies the launch of the same ball with various internal pressures. 20 3 Experimental Evaluation and Analysis of Obtained Data During a test phase the parameters initial ball spin and velocity, are measured and data is obtained. The data is evaluated and analyzed using the methods explained previously, in order to determine the machine’s reliability. All data is compared to the expected values, which underlies the engine calibration, determined by the simulation. Furthermore, correction terms for the calibration of the machine are derived from the data analysis. 3.1 Deriving the Ball’s Real Initial Spin Using High Speed Videos The ball’s real initial spin and velocity are derived by interpreting video files, produced by the high speed camera. The videos are analyzed by the use of the Matlab program. As explained in section 2.3.1, the camera is set up and records high speed videos of the launching ball. The videos are analyzed by the program, involving least square algorithms, in order to find the ball’s initial spin and velocity. 3.1.1 Measurements of the Ball’s Initial Spin Three series of measurements are performed using the setup explained in section 2.3.1 for producing high speed videos. The first and the second collection of data include the same setting for rotation speed of the motors and the inclination of the machine. The machine is inclined by a vertical angle of up to θ = 22°. This angle is due to the machine’s systematic setup during measurements, done by other team members [BscSim]. According to the simulation, the ball is launched with a velocity up to 25 m/s and an imparted spin between -16 rps and +16 rps with different spin axes. The rotation speed of the motors is calculated according to the formula nmotor = v + 2π rballω 2π rflywheel ⋅ 60 where nmotor is the motor’s frequency in rpm, v is the setpoint velocity of the ball and ω its spin. The ball’s radius is given by rball = 0.11 m and the flywheel’s radius is rflywheel = 0.15 m. According to this calculation, the rotation speed of the motors is set between 366 rpm and 2296 rpm. For each setting three measurements are done, in order to obtain an idea about the mean values and deviations of the parameters. The third series of measurements includes 17 settings of the motors’ rotation speeds. Again, three measurements are done with each setting of motor speeds. The machine is not inclined. The motors’ rotational speeds are set between 21 rpm and 2570 rpm. Hence, according to theoretical calculations, the ball’s initial velocity is up to 25 m/s and the imparted spin is between -15 rps and +15 rps. The settings and the corresponding engine speeds are summarized in Table 4 and can be seen more detailed in Appendices C and D. 21 measurement series max. inclination angle θ [°] motor rotational speed [rpm] max. initial ball velocity [m/s] max. initial ball spin [rps] 1 22 366 - 2296 25 ±16 2 22 366 - 2296 25 ±16 3 0 21 - 2570 25 ±15 Table 4: Summarized Values for Measurement Series for Spin The videos obtained from the high speed camera clearly show the soccer ball and its linear translation as well as its rotation. Giving an example, Figure 22 and Figure 23 show some frames taken out from the high speed videos. Figure 22 illustrates the launch of the ball. These pictures can be used for calculating ball spin and velocity as an initial condition for the entire ball trajectory. Figure 23 shows the movement of the ball, while it is still inside the machine. Figure 22: High Speed Camera Video of Launching Ball Figure 23: High Speed Camera Video of the Ball inside Bender Maintaining the setting of the high speed camera at the frame rate being 2000 frames per second (fps) and the shutter being at 1/32000 s, the seams on the ball are clearly visible, as seen in Figure 24. Figure 24: High Speed Camera Frame in Detail 3.1.2 22 Evaluation and Analysis - Spin The evaluation of the high speed videos implies the determination of the relative errors of the measured initial velocity and spin, compared to their setpoint values. The relative error in percent is calculated using the formula relative error = xi − x set ⋅ 100 x set where xi is the measured value and xset is the setpoint value of the parameter. The relative error of the velocity compared to its setpoint value is found to be -3.15% on average. The average relative error for spin shows a much higher magnitude of -7.2%. Analyzing this error in more detail, it occurs that the error increases severely for higher velocities. Therefore the relative error should be subdivided. For lower initial velocities of the ball, 0 to 25 m/s, the relative error of spin is 1.5%. For higher velocities, about 30 m/s, the relative error for spin increases to 33.1% on average. This severe difference of the spin’s relative error might be due to the machine’s short distance of acceleration or due to slipping between belt and ball. For lower velocities, more time is available for imparting velocity and spin on the ball. As the belts move very fast, the time for accelerating and imparting the intended spin is not sufficient. However, also the relative error of velocity compared to its setpoint velocity increases rapidly at setpoint velocities larger than 25 m/s. The results are summarized in Table 5. range of setpoint velocity [m/s] relative error velocity [%] relative error spin [%] 0 – 30 -3.2 -7.2 0 – 25 -2.5 1.5 > 25 -6.1 -33.1 Table 5: Summarized Results for High Speed Measurements Furthermore, it is found that for all ranges of different setpoint spin the relative error remains approximately -7%. As the relative error of spin seems to depend mainly on the setpoint velocity, it is decided to compare the relative error of the spin to the ball’s initial velocity, rather than to its initial spin. Figure 25 shows the relative error of spin plotted against the ball’s intended initial velocity. 23 10 5 Relative error spin [%] 0 −5 −10 −15 −20 −25 −30 −35 −40 10 Spin 080502 Spin night 2 15 20 Setpoint velocity [m/s] 25 30 Figure 25: Relative Error of Spin Plotted against Setpoint Velocity The relative error of the initial velocity is plotted against the intended velocity of the ball, too. This is shown in Figure 26. 2 0 Relative error speed [%] −2 −4 −6 −8 −10 −12 −14 10 Speed 080502 Speed 080514 Speed night 2 15 20 Setpoint velocity [m/s] 25 30 Figure 26: Relative Error of Velocity Plotted against Setpoint Velocity In a next analyzing step, the measured mean values and the standard deviation are calculated using the formulae x mean = for the mean value xmean and 24 1 n ∑ xi n i =1 sd = 1 n ∑ (xi − xmean ) n −1 i 2 for the standard deviation, where n is the sample size and xi the ith sample value. The results are summarized in Table 6 and Table 7. Table 6 shows the values for velocity. There are no values for the standard deviation at setpoint velocities 15 m/s and 25 m/s due to too few data obtained for these velocities. setpoint velocity [m/s] measured mean velocity[m/s] standard deviation [m/s] 10 9.8 0.3 15 14.6 - 20 19.6 0.2 25 24.8 - 30 28.1 1.4 Table 6: Mean and Standard Deviation for High Speed Measurements - Velocity From the analysis of measurements of the ball’s initial velocity it can be seen, that the mean values are close to the setpoint values. Still, all measured data is below the intended values. The values for the standard deviation allow the assumption, that the dispersion of measured values is best at initial velocities of approximately 20 m/s. This effect has been observed qualitatively while testing the machine, as high repeatability of the point of impact was given at this initial velocity. setpoint spin [rps] measured mean spin [rps] standard deviation [rps] 0 1.1 0.3 5 4.6 0.9 10 9.3 1.6 15 13.4 3.5 Table 7: Mean and Standard Deviation for High Speed Measurements - Spin Table 7 shows the summarized values for measured spin. Again, the measured mean values are all below the intended spin. The larger the setpoint spin is set, the larger the deviation becomes. Analyzing the values for standard deviation of measured spin, compared to its setpoint values, it becomes conjecturable that the spin gets more dispersed for higher setpoint values. Again, this effect can be observed qualitatively at the machine. On the other hand, this effect might have 25 its cause in the analysis phase, explained in section 2.3.1. When larger values for spin are set, the high speed videos show a fast rotating ball. Due to this rotation, not all points, observed on the ball, can be traced properly. Only fewer pictures can be analyzed in a row. Therefore the amount of measured values per shot is smaller for small ball spins than for larger spins. This results in an increase of the standard deviation for soccer shots with large spin. Summarizing the evaluation and analysis of the high speed measurements, it can be said, that all measured values for the ball’s initial spin and velocity are below the setpoint values. This effect was expected as the motors are not powerful enough to compensate the speed decrease during the ball’s launch. Both measured parameters, spin and velocity, are dependent on the setpoint velocity rather than on the setpoint spin. It is observed, that for higher initial velocities of approximately 30 m/s, the relative errors increase as well as the dispersion of values. 26 3.2 Deriving the Ball’s Real Initial Velocity Using Light Barriers The real initial velocity of the ball is measured using light barriers, as explained in section 2.3.2. The light barriers, connected to the dSpace measurement system, react very fast. For this reason, it is expected that the real values for the ball’s velocity can be detected very exactly by the light barriers. 3.2.1 Measurements of the Ball’s Initial Velocity Two different series of measurements are performed. The first series is undertaken while the machine is inclined by various vertical angles up to 22°. These angles are set for other measurements done by team members [BscSim]. During the entire second collection of data, the machine is set up without inclination. The first series of measurements implies ten different settings of the motor rotational speeds. Three measurements are done for each setting, so that a mean value can be utilized during analysis. The rotation speeds of the motors are calculated as before, and are set between 366 rpm and 2296 rpm. So the ball is accelerated to velocities up to 25 m/s with no spin, topspin or sidespin. The second series of measurements contains 17 different settings of the motors. Again, three measurements are accomplished for each setting. The engine speeds, which lie between 21 rpm and 2570 rpm, are chosen, so that the ball is accelerated by up to 25 m/s and a spin of maximum ±15 rps is imparted. All settings and the corresponding engine speeds are summarized in Figure 8 and can be found in more detail in Appendices C and D. measurement series max. inclination angle θ [°] motor rotational speed [rpm] max. initial ball velocity [m/s] max. initial ball spin [rps] 1 22 366 - 2296 25 ±16 2 0 21 - 2570 25 ±15 Table 8: Summarized Values for Measurement Series for Velocity During the first series of measurements a problem is detected. The measured values are only accurate to 1 m/s, which is a too large tolerance for the collection of data as an accuracy of 0.1 m/s is expected. For a selection of values, which only imply a small error, the error of time measurements must not exceed 0.02 ms. It is found, that the dSpace measuring system operates too slowly. Hence, the system’s pulse frequency is increased to 10 kHz. Doing this, the measured data becomes more accurate during the second series of measurements and can be evaluated without being filtered. In order to counteract the problem of the dSpace system acting too slowly, the light barriers should have been installed further apart from each other. So the time, for which the ball is between the light barriers, is increased and the accuracy improves. 3.2.2 Evaluation and Analysis - Velocity The speed measurement with the light barriers came to results, which are close to those obtained with the high speed camera. On average, the resulting norm of the velocity is 0.6 m/s below the preset value. Only the trials with high speed and spin (30 m/s, 15 rps) resulted in a more reduced speed which was 26.0 m/s instead of 30 m/s. These results agree with the results obtained in section 3.1.2 with the high speed videos. The average of the absolute value of the differences of the speeds measured with high speed camera and light barrier is 0.54 m/s and the average value of the differences is 0.2 m/s. The accuracy of the light barrier speed measurement with the dSpace running at a frequency of 10 kHz is 0.3 m/s for the speed measured being 30 m/s. For slower shots the precision increases, as the time to be measured increases. For example at 15 m/s the accuracy is increased to 0.1 m/s. In conclusion it can be said that the measurements made with the light barrier confirm the measurements and observations made with the high speed camera. 3.3 Deriving the Flywheels’ Velocity during the Launch of a Ball The change of the speed of the flywheels is measured using encoders, situated at the ends of the flywheels’ axes, as seen in Figure 27. 27 Figure 27: An Encoder, Situated at the End of an axis It is expected that the flywheels’ rotational speed decreases slightly, when the soccer ball is launched. Still, due to the very high energies stored in the flywheels, the decrease of speed is not expected to be severe. However, another effect might occur. As the motors’ speeds are controlled, and therefore the motors continue operating during a ball’s launch, more energy is transferred to the ball or is converted into heat than a simple conversion of the flywheels’ speed decrease would suggest. It is assumed, that this effect can be neglected, due to the fact, that the ball stays inside the machine for approximately 50 ms. The motors are controlled too slowly, so that the effect becomes negligible. 28 3.3.1 Measurements of the Flywheels’ Change in Rotational Speed As the encoder measurements are made in parallel with the light barrier measures, the same settings define the series of measurements. Thus, during two measurement series data is obtained. Again, the ball is launched with a velocity of up to 25 m/s and a maximum spin of ±16 rps. These values for initial velocity and spin can be reached with set motor rotation speeds between 21 rpm and 2570 rpm. Once more, all settings and consequent rotational speeds of the motors are illustrated in more detail in Appendix C. 3.3.2 Evaluation and Analysis – Flywheels’ Speeds After filtering the Encoder data, using filtfilt in Matlab to calculate a running average, signals, as shown in Figure 28, can be obtained. The plot shows the speeds of the left (red) and the right (green) flywheel during the shot. As expected a speed drop can be observed. The analysis of the encoder data shows, that the energy taken from the flywheels is about 0.5 J or 6% of the energy that was stored in the flywheels before the shot. The ball’s kinetic energy after the shot is only between 10 and 20% of the energy taken from the flywheels. The rest of the energy is lost due to friction, mainly between belt and rail at the point where the ball presses the belt against the rail. 1170 Umdrehungszahl [rpm] 1165 1160 1155 1150 1145 1140 1135 1130 1 2 3 4 Laufzeit [sec] 5 6 Figure 28: The Flywheels’ Speed during Ball Launch Assuming, that when the ball looses contact with the belts, there is no more slip, the ball’s speed and spin can be calculated from the encoder values. When doing this, the ball should have an initial velocity that is 1.5 to 2.5% under the velocity set before the shot and a spin that is reduced 0.5 to 1.5%, no matter at which magnitude speed and spin are preset. This does not match with the observations made, when directly measuring velocity and spin of the ball, which show that the precision depends on the setpoint. Especially for higher speeds and spins the no slip-assumption is wrong. This can also be observed in the high speed camera videos made of the ASGU during a shot. How much the flywheels slow down during the shot, does not or only little depend on whether there is slip between ball and belt or not, because the main energy loss is caused by the friction between belt and rail as has been shown at the beginning of this paragraph. Under certain conditions, namely when the non-slip assumption applies, both of the flywheels are decelerated equally and the flywheel speeds suggest good values for speed and spin. Still, as slip occurs in general, the assumption may not be made. For this reason, the flywheel speeds are not good for measuring speed and spin of the ball. Especially at high setpoint velocities slip occurs and the data obtained from the flywheel speeds show large errors. 3.4 Bender’s Dependence on Different Balls and Internal Pressures The dependence of the accuracy of a shot, when different balls or a ball with various internal pressures are launched, is tested. It is expected, that with less internal pressure the contact force between the ball and the belt decreases and therefore the friction between ball and belt declines. This is shown in Figure 29. 29 N Figure 29: The Influence of the Ball Properties on Energy Transfer In the figure, N is the contact force between the ball and the belt. Applying the simple relation F = μ⋅N where F is the friction and µ is the frictional coefficient, shows that the friction decreases proportionally to the decrease of the contact force. Less friction leads to less energy being transferred, so that the ball trajectory is less accurate. The same effect is expected for different balls. As a ball has a slightly larger diameter, the contact force increases, so that the intended trajectory of the ball is reached better. 3.4.1 Measurements of the Dependence on Ball and Pressure During a first data collection, videos are taken with the high speed camera from four different balls, all featuring the same internal pressure of p = 0.8 kg/cm² (= 7.85*104 Pa). The balls are distinguished by specifying them with letters A, B, C and D. Each ball is launched under the same conditions, with set velocity of 18 m/s and an imparted spin of 5 rps. The data obtained is evaluated during a latter analysis. The second collection of data implies the investigation of the machine’s dependence on the launched ball’s internal pressure. For this experiment, the same ball is used during each measurement. Ball A is used and pumped to different internal pressures during each launch. The internal pressures of the ball are summarized in Table 9. internal pressure magnitude [kg/cm²] magnitude [Pa] p1 1.0 9.81*104 p2 0.9 8.83*104 p3 0.8 7.85*104 p4 0.7 6.87*104 Table 9: The Internal Pressures of Ball D 30 Again, the same initial conditions are set and the ball is launched with a velocity of 18 m/s and an imparted spin of 5 rps during each measurement. 3.4.2 Evaluation and Analysis – Different Balls and Internal Pressures The analysis of the measured data implies the calculation of the mean value xmean, and the standard deviation sd. The formulae are stated in section 3.1.2 (page 22). After four different balls, differentiated by their denotations A, B, C and D, have been launched, it becomes obvious, that the accuracy of the intended ball’s trajectories is quite high. Table 10 summarizes the obtained results for the measured mean, the standard deviation of the measured data and the relative error compared to the parameters’ setpoints. parameter setpoint value measured mean standard deviation relative error (average) velocity vball 18 m/s 18.4 m/s 0.7 m/s 2.0% spin ωball 5 rps 5.3 rps 0.4 rps 3.4% Table 10: Summary of Analyzed Values for Different Balls The second collection of data implies the investigation of one ball, ball A, at containing different internal pressures. Again, the accuracy is quite high, as the data collected at different internal pressures are mostly consistent. Table 11 summarizes the data obtained from the analysis. Again, it includes the measured mean value, the standard deviation of measurement values and the relative error compared to the parameters’ setpoints. parameter setpoint value measured mean standard deviation relative error (average) velocity vpress 18 m/s 17.8 m/s 0.2 m/s -1.2% spin ωpress 5 rps 5.7 rps 0.6 rps 10.8% Table 11: Summary of Analyzed Values one Ball at Different Internal Pressures It becomes obvious, that the measured mean values for velocity and spin are quite close to the setpoint values. The standard deviation shows in all cases a value which lies considerably below one. This shows that the dispersion of the values is quite low. The average relative error for spin is much higher than that for velocity in both collections of data. As the deviation of data is quite small, the type of ball shot and the ball’s internal pressure do not affect the repeatability of a shot severely. Due to this result, the type of ball and its internal pressure are not taken into account for further measurements. When different balls are launched, with the same internal pressure, the dispersion of the measured values for velocity is highest. This implies that the properties of an individual ball, including its size, weight and 31 sphericity, influence the ball’s trajectory most. The spin is less dispersed, meaning that this parameter is less influenced by the type of ball. When the internal pressure is varied, launching the same ball in each case, the standard deviation for the velocity becomes much smaller than in the previous case. This implies that the dispersion of values is quite small. The spin is more dispersed, but the standard deviation is at a similar order of magnitude as in the previous case. The initial velocity does not depend strongly on the internal pressure of the ball. In both cases, the relative error for the measured velocity compared to its setpoint is in an acceptable range. The relative error for the real spin compared to its setpoint is much higher. This might be due to the fact, that the distance of acceleration of the ball is too short. At the machine’s outlet the ball has reached its intended velocity, but not its intended spin, yet. This effect has been observed before, especially for larger magnitudes of spin. 3.5 Improvements Done in the Optimization Process After the real initial parameters and the machine’s behavior during a launch of a soccer ball have been evaluated, the machine is improved and optimized. The machine itself, as well as the machine’s control is improved. 3.5.1 Improvements Concerning the Machine Itself A first improvement implies the guide rails’ edgings being abraded and polished. This action decreases the contact between the guide rail and the ball. As the ball is pressed against the belt, which runs on the guide rail, it is also pushed against the rail. The friction between rail and ball influences the acceleration of the ball in an undefined way. Figure 30 shows the situation, in an exaggerated way, before and after the improvement of the guide rails. belt guide rail belt guide rail Figure 30: The Improvement of the Guide Rail – Before and After Abrasion The abrasion of the guide rails’ edgings helps to minimize the friction between ball and rail, as these two objects are not in contact anymore. So the belts can transfer the energy to the ball more efficiently. 3.5.2 32 Improvements Concerning the Machine’s Control A further improvement made, results in the optimization of the machine’s control. From the experimentally found data for initial velocity and spin of the ball and the intended values, correction terms are introduced. These terms regulate the motor settings when launching a ball. The optimization of the control of the motors by the correction terms is suggested to be successful, when comparing the mean values of the parameters before and after the correction. The correction terms are found by the use of polynomials, generated from the analysis of the data in the previous sections. After the measured data for relative error of spin and velocity has been plotted against the setpoint velocity, a function for correction terms can be found. A polynomial is fitted into the plot with the Matlab function polyfit, which best describes the correcting terms. It is found that the correcting terms Cω for spin are given by the polynomial 3 2 Cω = −0.00432vset + 0.10202vset − 0.27847vset where vset is the setpoint value for initial velocity. The plotted data and the fitted polynomial are shown in Figure 31. 10 Measurements Polynomial fit 5 Relative error spin [%] 0 −5 −10 −15 −20 −25 −30 −35 −40 10 15 20 Setpoint velocity [m/s] 25 30 Figure 31: Polynomial Fit of Correction Terms for Spin As described in section 3.1.2, best results are obtained from the measurements for setpoint velocities of approximately 20 m/s. This also is shown in the graph, as the polynomial fit line intercepts the xaxis at this velocity. Furthermore, it is plausible, that the line’s gradient increases for higher values of velocity. This is due to the effect, that at high velocities the spin cannot be set very precisely. It is assumed, that the distance for acceleration is too short for high velocities, so that the intended spin cannot be reached in the short time of acceleration. At lower velocities, the correction terms also increases. This effect also seems sensible, as at very low belt speeds friction is relatively high, the ball is not accelerated accurately and spin is not transmitted exactly. As the energy in the system is smaller for smaller rotation motor speeds, 33 the friction is comparatively larger. This results in the relatively decrease of the flywheels’ rotational speeds. Correction terms are also found for the intended velocity of the ball. Again, a polynomial is fitted using the Matlab function polyfit, giving a function for the correction terms Cv for the velocity. The polynomial is given by 4 3 2 Cv = −0.00029vset + 0.02078vset − 0.56778vset + 7.1617vset − 39.329 where vset is the setpoint value for velocity. Figure 32 shows the measured data and the polynomial fit. 2 Speed light barrier Polynomial fit 0 Relative error speed [%] −2 −4 −6 −8 −10 −12 −14 10 15 20 Setpoint velocity [m/s] 25 30 Figure 32: Polynomial Fit of Correction Terms for Velocity Again, it is seen, that correction terms are lowest between setpoint velocities of 20 to 25 m/s. Furthermore, the correction terms increase for very high and very low setpoint velocities. The machine’s distance of acceleration is too short to accelerate a ball accurately at a high velocity. At low velocities relatively large frictional forces occur and the ball is not accelerated accurately. In order to calculate the corrected settings for the rotational speed of the motors, the intended spin and velocity are given by ω corr = ω set 1 + Cω and vcorr = v set 1 + Cv Then the corrected motor rotation speeds are found as before by the formula 34 nmotor = vcorr + 2π rballωcorr 2π rflywheel ⋅ 60 where nmotor is the motor rotational speed in rps, rball = 0.11 m is the soccer ball’s radius and rflywheel = 0.15 m is the radius of the flywheel. After the correction terms have been found and the corrected motor rotational speeds have been calculated, a next testing phase can take place. The machine’s control is improved by the optimized values for motor settings. 3.6 Experimental Measurements after Optimization The data has been evaluated and the consequential analysis has resulted in the implementation of two polynomial fits, giving the correction terms. These correction terms are used in an iterative series of measurements. The collection of data includes the corrected values for the rotational motor speeds. The launched balls are recorded by the high speed camera, again. The videos can be analyzed with the methods explained above, in section 3.1. All motor settings and the results obtained from the optimized measurements are found in Appendix E. 3.6.1 Results for Spin and Velocity due to Optimization The ball’s real initial spin and velocity are measured in the same way, as done during the first collection of data. High speed videos are recorded and the ball’s flight is analyzed using the Matlab program. Again, the relative error is calculated and averaged for all measurements. The relative errors for measured velocity and spin compared to the setpoint velocity are summarized in Table 12. range of setpoint velocity [m/s] relative error velocity [%] relative error spin [%] 0 – 30 2.3 1.9 0 – 25 2.4 -2.2 > 25 1.8 14.4 Table 12: Relative Errors of Spin and Velocity - Optimized Measurements The values for relative errors have decreased after the implementation of correction terms. Still, the decrease of relative errors is not as severe as expected, especially for velocity. This might be due to the relatively small amount of data obtained. Therefore, the deviation of values is only an estimate. The correction terms can be improved by the collection and analysis of more data. For instance, the relative error’s absolute value for measured velocity has only declined by 0.9% for velocities from 0 to 30 m/s. It is noticed, that a change of the sign occurred. This implies an overcorrection of the data during the measurements taken. The difference between the measured values and their relative errors is most severe for balls 35 launched at more than 25 m/s. The relative error’s absolute value for measured velocity compared to its setpoint velocity has declined by 4.3%, whereas the relative error for spin compared to the setpoint velocity decreased even by 18.7%. The measured values for relative errors of velocity compared to its setpoint velocity are illustrated in Figure 33. It can be observed, that most measurements are done with a setpoint velocity of 18 m/s. This is, as the measurements on the dependency of the machine on the type of ball and its pressure are taken at this velocity and are also plotted in the graphs. 14 Relative error speed 12 Relative error speed [%] 10 8 6 4 2 0 −2 −4 −6 5 10 15 20 25 Setpoint velocity [m/s] 30 35 Figure 33: Measured Relative Error for Velocity – Optimized Measurements It becomes obvious, that for higher setpoint velocities the relative error of velocity generally increases. At setpoint velocities between 15 and 20 m/s most relative errors are measured to be between -1.5% and 1.5%. Figure 34 shows the measured relative error of spin compared to the setpoint velocity. 36 25 Relative error Spin 20 Relative error spin [%] 15 10 5 0 −5 −10 5 10 15 20 Setpoint velocity [m/s] 25 30 Figure 34: Measured Relative Error for Spin – Optimized Measurements The relative error for spin is more dispersed. Still, it must be mentioned that the plot above implies measurements for different balls and for different internal pressures. The relative errors, measured for spin, are mainly between -7% and 13%. Concluding, it can be said, that the machine’s performance could be improved. It is obvious, that the real initial velocity of the ball is overcorrected slightly. This can be seen by the change in signs of the relative errors. For setpoint velocities > 25 m/s the correction is very successful, as the relative error of velocity compared to the setpoint velocity is changed from -6.1% to 1.8%. Furthermore, the relative error of initial spin could be reduced from -33.1% to 14.4% for setpoint velocities > 25 m/s. The relative error of spin for lower setpoint velocities remains approximately constant in magnitude, but shows a change in the sign. This, again, suggests an overcorrection of the machine. Still, the relative error for spin at lower setpoint velocities is small and might be due to measurement errors, too. A reason for the overcorrection might be the simultaneous improvement of the guiding rails and the implementation of correction terms. 3.6.2 Reference Coordinate System In order to verify the direction of the speed and spin vector, speed and spin vectors are transformed into an ASGU-fixed coordinate system. For this purpose, six reference points on the machine are marked and their coordinates are calculated with the same program that is used to calculate the ball’s coordinates. The analysis for the reference coordinate system works with fewer points than the analysis for the balls, as the points on the machine are better distributed in space compared to the ball, where six points are much closer to a plane. 37 Figure 35: Example picture analyzed Given these coordinates in the camera-fixed system, an ASGU-fixed coordinate system is calculated in the camera coordinates, which can directly be used as the transformation matrix ACA. An index A denotes a variable in the ASGU-system. C stands for the camera-system. The speed and spin vectors in the ASGU-coordinates are the calculated using the inverse transformation matrix. −1 v A = ACA ⋅ vC As shown in Figure 35 the speed is now to be expected in negative xA direction, where the spin axis is expected in yA direction. Therefore, no deflection in these directions can be stated. The analysis shows the deflections listed in Table 13. The deflections listed are the deviations from the expected direction (x for speed, y for spin) towards the direction denoted in degrees. Deflections measured in: xA direction yA direction zA direction Velocity - 2.8° -18.9° Spin -1.1° - 8.0° Table 13: Deflections of Velocity and Spin The values of the deflections in xA and yA directions are very small and fit well with the expectations. The values calculated in zA direction, especially for the velocity, are unexpectedly high. The measured deflection for the velocity in z direction does not agree with the qualitative observations made during the tests. The deviations are expected to originate from the measurement errors made in the z coordinate. For more details see section 3.7. 38 3.6.3 Results of the Optimized Iterative Measurements After the measurement process, the optimization of the machine due to correction terms and the iterative measurements have been finished, some conclusions about the machine’s performance can be made. First measurements showed large relative errors for the real initial velocity and spin, compared to the setpoint velocity. After optimizing the machine itself and the machine’s control due to correction terms, a second collection of data is made, using the corrected values for the motor settings. The analysis of the data obtained from the optimized measurements shows, that the relative errors for the ball’s initial velocity and spin could be reduced. Still, an error continues to occur. The relative error for velocity compared to its setpoint velocity is 2.3% on average, after optimization. The relative error for the ball’s spin compared to the setpoint velocity is 1.9% on average, using the corrected motor settings. Furthermore, throughout the measurements it is recognized that for high setpoint velocities the relative errors of the ball’s velocities and spins increase exceedingly. This effect might be due to the short distance of ball acceleration in the machine. Too little time is available at high belt speeds to accelerate the ball and impart spin on it accurately. Also the slip between belt and ball has an influence on the accuracy of a ball shot. Furthermore, for low belt speeds the accuracy of the ball’s initial velocity and spin decreases as well. This is due to the fact, that the frictional forces between belt and guide rail stay constant, as the frictional coefficient and the contact force are held constant. Furthermore, the friction is relatively high for slow belt speeds, compared to higher speeds of the belts. Therefore, the friction affects the ball more at low velocities. These effects must be compensated by the correction terms. Furthermore, the machine is found not to be very dependent on the type of ball or the ball’s internal pressure. The dispersion of obtained data is quite small, shown by the standard deviation for all values being much less than one. Especially, the standard deviation for the ball’s velocity, in the case of different pressured balls used, is very low at 0.2 m/s at a setpoint velocity of 18 m/s. For the spin the standard deviation is 0.6 m/s at the same setpoint velocity, using a ball with various internal pressures. If different balls are launched, the standard deviation for spin is 0.4 m/s, again, at vset = 18 m/s. Although the relative errors for spin are quite high, at 3.4% for different balls and 10.8% for different internal pressures at the setpoint velocity of 18 m/s, the dispersion of measured values is small. This is ascertained due to the standard deviations for both parameters being below one, in both cases. Therefore, the machine’s repeatability is quite high. Concluding the analysis of the optimized measurements, again, polynomials are fitted into the measured data. The newly found relative error of the velocity measured compared to its setpoint velocity is plotted. The polynomial fitted into these data is given by 39 5 4 3 2 Cvopt = 0.0001vset − 0.0084vset + 0.2791vset − 4.1110vset + 24.4111vset − 30.5383 The data, measured during the optimized measurement series, are plotted in Figure 36. Furthermore, the new polynomial is shown by the red curve, while the old polynomial is pink. 15 Relative error speed [%] 10 5 0 −5 −10 Speed measured after optimization Polynomial fit after optimzation Polynomial fit before optimization −15 −20 10 15 20 25 Setpoint velocity [m/s] 30 35 Figure 36: The Newly Fitted Polynomial It can be observed, that the measurement has been overcorrected. The relative error of spin is above zero on average. Still, the polynomial, showing the relative error of velocity as a function of the setpoint velocity, approaches the axis, where the relative error becomes zero. This proves that the iterative optimization of the measurement method functions properly. The same can be done for the values for the relative error of spin compared to the setpoint velocity. In a next step, the corrected terms for spin and velocity can be found, followed by the calculation of the motor rotational speeds. If more iterative measurements are done, the machine can be optimized to a great extent. As too little time is available, this step is not done during this Bachelor’s Thesis. The method is explained in section 3.5.2. 3.7 40 Closing Remarks on the Measurement Phase Besides this report, this Bachelor’s Thesis included a lot of experimental collection of data and their evaluation and analysis. The amount of data obtained is restricted due to some difficulties, which occurred throughout the measuring phase of the machine. The equipment, namely the high speed camera, the encoder or the light barriers, did not function properly, a couple of times. Also the machine malfunctioned once, when testing was supposed to take place. Furthermore, concluding on the three dimensional coordinates of the ball from the two dimensional coordinates on the picture, is a challenging task. So the complexity of implementing a functioning Matlab program was underestimated. When analyzing high speed videos, showing a ball launched with high spin, the sequence to be evaluated only contains few pictures. Therefore, little information is available for the entire motion of the ball. This can explain the increased standard deviation for shots with high spin. Also the accuracy of the z-coordinates is limited. Concluding, it can be said, that the implemented measurement system functions well. The high speed videos can be analyzed using the implemented Matlab program and result in the evaluation of the ball’s real initial spin and velocity. Also the light barriers’ results seem reasonable and correspond to the data obtained from the high speed videos. Furthermore, the data obtained for the flywheels’ behavior are realistic and behave as expected. 41 42 4 Concluding the Measurements and Optimization After the collection of data, the implementation of correction terms as well as the machine’s optimization and the iterative measurements have been explained and evaluated, this section gives a short overview over the entire Bachelor’s Thesis. 4.1 A Short Summary of the Results This Bachelor’s Thesis focuses on the measurement of the real initial conditions, which are the launched ball’s velocity and spin. The parameters are measured and on this basis the machine has been optimized. The optimization includes the improvement of the machine itself, by abrading the guide rails’ edgings, and the implementation of correction terms, optimizing the machine’s control. Using these correction terms, the motor settings are enhanced and an iterative collection of data takes place. The adoption of correcting terms results in smaller relative errors for measured initial velocity and spin compared to the setpoint velocity. However, at high setpoint velocities of > 25 m/s for the launched ball, the relative errors for the parameters measured are highest. This might be due to the short time possible for the ball’s acceleration in the machine. Also more slip occurs at higher setpoint velocities. On the other hand, at very low intended velocities, the accuracy goes down as well. This is explained by the fact, that the frictional forces are higher relative to the energy in the machine, than for high velocities and affect the ball’s initial conditions more severely. Furthermore, it is found that the machine’s repeatability is quite high. The standard deviations for initial velocities and spin are small and therefore the variance of initial conditions is also low. Another result obtained is the independency of the machine on the type of the soccer ball, including its weight, sphericity and diameter, and the launched ball’s internal pressure. 4.2 Bender’s Abilities as Concluded from the Measurements In this Bachelor’s Thesis, the evaluation of the machine and its optimization allow for the following conclusions: It has been found that the machine launches balls at quite accurate initial velocities. The difference between the intended and the real initial spin is higher than for velocities. Furthermore, the relative errors for both parameters increase with increasing initial velocities. After applying the correction terms on the motor settings, the machine launches a soccer ball most accurately, when the setpoint velocity is approximately 20 m/s and spin is not very high. In addition, it has been found that the machine launches balls with great repeatability. Also the dispersion of values is quite small. Furthermore, the friction between the belts and the guide rails is quite high, as only 10-20% of the kinetic energy, released by the flywheels, is transferred to the ball. The rest of the released energy is lost due to friction. The measurement system, which has been developed for the evaluation of the machine Bender, generates reasonable values for the initial ball velocity and spin. Relying on the data and analysis obtained from this 43 Bachelor’s Thesis, it can be stated, that the machine Bender operates properly and shoots balls with high repeatability and accuracy. 44 5 Table of References Admotec http://www.admotec.com/KX.pdf. 5 June 2008. BscSim Schwendimann, F., Wangler, C.; Simulation and Inverse Calculation of Initial Parameters for the Flight Trajectories of a Soccer Ball. Bachelor’s Thesis. ETH Zurich, Switzerland, 2008. Carre2002 Carre, M.J.; “The curve kick of a football II, flight through the air”; 2002 Dubbel Grote, K. H., J. Feldhusen., Dubbel Taschenbuch für den Maschinenbau, 21. Auflage, Springer, Berlin, 2005 Keyence http://www.keyence.de/dwn/fs_v30_man_kd.zip. June 2008 5 45 46 6 Appendices 6.1 Appendix A– Matlab Code 6.1.1 datagen_neu.m % Datagenerator function [testdata,pr1,pr2,sp1,sp2]=datagen(v,omega) % Achtung! Einheiten! % [v] = mm/s; size(v)=[3 1] % [omega] = rps; size(omega)=[3 1] % testdata: generierter Datenvektor analog ImageJ % pri: Reale Koordinaten der Punkte zum Zeitpunkt i % spi: Reale Schwerpunktskoordinaten zum Zeitpunkt i % Ballradius rball=109.7; % Anzahl Bilder zwischen zwei Zeitpunkten step=10; % Koordinaten des Schwerpunkts 1 sp1=[50 0 2000]'; % EINGABE % Koordinaten von sp2 berechnen sp2=sp1+v*step/2000; % Koordinatensystem um omega anlegen omegasys(:,1)=omega/norm(omega); omegasys(:,2)= [0 0 -1]; omegasys(:,3)=cross(omegasys(:,1),omegasys(:,2)); omegasys(:,3)=omegasys(:,3)/norm(omegasys(:,3)); omegasys(:,2)=cross(omegasys(:,3),omegasys(:,1)); omegasys(:,2)=omegasys(:,2)/norm(omegasys(:,2)); % Drehmatrizen A_ro=omegasys; A_or=inv(omegasys); % Drehwinkel um omega berechnen winkel=norm(omega)*2*pi*step/2000; %[rad] % Koordinatensystem um Omega zum Zeitpkt 2 berechen % -> Drehnung um erste Achse von Omegasystem mit Winkel 'winkel' % Drehmatrix Aomega Aomega=[1 0 0;0 cos(winkel) -sin(winkel);0 sin(winkel) cos(winkel)]; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%% Beginn Erstellung Nahtpunkte %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 47 % Erster Punkt liegt auf der zweiten Achse (schaut in negative % z-Richtung im realen System (-> Zeile 22), das heisst in Richtung % Kamera) pnRef=[0 rball 0]'; % Abstände der Referenzpunkte vom Punkt 0 (gemessen) AbstORef=[38.795 81.963 108.6 141.6]; rBall=109.7; % Erstellen des Vektors vom Ursprung zum Referenzpunkt jedes % Kreises % 1. Zeile: In Richtung Referenzpunkt % 2. Zeile: Abstand von der Achse ORef_o(1,:)=rBall*sin(2*asin(AbstORef/(2*rBall))); ORef_o(2,:)=sqrt(rBall^2-ORef_o(1,:).^2); % Drehmatrix für n=5 um y drehwinkel=2/5*pi; A5=[cos(drehwinkel) 0 -sin(drehwinkel);0 1 0;sin(drehwinkel) 0 cos(drehwinkel)]; % 1. Reihe pn_o1(1,1,:)=pnRef+[ORef_o(1,1) -rBall+ORef_o(2,1) 0]'; for i=1:4 pn_o1(1,i+1,:)=A5*squeeze(pn_o1(1,i,:)); end % 2. Reihe pn_o1(2,1,:)=pnRef+[ORef_o(1,2) -rBall+ORef_o(2,2) 0]'; for i=1:4 pn_o1(2,i+1,:)=A5*squeeze(pn_o1(2,i,:)); end % 3. Reihe % Kantenlänge kante=rBall*4/sqrt(58+18*sqrt(5)); % Halber Öffnungswinekl Reihe 3 alpha=2/10*pi-asin(kante/(2*ORef_o(1,3))); % Drehmatrix alpha um y Aalpha=[cos(alpha) 0 -sin(alpha);0 1 0;sin(alpha) 0 cos(alpha)]; hilfspkt=pnRef+[ORef_o(1,3) -rBall+ORef_o(2,3) 0]'; n=1; for i=1:5 for j=1:2 pn_o1(3,n,:)=Aalpha^-(j*2-3)*hilfspkt; n=n+1; end hilfspkt=A5*hilfspkt; end % 4. Reihe % Halber Öffnungswinkel Reihe 4 alpha=asin(kante/(2*ORef_o(1,4))); % Drehmatrix alpha um y Aalpha=[cos(alpha) 0 -sin(alpha);0 1 0;sin(alpha) 0 cos(alpha)]; hilfspkt=pnRef+[ORef_o(1,4) -rBall+ORef_o(2,4) 0]'; 48 n=1; for i=1:5 for j=1:2 pn_o1(4,n,:)=Aalpha^-(j*2-3)*hilfspkt; n=n+1; end hilfspkt=A5*hilfspkt; end % 5. bis 8. Reihe alpha=-pi*2/10; Aalpha=[cos(alpha) 0 -sin(alpha);0 1 0;sin(alpha) 0 cos(alpha)]; for i=1:4 pn_o1(i+4,:,:)=([1 0 0;0 -1 0;0 0 1]*Aalpha*squeeze(pn_o1(-i+5,:,:))')'; end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%% Ende Erstellung Nahtpunkte %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%% % Punkte in realem System ausgeben n=1; for i=1:8 for j=1:10 pr1(:,n)=sp1+A_ro*squeeze(pn_o1(i,j,:)); n=n+1; end end % Punkte zum Zeitpunkt 2 im realen System ausgeben n=1; for i=1:8 for j=1:10 pr2(:,n)=sp2+A_ro*Aomega*squeeze(pn_o1(i,j,:)); n=n+1; end end % Punkte im Schwerpunkt entfernen clear temp n=1; for i=1:size(pr1,2) if pr1(:,i)~=sp1 temp(:,n)=pr1(:,i); n=n+1; end end clear pr1 pr1=temp; n=1; for i=1:size(pr2,2) if pr2(:,i)~=sp2 temp(:,n)=pr2(:,i); n=n+1; end end clear pr2 49 pr2=temp; % Sehzentrum sz in Bildkoordinaten sz=[256 256 -960]'; % Sehzentrum im realen System szr=[0 0 -960]'; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%% Projektion in Bildebene %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %Gleichung der Bildebene z=0; % Projektion der Ballpunkte in die Bildebene % Geradengleichung in Parameterform: X=F+lambda*(P-F) % mit: X=gesuchter Punkt auf der Bildebene: X=[x_p; y_p; z_p] % F=Fokuspunkt=szr=Sehzentrum im realen System % lambda=Parameter der Geradengleichung % zur Berechnung von lambda wird in der dritten Zeile % der Geradengleichung für z_p die Ebengleichung z=0 % eingesetzt numberOfBallPoints=size(pr1); for currentBallPoint=1:numberOfBallPoints(2) %Ballpunkte zum Zeitpunkt1 lambda1=z-szr(3)/(pr1(3,currentBallPoint)-szr(3)); x_p=lambda1*(pr1(1,currentBallPoint)-szr(1)); y_p=lambda1*(pr1(2,currentBallPoint)-szr(2)); % Verschieben der ermittelten Bildpunktwerte, damit diese im % Bildkoordinatensystem zu liegen kommen (Ursprung des Bildes % ist in der % linken unteren Ecke) bildkoord(1:2,currentBallPoint)=[x_p+sz(1);y_p+sz(2)]; % Ballpunkte zum Zeitpunkt2 lambda2=z-szr(3)/(pr2(3,currentBallPoint)-szr(3)); x_p=lambda2*(pr2(1,currentBallPoint)-szr(1)); y_p=lambda2*(pr2(2,currentBallPoint)-szr(2)); % % % % Verschieben der ermittelten Bildpunktwerte, damit diese im Bildkoordinatensystem zu liegen kommen (Ursprung des Bildes ist in der linken unteren Ecke) bildkoord(1:2,currentBallPoint+numberOfBallPoints(2))=[ x_p+sz(1);y_p+sz(2)]; end bildkoord(3,:)=0; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Ende Projektion Bildebene %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Data-Vektor generieren clear testdata testdata(1:size(bildkoord,2),1)=1:size(bildkoord,2); testdata(:,2:3)=bildkoord(1:2,:)'; testdata(1:size(pr1,2),4)=10; 50 testdata(size(pr1,2)+1:size(pr1,2)+size(pr2,2),4)=10+st ep; for i=1:size(testdata,1) testdata(i,5)=round(100*rand); end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Sechseckvariante / 21 P % Für Fünfeck / 20 P diesen Teil kommentieren %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% pr15=pr1(:,[1 6 12 19 10 5 4 2 11 22 29 20 3 21 30 7 14 31 32 17 9]); pr25=pr2(:,[1 6 12 19 10 5 4 2 11 22 29 20 3 21 30 7 14 31 32 17 9]); clear temp temp=testdata; clear testdata; testdata=temp([1 6 12 19 10 5 4 2 11 22 29 20 3 21 30 7 14 31 32 17 9],:); testdata(22:42,:)=temp([1 6 12 19 10 5 4 2 11 22 29 20 3 21 30 7 14 31 32 17 9]+21,:); testdata(22:42,4)=10+step; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Ende Sechseck / 21 P %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Plot für Fünfeckvariante (20P) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % for i=1:20 % plot3(pr1(1,i),pr1(2,i),pr1(3,i),'+b') % plot3(pr2(1,i),pr2(2,i),pr2(3,i),'+r') % plot3(bildkoord(1,i),bildkoord(2,i),bildkoord(3,i),'.k' ) % end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Ende Plot Fünfeck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Plot für Sechseckvariante (15P) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% plot3(pr15(1,:),pr15(2,:),pr15(3,:),'+b') plot3(pr25(1,:),pr25(2,:),pr25(3,:),'+r') plot3(testdata(:,2),testdata(:,3),zeros(size(testdata,1 )),'ok') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Ende Plot Sechseck %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 6.1.2 grc20.m % Extended getrealcoords-function function [xr,sp]=grc20(data) clear xbild clear global xbild 51 global xbild m sz; % n = Anzahl Zeilen von data, d.h. Anzahl Punkte n=size(data,1); % m = Ortsvektor des Bildmittelpunktes m=[256 256 0]; %ANPASSEN % x = Vektor mit Bildkoordinaten size 3,n xbild(3,1:n)=0; %z=0 für alle Bildpunkte for i=1:n %n Vektoren auslesen for j=1:2 %jeweils x&y xbild(j,i)=data(i,j+1); end end % Initial guess x0(1:n)=3000; %ANPASSEN x0(n+1:n+3)=[1 1 3000]; %ANPASSEN % Least Square mit lsqnonlin lösen lowerBound(1:n)=0; lowerBound(n+1:n+2)=-2000; lowerBound(n+3)=0; upperBound(1:n)=4000; upperBound(n+1:n+2)=2000; upperBound(n+3)=4000; options=optimset('MaxFunEvals',1000000,'MaxIter',100000 0,'TolFun',.000000000001); arg=lsqnonlin(@lsqfun20,x0,lowerBound,upperBound,option s); % Ortsvektor des Sehzentrums sz=[0 0 -1634]; % Vektor streckvec von sz zu xbild berechnen for i=1:n for j=1:3 streckvec(j,i)=(xbild(j,i)-m(j)-sz(j)); end end % v Strecken => xr for i=1:n for j=1:3 xr(j,i)=sz(j)+arg(i)*streckvec(j,i)/norm(streckvec(:,i) ); end end % sp ausgeben sp=[arg(n+1),arg(n+2),arg(n+3)]'; sp hold on plot3(xr(1,:),xr(2,:),xr(3,:),'+b') plot3(sp(1),sp(2),sp(3),'*b') 52 % plot3(ecken(1,:),ecken(2,:),ecken(3,:),'.k') clear xbild axis equal 6.1.3 grc21.m % Extended getrealcoords-function function [xr,sp]=grc21(data) clear xbild clear global xbild global xbild m sz; % n = Anzahl Zeilen von data, d.h. Anzahl Punkte n=size(data,1); % m = Ortsvektor des Bildmittelpunktes m=[256 256 0]; %ANPASSEN % x = Vektor mit Bildkoordinaten size 3,n xbild(3,1:n)=0; %z=0 für alle Bildpunkte for i=1:n %n Vektoren auslesen for j=1:2 %jeweils x&y xbild(j,i)=data(i,j+1); end end % Initial guess x0(1:n)=3000; %ANPASSEN x0(n+1:n+3)=[1 1 3000]; %ANPASSEN % Least Square mit lsqnonlin lösen lowerBound(1:n)=0; lowerBound(n+1:n+2)=-2000; lowerBound(n+3)=0; upperBound(1:n)=4000; upperBound(n+1:n+2)=2000; upperBound(n+3)=4000; options=optimset('MaxFunEvals',1000000,'MaxIter',100000 0,'TolFun',.000000000001); arg=lsqnonlin(@lsqfun21,x0,lowerBound,upperBound,option s); % Ortsvektor des Sehzentrums sz=[0 0 -1634]; % Vektor streckvec von sz zu xbild berechnen for i=1:n for j=1:3 streckvec(j,i)=(xbild(j,i)-m(j)-sz(j)); end end % v Strecken => xr for i=1:n for j=1:3 53 xr(j,i)=sz(j)+arg(i)*streckvec(j,i)/norm(streckvec(:,i) ); end end % sp ausgeben sp=[arg(n+1),arg(n+2),arg(n+3)]'; hold on axis equal plot3(xr(1,:),xr(2,:),xr(3,:),'+b') plot3(sp(1),sp(2),sp(3),'*b') % plot3(ecken(1,:),ecken(2,:),ecken(3,:),'.k') clear xbild 6.1.4 hsceval20.m % Evaluate Highspeed Camera Data with this m-file function [kangaroo,velocity,omega,excelvec]=main(data) ndot=20; close all; % Check if number of points is a multiple of 20 if mod(size(data,1),20)~=0 error('Number of points is not a multiple of 20!') end % Calculate real coordinates using getrealcoords.m i=1; j=1; global xbild while i<size(data,1) clear tempdots tempcenter [tempdots,tempcenter]=grc20(data(i:i+ndot-1,:)); center(:,j)=tempcenter; kangaroo(j,:,1:3)=tempdots'; i=i+ndot; j=j+1; end clear global xbild % Feed the kangaroo with picture numbers for i=1:size(kangaroo,1) kangaroo(i,:,4)=data(i*ndot,4); end % Calculate the spin using spincalc_final.m omega=spincalc_final(kangaroo); f_cam = 2000; %Frequency of cam [s^-1] --> set manually time_cam = 1/f_cam; %time between two side by side pictures [s] % Calculate the time between two analyzed pictures [s] for i = 1:(size(kangaroo,1)-1) z_b = kangaroo(i,1,4); delta_t(i) = (kangaroo(i+1,1,4) kangaroo(i,1,4))*time_cam; end % Calculate the velocity of the center of mass 54 for i=1:size(delta_t,2) velocity(:,i)=diff(center(:,i:i+1),1,2)/delta_t(i); end % Print speed, spin and their norm omega omega_n=norm(omega) velocity for i=1:3 velocity_mean(i)=mean(velocity(i,:)); end velocity_mean=velocity_mean'; velocity_mean velocity_norm=norm(velocity_m) axis equal 6.1.5 hsceval21.m % Evaluate Highspeed Camera Data with this m-file function [kangaroo,velocity,omega,excelvec]=main(data) ndot=21; close all; % Check if number of points is a multiple of 21 if mod(size(data,1),21)~=0 error('Number of points is not a multiple of 21!') end % Calculate real coordinates using getrealcoords.m i=1; j=1; global xbild while i<size(data,1) clear tempdots tempcenter [tempdots,tempcenter]=grc2(data(i:i+ndot-1,:)); center(:,j)=tempcenter; kangaroo(j,:,1:3)=tempdots'; i=i+ndot; j=j+1; end clear global xbild % Feed the kangaroo with picture numbers for i=1:size(kangaroo,1) kangaroo(i,:,4)=data(i*ndot,4); end % Calculate the spin using spincalc_final.m omega=spincalc_final(kangaroo); f_cam = 2000; %Frequency of cam [s^-1] --> set manually time_cam = 1/f_cam; %time between two side by side pictures [s] % Calculate the time between two analyzed pictures [s] for i = 1:(size(kangaroo,1)-1) z_b = kangaroo(i,1,4); delta_t(i) = (kangaroo(i+1,1,4) kangaroo(i,1,4))*time_cam; end 55 % Calculate the velocity of the center of mass for i=1:size(delta_t,2) velocity(:,i)=diff(center(:,i:i+1),1,2)/delta_t(i); end % Print speed, spin and their norm omega omega_n=norm(omega) velocity for i=1:3 velocity_mean(i)=mean(velocity(i,:)); end velocity_mean=velocity_m'; velocity_mean velocity_norm=norm(velocity_m) axis equal 6.1.6 lsqfun20.m % EXTENDED lsqfun(x) liefert die Fehlerwerte für den Versuch x % (noch nicht quadriert % und aufsummiert). function F=lsqfun2(arg) global xbild m sz; clear F % sz = Ortsvektor des sehzentrums sz=[0 0 -1634]; %Koordinaten der Eckpunkte ecken=[0,36.3149,22.4438,-22.4438,36.3149,0,72.3077,44.6886,-44.6886,-72.3077,36.0102,36.0102,94.0802,71.8247,22.1346,80.4003,-80.4003,22.1346,-71.8247,-94.0802,22.1346,22.1346,107.53,93.85,44.3226,80.1371,-80.1371,44.3226,-93.85,-107.53,-44.3226,80.1371,80.1371,44.3226,93.85,107.53,-22.1346,22.1346,107.53,-93.85,-22.1346,80.4003,80.4003,22.1346,71.8247,94.0802,36.0102,36.0102,-94.0802,-71.8247,44.6886,44.6886,72.3077,0,-72.3077,22.4438,22.4438,36.3149,0,-36.3149;-38.1837,11.7994,30.8913,30.8913,-11.7994,-76.0288,23.4942,61.5086,61.5086,-23.4942,-87.2214,87.2214,7.2948,61.2006,91.7298,49.3974,49.3974,91.7298,61.2006,7.2948,-105.8717,-105.8717,-11.6649,53.7674,98.6624,72.6416,72.6416,98.6624,-53.7674,11.6649,-98.6624,-72.6416,-72.6416,98.6624,53.7674,11.6649,105.8717,105.8717,11.6649,53.76 74,-91.7298,-49.3974,-49.3974,-91.7298,61.2006,7.2948,87.2214,87.2214,-7.2948,61.2006,-61.5086,61.5086,23.4942,76.0288,23.4942,-30.8913,30.8913,11.7994,38.1837,11.7994;-102.8401,-102.8401,102.8401,-102.8401,-102.8401,-79.0804,-79.0804,79.0804,-79.0804,-79.0804,-55.9445,-55.9445,-55.9445,55.9445,-55.9445,-55.9445,-55.9445,-55.9445,-55.9445,55.9445,-18.3119,-18.3119,-18.3119,-18.3119,-18.3119,- 56 18.3119,-18.3119,-18.3119,-18.3119,18.3119,18.3119,18.3119,18.3119,18.3119,18.3119,18.3119 ,18.3119,18.3119,18.3119,18.3119,55.9445,55.9445,55.944 5,55.9445,55.9445,55.9445,55.9445,55.9445,55.9445,55.94 45,79.0804,79.0804,79.0804,79.0804,79.0804,102.8401,102 .8401,102.8401,102.8401,102.8401;]; % Select Distance Vector (dv % Callculate distance vector dv rball=109.7; ndot=20; count=1; ecken=ecken(:,1:20); for i=1:ndot-1 for j=i+1:ndot dv(count)=norm(ecken(:,i)-ecken(:,j)); ount=count+1; end end % Fehlervar. initialisieren F(1:(ndot-1)*ndot/2+ndot,1)=0; % Vektor v vom Sehzentrum sz zu Bildpunkten xbild berechnen for i=1:ndot for j=1:3 v(j,i)=(xbild(j,i)-m(j)-sz(j)); end end % v Strecken => xr for i=1:ndot for j=1:3 xr(j,i)=sz(j)+arg(i)*v(j,i)/norm(v(:,i)); end end % Fehler berechnen für Abstände der Punkte untereinander l=1; for i=1:ndot-1 for j=i+1:ndot for k=1:3 F(l)=F(l)+(arg(i)*(xbild(k,i)-m(k)sz(k))/norm(v(:,i))-arg(j)*(xbild(k,j)-m(k)sz(k))/norm(v(:,j)))^2; end F(l)=abs((F(l))-dv(l)^2); l=l+1; end end % Fehler berechnen für Abstände Punkt-Schwerpunkt for i=1:ndot F(i+(ndot-1)*ndot/2)=((xr(1,i)arg(ndot+1))^2+(xr(2,i)-arg(ndot+2))^2+(xr(3,i)arg(ndot+3))^2); end F((ndot-1)*ndot/2+1:(ndot-1)*ndot/2+ndot)=F((ndot1)*ndot/2+1:(ndot-1)*ndot/2+ndot)-109.7^2; 57 F((ndot-1)*ndot/2+1:(ndot-1)*ndot/2+ndot)=F((ndot1)*ndot/2+1:(ndot-1)*ndot/2+ndot)*10; F(1:(ndot-1)*ndot/2)=F(1:(ndot-1)*ndot/2); clear xbild 6.1.7 lsqfun21.m % EXTENDED lsqfun(x) liefert die Fehlerwerte für den Versuch x % (noch nicht quadriert % und aufsummiert). function F=lsqfun2(arg) global xbild m sz; clear F % sz = Ortsvektor des sehzentrums sz=[0 0 -1634]; % Koordinaten der Eckpunkte ecken=[0,36.3149,22.4438,-22.4438,36.3149,0,72.3077,44.6886,-44.6886,-72.3077,36.0102,36.0102,94.0802,71.8247,22.1346,80.4003,-80.4003,22.1346,-71.8247,-94.0802,22.1346,22.1346,107.53,93.85,44.3226,80.1371,-80.1371,44.3226,-93.85,-107.53,-44.3226,80.1371,80.1371,44.3226,93.85,107.53,-22.1346,22.1346,107.53,-93.85,-22.1346,80.4003,80.4003,22.1346,71.8247,94.0802,36.0102,36.0102,-94.0802,-71.8247,44.6886,44.6886,72.3077,0,-72.3077,22.4438,22.4438,36.3149,0,-36.3149;-38.1837,11.7994,30.8913,30.8913,-11.7994,-76.0288,23.4942,61.5086,61.5086,-23.4942,-87.2214,87.2214,7.2948,61.2006,91.7298,49.3974,49.3974,91.7298,61.2006,7.2948,-105.8717,-105.8717,-11.6649,53.7674,98.6624,72.6416,72.6416,98.6624,-53.7674,11.6649,-98.6624,-72.6416,-72.6416,98.6624,53.7674,11.6649,105.8717,105.8717,11.6649,53.76 74,-91.7298,-49.3974,-49.3974,-91.7298,61.2006,7.2948,87.2214,87.2214,-7.2948,61.2006,-61.5086,61.5086,23.4942,76.0288,23.4942,-30.8913,30.8913,11.7994,38.1837,11.7994;-102.8401,-102.8401,102.8401,-102.8401,-102.8401,-79.0804,-79.0804,79.0804,-79.0804,-79.0804,-55.9445,-55.9445,-55.9445,55.9445,-55.9445,-55.9445,-55.9445,-55.9445,-55.9445,55.9445,-18.3119,-18.3119,-18.3119,-18.3119,-18.3119,18.3119,-18.3119,-18.3119,-18.3119,18.3119,18.3119,18.3119,18.3119,18.3119,18.3119,18.3119 ,18.3119,18.3119,18.3119,18.3119,55.9445,55.9445,55.944 5,55.9445,55.9445,55.9445,55.9445,55.9445,55.9445,55.94 45,79.0804,79.0804,79.0804,79.0804,79.0804,102.8401,102 .8401,102.8401,102.8401,102.8401;]; % Callculate distance vector dv rball=109.7; ndot=21; count=1; ecken=ecken(:,[1 6 12 19 10 5 4 2 11 22 29 20 3 21 30 7 14 31 32 17 9]); 58 % plot3(ecken(1,:),ecken(2,:),ecken(3,:),'og') for i=1:ndot-1 for j=i+1:ndot dv(count)=norm(ecken(:,i)-ecken(:,j)); count=count+1; end end % Fehlervar. initialisieren F(1:(ndot-1)*ndot/2+ndot,1)=0; % Vektor v vom Sehzentrum sz zu Bildpunkten xbild berechnen for i=1:ndot for j=1:3 v(j,i)=(xbild(j,i)-m(j)-sz(j)); end end % v Strecken => xr for i=1:ndot for j=1:3 xr(j,i)=sz(j)+arg(i)*v(j,i)/norm(v(:,i)); end end % Fehler berechnen für Abstände der Punkte untereinander l=1; for i=1:ndot-1 for j=i+1:ndot for k=1:3 F(l)=F(l)+(arg(i)*(xbild(k,i)-m(k)sz(k))/norm(v(:,i))-arg(j)*(xbild(k,j)-m(k)sz(k))/norm(v(:,j)))^2; end F(l)=abs((F(l))-dv(l)^2); l=l+1; end end % Fehler berechnen für Abstände Punkt-Schwerpunkt for i=1:ndot F(i+(ndot-1)*ndot/2)=((xr(1,i)arg(ndot+1))^2+(xr(2,i)-arg(ndot+2))^2+(xr(3,i)arg(ndot+3))^2); end F((ndot-1)*ndot/2+1:(ndot-1)*ndot/2+ndot)=F((ndot1)*ndot/2+1:(ndot-1)*ndot/2+ndot)-109.7^2; F((ndot-1)*ndot/2+1:(ndot-1)*ndot/2+ndot)=F((ndot1)*ndot/2+1:(ndot-1)*ndot/2+ndot)*10; F(1:(ndot-1)*ndot/2)=F(1:(ndot-1)*ndot/2); clear xbild 6.1.8 spincalc_final.m % Function SPINCALC % Calculation of spin and velocity % Spincalc outputs the ball's spin 59 function [spin]=spincalc_final(kangaroo) f_cam = 2000; % Frequency of cam [s^-1] --> set manually time_cam = 1/f_cam; % Time between two side by side pictures [s] % Calculate the time between two analyzed pictures [s] for i = 1:(size(kangaroo,1)-1) i z_b = kangaroo(i,1,4); delta_t(i) = (kangaroo(i+1,1,4) kangaroo(i,1,4))*time_cam; end % Calculate a coordinate system through three ball points clear u kappa A12 t = 1; for i = 1:size(kangaroo,1) m1 = squeeze(kangaroo(i,2,1:3)) squeeze(kangaroo(i,1,1:3)); m1 = m1/norm(m1); m2 = squeeze(kangaroo(i,3,1:3)) squeeze(kangaroo(i,1,1:3)); m2 = m2/norm(m2); m3 = cross(m1,m2); m3 = m3/norm(m3); m2 = cross(m3,m1); m2 = m2/norm(m2); % M saves the vectors of the coordinatesystems as % M=[m11,m12,m13,m21,m22,m23,...] M(1:3,t) = m1; M(1:3,t+1) = m2; M(1:3,t+2) = m3; t = t+3; end % Calculation of the rotary matrix, the rotary axis and the angle % of rotation i = 1; j = 1; while i < (size(M,2)-2) Pt_first = M(:,i:i+2); i = i+3; Pt_after = M(:,i:i+2); A12 = Pt_after * Pt_first'; %rotary matrix A1 = [1,0,0;0,1,0;0,0,1]; A2 = A12 * A1; 60 % Euler parameter from elements of rotary matrix e0quad = (trace(A12)+1)/4; e0 = sqrt(e0quad); % Case differentiation % Division by zero inacceptable if e0 == 0 e1 = sqrt((A12(1,1)+1)/2); kappa(j) = pi; if e1 ==0 e2 = sqrt((A12(2,2)+1)/2); e3 = sqrt((A12(3,3)+1)/2); else e2 = (A12(1,2)+A12(2,1))/(4*e1); e3 = (A12(1,3)+A12(3,1))/(4*e1); end else e1 = (A12(3,2)-A12(2,3))/(4*e0); e2 = (A12(1,3)-A12(3,1))/(4*e0); e3 = (A12(2,1)-A12(1,2))/(4*e0); kappa(j) = 2*acos(e0); end e = [e1;e2;e3]; % u is direction of spin, kappa is the angle [rad] rotated by the % ball between two frames if sin(kappa(j)/2) == 0 u(1:3,j) = e; else u(1:3,j) = e/sin(kappa(j)/2); end j = j+1; end i=1; k=1; while i <= (size(kangaroo,1)-1) if kangaroo(i,1,4)==kangaroo(i+1,1,4) i = i+1; end kappa2(k)=kappa(i); i=i+1; k=k+1; end % Calculation of the ball's spin k=1; for i=1:length(delta_t) if delta_t(i)~=0 delta(k)=delta_t(i); k=k+1; end end for i =1:length(kappa2) omega(i) = kappa2(i)/(delta(i)*2*pi); end 61 % The average spin is given by the average of the spins between two % frames spin1 = mean(omega)*u; spin = [mean(spin1(1,:));mean(spin1(2,:));mean(spin1(3,:))]; 6.1.9 plot_k.m figure hold on i=1; for j=1:size(k,2) plot3(k(i,j,1),k(i,j,2),k(i,j,3),'*k','markersize',5) end i=2; for j=1:size(k,2) plot3(k(i,j,1),k(i,j,2),k(i,j,3),'*r','markersize',5) end i=3; for j=1:size(k,2) plot3(k(i,j,1),k(i,j,2),k(i,j,3),'*b','markersize',5) end i=4; for j=1:size(k,2) plot3(k(i,j,1),k(i,j,2),k(i,j,3),'*g','markersize',5) end axis equal 62 6.2 Appendix B – Simulink Model 63 64 6.3 Appendix C – Analysis Sheet 2nd May Auswertung Messungen 02.Mai 2008 Versuch Engine Speeds Measurements Speed left [rpm] Speed right [rpm] vx vy vz |v| omegax omegay omegaz |omega| 1a 637 637 -9949.3 1138.3 575.8 10031.0 0.0 -0.1 0.5 0.5 1b 637 637 -9814.9 860.0 226.0 9855.0 0.1 -0.4 0.3 0.5 1c 637 637 -8905.3 647.5 -935.5 8977.7 0.0 0.0 1.1 1.1 1d 637 637 -8933.4 960.8 96.8 8985.4 0.1 -0.1 1.9 1.9 1e 637 637 -9573.5 1174.4 519.7 9659.2 0.2 -0.1 0.5 0.5 2b 955 955 -14975.0 946.6 87.9 15005.0 0.3 0.0 0.5 0.6 2c 955 955 -13861.0 740.1 -195.5 13882.0 0.3 0.1 1.0 1.1 2d 955 955 -13784.0 827.5 173.2 13810.0 0.4 0.3 0.8 0.9 2e 955 955 -14957.0 898.6 33.8 14984.0 -0.2 -0.1 1.1 1.1 2f 955 955 -15294.0 913.1 1133.7 15363.0 0.4 0.0 0.3 0.5 1.4 3a 1273 1273 -20424.0 1071.2 281.3 20454.0 0.0 -0.5 1.3 3b 1273 1273 -18886.0 1051.2 966.6 18940.0 -0.3 -0.3 0.9 1.0 3c 1273 1273 -18983.0 1024.9 1237.9 19051.0 -0.3 0.1 1.1 1.1 4a 1592 1592 -25626.0 1284.7 1776.2 25719.0 -0.1 -0.2 1.9 1.9 4b 1592 1592 -23042.0 616.5 -2684.3 23206.0 0.1 -0.2 1.2 1.2 4c 1592 1592 -25497.0 1052.7 1490.5 25562.0 0.1 0.2 1.5 1.6 1.4 5a 1910 1910 -27997.0 1383.0 2604.7 28152.0 -0.4 1.3 0.2 5b 1910 1910 -27621.0 995.5 -2253.0 27730.0 -0.3 0.5 0.2 0.6 5c 1910 1910 -27174.0 427.8 -2596.1 27301.0 0.5 0.7 0.7 1.1 6a 857 417 -9233.6 1002.0 689.0 9313.0 -0.5 5.3 0.2 5.4 6b 857 417 -10200.0 849.0 -1343.0 10323.0 0.5 4.3 1.6 4.8 6c 857 417 -9827.0 1183.0 978.0 10146.0 -0.1 4.9 1.9 5.3 7a 1077 197 -9631.0 1078.0 1251.0 9772.0 0.6 9.4 0.1 9.7 7b 1077 197 -8584.0 252.0 -10083.0 8587.7 0.8 10.8 -0.1 11.0 7c 1077 197 -9043.0 907.0 -4508.0 10145.0 -0.1 10.0 -0.4 10.2 8a 1253 21 -10035.0 427.0 -4364.0 10951.0 1.8 13.0 -1.1 13.3 8b 1253 21 -9486.0 847.0 -1486.0 9639.0 0.6 14.5 0.3 14.7 8c 1253 21 -8562.0 1457.0 4538.0 9799.0 0.8 16.4 0.8 15.4 4.1 9a 1493 1053 -20392.0 1205.0 1448.0 20479.0 -0.8 3.7 1.2 9b 1493 1053 -19143.0 817.0 -89.0 19161.0 0.4 4.6 0.6 4.6 9c 1493 1053 -19074.0 1124.0 -229.0 19108.0 -0.1 4.7 0.8 4.9 10a 1713 833 -17647.0 769.0 -5101.0 18386.0 -0.3 10.7 3.2 11.1 10b 1713 833 -20232.0 493.0 -3218.0 20492.0 1.2 8.7 1.3 9.1 10c 1713 833 -19965.0 921.0 1002.0 20011.0 1.3 8.9 3.0 9.5 11a 1933 613 -18445.0 1010.0 -3739.0 18847.0 -1.1 14.6 1.8 15.0 11c 1933 613 -18924.0 769.0 -3035.0 19181.0 0.1 16.4 -0.9 16.4 11d 1933 613 -19848.0 609.0 668.0 19868.0 0.1 14.7 0.2 15.1 12a 1053 1493 -19883.0 1383.0 1023.0 19957.0 -0.1 -5.2 1.0 5.3 12b 1053 1493 -19370.0 1202.0 1767.0 19488.0 0.1 -5.1 1.5 5.5 12c 1053 1493 -19379.0 1090.0 -1714.0 19485.0 -0.6 -5.2 1.0 5.3 10.7 13a 833 1713 -19642.0 804.0 805.0 19674.0 -0.1 -10.6 1.2 13b 833 1713 -19705.0 803.0 1634.0 19789.0 -0.3 -9.6 1.4 9.8 13c 833 1713 -19050.0 946.0 1800.0 19158.0 0.9 -9.6 1.6 9.8 14a 613 1933 -19979.0 943.0 2680.0 20180.0 0.5 -16.0 1.5 16.3 14b 613 1933 -19175.0 1422.0 2515.0 19391.0 -1.6 -13.6 -0.6 13.9 14c 613 1933 -19642.0 1413.0 3091.0 19934.0 0.2 -15.4 2.9 15.9 15a 2130 1690 -29902.0 1298.8 259.9 29931.0 -0.4 3.1 -0.9 3.2 65 66 15b 2130 1690 -31197.0 1391.7 5519.8 31712.0 1.1 3.8 0.7 15c 2130 1690 -27787.0 879.0 4470.0 28158.0 0.4 1.5 -2.5 4.0 3.1 16a 2350 1470 -27237.0 1263.0 5337.0 28126.0 -0.1 5.1 0.4 5.3 16b 2350 1470 -26800.0 953.0 -1593.0 26864.0 1.5 7.6 2.0 8.3 16c 2350 1470 -29299.0 839.0 -2106.0 29386.0 -0.3 6.6 -1.0 7.0 17a 2570 1250 -25117.0 1481.0 2331.0 25268.0 0.3 9.9 -0.2 10.2 17b 2570 1250 -25750.0 1237.0 1110.0 25804.0 0.5 7.8 -0.4 7.9 17c 2570 1250 -28063.0 775.0 -3400.0 28279.0 -0.3 10.0 0.0 10.1 Appendix D – Analysis Sheet 7th/8th May 6.4 Auswertung Messungen 7./8. Mai 2008 Versuch Sollgeschwindigkeit Sollspin Drehzahlen steady-state Links [m/s] [rps] Minimaldrehzahlen Rechts [rpm] Links [m/s] [rpm] [m/s] Werte aufgrund Drehzahlen LS-speed Rechts [rpm] [m/s] [rpm] [m/s] Speed Spin [m/s] [rps] [m/s] 1a 16.8 0.0 145.0 2.3 74.0 1.2 139.0 2.2 69.0 1.1 1.6 1.6 16.1 1b 16.8 0.0 1101.0 17.3 1095.0 17.2 1056.0 16.6 1054.0 16.6 16.6 0.0 15.6 1c 16.8 0.0 1102.0 17.3 1097.0 17.2 1057.0 16.6 1055.0 16.6 16.6 0.0 16.5 2a 18.0 0.0 1174.0 18.4 1170.0 18.4 1130.0 17.7 1128.0 17.7 17.7 0.0 17.5 2b 18.0 0.0 1171.0 18.4 1166.0 18.3 1127.0 17.7 1124.0 17.7 17.7 0.1 17.5 3a 25.0 0.0 1617.0 25.4 1610.0 25.3 1572.0 24.7 1567.0 24.6 24.7 0.1 25.5 3b 25.0 0.0 1617.0 25.4 1609.0 25.3 0.0 0.0 0.0 0.0 0.0 0.0 23.3 3c 25.0 0.0 1612.0 25.3 1910.0 30.0 1567.0 24.6 1564.0 24.6 24.6 0.1 25.5 3d 25.0 0.0 1617.0 25.4 1609.0 25.3 1572.0 24.7 1564.0 24.6 24.6 0.2 23.3 16.1 4a 16.8 8.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 4b 16.8 8.0 1446.0 22.7 737.0 11.6 1399.0 22.0 698.0 11.0 16.5 15.9 16.5 5a 18.0 4.0 1343.0 21.1 985.0 15.5 1297.0 20.4 943.0 14.8 17.6 8.0 17.5 5b 18.0 4.0 1345.0 21.1 987.0 15.5 1299.0 20.4 945.0 14.8 17.6 8.0 17.5 5c 18.0 4.0 1343.0 21.1 985.0 15.5 1294.0 20.3 943.0 14.8 17.6 8.0 17.5 23.3 6a 25.0 8.0 1259.0 19.8 1962.0 30.8 1218.0 19.1 1917.0 30.1 24.6 15.9 6b 25.0 8.0 1259.0 19.8 1965.0 30.9 1217.0 19.1 1919.0 30.1 24.6 16.0 25.5 6c 25.0 8.0 1267.0 19.9 1956.0 30.7 1223.0 19.2 1909.0 30.0 24.6 15.6 23.3 7a 16.8 8.0 742.0 11.7 1437.0 22.6 698.0 11.0 1388.0 21.8 16.4 15.7 15.6 7b 16.8 8.0 743.0 11.7 1441.0 22.6 702.0 11.0 1394.0 21.9 16.5 15.7 16.5 7c 16.8 8.0 743.0 11.7 1443.0 22.7 703.0 11.0 1395.0 21.9 16.5 15.7 16.5 8a 18.0 4.0 996.0 15.6 1338.0 21.0 950.0 14.9 1293.0 20.3 17.6 7.8 16.5 8b 18.0 4.0 994.0 15.6 1343.0 21.1 950.0 14.9 1298.0 20.4 17.7 7.9 17.5 8c 18.0 4.0 990.0 15.6 1339.0 21.0 947.0 14.9 1294.0 20.3 17.6 7.9 17.5 9a 25.0 8.0 1262.0 19.8 1962.0 30.8 1220.0 19.2 1913.0 30.0 24.6 15.8 25.5 9b 25.0 8.0 1262.0 19.8 1958.0 30.8 1220.0 19.2 1909.0 30.0 24.6 15.7 23.3 9c 25.0 8.0 1262.0 19.8 1959.0 30.8 1220.0 19.2 1912.0 30.0 24.6 15.7 25.5 14.7 10a 15.4 8.0 651.0 10.2 1345.0 21.1 613.0 9.6 1301.0 20.4 15.0 15.6 10b 15.4 8.0 653.0 10.3 1355.0 21.3 612.0 9.6 1307.0 20.5 15.1 15.8 14.7 10c 15.4 8.0 652.0 10.2 1352.0 21.2 612.0 9.6 1302.0 20.5 15.0 15.7 14.7 Auswertung Messungen 7./8. Mai 2008 Versuch vx vy vz |v| omegax omegay omegaz |omega| 1a -9949.3 1138.3 575.8 10031.0 0.0 -0.1 0.5 0.5 1b -9814.9 860.0 226.0 9855.0 0.1 -0.4 0.3 0.5 1c -8905.3 647.5 -935.5 8977.7 0.0 0.0 1.1 1.1 1d -8933.4 960.8 96.8 8985.4 0.1 -0.1 1.9 1.9 1e -9573.5 1174.4 519.7 9659.2 0.2 -0.1 0.5 0.5 2b -14975.0 946.6 87.9 15005.0 0.3 0.0 0.5 0.6 2c -13861.0 740.1 -195.5 13882.0 0.3 0.1 1.0 1.1 2d -13784.0 827.5 173.2 13810.0 0.4 0.3 0.8 0.9 2e -14957.0 898.6 33.8 14984.0 -0.2 -0.1 1.1 1.1 2f -15294.0 913.1 1133.7 15363.0 0.4 0.0 0.3 0.5 67 3a -20424.0 1071.2 281.3 20454.0 0.0 -0.5 1.3 1.4 3b -18886.0 1051.2 966.6 18940.0 -0.3 -0.3 0.9 1.0 3c -18983.0 1024.9 1237.9 19051.0 -0.3 0.1 1.1 1.1 4a -25626.0 1284.7 1776.2 25719.0 -0.1 -0.2 1.9 1.9 4b -23042.0 616.5 -2684.3 23206.0 0.1 -0.2 1.2 1.2 4c -25497.0 1052.7 1490.5 25562.0 0.1 0.2 1.5 1.6 5a -27997.0 1383.0 2604.7 28152.0 -0.4 1.3 0.2 1.4 5b -27621.0 995.5 -2253.0 27730.0 -0.3 0.5 0.2 0.6 5c -27174.0 427.8 -2596.1 27301.0 0.5 0.7 0.7 1.1 6a 6b 6c 68 689.0 9313.0 -0.5 5.3 0.2 5.4 -10200.0 849.0 -1343.0 10323.0 -9233.6 1002.0 0.5 4.3 1.6 4.8 -0.1 4.9 1.9 5.3 -9827.0 1183.0 978.0 10146.0 7a -9631.0 1078.0 1251.0 9772.0 0.6 9.4 0.1 9.7 7b -8584.0 252.0 -10083.0 8587.7 0.8 10.8 -0.1 11.0 7c -9043.0 907.0 -4508.0 10145.0 -0.1 10.0 -0.4 10.2 8a -10035.0 427.0 -4364.0 10951.0 1.8 13.0 -1.1 13.3 8b -9486.0 847.0 -1486.0 9639.0 0.6 14.5 0.3 14.7 15.4 8c -8562.0 1457.0 4538.0 9799.0 0.8 16.4 0.8 9a -20392.0 1205.0 1448.0 20479.0 -0.8 3.7 1.2 4.1 9b -19143.0 817.0 -89.0 19161.0 0.4 4.6 0.6 4.6 9c -19074.0 1124.0 -229.0 19108.0 -0.1 4.7 0.8 4.9 10a -17647.0 769.0 -5101.0 18386.0 -0.3 10.7 3.2 11.1 10b -20232.0 493.0 -3218.0 20492.0 1.2 8.7 1.3 9.1 10c -19965.0 921.0 1002.0 20011.0 1.3 8.9 3.0 9.5 11a -18445.0 1010.0 -3739.0 18847.0 -1.1 14.6 1.8 15.0 11c -18924.0 769.0 -3035.0 19181.0 0.1 16.4 -0.9 16.4 11d -19848.0 609.0 668.0 19868.0 0.1 14.7 0.2 15.1 12a -19883.0 1383.0 1023.0 19957.0 -0.1 -5.2 1.0 5.3 12b -19370.0 1202.0 1767.0 19488.0 0.1 -5.1 1.5 5.5 12c -19379.0 1090.0 -1714.0 19485.0 -0.6 -5.2 1.0 5.3 13a -19642.0 804.0 805.0 19674.0 -0.1 -10.6 1.2 10.7 13b -19705.0 803.0 1634.0 19789.0 -0.3 -9.6 1.4 9.8 13c -19050.0 946.0 1800.0 19158.0 0.9 -9.6 1.6 9.8 14a -19979.0 943.0 2680.0 20180.0 0.5 -16.0 1.5 16.3 14b -19175.0 1422.0 2515.0 19391.0 -1.6 -13.6 -0.6 13.9 14c -19642.0 1413.0 3091.0 19934.0 0.2 -15.4 2.9 15.9 15a -29902.0 1298.8 259.9 29931.0 -0.4 3.1 -0.9 3.2 15b -31197.0 1391.7 5519.8 31712.0 1.1 3.8 0.7 4.0 15c -27787.0 879.0 4470.0 28158.0 0.4 1.5 -2.5 3.1 16a -27237.0 1263.0 5337.0 28126.0 -0.1 5.1 0.4 5.3 16b -26800.0 953.0 -1593.0 26864.0 1.5 7.6 2.0 8.3 16c -29299.0 839.0 -2106.0 29386.0 -0.3 6.6 -1.0 7.0 17a -25117.0 1481.0 2331.0 25268.0 0.3 9.9 -0.2 10.2 17b -25750.0 1237.0 1110.0 25804.0 0.5 7.8 -0.4 7.9 17c -28063.0 775.0 -3400.0 28279.0 -0.3 10.0 0.0 10.1 6.5 Appendix E – Analysis Sheet 23rd May (Optimized Measurements) Specifications Settings Trial Engine Speeds (actual) Nr. letter Speed [m/s] Spin [rps] Engine Speeds (corrected) Speed left [rpm] Angles Speed right [rpm] Speed left [rpm] Speed right [rpm] θ φ Distance Ball Pressu ψ y x 1.0 a 15.0 0.0 954.9 954.9 994.1 994.1 20.0 0.0 0.0 D 1.0 b 15.0 0.0 954.9 954.9 994.1 994.1 20.0 0.0 0.0 D 2.0 a 18.0 0.0 1145.9 1145.9 1182.5 1182.5 12.0 0.0 0.0 15.0 12.7 D 2.0 b 18.0 0.0 1145.9 1145.9 1182.5 1182.5 12.0 0.0 0.0 14.9 13.2 D 3.0 a 32.0 0.0 2037.2 2037.2 2248.5 2248.5 12.0 0.0 0.0 D 3.0 b 32.0 0.0 2037.2 2037.2 2248.5 2248.5 12.0 0.0 0.0 D 4.0 a 10.0 10.0 1076.6 196.6 1108.1 254.5 12.0 0.0 0.0 3.3 13.2 D 4.0 b 10.0 10.0 1076.6 196.6 1108.1 254.5 12.0 0.0 0.0 4.7 13.4 D 5.0 a 10.0 14.0 1252.6 20.6 1272.2 90.4 12.0 0.0 0.0 4.7 13.4 D 5.0 b 10.0 14.0 1252.6 20.6 1272.2 90.4 12.0 0.0 0.0 4.8 13.3 D 6.0 a 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 D 6.0 b 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 D 7.0 a 20.0 12.0 1801.2 745.2 1814.7 798.2 12.0 0.0 0.0 14.8 15.2 D 7.0 b 20.0 12.0 1801.2 745.2 1814.7 798.2 12.0 0.0 0.0 14.5 15.3 D 8.0 a 25.0 -8.0 1239.5 1943.5 1302.6 1937.1 12.0 0.0 0.0 21.3 9.5 D 8.0 b 25.0 -8.0 1239.5 1943.5 1302.6 1937.1 12.0 0.0 0.0 21.7 9.5 D 9.0 a 30.0 8.0 2261.9 1557.9 2359.3 1669.8 12.0 0.0 0.0 D 9.0 b 30.0 8.0 2261.9 1557.9 2359.3 1669.8 12.0 0.0 0.0 D 10.0 a 30.0 15.0 2569.9 1249.9 2647.9 1381.2 12.0 0.0 0.0 D 10.0 b 30.0 15.0 2569.9 1249.9 2647.9 1381.2 12.0 0.0 0.0 D a 17.0 6.0 1346.3 818.3 1381.2 858.7 15.0 0.0 90.0 D sim1 b 17.0 6.0 1346.3 818.3 1381.2 858.7 15.0 0.0 90.0 D sim2 a 17.0 -6.0 818.3 1346.3 858.7 1381.2 15.0 0.0 -90.0 D sim2 b 17.0 -6.0 818.3 1346.3 871.5 1368.4 15.0 0.0 -90.0 D sim3 a 19.0 5.0 1429.6 989.6 1463.3 1026.0 15.0 0.0 45.0 D sim3 b 19.0 5.0 1429.6 989.6 1463.3 1026.0 15.0 0.0 45.0 D sim4 a 15.0 0.0 954.9 954.9 994.1 994.1 20.0 0.0 0.0 sim4 b 15.0 0.0 954.9 954.9 994.1 994.1 20.0 0.0 0.0 ball1 a 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 ball1 b 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 A ball2 a 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 18.7 15.5 B ball2 b 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 18.8 15.5 B ball3 a 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 18.7 15.6 C ball3 b 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 18.6 15.5 C ball4 a 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 18.7 15.5 D ball4 b 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 18.9 15.5 D press1 a 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 18.3 15.5 A press1 b 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 18.6 15.5 A press2 a 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 18.2 15.5 A press2 b 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 18.3 15.4 A press3 a 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 18.5 15.5 A press3 b 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 18.2 15.3 A sim1 A press4 a 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 18.7 15.7 A press4 b 18.0 5.0 1365.9 925.9 1401.1 963.8 20.0 0.0 0.0 18.3 15.3 A 69 kg/cm^ Specifications Measurements Trial vx Nr. 70 letter speed spin vy m/s vz m/s norm(v) m/s omegax omegay omegaz m/s 1.0 a 15.6 0.0 -13.9 -4.3 -4.2 15.2 -0.2 0.4 0.5 1.0 b 15.6 0.0 -13.7 -4.5 -1.9 14.5 0.1 -0.2 0.3 2.0 a 18.6 0.0 -18.3 -3.5 -1.4 18.6 0.2 -0.9 0.0 2.0 b 18.6 0.0 -18.0 -3.6 -0.8 18.4 0.3 -0.4 -0.1 3.0 a 35.3 0.0 -32.8 -7.0 -3.3 33.7 0.4 -1.8 -0.1 3.0 b 35.3 0.0 -32.9 -7.2 -0.7 33.7 0.5 -2.5 -0.6 4.0 a 10.7 9.7 -11.1 -1.5 -1.5 11.3 -3.0 8.1 1.8 4.0 b 10.7 9.7 -9.9 -1.6 4.9 11.2 -2.3 8.7 2.2 5.0 a 10.7 13.4 -8.8 -1.3 -9.4 8.9 -1.6 12.4 0.7 5.0 b 10.7 13.4 -11.1 -2.9 16.2 11.5 -2.8 16.2 0.7 6.0 a 18.6 5.0 0.0 6.0 b 18.6 5.0 0.0 7.0 a 20.5 11.6 -21.3 -4.4 0.2 21.8 -2.1 9.3 2.1 7.0 b 20.5 11.6 -19.0 -3.8 -1.3 19.4 -2.4 11.3 0.9 8.0 a 25.4 -7.2 -24.4 -5.4 -2.1 25.1 2.3 -7.2 0.3 8.0 b 25.4 -7.2 -24.7 -5.0 4.3 25.6 1.1 -7.9 -1.9 9.0 a 31.6 7.8 -31.8 -7.2 -0.9 32.7 -1.6 6.5 1.4 1.5 9.0 b 31.6 7.8 -29.4 -6.1 0.2 30.0 -1.8 4.4 10.0 a 31.6 14.4 -27.5 -5.9 -0.2 28.1 -1.3 8.5 1.7 10.0 b 31.6 14.4 -28.3 -5.4 -5.1 29.2 -2.5 12.4 0.0 -5.1 sim1 a 17.6 5.9 -16.2 -3.7 -1.5 16.7 0.5 0.4 sim1 b 17.6 5.9 -17.1 -4.4 0.4 17.7 0.7 0.4 -5.9 sim2 a 17.6 -5.9 -17.2 -4.5 -0.1 17.8 0.9 -0.2 -5.4 sim2 b 17.6 -5.6 -15.8 -4.3 -1.3 16.4 0.9 -0.4 -5.4 sim3 a 19.6 5.0 -18.8 -4.4 -2.4 19.4 -1.0 4.2 -2.5 sim3 b 19.6 5.0 -18.4 -4.4 -2.8 19.1 0.1 3.8 -2.6 ball1 a 18.6 5.0 -17.1 -5.8 -3.7 18.4 -2.3 4.2 1.2 ball1 b 18.6 5.0 -16.6 -6.0 0.2 17.7 -1.6 4.7 1.2 ball2 a 18.6 5.0 -17.7 -5.3 -7.1 19.9 -2.7 4.7 0.5 ball2 b 18.6 5.0 -17.9 -6.2 -1.9 19.1 -1.8 3.4 0.8 ball3 a 18.6 5.0 -16.8 -5.0 -3.1 17.8 -2.6 4.4 1.8 ball3 b 18.6 5.0 -17.0 -5.7 -2.3 18.1 -2.2 4.8 0.7 ball4 a 18.6 5.0 -17.7 -5.8 -2.3 18.7 -2.7 4.1 0.6 2.3 ball4 b 18.6 5.0 -16.2 -5.2 -1.4 17.1 -2.4 4.7 press1 a 18.6 5.0 -16.8 -5.3 -3.8 18.0 -3.6 3.9 0.1 press1 b 18.6 5.0 -17.0 -5.3 -2.5 18.0 -1.1 4.0 1.1 press2 a 18.6 5.0 -16.3 -5.5 -0.3 17.2 -2.7 5.4 0.8 press2 b 18.6 5.0 -16.0 -5.1 -6.5 18.0 -2.6 5.6 0.5 press3 a 18.6 5.0 -17.4 -6.2 0.8 18.5 -2.4 5.3 1.0 press3 b 18.6 5.0 -16.2 -5.2 0.0 17.0 -2.3 4.8 1.7 press4 a 18.6 5.0 -17.2 -5.6 -2.2 18.2 -1.9 4.7 0.7 press4 b 18.6 5.0 -16.1 -4.9 -3.7 17.2 -2.5 5.3 0.7