Controlling Nao Robot Using a Xbox Controller

In this instructable i will show how to simulate NAO robot in Gazebo simulator and Robot Operating System (ROS). ROS is an open source framework for development and research in robotics. It provide rich set of tools and libraries for building and simulating robots. NAO is a humanoid developed by Aldebaran Robotics and is one of the top humanoids in world.

Step 1: Install ROS Indigo in Ubuntu

For installing ROS Indigo in ubuntu visit the following link:

ROS Indigo Installation

Step 2: Setup NAO SDK's and Required Installation

  1. Setup required NAO SDK's from community website of Aldebran.
  2. Also, your will require some simulation files for working on Gazebo. Go through the following link to setup the gazebo for simulating NAO robot. NAO Gazebo

Step 3: Install Xbox 360 Driver for ROS

  1. Install the Xbox 360 controller driver for ROS from
  2. Get the list of controller connected by - ls /dev/input
    • For my case it is /dev/input/js1

Step 4: Launch Gazebo Simulator With NAO Robot

For launching NAO robot in gazebo simultor, run the following in terminal

  • roslaunch gazebo_naoqi_control nao_gazebo.launch

set ROS parameter to js1 so that it connectes to Xbox controller when you run the node Joy.

  • rosparam set joy_node/dev /dev/input/js1
  • rosrun joy joy_node

Then, run the by,

  • python

Step 5: NAO Controlled by Xbox Controller



    • Organization Contest

      Organization Contest
    • Remix Contest

      Remix Contest
    • Paper Contest

      Paper Contest

    2 Discussions


    2 years ago

    Super cool that you can control it with an Xbox controller!

    1 reply