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
- 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
- grasping
The course will not focus on vision, learning, or control, topics that are addressed in other UW courses.
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
present application papers (twice)
implement and present an algorithm (twice)
implement and present a final project
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 reasons.
Instructor: Joshua Smith
Meeting place: CSE 503. Time: MW 10:30-11:50
3 credits. Limited to 15 students. Prerequisites: permission of instructor. Adventurous undergraduates will be accepted if space permits.
Sample Personal Robotics Readings
Clothing manipulation:
'Bringing Clothing into Desired Configurations with Limited Perception,' Marco Cusumano-Towner, Arjun Singh, Stephen Miller, James F. O'Brien, Pieter Abbeel, ICRA 2011
Mobile manipulation:
'Cart Pushing with a Mobile Manipulation System: Towards Navigation with Moveable Objects'
Jonathan Scholz, Sachin Chitta, Bhaskara Marthi, and Maxim Likhachev. ICRA 2011
Sample Algorithm readings:
RRTs:
'RRT Connect: An Efficient Approach to Single-Query Path Planning', Kuffner, LaValle, ICRA 2000
'Space-Filling Trees: A New Perspective on Incremental Search for Motion Planning', James J. Kuffner, Steven M. LaValle, Proc. IEEE/RSJ International Conference on Intelligent Robots and Systems, 2011
Laplace planning:
Path Planning Using Laplace's Equation, Connolly, Burns, Weiss, ICRA, 1990
Arm Kinematics
Forward
Spong Chap 3, Forward Kinematics, the Denavit-Hartenberg Convention
Inverse
Direct solution
Spong Chap 4, Inverse Kinematics
Iterative Jacobian solution
'Overview of Damped Least-Squares Methods for Inverse Kinematics of Robot Manipulators,' Arati S. Deo and Ian D. Walker, J. Intelligent and Robotic Systems, Kluwer 14: 43-68,1995