Variable-buoyancy propulsion