What was the world’s first mobile intelligent robot?

Learn about Shakey – the first rover to embody Artificial Intelligence.

March 25, 2022


Aleksandra Szczepaniak


Have you ever thought about the emergence of mobile robots? When was the first mobile robot developed and how much did it differ from the ones we work on today? Well, if these questions ever crossed your mind, you’re in the right place to find the answers. You’re about to discover the great grandfather of modern robotics – Shakey.

Introducing Shakey the robot

Shakey was the first mobile robot that could reason about its own actions. It was able to analyze commands and break them down into basic parts on its own, whereas other robots would need to be instructed at each stage of performing a larger task. Shakey could visually perceive its environment, navigate from place to place, communicate using plain English, and make and execute its own action plans to solve problems. It was able to plan out the route it was going to follow and even plot a course to avoid obstacles.

Shakey was conceived as a way for integrating computer vision, navigation, logical reasoning, autonomous plan creation, natural language processing, and machine learning. This was what made it the first project to combine physical action and logical reasoning. 

Shakey was developed at SRI – Stanford Research Institute – from around 1966 to 1972 with Charles Rosen, Peter Hart, and Nils Nilsson as project managers and many others as notable contributors. Defence Advanced Research Projects Agency (DARPA) funded the project.

Shakey’s hardware

Shakey was about 2m tall. A wheeled mobile platform provided the robot with mobility. It was also equipped with an antenna for a radio link, TV camera to observe its surroundings, sonar range finders, on-borad processors, “cat whiskers” bump detectors, as well push bar to move objects.

Shakey's bump detectors
Close-upof Shakey’s “cat whiskers” bump detectors and a pushbar
credit: sri.com

Looks can be deceiving

Basically, Shakey’s hardware was rather primitive. The way it moved wasn’t impressive either. In fact, the idea for the robot’s name appeared when Charles Rosen stated: “Hey, it shakes like hell when it moves, let’s just call it Shakey.” But it was the AI and programming advancements what made the robot so special. Shakey’s software was structured in four distinct layers. That was the first time a layered architectural model was used for robots and it made a huge impact on modern robotics and AI techniques.

Shakey’s programming was done mainly in Lisp, which is one of the earliest programming languages, but it also used FORTRAN and responded to simple English commands. Other commands included PAN, TILT, but there were also GOTO statements which caused Shakey to move to a new position in the real world instead of doing so in the code.

The major planning component for its software was STRIPS (Stanford Research Institute Problem Solver) – an automated planner and, what’s more important, an early example of artificial intelligence. As the first robot to become a logical, goal-based agent, Shakey worked in a limited world which could contain a few rooms connected by corridors with doors and light switches that the robot could interact with. There was a short list of available actions within Shakey’s planner. They involved moving from one place to another, opening and closing the doors, turning light switches on and off, climbing up and down rigid items, as well as pushing objects around.

The STRIPS planner would formulate a plan to implement those actions. Typing a command like “push the block off the platform”, would initiate Shakey’s mission. The robot would look for a platform with a box on it. Once the platform was found, Shakey would locate a ramp to roll on it onto the platform, locate the box and carefully push it off the platform.

Shakey was connected to a computer via a radio link. The computer could process the incoming data and send commands to the circuits controlling the robot’s motors. Originally, an SDS (Scientific Data Systems) 940 computer was used, which was replaced by a more powerful DEC PDP-10 around 1969. It used a large, refrigerator-size magnetic drum memory to exchange time-shared tasks to and from the core’s working memory.

Shakey’s significance

Shakey the robot appears to have been ahead of its time. Following the publication by SRI of a 24-minute video titled “SHAKEY: Experimentation in Robot Learning and Planning”, the project gained notable media attention. The robot was honored with a prestigious IEEE Milestone in Computing and Electrical Engineering.

Shakey’s development had a far-reaching impact on the areas of robotics, artificial intelligence, and computer science in general. Among some of the more significant results are the development of the A* search algorithm, widely applied in graph traversal and pathfinding, the process of plotting an effective passable path between points; the Hough transform – a technique for feature extraction used in computer vision, digital image processing, and image analysis; and the visibility graph method for finding the shortest Euclidean paths between obstacles in the plane.

Now retired from active duty, Shakey’s on display at the Computer History Museum in Mountain View, California.

Robot development today

Shakey the robot paved the way to many other robotics projects, Leo Rover included. Many years have passed since the emergence of Shakey, no wonder technology is getting more and more advanced. The area of robotics is one of the most rapidly changing and thriving fields today. So, if you’re interested in developing a rover and what challenges it can raise, read our article here.

And remember, Leo Rover might be a part of the constantly changing robotics area, but one thing remains the same – our will to help you with your rover. Don’t hesitate to reach us at contact@fictionlab.pl if you need support :)

Want to see more posts like that?

Subscribe to stay informed.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

See more blog posts:

<- get back to the Blog