Department of Computer Science
CSU Stanislaus
California State University

CS4950-002: Selected Topics in CS - Robotics

Spring 2020


 

Instructor: Dr. Xuejun Liang

My Office: DBH 282

Office Hours: MWF 9:00AM-10:30AM

Phone : (209) 667-3169, Email: xliang@cs.csustan.edu

 

Class Information:

Class Room: DBH 104

Class Date & Time: MWF 11:00A-11:50A

Class Website: https://www.cs.csustan.edu/~xliang/Courses/CS4950-20S

 

Announcements and Upcoming Events

 

1/27/2020

Welcome to CS 4950 Selected Topics in CS - Robotics!

1/27/2020

You are allowed to send an anonymous email to me for asking questions, making suggestions, or criticizing me or the class. Please use the title: “CS 4950 – ANONYMOUS” on such an email.

04/02/2020

From 04/03/2020, our class will be moved to online. To this end, I am going to list some important arrangements. Please read carefully.

1.     I will add my recorded lectures and/or live notes in some of our Microsoft PowerPoint’s lecture slides. You can select to hear the recorded voice on a slide if that slide contains a voice. When you read a slide using Slide Show mode, you can also see the live note if that slide contains a live note. All these recorded lecture slides will be available on this class website.

2.     We will use Piazza for posting notes, questions, answers, etc. Remember that I have created a Piazza class and invited all of you to join. In the Piazza class, there is a corresponding folder for each chapter of the textbook, each homework assignment, each project, and etc. When you have questions, please post your questions in the corresponding folder. Please note that all students can post questions as well as responses. I encourage all students to participate in the posting. Also note that the posting in Piazza can be anonymous if you chose to do so.

3.     You will submit your homework assignments by email attachment. Your email title should be “CS 4950 HW# Your Name”, where # is the homework number. It is desirable to type your homework and save it as a text file or scan your assignment into a PDF file. Or, you can take a picture of your assignment. Please make sure the file is clearly readable. You should submit your homework assignments before the scheduled class time on the due day. I will tell how to submit projects later.

4.     You can select your best times to study the recorded lecture slides and read corresponding textbook chapters/sections. But you should study these materials before or during the scheduled class time. I will try to post my recorded lecture slides on this course website a couple of days early. Please note that one class may contains multiple recorded lecture files. Meanwhile, one recorded lecture file may appear in more than one class date as it may be too long for a single class period. In this case, you can split the lecture according to the topics.

5.     We have one final examination left. How to do the final exam online will be decided later. But I will let you know at least one week before the exam.

 

 

Online Class Schedule, Recorded slides, Topics, Textbook Chapters/Sections, and Assignments

 

Class

Date

Recorded

Slides

Topics

Textbook

Chapters/Sections

HW/Project and due date

04/03

Ch08

Behavioral Coordination: Sequences

Sections 8.5, 8.7, 8.8

HW#8

Due: 4/6

04/06

Ch09

Mechanical Locomotion, Biological Locomotion

Sections 9.1, 9.2, 9.3

 

04/08

Ch09

Legged Locomotion, Action Selection

Sections 9.4, 9.5, 9.6

HW#9

Due: 4/10

04/10

 

Project #3: Teleoperation - Drive JetBot remotely, view live streaming video, save and view snapshots!

 

Project #3

Due: 4/24

04/13

Ch10

Ways of Organizing Sensors, Sensor Model, Active vs. Passive Sensors, Types of Sensors, Proprioceptive Sensors: Dead Reckoning/Odometry/Encoders and Inertial Navigation Sensors, Proximity Sensors: Contact Sensors and IR sensor

Sections 10.1, 10.2, 10.3, 10.4

HW#10

Due 4/17

04/15

Ch10

Computer Vision: Representation of Color, Challenges Using RGB for Robotics, Representation of HSV, Region Segmentation, Color Histogramming.

Choosing Sensors and Sensing: Sensor Modalities, Logical Sensors, Behavioral Sensor Fusion.

Sections 10.5, 10.6, 10.7

 

04/17

Ch11

Range Sensing: Range from Vision, Depth from X, Sonar, Sonar Model and Occupancy Grid

Sections 11.1-4

HW#11

Due 4/22

04/20

Ch11

Range Sensing: Light Stripers, Lidar, RGB-D Cameras, Point Cloud, processing activities associated with point clouds

Sections 11.4

 

04/22

Ch12

Deliberation: STRIPS, Symbol Grounding Problem and Anchoring

Sections 12.1-3, 5

HW#12

Due 4/24

04/24

Ch13

HW11 Answer

Introduction to navigation, the four questions of navigation, spatial memory, topological navigation and metric navigation

Sections 13.1-4

 

04/27

Ch13

HW12 Answer

Landmarks and Gateways, Relational Methods, Associative Methods

Sections 13.5-7

HW#13

Due 4/29

04/29

Ch14a

Configuration Space, Metric Path Planning: A* and Graph-Based Planners, Wavefront-Based Planners

Sections 14.1-4

05/01

Ch14a

Ch14b

Executing a Planned Path: Subgoal Obsession and replanning, Motion Planning, Criteria for Evaluating Path and Motion Planners.

Sections 14.5-7

HW#14

Due 5/4

05/04

Ch15

Localization: Position Tracking, Global localization, Feature-based vs Iconic, Probabilistic, Map-Based Localization, Markov versus Kalman localization, Markov localization example

Sections 15.1-3

HW#15

Due 5/8

05/06

Ch15

HW14Answer

Iconic Methods: Grid-based localization, Monte Carlo Localization, SLAM, The loop closure problem,

Exploration: Frontier-based, Generalized Voronoi graph

Sections 15.4-6, 9

 

05/08

CH15b

Terrain Mapping, Terrain Identification, Stereophotogrammetry, Scale and Traversability

Sections 15.7-8

HW#16

Due 5/11

05/11

HW15Answer

No recorded

Slides

Robot Learning, Four major types of learning by example, Supervised Learning: Induction, Support Vector Machines, Decision Trees,

Sections 16.1-4

Read Lecture Slides: Introduction to AI Robotics 16

05/13

No recorded

slides

Unsupervised Learning: Clustering, Artificial Neural Networks,

Section 16.5

Read Lecture Slides: Introduction to AI Robotics 16

05/15

No recorded

slides

Reinforcement Learning: Utility Functions, Q-learning, Q-learning Discussion

Section 16.6

Read Lecture Slides: Introduction to AI Robotics 16

05/18

Final Exam

Word

PDF

Final Exam: From Chapter 8 to Chapter 15, Additional Topics (Assignments), Python code to program JetBot

Scheduled time 11:15 a.m.-1:15 p.m

Due 05/18

Before 3:00pm

 

 

Robot Programming Projects

1.     Project #1 (List of parts for building the Jetbot AI robot)

2.     Project #2

3.     Project #3

4.     Project #4 (No project #4)

 

Homework Assignments

1.     Assignment #1

2.     Assignment #2

3.     Assignment #3

4.     Assignment #4

5.     Assignment #5

6.     Assignment #6

7.     Assignment #7

8.     Assignment #8

9.     Assignment #9

10.  Assignment #10

11.  Assignment #11

12.  Assignment #12

13.  Assignment #13

14.  Assignment #14

15.  Assignment #15

16.  Assignment #16

 

 

 

Course Materials

Required Textbook:

1.     Introduction to AI Robotics, Second Edition, by Robin R. Murphy, The MIT Press, 2019

 

Reference Books:

1.     The Robotics Primer, by Maja J Mataric, The MIT Press, 2007

2.     Introduction to Autonomous Mobile Robots, Second Edition, by Roland Siegwart, IIIah Reza Nourbakhsh and Davide Scaramuzza, The MIT Press, 2011

 

Lecture Slides: The Robotics Primer (Based on the Mataric’s book: Chapters 1-3)

Robotics: Overview

Robotics: Action

Robotics: Sensing

Robotics: Control

Robotics: Thinking

Robotics: More Topics

 

 

 

Lecture Slides: Introduction to AI Robotics (Adopted from Prof. Lynne E. Parker’s lecture slides and the Murphy’s book)

1.      What Are Intelligent Robots 1 overview pptx

2.      Brief History of AI Robotics 2 overview pptx

3.      Automation and Autonomy 3 overview pptx

4.      Software Organization 4a operational architectures  and 4b system architectures

5.      Teleoperation 5 overview

6.      Behaviors 6 overview

7.      Perception and Behaviors 7 overview

8.      Behavioral Coordination 8a overview and 8b potential fields and 8d subsumption and 8e sequences

9.      Locomotion 9a overview  

10.   Sensing 10 overview pptx

11.   Range Sensing 11 point clouds pptx

12.   Deliberation no slides

13.   Navigation 13 overview pptx

14.   Metric Path Planning 14a overview pptx and 14b NHC pptx and 14c Cspace pptx and 14d motion planning pptx

15.   Localization, Mapping, and Exploration 15a overview pptx and 15b terrain pptx

16.   Learning 16a overview pptx and 16b Q-Learning example pptx

17.   Multiagents 17 multiagents pptx

18.   Human-robot interaction 18a overview pptx and 18b natural langugage and communcation pptx

 

Course Syllabus and Major Topics

 

Course Description

CS4950 Robotics. (3 Hours) Pre-requisites: CS 3100 and MATH 2300. This course will introduce robotics and the key artificial intelligence issues involved in the development of intelligent robots. The course will examine algorithms for the control of autonomous mobile robots and explore issues that include software control architectures, localization, navigation, sensing, planning, and uncertainty. Provides a variety of hands-on robot programming and simulation projects.

 

Course Outcomes:

Students who successfully complete the course must be able to

1.     Explain issues and challenges in autonomous robotics and biological foundations for robot control and the reactive paradigm.

2.     Utilize the hierarchical paradigm, hybrid deliberative/reactive paradigm, and sensing techniques for reactive robots, and the STRIPS algorithm.

3.     Apply algorithms and methodologies in robot path planning, localization, and map making.

4.     Write software programs to control a real or simulated mobile robot.

 

 

Project Reference Materials

·       Video: Getting Started with JetBot:

https://www.youtube.com/watch?v=byGZt5ZYup0

·       Video: NVIDIA JetBot: Jetson Nano Vision-Controlled AI Robot

https://www.youtube.com/watch?v=wKMWjIKaU68

·       The JetBot Wiki:

https://github.com/NVIDIA-AI-IOT/jetbot/wiki