Motion Interpolation & Sensor Fusion Final presentation Lennart - - PowerPoint PPT Presentation

motion interpolation sensor fusion
SMART_READER_LITE
LIVE PREVIEW

Motion Interpolation & Sensor Fusion Final presentation Lennart - - PowerPoint PPT Presentation

Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion Motion Interpolation & Sensor Fusion Final presentation Lennart Bastian Antoine Keller Sofia Morales Santiago TUM


slide-1
SLIDE 1

1 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Motion Interpolation & Sensor Fusion

Final presentation Lennart Bastian Antoine Keller Sofia Morales Santiago

TUM

07.07.2018

slide-2
SLIDE 2

2 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Introduction

Track 3D Objects with

Optical Tracking Systems, e.g. cameras embedded system or inertial measurement units (IMU), e.g. accelerometers

1

1svgrepo

slide-3
SLIDE 3

3 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Introduction

Motion Interpolation

slide-4
SLIDE 4

3 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Introduction

Motion Interpolation

Smoothness

slide-5
SLIDE 5

3 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Introduction

Motion Interpolation

Smoothness Accuracy

slide-6
SLIDE 6

3 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Introduction

Motion Interpolation

Smoothness Accuracy

Sensor Fusion OTS (e.g. cameras) IMU (e.g. accelerometers) Good tracking of translation Almost impossible to track translation Bad tracking of rotation Good tracking of rotation

slide-7
SLIDE 7

3 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Introduction

Motion Interpolation

Smoothness Accuracy

Sensor Fusion OTS (e.g. cameras) IMU (e.g. accelerometers) Good tracking of translation Almost impossible to track translation Bad tracking of rotation Good tracking of rotation

slide-8
SLIDE 8

3 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Introduction

Motion Interpolation

Smoothness Accuracy

Sensor Fusion OTS (e.g. cameras) IMU (e.g. accelerometers) Good tracking of translation Almost impossible to track translation Bad tracking of rotation Good tracking of rotation

⇒ combine to make the best motion interpolation

slide-9
SLIDE 9

4 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Describing Rotations

Quaternions General Form q11 + q2i + q3j + q4k = (q1, q2, q3, q4)T i2 = j2 = k2 = ijk = −1 Only represent rotations. Coordinate system independency. No gimbal lock. Simple interpolation.

slide-10
SLIDE 10

5 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Describing Rotations

Unit Quaternions Set H1: q = 1. H1 constitutes a hypersphere in quaternion space. The set is closed under multiplication. Rotations SO(3): space of three-dimensional rotations. Rotation about the axis v = (v1, v2, v3) ∈ R3, angle θ q = [cos(θ/2), sin(θ/2)v] For each rotation there are 2 unit quaternions: q and −q (antipodal). H1 is a ”double-covering” of SO3.

slide-11
SLIDE 11

6 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Visualizing Quaternions

Explain here the process to convert quaternions trajectory on the unit sphere !

slide-12
SLIDE 12

7 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Basic Interpolation Methods

Let q0, q1, q0 ∈ H and h ∈ [0, 1]: Liner Quaternion interpolation Lerp(q0, q1, h) = q0(1 − h) + q1h. Spherical Linear Quaternion interpolation SLERP(q0, q1, h) = q0(q0q1)h

slide-13
SLIDE 13

8 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Describing Rotations

slide-14
SLIDE 14

9 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Describing Rotations

(Slerp) Quaternion interpolation with rotation over the x − axis

slide-15
SLIDE 15

10 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Linear Interpolation

Most simple interpolation is piecewise linear. Given a sequence of points pi ∈ Rn, we can represent linear interpolation in a cumulative form:

slide-16
SLIDE 16

10 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Linear Interpolation

Most simple interpolation is piecewise linear. Given a sequence of points pi ∈ Rn, we can represent linear interpolation in a cumulative form: p(t) = p0 + α1(t)∆p1 + ... + αn(t)∆pn = p0 +

n

  • i=1

αi(t)∆pi αi ramps from 0 to 1 in the interval i <= t < i + 1.

slide-17
SLIDE 17

10 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Linear Interpolation

Most simple interpolation is piecewise linear. Given a sequence of points pi ∈ Rn, we can represent linear interpolation in a cumulative form: p(t) = p0 + α1(t)∆p1 + ... + αn(t)∆pn = p0 +

n

  • i=1

αi(t)∆pi αi ramps from 0 to 1 in the interval i <= t < i + 1. Similarly, we can construct a piece-wise quaternion slerp in a cumulative form: q(t) = q0

n

  • i=1

ωαi(t)

i

with ωi = log(q−1

i−1qi), qt := exp(tlog(q)).

slide-18
SLIDE 18

11 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Interpolation Bases

Several different interpolation schemes can be represented in the cumulative form. αi(t) is replaced with some basis function βi(t). q(t) = q0

n

  • i=1

exp(ωiβi(t)) B-splines Bezier curves

slide-19
SLIDE 19

11 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Interpolation Bases

Several different interpolation schemes can be represented in the cumulative form. αi(t) is replaced with some basis function βi(t). q(t) = q0

n

  • i=1

exp(ωiβi(t)) B-splines Bezier curves The cumulative form describes an approximation. In order to interpolate exactly a non-linear system of equations needs to be solved.

slide-20
SLIDE 20

12 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Bezier Curves

Figure 1: Bezier Curves and their Basis Functions 2

global control / very smooth (∈ Cn−1) simple implementation

2Anonymous Preprint 2018 [under review]

slide-21
SLIDE 21

13 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Bezier Curves

(a) Rotation Axis (b) Rotation Angle Figure 2: Rotation Axis and Angle of Bezier Approximation

slide-22
SLIDE 22

14 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Bezier Curves

Figure 3: Bezier Curve Interpolation on an Object

slide-23
SLIDE 23

15 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Optimization

Smoothness

slide-24
SLIDE 24

15 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Optimization

Smoothness Accuracy

slide-25
SLIDE 25

16 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Optimization

slide-26
SLIDE 26

17 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Distance choice

Goal : evaluate the distance between the initial quaternions (qorig)i=1..N and the interpolation path (qcalc(p, t))i=1..N Euclidean distance : ||qorig,i − qcalc,i||2

2

Angular distance : Arccos(2qorig,i ◦ qcalc,i − 1)

slide-27
SLIDE 27

18 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Optimization

Smoothness Accuracy min

p

  • dist(q(p, ti) − qi) + λ
  • ||¨

q(p, t)||2dt qi : original quaternions ti : times at which the calculated trajectory must fit the original quaternions p : control points (our variable) q(p, t) : calculated trajectory at time t.

slide-28
SLIDE 28

19 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Animation Bezier Curve

slide-29
SLIDE 29

20 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Animation Bezier Curve

slide-30
SLIDE 30

21 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Trade-off between smoothness and accuracy

(a) λ = 20 (b) λ = 200 (c) λ = 2000 Figure 4: Bezier optimization for different λ

slide-31
SLIDE 31

22 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Result of Optimization

Figure 5: Optimized Bezier Interpolation

slide-32
SLIDE 32

23 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Solve the problem

min

p

  • dist(q(p, ti) − qi) + λ
  • ||¨

q(p, t)||2dt Compute the gradient Problem highly non-linear, not convex ⇒ Poor convergence Use Quasi-Newton method algorithm by providing the gradient Conclusion : Use Matlab optimization function fminunc.

slide-33
SLIDE 33

24 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Performance : Running time

Estimated gradient (numerical) method ⇒ not as fast as an

  • ptimization with provided gradient.

Order of magnitude : couple of minutes for 4 or 5 quaternions ⇒ not made for real-time data. But the running time growths exponentially if you increase the number of quaternions.

slide-34
SLIDE 34

25 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Pose Estimation

Figure 6: ArUco Marker and IMU

slide-35
SLIDE 35

26 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

IMU and OTS data is noise

Figure 7: OTS and IMU poses

slide-36
SLIDE 36

27 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Undesirable Minima

Figure 8: Undesirable minimum found through anti-podal point

slide-37
SLIDE 37

28 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Undesirable Minima

Figure 9: Rotation Angle of undesirable minimum at anti-podal point

slide-38
SLIDE 38

29 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Updated Optimization Model

J The set of captured OTS poses I The set of captured IMU poses Quaternions are constrained to Northern Hemisphere min

p

λ1

  • i∈I

||q(p, ti)−qi||+λ2

  • j∈J

||q(p, tj)−qj||+

  • ||¨

q(p, t)||2dt s.t. q0 ≥ 0

slide-39
SLIDE 39

30 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Interpolation of OTS and IMU data

slide-40
SLIDE 40

31 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Interpolation of OTS and IMU data

Figure 10: Interpolation Rotation Axis

slide-41
SLIDE 41

32 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Conclusion

Implemented Bezier curve interpolation for quaternions Designed an Optimization Model to improve interpolation Applied it to Sensor Fusion data provided by Framos

slide-42
SLIDE 42

33 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Thank you for your attention!

Figure 11: Optimized Bezier Interpolation

slide-43
SLIDE 43

34 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Sharp Turn

(a) λ = 3 (b) λ = 0.1 Figure 12: Rotation Axis and Angle of Sharp Twist

slide-44
SLIDE 44

35 Introduction Background Interpolation and Approximation Interpolation and Approximation Optimization Sensor Fusion

Sharp Turn

Figure 13: Animation of a Sharp Turn