Public Member Functions | Static Public Attributes | Private Attributes | List of all members
uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator Class Reference
Inheritance diagram for uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator:
Inheritance graph
[legend]

Public Member Functions

def __init__ (self)
 
def generate_pnt (self, s, t, args)
 
def generate_pos (self, s)
 
def generate_quat (self, s)
 
def get_samples (self, max_time, step=0.001)
 
def init_interpolator (self)
 
def set_parameters (self, params)
 

Static Public Attributes

string LABEL = 'cubic'
 

Private Attributes

 _duration
 
 _heading_spline
 
 _interp_fcns
 
 _last_rot
 
 _marker_id
 
 _markers_msg
 
 _s
 
 _segment_to_wp_map
 
 _start_time
 

Detailed Description

Interpolator that will generate [cubic Bezier curve](https://en.wikipedia.org/wiki/B%C3%A9zier_curve) 
segments for a set of waypoints. The full algorithm can
be seen in `Biagiotti and Melchiorri, 2008`.

!!! note

    Biagiotti, Luigi, and Claudio Melchiorri. Trajectory planning for
    automatic machines and robots. Springer Science & Business Media, 2008.

Definition at line 31 of file cs_interpolator.py.

Constructor & Destructor Documentation

def uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator.__init__ (   self)

Definition at line 43 of file cs_interpolator.py.

Member Function Documentation

def uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator.generate_pnt (   self,
  s,
  t,
  args 
)
Compute a point that belongs to the path on the 
interpolated space related to `s`, `s` being represented 
in the curve's parametric space.

> *Input arguments*

* `s` (*type:* `float`): Curve's parametric input expressed in the 
interval of [0, 1]
* `t` (*type:* `float`): Trajectory point's timestamp

> *Returns*

`uuv_trajectory_generator.TrajectoryPoint` including position
and quaternion vectors.

Definition at line 159 of file cs_interpolator.py.

def uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator.generate_pos (   self,
  s 
)
Generate a position vector for the path sampled point
interpolated on the position related to `s`, `s` being  
represented in the curve's parametric space.

> *Input arguments*

* `s` (*type:* `float`): Curve's parametric input expressed in the 
interval of [0, 1]

> *Returns*

3D position vector as a `numpy.array`.

Definition at line 134 of file cs_interpolator.py.

def uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator.generate_quat (   self,
  s 
)
Compute the quaternion of the path reference for a interpolated
point related to `s`, `s` being represented in the curve's parametric 
space.
The quaternion is computed assuming the heading follows the direction
of the path towards the target. Roll and pitch can also be computed 
in case the `full_dof` is set to `True`.

> *Input arguments*

* `s` (*type:* `float`): Curve's parametric input expressed in the 
interval of [0, 1]

> *Returns*

Rotation quaternion as a `numpy.array` as `(x, y, z, w)`

Definition at line 184 of file cs_interpolator.py.

def uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator.get_samples (   self,
  max_time,
  step = 0.001 
)
Sample the full path for position and quaternion vectors.
`step` is represented in the path's parametric space.

> *Input arguments*

* `step` (*type:* `float`, *default:* `0.001`): Parameter description

> *Returns*

List of `uuv_trajectory_generator.TrajectoryPoint`.

Definition at line 108 of file cs_interpolator.py.

def uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator.init_interpolator (   self)
Initialize the interpolator. To have the path segments generated,
`init_waypoints()` must be called beforehand by providing a set of 
waypoints as `uuv_waypoints.WaypointSet` type. 

> *Returns*

`True` if the path segments were successfully generated.

Definition at line 53 of file cs_interpolator.py.

def uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator.set_parameters (   self,
  params 
)
Not implemented for this interpolator.

Definition at line 104 of file cs_interpolator.py.

Member Data Documentation

uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator._duration
private

Definition at line 88 of file cs_interpolator.py.

uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator._heading_spline
private

Definition at line 51 of file cs_interpolator.py.

uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator._interp_fcns
private

Definition at line 49 of file cs_interpolator.py.

uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator._last_rot
private

Definition at line 205 of file cs_interpolator.py.

uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator._marker_id
private

Definition at line 66 of file cs_interpolator.py.

uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator._markers_msg
private

Definition at line 65 of file cs_interpolator.py.

uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator._s
private

Definition at line 84 of file cs_interpolator.py.

uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator._segment_to_wp_map
private

Definition at line 69 of file cs_interpolator.py.

uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator._start_time
private

Definition at line 90 of file cs_interpolator.py.

string uuv_trajectory_generator.path_generator.cs_interpolator.CSInterpolator.LABEL = 'cubic'
static

Definition at line 41 of file cs_interpolator.py.


The documentation for this class was generated from the following file:


uuv_trajectory_control
Author(s):
autogenerated on Thu Jun 18 2020 03:28:42