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.

Instructor: David Saldana (Fall 2020)

Textbook:

Choset, Lynch, Hutchinson, Kantor, Burgard, Kavraki, and Thrun, "Principles of Robot Motion: Theory, Algorithms, and Implementations, 2005, A Bradford book, 978-0262033275

References:

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

  • K. M. Lynch and F. C. Park, Modern Robotics. Cambridge University Press, 2017
  • S. Thrun, W. Burgard, and D. Fox, Probabilistic robotics. MIT press, 2005.

COURSE OUTCOMES

Students will have:

  1. Skills in developing algorithms for mobile robotics: navigation, localization, planning, and mapping.
  2. Skills in the mathematical abstraction and modeling of mobile robots.
  3. Ability to derive kinematic models for mobile vehicles.
  4. An understanding of common sensor systems used in mobile robotics.
  5. An understanding of basic control techniques for mobile robots.
  6. Laboratory experience developing using Robot Operating System (ROS).
  7. Laboratory experience working with 3D simulators and actual robots.
  8. Integration of robotics concepts for a class 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:

  • A Programming course
  • Calculus and linear algebra and differential equations
  • Probability

Major Topics Covered in the Course

  • Mathematical representation of mobile robots, sensors and actuators
  • Robot kinematics
  • Navigation in environments with obstacles
  • Localization, planning and mapping

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 chose an application to integrate all the concepts in mobile robotics. 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 adequately 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.