Nav2 Navigation Stack - rolling  main
ROS 2 Navigation Stack
Public Member Functions | Public Attributes | List of all members
nav2_simple_commander.line_iterator.LineIterator Class Reference

Public Member Functions

None __init__ (self, float x0, float y0, float x1, float y1, float step_size=1.0)
 
bool isValid (self)
 
None advance (self)
 
float getX (self)
 
float getY (self)
 
float getX0 (self)
 
float getY0 (self)
 
float getX1 (self)
 
float getY1 (self)
 
complex get_line_length (self)
 
float clamp (self, float n, float min_n, float max_n)
 

Public Attributes

 x0_
 
 y0_
 
 x1_
 
 y1_
 
 x_
 
 y_
 
 step_size_
 
 valid_
 
 m_
 
 b_
 

Detailed Description

LineIterator.

LineIterator Python3 API for iterating along the points of a given line

Definition at line 27 of file line_iterator.py.

Constructor & Destructor Documentation

◆ __init__()

None nav2_simple_commander.line_iterator.LineIterator.__init__ (   self,
float  x0,
float  y0,
float  x1,
float  y1,
float   step_size = 1.0 
)
Initialize the LineIterator.

Args
----
    x0 (float): Abscissa of the initial point
    y0 (float): Ordinate of the initial point
    x1 (float): Abscissa of the final point
    y1 (float): Ordinate of the final point
    step_size (float): Optional, Increments' resolution, defaults to 1

Raises
------
    TypeError: When one (or more) of the inputs is not a number
    ValueError: When step_size is not a positive number

Definition at line 34 of file line_iterator.py.

References nav2_simple_commander.line_iterator.LineIterator.b_, nav2_simple_commander.line_iterator.LineIterator.m_, nav2_simple_commander.line_iterator.LineIterator.step_size_, nav2_simple_commander.line_iterator.LineIterator.valid_, nav2_costmap_2d::Costmap2DPublisher.x0_, dwb_critics::LineIterator.x0_, nav2_route::GoalIntentSearch::LoSCollisionChecker.x0_, nav2_simple_commander.line_iterator.LineIterator.x0_, nav2_util::LineIterator.x0_, dwb_critics::LineIterator.x1_, nav2_route::GoalIntentSearch::LoSCollisionChecker.x1_, nav2_simple_commander.line_iterator.LineIterator.x1_, nav2_util::LineIterator.x1_, nav2_costmap_2d::CellData.x_, nav2_costmap_2d::StaticLayer.x_, costmap_queue::CellData.x_, dwb_critics::LineIterator.x_, nav2_simple_commander.line_iterator.LineIterator.x_, nav2_util::LineIterator.x_, nav2_costmap_2d::Costmap2DPublisher.y0_, dwb_critics::LineIterator.y0_, nav2_route::GoalIntentSearch::LoSCollisionChecker.y0_, nav2_simple_commander.line_iterator.LineIterator.y0_, nav2_util::LineIterator.y0_, dwb_critics::LineIterator.y1_, nav2_route::GoalIntentSearch::LoSCollisionChecker.y1_, nav2_simple_commander.line_iterator.LineIterator.y1_, nav2_util::LineIterator.y1_, nav2_costmap_2d::CellData.y_, nav2_costmap_2d::StaticLayer.y_, costmap_queue::CellData.y_, dwb_critics::LineIterator.y_, nav2_simple_commander.line_iterator.LineIterator.y_, and nav2_util::LineIterator.y_.

Member Function Documentation

◆ advance()

None nav2_simple_commander.line_iterator.LineIterator.advance (   self)
Advance to the next point in the line.

Definition at line 100 of file line_iterator.py.

References nav2_simple_commander.line_iterator.LineIterator.b_, nav2_simple_commander.line_iterator.LineIterator.clamp(), nav2_simple_commander.line_iterator.LineIterator.m_, nav2_simple_commander.line_iterator.LineIterator.step_size_, nav2_simple_commander.line_iterator.LineIterator.valid_, nav2_costmap_2d::Costmap2DPublisher.x0_, dwb_critics::LineIterator.x0_, nav2_route::GoalIntentSearch::LoSCollisionChecker.x0_, nav2_simple_commander.line_iterator.LineIterator.x0_, nav2_util::LineIterator.x0_, dwb_critics::LineIterator.x1_, nav2_route::GoalIntentSearch::LoSCollisionChecker.x1_, nav2_simple_commander.line_iterator.LineIterator.x1_, nav2_util::LineIterator.x1_, nav2_costmap_2d::CellData.x_, nav2_costmap_2d::StaticLayer.x_, costmap_queue::CellData.x_, dwb_critics::LineIterator.x_, nav2_simple_commander.line_iterator.LineIterator.x_, nav2_util::LineIterator.x_, nav2_costmap_2d::Costmap2DPublisher.y0_, dwb_critics::LineIterator.y0_, nav2_route::GoalIntentSearch::LoSCollisionChecker.y0_, nav2_simple_commander.line_iterator.LineIterator.y0_, nav2_util::LineIterator.y0_, dwb_critics::LineIterator.y1_, nav2_route::GoalIntentSearch::LoSCollisionChecker.y1_, nav2_simple_commander.line_iterator.LineIterator.y1_, nav2_util::LineIterator.y1_, nav2_costmap_2d::CellData.y_, nav2_costmap_2d::StaticLayer.y_, costmap_queue::CellData.y_, dwb_critics::LineIterator.y_, nav2_simple_commander.line_iterator.LineIterator.y_, and nav2_util::LineIterator.y_.

Here is the call graph for this function:

◆ clamp()

float nav2_simple_commander.line_iterator.LineIterator.clamp (   self,
float  n,
float  min_n,
float  max_n 
)
Clamp n to be between min_n and max_n.

Args
----
    n (float): input value
    min_n (float): minimum value
    max_n (float): maximum value

Returns
-------
    n (float): input value clamped between given min and max

Definition at line 164 of file line_iterator.py.

Referenced by nav2_simple_commander.line_iterator.LineIterator.advance().

Here is the caller graph for this function:

◆ get_line_length()

complex nav2_simple_commander.line_iterator.LineIterator.get_line_length (   self)

◆ getX()

float nav2_simple_commander.line_iterator.LineIterator.getX (   self)

◆ getX0()

float nav2_simple_commander.line_iterator.LineIterator.getX0 (   self)

◆ getX1()

float nav2_simple_commander.line_iterator.LineIterator.getX1 (   self)

◆ getY()

float nav2_simple_commander.line_iterator.LineIterator.getY (   self)

◆ getY0()

float nav2_simple_commander.line_iterator.LineIterator.getY0 (   self)

◆ getY1()

float nav2_simple_commander.line_iterator.LineIterator.getY1 (   self)

◆ isValid()

bool nav2_simple_commander.line_iterator.LineIterator.isValid (   self)
Check if line is valid.

Definition at line 96 of file line_iterator.py.

References nav2_simple_commander.line_iterator.LineIterator.valid_.


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