What kind of sensors did you implement this past season

This off season we had been playing around with a 10 turn pot, which made me think all our team really ever uses for onboard sensors and controlling motors is really encoders.

What are some other sensors you’ve liked to use?

1 Like

On last year’s bot:

  • 2x Limelight
  • 5x CTRE mag encoder
  • 2x VP encoder slice
  • 1x Pigeon IMU
  • Current sensing on cargo and hatch intakes
  • Velocity homing for arm (instead of a limit switch)

We really like mag encoders as they’re non contacting and let us do relative and absolute position. We’re currently experimenting with the new Rev Through Bore Encoders, they’re lower cost and seem easier to integrate.

We used to use hall effect limit switches like the WCP one but velocity homing (wait to see zero velocity for X ms) and current sensing have both served us pretty well for the past few years and let us remove a sensor. We do use both beam break and diffuse Banner sensors for some applications.

We’ve been using a Pigeon IMU for a couple of years, we’ve had zero issues with it and being CAN based means we can keep the MXP port free and choose where we put it.

1 Like

Other than encoders, we used:

  • Garmin Lidar Lite for measuring distance to cargo on the floor - used as part of an automated drive-to-cargo routine. We intended to use it for distance sensing to field elements as well, but the transparency of the loading station was a problem so we used camera distance calculations for all field elements based on known geometry of the reflective tape.

  • Sharp IR distance sensor for measuring short distances between cargo and our cargo acquisition mechanism. A distance threshold was used to trigger automated cargo capture. It would have been nicer to have a cargo mechanism that didn’t need a sensored capture routine, but the students loved the mechanism they designed. In the end, the software + hardware solution worked quite well. Watch out for the conductive plastic on those Sharp IR sensors, though.

  • Analog Devices ADIS 16448 IMU was used primarily to measure robot pitch during our level 3 hab climb. We used closed loop control to adjust motor speed of our rear-mounted climbing claws so the robot stayed level as a front-mounted pneumatic cylinder extended at an uncontrolled rate. We experimented with some robot yaw measurements for use in automated drive-to-target routines, but we ended up with a camera-only solution rather than camera + gyro.

  • Rev Robotics mag limit switch was used as an elevator down sensor. It was primarily there as a backup in case our elevator chain slipped and the encoder was no longer accurately reading elevator height. I’m not sure if that sensor ever came into play during competition. I know it came in handy a few times with our practice bot, which suffered way more abuse and got less TLC than the competition bot.

  • KoP-style micro limit switch with long straight lever was used as part of a mechanism that sensed when our robot was fully on hab level 3 to stop the drive wheels and signal the driver to retract our climbing cylinder rod. Not sure if a physical limit switch is the kind of thing the OP is looking for, but I included it anyway.

  • I’m not sure if cameras should count as sensors, but we used cameras for distance sensing as mentioned earlier and for target tracking for drive-to-field-element and drive-to-cargo routines. We had a fixed camera using “dark” exposure settings for field element tape and a tilting camera using “light” exposure settings for cargo tracking and sandstorm driving.

This is what we used on our 2019 robot:

  • 3x US Digital Optical Encoders: Position and Velocity for Drivetrain and Elevator
  • 1x AndyMark MA3 Absolute Encoder: Position and Velocity for Arm
  • 2x VP Encoder Slice: Position and Velocity for Climber (1 for front stilts, 1 for back stilts)
  • 1x Pigeon IMU: Yaw for Path Following and Odometry, Pitch for balancing during climb
  • 1x LIDAR Lite: Detect whether robot was on HAB Level 3 during the auto-climb sequence
  • 2x Automation Direct Photoelectric Sensor: Detect cargo in the intake
  • 2x Automation Direct Limit Switch: Limit switch for Elevator and Front Stilts
  • 1x Magnetic Hall Effect Sensor: Limit switch for Back Stilts
  • 2x JeVois Smart Vision Camera (1x Limelight during Offseason): Vision alignment

Did you use I2C for either of your distance sensors? Or team is trying to figure out how to use that port and struggling a little.

We used I2C for the LIDAR. We used the Roborio I2C port for power and signal. We used the capacitor across the power leads as shown on p.3 of the Garmin Operation Manual. We used Labview last year, but will be using Java for 2020. I don’t have a good way to get to the old Labview code at the moment. I think that this CD post was very helpful in getting things to work for us.

Fun. I am not familiar with this substance. Care to elaborate?

I don’t know what makes the plastic conductive on the casing of the Sharp IR distance sensors, but it is. At about 9 pm on bag day we were finishing up our run-through of the inspection checklist and when we got to the resistance measurement between the battery connector and frame, we were definitely out of spec. We are used to infinite resistance, so didn’t check this until the last minute. We essentially re-wired the entire robot over the next two hours and had made no improvement to the resistance reading. A search on CD found one post which mentioned a problem with the Sharp IR distance sensors being conductive. We removed the wire connector from that sensor and immediately found infinite resistance to the frame. We initially thought that something on the exposed circuit board must be causing the problem, but that was definitely not it. It was the plastic. We not only had to tape the aluminum mount behind the sensor, but we had to use plastic wire ties to attach the sensor to the mount. It’s hard to tape the inside face of holes where bolts could make a connection between the plastic casing and the aluminum mount. :face_with_raised_eyebrow:

We used these sensors in at least one previous year. In that year, inspectors found some amount of conduction to the frame, but it was within spec. Those were fun discussions, since the usual reading is infinity, but we cited the spec and got passed. We never knew what was causing it, but there is no doubt now that it was the IR distance sensor.

These are nice sensors for certain kinds of distance measuring needs. They are inexpensive, light, easy to use, and have been reliable for us. We’d use them again, but they need to be insulated from the frame.

  • Proximity sensor to sense whether the robot has a Cargo ball
  • 4 RS7 encoders, one for each leg of the climber (although we didn’t climb at the end)
  • 2 Grayhill 63R256s, one for each side of the drivetrain
  • 2 SRX Mag Encoders, one for the elevator, one for the wrist
  • Magnetic limit switches, for the climber’s legs and the wrist
  • 2 Intel RealSense D435 depth cameras, at Championship we reduced to one (we used an Nvidia Jetson TX2)
  • navX-MXP for yaw measurement.

We used…

2x CTRE Mag Encoders
1x VP Encoder Slice
5x Talon Tachs
1x Microsoft Lifecam
1x NavX Gyro

We used quite a few pneumatic cylinders this year so that helped not needing a ton of sensors, but it wouldve been nice to know when the cylinder was full extended, not just the fact of where its suppose to be.

973 used a limelight, a REV magnetic limit and a single CTRE mag encoder.


973 2019 is the best example of KISS ever. Thanks to you and them for a seriously inspiring example.


How are you liking the through bores? We just got some today to look at.

We ran into the same issue with the SHARP IR sensor.
For what it’s worth, the conductivity is listed (kinda) on it’s datasheet.


They seem great so far! We already connect our drive encoders to the RIO so that hasn’t been an issue. The sensors seem robust enough, our only complaint thus far is that the stock cables are a little odd, I suspect most teams will cut the extra leads.