3d ball positioning - tech united

30
3D Ball Positioning Wouter Kuijpers Eindhoven University of Technology Universidade de Aveiro [email protected] Supervision: dr. ir. Ren´ e van de Molengraft (TU/e) Prof. Ant´onio Neves (UA) December 22, 2015 Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 1 / 19

Upload: others

Post on 03-Jan-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 3D Ball Positioning - Tech United

3D Ball Positioning

Wouter Kuijpers

Eindhoven University of TechnologyUniversidade de Aveiro

[email protected]

Supervision:dr. ir. Rene van de Molengraft (TU/e)

Prof. Antonio Neves (UA)

December 22, 2015

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 1 / 19

Page 2: 3D Ball Positioning - Tech United

Part 1: Personal Introduction

Wouter Kuijpers

23 years old, home in Someren(near Eindhoven)

Hobby’s: Running, DJ’ing,Slacklining

EducationBachelor Mechatronics EngineeringMaster Systems & Control, 2nd year

Internship with CAMBADA

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 2 / 19

Page 3: 3D Ball Positioning - Tech United

Content

Part 1: 3D Ball Positioning

Part 2: Challenges

Part 3: Triangulation Algorithm

Part 4: Results

Part 5: Conclusions & Recommendations

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 3 / 19

Page 4: 3D Ball Positioning - Tech United

3D Ball Positioning

Target: develop 3D position detection for the ball, which can be appliedin the Middle Size League (MSL)

Several solutions/methods to this have been presented, for exampleadding a

perspective camera,kinect camera,

to the robot, or by using the bijection principle applied to projectionmodel.

An interesting solution/method might also be found with cooperativesensing:

Research and Verify whether cooperative sensing can be used for real-time3D ball positioning using triangulation of omni-vision camera data.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 4 / 19

Page 5: 3D Ball Positioning - Tech United

3D Ball Positioning

Target: develop 3D position detection for the ball, which can be appliedin the Middle Size League (MSL)

Several solutions/methods to this have been presented, for exampleadding a

perspective camera,kinect camera,

to the robot, or by using the bijection principle applied to projectionmodel.

An interesting solution/method might also be found with cooperativesensing:

Research and Verify whether cooperative sensing can be used for real-time3D ball positioning using triangulation of omni-vision camera data.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 4 / 19

Page 6: 3D Ball Positioning - Tech United

3D Ball Positioning

Target: develop 3D position detection for the ball, which can be appliedin the Middle Size League (MSL)

Several solutions/methods to this have been presented, for exampleadding a

perspective camera,kinect camera,

to the robot, or by using the bijection principle applied to projectionmodel.

An interesting solution/method might also be found with cooperativesensing:

Research and Verify whether cooperative sensing can be used for real-time3D ball positioning using triangulation of omni-vision camera data.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 4 / 19

Page 7: 3D Ball Positioning - Tech United

Triangulation of Omni-Vision Camera Data

Applications:

reliable ball position projection on field: Pball

height of the ball zball , enables interception strategy (lob pass)

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 5 / 19

Page 8: 3D Ball Positioning - Tech United

Challenges

1 Challenge 1: Lines of Sight (LoS) might not cross due to noise inmeasurement.

Possible Solution: do not calculate intersection but minimumdistance between LoS’s. Check!

2 Challenge 2: communication delay in robot-robot communication.

Possible Solution: apply extrapolation to omni-vision data from otherrobots. Communication Delay + Noise → large inaccuracies.

3 Challenge 3: limited amount of data from other robots.

(a) Challenge 1 (b) Challenge 2 (c) Challenge 3

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 6 / 19

Page 9: 3D Ball Positioning - Tech United

MATLAB Simulation Environment

15

10

y [m]

5

00

-5

0.5

z [

m]

x [m]

0

1

5-510

15

Additions:

Multiple (> 2) Robots

variable Communication Delay, Clock Offset and Package Loss

Hybrid Automaton ball model

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 7 / 19

Page 10: 3D Ball Positioning - Tech United

Triangulation Algorithm

Triangulation Algorithm

Current Time: tn

Solution 2: triangulation willbe performed on past data,which is stored in a databuffer.

Solution 3: combine LoSwith predicted position ofKalman filter.

Algorithm consists of 4 mainmodules.

Ball

Robot 3

Robot 2

Robot 1

Triangulation+

Kalman filter

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 8 / 19

Page 11: 3D Ball Positioning - Tech United

Data Buffer

Data buffer: retrieving, storing and selecting triangulation data.

perRobotCounter

perTimeCounter

Data Robot

x valid?

x++

putOmniData

No

Yes

x=0

x >

MaxNrofRobots

MCLK

data

updateMasterClock

No

dataSelection

#0

#1

DB_get

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 9 / 19

Page 12: 3D Ball Positioning - Tech United

Kalman filter

Kalman filter: filtering, by combining the (non-chronological)measurements with the Hybrid Automaton ball model.

Kalman Filter Time

Legend

#1

#4

Timestamp

runModel(foward)

runModel(backward)

++ --

#B

updateState

#2

#3No

Yes

Yes No

predictionState

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 10 / 19

Page 13: 3D Ball Positioning - Tech United

Minimum-Distance Algorithms & Model Update

Minimum-distance algorithms: combining triangulation data into 3Dpositions.

(d) Minimum-distance between lines(pairwise).

Model update: updating the 3D position to the current time.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 11 / 19

Page 14: 3D Ball Positioning - Tech United

Minimum-Distance Algorithms & Model Update

Minimum-distance algorithms: combining triangulation data into 3Dpositions.

(e) Minimum-distance between line andpoint.

Model update: updating the 3D position to the current time.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 11 / 19

Page 15: 3D Ball Positioning - Tech United

Results

Static Test

Static test is used to:

validate the implementation of the algorithmqualify the performance of the algorithm

The next sheet presents the algorithm applied to:

2 robots with the algorithm running5 different ball positions; (x , y)2 different ball heights; z = 0.11 m ∨ 0.42 m200 measurements (for each robot) are analysed (mean and standarddeviation)

Aside from accuracy of the position itself, asses difference betweenrobots.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 12 / 19

Page 16: 3D Ball Positioning - Tech United

Results

Static Test

Static test is used to:

validate the implementation of the algorithmqualify the performance of the algorithm

The next sheet presents the algorithm applied to:

2 robots with the algorithm running5 different ball positions; (x , y)2 different ball heights; z = 0.11 m ∨ 0.42 m200 measurements (for each robot) are analysed (mean and standarddeviation)

Aside from accuracy of the position itself, asses difference betweenrobots.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 12 / 19

Page 17: 3D Ball Positioning - Tech United

Results

Static Test

Static test is used to:

validate the implementation of the algorithmqualify the performance of the algorithm

The next sheet presents the algorithm applied to:

2 robots with the algorithm running5 different ball positions; (x , y)2 different ball heights; z = 0.11 m ∨ 0.42 m200 measurements (for each robot) are analysed (mean and standarddeviation)

Aside from accuracy of the position itself, asses difference betweenrobots.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 12 / 19

Page 18: 3D Ball Positioning - Tech United

Results - Static Test

-6

-4

-2

0

2

4

6

x[m

]

0 2 4 6 8

y[m]

Height = 0.11[m]

-6

-4

-2

0

2

4

6

x[m

]

0 2 4 6 8

y[m]

Height = 0.42[m]

Overall: µ = 10.6 cm, σ = 0.86 cm.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 13 / 19

Page 19: 3D Ball Positioning - Tech United

Dynamic Test

Dynamic Test

Dynamic test is used to:

quantify the performance of the algorithmqualify whether the algorithm can be used in the MSL

Unfortunately, no ground truth system could be used in the tests.Therefore resort to analytical analysis.

Target: track the ball during a kick from a soccer robot.

Possible to obtain an accurate estimate of ball state before it leavesthe observable space?

What would the robot-robot communication need to be to facilitatethis.Target: 6 samples per peer robot. Requires: RTDB frequency→ 40 Hz .

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 14 / 19

Page 20: 3D Ball Positioning - Tech United

Results - Dynamic Test

0.1

0.2

-0.6

0.3

0.4

z [

m]

0.5

-0.8

0.6

2.8

0.7

-1

x [m] y [m]

3-1.2-1.4

3.2-1.6

3 (not calibrated) robots, showing only the 2 without seriousdeviations in calibration.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 15 / 19

Page 21: 3D Ball Positioning - Tech United

Results - Dynamic Test

0.1

0.2

-0.6

0.3

0.4

z [

m]

0.5

-0.8

0.6

2.8

0.7

-1

x [m] y [m]

3-1.2-1.4

3.2-1.6

Ball state is found to be heavily affected by measurement noise,requires Kalman filter tuning.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 15 / 19

Page 22: 3D Ball Positioning - Tech United

Results - Demonstration

Demonstration!

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 16 / 19

Page 23: 3D Ball Positioning - Tech United

Conclusion

The Assignment:

Research and Verify whether cooperative sensing can be used for real-time3D ball positioning using triangulation of omni-vision camera data.

A Trajectory Generator has been expanded, this has been used toimprove an existing approach.

The new approach yields good results in simulation.

The Triangulation Algorithm has been implemented on the robots.

The algorithms yields an accuracy of about 10.6 cm.

Tracking a Kick right from the start still requires work (tuning)!

triangulation will probably output a more accurate result than theprojection at that time.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 17 / 19

Page 24: 3D Ball Positioning - Tech United

Conclusion

The Assignment:

Research and Verify whether cooperative sensing can be used for real-time3D ball positioning using triangulation of omni-vision camera data.

A Trajectory Generator has been expanded, this has been used toimprove an existing approach.

The new approach yields good results in simulation.

The Triangulation Algorithm has been implemented on the robots.

The algorithms yields an accuracy of about 10.6 cm.

Tracking a Kick right from the start still requires work (tuning)!

triangulation will probably output a more accurate result than theprojection at that time.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 17 / 19

Page 25: 3D Ball Positioning - Tech United

Conclusion

The Assignment:

Research and Verify whether cooperative sensing can be used for real-time3D ball positioning using triangulation of omni-vision camera data.

A Trajectory Generator has been expanded, this has been used toimprove an existing approach.

The new approach yields good results in simulation.

The Triangulation Algorithm has been implemented on the robots.

The algorithms yields an accuracy of about 10.6 cm.

Tracking a Kick right from the start still requires work (tuning)!

triangulation will probably output a more accurate result than theprojection at that time.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 17 / 19

Page 26: 3D Ball Positioning - Tech United

Recommendation

Kalman

Time

Time ti+5 is selected for triangulation, current implementation:

Kalman

Time

Recommendation: Use the pre-calculated predicted state at ti+5, fortriangulation. Requires buffer of predicted states.

This however discards the updated state estimate at ti+7.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 18 / 19

Page 27: 3D Ball Positioning - Tech United

Recommendation

Kalman

Time

Time ti+5 is selected for triangulation, current implementation:

Kalman

Time

Recommendation: Use the pre-calculated predicted state at ti+5, fortriangulation. Requires buffer of predicted states.

This however discards the updated state estimate at ti+7.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 18 / 19

Page 28: 3D Ball Positioning - Tech United

Recommendation

Kalman

Time

Time ti+5 is selected for triangulation, current implementation:

Kalman

Time

Recommendation: Use the pre-calculated predicted state at ti+5, fortriangulation. Requires buffer of predicted states.

This however discards the updated state estimate at ti+7.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 18 / 19

Page 29: 3D Ball Positioning - Tech United

Recommendation

Kalman

Time

Time ti+5 is selected for triangulation, current implementation:

Kalman

Time

Recommendation: Use the pre-calculated predicted state at ti+5, fortriangulation. Requires buffer of predicted states.

This however discards the updated state estimate at ti+7.

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 18 / 19

Page 30: 3D Ball Positioning - Tech United

Thank You!

Any:Questions, Suggestions, Remarks, Answers, Replies, OpinionsExplanations, Words, Comments, Observations, Illustrations

Reflections, Unclarities

Or is there anything I:Neglected, Ignored, Suppressed, Overlooked

Misunderstood, Did not say?

Wouter Kuijpers (TU/e) 3D Ball Positioning December 22, 2015 19 / 19