ADM Problem 1.3.1

Flexible Pick-and-Pallet Automation

Design it. Print it. Program it. Reconfigure it. Build a robotic manufacturing cell that can move student-designed parts from three pickup zones to either of two pallet locations without rewriting the core motion program.

Your lesson guide

Objective

Work toward the lesson goal: Flexible Pick-and-Pallet Automation. Use the directions and success criteria in the activity below.

Materials

For the online work: a browser and your engineering notebook. Follow the activity’s materials list for any physical build, and get teacher approval before using equipment.

Plan your time

Suggested work block: 45–60 minutes. Physical builds and projects may span several classes; follow your teacher’s schedule.

The Manufacturing Cell

Your Challenge

Create one production-part CAD design and manufacture three color-coded copies. The three physical parts will use the same CAD geometry and will be distinguished by their 3D-print color. Each colored part will begin in one of three fixed pickup zones. Your robotic arm must pick the requested part and deliver it to either Pallet A or Pallet B based on a teacher-provided pick list.

Pickup Zone 1Part / SKU
Pickup Zone 2Part / SKU
Pickup Zone 3Part / SKU
Robotic ArmVariable-driven routing
Pallet A / BSelected destination
pickupZone = 1    # 1, 2, or 3
palletZone = 2    # 1 or 2

pick_part(pickupZone)
place_part(palletZone)

Core requirement: changing only the pickup and pallet variables must redirect the robot. Do not create six separate copies of the motion sequence.

Learning Targets

What You Will Learn

  • Design a CAD part for reliable robotic handling and additive manufacturing.
  • 3D print three color-coded copies of the production part and inspect them for repeatable placement and pickup.
  • Define HOME, approach, pickup, and placement positions in a robotic workcell.
  • Use variables and reusable functions to separate job instructions from robot motion.
  • Commission, debug, and validate a flexible automated manufacturing process.
Design Requirements

Your Parts

  • Create one CAD model that will serve as the production-part geometry.
  • 3D print three copies of the same model in three different colors. Color is what distinguishes the three parts/SKUs.
  • Assign each color a clear part name or SKU and document the color-to-SKU relationship.
  • Keep the geometry and dimensions the same across all three printed parts.
  • Use a stable bottom surface and repeatable orientation.
  • Include an accessible pickup surface or feature for the end effector.
  • Avoid fragile geometry or unnecessary print complexity.
  • Get teacher approval before printing.
Project Workflow

Complete the Problem in Five Phases

1.Design & Manufacture

Sketch and CAD one production part. Evaluate printability and robot access, export the model, and select efficient slicer settings. Print three geometrically identical copies in three different colors, then inspect the finished components for consistency.

2.Configure the Workcell

Establish Pickup Zones 1–3 and Pallets A–B. Define a safe HOME position plus approach and working positions for each location. Fixtures and zone markings must remain fixed after positions are taught.

3.Build Flexible Robot Logic

Create a pickup-zone variable with three valid choices and a pallet variable with two valid choices. Build reusable pickup and placement logic so the main program can execute a job using those values.

4.Commission & Debug

Test motion without parts first, then validate complete transfers at reduced speed. Identify failures as mechanical, positioning, end-effector, or programming problems and make controlled revisions.

5.Run the Production Pick List

Your teacher will issue a production order. Configure the variables for each requested move and execute the order. You may change job-variable values between moves, but you may not rewrite or duplicate the core motion logic.

Programming Standard

Required Architecture

  • Job variables: identify pickup zone and pallet destination.
  • Position data: HOME plus safe approach and working positions.
  • Pickup logic: one reusable function or equivalent structure for all three zones.
  • Placement logic: one reusable function or equivalent structure for both pallets.
  • Main program: set/read job variables → pick → place → return to a safe state.
Validation

Prove All Six Routes

Before the final pick list, your cell must successfully demonstrate every possible source/destination combination.

1 → A
1 → B
2 → A
2 → B
3 → A
3 → B
Python Help

Coding Hints — Use These When You Get Stuck

These hints review Python structures that may be useful in this problem. They are intentionally general: you still need to decide how to apply them to your workcell, positions, and production logic.

Hint 1 — Variables store information

A variable gives a value a name so your program can use it later. The value can change without changing every line that uses it.

station = 2
destination = "B"

Think about which pieces of information should change from one production order to another.

Hint 2 — Use if / elif / else to make decisions

Conditional statements let the program choose different actions based on a value.

if selection == 1:
    # do one action
elif selection == 2:
    # do a different action
else:
    # handle another case

Ask yourself: where does the robot need to make a decision based on a job variable?

Hint 3 — Functions prevent repeated code

A function groups instructions that belong together. A parameter lets the same function receive different information each time it is called.

def perform_task(location):
    # use location to decide what happens
    pass

perform_task(2)

If you find yourself copying and pasting nearly identical robot code, consider whether part of it belongs in a function.

Hint 4 — Separate data from actions

Good automation programs often separate what the current job requests from how the machine performs the task. Variables can describe the job while functions contain reusable actions.

job_value = 2

def run_action(choice):
    # reusable action logic goes here
    pass

run_action(job_value)

A new production order should not require you to rewrite the robot's entire motion sequence.

Hint 5 — Validate unexpected values

Programs should have a plan for values that are not valid. An else branch can prevent the robot from trying to execute an undefined job.

if choice == 1:
    # valid choice
elif choice == 2:
    # valid choice
else:
    print("Invalid selection")

For a robot, stopping safely is usually better than guessing what an invalid value means.

Hint 6 — Debug one layer at a time

Do not troubleshoot the entire production cycle at once. First confirm variable values, then decision logic, then individual functions, and only then test the complete sequence.

print("Current selection:", selection)

Temporary print statements can help you verify what the program thinks is happening before the robot moves.

Safety

Commission the Cell Safely

  • Know how to stop the robot before every test and keep hands outside the work envelope while it runs.
  • Run newly taught motion at reduced speed before full-cycle testing.
  • Use approach and retreat positions to maintain clearance around parts and fixtures.
  • Do not move pickup zones or pallets after positions are taught unless you revalidate the program.
  • Stop immediately if the robot, end effector, part, or fixture is at risk of collision.
What You Will Submit

Required Evidence

  • One final CAD model and three usable, geometrically identical 3D-printed production parts in three different colors.
  • Completed Lesson 1.3.1 student engineering template.
  • Evidence that all six pickup-to-pallet routes were tested.
  • Final robot program using variable-driven source and destination selection.
  • Completed teacher pick-list results.
  • Final code pasted into the designated code section of the student template.
Resources

Lesson Resources

Use the Lesson 1.3.1 project instructions and student engineering template provided by your instructor. Keep your CAD files, slicer files, robot program, testing evidence, and final code organized in your assigned project location.

Before you begin: review the complete project instructions, then use the student template throughout the lesson rather than waiting until the final day to document your work.

Build your lesson report

Checkpoint: is your evidence ready?
  • Check calculations, units, labels, and measurements against the activity requirements.
  • Record what actually happened, including unexpected results.
  • Explain what you changed and why; attach required drawings, photos, CAD, or code in your classroom assignment.

Submit the evidence specified in the activity and your classroom assignment. The report below collects your notes, calculations, observations, and reflections; attach any required drawings, photos, CAD, or code separately.

A PDF download is not a submission. Review it, then upload it and any required attachments through your classroom assignment system.