Code Monkey home page Code Monkey logo

rob521-mobile-robotics-and-perception's Introduction

ROB521: Mobile Robotics and Perception

University of Toronto - Winter 2024

Course Description and Objectives

ROB521 explores the fundamentals of mobile robotics and sensor-based perception. It's designed for applications in diverse environments such as space exploration, search and rescue, and autonomous vehicles. The course covers key areas including sensors, state estimation, computer vision, localization, mapping, and path tracking. Students engage in hands-on labs using simulations and hardware kits to apply theoretical concepts.

Objectives:

  1. Understand the evolution and current state of robotics.
  2. Learn classic algorithms for mobile robot autonomy.
  3. View mobile robotics as complex systems with integrated components.
  4. Gain practical experience through laboratory exercises with real mobile robots.

Prerequisite Background

Students should have foundational knowledge in kinematics, dynamics, control theory, probability theory, and linear algebra. Familiarity with ROS, Virtualbox or Docker is required for labs, and MATLAB is needed for assignments.

Area Skills
Kinematics/Dynamics Basic understanding of mechanical systems
Control Theory Ability to design and analyze control systems
Probability Theory Proficiency in handling uncertainty in data
Linear Algebra Strong foundation in mathematical computations
Software Tools Experience with ROS, MATLAB, Virtualbox/Docker

Lecture Topics Overview

The course is divided into modules that cover the essential aspects of mobile robotics and perception:

  • Introduction and History of Mobile Robots
  • Sensors and State Estimation
  • Computer Vision and Control Architectures
  • Localization and Mapping
  • Path Planning and Tracking
  • Software Frameworks for Robotics

These topics are interwoven with practical examples and real-world applications, reinforcing the theoretical knowledge with hands-on labs.

Textbook and Resources

  • Main Textbook: "Introduction to Autonomous Mobile Robots" (2nd Ed.) by Roland Siegwart, Illah R. Nourbakhsh, and Davide Scaramuzza
  • Additional Texts:
    • "Probabilistic Robotics" by Sebastian Thrun, Wolfram Burgard, and Dieter Fox
    • "Planning Algorithms" by Steven LaValle
  • Online Courses:
    • Autonomous Mobile Robots on EDX
    • Self-Driving Cars Specialization on Coursera

These resources provide a comprehensive foundation and supplementary knowledge that supports the course lectures and labs.

Lab Sessions

Labs offer hands-on experience with the TurtleBot 3 system, using the Robot Operating System and Gazebo simulator. Students will perform tasks in teams, learning to apply classroom theories to real-world robotics applications.

Lab Schedule:

  • Mondays, 3:00-6:00 PM EST (PRA0101/0102)
  • Fridays, 3:00-6:00 PM EST (PRA0103/0104)

Lab Details:

  • Lab 1: Turtlebot Familiarization and Control
  • Lab 2: Path Planning with RRT
  • Lab 3: Lidar Mapping and State Estimation
  • Lab 4: Lidar SLAM Implementation

Labs focus on progressively building skills from basic robot control to complex tasks like SLAM. Lab 1 is optional but essential for mastering the software used in subsequent labs. Only Labs 2, 3, and 4 require formal reports.

rob521-mobile-robotics-and-perception's People

Contributors

lseonghak avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.