Company Logo
  • fibremap_940x230.jpg
  • intro1b_940x230.jpg
  • intro2_940x230.jpg
  • intro3b_940x230.jpg
  • intro4_940x230.jpg

During this experience you have to plan the motion of a NAO robot in a 2D simulated environment populated by obstacles. The robot has to walk through a prefix path avoiding collisions with other objects around it.

You can also try to challenge yourself in different new scenarios: 3D environments, dynamic maps, real robots.

At the end of the experience...


  • Make the simulated robot walk around the environment without collision
  • Understand the 2D map, and build a new map


  •     Object Oriented (OO) approach
  •     Use a 3D map (see OctoMap)
  •     Use a dynamic map
  •     Try with a real robot and a real map


  • Walk in a populated environment

What we want

  • Code (BitBucket)
  • Video (YouTube or BitBucket)
  • Report (PDF using Moodle) containing
    • A short description of your attemps

Step 1: Download and install NaoQi

It permits to control the robot.

git clone https://<your_bb_username>
sudo mv naoqi /opt/

Insert the path in your .bashrc:

export NAOQIPATH=/opt/naoqi/naoqi-sdk-1.14.2-linux64
export PYTHONPATH=\(PYTHONPATH:/opt/naoqi/pynaoqi-python-2.7-naoqi-1.14-linux64

Step 2: Download and install the humanoid and NAO metapackages

These metapackages contain respectively packages for humanoid navigation and NAO integration in ROS.

 sudo apt-get install ros-hydro-octomap-ros ros-hydro-octomap-msgs ros-hydro-sbpl
cd ~/Workspace/ros/catkin_ws/src
git clone
git clone
cd humanoid_navigation
git checkout hydro-devel
cd ..
git clone

Pay particular attention to the package footstep_planner of this stack: it permits to build a path for the feet of the robot testing the collision of the soles with the ground.

Step 3: Download and install UNIPD NAO model and motion utilities

This metapackage extends the standard functionalities provived in the previously installed packages.

cd ~/Workspace/ros/catkin_ws/src
git clone https://<your_bb_username>
cd ..
catkin_make --force-cmake -G"Eclipse CDT4 - Unix Makefiles"


Step 4: Make the NAO walk

In order to test the installed packages, you should run the NaoQi driver and then launch a preloaded example program.

In a terminal: 

./naoqi -b


Then open another terminal:

roslaunch nao_motion footstep_navigation.launch


Move your NAO by using first 2D Pose Estimate and then 2D Nav Goal.

Navigation Example

Hint: Octomap

Try to have a look at the Octomap package for ROS and use it to build the 3D map of the environment. This library implements a 3D occupancy grid mapping approach by providing data structures and mapping algorithms.

The 3D map of the envitonment built using Octomap

Powered by Joomla!®. Valid XHTML and CSS