placo::tools#

class placo.AxisesMask#
R_custom_world: any#

None( (placo.AxisesMask)arg1) -> object :

C++ signature :

Eigen::Matrix<double, 3, 3, 0, 3, 3> {lvalue} None(placo::tools::AxisesMask {lvalue})

R_local_world: any#

None( (placo.AxisesMask)arg1) -> object :

C++ signature :

Eigen::Matrix<double, 3, 3, 0, 3, 3> {lvalue} None(placo::tools::AxisesMask {lvalue})

apply(M: ndarray) ndarray#

Apply the masking to a given matrix.

Parameters:

M (numpy.ndarray) – the matrix to be masked (3xn)

set_axises(axises: str, frame_: any) None#

Sets the axises to be masked (kept), for example “xy”.

Parameters:
  • axises (str) – axises to be kept

  • frame (any) – the reference frame where the masking is done (task, local or custom)

class placo.CubicSpline(angular: bool = False)#
acc(x: float) float#

Retrieve acceleration at a given time.

add_point(t: float, x: float, dx: float) None#

Adds a point in the spline.

Parameters:
  • t (float) – time

  • x (float) – value

  • dx (float) – speed

clear() None#

Clears the spline.

duration() float#

Spline duration.

pos(t: float) float#

Retrieve the position at a given time.

Parameters:

t (float) – time

vel(x: float) float#

Retrieve velocity at a given time.

class placo.CubicSpline3D#
acc(t: float) ndarray#

Returns the spline accleeration at time t.

Parameters:

t (float) – time

add_point(t: float, x: ndarray, dx: ndarray) None#

Adds a point.

Parameters:
  • t (float) – time

  • x (numpy.ndarray) – value (3D vector)

  • dx (numpy.ndarray) – velocity (3D vector)

clear() None#

Clears the spline.

duration() float#

Spline duration.

pos(t: float) ndarray#

Returns the spline value at time t.

Parameters:

t (float) – time

vel(t: float) ndarray#

Returns the spline velocity at time t.

Parameters:

t (float) – time

class placo.Polynom(coefficients: ndarray)#
coefficients: any#

None( (placo.Polynom)arg1) -> object :

C++ signature :

Eigen::Matrix<double, -1, 1, 0, -1, 1> {lvalue} None(placo::tools::Polynom {lvalue})

static derivative_coefficient(self, degree: int, derivative: int) int#

Computes the coefficient in front of term of degree degree after derivative differentiations.

Parameters:
  • degree (int) – degree

  • derivative (int) – number of differentiations

value(x: float, derivative: int = 0) float#

Computes the value of polynom.

Parameters:
  • x (float) – abscissa

  • derivative (int) – differentiation order (0: p, 1: p’, 2: p’’ etc.)

class placo.Prioritized#
configure(name: str, priority: str = 'soft', weight: float = 1.0) None#

Configures the object.

Parameters:
  • name (str) – task name

  • priority (str) – task priority (hard, soft or scaled)

  • weight (float) – task weight

name: any#

None( (placo.Prioritized)arg1) -> str :

C++ signature :

std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > {lvalue} None(placo::tools::Prioritized {lvalue})

priority: str#

Priority [str]

class placo.Segment#
end: any#

None( (placo.Segment)arg1) -> object :

C++ signature :

Eigen::Matrix<double, 2, 1, 0, 2, 1> {lvalue} None(placo::tools::Segment {lvalue})

half_line_pass_through(s: Segment) bool#

Checks if the half-line starting from the start of this segment and going through its end pass through another segment.

Parameters:

s (Segment) – The other segment.

intersects(s: Segment) bool#

Checks if there is an intersection between this segment and another one, i.e. if the intersection of their guiding lines is a point of both segments.

Parameters:

s (Segment) – The other segment.

is_parallel(s: Segment, epsilon: float = 1e-05) bool#

Checks if this segment is parallel to another one.

Parameters:
  • s (Segment) – The segment to check parallelism with.

  • epsilon (float) – The sinus of the error angle accepted for 2 segments to be considered parallel.

is_point_aligned(point: ndarray, epsilon: float = 1e-05) bool#

Checks if a point is aligned with this segment by checking if the segment is parallel to the segment formed by the start of this segment and the point.

Parameters:
  • point (numpy.ndarray) – The point to check alignment with.

  • epsilon (float) – The sinus of the error angle accepted for 2 segments to be considered parallel.

is_point_in_segment(point: ndarray, epsilon: float = 1e-05) bool#

Checks if a point is in the segment.

Parameters:
  • point (numpy.ndarray) – The point to check.

  • epsilon (float) – To account for floating point errors.

is_segment_aligned(s: Segment, epsilon: float = 1e-05) bool#

Checks if this segment is aligned with another one.

Parameters:
  • s (Segment) – The segment to check alignment with.

  • epsilon (float) – To account for floating point errors.

line_pass_through(s: Segment) bool#

Checks if the guiding line of another segment pass through this segment, i.e. if the intersection between the guiding lines of this segment and another one is a point of this segment.

Parameters:

s (Segment) – The other segment.

lines_intersection(s: Segment) ndarray#

Return the intersection between the guiding lines of this segment and another one.

Parameters:

s (Segment) – The other segment.

norm() float#
start: any#

None( (placo.Segment)arg1) -> object :

C++ signature :

Eigen::Matrix<double, 2, 1, 0, 2, 1> {lvalue} None(placo::tools::Segment {lvalue})