Functions for Reusable Workcell Actions
Turning repeated robot sequences into reusable functions.
Your lesson guide
Objective
Define and call functions Pass values into functions Use functions to organize robot actions
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.
How to Use This Page
Python Idea + Workcell Connection
A function gives a name to a reusable block of code. This makes longer Workcell programs easier to read, test, and modify.
Values listed in the function definition are parameters. Values supplied when the function is called are arguments.
Functions are especially useful for repeated actions such as pick up, place, move safe, or release.
Trace This Code
Read every line before opening the practice check.
def move_to_pickup(x, y, z):
arm.move_to(x, y, 120)
arm.move_to(x, y, z)
arm.set_end_effector_magnet(True)
arm.move_to(x, y, 120)
move_to_pickup(100, 150, 45)Check Your Understanding
Rule: If you missed more than one question, reread Learn It and trace the example again before continuing.
Trace Before Running
What values are passed into x, y, and z when the function is called?
Do first: Write your answer in your engineering notebook.
Reveal Self-Check
x = 100, y = 150, z = 45.
Debug the Program
Find and correct every error before opening the answer.
def move_to_pallet(x, y, z)
arm.move_to(x, y, z)
move_to_pallet(250, 80, 120)Reveal Debugging Check
Add a colon at the end of the function definition: def move_to_pallet(x, y, z):.
Change Working Code
Add a second function called release_part() that turns the magnet off.
Success Check
Evidence: Paste the revised code into your engineering notebook.
Build It Yourself
Write one function for picking up a part and one function for placing a part. Call both functions to complete one cycle.
Before You Finish
Python Practice Lab
Edit the code, predict the output, then click Run Code. No physical Workcell is connected.
P.9 Practice
Predict what the code will do, then click Run Code.
Tip: Press Ctrl+Enter (Cmd+Enter on Mac) to run. The mock arm object prints simulated Workcell actions instead of controlling hardware.
Explain Your Code
Without looking back at Learn It, answer these in your notebook:
What a Strong Response Includes
A strong response names the Python idea accurately, connects it to a specific robot action or decision, and identifies a realistic syntax or logic error from this lesson.
Ready for the Next Lesson?
Move on only when you can check every statement. If one is still uncertain, revisit the worked example or redo Fix It before continuing.
VEX Workcell Python API
Use the official VEX API to verify method names and parameters. The examples use the configured arm name arm; use the device name configured in your own VEXcode project.
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.
