We may earn an affiliate commission when you visit our partners.
Course image
Muhammad Luqman and Haider Najeeb

This course is focus on Maze Solving behavior of robot In a Simulation based on ROS2. Computer Vision is the key focus with integrated important robotics algorithms of Motion Planning . The type of robot we will be using is Differential Drive Robot with a caster wheel . Course is structured with below main headings .

  1. Custom Robot Creation

  2. Gazebo and Rviz Integerations

  3. Localization

  4. Navigation

  5. Path Planning

Read more

This course is focus on Maze Solving behavior of robot In a Simulation based on ROS2. Computer Vision is the key focus with integrated important robotics algorithms of Motion Planning . The type of robot we will be using is Differential Drive Robot with a caster wheel . Course is structured with below main headings .

  1. Custom Robot Creation

  2. Gazebo and Rviz Integerations

  3. Localization

  4. Navigation

  5. Path Planning

From our robot to last computer vision Node ,we will create every thing from scratch . Python Object Oriented programming practices will be utilized for better development.

Learning Outcomes

- Simulation Part

  • Creation Custom Robot Design in Blender ( 3D modeling )

  • Bringing Maze Bot into ROS Simulation powered by Gazebo and RVIZ

  • Drive your robot with Nodes

  • Add Sensor for better perception of Environment

  • Build different Mazes to be solved

- Algorithm Part

  • Localization with Fore and Back ground extraction

  • Mapping with Graphs Data Structure

  • Path Planning with

    • A* search

    • Dijikstra

    • DFS Trees

    • Min Heap

  • Navigation while avoiding Obstacles and GTG behavior

Pre-Course Requirments

Software Based

  • Ubuntu 20.04 (LTS)

  • ROS2 - Foxy Fitzroy

  • Python 3.6

  • Opencv 4.2

Skill Based

  • Basic ROS2 Nodes Communication

  • Launch Files

  • Gazebo Model Creation

  • Motivated mind :)

All the codes for reference are available on git hub repository of this course .

Get a good idea by going through all of our free previews available and feel free to Contact in case of any confusion  :)

Enroll now

What's inside

Learning objectives

  • Build your own maze solving simulation (ros2)
  • Write search algorithms [a* , dijikstra, min heap]
  • Computer vision techniques e.g. (detection, segmentation)
  • Deep dive with custom-built navigation graphs

Syllabus

Get the base setup done for coding maze solver bot alongside the instructor [Step by Step]
Github Resources and dependencies
Docker Linux Running complete project
Read more

Traffic lights

Read about what's good
what should give you pause
and possible dealbreakers
Utilizes Python object-oriented programming practices, which promotes better code maintainability and scalability in robotics projects
Covers localization using foreground and background extraction, which is a fundamental technique in robot perception and navigation
Requires Ubuntu 20.04, ROS2 Foxy Fitzroy, Python 3.6, and OpenCV 4.2, so learners should ensure compatibility with their systems
Involves custom robot creation in Blender, which allows for tailored designs but requires familiarity with 3D modeling software
Explores path planning with A*, Dijkstra, and DFS trees, which are standard algorithms used in robotics and AI
Teaches Gazebo and Rviz integration, which are essential tools for simulating and visualizing robot behavior in a ROS2 environment

Save this course

Create your own learning path. Save this course to your list so you can find it easily later.
Save

Reviews summary

Hands-on ros2 path planning and computer vision

According to learners, this course offers a highly practical and hands-on approach to robotics. Students particularly appreciated the opportunity to build a ROS2 simulation and robot from scratch, integrating Computer Vision techniques like background subtraction and key robotics algorithms such as A* and Dijkstra for path planning. Many found the coding assignments and projects very valuable for gaining real-world experience. However, some learners noted that the prerequisites are significant, requiring a solid foundation in ROS, Python, and Linux, and that the initial setup can be challenging. While the core concepts are covered well, a few felt the pace could be fast at times, especially for beginners. Overall, it's considered a relevant course for those looking to deepen their practical ROS2 skills.
Practical CV for maze solving.
"Using computer vision techniques for robot localization within the maze was a clever and useful approach."
"The background subtraction part was explained and implemented effectively."
"The integration of CV makes this course stand out and adds another practical layer."
Solid coverage of search algorithms.
"The course provides clear implementations of algorithms like A* and Dijkstra."
"I gained a practical understanding of how these search algorithms are applied in path planning."
"While the code examples were great, reviewing the theory lectures was essential for full comprehension."
Highly applicable to robotics.
"This course offers highly relevant skills for anyone interested in practical robotics and ROS2 development."
"The simulation environment provides a realistic platform to practice robotics concepts."
"The skills learned here feel directly applicable to real-world robot navigation problems."
Excellent hands-on coding experience.
"The hands-on coding and projects are the strongest part of the course for me."
"Building the robot and simulation environment from scratch was incredibly rewarding and taught me a lot."
"I loved implementing the path planning algorithms myself instead of just using built-in functions."
Pace can be fast for beginners.
"Sometimes the explanations moved very quickly, especially on complex topics, requiring frequent pauses."
"I felt the instructor assumed a level of prior knowledge that wasn't entirely covered by the stated prerequisites."
"Keeping up with the coding and concepts required significant focus, the pace isn't slow."
Prerequisites and setup can be tricky.
"Setting up ROS2 Foxy on Ubuntu 20.04 and resolving all dependencies was quite challenging."
"You definitely need a strong background in Linux and ROS to navigate the initial setup phase smoothly."
"I spent a considerable amount of time troubleshooting environment issues before starting the actual course content."

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 ROS2 Path Planning and Maze Solving with Computer Vision with these activities:
Review ROS2 Fundamentals
Solidify your understanding of ROS2 core concepts like nodes, topics, services, and parameters to ensure a smooth learning experience in the course.
Show steps
  • Review ROS2 documentation.
  • Complete a basic ROS2 tutorial.
  • Practice creating simple nodes.
Brush Up on Python Object-Oriented Programming
Strengthen your Python OOP skills, as the course heavily utilizes these practices for better code development and organization.
Show steps
  • Review Python OOP concepts.
  • Practice writing classes and objects.
  • Work through OOP exercises.
Review 'ROS Robotics By Example'
Use this book to understand the practical applications of ROS in robotics, which will help you grasp the concepts taught in the course more effectively.
Show steps
  • Read relevant chapters on robot control.
  • Study examples of navigation implementations.
  • Adapt ROS examples to ROS2.
Four other activities
Expand to see all activities and additional details
Show all seven activities
Implement A* Search Algorithm
Practice implementing the A* search algorithm to reinforce your understanding of path planning, a core component of the course.
Show steps
  • Study the A* algorithm.
  • Implement A* in Python.
  • Test your implementation on sample mazes.
Document Your Maze Solving Project
Create a detailed write-up of your maze-solving project, explaining your design choices, implementation details, and results. This will solidify your understanding and improve your communication skills.
Show steps
  • Outline your project documentation.
  • Describe your robot design and setup.
  • Explain your algorithms and implementation.
  • Document your testing and results.
Extend the Maze Solver with SLAM
Enhance the maze solver by integrating SLAM (Simultaneous Localization and Mapping) to allow the robot to explore and map unknown environments.
Show steps
  • Research SLAM algorithms.
  • Implement a SLAM algorithm in ROS2.
  • Integrate SLAM with your maze solver.
  • Test your extended maze solver.
Review 'Programming Robots with ROS 2'
Use this book as a reference to deepen your understanding of ROS 2 concepts and techniques, especially for advanced topics like robot navigation and control.
Show steps
  • Read chapters on robot navigation.
  • Study examples of robot control implementations.
  • Experiment with advanced ROS 2 features.

Career center

Learners who complete ROS2 Path Planning and Maze Solving with Computer Vision will develop knowledge and skills that may be useful to these careers:
ROS Developer
A ROS Developer designs and implements software for robotic systems using the Robot Operating System (ROS). This course offers significant hands-on experience with ROS2, making it highly relevant for this role. The course covers the creation of custom robots, integration with Gazebo and RVIZ, and the development of nodes for robot control. The ROS Developer would find the course's focus on path planning algorithms and navigation particularly useful. The experience gained in this course may prepare someone to become a ROS Developer.
Robotics Engineer
A Robotics Engineer designs, develops, tests, and maintains robots and robotic systems. This course, with its deep dive into ROS2, computer vision techniques, and custom-built navigation graphs, directly aligns with the practical skills needed in this role. Creating custom robot designs in Blender, integrating with Gazebo and RVIZ, and implementing path planning algorithms like A* and Dijkstra's are all highly relevant. A Robotics Engineer would benefit from the hands-on experience of building a maze-solving robot simulation from scratch. Learning localization with foreground and background extraction and mapping with graph data structures may improve the engineer's proficiency.
Autonomous Vehicle Engineer
The Autonomous Vehicle Engineer focuses on developing self-driving capabilities for vehicles. This course's content on ROS2, path planning, and computer vision creates an ideal foundation for this career. The topics covered about localization through foreground and background extraction, mapping with graphs, and navigation while avoiding obstacles may be useful for autonomous vehicle navigation systems. Furthermore, the course provides hands-on experience with robot simulation, which translates directly to testing and validating autonomous vehicle algorithms in a safe environment. The Autonomous Vehicle Engineer can use this course to improve skills with ROS2 software.
Computer Vision Engineer
The Computer Vision Engineer specializes in developing algorithms for machines to "see" and interpret images and videos. This course emphasizes computer vision techniques such as detection and segmentation, which are fundamental to this role. The localization techniques, using foreground and background extraction, build a solid base for visual perception tasks. The course's practical experience in implementing these algorithms in a ROS2 environment is valuable. This course may lead to a career as a Computer Vision Engineer, as it teaches the necessary skills and provides hands-on experience.
Simulation Engineer
The Simulation Engineer develops and uses simulation tools to model and analyze complex systems. This course, by focusing on building a maze-solving robot simulation in ROS2, gives a great opportunity to excel. Experience with Gazebo and RVIZ is directly applicable to creating realistic simulations. The skills learned in robot design, environment perception, and path planning may be useful for simulating various real-world scenarios. Taking this course can bring the Simulation Engineer closer to the job.
Software Engineer (Robotics)
A Software Engineer Robotics focuses on writing the code that controls robots and robotic systems. This course's deep dive into ROS2, Python, and algorithm implementation provides a good collection of knowledge. The course covers building custom robots, integrating sensors, and developing path planning algorithms. The practical experience gained in this course, particularly around robot control and navigation, builds a strong foundation for success as a Software Engineer Robotics. This course may lead to the role of Software Engineer.
AI Engineer
An AI Engineer develops and implements artificial intelligence algorithms for various applications. This course, by focusing on topics like computer vision and path planning, gives knowledge of AI techniques used in robotics. The course's practical implementation of algorithms like A* and Dijkstra's may be relevant. The experience gained in developing a maze-solving robot, integrating sensors, and implementing navigation, helps build a foundation in AI for robotics. With the skills it offers, this course may lead to the AI Engineer role.
Research Scientist, Robotics
A Research Scientist Robotics conducts research to advance the field of robotics. This course, with its focus on ROS2, computer vision, and path planning, gives a basis for robotics research. The experience gained in building a maze-solving robot, implementing algorithms, and analyzing their performance may be useful in conducting research on novel robotic systems. The Research Scientist Robotics role often requires a master's degree or a doctorate. This course may lead to the Research Scientist career.
Control Systems Engineer
A Control Systems Engineer designs and implements systems that control the behavior of dynamic systems. This course may be helpful, since it involves building a robot and controlling its movement through a maze. The course's implementation of path planning algorithms and navigation may be relevant to designing control systems for robotic systems. Learning how to create a robot, and implement control systems provides an excellent foundation for Control Systems Engineer. This course may improve your understanding of control systems.
Automation Engineer
An Automation Engineer designs and implements automated systems to improve efficiency and productivity. This course provides practical experience in automating robot behavior, which may be relevant to this role. The skills gained in creating a maze-solving robot, implementing path planning algorithms, and integrating computer vision techniques may be useful in designing automated systems for manufacturing, logistics, or other industries. This course can improve knowledge of Automation Engineering.
Embedded Systems Engineer
The Embedded Systems Engineer designs, develops, and tests the software and hardware for embedded systems, often found in robots. While this course focuses on simulation, the underlying principles of robot control, sensor integration, and algorithm implementation may be transferable to embedded systems development. A candidate for Embedded Systems Engineer may find this course helpful, since it dives into sensor interfacing and creating custom robots. This course may be useful for your career.
Mechatronics Engineer
A Mechatronics Engineer integrates mechanical, electrical, and computer engineering principles to design and develop automated systems. This course, with its focus on building and programming a robot, may be of relevance. The experience gained in designing a robot in Blender, integrating sensors, and implementing control algorithms can be valuable to a Mechatronics Engineer. This course may be considered foundational for a mechatronics career.
Game Developer
A Game Developer creates video games, and this course may be useful for those interested in developing games with robotic or AI elements. The skills learned in 3D modeling (Blender), robot control, and path planning can be applied to game development. The experience with Gazebo and RVIZ may also be relevant to creating game environments and simulating physics. This course may lead to a career in game development.
Data Scientist
This course may be useful for a Data Scientist who is interested in working with robotics data. The course covers topics such as computer vision, localization, and mapping, which can generate large amounts of data. The skills learned in this course can be applied to cleaning, analyzing, and visualizing robotics data. This course may be considered a great addition to your portfolio.
Project Manager
This course may be useful for a Project Manager who is interested in working on robotics projects. The course covers a wide range of topics, from robot design to algorithm implementation. The skills learned in this course can be applied to planning, organizing, and managing robotics projects. This course may improve knowledge of robotic principles.

Reading list

We've selected one 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 ROS2 Path Planning and Maze Solving with Computer Vision.
Provides practical examples of using ROS in various robotics applications. It can be a helpful reference for understanding how to implement different functionalities in ROS2, especially related to robot control and navigation. While not specifically ROS2, the core concepts translate well and provide a solid foundation. Consider this book as additional reading to broaden your understanding of ROS applications.

Share

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

Similar courses

Similar courses are unavailable at this time. Please try again later.
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 - 2025 OpenCourser