Programming Robots

Programming Robots

Justin the robot can catch a ball. There is nothing magical about this—read this media spotlight to understand why.


6 - 12


Engineering, Experiential Learning


How to Train your Robot

Photo of man standing next to a robot.

Photograph courtesy National Geographic Entertainment
Photo of man standing next to a robot.

Justin the robot can catch a ball. There is nothing magical about this—Justin has cameras that let it see where the ball is, and a computer program that keeps track of where the ball is going. The computer program also tells Justin how to move its hand so that it can catch the ball in time. Justin is a robot developed at the German Aerospace Center (Deutsches Zentrum für Luft- und Raumfahrt—DLR). It was designed to help out with tasks in space and at home. Its humanoid shape, two arms, and agile, four-fingered hands make it an ideal robot to manipulate everyday objects. It is also an ideal robot to work in environments, and with tools, that were meant for humans.

Fast Fact

  • Justin knows the position of the ball thanks to two cameras that let the robot see in three dimensions, like our eyes do.

  • A computer program analyzes the images from the cameras and determines the position of anything that has a circular shape, like the ball.

  • Justin uses the images from the cameras to estimate, or guess, where the ball is going. Justin repeats this 25 times each second.

  • A second program on a powerful external computer predicts the future trajectory of the ball and estimates the best arm and hand motions to allow Justin to catch it.

  • A third program is responsible for sending commands to the robot’s motors to tell them exactly how much to move in order to catch the ball.

  • All the programs are written in a language (code) called C. The code is then translated into 0s and 1s that the machine can understand.

  • Nearly 40 computer processors are needed for Justin to catch the ball, and this is by no means an easy task!

  • It takes less than one second for Justin to see the ball coming, run the computer program, and catch the ball in the air.

  • Justin’s program tells it how to solve the problem of catching a ball. Since each throw is a bit different, Justin needs to find a new solution every time.
Media Credits

The audio, illustrations, photos, and videos are credited beneath the media asset, except for promotional images, which generally link to another page that contains the media credit. The Rights Holder for media is the person or group credited.

National Geographic Society
National Geographic Society
Samantha Zuhlke, National Geographic Society
Last Updated

October 19, 2023

For information on user permissions, please read our Terms of Service. If you have questions about how to cite anything on our website in your project or classroom presentation, please contact your teacher. They will best know the preferred format. When you reach out to them, you will need the page title, URL, and the date you accessed the resource.


If a media asset is downloadable, a download button appears in the corner of the media viewer. If no button appears, you cannot download or save the media.


Text on this page is printable and can be used according to our Terms of Service.


Any interactives on this page can only be played while you are visiting our website. You cannot download interactives.

Related Resources