27
CUBIC BEZIER CURVES (WITH APPLICATIONS TO PATH-PLANNING) Andrew Brown

CUBIC BEZIER CURVES (WITH APPLICATIONS TO PATH-PLANNING) Andrew Brown

Embed Size (px)

Citation preview

CUBIC BEZIER CURVES(WITH APPLICATIONS TO PATH-PLANNING)

Andrew Brown

Bezier Curves• A cubic Bezier curve B(t) is a smooth curve defined by

two end points (x1,y1), (x2,y2), and two control points (x1’,y1’), (x2’,y2’).

(0 ≤ t ≤ 1)

t is a nonlinear function of time along the path

0 1 2 3 4 5 6 7-6

-5

-4

-3

-2

-1

0

1

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(t) 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(t) 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 xt; yt; zt, find control point distances d1 and d2 that minimize

J(B) = zmiss

subject to the following:• 1) max{ |ψ’1|; |ψ’2|; …|ψ’(n-1)| }; < ψ’ max.• 2) The path B(t) does not intersect any terrain obstacles.

where zmiss = |zN − zt|, where zN is predicted altitude at target.

Obstacle Avoidance• Control point lengths d1, d2 can be changed to allow for

obstacle avoidance

Altitude Dissipation• d1, d2 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 dmidi is the distance between the ith curve midpoint and the target, and di is the ith control point magnitude.

Gains km and kcp are kept small to ensure miss distance is still top priority.

Initial Curve Guess• Single curve guess constrains d1 = d2 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• A Bézier curve of degree n can be converted into a Bézier

curve of degree n + 1 with the same shape.

• Make use of equality

• Useful when software can only work with a specific order of curve

Degree Elevation example• Order 2 -> 3

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