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
|
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
|
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)
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.