MIN-Fakult¨ at MIN-Fakult¨ at Department Informatik Department Informatik Universit¨ at Hamburg Universit¨ at Hamburg Introduction to Robotics Trajectory generation Introduction to Robotics Outline Trajectory generation Introduction to Robotics Recapitulation Approximation Interpolation Jianwei Zhang Interpolation methods zhang@informatik.uni-hamburg.de Bernstein-Polynomials B-Splines Universit¨ at Hamburg Fakult¨ at f¨ ur Mathematik, Informatik und Naturwissenschaften Department Informatik Technische Aspekte Multimodaler Systeme 31. Mai 2013 J. Zhang 1 J. Zhang 2 MIN-Fakult¨ at MIN-Fakult¨ at Department Informatik Department Informatik Universit¨ at Hamburg Universit¨ at Hamburg Trajectory generation - Recapitulation Introduction to Robotics Trajectory generation - Recapitulation Introduction to Robotics Trajectory generation - Recapitulation Trajectory generation - Recapitulation Trajectory generation The trajectory of a robot with n degrees of freedom (DoF) is a vector of n parametric functions with a common parameter - time. ◮ Cartesian space ◮ closer to the problem q ( t ) = [ q 1 ( t ) , q 2 ( t ) , ..., q n ( t )] T ◮ better suited for collision avoidance ◮ Joint space ◮ trajectories are immediately executable ◮ limited to direct kinematics ◮ allows accounting for joint angle limitations J. Zhang 3 J. Zhang 4
MIN-Fakult¨ at MIN-Fakult¨ at Department Informatik Department Informatik Universit¨ at Hamburg Universit¨ at Hamburg Trajectory generation - Recapitulation Introduction to Robotics Trajectory generation - Approximation Introduction to Robotics Trajectory generation - Recapitulation Approximation Deriving a trajectory yields In general, an approximation is a non-exact representation of something that is difficult to determine precisely. We are especially ◮ 1 velocity interested in approximating functions. ◮ 2 acceleration Necessary if ◮ 3 jerk ◮ equations are hard to solve Jerk represents the change of acceleration over time, allowing for ◮ mathematically too difficult or computationally too expensive non-constant accelerations. A trajectory is C k -continuous, if the first k derivations of its path Advantages are exist and are continuous. ◮ simple to derive ◮ simple to integrate A trajectory is defined as smooth if it is at least C 2 -continuous. ◮ simple to compute J. Zhang 5 J. Zhang 6 MIN-Fakult¨ at MIN-Fakult¨ at Department Informatik Department Informatik Universit¨ at Hamburg Universit¨ at Hamburg Trajectory generation - Approximation Introduction to Robotics Trajectory generation - Interpolation Introduction to Robotics Approximation Interpolation Weierstrass approximation theorem (1885) was extended by Interpolation is defined as the process of constructing new data Marshall Harvey Stone in 1937 to the Stone-Weierstrass theorem: points within the range of a discrete set of known data points. For every non-periodic continuous function, there is a continuous Interpolation is a kind of approximation. A function is designed to function that can be approximated as closely as desired using match the known data points exactly, while estimating the algebraic polynomials. unknown data in between in a useful way. For every periodic continuous function, there is a continuous In robotics, interpolation is especially prevalent for computing function that can be approximated as closely as desired using trajectories and motion/-controllers. trigonometric polynomials. J. Zhang 7 J. Zhang 8
MIN-Fakult¨ at MIN-Fakult¨ at Department Informatik Department Informatik Universit¨ at Hamburg Universit¨ at Hamburg Trajectory generation - Interpolation methods Introduction to Robotics Trajectory generation - Interpolation methods Introduction to Robotics Interpolation vs. Approximation Interpolation methods Approximation: when a curve approximates the given data points Base is a subset of a vector space, allowing any vector in space to demo: be uniquely represented as a finite linear combination of its members. http://www.siggraph.org/education/materials/HyperGraph/modeling /splines/demoprog/curve.html The uniqueness of the resulting system of equations stems from the fact that polynomial of n th degree features at most n zero-points. Interpolation: when a curve runs exactly through all given data points High polynomial degrees can become difficult, as many extrema In the case of many, especially noisy, data points, approximation is can cause oscillations. An often-used workaround is composing often better suited than interpolation polynomials made of many sub-polynomials. J. Zhang 9 J. Zhang 10 MIN-Fakult¨ at MIN-Fakult¨ at Department Informatik Department Informatik Universit¨ at Hamburg Universit¨ at Hamburg Trajectory generation - Interpolation methods Introduction to Robotics Trajectory generation - Bernstein-Polynomials Introduction to Robotics Interpolation methods Bernstein-Polynomials Generation of robot-trajectories in joint-space over multiple Bernstein-polynomials (named after Sergei Natanovich Bernstein) stopovers requires appropriate interpolation methods. are real polynomials with integer coefficients. Some interpolation methods using polynomials: Definition: Bernstein-Polynomials of degree k + 1 are defined as: Newton-polynomials ◮ � k � Lagrange-polynomials ◮ (1 − t ) k − i t i , B i , k ( t ) = i = 0 , 1 , . . . , k i Bernstein-polynomials ◮ Interpolation with B i , k : Basis-Splines (B-Splines) ◮ Examples of Lagrange-polynomials and B-Splines can be found at y = b 0 B 0 , k ( t ) + b 1 B 1 , k ( t ) + · · · + b k B k , k ( t ) http://www.math.ucla.edu/ baker/java/hoefer/TwoDemos.htm J. Zhang 11 J. Zhang 12
MIN-Fakult¨ at MIN-Fakult¨ at Department Informatik Department Informatik Universit¨ at Hamburg Universit¨ at Hamburg Trajectory generation - Bernstein-Polynomials Introduction to Robotics Trajectory generation - Bernstein-Polynomials Introduction to Robotics Bernstein-Polynomials Bernstein-Polynomials Properties of Bernstein-polynomials: Degree 2: “basis porpety”: the Bernstein polynomials [ B i , n : 0 ≤ i ≤ n ] ◮ are linearly independent and form a base of polynomial space of degree ≤ n , k k t i (1 − t ) k − i ≡ 1, � k � “decomposition of one”: � B i , k ( t ) ≡ � ◮ i i =0 i =0 “positivity”: B i , k ( t ) ≥ 0 for t ∈ [0 , 1], ◮ “recursivity”: B i , k ( t ) = (1 − t ) B i , k − 1 ( t ) + t · B i − 1 , k − 1 ( t ) ◮ · · · ◮ J. Zhang 13 J. Zhang 14 MIN-Fakult¨ at MIN-Fakult¨ at Department Informatik Department Informatik Universit¨ at Hamburg Universit¨ at Hamburg Trajectory generation - Bernstein-Polynomials Introduction to Robotics Trajectory generation - Bernstein-Polynomials Introduction to Robotics Bernstein-Polynome Bernstein-Polynome Degree 4: Degree 3: Bernstein polynomials of degree 4 (cubic polynomials) are most often-used, because the derivations for velocity, acceleration and jerk are guaranteed to exist. J. Zhang 15 J. Zhang 16
MIN-Fakult¨ at MIN-Fakult¨ at Department Informatik Department Informatik Universit¨ at Hamburg Universit¨ at Hamburg Trajectory generation - B-Splines Introduction to Robotics Trajectory generation - B-Splines Introduction to Robotics B-spline curves and -basis functions Definition of B-splines A spline curve composed of B-splines is called a B-Spline curve. A THe following functions are known as normalized B-splines N i , k of B-spline curve of degree k is a polynomial composed of B-splines order k (degree k − 1): (basis functions) of degree k − 1 in piecewise fashion. In general, for k = 1, � 1 : for t i ≤ t < t i +1 it’s k − 2 derivations are continuous at the piece’s intersections. N i , k ( t ) = 0 : else B-splines are defined as piecewise polynomials, based on the following ordered parameters: as well as a recursive definition for k > 1 t = ( t 0 , t 1 , t 2 , . . . , t m , t m +1 , . . . , t m + k ) , where t − t i ◮ m : is given by the number of points to be interpolated N i , k ( t ) = N i , k − 1 ( t )+ t i + k − 1 − t i ◮ k : is the degree of the b-spline curve t i + k − t N i +1 , k − 1 ( t ) t i + k − t i +1 with i = 0 , . . . , m . J. Zhang 17 J. Zhang 18 MIN-Fakult¨ at MIN-Fakult¨ at Department Informatik Department Informatik Universit¨ at Hamburg Universit¨ at Hamburg Trajectory generation - B-Splines Introduction to Robotics Trajectory generation - B-Splines Introduction to Robotics B-Splines B-Splines Linear splines correspond to piecewise linear functions (squared, A B-spline curve can be set using so-called control-points or cubic, ...) De-Boor-points. The curve is always constrained to those point’s convex hull. Advantages: The De-Boor points are of the same dimensionality as the B-spline ◮ splines are more flexible than polynomials due to their curve itself. piecewise definition B-spline curves have locality properties similar to B´ ezier-curves: the ◮ still, they are relatively simple and smooth control point P i influences the curve only within the interval ◮ prevents strong oscillation [ τ i , τ i + p ] ◮ the values of the 1 st and 2 nd derivations can be selected ◮ also applicable for representing surfaces (CAD, modeling) J. Zhang 19 J. Zhang 20
Recommend
More recommend