CSE599J: Personal Robotics Clinic: Algorithms and Applications
Instructor: Joshua Smith
Meeting place: CSE 503.
Time: WF 10:30-11:50
Please visit the Course Calender for further announcement and updates
And if you're running into trouble with Dijkstra, or won't have it working, please email me before class.
- Get your Dijkstra implementation working. If you have it working on a laptop, please bring the laptop.If that isn't practical, please bring it on a thumb drive, or email a zip of your code to me. I am hoping we can take a quick look at (at least some of) various implementations.
- Read SrinivasaEtal11-ieee.pdf
- Read the description of Astar
Finally, Joseph will be presenting A*, and Tim will present the paper on Herb 2.0.
Course Overview and Details
The Personal Computer allowed ordinary people to use computers for
countless new applications, most of which had not been imagined when
PCs first emerged. Today's Personal Robotics researchers are imagining
and prototyping tomorrow's robotic applications, and the algorithms
that these applications need.
In this "seminar-clinic" course, students will read and present recent
papers on Personal Robotics applications. They will also implement
and present classic robotics algorithms that are relevant to Personal
Robotics. The term "clinic" refers to the hands on software
implementation projects. The goal of the course as a whole is to
stimulate thinking about new Personal Robotics applications, and build
the skills needed to implement them.
Students will be provided with a custom simulation / visualization
environment (written in Python running on Ubuntu Linux, and available
as a pre-configured Virtual Machine) to support their implementation
of path planning algorithms. Other tools and environments (such as
Matlab, C++, or Java) can be used at the student's discretion. In
order to keep the focus on learning the algorithms, rather than on
learning libraries, the course will NOT emphasize existing packages or
libraries (such as ROS).
The algorithms subject matter in the course will adapt to student interests, but will include
The course will not focus on vision, learning, or control, topics that
are addressed in other UW courses.
- path planning algorithms including A*, RRT (Rapidly Exploring Random Tree) search, and planners based on solving the Laplace equation, and may include
- path smoothing
- arm forward kinematics
- arm inverse kinematics (direct and Jacobian iterative methods)
- arm planning
- collision detection algorithms
The course will include a final project, which can be chosen by the
student, or suggested by the instructor. The final project will be
similar to the earlier implementation projects, but greater in scope.
In some cases it will be an extension of the earlier projects.
Students will be expected to participate actively. Each student will
Students will not all implement the same algorithms, to increase the
breadth of topics that the group as a whole explores. The number of
student presentations will be reduced if necessary for scheduling
- present application papers (twice)
- implement and present an algorithm (twice)
- implement and present a final project