NAO comes with:
OpenNAO is an embedded GNU/Linux distribution based on Gentoo, specifically developed to fit the NAO robot needs.
NAOqi is the main software that runs on the robot and controls it. Copies of NAOqi also run on your computer in order to let you test your behaviors on virtual robots.
Choregraphe is a visual programming language. It allows you to: create animations and behaviors for your NAO, test them on a simulated robot before trying them with your real NAO, and also monitor and control NAO.
Monitor is dedicated to give you an elementary feedback from your robot and a simple access to its camera settings.
NAOsim is a simulator where you can test NAO behaviors and your algorithms in a virtual world. You can modify the environment by inserting and modifying objects of various shapes.
Create your own code, using:
Depending on the chosen language, programmer is able to: