# CSE 360 Introduction to Mobile Robotics (3)

#### Instructor:

John Spletzer (Spring 2019)

#### Current Catalog Description

Algorithms employed in mobile robotics for navigation, sensing, and estimation. Common sensor systems, motion planning, robust estimation, bayesian estimation techniques, Kalman and Particle filters, localization and mapping. Credit will not be given for both CSE 360 and CSE 460. Prerequisites: MATH 023 or MATH 205 or MATH 231.

#### Textbook (recommended):

R. Siegwart, I.R. Nourbakhsh, D. Scaramuzza and R. Arkin, "Introduction to Autonomous Mobile Robots", 2nd Edition, The MIT Press, 2011, ISBN 978-0262015356

#### References:

The course makes extensive use of online resources, to include:

- R. Beard and T. McClain, "Motion Planning Using Potential Fields", Technical Report, Brigham Young University, Jan. 2003
- M.Fischler and R. Bolles, "Random Sample Consensus:A Paradigm for Model Fitting with Applications to Image Analysis and Automated Cartography", Graphics and Image Processing, 1981
- R. Fisher, "CVonline:The Evolving, Distributed, Non-Proprietary, On-Line Compendium of Computer Vision", University of Edinburgh, http://homepages.inf.ed.ac.uk/rbf/CVonline
- G. Welch and G. Bishop, "The Kalman Filter", Department of Computer Science, University of North Carolina at Chapel Hill, http://www.cs.unc.edu/~welch/kalman

## Course Outcomes

#### Students will have:

- A "toolbox" of prominent algorithms for implementing intelligent, autonomous robot behaviors.
- Ability to derive kinematic models for wheeled vehicles.
- An understanding of common sensor systems used in mobile robotics.
- An understanding of basic image processing operations such as convolution, color segmentation and edge detection.
- Ability to implement Bayesian filters (Kalman and Particle) for estimation.
- An understanding of basic motion planning and control techniques for mobile robots.
- Laboratory experience processing data from LIDAR sensor systems.
- Laboratory experience working with the iRobot Create robot research platform.
- Ability to develop near real-time applications under Matlab.
- Work in teams to complete the robotics laboratory exercises, and complete the Robotics Grand Challenge final project.

## Relationship between Course Outcomes and Program Outcomes:

#### CSE 360 substantially supports the following program outcomes:

- An ability to apply knowledge of computing and mathematics appropriate to the discipline
- An ability to design, implement, and evaluate a computer-based system
- An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices.

#### CSE 360 provides modest support to the following program outcomes:

- An ability to function effectively on teams to accomplish a common goal
- An ability to use current techniques, skills, and tools necessary for computing practices
- An ability to apply design and development principles in the constructions of software systems of varying complexity.

#### Prerequisites by Topic:

- Programming course in an imperative programming language
- Matrix operations
- Calculus and linear algebra operations to include mathematics on matrices, eigen value/vector decomposition, Taylor series, gradient, etc.
- Basic probability concepts

#### Major Topics Covered in the Course

- State of the field
- Kinematics of wheeled vehicle
- GPS, LIDAR, ultrasonic sensors, machine vision
- Intro to computer vision and image processing
- Median filtering
- RANSAC
- Hough Transform
- Kalman Filters
- Particle Filters
- Feedback Control
- Motion Planning

#### Assessment Plan for the Course

The students are given three laboratory assignments, five or six fairly long homework assignments, and a final project. Each homework assignment typically covers a single topic, but the laboratory assignments build upon these allowing the students to implement increasingly complex behaviors on the robot platform over the course of the semester. The course culminates in a final project where the students program a robot to navigate a road network without hitting any obstacles while reaching a goal position. This has the potential to implement many of the topics covered throughout the course. I track the performance of the students on each homework and laboratory assignment, and perform an "out briefing" with each team on the final project to discuss their strategy, what worked, what didn't, and recommendations for how to improve the course.

#### How Data in the Course are Used to Assess Program Outcomes: (unless adequatley covered already in the assessment discussion under Criterion 4)

Each year, I use the above data from the assessment plan for the course in my self-assessment of the course. This report is reviewed, in turn, by the Curriculum Committee.