CUBIC BEZIER CURVES (WITH APPLICATIONS TO PATH-PLANNING) Andrew Brown
Bezier Curves A cubic Bezier curve B( ) is a smooth curve defined by two end points (x 1,y 1 ), (x 2,y 2 ), and two control points (x 1 ’,y 1 ’), (x 2 ’,y 2 ’). (0 ≤ ≤ 1) is a nonlinear function of time along the path
Bezier Curve example (3,2) (0,0) (4,-6)(7,-6)
Purpose of Control Points A line from the end point to its corresponding control point dictates the slope of the curve at that end point. Location of control points also dictates overall length of curve.
Properties of Bezier Curves Property 1: End-point interpolation property: Given a cubic Bézier curve B( ) with end points b0, b3 and control points b1, b2, it can be shown that B(0) = b0 and B(1) = b3. Property 2: End-point tangent property: Given a cubic Bézier curve B( ) with end points b0, b3 and control points b1, b2, it can be shown that B’(0) = 3(b1 − b0) and B’(1) = 3(b3 − b2). Thus, a line connecting points b0 and b1 is tangent to the Bézier curve at B(0) = b0, and likewise a line connecting b2 and b3 is tangent to the Bézier curve at B(1) = b3. Proofs: Marsh, D., Applied Geometry for Computer Graphics and CAD, Springer-Verlag, London, 2004, pp. 147–148.
Cubic Examples
Application to Path-Planning Terminal guidance of parafoil during descent towards target.
Necessity of Cubic Curves, Smoothness Two control points are required because heading angles at both end points are geometrically constrained (initial heading, wind) Smoothness requirement: Ensure yaw-angle continuity throughout a generated guidance path.
Single Curve Paths Two types of constraints are enforced during Bézier curve optimization. 1) Constraint on the maximum possible parafoil turn rate. 2) Bézier curve path must not intersect an obstacle given the parafoil’s predicted altitude upon arrival at the obstacle.
Single Curve Paths cont. Path-planning goal: Given the current parafoil position x; y; z and target location x t ; y t ; z t, find control point distances d1 and d2 that minimize J(B) = z miss subject to the following: 1) max{ |ψ’1|; |ψ’2|; …|ψ’(n-1)| }; < ψ’ max. 2) The path B(t) does not intersect any terrain obstacles. where z miss = |z N − z t |, where z N is predicted altitude at target.
Obstacle Avoidance Control point lengths d 1, d 2 can be changed to allow for obstacle avoidance
Altitude Dissipation d 1, d 2 chosen so path length is long enough to allow parafoil to touch down on ground.
Example – Single Curve Obstacle
Multi-curve Paths In some cases, a single-curve path with the appropriate length that also satisfies the terrain and yaw rate constraints may not exist. Multiple connected cubic Bézier curves may be used instead, adding significant flexibility to the solution
Advantages of Multi-curves Highly constrained drop zones Significant energy must be dissipated during terminal guidance
Additional Constraints The distances from curve midpoints to the target are penalized to avoid paths that wander far from the target area. In addition, dissimilarity in control point magnitudes at each midpoint is penalized to minimize yaw acceleration at each curve junction.
Multi-curve Paths cont. The new resulting cost function is therefore where d mid i is the distance between the i th curve midpoint and the target, and d i is the i th control point magnitude. Gains k m and k cp are kept small to ensure miss distance is still top priority.
Initial Curve Guess Single curve guess constrains d 1 = d 2 at length regions for acceptable yaw rates
In-flight path generation and updates Effects of wind can be combatted by updating path mid- flight.
Results Mountainside landing
Results Canyon drop zone example
Degree Elevation
Degree Elevation example
Degree Elevation example cont. P0=2, P1=3, P2=4
Second Example
Questions?
Sources K.G. Jolly, R. Sreerama Kumar, R. Vijayakumar, A Bezier curve based path planning in a multi-agent robot soccer system without violating the acceleration limits. Robotics and Autonomous Systems Volume 57, Issue 1, 31 January 2009, Pages 23–33 Lee Fowler, Jonathan Rogers, Bézier Curve Path Planning for Parafoil Terminal Guidance. Journal of Aerospace Information Systems Vol. 11, No. 5, May 2014