Thursday, August 11, 2011

MEET NAO ROBOT


NAO is a programmable 57 cm tall humanoid robot with the following key components:
  A body with 25 degrees of freedom (DOF), whose key elements are electric motors and actuators.
  A series of sensors - 2 cameras, 4 microphones, a Sonar distance sensor, 2 IR emitters and receivers, 1 inertial board, 9 tactile sensors, 8 pressure sensors.
  Various devices to express itself - voice synthesizer, LED lights, 2 high quality speakers.
  A CPU (located in the head) which runs a Linux kernel and supports ALDEBARAN’s own proprietary middleware (NAOqi).
  A second CPU (located in the torso).

Motion Omni-directional walk

NAO's walk uses a simple dynamic model (linear inverse Pendulum) and is solved using Quadratic programming. NAO's walk is stabilized using feedback from its joint sensors. This makes the walk robust against small disturbances and absorbs torso oscillations in the frontal and lateral planes. NAO is able to walk on multiple floor surfaces such as carpet, tiles and wooden floors. NAO can transition between these surfaces while walking.
Whole Body Motion
NAOs motion module is based on Generalized Inverse Kinematics which deals with cartesian and joint control, balance, redundancy and task priority. This means that when asking NAO to reach out its arm, the robot bends over because both arms and leg joints are taken into account. NAO will stop his movement in order to keep his balance.
Fall Manager
The Fall Manager protects the robot when it falls. The main functionality of the fall manager is to detect when the Center of Mass (CoM) of the robot goes out of the support polygon. The support polygon is defined by the position of the feet in contact with the ground. When a fall is detected, all the motion tasks are killed and depending on the direction, the arms move to a protective position, the center of mass is lowered and the stiffness of the robot is reduced to zero.

NAO has two cameras and can track, learn and recognize images and faces.
NAO sees by means of two CMOS 640 x 480 cameras, which can capture up to 30 images per second.
The first is on the forehead, aimed at NAO’s horizon, while the second camera is placed at mouth level to scan the immediate environment.
The software lets you recover photos that NAO sees and video streams. Yet what use are eyes, unless you can also perceive and interpret your surroundings?
That’s why NAO contains a set of algorithms to detect and recognize faces and shapes, so he can recognize the person talking to him, find a ball, and ultimately much more complex objects.
Furthermore, NAO’s SDK lets you develop your own modules interfaced with OpenCV (the Open Source Computer Vision library initially developed by Intel).
These algorithms have been specially developed, with constant care taken to use up minimum processor resources
As you have the option to execute modules on NAO or transfer them to another PC connected to NAO, you can easily use the OpenCV display functions to develop and test your own algorithms with image feedback
Audio
NAO has four microphones and can track sounds as well as voice recognition capability and text to speech functionality in seven languages.
Sound Source Localization
One of the main purposes of a humanoid robot is to have it interact with people. Sound localization allows for identification of the direction of a sound. To produce robust and useful outputs while meeting CPU and memory requirements, the sound source localization of NAO is based on an approach known as “Time Difference of Arrival”.
The sound wave emitted by a source close to NAO is received at slightly different times by each of NAO’s four microphones.
For example, if someone talks to the robot on his left side, the corresponding signal will first hit the left microphones, few milliseconds later the front and the rear ones and finally the signal will be sensed on the right microphone.
These differences, known as ITD standing for “interaural time differences”, can then be mathematically related to the current location of the emitting source.
Two boxes in Choregraphe are also available that allow an easy use of the feature inside a behavior:
Possible Applications include:
 Human Detection, Tracking and RecognitionNoisy Objects Detection, Tracking and Recognition 
Speech Recognition in a specific direction Speaker Recognition in a specific direction Remote Monitoring / Security applications Entertainment applications


Audio Signal Processing

In robotics, due to the limited computational power available on embedded processors, it can be useful to deport some calculations to a remote desktop or server.
This especially true for audio signal processing; for example, speech recognition can often be done more efficiently - faster and more accurately - on a remote processor, and so most modern smartphones process voice recognition remotely.
Users may also wish to apply their own signal processing algorithm directly on the robot.
The NAOqi framework uses SOAP (Simple Object Access Protocol) to send and receive audio signals over the web.
Sound is produced and recorded on NAO using the ALSA (Advanced Linux Sound Architecture) library.
The ALAudioDevice module manages the audio inputs and outputs.
Using NAO’s audio capacities, a wide range of experiences and research can be done in the fields of Human-Robot Interaction and communication.
For instance, NAO may be used as a communication device and the user could interact with NAO (talk and hear) as if he were talking to another human being.
Signal processing is of course an interesting example. Thanks to the audio module, you can get the raw audio data from the microphones in real time and then process it with your own code.

Connectivity
Ethernet and Wifi
NAO currently supports both Wi-Fi (a, b, and g standards) and Ethernet, the most widespread standards for network connection. In addition infrared transmitter receivers in the eyes allows for connection to objects in the environment. NAO is compatible with the IEE 802.11g Wi-Fi standard, and can be used on both WPA and WEP networks so he can easily be connected to most home and office networks. Both Ethernet and Wi-Fi connections are supported natively by NAO's OS, and don't require any setup other than entering your password for Wi-Fi.
NAO's ability to connect to a network opens up a great scope of possibilities. You can connect to NAO from any computer on the network to pilot and program it.
Here are a few examples of applications that have already been created by NAO users:
  Based on his IP address, NAO can work out his location, and give you a personalized weather report.
  Ask NAO to find out more about a topic, and he'll connect to Wikipedia and read you the relevant entry.
  Connect NAO to the appropriate audio stream, and he'll play an Internet radio station for you.
Using XMPP technology (like in the Google chat system), NAO can be controlled distantly, and can stream video from his cameras back to the user.
Infrared
Using infrared signals, NAO can communicate with other NAOs, and with any other devices that support infrared. NAO can be configured to send infrared signals to other devices in order to control them (“NAO, please turn on the TV!”). In addition, NAO can also receive instructions from infrared emitters such as remote controls. And of course, two NAOs can communicate with each other directly.
Infrared is already the most common way to control appliances, making NAO easily adaptable to domotics applications. NAO can also detect whether an infrared signal he receives come from his left or his right side.
By solving this equation every time a noise is heard the robot is able to retrieve the direction of the emitting source (azimutal and elevation angles) from ITDs measured on the 4 microphones.
This feature is available as a NaoQi module named “ALAudioSourceLocalization” which provides a C++ and Python API that allows precise interactions from a python script or a NaoQi module.
OPEN SOURCE
With over five years of experience in developing embedded systems for robotics platforms Aldebaran Robotics will share the cross-platform build tools, the core communication library and other essential modules with researchers, developers and emerging projects in humanoid robotics.
By capititalizing on Aldebaran Robotics extensive experience, users can concentrate their effort on creating innovative and exciting applications.
In addition users will benefit from the strong innovation that characterizes the growing NAO community.
Robotics and its associated applications are still emerging research fields.
To explore future applications together ongoing exchange within our user community is essential.



No comments:

Post a Comment