Log in

View Full Version : Common or uncommon sensors used in FRC


itsjustmrb
19-10-2013, 07:51
Our team is looking into expanding our use of sensors. What sensors do y'all use? Please provide links or specific details of possible.

Thanks in Advance,

Mr. B

Whippet
19-10-2013, 14:45
My former team always used the old rotary limit switches that were distributed in the KOP up until 2011. I think that they can be found at this link, but I'm not entirely sure it's the same model.

http://www.automationdirect.com/adc/Shopping/Catalog/Sensors_-z-_Encoders/Limit_Switches/Double-Insulated_(PBT)_Limit_Switches_(AAP,_ABP_Series)/Side_Rotary_Adjustable_Lever_with_Polyamide_Roller _Actuator/AAP2T51Z11

They are extremely helpful for implementing soft stops for arms, kickers, and dumpers. We simply plugged them into the input pins in the DSC, and programmed the robot such that the motors can not rotate in certain directions when the switch is activated. From what I heard, this can be accomplished easier by plugging the limit switch directly into a Jaguar, and using jumpers to determine which directions the motor can rotate when the switch is activated. You will have to consult the Jaguar information sheet for this, though, as I have never attempted this.

brennonbrimhall
19-10-2013, 17:43
We've always used limit switches with encoders and gyros from the KOP.

mathking
19-10-2013, 20:14
Ultrasonic range sensors (almost every year, to find the distance from the wall) and garage door sensors (two of the last three years, to know whether we had loaded a game piece) have been useful for us.

brennonbrimhall
19-10-2013, 23:02
...garage door sensors (two of the last three years, to know whether we had loaded a game piece) have been useful for us.

I don't think I've ever heard of a garage door sensor. Would you mind explaining what it is?

ekapalka
19-10-2013, 23:24
My team is also trying to branch out with our use of sensors. After tons of begging and fundraising, I convinced my team to buy one of these (http://usdigital.com/products/encoders/absolute/rotary/shaft/MA3) (the analogue version). It's perfect. Our team's autonomous and even teleop relied significantly on this, and it hasn't ever failed us. Also, I've heard from other teams that these (http://usdigital.com/products/encoders/incremental/rotary/shaft/H5) are very decent encoders (and are easy to mount), and they work with the encoder classes provided by FIRST with the programming software.

mathking
20-10-2013, 00:04
Garage door sensors are the IR beams used to detect if something (like a child) is in the way of your garage door as it descends. The sensor is actually a pair of devices: an IR emitter and an IR receiver. The receiver sends a different signal when it can and cannot see the emitter beam. We have used them for a variety of purposes. Taking Rebound Rumble as an example, we had a garage door sensor mounted low in the robot. When we started picking up a ball it would block the beam and the sensor would signal that something (a ball) was blocking its beam. When the ball cleared the beam and the receiver could again see the emitter the robot knew to turn off the conveyor. A similar set up at the top was used to "count" balls going to the shooter. Together these two garage door sensors let us move balls efficiently inside the robot and count the balls we picked up and shot.

Gregor
20-10-2013, 00:33
Taking Rebound Rumble as an example, we had a garage door sensor mounted low in the robot. When we started picking up a ball it would block the beam and the sensor would signal that something (a ball) was blocking its beam. When the ball cleared the beam and the receiver could again see the emitter the robot knew to turn off the conveyor.

How did you know to start rotating the conveyor again after the first ball passed through?

mathking
20-10-2013, 12:38
How did you know to start rotating the conveyor again after the first ball passed through?

The front roller that gathered in balls was not connected to the conveyor system which lifted the balls. When we wanted to gather balls we ran the front roller, and it would pull balls into the lift conveyor. When the lift conveyor detected a ball it would run until it could no longer detect the ball, then stop. (This is pretty much the reverse of how a garage door sensor is used in a garage.) This lifted the ball up into the robot, but not too far. This was important because the lift conveyor also fed the shooter. The sensor at the top was used when we activated the shooter. When the optical sensor determined the shooter wheel was at the proper speed the conveyor would run until the top sensor detected one ball, and would keep running until it could no longer detect the ball (meaning it had been pulled through the shooter). Then the conveyor would wait for the command to shoot again. We had a "shoot until empty mode" that counted balls in and out, but we found that our shooter was never accurate enough that the 2 seconds this could have was better than verifying the first shot manually. I might have a picture if you would like.

brennonbrimhall
20-10-2013, 12:56
Garage door sensors are the IR beams used to detect if something (like a child) is in the way of your garage door as it descends. The sensor is actually a pair of devices: an IR emitter and an IR receiver. The receiver sends a different signal when it can and cannot see the emitter beam.

Really cool! Thanks for the clarification. Do you guys make your own, scavenge them from old garage doors, or purchase them?

aryker
20-10-2013, 13:32
From what I heard, this can be accomplished easier by plugging the limit switch directly into a Jaguar, and using jumpers to determine which directions the motor can rotate when the switch is activated. You will have to consult the Jaguar information sheet for this, though, as I have never attempted this.

I implemented one of those in 2011 for a soft stop on our robot's elevator--it wasn't too bad, although if I remember correctly I had to solder a few transistors onto a proto board and stick it between the switch and the Jag jumper to step down the voltage.

Also, our team tried out a Hall Effect(magnetic) sensor this year to work was a soft stop for the cam that pushed our Frisbees into our shooter, and it worked perfectly--all the convenience and functionality of a limit switch, but with no physical contact involved, so it never wore out!

aryker
20-10-2013, 13:36
I implemented one of those in 2011 for a soft stop on our robot's elevator--it wasn't too bad, although if I remember correctly I had to solder a few transistors onto a proto board and stick it between the switch and the Jag jumper to step down the voltage.

Also, our team tried out a Hall Effect(magnetic) sensor this year to work was a soft stop for the cam that pushed our Frisbees into our shooter, and it worked perfectly--all the convenience and functionality of a limit switch, but with no physical contact involved, so it never wore out!

Oops, forgot to include the link to the Hall Effect sensor we used:
https://www.sparkfun.com/products/9312

Ginto8
20-10-2013, 19:41
We used a hall-effect sensor (put together by the team) to measure wheel speed -- two opposite-facing neodymium magnets in a bracket on the axle let us use the Counter class's getPeriod() (implemented in the cRIO's FPGA) to determine how fast it was spinning.

We also used IR bounce-back sensors (also team-constructed) for no-contact limit switching, similar to how aryker used a hall-effect sensor.

After our district competitions, we also added a string-potentiometer, which in our case we used to keep our tilter from going too high and pulling out our lead screws -- yes, there were mechanical alternatives, but we didn't want to risk dismantling the system on the first day of MAR champs. Also, our drivers ended up using it as an alignment system when our camera died (that is, never worked on the field).

jasp
20-10-2013, 19:53
Our team generally uses

ir
encoders
limit switchs
camera/ircamera


generally we use IR instead of ultrasonic because IR works better for the ranges we need, and generally the ultrasonics we have are too short a range.Also limit switchs are nice, the problem with them is that they break easly.

last year one of the mechanical teams made us put on a Hall Effect Sensor to know the rpm for shooter wheel. We never used it because it was to much work with little benift. Not sure if they realized it wasn't pluged in.

DELurker
21-10-2013, 13:13
Our team is looking into expanding our use of sensors. What sensors do y'all use? Please provide links or specific details of possible.

Mostly, we use the Eyeball, Mk I and the onboard camera. We would like to be using IR range sensors (https://www.sparkfun.com/products/8959), IR through-beam sensors (https://www.sparkfun.com/products/241), 9-axis IMU (https://www.sparkfun.com/products/11486), ultrasonic range sensors, potentiometers, and encoders, but we can never seem to get any of them to work reliably. :confused:

The best we've been able to do lately is get a potentiometer to give us output for our shooter deck angle calculations and have the camera make the robot able to chase after a frisbee on the floor in a game of "Keep Away".

Racer26
21-10-2013, 13:37
Sensors are great: when they're needed.

Many FRC applications need no sensors at all, or very limited sensors with a very specific purpose.

Sensors used poorly will make a decent robot perform WORSE, not better.

One of the most important things to consider when using sensors in an FRC application is what will happen when your sensor fails.

Brandon_L
21-10-2013, 14:01
I don't think I've ever heard of a garage door sensor. Would you mind explaining what it is?

IR (Infrared) beam sensors. The kit sensors can be used in a proximity mode or as a IR emitter/phototransistor combo (Basically "Break the laser beam" mode). There is a selector switch you can rotate to choose which mode.

With the right mode, and some programming magic, you can do some pretty cool stuff. We used them in 2012 in proximity mode for our ball indexing (http://www.youtube.com/watch?v=wkI0a7QXSLs).

Other common FRC Sensors include:

Encoders/Hall Effect Sensors (http://en.wikipedia.org/wiki/Hall_effect_sensor) to measure RPM (some higher rez encoders can be used for measuring angles)
Variable Resistors/Potentiometers (POTs) for a more precise method of measuring angles, or in some cases linear POTs for distances.
Digital switches (on/off, such as a limit switch)
Gyroscopes, which measure angular acceleration (or general acceleration in some cases)
Ultrasonic, which send out a sound wave and times its response. From that measurement + the known speed of the sound wave, distance to the object it hits can be calculated
My favorite, the webcam provided in the KOP for fun stuff such as vision tracking or simply a robot POV for the drivers.

mathking
22-10-2013, 09:29
Really cool! Thanks for the clarification. Do you guys make your own, scavenge them from old garage doors, or purchase them?

We have both scavenged and purchased them. The first one we ever used from from a parent's garage. It is nice having a sensor you can run out and buy at a local store the Saturday before bagging if you need an extra. One nice thing about garage door sensors is that they tend to come with a lot of attached wire, so it is usually pretty easy to position them inside a robot.



Sensors are great: when they're needed.

Many FRC applications need no sensors at all, or very limited sensors with a very specific purpose.

Sensors used poorly will make a decent robot perform WORSE, not better.

One of the most important things to consider when using sensors in an FRC application is what will happen when your sensor fails.

This is a very important point. One which we try to (and don't always succeed in) take into account with each sensor. You want to make sure that you (A) have a manual override option where appropriate and (B) make sure the the default reaction of the controller when a sensor fails does not disable an important function of your robot.

A quick example of an instructive failure. Last year at Queen City, our ability to shoot autonomously mysteriously failed. The cause was a piece of retro-reflective tape placed wrong side up. As a result the optical sensor could not determine the shooting wheel speed. So the robot just waited the whole autonomous period for the shooter wheel to get up to the correct speed to shoot. The fix was easy. We coded a timer so that after waiting for 1 second without a change in speed from the sensor the robot would just shoot. (For the record, that fix was incorporated in the code at one point before competition, but in making a couple of changes at competition it was accidentally deleted. Because we didn't have wifi access to the code repo no one noticed at first.)

Brandon_L
22-10-2013, 14:06
A quick example of an instructive failure. Last year at Queen City, our ability to shoot autonomously mysteriously failed. The cause was a piece of retro-reflective tape placed wrong side up. As a result the optical sensor could not determine the shooting wheel speed. So the robot just waited the whole autonomous period for the shooter wheel to get up to the correct speed to shoot. The fix was easy. We coded a timer so that after waiting for 1 second without a change in speed from the sensor the robot would just shoot. (For the record, that fix was incorporated in the code at one point before competition, but in making a couple of changes at competition it was accidentally deleted. Because we didn't have wifi access to the code repo no one noticed at first.)

Would also be a good idea to give some kind of error readout after the 1 second as well, so you don't continue on your merry way thinking everything's working fine.

mathking
22-10-2013, 22:28
Would also be a good idea to give some kind of error readout after the 1 second as well, so you don't continue on your merry way thinking everything's working fine.

We had the wheel indicator in smartdashboard, so in teleop it was pretty easy to tell if the sensor was working.

Clem1640
23-10-2013, 07:59
We use BI Technologies Magnepot Hall Effect Potentiometer (Part # 6127V1A360L.5FS) as angle sensors for our pivots. A great 360° (stopless) angle sensor.

http://www.bitechnologies.com/pdfs/6120.pdf

faust1706
23-10-2013, 10:17
Our team loves limit switches. For our claw in logomotion (anyone here remember that game, or am I just getting old?), when we picked up a tube, it pressed a limit switch in our claw and when that switch was pressed, our claw would automatically raise to it's locked position. (not our arm, big difference).

This was something I am very fond of: For our minibot deployment, we had a piece of lexan blocking the circuit to our motors on our minibot. When our deployer was fully extended, the cord with lexan at the end would get pulled off because it couldn't reach that far, which would then start our motors automatically and the minibot would begin its ascent to the pressure plate.

We use the kinect as a sensor and not a camera. We don't send what the camera is seeing, but the distance it calculates and the x rotation (and in 2012 it gave pose). I like to call it a sensor because that's really what it is, and even more so in how we use it.

In rebound rumble:Like the garage door opener (which was mentioned earlier in this tread) we used a similar concept. For an rpm sensor in our turret, we drilled a hole in our shaft. We had a ir sensor and light. Every time the sensor saw the light, it added to the count by 1, then divided it by 2 (for every 1 revolution, the light will be seen twice)

We also used it in our hopper. We had a high sensor and a low one. Once a ball was detected in the lower sensor, it would raise the hopper until the top sensor detected a ball, then it would lower it back to the bottom sensor until it was detected. this assured that we had optimal space in our hopper. If that makes sense. It has ensured we only had 3 balls in the hopper.

We also made a custom circuit, so that when our arm what touching the bridge to pull it down, it completely a circuit that would shine bright green towards our drivers to let them know they can use the arm.

In Ultimate Ascent:

We used a limit switch on our hanging mechanism. We had octacanuum drive, so we would raise onto our traction wheels, which would put our chin-up bar as well called it right at the 10pt level on the pyramid. We'd drive onto it, and start hanging. When the bar on the pyramid was in position so we could hang, it has pushed 2 limit switches (one per side), which automatically raises our wheels and cuts all power to our motors.

Hope that makes sense. It's early and I just finished reading The Idiot by Dostoevsky in english class. Not all here.

mwilbur
23-10-2013, 10:46
A number of people have mentioned ultrasonic distance sensors, but our team has used IR distance sensors successfully in the past. The ones we've used are made by Sharp, and there are a variety of ranges to choose from. These are great for sensing game pieces anytime, or the walls of the field during autonomous. There are a number of vendors that sell the sensors, but I will refer you to the link that we generally use at Acroname Robotics:
http://www.acroname.com/robotics/info/articles/sharp/sharp.html

One thing to watch out for with these guys is that they use a conductive plastic case. This can cause problems when the inspectors check to see if your cRIO is isolated from the robot chassis, so you will need to electrically insulate the Sharp IR sensor if you mount them on metal structural components.

JamesCH95
23-10-2013, 11:32
US Digital E4P Encoders (AM)
Magnetic Reed Switches (McMaster) which are more durable than limit switches IMO

That's about it, we're pretty basic on sensors.

tr6scott
23-10-2013, 11:41
Polarized retro reflective photoeyes.
Banner DS18VN6LP about $50 each, need polarized reflectors.
Banner BRT-35DM refectors. $7 each
Banner SMB18A mounting bracket.

In industry polarized are used, as they are less likely to be fooled by shiny objects. Really not a problem with rebound rumble balls or discs, but may be in the future.

I like these better than the AB ones that came in the kit of parts, Logomotion, as they seem to be more stable at lower battery voltages than the AB units. Logomotion year, they allowed them to be wired to 24vdc supply, I did not see that allowed rebound rumble, or ultimate assent.

534-1-1-503 Spectrol 50K 10 turn POT, this is just something we had on the shelf from job, used as angle sensor.

If using industry stuff, you need to look for the 10v dc range for lower end, and NPN switching for the digital side card. NPN is not typically used in the US industry, so you may need to order.

I work in industrial controls, so TORC is lucky to have these donated to the team.

Everett33
23-10-2013, 12:48
This year 2145 used one of these http://www.automationdirect.com/adc/Shopping/Catalog/Sensors_-z-_Encoders/Limit_Switches/Double-Insulated_(PBT)_Limit_Switches_(AAP,_ABP_Series)/Side_Rotary_Adjustable_Lever_with_Polyamide_Roller _Actuator/AAP2T51Z11 to stop the robot when it got to the wall in autonomous. We also used two of the small KOP touch sensors to tell when our lift was all the way up or down for ease of driver control and consistent autonomous runs.

kiettyyyy
25-10-2013, 02:32
1538 typically uses the following on our robots:

Rotary Encoder(US Digital S4, usually on one drivetrain wheel)
Angular Rate Gyroscope(KTC Research package)
Digital or Analog IR sensor
Potentiometers (Typically mounted on output shafts of arm gearboxes, etc)

itsjustmrb
25-10-2013, 10:45
Wow...this is one of the reasons I love FIRST and Chief Delphi. Thanks for all the suggestions and links to available sensors. Feel free to keep adding to the list.

Mr. B.

Joe Ross
25-10-2013, 11:35
Here are the sensors we have used over the last few years:

Gyro: AndyMark AM-2067 (Analog Devices)
Encoders: Us Digital E4P
Potentiometer: Vishay 534B1103JCB10
Hall Effect: Allegro A1101EUA-T
IR: Sharp GP2Y0D805Z0F

yash101
28-10-2013, 14:56
To measure RPM of motors, I was thinking about using something like hall-effect sensors. I have not used this technology before and I would like to learn how to use these and how to program these, We currently program our robot in Java because most of the team members already know it. So, could we use hall-effect with sintered Neodymium Rare-Earth Magnets. Also, could we use dual axis hall-effect sensors to detect the orientation of the robot (using the magnetic field of the Earth)::ouch:: ::ouch:: ::ouch:: ::ouch:: ::ouch::

Jim Wilks
28-10-2013, 19:30
they use a conductive plastic case

Isn't that a bit of a contradiction? Aren't plastics all non-conductors?

yash101
28-10-2013, 20:57
Possibly. However, there are so many types of plastics. Maybe there is one that it conductive. Bad idea to insulate live wire with that!
:deadhorse: :deadhorse: :deadhorse: :deadhorse: :deadhorse:

BBray_T1296
28-10-2013, 21:33
Isn't that a bit of a contradiction? Aren't plastics all non-conductors?

Apparently not ICPs (http://en.wikipedia.org/wiki/Conductive_polymer)

yash101
28-10-2013, 22:40
Naiice! I wish to use those in some parts of the DevyashMobile to save space!
:) :)::ouch:: ::ouch:: ::ouch::

JamesCH95
29-10-2013, 12:50
Isn't that a bit of a contradiction? Aren't plastics all non-conductors?

Nope.

I am working with a battery that uses plastic electrodes. :yikes: