We may earn an affiliate commission when you visit our partners.
Course image
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.

Enroll now

What's inside

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.
Read more
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.

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Taught by CJ Taylor, who are recognized for their work in robotics
Explores motion planning, which is used to solve complex problems in the design of robotic systems
Provides a theoretical foundation and practical approaches to effectively plan and control robot behavior
Covers essential topics including graph-based methods, randomized planners, and artificial potential fields
Emphasizes the challenges faced in motion planning and provides strategies to address them
May require students to have basic knowledge of linear algebra and differential equations

Save this course

Save Robotics: Computational Motion Planning to your list so you can find it easily later:
Save

Reviews summary

Quality robotics: computational motion planning

Learners say this course is a quality introduction to robotics motion planning and fun to learn. The course mainly uses MATLAB, so familiarity with MATLAB is helpful. Lectures are short and concise, but the code exercises are difficult and time-consuming. There are some issues with auto grading and the lack of available support in forums.
Short and clear
"The lectures were very short and concise."
"The course was clear and concise."
Difficult, but good learning tool
"The programming exercises were quite easy. It would be great if there is a final exercise for 2-tree RRT and graph-like A*."
"I learnt every concept from this course"
Familiarity with MATLAB required
"The programming code was so great!!! I learnt a lot in programming"
Not much engagement and little help available
"The level of learner engagement in the forums is minimal."
"If you have difficulties with the assignments, you may find yourself combing through years-old posts, hoping that someone in the past dealt with the same issue that you are having and posted some useful information."
Can be buggy and not flexible
"assignment 4 needs some plugins if you want to run it on local system."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Robotics: Computational Motion Planning with these activities:
Review the concept of motion planning
Recall what is motion planning and why it's important in robotics.
Browse courses on Motion Planning
Show steps
  • Read the course description and syllabus.
  • Watch the first lecture video.
Practice using the graph-based methods
Solve motion planning problems using the graph-based methods taught in the course.
Browse courses on Motion Planning
Show steps
  • Solve the practice exercises at the end of each lecture.
  • Implement the graph-based algorithms in a programming language of your choice.
Follow tutorials on sampling-based methods
Enhance your understanding of sampling-based methods through guided tutorials.
Show steps
  • Find tutorials on sampling-based methods online.
  • Follow the tutorials and implement the sampling-based methods in a programming language of your choice.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Practice using the artificial potential field methods
Gain proficiency in using the artificial potential field methods.
Show steps
  • Solve the practice exercises at the end of each lecture.
  • Implement the artificial potential field algorithms in a programming language of your choice.
Create a visualization of a motion planning problem
Deepen your understanding of motion planning by creating a visualization of a problem.
Browse courses on Motion Planning
Show steps
  • Choose a motion planning problem.
  • Design and create a visualization of the problem.
Contribute to an open-source motion planning library
Enhance your skills and contribute to the open-source community by working on a motion planning library.
Browse courses on Motion Planning
Show steps
  • Find an open-source motion planning library that you'd like to contribute to.
  • Read the library's documentation and contribute to the project.
Review 'Planning Algorithms' by Steven LaValle
Expand your knowledge of motion planning algorithms through a comprehensive book.
View Virtual Reality on Amazon
Show steps
  • Read the book and take notes on key concepts.
  • Solve the exercises at the end of each chapter.

Career center

Learners who complete Robotics: Computational Motion Planning will develop knowledge and skills that may be useful to these careers:
Robotics Software Developer
Robotics Software Developers design, develop, and test software that controls the behavior of robots. Graduates of Robotics: Computational Motion Planning may be well-suited for this career, as the course provides a strong foundation in the principles of robot motion planning. The skills and knowledge gained in this course can help Robotics Software Developers ensure that robots move safely and efficiently through complex environments.
Robotics Systems Engineer
Robotics Systems Engineers design, develop, and maintain robotic systems. The course Robotics: Computational Motion Planning can be beneficial for those interested in this career, as it covers the fundamentals of robot motion planning and control. This knowledge can help Robotics Systems Engineers develop more effective and efficient robotic systems.
Robotics Researcher
Robotics Researchers conduct research to develop new and improved robotic technologies. The course Robotics: Computational Motion Planning can be a valuable resource for those interested in this career, as it provides a deep understanding of the mathematical and computational principles underlying robot motion planning. This knowledge can help Robotics Researchers make significant contributions to the field of robotics.
Artificial Intelligence Engineer
Artificial Intelligence Engineers design, develop, and maintain artificial intelligence systems. The course Robotics: Computational Motion Planning can be helpful for those interested in this career, as it provides a strong foundation in the principles of artificial intelligence and machine learning. This knowledge can help Artificial Intelligence Engineers develop more intelligent and capable robotic systems.
Control Systems Engineer
Control Systems Engineers design, develop, and maintain control systems for a variety of applications, including robotics. The course Robotics: Computational Motion Planning can be beneficial for those interested in this career, as it provides a strong foundation in the principles of control theory. This knowledge can help Control Systems Engineers develop more effective and efficient control systems for robotic systems.
Mechanical Engineer
Mechanical Engineers design, develop, and maintain mechanical systems, including robotic systems. The course Robotics: Computational Motion Planning can be helpful for those interested in this career, as it provides a strong foundation in the principles of mechanics and dynamics. This knowledge can help Mechanical Engineers design more efficient and effective robotic systems.
Electrical Engineer
Electrical Engineers design, develop, and maintain electrical systems, including robotic systems. The course Robotics: Computational Motion Planning can be helpful for those interested in this career, as it provides a strong foundation in the principles of electricity and electronics. This knowledge can help Electrical Engineers design more efficient and effective robotic systems.
Computer Scientist
Computer Scientists design, develop, and maintain computer systems, including robotic systems. The course Robotics: Computational Motion Planning can be helpful for those interested in this career, as it provides a strong foundation in the principles of computer science. This knowledge can help Computer Scientists develop more efficient and effective robotic systems.
Software Engineer
Software Engineers design, develop, and maintain software systems, including robotic systems. The course Robotics: Computational Motion Planning can be helpful for those interested in this career, as it provides a strong foundation in the principles of software engineering. This knowledge can help Software Engineers develop more efficient and effective robotic systems.
Systems Engineer
Systems Engineers design, develop, and maintain systems, including robotic systems. The course Robotics: Computational Motion Planning can be helpful for those interested in this career, as it provides a strong foundation in the principles of systems engineering. This knowledge can help Systems Engineers develop more efficient and effective robotic systems.
Data Scientist
Data Scientists collect, analyze, and interpret data, including data from robotic systems. The course Robotics: Computational Motion Planning can be helpful for those interested in this career, as it provides a strong foundation in the principles of data science. This knowledge can help Data Scientists develop more efficient and effective methods for analyzing data from robotic systems.
Operations Research Analyst
Operations Research Analysts use mathematical and analytical techniques to solve problems, including problems related to robotics. The course Robotics: Computational Motion Planning can be helpful for those interested in this career, as it provides a strong foundation in the principles of operations research. This knowledge can help Operations Research Analysts develop more efficient and effective solutions to problems related to robotics.
Industrial Engineer
Industrial Engineers design, develop, and maintain industrial systems, including robotic systems. The course Robotics: Computational Motion Planning can be helpful for those interested in this career, as it provides a strong foundation in the principles of industrial engineering. This knowledge can help Industrial Engineers design more efficient and effective robotic systems.
Manufacturing Engineer
Manufacturing Engineers design, develop, and maintain manufacturing systems, including robotic systems. The course Robotics: Computational Motion Planning can be helpful for those interested in this career, as it provides a strong foundation in the principles of manufacturing engineering. This knowledge can help Manufacturing Engineers design more efficient and effective robotic systems.
Quality Assurance Engineer
Quality Assurance Engineers ensure that products, including robotic systems, meet quality standards. The course Robotics: Computational Motion Planning can be helpful for those interested in this career, as it provides a strong foundation in the principles of quality assurance. This knowledge can help Quality Assurance Engineers develop more effective methods for testing and evaluating robotic systems.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Robotics: Computational Motion Planning.
Commonly used textbook in the field that covers many of the topics in this course, such as graph search algorithms, sampling based methods, and artificial potential fields.
Provides a comprehensive overview of planning algorithms, including those used in robotics.
Valuable resource for robotics engineers and researchers.

Share

Help others find this course page by sharing it with your friends and followers:
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser