Difference between revisions of "Cognitive Robotics Lecture Schedule"

From David Vernon's Wiki
Jump to: navigation, search
 
(40 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
Mini 1: Cognitive Robotics: Foundations
 
<small>
 
<small>
 
{| class="wikitable"
 
{| class="wikitable"
Line 4: Line 5:
 
! scope="col" style="width: 3%;"  |  Lecture
 
! scope="col" style="width: 3%;"  |  Lecture
 
! scope="col" style="width: 15%;" |Topic
 
! scope="col" style="width: 15%;" |Topic
! scope="col" style="width: 40%;" |  Material covered
+
! scope="col" style="width: 25%;" |  Material covered
 
! scope="col" style="width: 10%;" | Required&nbsp;hardware
 
! scope="col" style="width: 10%;" | Required&nbsp;hardware
 
! scope="col" style="width: 9%;" |  Required&nbsp;software
 
! scope="col" style="width: 9%;" |  Required&nbsp;software
! scope="col" style="width: 12%;" | Reading
+
! scope="col" style="width: 20%;" | Reading
! scope="col" style="width: 13%;" | Homework&nbsp;exercises
+
! scope="col" style="width: 20%;" | Homework&nbsp;exercises
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
 
| Tues. 17 Jan.
 
| Tues. 17 Jan.
Line 25: Line 26:
 
| USB camera
 
| USB camera
 
| OpenCV
 
| OpenCV
| Vernon (1991), Sections 2.2.1, 2.2.2, 3.1, 4.1, 4.2, 5.1, 5.2, 5.3.1.
+
| [http://www.vernon.eu/04-801/04-801_Cognitive_Robotics_02_Robot_Vision_I.pdf Lecture 2 Slides]. Vernon (1991), Sections 2.2.1, 2.2.2, 3.1, 4.1.4, 4.2.1, 5.1, 5.3.1.
 
|Image acquisition and image processing using OpenCV
 
|Image acquisition and image processing using OpenCV
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
Line 31: Line 32:
 
| 3
 
| 3
 
| Robot&nbsp; vision II
 
| Robot&nbsp; vision II
| Segmentation. Hough transform: line, circle, and generalized transform; extension to codeword features. Colour-based segmentation.
+
| Hough transform: line, circle, and generalized transform; extension to codeword features.
 
| USB camera
 
| USB camera
 
| OpenCV
 
| OpenCV
| Szeliski (2010), Sections 3.1.2, 3.3.4, 4.3.2. Vernon (1991), Section 3.1, 3.2, 3.3, 4.2.1, 4.2.2, 5.3, 6.4.
+
| [http://www.vernon.eu/04-801/04-801_Cognitive_Robotics_03_Robot_Vision_II.pdf  Lecture 3 Slides]. Vernon (1991), Sections 5.2, 6.4.
| Hough transforms and colour segmentation using OpenCV
+
| [http://www.vernon.eu/04-801/04-801_Assignment_1.pdf Assignment 1: Object detection, localization, and pose estimation using the Hough transform]
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
 
| Thurs. 26 Jan.
 
| Thurs. 26 Jan.
 
| 4
 
| 4
 
| Robot&nbsp; vision III
 
| Robot&nbsp; vision III
| Object recognition. Interest point operators. Gradient orientation histogram - SIFT descriptor. Colour histogram intersection. Haar features, boosting, face detection.
+
| <!-- Object recognition. Interest point operators. Gradient orientation histogram - SIFT descriptor. Haar features, boosting, face detection. --> Colour segmentation. Colour histogram intersection and back-projection.
 
| USB camera
 
| USB camera
| OpenCV, Vienna University of Technology BLORT Library
+
| OpenCV <!--, Vienna University of Technology BLORT Library -->
| Szeliski (2010), Sections 4.1.2, 4.1.3, 4.1.4, 4.1.5, 14.1.1.
+
| [http://www.vernon.eu/04-801/04-801_Cognitive_Robotics_04_Robot_Vision_III.pdf  Lecture 4 Slides]. Hanbury 2002. Swain and Ballard 1991.  <!-- Szeliski (2010), Sections 4.1.2, 4.1.3, 4.1.4, 4.1.5, 14.1.1. -->
| Face detection and object recognition using OpenCV
+
|<!--  Face detection and object segmentation using OpenCV -->
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
 
| Tues. 31 Jan.
 
| Tues. 31 Jan.
 
| 5
 
| 5
 
|Robot&nbsp; vision IV
 
|Robot&nbsp; vision IV
|Homogeneous coordinates and transformations. Perspective transformation. Camera model and inverse perspective transformation. Stereo vision. Epipolar geometry. Structured light & RGB-D cameras.
+
|Homogeneous coordinates and transformations. Perspective transformation. Camera model and inverse perspective transformation. <!-- Stereo vision. Epipolar geometry. Structured light & RGB-D cameras. -->
 
|USB camera
 
|USB camera
 
|OpenCV
 
|OpenCV
|Szeliski (2010), Sections 2.1, 11.1, 11.2, 11.3. Vernon (1991), Section 8.6, 9.4.2.
+
|[http://vernon.eu/04-801/04-801_Cognitive_Robotics_05_Robot_Vision_IV.pdf Lecture 5 Slides]. [http://vernon.eu/publications/91_Vernon_Machine_Vision.pdf Vernon (1991)], Section 8.6, 9.4.2.  [http://vernon.eu/publications/95_Dawson-Howe_Vernon_IJIST.pdf Dawson-Howe and Vernon (1995)].  [http://docs.opencv.org/2.4/modules/calib3d/doc/camera_calibration_and_3d_reconstruction.html OpenCV documentation on camera calibration].
|Camera calibration
+
|<!-- Camera calibration -->
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
 
| Thurs. 2 Feb.
 
| Thurs. 2 Feb.
 
| 6
 
| 6
|Robot&nbsp; vision V
+
|Mobile robots I
|Plane pop-out. RANSAC. Differential geometry. Surface normals and Gaussian sphere. Point clouds. 3D descriptors.
+
|Types of mobile robots. The challenge of robot navigation. Wheeled locomotion. Kinematics of a two-wheel differential drive robot. Inverse kinematics.
|Kinect RGB-D sensor
+
|<!-- Anki Cozmo mobile robot -->
|Technische Universität Wien RGB-D Segmentation Library and V4R Library
+
|<!-- Anki Cozmo SDK, OpenCV -->
|Szeliski (2010), Sections 12.4. Point Cloud Library tutorial.
+
|[http://vernon.eu/04-801/04-801_Cognitive_Robotics_06_Mobile_Robots_I.pdf Lecture 6 Slides].  [http://www.vernon.eu/04-801/Vernon_2009.pdf Vernon (2009)]. <!-- Python tutorial. Cozmo SDK API. OpenCV Python tutorial. -->
|Analysis of point cloud data from RGB-D camera
+
|<!-- Cozmo locomotion. -->
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
 
| Tues. 7 Feb.
 
| Tues. 7 Feb.
 
| 7
 
| 7
|Robot&nbsp; vision VI
+
|Mobile robots II
|Visual attention. Spatial & selective attention. Saliency functions. Selective Tuning. Overt attention. Inhibition of return. Habituation. Top-down attention.
+
|The position estimation problem. Relative position estimation. Odometry-based navigation. Absolute position estimation. Combined position estimation.
|USB camera
+
|<!-- Anki Cozmo mobile robot -->
|CINDY cognitive architecture
+
|<!-- Anki Cozmo SDK, OpenCV -->
|
+
|[http://vernon.eu/04-801/04-801_Cognitive_Robotics_07_Mobile_Robots_II.pdf Lecture 7 Slides].  <!-- Python tutorial. Cozmo SDK API. OpenCV Python tutorial. -->
|Implementation of a saliency function for covert attention
+
|<!-- Cozmo landmark recognition. -->
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
 
| Thurs. 9 Feb.
 
| Thurs. 9 Feb.
 
| 8
 
| 8
|Mobile robots I
+
|Mobile robots III
|Differential drive locomotion. Forward and inverse kinematics. Holonomic and non-holonomic constraints. Cozmo mobile robot.
+
|<!-- Map representation. Probabilistic map-based localization. Landmark-based localization --> Closed-Loop Control. Go-to-position problem. Divide and conquer controller. MIMO controller. Cozmo Robot. Python Cozmo SDK.
 
|Anki Cozmo mobile robot
 
|Anki Cozmo mobile robot
|Anki Cozmo SDK, OpenCV
+
|Anki Cozmo SDK
|Python tutorial. Cozmo SDK API. OpenCV Python tutorial.
+
|[http://vernon.eu/04-801/04-801_Cognitive_Robotics_08_Mobile_Robots_III.pdf Lecture 8 Slides].  Python tutorial. Cozmo SDK API.
|Cozmo locomotion.
+
|<!-- Cozmo landmark recognition -->
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
 
| Tues. 14 Feb.
 
| Tues. 14 Feb.
 
| 9
 
| 9
|Mobile robots II
+
|Mobile robots IV
|Relative and absolute position estimation. Odometry.
+
|<!-- SLAM: simultaneous localization and mapping. Extended Kalman Filter (EKF) SLAM. Visual SLAM. Particle filter SLAM. --> Path planning. The search problem in AI. Path planning as a search problem. Breadth-First Search (BFS): The Wavefront Algorithm. Depth-First Search (DFS). Heuristic Search. Greedy Search. A* Search.
|Anki Cozmo mobile robot
+
|Anki Cozmo mobile robot
|Anki Cozmo SDK, OpenCV
+
|Anki Cozmo SDK
|Python tutorial. Cozmo SDK API. OpenCV Python tutorial.
+
|<!-- Python tutorial. Cozmo SDK API. OpenCV Python tutorial. --> [http://vernon.eu/04-801/04-801_Cognitive_Robotics_09_Mobile_Robots_IV.pdf Lecture 9 Slides].
|Cozmo landmark recognition.
+
|<!-- Cozmo object recognition -->  [http://www.vernon.eu/04-801/04-801_Assignment_2.pdf Assignment 2: Mobile robot locomotion]
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Thurs. 16 Feb.
+
| Tues. 16 Feb.
 
| 10
 
| 10
|Mobile robots III
+
|Mobile robots V
|Map representation. Probabilistic map-based localization. Landmark-based localization.
+
|<!-- Graph search path planning. Potential field path planning. Navigation. Obstacle avoidance. Object search. -->The problem of autonomous navigation. Defining the system. The challenge of uncertainty. Architectures for autonomy. The Sense-Plan-Act architecture. The Reactive architecture. The Hybrid architecture.
|Anki Cozmo mobile robot
+
|<!-- Anki Cozmo mobile robot -->
|Anki Cozmo SDK, OpenCV
+
|<!-- Anki Cozmo SDK, OpenCV -->
|Python tutorial. Cozmo SDK API. OpenCV Python tutorial.
+
|<!-- Python tutorial. Cozmo SDK API. OpenCV Python tutorial. --> [http://vernon.eu/04-801/04-801_Cognitive_Robotics_10_Mobile_Robots_V.pdf Lecture 10 Slides].  
|Cozmo landmark recognition
+
|<!-- Cozmo navigation -->
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
 
| Tues. 21 Feb.
 
| Tues. 21 Feb.
 
| 11
 
| 11
|Mobile robots IV
+
|Robot arms I
|SLAM: simultaneous localization and mapping. Extended Kalman Filter (EKF) SLAM. Visual SLAM. Particle filter SLAM.
+
|Robot programming. Description of object pose with homogenous transformations. Robot programming by frame-based task specification.
|Anki Cozmo mobile robot
+
|<!-- Lynxmotion 5DoF arm, Arduino interface -->
|Anki Cozmo SDK, OpenCV
+
|<!-- Arduino sketch programs for Lynxmotion-->
|Python tutorial. Cozmo SDK API. OpenCV Python tutorial.
+
|[http://vernon.eu/04-801/04-801_Cognitive_Robotics_11_Robot_Arms_I.pdf Lecture 11 Slides]. Paul (1981), Chapters 1 & 2. Vernon (1991), Sections 8.1-8.4.
|Cozmo object recognition
+
|<!-- Move end-effector along various paths in joint space -->
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Tues. 23 Feb.
+
| Thurs. 23 Feb.
 
| 12
 
| 12
|Mobile robots V
+
|Robot arms II
|Graph search path planning. Potential field path planning. Navigation. Obstacle avoidance. Object search.
+
|Robot programming by frame-based task specification <!-- Analytic inverse kinematics. Iterative approaches. Kinematic structure learning. Kinematics structure correspondences. -->
|Anki Cozmo mobile robot
+
|<!-- Lynxmotion 5DoF arm, Arduino interface -->
|Anki Cozmo SDK, OpenCV
+
|<!-- Arduino sketch programs for Lynxmotion -->
|Python tutorial. Cozmo SDK API. OpenCV Python tutorial.
+
|[http://vernon.eu/04-801/04-801_Cognitive_Robotics_12_Robot_Arms_II.pdf Lecture 12 Slides]. Paul (1981), Chapters 1 & 2. Vernon (1991), Sections 8.1-8.4.<!-- Paul (1981), Chapter 3. -->
|Cozmo navigation
+
|<!-- Move end-effector along various paths in Cartesian frame of reference -->
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Tues. 18 Feb.
+
| Tues. 28 Feb.
 
| 13
 
| 13
|Robot arms I
+
|Robot arms III
|Homogeneous transformations. Frame-based pose specification. Denavit-Hartenberg specifications. Robot kinematics.
+
|<!-- Vision-based pose estimation. --> Denavit-Hartenberg representation. Forward kinematics of a manipulator.  
|Lynxmotion 5DoF arm, Arduino interface
+
|Lynxmotion 5DoF arm, Arduino interface  
 
|Arduino sketch programs for Lynxmotion
 
|Arduino sketch programs for Lynxmotion
|Paul (1981), Chapters 1 & 2.
+
|[http://vernon.eu/04-801/04-801_Cognitive_Robotics_13_Robot_Arms_III.pdf Lecture 13 Slides].  
|Move end-effector along various paths in joint space
+
|<!-- Compute the pose of a light cube -->
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
 
| Thurs. 2 Mar.
 
| Thurs. 2 Mar.
 
| 14
 
| 14
|Robot arms II
+
| Robot arms IV
|Analytic inverse kinematics. Iterative approaches. Kinematic structure learningKinematics structure correspondences.
+
| <!-- Programming by demonstration. Language-based programming. --> Inverse kinematics. From forward and inverse kinematics to internal simulation. Hesslow's simulation hypothesisHAMMER.
|Lynxmotion 5DoF arm, Arduino interface
+
| Lynxmotion 5DoF arm, Arduino interface
|Arduino sketch programs for Lynxmotion
+
| [http://www.vernon.eu/downloads/arduino-1.8.1-windows.exe Arduino 1.8.1 for Windows]
|Paul (1981), Chapter 3.
+
[http://www.vernon.eu/downloads/inverse_kinematics_demo.ino Arduino inverse kinematics demo sketch]
|Move end-effector along various paths in Cartesian frame of reference
+
[http://www.vernon.eu/downloads/CDM21224_Setup.exe CDM21224 COM port on USB.exe]
 +
| [http://vernon.eu/04-801/04-801_Cognitive_Robotics_14_Robot_Arms_IV.pdf Lecture 14 Slides]. [http://vernon.eu/04-801/AbuQassem_et_al_2010.pdf Abu Qassem et al (2010)].  [http://vernon.eu/04-801/Gan_et_al_2005.pdf Gan et al (2005)].  
 +
| <!-- Implement a program to move light cube from one position/pose to another position/pose -->  [http://www.vernon.eu/04-801/04-801_Assignment_3.pdf Assignment 3: Robot Manipulation]
 +
|}
 +
 
 +
</small>
 +
 
 +
 
 +
Mini 2: Cognitive Robotics: Principles and Practice
 +
 
 +
<small>
 +
{| class="wikitable"
 +
! scope="col" style="width: 8%;"  |  Date
 +
! scope="col" style="width: 3%;"  |  Lecture
 +
! scope="col" style="width: 15%;" |Topic
 +
! scope="col" style="width: 25%;" |  Material covered
 +
! scope="col" style="width: 10%;" | Required&nbsp;hardware
 +
! scope="col" style="width: 9%;" |  Required&nbsp;software
 +
! scope="col" style="width: 20%;" | Reading
 +
! scope="col" style="width: 20%;" | Homework&nbsp;exercises
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Tues. 7 Mar.
+
| TBD
| 15
+
| 1
|Robot arms III
+
|Robot manipulation. Frame-based task specification. Vision-based pose estimation.
+
|Lynxmotion 5DoF arm, Arduino interface
+
|Arduino sketch programs for Lynxmotion
+
|Vernon (1991), Sections 8.1-8.4.
+
|Compute the pose of a light cube
+
|- style="vertical-align: top;"
+
| Thurs. 9 Mar.
+
| 16
+
|Robot arms IV
+
|Programming by demonstration. Language-based programming.
+
|Lynxmotion 5DoF arm, Arduino interface
+
|Arduino sketch programs for Lynxmotion
+
|Vernon (1991), Sections 8.1-8.4
+
|Implement a program to move light cube from one position/pose to another position/pose
+
|- style="vertical-align: top;"
+
| Tues. 14 Mar.
+
| 17
+
 
|Cognitive architectures I
 
|Cognitive architectures I
 
|Role and requirements; cognitive architecture schemas; example cognitive architectures including Soar, ACT-R, Clarion, LIDA, and ISAC. The Standard Model.
 
|Role and requirements; cognitive architecture schemas; example cognitive architectures including Soar, ACT-R, Clarion, LIDA, and ISAC. The Standard Model.
Line 163: Line 165:
 
|Group discussion on which cognitive architectures are suitable for cognitive robotics
 
|Group discussion on which cognitive architectures are suitable for cognitive robotics
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Thurs. 16 Mar.
+
| TBD
| 18
+
| 2
 
|Cognitive architectures II
 
|Cognitive architectures II
 
|CRAM: Cognitive Robot Abstract Machine. CRAM Plan Language (CPL). KnowRob knowledge processing and reasoning
 
|CRAM: Cognitive Robot Abstract Machine. CRAM Plan Language (CPL). KnowRob knowledge processing and reasoning
Line 172: Line 174:
 
|CRAM test programs
 
|CRAM test programs
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Tues. 21 Mar.
+
| TBD
| 19
+
| 3
 
|Cognitive architectures III
 
|Cognitive architectures III
 
|Knowledge representation, processing, and reasoning.
 
|Knowledge representation, processing, and reasoning.
Line 181: Line 183:
 
|OpenEASE test programs
 
|OpenEASE test programs
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Thurs. 23 Mar.
+
| TBD
| 20
+
| 4
 
|Learning and development I
 
|Learning and development I
 
|Supervised, unsupervised, and reinforcement learning. Hebbian learning.
 
|Supervised, unsupervised, and reinforcement learning. Hebbian learning.
Line 190: Line 192:
 
|Hebbian learning
 
|Hebbian learning
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Tues. 28 Mar.
+
| TBD
| 21
+
| 5
 
|Learning and development II
 
|Learning and development II
 
|Predictive sequence learning (PSL).
 
|Predictive sequence learning (PSL).
Line 199: Line 201:
 
|PSL test programs
 
|PSL test programs
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Thurs. 30 Mar.
+
| TBD
| 22
+
| 6
 
|Learning and development III
 
|Learning and development III
 
|Learning from demonstration
 
|Learning from demonstration
Line 208: Line 210:
 
|PSL test programs
 
|PSL test programs
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Tues. 4 Apr.
+
| TBD
| 23
+
| 7
 
|Learning and development IV
 
|Learning and development IV
 
|Cognitive development in humans and robots. Value systems for developmental and cognitive robots.
 
|Cognitive development in humans and robots. Value systems for developmental and cognitive robots.
Line 217: Line 219:
 
|
 
|
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Thurs. 6 Apr.
+
| TBD
| 24
+
| 8
 
|Memory and Prospection
 
|Memory and Prospection
 
|Declarative vs. procedural memory. Semantic memory. Episodic memory
 
|Declarative vs. procedural memory. Semantic memory. Episodic memory
Line 226: Line 228:
 
|Implementation of episodic memory on Cozmo
 
|Implementation of episodic memory on Cozmo
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Tues. 18 Apr.
+
| TBD
| 25
+
| 9
 
|Internal simulation I
 
|Internal simulation I
 
|Episodic future thinking. Forward and inverse models. Internal simulation hypothesis, Internal simulation with PSL
 
|Episodic future thinking. Forward and inverse models. Internal simulation hypothesis, Internal simulation with PSL
Line 235: Line 237:
 
|PSL test programs
 
|PSL test programs
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Thurs. 20 Apr.
+
| TBD
| 26
+
| 10
 
|Internal simulation II
 
|Internal simulation II
 
|HAMMER cognitive architecture
 
|HAMMER cognitive architecture
Line 244: Line 246:
 
|HAMMER tutorial using the ICL library
 
|HAMMER tutorial using the ICL library
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Tues. 25 Apr.
+
| TBD
| 27
+
| 11
 
|Social interaction I
 
|Social interaction I
 
|Joint action. Joint attention. Shared intention. Shared goals. Perspective taking. Theory of mind.
 
|Joint action. Joint attention. Shared intention. Shared goals. Perspective taking. Theory of mind.
Line 253: Line 255:
 
|Perspective taking using the ICL library.
 
|Perspective taking using the ICL library.
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Thurs. 27 Apr.
+
| TBD
| 28
+
| 12
 
|Social interaction II
 
|Social interaction II
 
|Action and intention recognition. Embodied cognition. Humanoid robotics.
 
|Action and intention recognition. Embodied cognition. Humanoid robotics.
Line 262: Line 264:
 
|Perspective taking using the ICL library
 
|Perspective taking using the ICL library
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Tues. 2 May
+
| TBD
| 29
+
| 13
 
|
 
|
 
|
 
|
Line 271: Line 273:
 
|
 
|
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| Thurs. 5 May
+
|  
| 30
+
| 14
 
|
 
|
 
|
 
|
Line 280: Line 282:
 
|  
 
|  
 
|}
 
|}
</small>
 
 
  
 
----
 
----
 
Back to [[Cognitive Robotics]]
 
Back to [[Cognitive Robotics]]

Latest revision as of 05:17, 3 March 2017

Mini 1: Cognitive Robotics: Foundations

Date Lecture Topic Material covered Required hardware Required software Reading Homework exercises
Tues. 17 Jan. 1 Introduction Motivation. Goals of the course. Syllabus and lecture schedule. Course operation. Industrial requirements for cognitive robots. Artificial cognitive systems. Cognitivist, emergent, and hybrid paradigms in cognitive science. Autonomy. AI and cognition in robotics. Software development tools for assignments. None None Lecture 1 Slides. Vernon (2014), Chapters 1, 2, and 4. Install software tools and run example assignment0 programs.
Thurs. 19 Jan. 2 Robot  vision I Computer vision. Optics, sensors, and image formation. Image acquisition. Fundamentals of image processing. Segmentation and edge detection. Introduction to OpenCV. USB camera OpenCV Lecture 2 Slides. Vernon (1991), Sections 2.2.1, 2.2.2, 3.1, 4.1.4, 4.2.1, 5.1, 5.3.1. Image acquisition and image processing using OpenCV
Tues. 24 Jan. 3 Robot  vision II Hough transform: line, circle, and generalized transform; extension to codeword features. USB camera OpenCV Lecture 3 Slides. Vernon (1991), Sections 5.2, 6.4. Assignment 1: Object detection, localization, and pose estimation using the Hough transform
Thurs. 26 Jan. 4 Robot  vision III Colour segmentation. Colour histogram intersection and back-projection. USB camera OpenCV Lecture 4 Slides. Hanbury 2002. Swain and Ballard 1991.
Tues. 31 Jan. 5 Robot  vision IV Homogeneous coordinates and transformations. Perspective transformation. Camera model and inverse perspective transformation. USB camera OpenCV Lecture 5 Slides. Vernon (1991), Section 8.6, 9.4.2. Dawson-Howe and Vernon (1995). OpenCV documentation on camera calibration.
Thurs. 2 Feb. 6 Mobile robots I Types of mobile robots. The challenge of robot navigation. Wheeled locomotion. Kinematics of a two-wheel differential drive robot. Inverse kinematics. Lecture 6 Slides. Vernon (2009).
Tues. 7 Feb. 7 Mobile robots II The position estimation problem. Relative position estimation. Odometry-based navigation. Absolute position estimation. Combined position estimation. Lecture 7 Slides.
Thurs. 9 Feb. 8 Mobile robots III Closed-Loop Control. Go-to-position problem. Divide and conquer controller. MIMO controller. Cozmo Robot. Python Cozmo SDK. Anki Cozmo mobile robot Anki Cozmo SDK Lecture 8 Slides. Python tutorial. Cozmo SDK API.
Tues. 14 Feb. 9 Mobile robots IV Path planning. The search problem in AI. Path planning as a search problem. Breadth-First Search (BFS): The Wavefront Algorithm. Depth-First Search (DFS). Heuristic Search. Greedy Search. A* Search. Anki Cozmo mobile robot Anki Cozmo SDK Lecture 9 Slides. Assignment 2: Mobile robot locomotion
Tues. 16 Feb. 10 Mobile robots V The problem of autonomous navigation. Defining the system. The challenge of uncertainty. Architectures for autonomy. The Sense-Plan-Act architecture. The Reactive architecture. The Hybrid architecture. Lecture 10 Slides.
Tues. 21 Feb. 11 Robot arms I Robot programming. Description of object pose with homogenous transformations. Robot programming by frame-based task specification. Lecture 11 Slides. Paul (1981), Chapters 1 & 2. Vernon (1991), Sections 8.1-8.4.
Thurs. 23 Feb. 12 Robot arms II Robot programming by frame-based task specification Lecture 12 Slides. Paul (1981), Chapters 1 & 2. Vernon (1991), Sections 8.1-8.4.
Tues. 28 Feb. 13 Robot arms III Denavit-Hartenberg representation. Forward kinematics of a manipulator. Lynxmotion 5DoF arm, Arduino interface Arduino sketch programs for Lynxmotion Lecture 13 Slides.
Thurs. 2 Mar. 14 Robot arms IV Inverse kinematics. From forward and inverse kinematics to internal simulation. Hesslow's simulation hypothesis. HAMMER. Lynxmotion 5DoF arm, Arduino interface Arduino 1.8.1 for Windows

Arduino inverse kinematics demo sketch CDM21224 COM port on USB.exe

Lecture 14 Slides. Abu Qassem et al (2010). Gan et al (2005). Assignment 3: Robot Manipulation


Mini 2: Cognitive Robotics: Principles and Practice

Date Lecture Topic Material covered Required hardware Required software Reading Homework exercises
TBD 1 Cognitive architectures I Role and requirements; cognitive architecture schemas; example cognitive architectures including Soar, ACT-R, Clarion, LIDA, and ISAC. The Standard Model. Vernon (2014) Chapter 3. Chella et al. (2013). Scheutz et al. (2013). Vernon et al. (2016). Group discussion on which cognitive architectures are suitable for cognitive robotics
TBD 2 Cognitive architectures II CRAM: Cognitive Robot Abstract Machine. CRAM Plan Language (CPL). KnowRob knowledge processing and reasoning CRAM Beetz et al. (2010) CRAM test programs
TBD 3 Cognitive architectures III Knowledge representation, processing, and reasoning. KnowRob and OpenEASE Beetz et al. (2015) OpenEASE test programs
TBD 4 Learning and development I Supervised, unsupervised, and reinforcement learning. Hebbian learning. MaxHebb library Harmon and Harmon (1997) Hebbian learning
TBD 5 Learning and development II Predictive sequence learning (PSL). Anki Cozmo mobile robot Anki Cozmo SDK, PSL library Sun and Giles (2001). Billing et al. (2011, 2016). PSL test programs
TBD 6 Learning and development III Learning from demonstration Anki Cozmo mobile robot Anki Cozmo SDK, PSL library Vernon (2014), Chapters 6 & 8. Billard et al. (2008). Argall (2009). PSL test programs
TBD 7 Learning and development IV Cognitive development in humans and robots. Value systems for developmental and cognitive robots. Vernon (2014), Chapters 6 & 9. Lungarella et al. (2003). Asada et al. (2009). Cangelosi and Schlesinger (2015), Chapters 1 & 2. Merrick (2016). Vernon et al. (2016).
TBD 8 Memory and Prospection Declarative vs. procedural memory. Semantic memory. Episodic memory Anki Cozmo mobile robot Anki Cozmo SDK, CINDY library, OpenCV Vernon (2014), Chapter 7. Implementation of episodic memory on Cozmo
TBD 9 Internal simulation I Episodic future thinking. Forward and inverse models. Internal simulation hypothesis, Internal simulation with PSL Anki Cozmo mobile robot Anki Cozmo SDK, PSL library Vernon (2014), Chapter 8. Billing et al. (2016). PSL test programs
TBD 10 Internal simulation II HAMMER cognitive architecture Boost, Imperial College London HAMMER library Demiris and Khadhouri (2006). Sarabia et al. (2011). HAMMER tutorial using the ICL library
TBD 11 Social interaction I Joint action. Joint attention. Shared intention. Shared goals. Perspective taking. Theory of mind. Kinect RGB-D sensor Ubuntu 14.04, ROS, Imperial College London Perspective Taking library Vernon (2014), Chapter 9. Fisher and Demiris 2016. Perspective taking using the ICL library.
TBD 12 Social interaction II Action and intention recognition. Embodied cognition. Humanoid robotics. Kinect RGB-D sensor Ubuntu 14.04, ROS, Imperial College London Perspective Taking library. Vernon (2014), Chapter 9. Perspective taking using the ICL library
TBD 13
14

Back to Cognitive Robotics