Skip to content
wmcd edited this page Jun 28, 2012 · 1 revision

IMPORTANT: These setup instructions will only work for the NaoV3.3 and earlier. We are currently in the process of updating to the NaoV4. If you would like to help test a pre-release of the updated code check/email the mailing list.

In order to run the code on the Nao robot there are a few dependencies that must be installed first.

Unfortunately, due to the way the Nao OS is setup, installing external packages can be tedious. We have provided some scripts to help facilitate the process. This page will go over what these scripts are actually doing and how to use them.

Flash the USB Stick

  1. Download the Nao OS Robocup Image from Aldebaran. This release has been tested for version 1.10.52 of the Nao OS. You may also find the Nao SDK and the Nao Cross Compiler tools on the "Nao Documentation and Software" CD-ROM provided from Aldebaran.

  2. Use the $NaoqiSDK/bin/flash_usbstck utility provided by Aldebaran to copy the image to the USB stick.

  3. Place the USB stick back into the robot and boot the robot. After it has booted completely shut down the robot and remove the USB stick. (This is done to allow the dual partition system that Aldebaran uses to be setup correctly before we install our software.)

NOTE: You should already have the NaoqiSDK and NaoqiCTC enviornment variables setup on your development computer.

Install Script

In the UPennalizers/Install directory there is a script called install_nao.sh. This is a shell script that should work for any Unix based OS. To execute it:

cd UPennalizers/Install
./install_nao.sh <path/to/usb/root/partition> <path/to/usb/user/partition>

The Nao OS is installed on the USB stick in two separate partitions. The root partition that contains the system files and the user partition that contains the home directories for the users. <path/to/usb/root/partition> and <path/to/usb/user/partition> refer to these partitions respectively.

IMPORTANT: Make sure you Safely Remove the drive.

The script is performing the following actions:

  1. Creates the /usr/local directory in the root partition.
  2. Copies the contents of UPennalizers/Install/dependencies/usr/local into the new /usr/local directory. Including but not limited to:
    • Pre-compiled Lua executable and library files
    • espeak executable.
  3. Copies the contents of UPennalizers/Install/dependencies/etc into the /etc directory of the root partition. Including but not limited to:
    • Example /etc/network/interfaces configurations
    • Startup script for the UPennalizers code to /etc/rc5.d
    • Default ssh configuration files
    • Example wpa_supplicant.conf
  4. Copies the remaining contents to UPennalizers/Install/dependencies/usr to the root partitions /usr directory. Including but not limited to:
    • The screen executables
    • A number of pre-compiled libraries (for Lua, X11, espeak and more)
    • The share directory contents for espeak and X11
  5. Finally, the option to remove connman and naopathe from automatically starting on boot.
    • connman is a network configuration program installed by Aldebaran. We recommend doing this and to configure network configuration through the /etc/network/interfaces file as shown here.
    • naopathe is the webpage interface provided by Aldebaran. We have found this to take up a lot of the robots CPU resources and recommend removing it from automatically starting.

Nao Wrists

The Nao get-up routines will only work if the wrists are taped in the correct way.

Tape the wrists so that the seams on the forearm and hand match up, with the palms facing inwards.


When taped, the Nao wrists should look like this (the pictures were taken while all joints were zeroed).

Networking

You may also need to setup the network configuration for your Nao. We recommend following the instructions here for configuring the network interfaces.

Nao Camera

There are a few quirks with the camera driver that you may run into:

The images from the camera are all green (red or blue) tinted: The firmware provided by Aldebaran for the camera do a color calibration when they are started. If, when the camera is started (this is the camera firmware, not our code/driver), a large portion of the field of view is taken up by a bright color (e.g. the robot is looking strait down at the green field) then the calibration will cause the images to all have the color tint.

The best way to avoid this is to cover the camera with a black cloth when starting the robot (or restarting the camera module). If you notice the color tint you can either restart the robot or restart the camera module as shown below.

run_cognition has a Segmentation Fault when loading the camera driver: This can happen if the process is interrupted (CTRL + C) while loading the camera driver, to avoid it do not attempt to kill and process using the camera while the camera is still initializing. To fix it either restart the robot or restart the camera module as shown below.

Restart the Camera Module

If you want just restart the camera module instead of restarting the whole robot do the following:

su
rmmod lxv4l2
modprobe lxv4l2
exit

Clone this wiki locally