How do buoyancy control devices (BCD) work? I get that having more air decreases density and increases buoyancy. However, we can take the diver-BCD-oxygen-tank to be a single system. How can the pumping of air from the tank into a vest around him/her change the buoyancy of the tank-diver system? Maybe I just have a fundamental misunderstanding of the way BCDs work. It's unbelievably difficult to find anything on them beyond how to use them. To my understanding, they fill up a vest with air in order to make it (and therefore the system that consists of Yourself and the BCD) less dense, but if they are getting the air from Your tanks, they'll just be moving air around, which doesn't explain very much in terms of the overall buoyancy. Is the air collected from somewhere else? Is it a matter of the distribution of air?
(I am asking because I want to create a submarine robot and I am trying to understand how to use air to change the buoyancy)
 A: The trick is that you're not just moving air, you're also increasing your volume.
While the air is in the cylinder, it is at a very high pressure.  A given amount of air takes up a rather small amount of space.  When you push air into the BCD, you let it expand, decreasing it to a lower pressure (equal to the pressure of the water, actually).  Now that same amount of air takes up more space.  The total volume of the tank-diver-BCD system has now increased, but the amount of mass has not.  This means the entire system is less dense, and is affected by buoyancy.  If the volume does not increase (such as if you tried to inflate a BCD inside a closed submersible robot), no buoyancy changes occur.
When you deflate the BCD, you don't put the air back into the tank.  You emit it as bubbles, which float to the surface, no longer part of the system.  This decreases both the volume and the mass of the tank-diver-BCD system, but the effect of volume has a far more pronounced effect than the effect of the mass, and buoyancy decreases.
