TrajectoryPoint

class phoenix5.TrajectoryPoint(*args, **kwargs)

Bases: pybind11_object

Motion Profile Trajectory Point This is simply a data transfer object.

Overloaded function.

  1. __init__(self: phoenix5._ctre.TrajectoryPoint) -> None

  2. __init__(self: phoenix5._ctre.TrajectoryPoint, position: float, velocity: float, arbFeedFwd: float, auxiliaryPos: float, auxiliaryVel: float, auxiliaryArbFeedFwd: float, profileSlotSelect0: int, profileSlotSelect1: int, isLastPoint: bool, zeroPos: bool, timeDur: int, useAuxPID: bool) -> None

property arbFeedFwd

Added to the output of PID[0], should be within [-1,+1] where 0.01 = 1%.

property auxiliaryArbFeedFwd

Added to the output of PID[1], should be within [-1,+1] where 0.01 = 1%.

property auxiliaryPos

The position for auxiliary PID[1] to target (in sensor units).

property auxiliaryVel

The velocity for auxiliary PID[1] to target. (in sensor-units per 100ms).

property headingDeg

Not used. Use auxiliaryPos instead. @see auxiliaryPos

property isLastPoint

Set to true to signal Talon that this is the final point, so do not attempt to pop another trajectory point from out of the Talon buffer. Instead continue processing this way point. Typically the velocity member variable should be zero so that the motor doesn’t spin indefinitely.

property position

The position to servo to (in sensor units).

property profileSlotSelect0

Which slot to get PIDF gains. PID is used for position servo. F is used as the Kv constant for velocity feed-forward. Typically this is hard-coded to a particular slot, but you are free to gain schedule if need be. gain schedule if need be. Choose from [0,3].

property profileSlotSelect1

Which slot to get PIDF gains for auxiliary PID. This only has impact during MotionProfileArc Control mode. Choose from [0,3].

property timeDur

Duration (ms) to apply this trajectory pt. This time unit is ADDED to the existing base time set by ConfigMotionProfileTrajectoryPeriod().

property useAuxPID

If using MotionProfileArc, this flag must be true on all points. If using MotionProfile, this flag must be false on all points.

property velocity

The velocity to feed-forward (in sensor-units per 100ms).

property zeroPos

Set to true to signal Talon to zero the selected sensor. When generating MPs, one simple method is to make the first target position zero, and the final target position the target distance from the current position. Then when you fire the MP, the current position gets set to zero. If this is the intent, you can set zeroPos on the first trajectory point.

Otherwise you can leave this false for all points, and offset the positions of all trajectory points so they are correct.

If using multiple sensor sources (Arc modes) we recommend you manually set sensor positions before arming MP.