Introduction to Programming, Robotics, and Computer-Aided Technology

Introduction to Programming, Robotics, and Computer-Aided Technology

group.jpg

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.

featured-sls.jpg

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