This project goal is to simulate a NAO in v-rep.
Latest commit 034f6c0 Jul 22, 2015 @PierreJac Change the french readme
The last one was corrupted

Project NAO Control

This project goal is to simulate a NAO in v-rep. The main idea is to be able to test a script in a virtual environment before implementing it on a real NAO. In addition to v-rep we will use the Choregraphe suite and the Python NAOqi SDK from Aldebaran.


  • v-rep : A mostly free and awsome robot simulator.
  • Python NAOqi-SDK : Contain all the function you need to manipulate your NAO (virtual or not) using python.
  • Choregraphe Suite : This will allow you to manipulate your virtual robot easier and launch a virtual NAO on your computer.
  • Spyder : This is not mandatory, but it's a good MATLAB-like development environment for python

N.B : To download the Aldebaran related softwares you must pocess a NAO or join their developper program

Quickstart guide

  • Launch v-rep and load the scene contained in the Vrep-scene folder
  • Go to your choregraphe suite folder, then in the bin folder and launch naoqi-bin to create a virtual NAO on your computer
    • You can launch several virtual NAO on different ports using :
$ ./naoqi-bin -p [Port Number] &
  • Add pynaoqi to your python path or if your using Spyder goto to ->Tools->PYTHONPATH manager and add a path to the folder containing pynaoqi
  • Optional : You can launch choregraphe to visualize your virtual NAO or check its IP and Port using the connect button Alt Text
  • Launch the v-rep simulation AltText. (or the scripts won't work)
  • Launch the script if you have several NAO or the if you have just one NAO to control
  • Give all the informations needed (IPs and Ports) and wait until NAO is listening
  • You can try to make your NAO move in v-rep using choregraphe or a script you've made
  • Enjoy !

How to retrieve the video from NAO's vision sensors in v-rep :

You can retrieve images from the cameras of your virtual NAO in v-rep just by using our script This script will stream the camera in a independent display. You can also import the function in another script. The function getVisionSensor will just retrieve the image and not display it.

How to configre your own v-rep scene :

If you want to create your very own v-rep scene containing a NAO, you'll need to configure it so the remote API could connect to it. To do so please follow the official v-rep documentation :

  • Enable remote API client side
  • Enable remote API server side
  • Or if you prefer you can follow this -> video <- (many thanks to Nikolai K. for his really good tutorial)
    In order to get the camera and the fingers working you'll also need a few more steps :
  • For the cameras
    • In the properties of the cameras untick "Explicit Handling"
  • For the fingers
    • In each joint properties tick "Motion Handling of all joints enabled"
    • In each model properties of each joints groupement check that everything is untick

Finally, disable the child scripts automatically generated with the NAO.