TechDays 2011 NAO Programming Session

Preview:

DESCRIPTION

TechDays 2011 NAO Programming Session. Jérôme Monceaux Chris Kilner. Les exploits de NAO en 2010. Aldebaran -Robotics in a nutshell. Founded in 2005, Headquarter in Paris, branch offices (Boston, Shanghai, …) - PowerPoint PPT Presentation

Citation preview

TechDays 2011 NAO Programming

SessionJérôme MonceauxChris Kilner

Les exploits de NAO en 2010

Aldebaran-Robotics in a nutshell

o Founded in 2005, Headquarter in Paris, branch offices (Boston, Shanghai, …)

o Goal : Create humanoid robots and control software as Personal Assistants, Home companions and Academics platforms

o Close to 1200 NAOs in operations in 30 countries in 18 months

o World leader in Humanoid robotics

o 110+ employees : Engineers, PhDs, Sales & Marketing

Le produit dans son ensemble

Powerful User Friendly DESKTOP application

• Switches– Chest button– 2*2 feet bumpers– “0”: not pressed / “1”: pressed

• LEDs– 8*2 RGB eyes – 10*2 blue ears– 1 RGB chest– 2*RGB feet– 12 head (acad)– Values from “0” (Off) to “1” (full

On)

Sensor switches / Actuators LEDs

Joint actuators/sensors• JointsAngle value in radians- Be careful with fast moves -

• Stiffness (Hardness)From 0 (electromagnetic break) to 1

(current limit to maximum)Possible Freewheel (negative value)Set it before moving the jointCan be changed very fast (be careful)You can use it as a security (fall)There is no need for full hardness all

the time

• Position from the MREAngle in radians12 bits precision, absolute, low noiseOn leg motors and all joints

• Electric current (in A)Without signSecurity limitationYou can use it as a power information

• Temperature (in °C)Simulation based on currentSaved continuously on the chestboardSecurity limitation

• 3-axis accelerometer Direct accelerometer output (8 bits, +-2G)Gives a “G” reference, but also other accelerations• 2-axis gyrometerDirect values Could be converted in angular speed (°/s)“Zero” issue• 2 computed inclination anglesComputed with a custom onboard algorithmValues in radians

Sensor: Inertial board

• 4 *2 FSRs – Weight on each

sensors– The value is

calibrated and directly in Kg

– Total weight on the foot

– Position of the center of pressure on each foot

Sensors: FSRs

Sonar actuators & sensors• 2* Sonars– Every 100ms, you can send

a request to the sonar– Automatic mode available

(both side every 100ms)– We are providing multiple

echoes (up to 10)

Take care of the arms!

Example of sonar detection

Le Developer Program

YOUR ADVENTURE BEGINS NAO

NAO Developer Program

AR = Entreprise qui déborde sur ses communautés

ALDEBARAN Robotics

Clientsclassiques

Salariés Aldebara

n

Test de boites

Trouver des

scenarios

Co-developper des

algorithmes

Résoudre des Pbs

Labos de R&D

Ecrire des modules NAOQI

Beta Testeurs

Developer

Program

Site Developer Program : une communauté internationale de très bons développeurs

Site Developer Program : Destination Applications

Participation au problématique de Nao- Documentation- Amélioration des softwares- Travail sur la reconnaissance vocale

B2B2C : Intégration de solution tièrce(Twitter, lastfm, akinator, paraschool,

aibo, Microsoft-Kinect, eventful)

Développement d’applications nouvelles :

- Des jeux- Des players de musiques- Des challenges (arroser les

plantes, tenir un labyrinthe)

Applications d’actualités

17

NAO & .net

Presented by Chris Kilner

• Easy way to program Nao– Use any .Net language• C#• VBScript• Jscript

• Features– Full API – Motion, Vision, Audio– Access to all sensors and actuators• Inertial Sensor, FSRs, joints, sonars…

Programming NAO with

Installation

• Simple Install contains just:– One dll• naoqidotnetvc90.dll

– Autocompletion help file• naoqidotnetvc90.xml

– Documentaion file• NaoQiDotNet Help.chm

• Add a reference to the naoqidotnet dll

Start .Net project

Hello World

• Managed c++ wrapped around c++• No dependencies• Compiled for .Net 2 for maximum

compatibility– If using VS2010, this requires an app.config

How is it made?

<?xml version="1.0"?><configuration>  <startup useLegacyV2RuntimeActivationPolicy="true">    <supportedRuntime version="v4.0"/>    <requiredRuntime version="v4.0.20506"/>  </startup></configuration>

• Type mapping C++ / C#

Understanding .Net types

std::string -> string

int -> int

float -> float

bool -> bool

std::vector<type> -> System.Collections.Generic.List<type>

AL::ALValue -> System.Collections.ArrayList

Motion & Xbox controller

Move Head with Xbox controller

Control Walk with Xbox controller

Merci de votre attention !