====== DASL 102: Navigation and Path Planning ====== {{courses:dasl102_syllabus.pdf|Syllabus}} ===== Overview ===== This course will cover the basics of navigation and path-planning for mobile robots. The course will focus on many different navigation algorithms, including: **Breadth-first Search, Depth-first Search, Dijkstra’s Algorithm/A*, and Potential Fields**. Many of these approaches follow a data structure implementation, and such the basics of these will also be covered. For simplicity and better visualization, simulation and virtual approaches will be used during most of the course. However, the course will cover how to obtain basic odometry data for implementation on a real robot platform (Robotino). Finally, the course will compare and contrast the different approaches as they are brought up, and will cover the challenges that come with navigation, especially in real-world applications. ===== Prerequisites ===== Due to the nature of this course, heavy use of data structures and mathematical analysis will be used. As such, a person taking this course should have experience with the following: * C++ Programming, especially data structures and object-oriented programming * The Robot Operating System (ROS) for use in simulation and visualization * Vector calculus, especially gradients and vector fields * Simple trigonometric mathematics, especially for non-holonomic constraints ===== Lecture Notes ===== {{courses:dasl_102_week1_slides.pdf|Week 1 (Potential Fields) Slides}} {{courses:dasl_102_week2_slides.pdf|Week 2 (Data Structures) Slides}} {{courses:dasl_102_week3_slides.pdf|Week 3 (BFS) Slides}} {{courses:dasl_102_week4_slides.pdf|Week 4 (DFS) Slides}} {{courses:dasl_102_week5_slides.pdf|Week 5 (Dijkstra's & A*) Slides}} {{courses:dasl_102_week6_slides.pdf|Week 6 (Odometry Data) Slides}} ===== Homework ===== {{courses:dasl_102_week1_hw.pdf|Week 1 HW}} {{courses:dasl_102_week2_hw.pdf|Week 2 HW}} {{courses:dasl_102_week3_hw.pdf|Week 3 HW}} {{courses:dasl_102_week4_hw.pdf|Week 4 HW}} {{courses:dasl_102_week5_hw.pdf|Week 5 HW}} {{courses:dasl_102_week6_hw.pdf|Week 6 HW}}