Protokoll vom 29

advertisement
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
Download