IU:TestPage

From IU
Revision as of 13:30, 9 February 2023 by R.sirgalina (talk | contribs)
Jump to navigation Jump to search

Autonomous Mobile Robots

  • Course name: Autonomous Mobile Robots
  • Code discipline:
  • Subject area: Robotics

Short Description

Autonomous mobile robots (AMRs) are rapidly evolving from workhorses to increasingly complex machines capable of performing challenging tasks such as industrial navigation. The course objective is to provide a few basic concepts of autonomous mobile robots. The main emphasis is on mobile robot kinematics and controls, different classes of robot localization techniques, various state estimation methods, and robot perception based on camera and lidar. The exercises of this course are based on ROS2 with a few types of wheeled robots. By the end of this course, you will be able to understand the basic building blockers of autonomous navigation. To succeed in this course, you should have programming experience in Python 3. x, ROS, and familiarity with basic concepts of Linear Algebra and Calculus.

Prerequisites

Prerequisite subjects

  • CSE101
  • CSE102
  • CSE104 or CSE117
  • CSE202 and CSE204

Prerequisite topics

  • Programming experience in Python 3. x
  • ROS (Robot Operating System)
  • Familiarity with basic concepts of Linear Algebra and Calculus

Course Topics

Course Sections and Topics
Section Topics within the section
1.0 Introduction & Motion
  1. What are autonomous mobile robots (AMRs)?
  2. Why do we need autonomous mobile robots (AMRs)?
  3. How do AMRs work?
  4. Kinematic Configuration
  5. Probabilistic kinematics
  6. Velocity motion model
  7. DiffDrive
  8. Bicycle drive
  9. Tricycle drive
  10. Car (Ackerman Drive)
2.0 Estimation
  1. Basic of Probability
  2. Probabilistic Generative Laws
  3. Estimation from Measurements
  4. Estimation from Measurements and Controls
  5. Gaussian Distribution
  6. One Dimensional Kalman Filter
  7. Multivariate Density Function
  8. Marginal Density Function
  9. Multivariate Normal Function
  10. Two Dimensional Gaussian
  11. Multiple Random Variable
  12. Multidimensional Kalman Filter
  13. Sensor Fusion
  14. Linearization, Taylor Series Expansion, Linear Systems
  15. Extended Kalman Filter (EKF)
  16. Comparison between KF and EK
  17. A Taxonomy of Particle Filter
  18. Bayesian Filter
  19. Monte Carlo Integration (MCI)
  20. Particle Filter
  21. Importance Sampling
  22. Particle Filter Algorithm
3.0 Perception
  1. Monocular Vision
  2. Pinhole Camera Model
  3. Image Plane, Camera Plane, Projection Matrix
  4. Projective transformation
  5. Finding Projection Matrix using Direct Linear Transform (DLT)
  6. Camera Calibration
  7. Stereo Vision
  8. Simple Stereo, General Stereo
  9. Some homogeneous properties
  10. Epipolar Geometry
  11. Essential matrix, Fundamental matrix
  12. Depth Estimation

Intended Learning Outcomes (ILOs)

What is the main purpose of this course?

What is the main goal of this course formulated in one sentence? The main purpose of this course is to answer the following three questions What are autonomous mobile robots (AMRs)? Why do we need autonomous mobile robots (AMRs)? How do AMRs work?

ILOs defined at three levels

Level 1: What concepts should a student know/remember/explain?

By the end of the course, the students should be able to ...

  • Different types of motion models for AMRs
  • Types of robot localization techniques for linear and nonlinear systems
  • To understand the environment by interpreting the sensor reading
  • Several ways to estimate a robot’s system state vector for linear, nonlinear, and linearized systems

Level 2: What basic practical skills should a student be able to perform?

By the end of the course, the students should be able to ...

  • Understand the vehicle motion model for the provided vehicle schema type
  • Design linear or nonlinear controller for manueveing the robot appropriately
  • Design sensor configuration and which sensors are more suitable for the given task
  • Different ways to estimate system state vector for both linear and nonlinear systems
  • Understand how to localize robots in GPS-denied environments

Level 3: What complex comprehensive skills should a student be able to apply in real-life scenarios?

By the end of the course, the students should be able to ...

  • Design a robot motion model for the provided robot
  • Improve the robot state estimation accuracy
  • Fuse several types of sensors and improve measurement accuracy
  • Estimate depth using a stereo camera, and lidar
  • Localize the robot in a GPS-denied environment

Grading

Course grading range

Grade Range Description of performance
A. Excellent 90-100 -
B. Good 75-89 -
C. Satisfactory 50-74 -
D. Fail 0-50 -

Course activities and grading breakdown

Activity Type Percentage of the overall course grade
Assignment 45
Quizzes 20
In-class activity 15
Exams 20

Recommendations for students on how to succeed in the course

Participation is important. Showing up is the key to success in this course.
You will work individually, however, getting help from others is acceptable
Review lecture materials before classes to do well in quizzes.
Reading the recommended literature is optional and will give you a deeper understanding of the material.

Resources, literature and reference materials

Open access resources

  • Sebastian Thrun. Probabilistic robotics. Communications of the ACM, 45(3):52–57, 2002.

Closed access resources

  • Robert Grover Brown, Patrick YC Hwang, et al. Introduction to random signals and applied Kalman filtering, volume 3. Wiley New York, 1992.
  • Gregor Klancar, Andrej Zdesar, Saso Blazic, and Igor Skrjanc. Wheeled mobile robotics: from fundamentals towards autonomous systems. Butterworth-Heinemann, 2017.
  • Roland Siegwart, Illah Reza Nourbakhsh, and Davide Scaramuzza. Introduction to autonomous mobile robots. MIT press, 2011.

Software and tools used within the course

Teaching Methodology: Methods, techniques, & activities

Activities and Teaching Methods

Activities within each section
Learning Activities Section 1 Section 2 Section 3
Lectures 1 1 1
Interactive Lectures 1 1 1
Lab exercises 1 1 1
Development of individual parts of software product code 1 1 1
Individual Projects 1 1 1
Quizzes (written or computer-based) 1 1 1
Discussions 1 1 1
Presentations by students 1 1 1
Written reports 1 1 1
Experiments 0 0 1

Formative Assessment and Course Activities

Ongoing performance assessment

Section 1

Activity Type Content Is Graded?
Quiz Control to reference pose
Control to reference pose via an intermediate point
Control to reference pose via an intermediate direction
Control by a straight line and a circular arc
Reference path control
Wheel kinematics constraints: rolling contact and lateral slippage


10
Individual Assignments A1: Control by a straight line and a circular arc

Submit a report and source code:
- Experimenting on different scenarios
- Check problem formulation and implementation accuracy

A2: Parallel parking
Submit a report and source code:
- Checking the assumptions that are made to formulate the parallel parking scenario
- Check problem formulation and implementation accuracy

A3: Wheeled Mobile System Control: pose and orientation
Define a simple controller that is able to follow a given reference path where position and orientation have to be optimally controlled

Submit a report and source code:
- Experimenting on different scenarios
- Check problem formulation and implementation accuracy
20

Section 2

Activity Type Content Is Graded?
Quiz 1. Estimation from measurements and estimation from measurements and controls
2. Multidimensional Kalman filter with sensor fusion
3. Particle filter algorithm for state estimation
5
Individual Assignments A1: Design different types of robot motion models and add appropriate state estimation techniques
Implementation of the motion model for car-like ground vehicle and simulate it in various environments
Submit a report and source code:
- Experimenting on different scenarios
- Check problem formulation and implementation accuracy

A2: Comparison of the accuracy of robot trajectory using several state estimation techniques
Implementation of Kalman filter and Particle filter based state estimation and compare them each other

Submit a report and source code:
- Checking the implementation accuracy
- Checking how importance sampling, resampling, and parameter estimation were implemented

A3: Robot pose estimation using Gaussian and Non-Gaussian based state estimation techniques
Develop Gaussian and Non-Gaussian-based state estimation technique for linear and nonlinear motion model for a following to reference path.

Submit a report and source code:
- Experimenting on different scenarios
- Check problem formulation and implementation accuracy
- Check the performance in terms of model accuracy
15

Section 3

Activity Type Content Is Graded?
Quiz 1. Formulation of Pinhole camera model
2. Understanding of the connection between the image plane and camera plane
3. Depth estimation using Epipolar geometry
5
Individual Assignments A1: Estimate object size using a monocular camera
Develop an algorithm to detect object width and height for a specified camera parameter
Submit a report and source code:
- Experimenting on objects to check the accuracy of the estimation
- Check problem formulation and implementation accuracy

A2:Estimate the depth of the object using a point cloud and stereo camera
Given a point cloud estimate real object center point in the world coordinate frame

Submit a report and source code:
- Experimenting on different point clouds
- Checking the accuracy of the pose estimation
A3: Finding projection matrix using Direct Linear Transform (DLT)
This for checking the understanding of concepts of monocular vision: Pinhole camera model, image plane, camera lane, projection matrix, projective transformation. Given point cloud in the world coordinate, convert them into camera coordinates

Submit a report and source code:
- Checking the accuracy of the pose estimation
- Check problem formulation and implementation accuracy
- Compare results with different point clouds
15

Final assessment

Section 1

  1. Can be a final exam, project defence, or some other equivalent of the final exam.
  2. For the final assessment, students present the project work they have accomplished during the course. Below are the grading criteria for each section.
  3. 1. Kinematics of wheeled mobile robots: internal, external, direct, and inverse
  4. Differential drive kinematics
  5. Bicycle drive kinematics
  6. Rear-wheel bicycle drive kinematics
  7. Car(Ackermann) drive kinematics
  8. 2. Wheel kinematics constraints: rolling contact and lateral slippage
  9. 3. Wheeled Mobile System Control: pose and orientation
  10. 4. Robot pose estimation using Gaussian and Non-Gaussian based state estimation techniques
  11. 5. Different techniques for importance sampling in the particle filter
  12. 6. Applying Kalman Filter for nonlinear system
  13. 7. Concepts of EKF-based localization and particle filter-based localization

Section 2

Section 3


The retake exam

Section 1

  1. For the retake, students have to implement a given state estimation problem. First, need to formulate it with logical reasons for justifying it. Second, need to develop the proposed idea in a simulated setup. Answer a set of theoretical questions that comes from section 1, section 2, and section 3.

Section 2

Section 3