CP 322 · August term · 2:1 credits

Robot Manipulation

This course introduces the fundamental algorithmic approaches used to create robot systems that can autonomously manipulate physical objects in unstructured environments such as homes and healthcare settings.

Course Logistics

Class timings: Tuesday and Thursday, 11:30 to 13:00; Classroom: G12, TSH; Microsoft Teams code: qbjin4o

Course Contact

Instructor: Prof. Ravi Prakash (ravipr@iisc.ac.in)

Teaching assistants: Akhil R Kurup (akhilkurup@iisc.ac.in), Ipsita Basak (ipsitabasak@iisc.ac.in), Dasari Indu Krishna (dasarik@iisc.ac.in)

Syllabus

Modelling and Mechanics

Anatomy of manipulation systems; model-based design and simulation in Drake; coordinate frames; forward, inverse, and differential kinematics; statics, contact, and grasping.

Robot Perception

Cameras and 3D geometry; point clouds and registration; object recognition and segmentation; affordance perception for manipulation.

Planning

Sampling-based motion planning; local trajectory optimization; global optimization using Graphs of Convex Sets; task-and-motion planning; planning through contact and under uncertainty.

Control and Robot Policies

Position, force, and manipulator control; model predictive control; scripts, state machines, and behaviour trees; reinforcement learning, policy gradients, PPO, and visuomotor behaviour cloning.

Class and Theory

Topics include perception using deep learning and 3D geometry; grasping; robot kinematics and trajectory generation; collision-free motion planning; task-and-motion planning; planning under uncertainty; and model-based and learning-based dynamics and control for robotic manipulation.

Lab and Hands-on Sessions

Students build a software stack in simulation or on a real robot, enabling a robotic arm to manipulate objects in cluttered scenes such as a kitchen. The lab connects theory with practical implementation and develops the problem-solving skills needed for ambitious projects in simulation or on hardware.

Final Project

Students explore a specific aspect of robot manipulation in greater depth. Lab hardware is available for ambitious projects, while cloud resources make simulation-based projects accessible as well.

Course Evaluation

20% Mid-term

Format to be decided

20% End-term

Written examination

20% Assignments

Notebooks and programming assignments based on lectures

40% Final Project

Teams of two select a research paper from the provided pool and submit a proposal, progress update, report, and video. Evaluation considers replication of results and novel ideas.

Course Calendar

The calendar below follows the schedule presented in the course introduction.

Date Lecture and topic Task or milestone
Aug 6Lecture 1: Anatomy of a manipulation systemFirst day of classes
Aug 11Lecture 2: Model-based design and simulation in DrakeNone
Aug 13Lecture 3: Basic pick and place, framesPS1: Simulation released Aug 14
Aug 18Lecture 4: Basic pick and place, kinematicsNone
Aug 20Lecture 5: Differential kinematics via optimizationPS1 due Aug 21; PS2: Kinematics I released
Aug 25 & 27No classNone
Sep 1Lecture 6: Geometric perception, cameras, point clouds, registrationNone
Sep 3Lecture 7: Manipulation in clutter, statics and contactPS2 due Sep 4; PS3: Kinematics II and ICP released
Sep 8Lecture 8: Manipulation in clutter, graspingProject paper pool released
Sep 10Lecture 9: Motion planning, basics and samplingPS3 due Sep 11; PS4: Grasping released
Sep 15Lecture 10: Motion planning, local optimizationNone
Sep 17Lecture 11: Motion planning, global optimization (GCS)PS4 due Sep 18; PS5: Planning I released
Sep 22Lecture 12: Position controlNone
Sep 24Lecture 13: Force controlPS5 due Sep 25; PS6: Planning II released
Sep 29Lecture 14: Manipulator controlProject proposal due
Oct 1No lectureMid-term: lab exam and viva
Oct 2No lecturePS6 due; PS7: Control released
Oct 6Lecture 15: Model predictive controlNone
Oct 8Lecture 16: Programming behaviours, scripts, state machines, behaviour treesNone
Oct 13Lecture 17: Deep perception, object recognition and segmentationNone
Oct 15Lecture 18: Deep perception, affordancesPS7 due Oct 16
Oct 20Lecture 19: Reinforcement learning overviewNone
Oct 22Lecture 20: RL, policy gradients and PPONone
Oct 27Lecture 21: Visuomotor policies, behaviour cloningProject progress checkpoint
Oct 29Lecture 22: Task and motion planningPS8: Deep perception and RL released Oct 30
Nov 3Lecture 23: Planning through contactPS8 due Nov 6
Nov 5 & 10Buffer / holidayNone
Nov 12Lecture 24: Project report summariesFinal report and video due; last day of classes

Prerequisites

A basic understanding of linear algebra, probability, and algorithms, along with some exposure to coding in Python.

Reference

John J. Craig, Introduction to Robotics: Mechanics and Control, Addison-Wesley.