IU:TestPage
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
Section | Topics within the section |
---|---|
1.0 Introduction & Motion |
|
2.0 Estimation |
|
3.0 Perception |
|
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
- Provide at least 3 open/freemium access tools
- Gazebo https://gazebosim.org/home
- ROS, https://www.ros.org/
- ROS2 https://docs.ros.org/en/foxy/index.html
Teaching Methodology: Methods, techniques, & activities
Activities and Teaching Methods
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
- Can be a final exam, project defence, or some other equivalent of the final exam.
- For the final assessment, students present the project work they have accomplished during the course. Below are the grading criteria for each section.
- 1. Kinematics of wheeled mobile robots: internal, external, direct, and inverse
- Differential drive kinematics
- Bicycle drive kinematics
- Rear-wheel bicycle drive kinematics
- Car(Ackermann) drive kinematics
- 2. Wheel kinematics constraints: rolling contact and lateral slippage
- 3. Wheeled Mobile System Control: pose and orientation
- 4. Robot pose estimation using Gaussian and Non-Gaussian based state estimation techniques
- 5. Different techniques for importance sampling in the particle filter
- 6. Applying Kalman Filter for nonlinear system
- 7. Concepts of EKF-based localization and particle filter-based localization
Section 2
Section 3
The retake exam
Section 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