CSC-325: Introduction to Robotics

Tues,Thurs 1:55pm-3:40pm, Olin 306

Brendan Burns
227 Steinmetz Hall
burnsb2 at union dot edu
x8734

Office Hours
Tuesday,Thursday 12pm-1:30pm
Or by appt.

Overview
This course provides an introduction to topics in robotics. Half of the course is dedicated to mobile robots, covering such topics as local and global motion planning, localization and mapping. The other half of the course is dedicated to jointed manipulators covering forward and inverse kinematics, the jacobian, low-level control and high-level motion planning in joint-space.

Structure
The class will consist of a mixture of lecture, discussion and student classwork. Programming projects within the class will lead to the development of a variety of robotic behaviors. Several programming projects will incrementally build on eachother, thus it is essentially that each project be completed correctly in a timely manner.

Course Schedule
Can be found here

Text
There are two texts that will be used in this course:
Introduction to Robotics: Mechanics and Control (3rd Edition) by John Craig
Planning Algorithms by Steve LaValle (online book)

Requirements
The class will be graded on a series of programming projects, written assignments, a midterm and a final. The breakdown of grading is as follows:

Programming Projects: 25%
Written Assignments: 25%
Midterm:Solutions 25%
Final:Solutions 25%

Turning in work
All programs will be submitted electronically to the instructor no later than 11:59pm on the day that the assignment is due. Written assignments will be handed in in class on the day that the assignment is due. Extensions will not be granted except under extenuating circumstances.
Extensions must be requested prior to the date the project is due

Grading work
Programs will be graded on two factors: The correctness of the code (75%) and the style of the code (25%). Programming style includes such things as clarity, comments, algorithm design, variable naming and other factors that make your code readable and useful to other programmers.

Written assignments will be graded on both correctness and quality and clarity of solution.

If anyone has any questions about this grading policy please contact me at anytime.

Development Environment
We will be using the Linux operating system and tools. You are expected to familiarize yourself with the Un*x command line environment. Here are some helpful tutorials:

You will be using "gcc" and "make" to compile software. I will provide a makefile for each project.

Academic Honesty
All code submitted will be run through several automated tools for detecting shared code. Any cases of plagirism will be refered to the Dean of Students and will result in failure of the course.

Special Needs
I encourage any students with special educational needs to contact me at the beginning of the semester to develop appropriate accomodations. All students will require proper documentation from the Dean of Students' office. All such discussions will remain completely confidential.