Introduction to Programing, Robotics, and Computer-Aided Technology

Syllabus
Course Description
Principles of computer-aided technology. Computer-aided design, engineering, drafting, and manufacturing; computer-aided design systems, geometry, computer graphics, hardware, computer-aided vehicle/system design synthesis. System demonstrations, laboratories, and site visits.
2024 Focus
- principles of designing robotics and 3D printing
- computer aided: from 3D objects to computer rendering and computer programmed
- design: from mechanism to kinematics, simulation, and building
 
- a blended learning experience:
- lectures: focus on foundational knowledge and fundamental principles
- labs: focus on applied technology
- self learning: some topics will demand self reading and testing
- project based: extensive hands-on activities building towards a final demonstration
 
Course Prerequisites
- ME 123: Introduction to Visualization and Computer-Aided Design
- AMATH 301: Beginning Scientific Computing
Course Material
Most materials are distributed on the course website or available from the internet.
For a thorough and comprehensive Python Development guide, I recommend two top resources that excel in practical python development:
- Python Crash Course, 3rd Edition: A Hands-On, Project-Based Introduction to Programming, by Eric Matthes
- Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners, by Al Sweigart. Available to read for free online.
For additional materials on additive manufacturing, see:
- Additive Manufacturing, Second Edition, Edited ByAmit Bandyopadhyay, Susmita Bose, 2019, CRC Press, Boca Raton. Available online via UW Library.
Grading
- Homework / Lab reports [70%]
- Reading report [5%]- guided self learning of a topic
- integrates with a lab and hands-on testing
 
- Final project [25%]- builds off from labs
- leveraging 3D printing and robotics to build a robotic manipulator
 
Specific Course Policies
Labs
- 
We plan to have 4-person groups for the projects (5 groups per lab session). Some groups can be 3-person. Use the discussion board on Canvas to form your own lab groups within your section. 
- 
Lab reports will be announced on the class canvas website. Submit a typed copy of your lab report directly on Canvas. 
- 
No late lab reports will be accepted. Late reports are not fair to the graders and to other students. Submit what you have on time. You may submit revised/new sections of the report late, but with a 50% reduction in scores for those parts. The mechanism allows you to catch up if you fall behind. But the 50% penalty is fixed. 

Tentative Class Schedule
| Date | Class | Topic | 
|---|---|---|
| 1 | Introduction of the course, robotics, and 3D printing | |
| 2 | Different 3D printing processes and machines | |
| Lab 0: course lab tour and lab safety guidelines | ||
| 3 | 3D scanning, slicing and working with pointclouds and STL files | |
| 4 | G-Code and 3D printer firmware | |
| Lab 1: 3D scanning and intro to mesh processing | ||
| 5 | Working in the command line I | |
| 6 | Working in the command line II | |
| Lab 2: printing and different 3D printing processes | ||
| 7 | Working in the command line III | |
| 8 | Programming and Python I | |
| Combined Lab 3 and 4: reading and editing firmware; coding | ||
| 9 | Programming and Python II | |
| 10 | Motor and controls (Reading) | |
| Lab 5: motor control (at maker space) | ||
| 11 | Motor and controls (Reading) | |
| 12 | Kinematics, inverse kinematics, and dynamics | |
| Lab 6: linkage and enclosure printing | ||
| 13 | ROS and simulation of robots I | |
| 14 | ROS and simulation of robots II | |
| Lab 7: ROS | ||
| 15 | ROS and simulation of robots III | |
| 16 | ROS and simulation of robots IV | |
| Lab 8: simulating linkages | ||
| 17 | ROS and simulation of robots V | |
| 17 | Integration and Final Project I | |
| Memorial Day Holiday | ||
| 19 | Integration and Final Project II | |
| Final Project Demo |