Heading Types & Chaining
Heading types control how the robot’s orientation changes as it moves along a path segment. Turtle Tracer provides a variety of heading interpolations to allow complex motion control. In addition to individual segment headings, Turtle Tracer allows paths to be chained together, and optionally apply a global heading across a chain.
Heading Types
Section titled “Heading Types”Turtle Tracer supports the following heading types:
Universal Reverse Flag: All heading types support an optional “reverse” flag. However, the exact behavior of this flag differs depending on the heading type:
Linear
Section titled “Linear”Linear heading interpolates the robot’s orientation smoothly from a starting angle to an ending angle over the course of the path segment. The interpolation is proportional to the progression along the path (e.g., halfway through the path, the angle is halfway between the start and end angles).
- Reverse Behavior: By default, linear heading interpolates using the shortest angular distance between the start and end angles. When the reverse flag is enabled, it changes the direction of interpolation to use the longest angular distance instead (rotating the “long way” around the circle).
Constant
Section titled “Constant”Constant heading maintains a fixed angle throughout the entire path segment. The robot will not rotate as it travels, regardless of the path’s curve or direction.
- Reverse Behavior: Adds 180 degrees to the specified constant angle, causing the robot to maintain a fixed heading in the exact opposite direction.
Tangential
Section titled “Tangential”Tangential heading causes the robot to continually face the direction of travel along the path (tangent to the curve). This mimics the behavior of a car or a traditional non-holonomic drive, but can be applied to holonomic drives as well.
- Reverse Behavior: Adds 180 degrees to the calculated tangent angle, causing the robot to travel the path while facing completely backwards relative to its direction of motion.
Facing Point
Section titled “Facing Point”The Facing Point heading type allows the robot to continuously orient itself to face a specific, fixed (X, Y) coordinate on the field. As the robot moves along the path, its heading dynamically adjusts to keep the target point directly in front of the robot. This is extremely useful for maintaining focus on a game element or target zone while moving.
- Reverse Behavior: Adds 180 degrees to the calculated facing angle. The robot will continuously point its back towards the specific
(X, Y)coordinate on the field as it moves.
Piecewise
Section titled “Piecewise”Piecewise heading allows you to divide a single path segment into multiple smaller sections, applying different heading interpolations (e.g., linear, constant, tangential, or facing point) to each fraction of the segment. This provides fine-grained control over the robot’s rotation during complex movements, enabling multiple heading behaviors within a continuous motion.
Chained Paths
Section titled “Chained Paths”In Turtle Tracer, Chained Paths refer to multiple path segments linked together into a single sequence item. Instead of stopping and starting a new sequence item for each segment, chained paths allow the robot to transition smoothly from one curve or straightaway to the next.
When paths are chained, they act as a continuous geometric shape. By default, each segment in the chain maintains its own individual heading settings, allowing a single chained movement to execute a Tangential turn followed by a Constant heading strafe.
Globally Chained Paths
Section titled “Globally Chained Paths”When creating chained paths, you have the option to apply a Global Heading.
A Global Heading acts as an override for the entire chain. Instead of each segment defining its own heading logic, the global heading applies uniformly across all segments in the chain. For example, setting a global “Facing Point” heading on a chained path ensures the robot continually tracks the target point throughout the entire complex movement, ignoring any individual segment headings. This simplifies configuration when a consistent orientation is required across multiple linked maneuvers.