Ellipsoid Module

class gpdmink.Ellipsoid.Ellipsoid(a, quat, tc)

Bases: SuperQuadrics

get_closest_point_to_ellipsoid(eB)

Compute closest point to another ellipsoid. E. Rimon and S. P. Boyd, “Obstacle collision detection using best ellipsoid fit,” J. Intell. Robot. Syst., vol. 18, no. 2, pp. 105–126, 1997.

Parameters:

eB (Ellipsoid) – Target ellipsoid object

Returns:

Tuple containing closest point and related values

Return type:

tuple

get_gradient_from_cartesian(x)

Convert surface point to its gradient.

Parameters:

x (numpy.ndarray) – Cartesian point

Returns:

Gradient vector

Return type:

numpy.ndarray

get_gradient_from_hypersphere(u)

Convert hypersphere parameter to gradient.

Parameters:

u (numpy.ndarray) – Hypersphere parameter

Returns:

Gradient vector

Return type:

numpy.ndarray

get_hypersphere_from_gradient(m)

Convert gradient to hypersphere parameter.

Parameters:

m (numpy.ndarray) – Gradient vector

Returns:

Hypersphere parameter

Return type:

numpy.ndarray

get_implicit_function_canonical(x)

Compute implicit function value in canonical frame.

Parameters:

x (numpy.ndarray) – Point in canonical frame

Returns:

Implicit function value

Return type:

float

get_point_from_gradient(m)

Convert gradient to surface point in canonical frame.

Parameters:

m (numpy.ndarray) – Gradient vector

Returns:

Surface point

Return type:

numpy.ndarray

get_point_from_normal(n)

Convert normal vector to surface point.

Parameters:

n (numpy.ndarray) – Normal vector

Returns:

Surface point

Return type:

numpy.ndarray

is_collide(eB)

Check collision with another ellipsoid.

Parameters:

eB (Ellipsoid) – Target ellipsoid object

Returns:

True if colliding, False otherwise

Return type:

bool