Introduction to Programming, 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 |
---|---|---|
[2024-03-25 Mon] | 1 | Introduction of the course, robotics, and 3D printing |
[2024-03-27 Wed] | 2 | Different 3D printing processes and machines |
Lab 0: course lab tour and lab safety guidelines | ||
[2024-04-01 Mon] | 3 | 3D scanning, slicing and working with pointclouds and STL files |
[2024-04-03 Wed] | 4 | G-Code and 3D printer firmware |
Lab 1: 3D scanning and intro to mesh processing | ||
[2024-04-08 Mon] | 5 | Working in the command line I |
[2024-04-10 Wed] | 6 | Working in the command line II |
Lab 2: printing and different 3D printing processes | ||
[2024-04-15 Mon] | 7 | Working in the command line III |
[2024-04-17 Wed] | 8 | Programming and Python I |
Combined Lab 3 and 4: reading and editing firmware; coding | ||
[2024-04-22 Mon] | 9 | Programming and Python II |
[2024-04-24 Wed] | 10 | Motor and controls (Reading) |
Lab 5: motor control (at maker space) | ||
[2024-04-29 Mon] | 11 | Motor and controls (Reading) |
[2024-05-01 Wed] | 12 | Kinematics, inverse kinematics, and dynamics |
Lab 6: linkage and enclosure printing | ||
[2024-05-06 Mon] | 13 | ROS and simulation of robots I |
[2024-05-08 Wed] | 14 | ROS and simulation of robots II |
Lab 7: ROS | ||
[2024-05-13 Mon] | 15 | ROS and simulation of robots III |
[2024-05-15 Wed] | 16 | ROS and simulation of robots IV |
Lab 8: simulating linkages | ||
[2024-05-20 Mon] | 17 | ROS and simulation of robots V |
[2024-05-22 Wed] | 17 | Integration and Final Project I |
[2024-05-27 Mon] | Memorial Day Holiday | |
[2024-05-29 Wed] | 19 | Integration and Final Project II |
Final Project Demo |