Introduction to Programing, Robotics, and Computer-Aided Technology

img

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.

img

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