Class CollisionMonitor
Defined in File collision_monitor.hpp
Nested Relationships
Nested Types
Inheritance Relationships
Base Type
public nav2_route::RouteOperation
(Class RouteOperation)
Class Documentation
A route operation to process a costmap to determine if a route is blocked requiring immediate rerouting. If using the local costmap topic, then it will check in the local time horizon only. if using the global, it may check the full route for continued validity. It is however recommended to specify a maximum collision distance for evaluation to prevent necessarily long-term evaluation of collision information which may not be representative of the conditions in that area by the time the robot gets there.
Public Functions
Constructor.
destructor
Configure.
Get name of the plugin for parameter scope mapping.
- Returns:
Name
Indication that the adjust speed limit route operation is performed on all state changes.
- Returns:
The type of operation (on graph call, on status changes, or constantly)
The main speed limit operation to adjust the maximum speed of the vehicle.
- Parameters:
mdata – Metadata corresponding to the operation in the navigation graph. If metadata is invalid or irrelevant, a nullptr is given
node_achieved – Node achieved, for additional context
edge_entered – Edge entered by node achievement, for additional context
edge_exited – Edge exited by node achievement, for additional context
route – Current route being tracked in full, for additional context
curr_pose – Current robot pose in the route frame, for additional context
- Returns:
Whether to perform rerouting and report blocked edges in that case
Protected Functions
Backs out the end coordinate along the line segment start-end to length dist.
- Parameters:
start – Start of line segment
end – End of line segment
dist – Distance along line segment to find the new end point along
- Returns:
Coordinates of the new end point
dist
away from the start along the line
Backs out the line end coordinates of the start-end line segment where costmap transforms are possible.
- Parameters:
start – Start of line segment
line – LineSegment object to replace the x1/y1 values for along segment until invalid
- Returns:
If any part s of the segment requested is valid
Converts a line segment start-end into a LineSegment struct in costmap frame.
- Parameters:
start – Start of line segment
end – End of line segment
line – LineSegment object to populate
- Returns:
If line segment is valid (e.g. start and end both in costmap transforms)
Checks a line segment in costmap frame for validity.
- Parameters:
line – LineSegment object to collision check in costmap set
- Returns:
If any part of the line segment is in collision
Gets the latest costmap from the costmap subscriber.
Protected Attributes
Public Members