Top Banner
26

TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

Mar 28, 2015

Download

Documents

Hannah Dobson
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.
Page 2: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

TechDays 2011 NAO Programming

Session

Jérôme MonceauxChris Kilner

Page 3: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

Les exploits de NAO en 2010

Page 4: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

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

Page 5: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

Le produit dans son ensemble

Powerful User Friendly DESKTOP application

Page 6: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

• 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

Page 7: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

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

Page 8: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

• 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

Page 9: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

• 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

Page 10: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

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!

Page 11: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

Example of sonar detection

Page 12: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

Le Developer Program

YOUR ADVENTURE BEGINS NAO

Page 13: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

NAO Developer Program

Page 14: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

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

Page 15: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

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

Page 16: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

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

Page 17: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

17

NAO & .net

Presented by Chris Kilner

Page 18: TechDays 2011 NAO Programming Session Jérôme Monceaux 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

Page 19: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

Installation

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

– Autocompletion help file• naoqidotnetvc90.xml

– Documentaion file• NaoQiDotNet Help.chm

Page 20: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

• Add a reference to the naoqidotnet dll

Start .Net project

Page 21: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

Hello World

Page 22: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

• 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>

Page 23: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

• 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

Page 24: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

Motion & Xbox controller

Move Head with Xbox controller

Page 25: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

Control Walk with Xbox controller

Page 26: TechDays 2011 NAO Programming Session Jérôme Monceaux Chris Kilner.

Merci de votre attention !