-
Notifications
You must be signed in to change notification settings - Fork 38
NaoV3 Setup
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.
-
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.
-
Use the
$NaoqiSDK/bin/flash_usbstck
utility provided by Aldebaran to copy the image to the USB stick. -
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.
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.
- Creates the
/usr/local
directory in the root partition. - 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.
- 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
- Example
- 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
- Finally, the option to remove
connman
andnaopathe
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.
-
connman is a network configuration program installed by Aldebaran. We recommend doing this and to configure network configuration through the
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).
You may also need to setup the network configuration for your Nao. We recommend following the instructions here for configuring the network interfaces.
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.
If you want just restart the camera module instead of restarting the whole robot do the following:
su
rmmod lxv4l2
modprobe lxv4l2
exit