triangula.navigation: Navigation and Routing

This module handles navigation, waypoints and similar.


At the moment we have a single waypoint class. The triangula.navigation.TaskWaypoint defines a target pose and, optionally, a task to run when that pose is reached. This is used by the triangula.task.patrol.PatrolTask to navigate to a list of places and perform actions in each place.

class triangula.navigation.TaskWaypoint(pose, task=None, stop=False)[source]

Consists of a target Pose defining a location and orientation, and a Task which should be run when the robot reaches the target position. The task can be None, in which case the robot won’t attempt to do anything at the target point.

__init__(pose, task=None, stop=False)[source]


  • pose (triangula.chassis.Pose) – The target Pose, defining the location and orientation of this waypoint
  • task (triangula.task.Task) – A Task to run when the target point is reached. The task will be run until a non-None value is returned from the poll method. Defaults to None, in which case no task will be invoked and the robot will proceed immediately to the next waypoint.
  • stop – Defaults to False, if this is set to True then the robot will come to a complete stop before either running the sub-task or proceeding to the next waypoint.