Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and...

71
Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Transcript of Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and...

Page 1: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Evolutionary Inverse Kinematics

for ROS and MoveIt

Philipp Ruppel

May 30, 2017

Master Thesis

Page 2: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

ROS, MoveIt

Robot Operating System

Motion planning framework

• Forward & inverse kinematics

• Perception

• Motion planning

1

Page 3: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

MoveIt

video

2

Page 4: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

MoveIt

3

Page 5: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Inverse Kinematics

End effect pose → joint angles

4

Page 6: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Forward Kinematics

Joint angles → end effect pose

5

Page 7: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Inverse Kinematics

End effect pose → joint angles

6

Page 8: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Inverse Kinematics

Multi-Goal IK (multiple eef, or generalized: arbitrary

constraints on robot pose)

7

Page 9: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Inverse Kinematics

8

Page 10: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

IK Solvers in MoveIt

• IK Plugin interface

(kinematics::KinematicsBase)

• Analytic• Specialized solvers

• ikfast

• Numeric• KDL

• TRAC-IK

• Currently single-goal only!

9

Page 11: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Analytic Solution

• Manually solve equations

• Very fast at runtime

• Only practical for simple cases

• Solver is specific to a certain robot and goal

configuration

• New robot or different goal types?

- write new solver

10

Page 12: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

ikfast

• Generates code automatically

• (Generated solver is specific to a certain robot

and goal configuration)

• Only kinematic chains, only some goal types

• Long compilation time

• Doesn’t always work

”for 6D ik, there are still mechanisms it cannot solve”

(http://openrave.org/docs/0.8.2/openravepy/ikfast/)

6D = Translation (3D) + Orientation (3D)

11

Page 13: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

KDL / Pseudo-Inverse Jacobian

• Pseudo-inverse jacobian

• Minimize tip frame offset

X Y Z

j1 δx/δj1 δy/δj1 δz/δj1 . . .

j2 δx/δj2 δy/δj2 δz/δj2 . . .

j3 δx/δj3 δy/δj3 δz/δj3 . . .

. . . . . . . . . . . .

∆J = −∆P ∗ J−1

12

Page 14: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Pseudo-Inverse Jacobian - Issues

• Joint limits

• Possibly degenerate pseudo-inverse

• Local minima

13

Page 15: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

TRAC-IK

• Random restarts if stuck to mitigate local

minima

• In parallel: sequential quadratic programming

• Faster than KDL

14

Page 16: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Inverse Kinematics, MoveIt

Limitations of built-in IK solvers:

• Only single-goal

• Only pose goal or position goal

• Analytic or gradient-based

• Hard to extend

Extensibility & Flexibility:

• Arbitrary cost function

• Minimize cost function

15

Page 17: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Cost Function

Page 18: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Cost Function

• Sum of errors (eg. square distances)

• Goals: Position, Orientation, Pose, LookAt,

MaxDistance, MinDistance, Touch, Line,

AvoidJointLimits, MinimalDisplacement,

JointVariable, CenterJoints, JointFunction,

Balance,

16

Page 19: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

BioIK

Page 20: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

BioIK, Sebastian

• Multi-goal, arbitrary cost function

• Biologically Inspired

• Hybrid: Genetic Algorithm

+ Particle Swarm Optimization

• C#, Unity, Game Development17

Page 21: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

BioIK, Sebastian

Genetic algorithm

• Population, individuals, genes

• Genome = joint values

• Mutation, recombination, selection

Particle swarm optimization

• Momentum

18

Page 22: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

BioIK for ROS - Requirements

• C++

• MoveIt

• High Accuracy (10−5, 10µm, 0.0018deg)

• Fail if unreachable (optional, default)

• Performance (default timeout: 5ms)

• Compatibility: Joint Types, Mimic Joints, etc.

19

Page 23: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Modified Evolution

Page 24: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Genome and Mutation

Genome

• Genes = Joint positions (eg. joint angles)

• Only active variables

• double[] genes;

Mutation

• r ∗ 2−s

r: random number gene

s: random scale per individual, 2−s fast bit-shift

Small mutations most likely ⇒ high accuracy

• Clipping at joint limits 20

Page 25: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Genome and Mutation

NOT used:

• int [] genes;

• Mutation: mutate random bits

• Hamming walls: single mutated bit = 2 to 3

(20 to 21), but not 7 to 8 (0111 to 1000)

• Gray code: conversion overhead

• Different mutation scales per gene

• Floating point numbers & exponential term in

mutation function = similar distribution

21

Page 26: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Fitness & Selection

• IK goals = fitness function

• Compute fitness for each individual

• Select fittest individuals

• Genotype: active joint values (eg. angles)

• Phenotype: end effector link frames (and active

joint values)

• Forward kinematics

= genotype-phenotype mapping

= most computation time

→ focus performance optimization on genotype

phenotype mapping / forward kinematics 22

Page 27: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Secondary Objectives

• Primary and secondary objectives

• eg. primary: position goal, secondary: minimal

displacement

• Pre-selection by secondary objectives

Random number of survivers

23

Page 28: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Wipeouts

• Small mutations most likely

• Might temporarily be stuck at local optimum

• Wipeout if no improvement for a few

generations

• Random wipeouts

• Wipeout = random reset of all genes

• Same for all individuals, to prevent premature

convergence

24

Page 29: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Islands / Parallelization

• Multiple islands

• Independent evolution

• One thread per island

25

Page 30: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Multiple Species

• Problem: wipeout might accidentally destroy

best solution

• Two competing species per island

• Only less fit species wiped out

26

Page 31: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Initialization

• Initial guess from MoveIt

27

Page 32: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Termination

• Timeout

• Good fitness

• Specialized pose comparison for compatibility

28

Page 33: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Particle Swarm Optimization

• Per-gene momentum

• s t ruct I n d i v i d u a l

{a l i g n e d v e c t o r <double> g e n e s ;

a l i g n e d v e c t o r <double> momentum ;

• genes += momentum

• momentum randomly doubled or erased

29

Page 34: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Memetics

• Evolution + local search

• Tried solvers from CppNumericalSolvers -

slower

• Quadratic optimization

• Approximate local fitness landscape by

parabola along gradient

• Find extremum & update if better

• Evolution for n generations

• Quadratic optimization, up to m steps

30

Page 35: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Extrapolated Forward

Kinematics

Page 36: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Forward Kinematics

Most computation time spent on computing forward

kinematics

• Compute joint transforms

- Trigonometry, sin/cos

• Concatenate frames

- Quaternion or matrix operations

31

Page 37: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Forward Kinematics

MoveIt / KDL

• Rotation matrices (3x3 matrix, 3 basis vectors)

• Concatenation:

27 multiplications, 18 additions

BioIK

• Quaternions (4 elements)

• Concatenation:

16 multiplications, 12 additions

32

Page 38: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Forward Kinematics

Extrapolated Forward Kinematics

• Compute exact forward kinematics only every n

steps

• Extrapolate forward kinematics for most

mutations

• Rotation: linear, x = a + b ∗ dj• Position: quadratic, x = a + b ∗ dj + c ∗ dj2

33

Page 39: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Extrapolated Forward Kinematics

Extrapolation

• No trigonometry

• Only active joints, no static or inactive joints,

no link frames

• No expensive quaternion-quaternion or

matrix-matrix multiplications

- only addition and multiplication by scalar• Simple control flow (single loop)

• Low risk of branch misprediction

• Pipelining

34

Page 40: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Extrapolated Forward Kinematics

• FK: analytic derivatives, similar to

pseodo-inverse jacobian methods

• Also 2nd order / quadratic

• IK goals: evolution

• Arbitrary fitness function

• Less problems at joint limits & with local

minima

• No explicit matrix inversions

35

Page 41: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

SIMD

Page 42: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

SIMD

• SIMD (Single Instruction Multiple Data)

• load/store/add/mul/sub/... multiple values at

the same time

• Vectors

• SIMD registers, SIMD instructions

• SSE, AVX, FMA

• Aligned memory access

• Programming:• SIMD intrinsics (eg. mm add pd(a, b))

• auto-vectorization (eg. #pragma omp simd)

• Function multiversioning36

Page 43: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

SIMD Mutation

Mutation

• SIMD auto-vectorization

#pragma omp simd

a l i g n e d ( g e n e s m i n : 3 2 ) ,

a l i g n e d ( genes max : 3 2 ) ,

. . .

fo r ( s i z e t g e n e i n d e x = 0 ; . . . )

{. . .

37

Page 44: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

SIMD Forward kinematics

• Forward kinematics

• Quaternion operations: bad for SIMD - shuffle

• Can’t be efficiently vectorized

• Instruction latencies

• • double r x =

( p w ∗ q x + p x ∗ q w ) +

( p y ∗ q z − p z ∗ q y ) ;

double r y =

( p w ∗ q y − p x ∗ q z ) +

( p y ∗ q w + p z ∗ q x ) ;

double r z =

( p w ∗ q z + p x ∗ q y ) −( p y ∗ q x − p z ∗ q w ) ;

double r w =

( p w ∗ q w − p x ∗ q x ) −( p y ∗ q y + p z ∗ q z ) ;

38

Page 45: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

SIMD Forward kinematics

• Forward kinematics• Extrapolation = ideal for SIMD

• px += d e l t a p o s . x ( ) ∗ d e l t a j o i n t ;

py += d e l t a p o s . y ( ) ∗ d e l t a j o i n t ;

pz += d e l t a p o s . z ( ) ∗ d e l t a j o i n t ;

• m256d p = mm256 load pd (

t i p f r a m e p t r ) ;

[ . . . ]

p = mm256 fmadd pd ( f f ,

mm256 load pd ( j o i n t d e l t a p t r ) , p ) ;

[ . . . ]

mm256 store pd ( t i p m u t a t i o n p t r , p ) ;39

Page 46: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Neural Networks

Page 47: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Neural Networks

• Library: FANN

(”Fast Artificial Neural Network”, C++)

• Input: goal

• Output: joint values

• ... inaccurate!

40

Page 48: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Neural Networks

• Learn relative movements instead!

• Input:

- normalized relative goal pose (x,y,z, rx,ry,rz)

- current joint values

• Output: joint offsets

• Multiple iterations

• Fully connected [n, 50, m] network

PR2 Arm Neural Network 5ms 10−5 12%

PR2 Arm Neural Network 100ms 10−5 29%

PR2 Arm KDL Network 5ms 10−5 55%41

Page 49: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Experiments

Page 50: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

PR2 KDL

video

42

Page 51: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

PR2 BioIK Minimal Displacement

video

43

Page 52: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

PR2 BioIK Multi-Goal

video

44

Page 53: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Shadow Hand

45

Page 54: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Shadow Hand BioIK

video

46

Page 55: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Shadow Hand Mixer Test

47

Page 56: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Shadow Hand Mixer Test

IK Goals

• Finger tips (Line, Touch, LookAt)

• Palm horizontal (LookAt)

• Coupled joint pair (J1, J2)

• MinimalDisplacement (secondary),

CenterJoints (secondary)

48

Page 57: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Shadow Hand Mixer Test

video

49

Page 58: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Valkyrie Balancing Test

• Hands (PositionGoal, interactive)

• Feet (PoseGoal)

• Foot reflexes

• Body upright (PositionGoal, OrientationGoal,

OrientationGoal)

• BalanceGoal

50

Page 59: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Valkyrie Balancing Test

51

Page 60: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Valkyrie Balancing Test

52

Page 61: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Valkyrie Balancing Test

video

53

Page 62: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Benchmark

Page 63: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Benchmark

• Generate random joint values

• Compute forward kinematics

• Compute inverse kinematics

• Compare results

• Timeout (5ms)

• Max error (10−5)

• 10000 samples

• Success rate

• Average solve time

54

Page 64: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

IK Test - PR2 - KDL

• 53.44% success rate

55

Page 65: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

IK Test - PR2 - BioIK 1

• 70.34% success rate

56

Page 66: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

IK Test - PR2 - TRAC IK

• 99.69% success rate

57

Page 67: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

IK Test - PR2 - BioIK 2

• 99.99% success rate

58

Page 68: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Benchmark

BioIK 99.94%, TRAC IK 99.71%

59

Page 69: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Benchmark

BioIK: 0.45ms, TRAC IK: 0.53ms

60

Page 70: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

Benchmark

BioIK

• Higher success rate

(BioIK 99.94%, TRAC IK 99.71%)

• Lower average solve time

(BioIK: 0.45ms, TRAC IK: 0.53ms)

61

Page 71: Evolutionary Inverse Kinematics for ROS and MoveIt · Evolutionary Inverse Kinematics for ROS and MoveIt Philipp Ruppel May 30, 2017 Master Thesis

62