Isolating Leaks

In planning for build season, I was seriously considering adding a measure for blocking air flow out of loose connections and isolate the leak from affecting the whole system. To solve this, I was considering modifying a pneumatics sensor to sync up with an actuating shut-off valve that we would design ourselves. Would this be legal first of all? Also, are there any suggestions?

1 Like

I think you are going above and beyond with this one. I think you need to start a little simpler. The first thing I suggest is a pneumatic tube cutter. It will do wonders to help students cut pneumatics straight.

With how cheap they are there should be no excuse to get one.

Next you want to get a combinations of caps and plugs so you can move through your system in stages. Start with just high side with compressor, pneumatic brass and regulator with a pressure gauge on it. Then cap or plug the end. Then start to add your solenoids 1 by 1 checking the pressure each time. If you use the pneumatics block you will need a bunch of plugs

Alternatively to the cap you can use a T fitting with a loop connecting 2 of the 3 ports.

I’ll also recommend a simple cup of soapy water and brush. If you have a leak, brush the soapy water on all of your connections. In the spot with the leak, the escaping air will create small bubbles that you’ll be able to see. If you do it right, it takes a lot of the difficulty out of chasing down leaks.


We only have the 2019 rules to look at, but for this purpose they are probably very similar to what we’ll see in 2020:

R82. All pneumatic items must be COTS pneumatic devices […]
R83. All pneumatic COMPONENTS must be used in their original, unaltered condition. […]

There’s more to each of those rules, but I don’t think it directly applies to this question. Designing and building a pneumatic device yourself is not allowed. However, using a COTS pneumatic device and interfacing it with an actuator does not violate this rule - for example, I’ve seen a team 3D print an interface for a secondary pressure regulator that allowed them to adjust the pressure. The regulator was not modified, and as a secondary regulator, the working pressure was still restricted by the primary to 60PSI or less.

R93. Any pressure vent plug must be:
A. connected to the pneumatic circuit such that, when manually operated, it will vent to the atmosphere to relieve all stored pressure in a reasonable amount of time, and

Even if you construct your mechanism legally, this one is probably going to trip you up. The idea of closing off a portion of the system if there’s a leak is great, but the fact that you’re closing it off could very easily mean that your pressure vent plug won’t be able to drain that portion. I’ve seen some creative, complicated designs for systems in order to stay within this rule for a given system design, but it’s not something I would recommend.


Just to humor the idea. OP could meet R93s requirements this with a 2 position solenoid and a check valve as his isolation valve. Pictured below

1 Like

So, if you are looking to isolate leaks that are downstream of your solenoids, this could be done by using the solenoid itself as the shutoff valve.

If you added a pressure sensor into the line between the solenoid and the actuator, you could detect a large leak in that segment of the system (such as a completely disconnected hose). Once the actuator has moved to it’s position, that line should return to system working pressure. If there is a large leak, it will not. If the leak is small (as most of them are) then you would likely not see a significant loss of pressure in this line and therefore would not be able to detect the leak using this method.

Instead, if you have an electronic sensor in your storage system (upstream of the regulator) then you could monitor the storage pressure real time. When you actuate a particular function, you would see the stored pressure drop as you consume the air for your actuator, but it would stabilize pretty quickly and begin to recover once the compressor is running. If, instead, it continues to drop, then you know you have a leak in one of the functions is currently turned on by the current set of solenoid positions. If you only moved one solenoid and before you actuated that function, the pressure was stable, then it is a good bet that the leak is in that function. You would then switch the solenoid back to the previous position to isolate the leak. It would, of course, mean the function was no longer usable (or at least could not be sustained for long periods without losing all your system pressure), but you will have that same result regardless of what you do to isolate the leak.

So now, you just need to get your programmers to write some fault detection logic that looks at the storage pressure reading. You would have an expected change in your storage pressure for each function you have on the robot. So when you actuate that function, the fault detection would look for that expected drop. If the pressure drop is more than expected or does not stabilize after the function is actuated, then it would post a message to the driver’s station display to indicate that the particular function that has just been actuated is leaking.

For example, if you have a hatch grabber that uses a piston to actuate a claw and your storage pressure is expected to drop from 110 psig to 100 psig when you actuate that piston*, the program would look for that drop when the button is pushed. If the pressure stabilizes at 100 as expected, then everything is normal, but if the pressure drops to 100 and then keeps dropping, there is a leak. You might set the threshold at 95 for when you post the fault message to the driver’s display.

The fault isolation is probably going to be the most challenging part. Knowing how most matches go, and the nature of slow leaks, you may fire 4 or 5 different functions before the air leaks down to your fault detection threshold. This will make it challenging to know which of those functions is leaking. It may not be the last one you fired if the leak is slow in one of the earlier functions. You may need to keep track of a known good configuration (such as your starting configuration) where the leak rate is acceptably low. Then you keep track of each function whose state is different from that starting configuration. If a particular function can be actuated and the pressure in that configuration is deemed to be stable after a pre-determined time period (say 10 or 15 seconds), then you may be able to also declare that configuration good. By doing this, you should be able to limit the number of possible leaking branches to just one or two. you could display all the possible leak locations on the display and the drivers could return each of them (one at a time) to the starting state and see if the pressure stabilizes. This could potentially be very distracting to the drivers as they try to troubleshoot in the middle of a match, but if your pneumatic power is valuable enough to your match performance, it might be worth doing.

  • Note: The pressure drop for each function depends on the storage pressure before the actuation. You will need to do some math to figure that out, but this can be done with a simple spreadsheet. It should result in an equation for pressure after as a function of pressure before.

Are you wanting to isolate leaks due to faulty manufacturing processes and techniques or leaks due to “accidents” such as another robot reaching into yours and severing a line?

If you are concerned about the former, you are better off learning how to improve your manufacturing processes and techniques. It is always better to resolve the root cause of a problem than to try to work around it. People have reported that they had bagged their robot with the pneumatic system charged and finding it still charged when unbagged several weeks later.

The tools an troubleshooting techniques that @bcampbell linked would be a good start. I saw one team (2013, I think) that used a stethoscope with the round end removed to listen for leaks. They let me try it and I could hear a leak even with the loud music at an event.

This is a good idea! I’ve used a spare piece of tubing in a similar way before, but at least a stethoscope is designed to be stuck in your ear…

1 Like

I am mainly concerned with accidents during the match. I would love to automatically isolate leaks to prevent leaks on one mechanism from affecting the whole system. Although, I suppose we could design our system in some small ways to be more robust so leaks do not occur during matches in the first place. Nevertheless, having a measure to fall back on during matches would be very nice.

I bought a cheap one off Amazon and found the earpieces very uncomfortable. It may be better to ask someone in a medical field for one they are throwing out or find a medical supply place.

Note that if the accident is actually opposing action, a pneumatic leak may be one of the fastest ways to get your opponent a yellow card. I would say that 90% of such accidents fall under that category.

I would also say that most leaks don’t start during the match: they start when the system is built.

Providing sufficient coverage for accidents that is useful will be challenging. You will have to do a lot of analysis first. Performing an FMEA would be a good way to do the analysis. If you miss a failure mode, you could still end up dead on the field. You are likely to have to add a lot of solenoids to serve as cut-off valves, which adds extra failure points due to manufacturing defects.

You are probably better off building in a way that does not leave the pneumatic components and lines exposed/vulnerable then some sort of shielding.


Not sure if there is a clean way to do this that is within the rules. For example, if this system were to isolate a segment of your system from a blow out that means you have the ability to trap air in your system. If I remember correctly, the pneumatics needs to be able to be completey vented with the pressure relief valve. From my interpretation of what you are saying you want to create branches that would isolate the system that would cutoff portions of the system if there was a leak or blowout. Therefore you could have a part of your pneumatics system that does not vent when the pressure relief valve was turned becuase the system thought there was a leak and isolated part of the system.

1 Like

There are generally 3 approaches to dealing with consequences of a problem

  1. Minimizing the magnitude of the consequences
  2. Maximizing the tolerance of the consequences
  3. Minimizing the probability of the problem occurring

Your approach of isolating the damaged portion of your pneumatic system is an example of #3

Using redundant solenoids and actuators would be an example of #2

Locating your actuators and lines in a sensible way and/or adding shields is and example of #1

You should think about different ways to excecute each of the 3 approaches. You should also study the 2019 rules to get an idea of what would and would not be considered legal in 2020. Then you can choose some combination of legal solutions to make your final solution.

1 Like

Cough cough

Also, @philso you have that mixed up slightly OPs solution would be Minimizing the magnitude as it would be preventing a major air leak. Shielding would minimize the probability of the problem occurring.

A random idea I’ve been tossing around for years is using a pressure transducer and the characteristics of your system to figure out what the pressure drop should be for each actuation of a cylinder. If the pressure drop is greater than that, there’s probably a leak on the solenoid output that’s currently enabled, and you need to swap state and “plug” the leak before the solenoid can’t be actuated back anymore. There were a few times in 2018 where our gripper cylinder air hose disconnected, which not only killed the system for the entire match, but left the compressor running and draining power.

Obviously, this would be an extremely edge case and likely not worth the time, but does create an excuse to teach students about gas laws.

The gas law piece of the equation is fairly simple, especially if you maintain a constant working pressure. When doing the math, people forget that the psi that they are seeing on the gauge is psi above ambient (proper units are psig - g for gauge). So if you want the absolute pressure you need to add 14.7 psi to what your gauge is reading. From there, the math is pretty easy. I’ve seem people try to calculate pounds of air (or for the OCD types out there, slugs of air). While there is nothing technically wrong with that, it is usually easier to use standard cubic feet of air (SCF). Compressors are rated for SCFM (standard cubic feet per minute) and valves and hoses are also usually rated in those units.

For robotics systems where the air temperature can safely be assumed to be constant, to calculate the SCF of air in a given volume, you just multiply the volume by the pressure in atmospheres. To get the pressure in atmospheres, you divide the absolute pressure by atmospheric pressure (i.e. 14.7 for standard sea level conditions). So, for a 60 psig working pressure, the absolute pressure is 74.7 psi. 74.7 / 14.7 = 5 atm. So, for every cubic foot of volume, you have 5 SCF of air.

Now to the math of the theoretical pressure drop for each actuation, lets pick a ridiculously sized cylinder to make the math a little more illustrative: let’s assume we have a cylinder with a 1" diameter bore with a 10" stroke. The volume inside the cylinder is pi*(d/2)^2 * stroke = 7.85 cu in = 0.00454 cu ft. So the air you use to move that piston is (0.00454 cu ft x 5 atm) = 0.0227 SCF. The Andymark compressor is able to supply 0.22 SCFM at a normal storage pressure of 100-120 psig. So it would take about 6 seconds to replenish that used air. If you had 2 of those cylinders moving at the same time, it now takes 12 seconds to replenish the air.

To calculate the pressure loss in your storage tank, the math is equally straight forward. The standard Clippard tank has an internal volume of 35 cu in volume or 0.02 cu ft. Assuming that we have a single tank for storage and it is pressurized to 100 psig, or (100+14.7)/14.7 = 7.8 atm, it holds 0.156 SCF of air. So, for our single 1" bore x 10" stroke cylinder, we consume 0.0227 SCF of air leaving 0.1333 SCF in the tank. The pressure would now be 0.1333/0.02 = 6.665 atm or 83 psig. So, your pressure in your tank has dropped by 17 psi.

I picked a ridiculously large piston for this example so that the numbers would be large enough to see what was happening. But the math is the same for smaller pistons or combinations of pistons. As long as the storage pressure does not drop below the working pressure of 60 psig, this math is good. If the storage pressure drops below the working pressure such that the pressure in the cylinder at the end of a stroke is not the same as the pressure at the start, the math gets a little more involved. Also, keep in mind that if you use double acting cylinders, you also need to use air to return the cylinder back to its original position.


You are correct on that detail @Camren. My point was that the OP needed to consider other options.

1 Like

OP, Consider as well - detection versus mitigation. You have proposed doing both, which entails a certain amount of work.

If pressure transducers are plentiful, you may be able to settle for detection only. That is to say, detect with your pressure transducers that pneumatic pressure is out of range for the system configuration, and illuminate a WARNING indicator to your drivers. This would allow them to fix the issue prior to the start of match.

My $0.02 - From a cold, hard, “best way to spend your time” perspective: The sort of mitigation you speak of is definitely in the category of “belt and suspenders.” It’s relatively rare in industry to find such solutions, and is generally the least desirable way to solve a problem. Since you have control over the design, component selection, and routing of the pneumatic-related components, better to spend the time and effort on getting that design to be robust for 2.5 minute stretches, rather than designing around a theoretical failure. While we’re on the topic of failure, consider too that every new component you add (and every line of code) is another potential failure point - simply making the system more complex can make it more prone to failure.

My $0.02 - from an educational and learning experience - This is an awesome and super fun way to learn about failure mitigation and make some cool software. Go for it! Even better if you can crank out a nice youtube video and github post that I can show my students to teach them too!


I did attempt to model this with pV = NRT a while back:

The results looked somewhat correct, but I never got the chance to validate them against experimental data.