Navigation Classes
Rules Engine
The Rules Engine orchestrates the navigation, hosts the terms and rules and builds the context for navigation. It has a select() method which is responsible for finding matching rules.
Term
The Term class holds the attributes for navigation variables. Term inherits from Morphable so it has editing facilities, as used by the settings feature. It also has a render_dict method that assembles the data for the Terms grid in the Navigation feature.
Rule
The Rule class holds the attributes for navigation rules. Rule inherits from Morphable so it has editing facilities, as used by the settings feature. It also has a render_dict method that assembles the data for the Rules grid in the Navigation feature.
The Rule constructor is responsible for initialising the escalation ladder.
Rules have scope, which is one of the following:
- Stationary
- In-Flight
- Any
- Disabled
Stationary Scope
Rules in Stationary Scope are only matched when the Governor Loop deems the robot to be stationary. This is the safest setting, which should guarantee that the next pose obtained is accurate, however it is the most pedestrian.
In-Flight Scope
Rules with In-Flight Scope are only matched when the Governor Loop deems the robot is moving. This is the riskiest setting, because there is no guarantee that the pose informing the navigation is accurate. However, In-Flight rules can be very effective for keeping the robot moving along a straight path.
Any Scope
Rules with Any Scope will be considered for selection regardless. If you are trying to detect if the robot has reached its target location, in order to trigger Stage Complete, then this scope may be appropriate.
Disabled Scope
Rules in Disabled scope are never considered for selection.
Itinerary
The Itinerary class holds a list of destinations to be visited. The class is initialised when the Drive Route instruction is issued. If there is unfinished business then navigation can pick up from the last visited node, but any changes to the route will still be incorporated.
Destination
The Destination class represents the x,y coordinates of the destination and optionally the Attitude the robot should adopt when approaching.