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...

### Objectives

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

### Plus

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

### Challenges

• Walk in a populated environment

### What we want

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

It permits to control the robot.

cd
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 https://github.com/ahornung/humanoid_msgs git clone https://github.com/ahornung/humanoid_navigation cd humanoid_navigation git checkout hydro-devel cd .. git clone https://github.com/ros-nao/nao_robot.git 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>@bitbucket.org/iaslab-unipd/nao_unipd.git 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: cd$$NAOQIPATH
./naoqi -b 127.0.0.1


Then open another terminal:

roslaunch nao_motion footstep_navigation.launch


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

#### 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.