• No results found

Eindhoven University of Technology MASTER Towards a more reproducible shot with the Tech United soccer robots Kengen, C.M.

N/A
N/A
Protected

Academic year: 2022

Share "Eindhoven University of Technology MASTER Towards a more reproducible shot with the Tech United soccer robots Kengen, C.M."

Copied!
17
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

MASTER

Towards a more reproducible shot with the Tech United soccer robots

Kengen, C.M.

Award date:

2018

Link to publication

Disclaimer

This document contains a student thesis (bachelor's or master's), as authored by a student at Eindhoven University of Technology. Student theses are made available in the TU/e repository upon obtaining the required degree. The grade received is not published on the document as presented in the repository. The required complexity or quality of research of student theses may vary by program, and the required minimum study period may vary in duration.

General rights

Copyright and moral rights for the publications made accessible in the public portal are retained by the authors and/or other copyright owners and it is a condition of accessing publications that users recognise and abide by the legal requirements associated with these rights.

• Users may download and print one copy of any publication from the public portal for the purpose of private study or research.

• You may not further distribute the material or use it for any profit-making activity or commercial gain

(2)

E

INDHOVEN

, T

HE

N

ETHERLANDS

D

EPARTMENT OF

M

ECHANICAL

E

NGINEERING

T OWARDS A MORE R EPRODUCIBLE S HOT WITH THE T ECH U NITED S OCCER R OBOTS

C.M. K ENGEN

0817880 CST 2018.097

D

ECEMBER

2018

(3)
(4)

Towards a more Reproducible Shot with the Tech United Soccer Robots

C.M. Kengen, Y.G.M. Douven and M.J.G. van de Molengraft Department of Mechanical Engineering

Eindhoven University of Technology Eindhoven, The Netherlands

Abstract—In this paper the variation between lobs shots of the Tech United soccer robots is thoroughly investigated. First the amount of variation of the ball is expressed in its initial state (starting velocity and angle of the shot). The variation in the initial ball state is measured and quantified. To indicate the cause of this variation, also the variation in different components of the shooting mechanism in the robot is correlated to the variation of the ball on the field. From these measurements it can be concluded that most of the variation is caused by the shooting lever not returning to exactly the same starting position before each shot. In order to eliminate this variation between shots, a mechanism is designed to retract the shooting lever to the same position before each shot. To account for variations in the shooting mechanism (e.g. lubrication) over longer time, the possibility to use a depth camera on the robots to calibrate the shooting parameters online is investigated.

I. INTRODUCTION

T

ech United is a multidisciplinary team from the Control Systems Technology group of the TU/e focussing on the development of robotics and mechatronics. This team develops a robotic soccer team to compete in the RoboCup Middle Sized League (MSL) each year. RoboCup MSL is a robotic soccer tournament where two teams of five autonomous robots play a soccer match. The intention of RoboCup is to promote robotics and artificial intelligence (AI) research, by offering this challenge. The ultimate goal is to win a soccer game, complying with the offcial rules of FIFA, against the winner of the most recent World Cup by the middle of the 21st century [1]. Tech United developed six robots called TURTLEs (Tech United RoboCup Team Limited Edition) which can drive around in all directions, grab the ball using a ball handling system and shoot the ball using a shooting mechanism. Using cameras the TURTLEs are able to position themselves, others and the ball on the field. They play fully autonomous by communicating with each other over a wireless network [2].

During matches it has been observed that the variation in the lob shots of the robots is too large, causing a lot of shots at goal to miss. Before each game every robot is calibrated in order to increase the chance to hit a specific target [3]. However, this calibration cannot compensate for any variations. This means that even with a good calibration the robots show a lot of variation between the lob shots, resulting in a low shooting performance. In addition, the calibration of the shooting mechanism is done for one specific

point, and extrapolated over the rest of the input space of the robot. This makes the current way of calibration very quick, but not accurate for all kinds of lob shots. Therefore, also research was done to reach a target in 3D space, by using a model based approach to calculate the desired robot inputs to hit any target within the robot’s reachable space [4]. Since this also is a static model, variations between the lob shots are still observed. Hence, this paper will focus on reducing the variation between the lob shots of the robots.

To identify the biggest cause of variation, the variation in different components of the robot will be correlated to the variation of the ball on the field. A hardware solution will be posed to decrease the amount of variation between shots. In addition, research is done towards the use of a depth Kinect camera mounted on the robot to online calibrate the shooting parameters.

When the ball is shot, it moves along a trajectory in x-, y- and z-direction (labeled red in Figure 1). The variation in the x-direction (perpendicular to the robots orientation) is greatly influenced by the accuracy of the orientation of the robot itself and not by the shooting mechanism. Hence, reducing variation in this direction also implies investigating variation in the orientation of the robot. To limit this paper to only the shooting mechanism, only variation in the ZY-plane is investigated.

Section II explains the general working principle of the shooting mechanism. Section III describes two models of the ball in flight, to quantify variation in the trajectory of the ball. In Section IV the variation in the shooting mechanism is measured and correlated to the variation of the ball’s trajectory. Section V poses a hardware solution to eliminate the biggest cause of variation between the lob shots. The requirements, design and tested prototype are treated in this section. Subsequently, the remaining variation of the ball on the field is visualized. In Section VII the Kinect analysis is discussed. In Section VIII conclusions and recommendations for future work are given.

II. GENERALWORKINGPRINCIPLE

The robot is equipped with a shooting lever to be able to kick balls. In order to have the ability to alter the shooting angle, the lever can move up and down. In Figure 1 this is

(5)

visualized by angle A, which is called the lever height. When the lever angle is determined based on the desired shooting angle, a solenoid pushes the lever forwards in order to kick the ball. The lever rotates around angle B, which is the called the lever angle. The coil in the solenoid is powered by discharging a high-voltage capacitor, generating a force acting on the plunger of the solenoid. Using an IGBT circuit the amount of power transferred to the solenoid can be regulated using a PWM-signal. Figure 1 also shows the initial state (v0, α0) of the ball, and the coordinate system used.

z

y

α

0

v

0 B A

x

Figure 1: Schematic view of the shooting mechanism showing all the relevant components. Also the definitions and used coordinate system are showed. The angle A controls the lever height, and angle B is the lever angle.

In order to shoot at a desired target, the inverse of the ball’s flight dynamics is used to determine the desired angle αdesand vdes to hit the target, which is called the initial ball state. When the desired initial ball state is known, it has to be converted to actual robot inputs: the duty cycle of the solenoid and the lever height setting. This means that the inverse of the robot shooting dynamics should be mapped, to determine which robot inputs result in which initial ball state. Then, this robot input-output mapping can be used to determine the right robot inputs.

αdes

vdes

Inverse Robot Dynamics

Ball Interaction

α0 v0

Flight Dynamics Target ( )

K

Height Solenoid

Lever Inverse

Flight Dynamics

Target ( )

L

Shooting Mechanism

Figure 2: Schematic representation how to shoot at a target using the TURTLE. The red dotted box indicates the shooting mechanism of the robot. K is the duty cycle and L the lever height setting.

A model-based shooting model was previously created in [4], covered by the blue colored boxes in Figure 2. The inverse flight dynamics, as well as the inverse robot dynamics were modelled accurately enough to hit a specific target in 3D space. Also when this model was used to shoot at targets, variation was observed between the shots. Since the

model determines statically the desired inputs for the robot, it cannot introduce any variation. The indoor air is assumed as a steady state medium, meaning that effects such as wind are regarded negligible. Therefore, the flight dynamics are considered constant, causing no variations between the shots.

This means that the variation between the shots is caused by variations in the shooting mechanism or the interaction between the robot and the ball, which is labelled red in Figure 2. Hence, the cause of variation is investigated for the elements marked in the red box.

III. BALLFLIGHTMODEL ANDINITIALSTATE

ESTIMATION

To analyse the variation between the shots, a camera setup is created to record the trajectory of the ball, as can be seen in Appendix A. Since the indoor air effect such as wind are assumed negligible, the variations in the trajectory of the ball are already present at the moment of shooting. Hence, the initial ball states v0 and α0 are used to express the variation.

From the measured trajectories, the initial ball state is obtained by solving a least-squares problem, which minimizes the error between the measured coordinates and a model that describes the dynamics of the ball in flight. Previous research assumed aerodynamic forces on the ball to have a negligible effect on the ball’s trajectory [3], [4], [5]. When the effects of air resistance are neglected, the equations of motion become:

y z



=

 v0cos(α0)t v0sin(α0)t −12gt2



(1) These dynamics can also be described without a time dependency. In this case the position of the ball in the z- direction becomes a function of the distance y, which is convenient for fitting purposes later on.

z(v0, α0, y) = tan(α0)y −1 2g

 y

v0cos(α0)

2 (2) with α0, v0 the initial ball state, and g the gravitational constant. When the aerodynamic effects are neglected, the ball’s flight dynamics become very simple. This makes the inverse flight dynamics easy to solve, which is convenient to calculate the desired initial ball state when a target is known.

This model can also be used to determine the initial ball state, from trajectory data using Equation 3.

vmin00

||f1(v0, α0)||22 (3) with f1(v0, α0) the difference between the measured ball position and the ball position described in Equation 2. How- ever, wind-tunnel test data shows that there is a significant drag constant for balls travelling around 10 m/s [6]. Hence, air resistance may be of significant influence, when the vari- ation in the initial ball state of the ball is calculated from the trajectory. This might result in an unreliable parameter estimation. Therefore, also a model is created that includes the air resistance. Since the drag- and gravitational force are the major forces acting on the ball [7], these forces are included in the model. The equations of motion can be derived using Newton’s second law of motion, resulting in:

(6)

 ¨y

¨ z



=

"

2m1 ρCdAb(p

˙

y2+ ˙z2coszy˙˙)2

2m1 ρCdAb(p

˙

y2+ ˙z2sinzy˙˙)2− g

#

, (4)

where Cd is the drag constant, obtained by wind-tunnel testing [6]. Abis the ball’s cross-sectional area, m the mass of the ball, g the gravitational constant and ρ the air density. The specific values can be found in Appendix F. The quadratic drag-force is a function of both the velocity in the y- and z-direction. This makes this problem a non-linear coupled differential equation, which is not analytically solvable [8].

Therefore, this model is solved numerically using the ODE45- solver in MATLAB. To estimate the initial ball state using this model, an optimization algorithm is created that minimizes the error between the measurements and the simulated trajectory.

This algorithm minimizes the error in the y-direction and z- direction for each time stamp of the measured data, as given in Equation 5. It is assumed that jitter effects in the camera’s sampling rate do not influence the initial state estimation significantly.

f2=

N

X

i=1

[(yi,d− yi,s)2+ (zi,d− zi,s)2] (5) with yi,dand zi,dthe measured data points from the camera in y- and z-direction. yi,sand zi,sare the simulated data points at time step i for y- and z-direction respectively. N denotes the amount of data points. Figure 3 shows the difference between the both models. In this simulation the shooting velocity is set at a maximum of 12 m/s and a shooting angle of 45 degrees.

Figure 3: Dynamic simulation showing the differences in ball trajectory when air resistance is considered. The red line corresponds to a simulation with air resistance, the blue line to a simulation without air resistance. The black dashed line is the model without drag fitted to the simulation with drag.

Inputs: v0= 12 m/s, α0= 45 degrees.

As can be seen from Figure 3 is that in the worst case the difference in impact position differs up to 2.64 meters, which equals to 22% of the total range of twelve meters. This leads to the conclusion that the drag force does have a significant influence on the trajectory of the ball. When both models are used to estimate the initial ball state from the simulation with air resistance, different initial parameters are estimated.

When the simulation is fitted without air resistance, according to Equation 3, the initial state is estimated at 10.93 m/s and 47.50 degrees. When the simulation is fitted with the air resistance model, the initial state is estimated to 12.00 m/s

and 45.00 degrees, which is correct according to Figure 3.

When the models are used to fit measured trajectory data, the differences between the fits correspond to the simulation.

Appendix B shows both models fitted to measured trajectory data. To correlate the variation in the initial ball state to variation in the robot, an accurate estimation of the initial ball state is needed. Hence, the model with air resistance is used to estimate the initial state from measured trajectory data of the ball.

This also means that the model created in [4] to hit a target could be improved, by including drag force. However, this is beyond the scope of this paper, since the lack of air resistance in the model will not cause any variation between shots.

IV. VARIATIONANALYSIS

To lower the amount of variation between the lob shots, the causes of variation are investigated within the shooting mechanism. Figure 1 and 4 show how the different components of the shooting mechanism together realise the initial ball state.

The quantities that were measured in this paper are colored blue in Figure 4. Sets of ten shots were done with the same

Capacitor Force Actuator

Plunger

Velocity Lever Angle / Velocity Lever

Height

Lever-Ball Interaction

Initial Ball State

Figure 4: Diagram showing how different components of the shooting mechanism interact with each other to give the ball the initial ball state. Blue boxes are measured quantities.

input settings on the robot. For these shots the initial ball state is determined. On the robot the lever angle/velocity, lever height and the capacitor voltage were measured, as can be seen in Figure 4. It is investigated if correlations can be found between the measured variation in the initial ball state and variations on the robot itself. The variation of the ball’s impact location is visualized in Figure 5.

Figure 5: The ball’s impact positions on the field at 50% duty cycle for ten shots. The variation of the ball on the field can be seen clearly.

This variation in ball position is also expressed in the initial ball state in Figure 6 and shows the variation between the shots. When assumed that a Gaussian distribution approxi- mates the variation between the shots sufficiently, the standard deviation can be used as a measure for variation. The standard deviation equals 0.32 m/s for the initial velocity and 1.06 degrees for the initial angle. This is the amount of variation that needs to be lowered as much as possible.

(7)

Figure 6: Estimated initial ball velocity and angle. The dotted lines are added to visually distinguish the different types of dots better. Model with air resistance used to determine the states.

A. Capacitor Voltage

From previous research reports, the capacitor voltage was thought to be the main cause of variation [4], [9]. It was concluded that the discharge voltage over the capacitor is not always consistent, making the lever velocity to vary with it.

Hence, the voltage over the capacitor is internally measured to test this hypothesis.

Figure 7: Capacitor discharge voltage at 50 % duty cycle. Left figure shows the complete discharge, the right figure only the end of the discharge.

Figure 7 shows that the voltage over the capacitor does show some small variation, but also when the capacitor is fully charged. Also when the signal was smoothed with a low-pass filter, no significant voltage differences were visible between the shots. Since previous reports do not mention sensor noise, it might be the case that it was not taken into account when the variation was measured. The variation of the ball on the field as shown in Figure 5 and 6 cannot be correlated to the voltage of the capacitor and therefore the conclusion is drawn that the variation in the shots is caused elsewhere.

B. Lever Height

The lever height is adjustable to control the angle at which the ball is shot. Before the shot is taken, the robot moves its lever to the required height. When the measured height is settled within set bounds, the capacitor will be discharged over the solenoid to take the shot. For all ten shots the measured height is plotted in Figure 8.

Figure 8: The height movement of the lever prior to a shot on TURTLE 6, ten shots measured at (L=0.6). Left Figure is the complete movement, the right Figure is zoomed in at the moment of shooting. Red dotted line: lever setpoint.

As can be seen, little overshoot can be observed caused by the feedback controller. This overshoot corresponds to 0.97%

of the full lever height range. At 120 ms the shot is taken, where the lever height error is even smaller. When the shot is taken the measured L is equal to 0.597 instead of 0.6. These measurements also show that the lever height is very consistent over the ten shots.

The same experiment has been done for other lever height settings, which showed similar results. To verify if there are large differences in dynamical behaviour between the robots, the behaviour was also measured on other robots. This showed that there are some differences in dynamical response of the lever height system. This is mostly visible in the amount of overshoot and static error between the robots. However, all robots showed consistent behaviour between shots, and therefore the conclusion can be drawn that the lever height does not cause the large amount of variation between shots.

C. Lever Angle

When looking at the lever angle in Figure 9a, it shows that there is a large amount of variation in initial lever angle. This means that the initial lever angle can cause the lever to have a different velocity when hitting the ball. When this variation was compared with the travelled distance of the balls, there was a clear correlation. The balls that travelled the shortest distance, had a initial lever position not at the lowest position.

This leads to assume that the initial lever angle affects the initial velocity of the ball, and therefore the final position of the ball on the field. To verify this hypothesis, a new set of experiments was performed where the lever was manually pushed backwards before each shot, to make sure the actuator uses its full stroke. Figure 9b shows the lever angle when the lever is pushed backwards before each shot.

(8)

(a) Lever angle, variation is visi- ble between shots.

(b) Lever angle when the lever is pushed back before each shot.

Figure 9: Variation in lever angle, for the current situation, and when the lever is pushed backwards manually.

As can be seen from Figure 9b, the position of the lever shows very little variation when it is pushed backwards before each shot. This means that the same amount of energy can be put in the lever, resulting in a more consistent initial ball velocity. Figure 10 shows that the amount of variation of the ball on the field has decreased accordingly.

Figure 10: The ball’s impact positions on the field at 50% duty cycle. Comparison between normal shooting (top), and shoot- ing when te lever is pushed backwards manually (bottom).

Figure 11: Estimated initial ball velocity and angle. The dotted lines are added to visually distinguish the different types of dots better. Blue: old variation, red: variation when the lever is pushed back manually.

The corresponding initial balls state when the lever is pushed backwards is shown in Figure 11. The decrease in variation can be seen immediately. The standard deviation equals 0.08 m/s and 0.49 degrees. The actuator is designed to fall back due to gravity, since it is mounted on a angle of 11 degrees, as visualized in Figure 1. However, due to friction in the system the actuator not always falls back to the same position. In addition, under heavy braking actions of the robot, the lever moves forward. This causes a lot of variation in the shooting accuracy of the robot and needs to be solved to reduce the amount of variation. Although the variation can be drastically decreased by making sure the lever falls completely back, there is still some variation of the ball on the field, as can be seen in Figure 10 and 11.

D. Lever Velocity

Although the capacitor did show a consistent discharge, it might be the case that the solenoid does not always transfer this electric energy to mechanical energy exactly the same.

This can cause the force on the plunger to vary, resulting in a difference in lever velocity. Therefore, the lever velocity was measured, to verify if this causes the remaining variation in the initial ball state. To measure if there is any variation in the velocity of the lever, an angular encoder was mounted on the lever and sampled externally to reach a higher sampling rate than on the robot.

Since the variation between the shots is already decreased by pushing the lever backwards, a high-speed camera is used to record the ball’s trajectory just after it has been shot, to get an extra estimate for the remaining variation in the initial ball state. The coordinates of the ball in the high speed camera images were tracked manually. From this set of coordinates the initial velocity was obtained by a using Richardson extrapolation of the form [10]:

f0(t0) '−3f (t0) + 4f (t1) − f (t2)

2∆t . (6)

This forward-difference expression for the first derivative of the fitted function has a lower error then numerical differentiation of the position coordinates of the ball. Again, for ten different shots the estimated initial ball state is shown in Figure 12. For all shots the lever was manually pushed backwards, to eliminate the most variation. Figure 12 shows that there are differences between the model and the high-speed camera in offset. The differences between the model and the high-speed camera images can be explained by the fact that in both methods pixels have to be converted to a real distance. This conversion has a limited accuracy for both methods. Especially when using the high-speed camera images, one pixel error in the conversion ratio can cause a visible offset in velocity. However, the variation pattern shows some agreements between the two measurement methods.

In order to get an accurate encoder measurement, a model was fitted to the data up to the moment were the lever hits the ball. When assumed that the lever acceleration is linear

(9)

Figure 12: Estimated initial ball velocity and angle. The dotted lines are added to visually distinguish the different types of dots better. Red: Air resistance model, Green: High Speed Camera.

until the moment of impact [11], the velocity of the lever can be described with a second order polynomial. This second order polynomial is fitted from the moment of shooting until the moment of ball impact. At this moment the ball starts decelerating. This fit allows to estimate the lever velocity at the moment of impact at a higher accuracy compared to numerically differentiated encoder data.

Figure 13: Estimated lever velocity at the moment of ball impact. Estimated using a second order polynomial fit from moment of shooting until the moment of impact.

Figure 13 shows the amount of variation in the lever veloc- ity. When comparing this variation profile with the variation in Figure 12, no clear correlation can be seen. As well in the initial velocity as the initial angle of the ball there are differences between the variation profile. This can lead to two hypotheses. The first hypothesis is that the variation in lever velocity does not correlate directly to a change in initial ball state. The second hypothesis is that the encoder velocity

measurement and the initial ball state estimation might not be accurate enough to distinguish the variation between the shots, which is in contradiction to the first hypothesis. In the latter case, that means that the lever velocity should be measured with a more accurate encoder, or with a totally different instrument. In this paper, this has not been investigated further.

E. Lever-ball Interaction

Since no clear correlation was found between the remaining variation in initial ball state and measured quantities inside the robot, the variation of the ball may not be caused by the robot itself. Because the ball is not a perfect sphere, with a homogeneous stiffness, the ball itself can cause this variation.

When the lever has a different impact location on the ball each time, this can lead to variation in the shot. To test this hypothesis the ball was placed in the same way in the robot’s ball handling system; with the valve pointing up, and the logo towards the camera.

Figure 14: Comparison between a random ball placement (top) and placing the ball identically in the ball handling system (bottom).

As can be seen from Figure 14, there is no clear difference in variation between hitting the ball at the same point, or at random. The standard deviation equals 0.06 m/s and 0.49 degrees, which is close to the situation where the ball was placed at random. This leads to the conclusion that the difference in ball stiffness at different points on the ball does not cause the variation in the shooting.

F. Variation Conclusion

From Figure 10 it is directly visible that the initial lever position has a direct effect on the variation of the shots. When the lever is pulled backwards manually before each shot, the variation decreases from a standard deviation of 0.32 m/s to 0.08 m/s and from 1.06 degrees to 0.49 degrees, which is significant. This variation is measured at one specific shooting setting. Analysis of the remaining variation in the shots did not give a direct connection to a component in the robot itself.

Since the lever height, and capacitor voltage show consistent behaviour, it is concluded that variations inside the robot are individually too small to measure accurately to correlate to the variation in the shots. The hypothesis is that all these very small variations in the shooting mechanism add up to result in variation in the initial ball state. To analyse the cause of the remaining variation, other sensors might need to be used that can give much higher resolutions. Even if these sensors allow to quantify every bit of variation in the robot, the conclusion might be that a redesign of the shooting mechanism is necessary if further reduction of the variation is desired.

(10)

V. LEVERRETRACTINGMECHANISM

Section IV-C showed that due to friction in the system, the lever does not always return to the same initial position.

It was also observed that the plunger moves forward under heavy braking or rotation actions of the robot. The plunger is supported by two linear sliding bearings which allow it to translate through the actuator with little friction. When the actuator was disassembled, the bearings showed a lot of wear; the Teflon R coating was partially worn out. Since these bearings were over five years old, they were replaced.

The new bearings showed a better sliding performance, but also showed some wear after a few weeks of use, which deteriorated the performance slightly. The high forces and velocities that are generated inside the actuator do cause the bearings to wear over time. Therefore, a look was taken to use other types of bearings to support the plunger in the actuator. However, the working principle of a reluctance-type solenoid gives no room for better bearing options.

This means that over time the friction of the linear bearings might increase, resulting in the plunger not to fall back only by gravity. Therefore, a mechanism was designed to make sure that the plunger falls backwards after each shot, even with a higher friction in the system. Design requirements for this mechanism are:

1) Enough force to push the plunger backwards. Since the gravitational force is not always sufficient to pull back the lever, an extra force needs to be added to overcome the friction of the plunger in the actuator.

2) Holding the lever at its initial position. In some situ- ations when the robot needs to brake hard, or during a fast rotation, the lever moves forward away from the initial position. To eliminate this behaviour, the plunger needs to be held at its initial position during driving.

3) No decrease in shooting power. When shooting at goal, it is important to shoot as fast is possible to give the goalkeeper as little time as possible to catch the ball.

As a measure, the shooting distance is not allowed to decrease more than 10%.

The most intuitive way to meet the first two requirements is to implement a spring around the back of the plunger, pressing it continuously backwards. One downside is that the spring is only allowed to deflect elastically, to prevent it from breaking. Implementation of such a spring on the system is therefore not straightforward. In addition, a spring always pushes the plunger backwards, also during a shot.

This implies that there is a decelerating force acting on the plunger during the complete stroke, at the expense of the velocity of the plunger.

From the high-speed camera images and the encoder on the lever it is visible that the ball leaves the shooting pin before the plunger hits its end stop. This means that there is a region near the end of the stroke that can be used to generate a force to push the plunger backwards, without

affecting the shot itself. From Figure 9b it is visible that after impact the lever starts accelerating again. At this point the ball has left the tip of the lever, which enables the lever to accelerate again. From comparing the measured lever angle to this point, it follows that the ball leaves the lever when the plunger has travelled 81% of the complete stroke. This means that there is 19% of the stroke left which can be used to have a force pushing the plunger backwards, without affecting the shooting power.

Therefore, a set of repelling magnets were implemented to generate a force backwards at the end of the plunger’s stroke.

When the plunger has moved fully forward, these magnets give it some momentum backwards to slide back to the initial position. The benefit of magnets over springs is that this design incorporates no moving parts that could break due to repetitive load.

F

mag

F

mag

Figure 15: Schematic representation of the implemented re- traction mechanism. At the back of the plunger and actuator a set of repelling passive magnets acting as a spring to push the plunger backwards is visible. At the front two passive magnets are visible to hold the plunger at its initial position once it moved completely backwards. Passive magnets are visualized by the crossed boxes.

The repelling magnets push the plunger backwards after each shot, but they cannot guarantee that the plunger falls back completely. Therefore, two extra magnets were added at the other side of the actuator to pull the plunger to its starting position and to hold it there. These magnets also have to ensure that the lever stays at its initial position under braking actions of the robot. Since the solenoid has to push through this magnetic force to take a shot, these magnets can have influence on the shooting power of the robot. If the latter is the case, the passive magnets could be replaced by an electromagnet that can be switched off when a shot is taken. Through iterative testing with different sorts of magnet configurations, a final configuration was obtained that caused the lever to fall back into the right position each time. Figure 15 shows a schematic representation of the designed mechanism. See Appendix C for more details on the implemented mechanism.

To meet the second requirement to hold the lever backwards, the force created by deceleration of the robot has to be fully

(11)

compensated. Since the actuator is mounted with a slight angle θ, the gravitational force helps to keep the plunger at its position. The required force can be calculated using the following equation:

mpg sin(θ) + Fmag  mprcos(θ). (7) Since all the variables to solve this equation are known, the minimum required force the magnet has to generate can be calculated and results in a force of 0.92 N. To verify if this requirement is met, the magnetic force is measured as a function of the actuator stroke. Figure 16 shows how both magnet configurations at both the front and the back of the actuator generate a force to push the plunger backwards. As can be seen, a force of 22,6 N is needed to push through the magnets that hold the plunger at its initial position. This means that the plunger will not move forwards under heavy braking of the robot, even when extra vibrational disturbance forces are considered. The experimental setup to obtain this diagram is showed in Appendix E.

Figure 16: Force diagram showing the retraction force gener- ated by the implemented magnets as function of the actuator’s stroke. The blue line indicates the point where the ball leaves the lever. After this point, the repelling force starts acting on the plunger.

To test the third requirement an experiment was conducted to test if shooting power is lost because of these passive magnets. This was done by shooting five times at 100 percent duty cycle and maximum shooting angle with and without the retraction mechanism. The distance of the shots are measured for both situations.

Table I: Shooting distance comparison with and without lever retraction mechanism. Duty cycle 100, leverheight 1.

Shot [-] Without Mechanism [m] With Mechanism [m]

1 10.9 10.9

2 10.9 11.1

3 11 11.2

4 11.1 11

5 11 11.2

Mean 10.98 11.08

Table I shows that the measured distance is very close to each other for both situations. The average distance is even higher with the implemented mechanism. The expectation is that the averages will converge to each other when more shots are used to take an average over. Even shooting at a duty cycle of 20% did not show a decrease in shooting distance.

VI. REMAININGVARIATION ATTARGETS

As discussed, still some variation can be observed between the lob shots. The remaining variation is expressed in the ball’s initial state. More interesting is the variation of the ball at its target. However, this is fully depending on where the target to shoot at is located. In addition, most targets can be hit with multiple kind of lob shots. This implies that there is a setting where the variation at the robot has the lowest effect on the variation at the target; the lowest sensitivity. For the model with air resistance, the sensitivity function cannot be determined analytically. Therefore, the sensitivity analysis was done by simulation. The variation at the target is expressed as a standard deviation in the z-direction (height) at a specific y- direction (distance). The total variation of the ball at its target is given as the sum of the variation in the initial ball velocity and angle multiplied by the corresponding sensitivity.

σz= q

Sv20σv20+ Sα20σa20+ 2Sv0Sα0cov(α0, v0), (8) with σ the standard deviations in the initial ball state. Sv0 and Sα0denote the sensitivity of the target height to both the initial ball velocity and angle respectively and cov(α0, v0) denotes the covariance between the two input variables. The local sensitivity functions for both parameters can be calculated according to

Sv0 = ∂z

∂v0, Sα0 = ∂z

∂α0. (9)

A set of possible shots to hit a target are visualized in Figure 17. The target was set just under the crossbar of the goal, at a distance of five meters. The target is defined as a box of 2x4 cm, to eliminate discretization errors. The amount of shots that hit the target is depending on the step sizes of the input. Using the sensitivity analysis, the shot with the lowest standard deviation at the target is colored blue. When a standard deviation of 0.08 m/s for the initial velocity and 0.49 degrees for the initial angle is considered, the standard deviation at the targets z-position equals 0.04 m.

The sensitivity analysis shows that shooting close to the the maximum velocity results in the lowest error at the target.

Figure 17: A set of trajectories going trough a defined target.

The blue line corresponds to the shot with the lowest sensitivity to variation. α0= 22 degrees, v0= 11.5 m/s.

When the standard deviation in the initial ball state is assumed to be constant over the input space of the robot, the variation of the ball over the complete robots reachable space is visualized in Figure 18. The figure shows the variation over the reachable space of the robot, when the standard deviation

(12)

deviation of the initial ball state is used. For every target evaluated in Figure 18 the initial state with the lowest variation at the target is calculated. As can be seen, the deviation at the target increases with the distance of the target. The standard deviation in z-direction ranges from 0.01 m to 0.10 m. According to this analysis, this means that 68% of the shots hit the target within 20 centimeter in z-direction, at a distance of ten meters.

Figure 18: Standard deviation at targets in the reachable space of the robot. Simulation done with σv0 = 0.08 m/s, σα0 = 0.49, cov(α0, v0) = −0.0013.

VII. KINECTMAPPINGCALIBRATION

Over longer periods of time (weeks, months), the robot map- ping as mentioned in Section II changes due to small changes in the shooting mechanism. Lubrication of the mechanism slowly deteriorates over time, and also the performance of the the linear bearings in the actuator decreases as discussed in Section V. This mapping could be recalibrated using the experimental setup shown in Appendix A. As discussed in Section III, the side camera can be used to estimate the initial state of the ball. When shooting at multiple settings, the whole input space of the TURLTE’s shooting mechanism can be mapped. However, this camera setup takes in a lot of space. In addition, it takes some time to position the camera accurately.

Hence, it is not efficient to calibrate each robot before a match.

Therefore, the use of a depth camera mounted on the robot is investigated to calibrate the shooting parameters automatically.

A. Initial Ball State Estimation

An algorithm implemented on the robot to recognize balls through the Kinect camera was used to track the trajectory of the ball. This is explained in more detail in Appendix D. Figure 19 shows the Kinect ball detections compared to detections done by the side camera. For different shooting settings the Kinect detections showed a good agreement with the side camera detections. From these measurements the initial ball state is estimated online, according to Equation 3.

By shooting at different settings, a static mapping between the robot inputs and the initial ball state is created, as can be seen in Figure 20. The data points were fitted by two second- order polynomials for each direction:

z(a, K, L) = a0+ a1K + a2L + a3K2+ a4KL + a5L2, (10)

Figure 19: The trajectory of the ball as function of the distance. Black dots: side camera detections, red dots: Kinect detections, blue line: model without drag, red line: model with drag.

Figure 20: Mapping between the robot initial ball state v0, and the duty cycle setpoint K and lever height setpoint L.

Fitted with a second order polynomial in both directions. Data obtained through the Kinect depth camera. Everything except the surface fitting was done online on the robot.

where z denotes the output of the mapping, with the duty cycle setpoint K and lever height setpoint L as input. The use of a second-order polynomial in two directions to map the surface was proved to be sufficient in previous research, where the correlation between robot inputs and initial ball state was investigated [5]. Since every point in de dataset was created by one shot only, it also includes any variation that is still present between the shots, with a standard deviation of 0.08 m/s and 0.49 degrees as discussed in Section IV-F. In addition, also any inaccuracies caused by the Kinect initial state estimation are included in this map. It is assumed that these variations in individual points will be averaged out by the polynomial. This section only shows the mapping between the initial ball state and the duty cycle K. The same kind of mapping is created for the lever height L. To calculate the desired robot inputs for a specific initial ball state, the inverse of these mappings need to be taken.

(13)

B. Towards Kinect Feedback Learning

When a static mapping between initial ball state and robot inputs will be used, it is not possible to account for variations in the shooting mechanism (e.g. lubrication) over time auto- matically. It is shown that the Kinect depth camera is able to measure the ball’s trajectory, and to create the mapping between robot in- and outputs. This mapping could be updated after each shot the robot takes. This will save calibration time, and can also improve the shooting performance during a match. Figure 21 shows schematically the learning framework.

α

des

v

des

Inverse Interaction Mapping

K L

Ball Interaction

α

real

v

real

Flight Dynamics Kinect Ball

Tracking

y,z α

est

v

est

Update Algorithm using Extended Kalman Filter

Figure 21: Feedback scheme showing how the inverse inter- action mapping could be tuned by using the Kinect camera mounted on the robot to act as a feedback sensor.

The feedback loop as presented in Figure 21 should adjust the inverse interaction mapping after each shot, so that over time the realised ball state approaches the desired ball state.

Since the shots have some variation in initial ball state, this variation has to be taken into account when updating the mapping. Using an extended Kalman filter (EKF), the polynomial coefficients can be recursively updated after each shot while taking the variation in the measured initial ball state into account [12]. To estimate the polynomial coefficients of Equation 10, the state vector of the EKF becomes:

x =a0 a1 a2 a3 a4 a5>

, u =K L



(11) with a0−5 the coefficients of the polynomial and K and L the inputs of the polynomial. Since the inputs to the model are the robot setpoints, no noise is present in these variables.

The model of Equation 10 can be written in terms of the EKF states and input

h(xk, uk) = z(a, K, L). (12) The Kalman filter estimates the output according to the model, as function of the input and the previous estimated states.

The difference between the estimated output and the measured output with the Kinect is used to determine the innovation term

˜

yk= zk− h(ˆxk|k−1, uk) (13) with zkthe Kinect initial state measurement and h(ˆxk|k−1, uk) the predicted measurement. The new state is calculated using the previous state and the innovation term:

ˆ

xk|k= ˆxk|k−1+ Kkk (14) with Kk the Kalman gain which is calculated using a predicted covariance estimation that contains the estimated measurement noise R and model noise Q. The variation σ measured in the initial ball state, with the lever retraction mechanism, is used as an estimate for the observation covariance σ2 = R. It is assumed that the shooting mechanism does not change drastically in short time, hence the process noise Q is chosen in the order of 1e−10 to only allow very small changes over time. The Kalman gain determines the influence of new measurements on the state estimation.

The data of the mapping in Figure 20 is used to verify the EKF algorithm. As initial state estimate, the mapping with an added offset of 1 m/s is used. The mean absolute difference between the mapping estimate and the original mapping is used as a measure of convergence. Figure 22 shows that the difference between the two mappings decreases as more shots are taken. The convergence is depending on the order wThe Kalman estimation was done offline, meaning the feedback- loop as presented in Figure 21 was not closed.

Figure 22: Difference in v0 estimation between the Kalman filter and the polynomial least squares when an offset is given to the initial mapping.

The results in Figure 22 show the capability of the use of an extended Kalman filter to recursively fit the shooting mapping.

However, the added offset might not be a representative change in shooting mapping. The changes in the shooting mapping over time, and between robots, need to be measured or estimated in order to choose the right P and Q values. The initial values for these parameters need to be chosen correctly in order to get a desired filter response. Therefore, further research is needed to fully implement the updating EKF. In addition, the feedback loop needs to be closed to verify the performance of the total learning framework.

(14)

VIII. CONCLUSION ANDRECOMMENDATIONS

In this paper the cause of variation in the lob shots of the Tech United soccer robots is investigated. It can be concluded that most of the variation is caused by the shooting lever not returning to exactly the same starting position before each shot. Measurements on the capacitor voltage, lever height and lever velocity did not show a correlation to the remaining variation of the initial ball state. In order to eliminate the biggest amount of variation between shots, a mechanism is designed to retract the shooting lever to the same position before each shot. This mechanism uses passive magnets to push the lever back to its original starting position without affecting the shooting performance of the robot. The standard deviation between the lob shots was decreased from 0.32 m/s to 0.08 m/s for the initial velocity and from 1.06 degrees to 0.49 degrees for the initial angle. This is the amount of variation when shooting at one specific setting. It is assumed that the variation is of the same order of magnitude at other settings. In addition, an onboard Kinect depth camera was used to adapt to changes in the shooting mechanism over longer time. This camera is used to map the inverse robot dynamics, by taking shots over the full input space of the robot. The use of an extended Kalman filter to update the mapping after each shot showed promising results.

Since the variation has been lowered, it is recommended to fully implement models to shoot at targets in 3D, as explained in Section II. Currently the inverse flight dynamics do not include air resistance. Since the influence is shown to be significant, the addition of air resistance in the inverse flight dynamics of the ball is recommended. Since there is no analytical solution for this model, this is not straightforward to implement and therefore needs further research. The online calibration with the Kinect depth camera still needs research and work to fully implement it on the robots. Especially updating the mapping after each shot comes with a lot of challenges. The initial states for the extended Kalman filter need to be correctly chosen, to be able to calibrate the shooting mapping after short, but also long periods of time. To do this, the changes in mapping between robots, and over longer time need to be investigated in order to choose the right inputs for the Kalman filter.

REFERENCES

[1] “Robocup Federation.” http://robocup.org/objective. [Online; accessed 03-Nov-2018].

[2] “Tech United Eindhoven.” http://techunited.nl/nl/voetbalrobots. [Online;

accessed 28-Oct-2018].

[3] A. D. Bock, “Designing and implementing a skill for shooting at 3D targets for Tech United Eindhoven soccer robots,” tech. rep., 2015.

[4] J. Senden and Y. Douven, “A Model-Based Approach in Reaching a 3D Target with a Soccer Ball , Impacted by a Soccer Robot,” pp. 1–16, 2016.

[5] F. Botden, A. Pogromskiy, R. van de Molengraft, and M. Steinbuch,

“Design and implementation of a lob pass skill for autonomous soccer robots,” no. March, 2015.

[6] T. Asai, K. Seo, O. Kobayashi, and R. Sakashita, “Fundamental aerody- namics of the soccer ball,” Sports Engineering, vol. 10, no. 2, pp. 101–

109, 2007.

[7] J. E. Goff and M. J. Carr´e, “Soccer ball lift coefficients via trajectory analysis,” European Journal of Physics, vol. 31, no. 4, pp. 775–784, 2010.

[8] J. Benacka, “Solution to projectile motion with quadratic drag and graphing the trajectory in spreadsheets,” International Journal of Math- ematical Education in Science and Technology, vol. 41, no. 3, pp. 373–

378, 2010.

[9] S. Lousberg, M. Molengraft, Van de, and J. Senden, “Analyzing and improving the reproducibility of shots taken by a soccer robot,” 2017.

[10] J. E. Goff and M. J. Carr´e, “Trajectory analysis of a soccer ball,”

American Journal of Physics, vol. 77, no. 11, pp. 1020–1027, 2009.

[11] K. J. Meessen, J. J. H. Paulides, and E. A. Lomonova, “A football kicking high speed actuator for a mobile robotic application,” IECON Proceedings (Industrial Electronics Conference), pp. 1659–1664, 2010.

[12] Y. Douven, “Surface Fitting using an Extended Kalman Filter,” 2018.

[13] Jean-Yves Bouguet, “Caltech Camera Calibration Toolbox,” 2015.

APPENDIXA CAMERASETUP

In order to do the initial ball state estimation as discussed in Section III, a camera setup was created using two cameras.

One camera recording the whole trajectory of the ball at a rate of 50 frames per second, and one camera to record the first meter of the trajectory at 240 frames per second. Both cameras have a resolution of 1920x1080 pixels. Both cameras have been optically calibrated to remove lens distortions from the image [13]. Figure 23 shows how the different cameras record the ball’s trajectory from the moment of shooting until the moment of impact. For both cameras it is very important

12.09 [m]

y x

9.70 [m]

2

1

Figure 23: Top-view of the camera setup used to determine the initial ball state. Camera 1 recording at 1080x1920 at 50Hz.

Camera 2 recording at 1080x1920 at 240Hz.

that they are perfectly aligned. This means that horizontally the cameras should be levelled in x- and y-direction. It is also important that both cameras are perpendicular to y-direction.

For camera 1 a Nikon D3300 with an AF-S DX 18-55 VR II kit-lens set at 18 mm was used. To eliminate any motion blur from the image, the shutter speed was set at 1/640 seconds. For camera 2 an iPhone X was used, using the 51 mm telephoto lens. For this camera the shutter speed was set at 1/1000 seconds to eliminate any motion blur. To maintain exposure on the high-speed images, the scene was lit with two industrial lights.

(15)

Figure 24: Typical view from the high-speed camera, super- imposed image resampled to 40 fps.

APPENDIXB FIT MODEL COMPARISON

The trajectory of the ball recorded using the side camera.

The trajectory is fitted with both the model without air resistance, and the model with air resistance. The differences between the fits correspond to the simulation shown in Section III.

0 1 2 3 4 5 6 7 8 9 10

0 0.5 1 1.5 2 2.5

Figure 25: Trajectory data (red) fitted with drag model (blue) and without drag model (black dashed).

APPENDIXC

IMPLEMENTEDRETRACTIONMECHANISM

The lever retraction mechanism as shown in Figure 15 was implemented in a circular manner around the plunger.

In Figure 26 the two in-house build magnet parts are showed.

These two magnet parts are located at the back of the plunger and actuator, in order to push the plunger backwards after each shot. The magnets at the other side of the solenoid, that pull the plunger to its initial position are shown in Figure 27.

Figure 26: Machined magnet rings for the lever retraction mechanism.

Figure 27: Passive magnets that pull the plunger to its initial starting position and hold it there while driving.

APPENDIXD KINECTBALLTRACKING

An algorithm implemented on the robot to recognize balls through the Kinect camera was used to track the trajectory of the ball. This algorithm uses both the color image and the depth image provided by the Kinect camera to detect balls. The color image is used to determine the height of the ball, while the depth image is used to measure de distance between the camera and the ball. The potential balls that are found in both images are merged together to obtain the real ball’s location.

To verify if this algorithm is capable to accurately detect balls, first a static measurement was done. The ball was placed at known distances on the field, in y- and z-direction. This showed a static offset in measurements of about 0.1 meters in both y- and z-direction, not correlated with the distance from the camera. This is assumably the radius of the ball.

This shows that with a static compensation, the Kinect is able to detect balls up to a distance of eight meters.

Figure 28: Kinect ball detection with statically placed balls.

An offset of about 0.1 meter is visible in both directions. Black crosses: the real location of the ball, red dots: measured ball position with the Kinect.

More interesting is how well the camera is able to detect moving balls. Especially at higher velocities, it may be the case that motion blur causes the algorithm to fail in detecting balls. To verify this, balls were shot at different settings and recorded using the Kinect and the side-camera to obtain a ground truth to compare the Kinect images with. When the static offset from the Kinect is compensated, distance and height as function of time show a good agreement with

(16)

the ground truth of the side camera. However, when the height is plotted as function of distance, the difference is much larger. This leads to assume that the color and depth image of the Kinect detection are not perfectly synchronized.

When the height detection is delayed with one sample with respect to the distance detection, the image shows much better agreement with the side camera.

Figure 29: the distance of the ball as function of time for the side camera (black), Kinect detections (red) and both the model with and without drag (blue and brown respectively).

Figure 30: The height of the ball as function of time.

Also, the Kinect algorithm does detect some falls positives.

To filter these out, a region of interest is defined. Since the desired shooting velocity and angle are known for each shot, bounds can be created to filter out detected balls outside these bounds. For these bounds, Equation 1 is used where a variation in angle δα0 and a velocity δv0 was added. This creates an upper- and lower bound on both the y- and z-axis.

This also means that the algorithm needs an initial guess for v0 and α0 to create the bounds. Figure 19, 29 and 30 show the detections by the Kinect, the side-camera and also the fitted data to the Kinect images. As can be seen, the estimated trajectory closely matches the images captured by the side-camera. To retrieve the initial ball state, the measured data has to be fitted in order to estimate the initial angle and velocity. This is done the same way as discussed in Section III. Since the implementation is significantly easier without the drag model, the parameter estimation was done using the model without drag. After each shot, the robot determines if the estimated parameters are reliable based on the amount of balls that were detected within the specified bounds.

APPENDIXE

FORCEMEASUREMENTSETUP

As discussed in Section V, the generated force by the retraction mechanism was measured along the stroke of the solenoid. This was done by measuring the required force to push the plunger forwards using a force sensor. For this experiment was done horizontally, to eliminate gravitational forces as much as possible. The position was measured with an optical laser distance sensor. An AST KAP-S 50N force sensor was used. The displacement was measured using a Baumer OADM 12U6460/S35A optical distance sensor.

Force Sensor

Optical Distance Sensor

Figure 31: Schematic representation of the force/stroke mea- surement.

APPENDIXF PARAMETERS

Property Symbol Value Unit

Ball mass m 0.420 kg

Air density ρ 1.2 kg/m3

Ball frontal area A 0.0375 m2 Drag coefficient Cd 0.45 -

Plunger mass mp 0.690 kg

Solenoid tilt angle θ 11 degrees

(17)

Referenties

GERELATEERDE DOCUMENTEN

In this subsection, I argue that these companies’ network effects and these companies’ ben- efits for society contribute to monopolistic tendencies, and show that the

De simulaties zoals die in hoofdstuk 4 met FORCEPS zijn uitgevoerd, kunnen worden gebruikt voor onderzoek aan modelvorming voor machine en regeling. Ook voor demonstratie-

De gebruikersmarkt mag dan wel de meeste invloed uitoefenen op de vraag naar kantoren en daarmee de aantrekkelijkheid van kantoorlocaties, dit betekent niet dat de kijk van

Also, please be aware: blue really means that ”it is worth more points”, and not that ”it is more difficult”..

Let C be the restriction of the two dimensional Lebesgue σ-algebra on X, and µ the normalized (two dimensional) Lebesgue measure on X... (a) Show that T is measure preserving

BSVMM cannot be covered by existing convergence results, and in order to understand its convergence, it is necessary to exploit the special structure of the problem; thirdly, BSVMM

(2008) argue that given that the Swedish central bank has closely followed the ECB’s monetary policy, Sweden’s macroeconomic performace would probably have been quite similar to

De intenties van de studenten en hun gedrag in de les zoals voorgaand beschreven, lijken samen te hangen met het wel of niet zichtbaar zijn van de kenmerken van een