🧪 Labs Overview
**Your hands-on journey into robotics starts here!**
*Weekly labs combine programming, simulation, and real robot programming*
🎯 Lab Structure
Two Types of Sessions
- 🧪 Programming Studios (KEB 2111) - Software, simulation, theory
- 🤖 Robot Labs (EAF 3119) - Real robot programming and testing
Weekly Schedule
- Alternating format - Programming one week, robot work the next
- Group-based - Work with classmates to solve problems
- Progressive difficulty - Skills build week by week
📅 Lab Progression
| Week | Focus | Type | Location | Key Skills |
|---|---|---|---|---|
| Week 1 | Course Intro & Setup | Setup | KEB 2111 | Environment, safety |
| Week 2 | Ubuntu & Python | Programming | KEB 2111 | Linux, Python basics |
| Week 3 | ROS Introduction | Programming | KEB 2111 | ROS fundamentals |
| Week 4 | Gazebo & Python | Programming | KEB 2111 | Simulation, matrices |
| Week 5 | UR3e Robot Intro | Robot | EAF 3119 | Robot operation |
| Week 6 | Forward Kinematics | Programming | KEB 2111 | DH parameters, FK |
| Week 7 | No Lab | - | - | Catch up week |
| Week 8 | Inverse Kinematics | Programming | KEB 2111 | IK algorithms |
| Week 9 | No Lab | - | - | Catch up week |
| Week 10 | FK Lab | Robot | EAF 3119 | Real robot FK |
| Week 11 | IK Lab | Robot | EAF 3119 | Real robot IK |
| Week 12-15 | Final Project | Both | Both | Vision-enabled pick & place |
🚀 Getting Started with Labs
Before Your First Lab
- ✅ Complete safety training (required for robot access)
- 💻 Set up Ubuntu environment on your laptop
- 🐍 Install Python and basic packages
- 📚 Read pre-lab materials for the week
- 🔧 Bring laptop with required software
What to Expect Each Week
- Pre-lab reading - understand concepts before arriving
- In-lab exercises - hands-on problem solving
- Group collaboration - work with classmates
- TA support - help available during lab time
- Post-lab work - complete any unfinished exercises
🏢 Lab Locations
KEB 2111 - Programming Studio
- Building: KEB (Kim Engineering Building)
- Room: 2111
- Equipment: Computers, software, simulation tools
- Activities: Programming, theory, simulation
EAF 3119 - Robot Lab
- Building: EAF (Engineering Annex F)
- Room: 3119
- Equipment: UR3e robots, safety equipment, tools
- Activities: Real robot programming, testing
📋 Lab Requirements
Equipment Needed
- Laptop with Ubuntu installed
- USB drive for Ubuntu boot (if needed)
- Safety gear (provided in robot lab)
- Notebook for taking notes
Software Requirements
- Ubuntu 20.04 or later
- Python 3.8+ with key packages
- ROS Noetic (Robot Operating System)
- Gazebo simulation environment
- Git for version control
🎓 Lab Learning Objectives
Technical Skills
- Programming: Python, ROS, simulation
- Robotics: Kinematics, control, planning
- Simulation: Gazebo, virtual testing
- Hardware: Robot operation, safety
Professional Skills
- Problem solving - tackle complex robotics challenges
- Collaboration - work effectively in teams
- Documentation - record your work and findings
- Time management - complete labs efficiently
📚 Lab Materials
Where to Find Materials
- This website - weekly lab pages with instructions
- Lab-Code repository - all code, files, and resources
- Canvas - assignments, due dates, submissions
- Piazza - discussions, questions, clarifications
Lab Code Organization
labs/Lab-Code/
├── Week 1 Materials/ # Course intro
├── Week 2 - Ubuntu & Python/ # Environment setup
├── Week 3 - ROS/ # ROS introduction
├── Week 4 - Gazebo & Python/ # Simulation basics
├── Week 5 - UR3e Intro/ # Robot operation
├── Week 6 - Forward Kinematics/ # FK concepts
├── Week 8 - Inverse Kinematics/ # IK algorithms
├── Week 10 - Forward Kinematics Lab/ # Real robot FK
├── Week 11 - Inverse Kinematics Lab/ # Real robot IK
└── Final Project/ # End-of-semester project
🆘 Lab Support
During Lab
- Teaching Assistant - available for technical help
- Instructor - available for concept questions
- Peers - collaborate with classmates
- Documentation - use provided resources
Outside Lab Hours
- Office hours - get help from TA or instructor
- Piazza - ask questions and help others
- Course website - review materials and instructions
- Lab-Code repository - access all materials anytime
🏆 Lab Success Tips
Before Lab
- Read materials thoroughly
- Set up environment at home first
- Prepare questions you want to ask
- Arrive early to get settled
During Lab
- Start early - don't wait for others
- Ask questions when you're stuck
- Help classmates - teaching reinforces learning
- Document everything - notes help with post-lab work
After Lab
- Complete exercises you didn't finish
- Review concepts that were unclear
- Prepare for next week - stay ahead
- Submit deliverables on time
🔗 Quick Navigation
Key Resources
**Ready to start building robots? Choose your week below! 🚀**
[📋 Week 1 - Intro](week-01.md){ .md-button .md-button--primary }
[🐧 Week 2 - Setup](week-02.md){ .md-button }
[🔧 Week 3 - ROS](week-03.md){ .md-button }
[🎮 Week 4 - Gazebo](week-04.md){ .md-button }
[🤖 Week 5 - Robot](week-05.md){ .md-button }
Last updated: Fall 2025 • Back to Home