Fall 2023/2024, 0368-4010-01
Instructor: Dan Halperin, [email protected]
Office hours by appointment
Course hours: Monday, 16:00-19:00
Location: Multi-disciplinary center 315 Link to map
Teaching assistant: Michal Kleinbort, [email protected]
Office hours by appointment
Recitations: Monday, 19:00-20:00
Location: Holtzblatt auditorium 007
Grader and software helpdesk: Michael Bilevich, [email protected]
Software helpdesk: Yuval Rubins, Mondays by appointment ([email protected])
The recent years have seen an outburst of new robotic applications and robot designs in medicine, entertainment, security and manufacturing to mention just a few
areas. Novel applications require ever more sophisticated algorithms. In the course, we shall cover computational and algorithmic aspects of robotics with an emphasis on motion planning.
The motion-planning problem is a key problem in robotics. The goal is to plan a valid motion path for a robot (or any other mobile object for that matter) within a given environment, while avoiding collision with obstacles. The scope of the motion-planning problem is not restricted to robotics, and it arises naturally in different and diverse domains, including molecular biology, computer graphics, computer-aided design and industrial automation. Moreover, techniques that were originally developed to solve motion-planning problems have often found manifold applications.
The topics that will be covered include (as time permits):
- A brief tour of algorithmic problems in robotics
- The configuration space approach and the connection between motion planning and geometric arrangements
- Minkowski sums; exact and efficient solution to translational motion planning in the plane
- Translation and rotation in the plane; translational motion of polyhedra in space
- Sampling-based motion planning
- Collision detection and nearest-neighbor search
- Path quality: shortest paths, high clearance paths, other quality measures, multi-objective optimization
- Multi-robot motion planning: Exact motion planning for large fleets of robots—the labeled vs. unlabeled case; sampling based planners for multi-robot motion planning and the tensor product—dRRT, dRRT*
Prerequisites
The course is geared towards graduate students in computer science. Third-year undergrads are welcome; in particular, the following courses are assumed: Algorithms, Data structures, Software1.
The final grade
50% Homework assignments + 50% final project;
Link to bibliography
Assignments
- Assignment no. 1 (pdf), due: 22.1.24, additional information: E1.1, E1.2 (Discopygal Starter), E1.3b
- Assignment no. 2 (pdf), due: 12.2.24, additional information: E2.4
- Assignment no.3 (pdf), due: 26.2.24, additional information: E3.1
- Assignment no.4 (pdf), due: 11.3.24, additional information: E4
- The final project (pdf), due: 16.6.24
Submission Guidelines
- Each question will have its own Moodle submission page.
- For theoretical questions, please submit a single PDF file, named:
qX_IDNUM.pdf
orqX_IDNUM1_IDNUM2.pdf
(if submission in pairs is allowed). Example:q3_123456789.pdf.
- When submission in pairs is allowed, only one of the students should submit the work. The grade will be updated for both students regardless.
- While Python is preferred, code assignments can be written in any (conventional) programming language you’d like. Please contact us if you intend on using any language that is not Python, C, C++, C# or Java.
- Code submissions should be in a single tarball (
*.zip
or*.tar.gz
) with the same convention like PDFs, i.e.,qX_IDNUM.tar.gz
. -
Important: For the code assignments, please submit a single tar/zip file, named q{num}_{id1}_{id2…}.zip. For example, for the second questions: q2_123456789_987654321.zip.
That zip should have only one *.py file, containing the entire code of your solver. Any other files (like README, scenes, etc.) are fine.
Also please make sure that loading that single python file into the solver_viewer tool works correctly.
Reinstallation of Discopygal
Run the following commands in your shell:
- pip uninstall discopygal-taucgl-starter discopygal-taucgl cgalpy
- pip install https://www.cgl.cs.tau.ac.il/wp-content/uploads/2024/02/discopygal_taucgl-1.0.7-py3-none-any.whl
Guest Lectures
- Ken Goldberg, UC Berkeley, 29.1.24: The new wave in grasping
- Kiril Solovey, Technion, 5.2.24: Introduction to robot control
- Steven M. LaValle, Oulu University, Finland, 19.2.24: From RRTs to the path to minimalism
- Yahav Avigal, Jacobi Robotics and UC Berkeley, 4.3.24: The academia2real gap in robotics
Mini talks by students
Cancelled due to the shortening of the semester
The course summary (week by week), the slides and additional material are uploaded to Moodle