project specification

Nao Robot

Nao is an autonomous, programmable, medium-sized humanoid robot. of which the architecture of control and the software are customizable. NAO was designed to walk smoothly, even when changing speed and direction. The walking speed is similar to the walking speed of 2 year old children, which is about 0.6 km/h. The robot has the capability of performing a rich panel of movements with smoothness and precision, and a certain degree of interactive autonomy. NAO is modular, referring to actuator modules that can be used for different joints. The head of NAO can be unplugged and replaced by a more specialised one. Hands and fore arms can also be changed.

Specifications

Height58
Weight4.3
Power supply48.6 Wh lithium battery providing
Autonomy90 minutes
Degrees of freedom25
CPU1 Intel Atom @ 1.6 GHz
Built-in OSNAOqi 2.0 (Linux-based)
Compatible OSWindows, Mac OS, Linux
Programming languagesC++, Python, Java, MATLAB, Urbi, C, .Net
Simulation environmentWebots
Sensors2 HD cameras
4 microphones
1 sonar range finder
2 infrared emitters and receivers
1 inertial board
9 tactile sensors
8 pressure sensors
ConnectivityEthernet, WiFi

Overview

NAO was designed to walk smoothly, even when changing speed and direction. The walking speed is similar to the walking speed of 2-year-old children, which is about 0.6 km/h. 

The robot has the capability of performing a rich panel of movements with smoothness and precision, and a certain degree of interactive autonomy. NAO is modular, referring to actuator modules that can be used for different joints. The head of NAO can be unplugged and replaced by a more specialized one. Hands and forearms can also be changed.

Kinematics

NAO has 25 degrees of freedom, 11 DOF  for the lower part, including legs and pelvis, 14 DOF for the upper part including its trunk, arms, and head. Each leg has 2 DOF at the ankle, 1 DOF at the knee, and 2 DOF at the hip. A mechanism made of two coupled joints at each hip equips the pelvis.

The rotation axis of these two joints is inclined at 45◦ towards the body. It replaces the classical set of three active rotary joints seen in most humanoid robots. The coupling of the pelvis joints prevents the trunk from rotating along the vertical axis (yaw rotation) when both legs are in support. The advantages of this mechanism are that only one motor is needed to drive the pelvis instead of three in the classical design, allowing reduction of the building costs and to save space in the lower part of the trunk. The structure helps to better distribute the power between the hip roll joint and the pelvis joint and confers a specific motion style to the NAO humanoid.  

Each arm has 2 DOF at the shoulder, 2 DOF at the elbow, 1 DOF at the wrist, and 1 additional DOF for the hand’s grasping. The head can rotate about yaw and pitch axes. 

Actuator unit design

The motors used for the NAO actuators are Maxon coreless brush DC motors, known for precision and reliability. NAO has spur and planetary gears in order to have good back drivability. Special plastics loaded with PTFE (Polytetrafluoroethylene) and carbon fiber was used to meet torque and longevity requirements. 

Actuator 1, Specifications, Motor (M) and Reduction (R)

The number of actuators is reduced to 4 for all the joints, with two kinds of the motor (M1, M2), and two types of reduction gear (R11,  R12).  NAO is grouping two rotary joints together to make a Universal joint module that includes packaging. This allows costs to be reduced and to take into account the mechanical constraints imposed by the outer shell.  The same Universal joint module composed of actuators M2R21 and M2R22 are used for shoulders, elbows, and head.  The lower part of the robot, the same motor M1 is used for the pelvis joint and all leg joints, the gear mechanism R11 is the same for pitch joints and the pelvis joint, and R12 is the same for roll joints.

Computer architecture

NAO’s head has an  x86 AMD GEODE 500 MHz CPU motherboard with 256 Mb SDRAM. An additional 1Gb Flash memory is available. Communication with the robot is enabled via the WiFi 802.11g protocol and through Ethernet port. 

The CPU manages audio, video, and WiFi and other modules. One ARM7-60MHz microcontroller located in the torso distributes information to all the actuator module microcontrollers (Microchip  16 bitdsPICS) through an RS485 bus (throughput of 460[Kbits/s]).

Electronic architecture of NAO. MRE stands for magnetic rotary encoder.

There are two RS485 buses, one connects the ARM7 microcontroller to the dsPICS modules of the upper part of the body, and one that connects the ARM7 to the dsPICS modules of the lower part of the body. This bus partition allows increasing the data throughput. The ARM-7 microcontroller communicates with the CPU board through a USB-2 bus with a theoretical throughput of11[M bits/s]. It can be used to control the robot’s stability using the inertial unit. The operating system is based on Linux, but the whole system can be modified. 

Electronics

NAO has Custom-designed integrated circuits based on Microchip 16-bit dsPICs microcontrollers, designed to control the actuators. These circuits are responsible for servo-control, bus control, sensor management, and power converters. Each circuit can drive up to two actuators. Each actuator is equipped with magnetic rotary encoders (MRE) that yield absolute outputs.

References

This paper describes the kinematics, the dimensioning of leg actuators, the modular design of the actuator units and the computer-electronic architectures.

David Gouaillier, Vincent Hugel, Pierre Blazevic, et al. 2009

Elaborate system description and "how to use" section.

http://doc.aldebaran.com