Difference between revisions of "Cognitive Robotics"
(→Course description) |
(→Content details) |
||
Line 52: | Line 52: | ||
* Robot vision. | * Robot vision. | ||
* Mobile robots. | * Mobile robots. | ||
+ | * Learning from demonstration. | ||
* Robot manipulators. | * Robot manipulators. | ||
+ | * Cognitive architectures. | ||
'''Mini Course 2''' | '''Mini Course 2''' | ||
− | |||
* Learning and development. | * Learning and development. | ||
* Memory and Prospection. | * Memory and Prospection. | ||
* Internal simulation. | * Internal simulation. | ||
− | |||
* Social interaction. | * Social interaction. | ||
Line 84: | Line 84: | ||
* Hough transform: line, circle, and generalized transform; extension to codeword features. | * Hough transform: line, circle, and generalized transform; extension to codeword features. | ||
* Colour-based segmentation. | * Colour-based segmentation. | ||
− | + | * Graph-cut methods | |
+ | * Object recognition. | ||
<!-- * Interest point operators. --> | <!-- * Interest point operators. --> | ||
<!-- * Gradient orientation histogram - SIFT descriptor. --> | <!-- * Gradient orientation histogram - SIFT descriptor. --> |
Revision as of 06:19, 19 June 2018
|CARNEGIE MELLON UNIVERSITY AFRICA|
04-801/F3
Cognitive Robotics
Elective
Units: 6 (per Mini Course)
Lecture/Lab/Rep hours/week: 3 hours lecture/week
Semester: Spring
Pre-requisites: Programming skills
Course description
Cognitive robotics is an emerging discipline that draws on robotics, artificial intelligence, and cognitive science. It often exploits models based on biological cognition.
There are at least two reasons why a cognitive ability is useful in robotics:
- It allows the robot to work autonomously in challenging environments, adapting to changes and unforeseen situations, and anticipating outcomes when selecting the actions it will perform.
- It facilitates interaction with people. Humans have a strong preference for interaction with other cognitive agents so being able to exhibit a capacity for cognition encourages human robot interaction. Conversely, a cognitive ability provides the robot with the ability to infer the goals and intentions of the person it is interacting with and thereby allows it to do so in safe and helpful manner.
Cognitive robots achieve their goals by perceiving their environment, paying attention to the events that matter, planning what to do, anticipating the outcome of their own actions and the actions of other agents (people and other robots), and learning from the resultant interaction. They deal with the inherent uncertainty of natural environments by continually learning, reasoning, and sharing their knowledge.
A key feature of cognitive robotics is its focus on predictive capabilities to augment and compensate for perceptual capacities. Also, by being able to view the world from someone else’s perspective (technically referred to as establishing a theory of mind), a cognitive robot can anticipate that person’s intended actions and needs.
In cognitive robotics, the robot body can be more than just an instrument for physical manipulation or locomotion: it may also play a role in facilitating human-robot interaction. In the particular case of humanoid robotics, the robot’s physical morphology, kinematics, and dynamics can help trigger a human's natural propensity to mirror the actions and intentions of other cognitive agents and thereby establish a mutual understanding between the two, i.e. triggering a theory of mind in the human with whom it is interacting.
This course introduces the key elements of cognitive robotics, touching on all of these issues. In doing so, it emphasizes both theory and practice and makes extensive use of physical robots, both a mobile robots and a manipulator arm, as well as different sensor technologies.
Learning objectives
The primary goal of this course is provide students with an intensive treatment of a cross-section of the key elements of robotics, robot vision, AI, and cognitive science. Students will learn about the fundamentals of 2D and 3D visual sensing, focussing on the some essential techniques for mobile robots and robot arms. They will then learn about the kinematics and inverse kinematics of mobile robots, addressing locomotion, mapping, and path planning, as well as robot arm kinematics and inverse kinematics, task specification, and object manipulation. Based on these foundations, students will progress quickly to cover the topics that gives cognitive robotics its special focus, including cognitive architectures, learning and development, memory, attention, prospection by internal simulation, learning from demonstration, and social interaction.
Outcomes
After completing this course, students should be able to:
- Apply their knowledge of machine vision and robot kinematics to create computer programs that control mobile robots and robot arms, enabling the robots to recognize and manipulate objects and navigate their environments.
- Explain how a robot can be designed to exhibit cognitive goal-directed behaviour through the integration of computer models of visual attention, reasoning, learning, prospection, and social interaction.
- Create computer programs that realize limited instances of each of these models.
Content details
Refer to the Lecture Schedule for information on course delivery, including lectures, assignments, and exercises.
The course will cover the following topics:
Mini Course 1
- Introduction: artificial cognitive systems and robotics.
- Robot vision.
- Mobile robots.
- Learning from demonstration.
- Robot manipulators.
- Cognitive architectures.
Mini Course 2
- Learning and development.
- Memory and Prospection.
- Internal simulation.
- Social interaction.
The detailed content for each of these topics follows.
Introduction: artificial cognitive systems and robotics
- 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.
Robot vision
- Computer vision.
- Optics, sensors, and image formation.
- Image acquisition.
- Image filtering.
- Segmentation and edge detection
- Hough transform: line, circle, and generalized transform; extension to codeword features.
- Colour-based segmentation.
- Graph-cut methods
- Object recognition.
- Homogeneous coordinates and transformations.
- Perspective transformation.
- Camera model and inverse perspective transformation.
- Stereo vision.
- Epipolar geometry.
Mobile robots
- Differential drive locomotion.
- Forward and inverse kinematics.
- Holonomic and non-holonomic constraints.
- Cozmo mobile robot.
- Relative and absolute position estimation.
- Odometry.
- Map representation.
- Graph search path planning.
Robot manipulators
- Homogeneous transformations.
- Frame-based pose specification.
- Denavit-Hartenberg specifications.
- Robot kinematics.
- Analytic inverse kinematics.
- Robot manipulation.
- Frame-based task specification.
- Vision-based pose estimation.
Cognitive architectures
- Role and requirements.
- Cognitive architecture schemas.
- Example cognitive architectures including Soar, ACT-R, Clarion, LIDA, and ISAC.
- The standard model.
- CRAM: Cognitive Robot Abstract Machine.
- CRAM Plan Language (CPL).
- Knowledge representation, processing, and reasoning: KnowRob and OpenEASE.
Learning and development
- Supervised, unsupervised, and reinforcement learning.
- Hebbian learning.
- Predictive sequence learning (PSL).
- Learning from demonstration.
- Cognitive development in humans and robots.
- Value systems for developmental and cognitive robots.
Memory and Prospection
- Declarative vs. procedural memory.
- Semantic memory.
- Episodic memory.
Internal simulation
- Episodic future thinking.
- Forward and inverse models.
- Internal simulation hypothesis.
- Internal simulation with PSL.
- HAMMER cognitive architecture.
Social interaction
- Joint action.
- Joint attention.
- Shared intention.
- Shared goals.
- Perspective taking & Theory of Mind.
- Action and intention recognition.
- Embodied cognition.
- Humanoid robotics.
Lecture Schedule
Refer to the Lecture Schedule for information on course delivery, including lectures, assignments, and exercises.
Faculty
Delivery
Face-to-face.
Student assessment
Lab assignments 50% Mid-term exam 10% Final exam 40%
Robots and sensors
Lynxmotion AL5D Robotic Arm with BotBoarduino interface
Software tools
Please follow the instructions provided in the Software Development Environment installation guide.
For reference only, the following is a list of some of the software that may be used in the course.
Technische Universität Wien Software Tools.
BLORT - The Blocks World Robotic Toolbox from Technische Universität Wien.
V4R Library -The Vision4Robotics library (RGB-D point cloud) from Technische Universität Wien.
Python 3.5.2 for Mac OS X or Windows. You may need to update Tcl/TK to version 8.5.18.0 (see Python documentation).
Arduino sketch programs for Lynxmotion
Imperial College London (ICL) Personal Robotics Lab Software Tools
HAMMER cognitive architecture based on the simulation theory of mind from ICL
Markerless Perspective Taking from ICL
openEASE web-based knowledge service
Arduino inverse kinematics demo sketch
Recommended reading
Beetz, M., Mösenlechner, L., and Tenorth, M. (2010). "CRAM - A Cognitive Robot Abstract Machine for Everyday Manipulation in Human Environments", IEEE/RSJ International Conference on Intelligent Robots and Systems, 1012-1017.
Cangelosi, A. and Schlesinger, M. (2015). Developmental Robotics: From Babies to Robots. Cambridge, MA: MIT Press.
Demiris, Y. and Khadhouri, B. (2006). "Hierarchical attentive multiple models for execution and recognition (HAMMER). Robotics and Autonomous Systems, 54:361–369.
Fischer, T. and Demiris, Y. (2016), "Markerless Perspective Taking for Humanoid Robots in Unconstrained Environments", 2016 IEEE International Conference on Robotics and Automation (ICRA), pp. 3309-3316.
Harmon, M. and Harmon, S. (1997). Reinforcement Learning: A Tutorial
Kragic, D. and Vincze, M. (2010). "Vision for Robotics", Foundation and Trends in Robotics, Vol 1, No 1, pp 1–78.
Merrick, K (2016). "Value systems for developmental cognitive robotics: a survey", Cognitive Systems Research, in press.]
Paul, R. (1981). Robot Manipulators: Mathematics, Programming, and Control. MIT Press.
Russell, S. and Norvig. P. (2014). Artificial Intelligence: A Modern Approach, Pearson Education.
Szeliski, R. (2010). Computer Vision: Algorithms and Applications, Springer.
Vernon, D. (2014). Artificial Cognitive Systems - A Primer, MIT Press, 2014.
Documentation
Dive Into Python 3 (humansize.py example)
Acknowledgments
The syllabus for this course drew inspiration from several sources. These include the following.
- Course 15-494/694 Cognitive Robotics given by Dave Touretzky at Carnegie Mellon University.
- Course VO 4.0 376.054 Machine Vision and Cognitive Robotics given by Markus Vincze, Michael Zillich, and Daniel Wolf at Technische Universität Wien.
- Course IT921F Artificial Cognitive Systems given by David Vernon at the University of Skövde.