src.curves package

Submodules

src.curves.CurvePt module

class src.curves.CurvePt.CurveIndex(i: int, t: float)[source]

Bases: object

CurveIndex{I <: Integer, T <: Real}

Given a Curve object curve one can call curve[ind] where ind is a CurveIndex. The field t can be used to interpolate between two points in the curve. # Fields - i::I` index in the curve , ∈ [0:length(curve)-2] - t::T ∈ [0,1] for linear interpolation

class src.curves.CurvePt.CurveProjection(ind: src.curves.CurvePt.CurveIndex, t: float, phi: float)[source]

Bases: object

CurveProjection{I <: Integer, T <: Real}

The result of a point projected to a Curve # Fields - ind::CurveIndex{I, T} - t::T lane offset - ϕ::T lane-relative heading [rad]

class src.curves.CurvePt.CurvePt(pos: src.Vec.VecSE2.VecSE2, s: float, k=None, kd=None)[source]

Bases: object

show()[source]
Returns

print out

src.curves.CurvePt.clamp(a, low, high)[source]
src.curves.CurvePt.curveindex_end(curve: list)[source]
Parameters

curve – curve list

Returns

the last curve index of the curve list

src.curves.CurvePt.div(a, b)[source]
src.curves.CurvePt.get_curve_list_by_index(curve: list, ind: src.curves.CurvePt.CurveIndex)[source]
src.curves.CurvePt.get_curve_projection(posG: src.Vec.VecSE2.VecSE2, footpoint: src.Vec.VecSE2.VecSE2, ind: src.curves.CurvePt.CurveIndex)[source]
src.curves.CurvePt.get_lerp_time_1(A: src.Vec.VecE2.VecE2, B: src.Vec.VecE2.VecE2, Q: src.Vec.VecE2.VecE2)[source]
src.curves.CurvePt.get_lerp_time_2(A: src.curves.CurvePt.CurvePt, B: src.curves.CurvePt.CurvePt, Q: src.Vec.VecSE2.VecSE2)[source]
src.curves.CurvePt.get_lerp_time_unclamped_1(A: src.Vec.VecE2.VecE2, B: src.Vec.VecE2.VecE2, Q: src.Vec.VecE2.VecE2)[source]
Parameters
  • A – VecE2 vector

  • B – VecE2 vector

  • Q – VecE2 vector

Returns

Get the interpolation scalar t for the point on the line AB closest to Q, This point is P = A + (B-A)*t

src.curves.CurvePt.get_lerp_time_unclamped_2(A: src.curves.CurvePt.CurvePt, B: src.curves.CurvePt.CurvePt, Q: src.Vec.VecSE2.VecSE2)[source]
src.curves.CurvePt.get_lerp_time_unclamped_3(A: src.Vec.VecSE2.VecSE2, B: src.Vec.VecSE2.VecSE2, Q: src.Vec.VecSE2.VecSE2)[source]
src.curves.CurvePt.index_closest_to_point(curve: list, target: src.Vec.VecSE2.VecSE2)[source]

index_closest_to_point(curve::Curve, target::posG(VecSE2))

returns the curve index closest to the point described by target. target must be [x, y].

src.curves.CurvePt.lerp(a: src.curves.CurvePt.CurvePt, b: src.curves.CurvePt.CurvePt, t: float)[source]
Parameters
  • a – start point

  • b – end point

  • tt::T ∈ [0,1] for linear interpolation

Returns

the result of interpolation

src.curves.CurvePt.proj(posG: src.Vec.VecSE2.VecSE2, curve: list)[source]

Vec.proj(posG::VecSE2, curve::list of CurvePt)

Return a CurveProjection obtained by projecting posG onto the curve

Module contents