Course Information and Policies
This course will provide students with essential theoretical background and hands-on experience in central topics in robotics. These include: kinematics, inverse kinematics, sensors and sensor processing, and motion planning. Teams of students will explore these subjects through a series of challenge-themed laboratory exercises. Successful students will develop a pragmatic understanding of both theoretical principles and real-world issues, enabling them to design and program robotic systems incorporating sensing, planning, and acting.
We explore these topics from a computer science perspective, but we will also cover critical robotics topics that are often omitted from computer science curricula. These may include, for example, electrical circuits, control systems, Kalman filters, mechanics, and dynamics. Specialized computer science topics such as embedded systems programming, real time operating systems, artificial intelligence, etc., may also make appearances. No background is assumed in these areas.
The course is intended for upper-level computer science undergraduates, and assumes proficiency in programming, though any one with the appropriate background is welcome.
Students will be evaluated on a combination of team and individual efforts.
- Individual efforts include one laboratory assignment, two quizzes, and two midterms.
- Team efforts include two laboratory assignments and a final project. For the laboratory exercises, teams will be determined by the staff. Students may select their own final project teams.
|Take-home quizzes||5 %|
|Final Project||32 %|
|Course Evaluations||1 %|
The course evaluation component is earned by forwarding the staff a copy of the confirmation receipt indicating that you filled out an end-of-term course evaluation.
The laboratory exercises (excluding the first "warmup" lab) and final projects are collaborative activities. Each team must turn in work that is wholly their own: teams are encouraged to discuss problems, strategies, ideas, algorithms, etc. with other teams, but their write-ups (including software) must be done independently.
Members of a team are required to work together on the problems; dividing up the problems and working separately is not acceptable. This will require at least one in-person meeting. On every problem set, each team will certify when their team met and who attended, noting any exceptions. With each problem's solution being the product of the group, all members will be held accountable for violations of the honor code. Students must sign the statement below, noting any qualifications necessary to render the statement true:
"I participated and contributed to team discussions on each problem, and I attest to the integrity of each solution. Our team met as a group on [DATE(S)]."
An example of a reasonable qualification might be: "Jimmy was out of town when we met, but Amy and Jimmy were able to meet later on. Jimmy's ideas were emailed to us and are reflected in our final solutions." We expect exceptions to be rare, but we understand that life can be complicated! The certification should be physically signed by each team member, and a photo attached to the submission.
Note that every student on a team will receive the same grade on that project. Students will evaluate their teammates; a student's evaluations will affect their participation grade.
It is not acceptable to use code or solutions from outside class (including those found online) unless the resources are specifically suggested by the problem set. This includes (but is not limited to) previous years' materials (regardless of whether it originated from staff, students, etc.), the textbook's solution manual, etc.
Our class shares lab space with EECS373, and so we must be considerate not only to our classmates, but those in 373 as well. There are times during which lab is reserved for the exclusive use of 373; take note of these times.
Lab equipment (cameras, robots, computers, cables, soldering irons, etc.) must not be removed from lab for any reason. Removing equipment without explicit authorization from Prof. Olson, even if only "temporarily borrowing it", will be reported to campus police as theft.
Students should treat lab equipment with great care: much of it is fragile and can be broken. That said, mistakes happen. If hardware breaks, students should immediately report it to the staff along with a description of what happened when it broke.
Assignment Turn-in and Lateness Policy
Problem sets are due at 11:59p on their corresponding due date and should be submitted electronically by email (including a photo of the signature page). Late problem sets will be penalized 10% for each day (or fraction of) that they are late; after three days, no credit will be given.
Students who miss an exam for legitimate reasons will be given a make-up oral exam by the staff. Approval for absences should be sought at least two weeks before the scheduled exam. All other absences will result in a zero score.
Requests to regrade any assignment/exam must be submitted in writing no later than one week following the return of the assignment/exam. It is important that requests be self-contained in writing so that you can carefully enunciate what you think we got wrong, and so that we can route your request to the same staff member who originally graded that question.