Cognitive robotics is a new approach to robot programming based on high level primitives for perception and action. These primitives draw inspiration from ideas in cognitive science combined with state of the art robotics algorithms. Cognitive robotics is about doing robotics that deals with cognitive phenomena such as perception, attention, anticipation, planning, memory, learning, and reasoning. Some people may think that robotics already deals with these phenomena, and are therefore left wondering how cognitive robotics would be any different from robotics. However, despite what we see in the movies, most existing robots don't learn, have no memory to speak of, and don't reason. In fact, at this point most existing robots are used in industry, and most of them don't even have any perceptual abilities at all; they are programmed to do one thing, and one thing only. This kind of robotics we might call Industrial Robotics, and it can be characterized with the 3 D's of robotics: robots that do dull, dangerous, or dirty work, that no human would or can do ... which is exactly why Industrial Robotics is important! However, it is not what we see as Cognitive Robotics. In Cognitive Robotics, we are interested in the kind of robots that are, well ... more cognitive. Robots with the kind of intelligence that humans have. Robots that reason, remember, learn, and that can communicate with humans and with each other. Robots that can be characterized by the 3 C's: Clever, Creative, and Charismatic.