- Platform
- Coursera
- Provider
- University of Pennsylvania
- Effort
- 3 hours/week
- Length
- 4 weeks
- Language
- English
- Credentials
- Paid Certificate Available
- Part of
- Course Link
Overview
Robotic systems typically include three components: a mechanism which is capable of exerting forces and torques on the environment, a perception system for sensing the world and a decision and control system which modulates the robot's behavior to achieve the desired ends. In this course we will consider the problem of how a robot decides what to do to achieve its goals. This problem is often referred to as Motion Planning and it has been formulated in various ways to model different situations. You will learn some of the most common approaches to addressing this problem including graph-based methods, randomized planners and artificial potential fields. Throughout the course, we will discuss the aspects of the problem that make planning challenging.
Taught by
CJ Taylor
Robotic systems typically include three components: a mechanism which is capable of exerting forces and torques on the environment, a perception system for sensing the world and a decision and control system which modulates the robot's behavior to achieve the desired ends. In this course we will consider the problem of how a robot decides what to do to achieve its goals. This problem is often referred to as Motion Planning and it has been formulated in various ways to model different situations. You will learn some of the most common approaches to addressing this problem including graph-based methods, randomized planners and artificial potential fields. Throughout the course, we will discuss the aspects of the problem that make planning challenging.
Syllabus
Introduction and Graph-based Plan Methods
Welcome to Week 1! In this module, we will introduce the problem of planning routes through grids where the robot can only take on discrete positions. We can model these situations as graphs where the nodes correspond to the grid locations and the edges to routes between adjacent grid cells. We present a few algorithms that can be used to plan paths between a start node and a goal node including the breadth first search or grassfire algorithm, Dijkstra’s algorithm and the A Star procedure.
Configuration Space
Welcome to Week 2! In this module, we begin by introducing the concept of configuration space which is a mathematical tool that we use to think about the set of positions that our robot can attain. We then discuss the notion of configuration space obstacles which are regions in configuration space that the robot cannot take on because of obstacles or other impediments. This formulation allows us to think about path planning problems in terms of constructing trajectories for a point through configuration space. We also describe a few approaches that can be used to discretize the continuous configuration space into graphs so that we can apply graph-based tools to solve our motion planning problems.
Sampling-based Planning Methods
Welcome to Week 3! In this module, we introduce the concept of sample-based path planning techniques. These involve sampling points randomly in the configuration space and then forging collision free edges between neighboring sample points to form a graph that captures the structure of the robots configuration space. We will talk about Probabilistic Road Maps and Randomly Exploring Rapid Trees (RRTs) and their application to motion planning problems.
Artificial Potential Field Methods
Welcome to Week 4, the last week of the course! Another approach to motion planning involves constructing artificial potential fields which are designed to attract the robot to the desired goal configuration and repel it from configuration space obstacles. The robot’s motion can then be guided by considering the gradient of this potential function. In this module we will illustrate these techniques in the context of a simple two dimensional configuration space.
Introduction and Graph-based Plan Methods
Welcome to Week 1! In this module, we will introduce the problem of planning routes through grids where the robot can only take on discrete positions. We can model these situations as graphs where the nodes correspond to the grid locations and the edges to routes between adjacent grid cells. We present a few algorithms that can be used to plan paths between a start node and a goal node including the breadth first search or grassfire algorithm, Dijkstra’s algorithm and the A Star procedure.
Configuration Space
Welcome to Week 2! In this module, we begin by introducing the concept of configuration space which is a mathematical tool that we use to think about the set of positions that our robot can attain. We then discuss the notion of configuration space obstacles which are regions in configuration space that the robot cannot take on because of obstacles or other impediments. This formulation allows us to think about path planning problems in terms of constructing trajectories for a point through configuration space. We also describe a few approaches that can be used to discretize the continuous configuration space into graphs so that we can apply graph-based tools to solve our motion planning problems.
Sampling-based Planning Methods
Welcome to Week 3! In this module, we introduce the concept of sample-based path planning techniques. These involve sampling points randomly in the configuration space and then forging collision free edges between neighboring sample points to form a graph that captures the structure of the robots configuration space. We will talk about Probabilistic Road Maps and Randomly Exploring Rapid Trees (RRTs) and their application to motion planning problems.
Artificial Potential Field Methods
Welcome to Week 4, the last week of the course! Another approach to motion planning involves constructing artificial potential fields which are designed to attract the robot to the desired goal configuration and repel it from configuration space obstacles. The robot’s motion can then be guided by considering the gradient of this potential function. In this module we will illustrate these techniques in the context of a simple two dimensional configuration space.
Taught by
CJ Taylor