Difference between revisions of "Cognitive Robotics Lecture Plan"

From David Vernon's Wiki
Jump to: navigation, search
(Created page with "<small> {| class="wikitable" |- style="vertical-align: top;" ! Week ! Lecture ! Topic ! Material covered ! Required hardware ! Required software ! Pre-class rea...")
 
Line 59: Line 59:
 
| 6
 
| 6
 
|Robot&nbsp; vision V
 
|Robot&nbsp; vision V
|Visual attention. Plane pop-out. RANSAC. Differential geometry. Surface normals and Gaussian sphere. Point clouds. 3D descriptors.
+
Plane pop-out. RANSAC. Differential geometry. Surface normals and Gaussian sphere. Point clouds. 3D descriptors.
 
|Kinect RGB-D sensor
 
|Kinect RGB-D sensor
|Vienna University of Technology RGB-D Segmentation Library and V4R Library
+
|Technische Universität Wien RGB-D Segmentation Library and V4R Library
 
|Szeliski (2010), Sections 12.4. Point Cloud Library tutorial.
 
|Szeliski (2010), Sections 12.4. Point Cloud Library tutorial.
 
|Analysis of point cloud data from RGB-D camera
 
|Analysis of point cloud data from RGB-D camera
Line 67: Line 67:
 
| 4
 
| 4
 
| 7
 
| 7
 +
|Robot&nbsp; vision VI
 +
|Visual attention. Spatial & selective attention. Saliency functions. Selective Tuning. Overt attention. Inhibition of return. Habituation. Top-down attention.
 +
|USB camera
 +
|CINDY cognitive architecture
 +
|
 +
|Implementation of a saliency function for covert attention
 +
|- style="vertical-align: top;"
 +
| 4
 +
| 8
 
|Mobile robots I
 
|Mobile robots I
 
|Differential drive locomotion. Forward and inverse kinematics. Holonomic and non-holonomic constraints.  Cozmo mobile robot.
 
|Differential drive locomotion. Forward and inverse kinematics. Holonomic and non-holonomic constraints.  Cozmo mobile robot.
Line 74: Line 83:
 
|Cozmo locomotion (e.g. program Cozmo to drive along a pre-determined route and perform face detection)
 
|Cozmo locomotion (e.g. program Cozmo to drive along a pre-determined route and perform face detection)
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| 4
+
| 5
| 8
+
| 9
 
|Mobile robots II
 
|Mobile robots II
 +
|Relative and absolute position estimation. Odometry.
 +
|Anki Cozmo mobile robot
 +
|Anki Cozmo SDK, OpenCV
 +
|Python tutorial. Cozmo SDK API. OpenCV Python tutorial.
 +
|Cozmo landmark recognition
 +
|- style="vertical-align: top;"
 +
| 5
 +
| 10
 +
|Mobile robots III
 
|Map representation. Probabilistic map-based localization. Landmark-based localization.
 
|Map representation. Probabilistic map-based localization. Landmark-based localization.
 
|Anki Cozmo mobile robot
 
|Anki Cozmo mobile robot
Line 83: Line 101:
 
|Cozmo landmark recognition
 
|Cozmo landmark recognition
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| 5
+
| 6
| 9
+
| 11
|Mobile robots III
+
|Mobile robots IV
 
|SLAM: simultaneous localization and mapping. Extended Kalman Filter (EKF) SLAM. Visual SLAM. Particle filter SLAM.
 
|SLAM: simultaneous localization and mapping. Extended Kalman Filter (EKF) SLAM. Visual SLAM. Particle filter SLAM.
 
|Anki Cozmo mobile robot  
 
|Anki Cozmo mobile robot  
Line 92: Line 110:
 
|Cozmo object recognition
 
|Cozmo object recognition
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| 5
+
| 6
| 10
+
| 12
|Mobile robots IV
+
|Mobile robots V
 
|Graph search path planning. Potential field path planning. Navigation. Obstacle avoidance. Object search.
 
|Graph search path planning. Potential field path planning. Navigation. Obstacle avoidance. Object search.
 
|Anki Cozmo mobile robot
 
|Anki Cozmo mobile robot
Line 101: Line 119:
 
|Cozmo navigation  
 
|Cozmo navigation  
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| 6
+
| 7
| 11
+
| 13
 
|Robot arms I
 
|Robot arms I
 
|Homogeneous transformations. Frame-based pose specification. Denavit-Hartenberg specifications. Robot kinematics.
 
|Homogeneous transformations. Frame-based pose specification. Denavit-Hartenberg specifications. Robot kinematics.
Line 110: Line 128:
 
|Move end-effector along various paths in joint space
 
|Move end-effector along various paths in joint space
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| 6
+
| 7
| 12
+
| 14
 
|Robot arms II
 
|Robot arms II
 
|Analytic inverse kinematics. Iterative approaches. Kinematic structure learning.  Kinematics structure correspondences.
 
|Analytic inverse kinematics. Iterative approaches. Kinematic structure learning.  Kinematics structure correspondences.
Line 119: Line 137:
 
|Move end-effector along various paths in Cartesian frame of reference
 
|Move end-effector along various paths in Cartesian frame of reference
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| 7
+
| 8
| 13
+
| 15
 
|Robot arms III
 
|Robot arms III
 
|Robot manipulation. Frame-based task specification. Vision-based pose estimation.
 
|Robot manipulation. Frame-based task specification. Vision-based pose estimation.
Line 128: Line 146:
 
|Compute the pose of a light cube
 
|Compute the pose of a light cube
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
| 7
+
| 8
| 14
+
| 16
 
|Robot arms IV
 
|Robot arms IV
 
|Language-based programming. Programming by demonstration.
 
|Language-based programming. Programming by demonstration.
Line 136: Line 154:
 
|Vernon (1991), Sections 8.1-8.4
 
|Vernon (1991), Sections 8.1-8.4
 
|Implement a program to move light cube from one position/pose to another position/pose
 
|Implement a program to move light cube from one position/pose to another position/pose
|- style="vertical-align: top;"
 
| 8
 
| 15
 
|
 
|
 
|
 
|
 
|
 
|
 
|- style="vertical-align: top;"
 
| 8
 
| 16
 
|
 
|
 
|
 
|
 
|
 
|
 
 
|- style="vertical-align: top;"
 
|- style="vertical-align: top;"
 
| 9
 
| 9

Revision as of 07:52, 21 December 2016

Week Lecture Topic Material covered Required hardware Required software Pre-class reading Homework exercises
1 1 Cognitive robotics Introduction to AI and cognition in robotics. Industrial requirements. Artificial cognitive systems. Cognitivist, emergent, and hybrid paradigms in cognitive science. Autonomy. None None Vernon (2014), Chapters 1, 2, and 4. Installation of software tools.
1 2 Robot  vision I Optics, sensors, and image formation. Image acquisition. Image filtering. Edge detection. USB camera OpenCV Kragic and Vincze (2010). Szeliski (2010), Sections 1.1, 1.2, 2.3, 3.2, 4.2. Vernon (1991), Sections 2.1, 2.1 Image acquisition and image processing using OpenCV
2 3 Robot  vision II Segmentation. Hough transform: line, circle, and generalized transform; extension to codeword features. Colour-based segmentation. USB camera 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. Hough transforms and colour segmentation using OpenCV
2 4 Robot  vision III Object recognition. Interest point operators. Gradient orientation histogram - SIFT descriptor. Colour histogram intersection. Haar features, boosting, face detection. USB camera 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. Face detection and object recognition using OpenCV
3 5 Robot  vision IV Homogeneous coordinates and transformations. Perspective transformation. Camera model and inverse perspective transformation. Stereo vision. Epipolar geometry. Structured light & RGB-D cameras. USB camera OpenCV Szeliski (2010), Sections 2.1, 11.1, 11.2, 11.3. Vernon (1991), Section 8.6, 9.4.2. Camera calibration
3 6 Robot  vision V

Plane pop-out. RANSAC. Differential geometry. Surface normals and Gaussian sphere. Point clouds. 3D descriptors.

Kinect RGB-D sensor Technische Universität Wien RGB-D Segmentation Library and V4R Library Szeliski (2010), Sections 12.4. Point Cloud Library tutorial. Analysis of point cloud data from RGB-D camera
4 7 Robot  vision VI Visual attention. Spatial & selective attention. Saliency functions. Selective Tuning. Overt attention. Inhibition of return. Habituation. Top-down attention. USB camera CINDY cognitive architecture Implementation of a saliency function for covert attention
4 8 Mobile robots I Differential drive locomotion. Forward and inverse kinematics. Holonomic and non-holonomic constraints. Cozmo mobile robot. Anki Cozmo mobile robot Anki Cozmo SDK, OpenCV Python tutorial. Cozmo SDK API. OpenCV Python tutorial. Cozmo locomotion (e.g. program Cozmo to drive along a pre-determined route and perform face detection)
5 9 Mobile robots II Relative and absolute position estimation. Odometry. Anki Cozmo mobile robot Anki Cozmo SDK, OpenCV Python tutorial. Cozmo SDK API. OpenCV Python tutorial. Cozmo landmark recognition
5 10 Mobile robots III Map representation. Probabilistic map-based localization. Landmark-based localization. Anki Cozmo mobile robot Anki Cozmo SDK, OpenCV Python tutorial. Cozmo SDK API. OpenCV Python tutorial. Cozmo landmark recognition
6 11 Mobile robots IV SLAM: simultaneous localization and mapping. Extended Kalman Filter (EKF) SLAM. Visual SLAM. Particle filter SLAM. Anki Cozmo mobile robot Anki Cozmo SDK, OpenCV Python tutorial. Cozmo SDK API. OpenCV Python tutorial. Cozmo object recognition
6 12 Mobile robots V Graph search path planning. Potential field path planning. Navigation. Obstacle avoidance. Object search. Anki Cozmo mobile robot Anki Cozmo SDK, OpenCV Python tutorial. Cozmo SDK API. OpenCV Python tutorial. Cozmo navigation
7 13 Robot arms I Homogeneous transformations. Frame-based pose specification. Denavit-Hartenberg specifications. Robot kinematics. Lynxmotion 5DoF arm, Arduino interface Arduino sketch programs for Lynxmotion Paul (1981), Chapters 1 & 2. Move end-effector along various paths in joint space
7 14 Robot arms II Analytic inverse kinematics. Iterative approaches. Kinematic structure learning. Kinematics structure correspondences. Lynxmotion 5DoF arm, Arduino interface Arduino sketch programs for Lynxmotion Paul (1981), Chapter 3. Move end-effector along various paths in Cartesian frame of reference
8 15 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
8 16 Robot arms IV Language-based programming. Programming by demonstration. 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
9 17 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
9 18 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
10 19 Learning and development I Supervised, unsupervised, and reinforcement learning. Hebbian learning. MaxHebb library Harmon and Harmon (1997) Hebbian learning
10 20 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
11 21 Learning and development III Cognitive development in humans and robots. Anki Cozmo mobile robot Anki Cozmo SDK Lungarella et al. (2003). Asada et al. (2009). Cangelosi and Schlesinger (2015), Chapters 1 & 2. PSL test programs
11 22 Learning and development IV Value systems for developmental and cognitive robots. Merrick (2016). Vernon et al. (2016). Group discussion on cognitive development in robotics
12 23 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
12 24 Internal simulation I 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). Exercises on PSL test programs
13 25 Internal simulation II HAMMER cognitive architecture Boost, Imperial College London HAMMER library Demiris and Khadhouri (2006). Sarabia et al. (2011). Exercise on HAMMER tutorial using the ICL library
13 26 Visual attention Visual attention. Spatial attention vs. selective attention. Saliency functions. Selective Tuning. Overt attention. Inhibition of return. Habituation. Top-down attention. Anki Cozmo mobile robot Anki Cozmo SDK, CINDY library Borji and Itti (2013). Implement visual attention on Cozmo
14 27 Social interaction I Joint action. Joint attention. Shared intention. Shared goals. Perspective taking. Theory of mind. Orabec Astra RGB-D sensor Ubuntu 14.04, ROS, Imperial College London Perspective Taking library Vernon (2014), Chapter 9. Exercise on perspective taking using the ICL library
14 28 Social interaction II Action and intention recognition. Learning from demonstration. Humanoid robotics. Kinect RGB-D sensor PSL library Billard et al. (2008). Argall (2009). Exercise on learning from demonstration using the PSL library



Back to Cognitive Robotics