Inflatable Payload

Building and programming a payload that will deploy from a rocket and automatically inflate on the ground.


Technologies used: Arduino, SparkFun sensors, servos and other hardware
In collaboration with:
UNLV SEDS payload team

The Idea

source: NBC news - Bigelow

I'm on the payload team in my university rocketry club. We're creating a payload that will automatically inflate upon landing on the ground, much like the space structures Bigelow Aerospace creates. In theory, this would ease space colonization as habitats would be instantly built via inflation rather than having to be manually constructed over a span of days/weeks.

Development

1. Initial mockups

Initial mockups of deflated and inflated payload created by Brandon and paper/plastic habitat models by Keane.

The middle contains the electronics and hardware (altimeter, gps, servos, power supplies, c02 canister) needed to track the payload and deploy the habitat under certain conditions. Surrounding that electronic hub will be the inflatable portion of the habitat. The habitat will be inflated using pressurized c02.

2. Testing inflation

Candy Cane inflated using 12g c02 canister, filling up volume of ~ 6.5 liters (6.8951 as verified by solidworks)

C02 cartidge autonomously inflating habitat model

3. Developing autonomous deployment

When developing the deployment, two main things were considered: accuracy and redundancy. The altimeter being used has a +- 3ft error margin and the rocket will be launched from a different state, meaning the initial and final heights are uncertain. To avoid these ambiguities, I am confirming that the payload is on the ground when its Δ alt < 10 in a span of a certain time interval.

Demo of logic allowing for payload to work autonomously

    if (mainClock.seconds % sampleTime == 0 && initCall == false) {
        callTime = mainClock.seconds;
        initAlt = mySensor.readFloatAltitudeFeet();           // samples alt, storing it as initial alt
        initCall = true;                                      // declaring that initial height has been sampled so it doesnt repeat
    }

    if (mainClock.seconds == (callTime + sampleTime) && initCall == true) {
        finalAlt = mySensor.readFloatAltitudeFeet();          // samples alt, storing it as final alt
        serial.print("Change in altitude: ");
        altChange(initAlt, finalAlt);
    }
    
                    

Code to sample altitude every 1s, checking when to inflate the habitat

4. Redundancy

Inflation only occurs if inflation mechanism is enabled and velocity is near 0

Demo of redundancy - light can only turn if a certain velocity is reached and final velocity is near 0

    if (altChange(initAlt, finalAlt) > 10) {
      enable = true;
    }

    // call the servo to open the valve
    if (enable && altChange(initAlt, finalAlt)) {
      for(int angle = 0; angle <= 350; angle += 5) {      // command to move from 180 degrees to 0 degrees                             
          myservo.write(angle);                           //command to rotate the servo to the specified angle
          delay(50);            
        }
        delay(15000);                                   // after 15 seconds, will rotate the valve back, closing the CO2
        myservo.write(start_angle);
        stop();                                         // ends entire program
    }
                    

Code demonstrating redundant conditions for inflation

Cube 1

Cube 1 housed the inflation mechanism used to expand the module with compressed CO2 after touchdown.

Cube 2

Cube 2 housed the electronic components that were required for tracking the payload and also determining when Cube 1 is able to deploy the compressed CO2

Cube 3

Cube 3 featured the ejection mechanism which deployed the mated cubes 1 and 2 at the appropriate altitude.

Video demonstrating inflation driven by pressure simulation of altimeter

CAD of integrated payload cubes within rocket

victortaksheyev@gmail.com