Talon SRX Motion Profile Manual

RemoteLOS fault is set. That means the Talon is trying to get remote sensor data and its not on the bus. Probably the remote filter is wrong.

You have to make some decisions about what sensors you want to use before firing MPs.

Some steps …
  1. Decide which talon will be running the profile. I usually use the right side, so I’ll treat that as the example. This means the right talon will execute PID[0] + PID[1]. That the other side talon (left) will be setup as an Aux Follower, so it will apply PID[0] - PID[1]. All the math is done in the master, aux follower just takes applies the processed result.

  2. If you have other talons/vics to mirror, make them simple followers that follow the rightMaster or LeftAuxFollower, respectively.

  3. Decide what sensor source you want to use for robot-distance. It can be one encoder, sum of two encoders, difference of two encoders.
    (sometimes you use diff if the left and right encoders are oriented that way).
    Let’s say we want to use masterTalon (right) - followerTalon(left) quad sensors.

  4. Decide what sensor source you want to use for robot-heading. Pigeon IMU or difference/sum of right and left encoder are typical. Lets say we want to use PigeonIMU (on CAN, device ID zero).

  5. Open begin.vi

  6. Open front-panel of the configs passed into CONFIG ALL

  7. Config Selected Sensor for primary PID0 to be Sensor Difference or whatever you decide in [3]. Later we will select difference of what)

  8. Config Selected Sensor for auxiliary PID1 to be Remote sensor 1or whatever you decide in [4]. Later we will select which remote device.

  9. Sensor Diff means “Diff Term 0” - “Diff Term 1”. So select Diff Term 0 to be quadrature (or similar) and select Diff Term 1 to be the remote sensor 0. Later, we will select which device is the remote sensor 0.

  10. Config Remote Sensor 0 to be the AuxFollowerLeftTalon. Remote sensor 0 has a device type and a device ID. Enter matching values for the auxFollowerLeft.

  11. Config Remote Sensor 1 for Pigeon on CAN bus - device ID 0

So to recap

PID[0] (drive) will use SensorDiff, which means SensorDiff0Term - SensorDiff1Term

  • SensorDiff0 is set to master talons attached sensor.
  • SensorDiff1 is set to RemoteSensor0 (a remotely sourced sensor)
  • RemoteSensor0 filters for the left talon’s selected sensor (quad).
    You may want to use SensorSum depending on orientation.

PID[1] (turn) will use RemoteSensor1

  • RemoteSensor1 is set to capture Pigeon’s heading.
Testing
  • Test the config by pushing robot straight forward and back.
    Only PID[0] position should rise and fall.
    You can use self-test/tuner-plot/ custom plotting, prints, LabVIEW plotting, whatever.

  • Test the config by turning robot left and right.
    Confirm PID[1] position rises and falls, while PID[0] remains mostly unchanged during zero turns.

2 Likes