Syllabus
Arizona State University
School of Manufacturing Systems and Networks
RAS 557: Foldable Robotics
Syllabus -- Fall 2024
Course Description
Foldable Robotics is a course organized around new types of robots being developed in research labs and industry across the country. These devices are designed and built using layered, flat sheets of a wide variety of materials, and folded up to create both form and motion. This class studies these devices from initial prototype and design through implementation and optimization, with a focus on application-specific projects which seek to solve problems of cost, parallelism, complexity, and time with a relatively fast and easy prototyping method.
This class allows students to delve deeper into the analytical problems associated with:
- Design and manufacturing of flexible, foldable mechanisms.
- Biomechanics and bioinspiration.
- Kinematics and dynamics of robots and mechanisms.
- Mechanics and the effects of compliance on robot dynamics.
- Design optimization and system identification for flexible robots.
- Experimental validation of flexible robots.
General Information
Item | Detail |
---|---|
Lectures: | Monday / Wednesday, 9am-10:15am |
Classroom: | Peralta 103 Polytechnic Campus |
Textbook: | We will be using a draft of my textbook as well as selected papers and the course website. |
Office Hours: | Friday, 9-10am, Technology Center 152\(^*\) Polytechnic Campus |
\(^*\) I will pass out a survey in the first week to determine if there is a better time/format for office hours.
Instructor Information
Item | Detail |
---|---|
Instructor: | Dr. Daniel Aukes |
Office: | Technology Center Room 152 Polytechnic Campus |
E-mail: | danaukes@asu.edu |
Grader: | Awab A Salam Mohamed |
Course Websites
Course Prerequisites
There are no formal prerequisites, but you should be familiar with:
- Programming fundamentals, ideally in a scripted language like Python or Matlab.
- Linear algebra, differential equations, calculus, trigonometry, vectors, etc.
- manual and rapid prototyping techniques, and if not, willing to learn.
Course Objectives
Having successfully completed this course, the student will learn the following:
- Using bio-inspired approaches in the development and design of mechanisms
- Understanding the kinematic relationships between forces and motion for rigid mechanical systems
- Understanding the relationships between force and deflection in flexible systems
- Being able to build and use physics-based models for understanding the dynamic motion of robotic systems
- Understanding how the limitations of fabrication processes translate to design constraints and guidelines for flexible systems.
- The basics of data collection and experiment design
- How to use optimization approaches in solving a robotics design problem.
Expected Learning Outcomes
Foldable Robotics
- You will be able to identify key innovations in the foldable robotics timeline and their impact.
- You wil be able to identify persistent, recurring, or key mechanisms as well as why they are useful in the context of mechanisms and robotics.
Python
- You will be able to write custom code in Python to analyze, interpret, and display real-world and model-based data
- You will be able write custom code in Python for understanding and analyzing the kinematics of foldable systems
- You will be able to use Python with a selected physics engine to run physical simulations on a foldable system.
- You will be able to use Python to work with geometric data for the purposes of computing fabrication geometry.
- You will be able to work with Jupyter Notebooks for the purposes of integrating Python code and documentation.
Biomechanics and Bio-inspiration
- You will be able to search for and critically read through research papers to identify key metrics related to animal locomotion
- You will be able to the biomechanics of a selected organism to a set of initial design goals or specifications.
Kinematics, Jacobians, Forces, and Power
At the end of this course, you will be able to:
- Ideate a kinematic mechanism -- prototype it, draw it and demonstrate its motion.
- Translate the kinematic rules of a mechanism to a computer program and visualise / plot its motion.
- Interpret the motion of a kinematic end-effector in robotics terms, such as:
- The input/output speed relationship
- The output/input force relationship
- The power transferred during motion
- Utilize numerical or symbolic approaches to obtain the kinematics.
Dynamics
At the end of this course, you will be able to:
- Create and populate a rigid body dynamical system composed of
- Rigid Frames
- Masses and Inertias
- Joints
- Forces both internal and external to the system
- Model the f=ma relationship of a dynamic system over time.
- Use a physics engine to integrate the motion of a dynamic system over time.
- Integrate optimization techniques into physical models
- Interpret the behavior you observe and translate that into design changes.
Actuator Selection, Characterization, and Integration
At the end of this course, you will be able to:
- Collect performance / model data on a selected actuator.
- Model an actuator in a selected physics engine using its constitutive physical model(s).
- Integrate an actuator into a physical device.
- Interpret the performance of your actuator, based on collected experimental and model-based data.
- Use basic control techniques to program the actuator to respond
Compliance and System Stiffness
At the end of this course, you will be able to:
- Describe the deflection of a beam using basic beam theory.
- Model a beam and predict its deflection based on its geometry and material properties
- Experimentally measure the deflection of a beam and obtain its material properties.
- Discuss and demonstrate the tradeoffs between exact and approximate solutions to continuum models in the context of precision and limited computing resources.
- Create and compute with approximate models for beam compliance in a full system model.
Optimization for model fitting and design improvement
At the end of this course, you will be able to:
- Understand basic approaches for minimizing or optimizing a function
- Use coding-based tools to optimize simple functions and perform a regression.
- Use a data-driven approach to fit unknown model parameters to a real system.
- Use a model-based approach for selecting ideal design parameters using optimization.
Prototyping, manufacturing, and computation
At the end of this course, you will be able to:
- Design an origami-inspired mechanism using analog techniques
- Be able to enumerate the various manufacturing considerations of cutting and lamination
- Be able to compute a manufacturing-aware digital design file.
- Make a laminate device using digital techniques
- Demonstrate a knowledge and understanding of multi-layer fabrication techniques
- Develop a novel mechanism with rapid prototyping tools
Experimental Validation
At the end of this course, you will be able to:
- Demonstrate your knowledge of best practices for developing an experiment.
- Develop a small experiment and collect data
- Interpret sources of error and determine corrective actions
Team-based project management, communication, etc
- Develop a project website for communicating progress in written form.
- Present work orally to the class
Course Organization
Assignment | Topics | Type | Due | % |
---|---|---|---|---|
HW1 | Folding & DOFs | Individual | Week 2 | 5 |
HW2 | Kinematics | Individual | Week 5 | 5 |
HW3 | Dynamics | Individual | Week 7 | 5 |
HW4 | Parameter Identification | Individual | Week 10 | 5 |
HW5 | Design & Gait Optimization | Individual | Week 12 | 5 |
HW6 | Manufacturing Computation | Individual | Week 14 | 5 |
Project 1 | Device Proposal, Kinematics, Dynamics | Team | Week 8 | 15 |
Project 2 | Parameter Identification, Device Optimization, Manufacturing Computation, Verification |
Team | Week 15 | 30 |
Midterm | Individual | Week 8 | 10 | |
Attendance | - | - | 10 | |
Quizzes | ? | 5 | ||
100 |
Grading Rubric
Assignments and Projects will be graded according to the following rubric. The following is a general description of what each point value means in this course:
Description | Points | % |
---|---|---|
Exceeds Expectations. Shows superior effort, quality, mastering of the concepts. Innovation in the execution of submitted work. Documentation is publication-ready. | 5 | 100 |
Above expectations. Demonstrates full understanding of the problem, and solution is well executed, documented, and presented. | 4 | 85 |
Meets expectations. Minor mistakes are present, but student demonstrates a general understanding of the concepts. Documentation present but perhaps not comprehensive. | 3 | 70 |
Below expectations. Some effort shown, though there may be serios flaws in analysis or execution. Documentation lacking in certain areas. | 2 | 55 |
Fails to meet minimum expections. Minimal effort shown. Does not show understanding and may not have thought through their methods. Documentation is lacking substance, clarity, completeness, evidence of effort. | 1 | 40 |
Not submitted, illegible, not readable, not properly linked | 0 | 0 |
Grading Scale
Final points will receive a letter grade according to the following table:
Grade | Range |
---|---|
A+ | 97-100.0 |
A | 93-96.9 |
A- | 90-92.9 |
B+ | 87-89.9 |
B | 83-86.9 |
B- | 80-82.9 |
C+ | 77-79.9 |
C | 70-76.9 |
D | 60-69.9 |
E | 0-59.9 |
Assignments vs. Projects
- Individual assignments introduce concepts discussed in class
- Team projects aim to reinforce concepts.
- Students will work in Project teams of 3-4 people
- Assignments and projects will rely on the use of Python and its packages.
- Quizzes will occur as needed.
Individual Assignments
There will be 6 individual assignments throughout the course. These assignments will be focused on (1) initial prototyping, (2) kinematics, (3) dynamics, (4) parameter identification, (5) design optimization, (6) manufacturing computation and validation. The individual assignments are intended to introduce concepts discussed in class whereas the team projects are intended to reinforce the students on the concepts.
Assignments
6 Assignments:
- Initial prototyping
- Kinematics
- Dynamics
- Parameter identification
- Design optimization
- Manufacturing computation and validation
Team Projects
There will be two project assignments. These assignments involve the design of a robotic mechanism, starting with an idealized kinematic analysis of the design and its dynamic modeling. Later assignments will include the effects of flexibility in the robot dynamics, the planning, fabrication, and testing of flexible robot components, and its final validation. The students will make a demo video of their second project at the end of the semester. Students will work in groups of 3-4.
Quizzes
I will hold up to 2 quizzes without notice at the beginning of class.
Midterm
There is one midterm exam.
- It will include all topics from the course up to that point
- It will be held during the designated exam period or during a class period. The specific date/time will be announced in advance.
Final Exam
There is no final exam.
Make-up Exam Policy
There will be no make-up exam outside of absences allowed by the attendance policy below. You must contact the instructor at least 1 day prior to the exam, or no credit will be given for a missed exam.
In-Class Coding Labs and Tutorial Sessions
Some portion of class time will be set aside for students to apply the methods introduced in class. In these tutorials, the students will model and simulate robots in Python environment, apply optimization techniques, and perform system identification, amongst other topics.
Students are expected to come to the lab and tutorial sessions with a laptop capable of running Python.
Late Submissions
Each concept in this class builds on the last, so failing to turn in an assignment on time affects you and your teammates.
- It is your responsibility to get in touch with the instructor regarding any questions before assignments are due.
- Late submissions will lose one letter grade(10%) for every day they are late.
- Any submission more than four days late will receive a zero.
Course Policies
Students in this class are expected to acknowledge and embrace the FSE student professionalism expectation located at: https://engineering.asu.edu/professionalism/
How to Succeed in this Course
- Attend all class sessions.
- Complete all pre-class preparation assignments and reading.
- Complete all post-class follow up assignments and reading.
- Participate in tutorial sessions and office hours.
- Check your school email regularly.
- Log in to the course websites at least once each week.
- Communicate proactively with your instructor.
- Create a study schedule so that you don’t fall behind on assignments.
Attendance
It must be noted that attendance is extremely important; irregular attendance typically results in poor or mediocre performance.
Attendance will be taken at the start of each class, and may be administered via online link, class photo, or form. If you have any concerns, please see the instructor.
For each missed class greater than 2, you will lose 20% of your attendance grade.
Excused absences for classes will be given without penalty to the grade in the case of (1) a university-sanctioned event [ACD 304-02]; (2) religious holidays [ACD 304-04]; a list of religious holidays can be found here https://eoss.asu.edu/cora/holidays ]; (3) work performed in the line-of-duty according [SSM 201-18]. Students who request an excused absences must follow the policy/procedure guidelines. Excused absences do not relieve students of responsibility for any part of the course work required during the period of absence.
Discussion Board
We will use the Canvas discussion board as a forum for answering all general questions about the course, assignments, etc. It permits the instructor to answer each question once, maintain consistency across students, and curate good or pertinent questions. The discussion board is also used to improve the course, and is thus a record of all the ways it can be improved. For this reason, keep the following in mind:
- The discussion board is a forum. Please answer questions you know the answer to. The instructors will respond if something needs to be corrected in your response.
- Always maintain professional communication.
- Plan ahead -- the instructors generally respond within a couple hours during the workday, but it can take up to 24 hours based on availability, especially on evenings and weekends.
- Do not supply the answers to homework questions; ask and answer questions generally whenever possible. The instructors may follow up via email if more detail is necessary.
- The discussion board (as well as Canvas course announcements) are the official channels for information. If you and your classmates use alternatives, do not expect to hear an official response.
Do not email general homework questions to the instructor or grader; you will be asked to use the discussion board first.
AI and the Use of chat-GPT
Large-language models like ChatGPT will become an ever-more important tool going forward in the field of engineering. This class, however, is intended to teach you to use both your own knowledge and the tools around you to solve problems related to Foldable Robotics. In this class it is expected that you will do your own thinking, analysis, and learning. It is also important to cite your references when using someone else's work. Therefore, whenever you use chatGPT or a similar large-language model in completing assignments or projects, you must indicate what it was used for. You should also include the full text of the query(ies). The citation can be included as a footnote, citation, or directly in your assignment text. Queries can be attached at the end of the assignment.
It is inappropriate to use chatGPT or other AI-related tools in quizzes, midterms, or exams.
The use of generative AI tools to complete any portion of a course assignment outside of the scope of what is described above will be considered academic dishonesty and a violation of the ASU Academic Integrity Policy. Students confirmed to be engaging in non-allowable use of generative AI will be sanctioned according to the academic integrity policy and FSE sanctioning guidelines.
Course Honor Code
Plagiarism and cheating are not acceptable in this course. I will follow the university's policies and academic honor code in enforcing any perceived violations.
All engineering students are expected to adhere to the ASU Student Honor Code and the ASU academic integrity policy, which can be found at https://provost.asu.edu/academic-integrity/policy. Students are responsible for reviewing this policy and understanding each of the areas in which academic dishonesty can occur. If you have taken this course before, you may not reuse or submit any part of your previous assignments without the express written permission from the instructor.
All student academic integrity violations are reported to the Fulton Schools of Engineering Academic Integrity Office (AIO). Withdrawing from this course will not absolve you of responsibility for an academic integrity violation and any sanctions that are applied. The AIO maintains a record of all violations and has access to academic integrity violations committed in all other ASU college/schools.
Specific Rules
- Do your own work for individual assignments and tests.
- Include the your sources of inspiration within assignments and projects. This will help grow the list of cool references, but more importantly, help distinguish inspiration from wholesale plagarism.
- Keep code/text/information you use from outside sources separate from your own original content (through the use of separate folders, for example). Make it explicit what is yours and what is not.
- Include all the licenses or copyright statements as required by the things you reuse. This will make your own code more reuseable for yourself and potentially others in the future.
- See the academic handbook for more info.
Schedule
This schedule is tentative and is subject to change. It will be updated on the course website as needed. It is your responsibility to keep track of all due dates and times.
Week | Topics Covered |
---|---|
1 | Introduction, flexible robot history, flexible robot fabrication methods |
2 | Biomechanics: muscles, workloops, inverted pendulum vs. SLIP, gaits, scaling laws. Manufacturing introduction |
3 | Biomechanics: bioinspiration in robotics. Kinematics: introduction, DoF, joints, linkages, mechanisms |
4 | Project I topics discussions. Kinematics: Jacobians, vectors and vector operations, loop closure equations |
5 | Kinematics: rotations and reference frames, constraints. |
6 | Dynamics: dyads, dyadics, mass and inertia, energy |
7 | Dynamics: forces, mass and inertia, triple pendulum example, project I presentations |
8 | Dynamics: modeling |
9 | Mechanics and compliance. |
10 | Fabrication tutorial. Manufacturing. |
11 | Manufacturing computation and algorithms in Python. |
12 | Tutorials (Tracker, FEA, Mass and inertia and Solidworks, Pseudo-rigid body modeling) |
13 | Design optimization and final prototyping. |
14 | Special Topics and In-Class Consulting Time |
15 | Experimental validation. Student demonstrations. |
Course Logistics
Computers
It is expected that you can bring a laptop to class to complete in-class programming tasks. If you are not able to personally finance the equipment needed to participate in class, ASU has a laptop and Wi-Fi hotspot checkout program available through the ASU Library.
Software
- You will be expected to install and use either use Python installed on your computer, or something like Google colab for completing all assignments and following along in class.
- This class is friendly to all operating systems. Students have used Windows, Ubuntu or OS/X on their own in the past with no problems.
- Please see the software list posted on the course site for more information about required and recommended software. The software listed is either open-source and freely available to download, available through the University, or free for student use.
Materials
- Students will be responsible for selecting and obtaining non-standard consumable materials used in their project, such as any special cardboard, adhesive, plastic, etc.
- We will be able to supply a limited number of parts and materials which can be used for development; but if you wish to keep your robot we encourage you to purchase your own components.
Equipment
Special equipment for making robots is available for use on the Polytechnic campus. If you wish to use the tools and equipment you will need to pass all safety training required by the University.
Checkout
Checkout of equipment or reusable parts may be possible through Dr. Aukes, the Innovation Hub, or Peralta Labs. Any checked-out tools or parts must be returned in order to receive a grade in the class.
Other Policies
Copyright
All course content and materials, including lectures, are copyrighted materials.
You must refrain from uploading to this course shell, discussion board, website used by the course instructor or any other course forum, material that is not your own original work, unless you first comply with all applicable copyright laws. Course instructors reserve the right to delete materials from the course shell on the grounds of suspected copyright infringement.
Recordings
The contents of this course, including lectures and other instructional materials, are copyrighted materials. Students may not share outside the class, including uploading, selling or distributing course content or notes taken during the conduct of the course. Any recording of class sessions by students is prohibited, except as part of an accommodation approved by the Disability Resource Center. (see ACD 304–06, “Commercial Note Taking Services” and ABOR Policy 5-308 F.14 for more information).
Policy against threatening behavior, per the Student Services Manual, SSM 104–02
Students, faculty, staff, and other individuals do not have an unqualified right of access to university grounds, property, or services (see SSM 104-02). Interfering with the peaceful conduct of university-related business or activities or remaining on campus grounds after a request to leave may be considered a crime. All incidents and allegations of violent or threatening conduct by an ASU student (whether on- or off-campus) must be reported to the ASU Police Department (ASU PD) and the Office of the Dean of Students.
Disability Accommodations
Suitable accommodations are made for students having disabilities. Students needing accommodation must register with the ASU Student Accessibility and Inclusive Learning Services office and provide documentation of that registration to the instructor. Students should communicate the need for an accommodation in enough time for it to be properly arranged. See ACD 304-08 Classroom and Testing Accommodations for Students with Disabilities.
Harassment and Sexual Discrimination
Arizona State University is committed to providing an environment free of discrimination, harassment, or retaliation for the entire university community, including all students, faculty members, staff employees, and guests. ASU expressly prohibits discrimination, harassment, and retaliation by employees, students, contractors, or agents of the university based on any protected status: race, color, religion, sex, national origin, age, disability, veteran status, sexual orientation, gender identity, and genetic information.
Title IX is a federal law that provides that no person be excluded on the basis of sex from participation in, be denied benefits of, or be subjected to discrimination under any education program or activity. Both Title IX and university policy make clear that sexual violence and harassment based on sex is prohibited. An individual who believes they have been subjected to sexual violence or harassed on the basis of sex can seek support, including counseling and academic support, from the university. If you or someone you know has been harassed on the basis of sex or sexually assaulted, you can find information and resources at https://sexualviolenceprevention.asu.edu/faqs.
As a mandated reporter, I am obligated to report any information I become aware of regarding alleged acts of sexual discrimination, including sexual violence and dating violence. ASU Counseling Services, https://eoss.asu.edu/counseling is available if you wish to discuss any concerns confidentially and privately. ASU online students may access 360 Life Services, https://goto.asuonline.asu.edu/success/online-resources.html.
Photo requirement
Arizona State University requires each enrolled student and university employee to have on file with ASU a current photo that meets ASU's requirements (your "Photo"). ASU uses your Photo to identify you, as necessary, to provide you educational and related services as an enrolled student at ASU. If you do not have an acceptable Photo on file with ASU, or if you do not consent to the use of your photo, access to ASU resources, including access to course material or grades (online or in person) may be negatively affected, withheld or denied.
Notice
Any information in this syllabus (other than grading and absence policies) may be subject to change with reasonable advance notice.