XDE Simulation Engine - sorbonne-universite.fr•Qu’est-ce que ça peut faire ? Simulation...

Post on 05-Feb-2020

2 views 0 download

Transcript of XDE Simulation Engine - sorbonne-universite.fr•Qu’est-ce que ça peut faire ? Simulation...

Simulation Simulation

XDEXDE

Simulation Simulation EngineEngine

Juillet 2011Juillet 2011

jean.sreng@cea.fr

Ingénieur - Chercheur

Laboratoire de Simulation Interactive

CEA LIST

• XDE: Aperçu général

• Briques:

� Simulation physique� Simulation physique

� Fluide

� Humain Virtuel

• Middleware:

� DSimI

� DIO

• Exemple appliqué à la robotique

• Roadmap

Plan

2

• XDE : Environnement logiciel dédié à la simulation physique interactive

• Objectifs généraux• Objectifs généraux

� Environnement logiciel modulaire unique: polyvalence des applications, par ex:

� Retour d’effort pour le PLM en RV

� Pilotage d’HV sur TV3D avec kinect

� Serious game physique avec interfaces iPad

� Implémentation logicielle à vocation industrielle

� Intégration des algorithmes et résultats de recherche du LSI

� Objectif de performance et d’interactivité� Objectif de performance et d’interactivité

� Objectif de facilité d’utilisation

XDE: Overview

XDE : Environnement logiciel dédié à la simulation physique

3

Environnement logiciel modulaire unique: polyvalence des

iPad

Implémentation logicielle à vocation industrielle

Intégration des algorithmes et résultats de recherche du LSI

Objectif de performance et d’interactivitéObjectif de performance et d’interactivité

• Qu’est-ce que ça peut faire ?

� Simulation physique réaliste/interactive � Des corps rigides

� Poutres 3D déformables (câbles)� Poutres 3D déformables (câbles)

� Des fluides

� Collision arbitraires (trimesh) compatible avec

� Interaction multimodale dans le cadre de la RV� Multiples périphériques A.R.T, kinect

� Moteur sonore et vibratoire (simulation des contacts)

� Tracking interactive de l’humain virtuel

� …

� Simulation et contrôle d’humain virtuel autonome réactif� Simulation et contrôle d’humain virtuel autonome réactif� Contrôle de l’humain virtuel par optimisation

� Locomotion (Preview-control)

� Path planning

XDE: Overview

Simulation physique réaliste/interactive

4

) compatible avec haptique

Interaction multimodale dans le cadre de la RVkinect, SpaceMouse, Virtuose, TV3D, iPad

Moteur sonore et vibratoire (simulation des contacts)

interactive de l’humain virtuel

Simulation et contrôle d’humain virtuel autonome réactifSimulation et contrôle d’humain virtuel autonome réactifContrôle de l’humain virtuel par optimisation

• Qu’est-ce que c’est ?

� Un ensemble de briques logicielles spécialisées indépendantesindépendantes

� Un middleware permettant � De les assembler

� De les utiliser de façon cohérente et unifiée

� De les interfacer

Kinect(trackin

XDE

XDE: Overview

5

Simulation physique

Contrôle HVphysique

Path Planning 2.5D

Kinecttrackin g)

Virtuose

CATIASolidWorks

iPad

C++Python

CORBA(haptique)

iPadBrowser

CORBA…

Interface utilisateur

(RV)

Interface utilisateur

(GUI)

Interface Programmation

• Quelques données techniques

� Développé par 10 personnes permanentes au LSI

� 300k lignes C++, 15k lignes de python

� Compatible linux / windows - 32bits / 64bits� Compatible linux / windows - 32bits / 64bits

� Basé sur des librairies Open Source (

� Basé sur des standards (COLLADA, etc.)

� Processus de développement (Git,

XDE: Overview

Développé par 10 personnes permanentes au LSI

300k lignes C++, 15k lignes de python

32bits / 64bits

6

32bits / 64bits

Basé sur des librairies Open Source (boost, eigen, Orocos RTT, etc.)

sur des standards (COLLADA, etc.)

Processus de développement (Git, CMake, redmine) et release

• XDE: Aperçu général

• Briques:

� Simulation physique

XDE

� Simulation physique

� Fluide

� Humain Virtuel

• Middleware:

� DSimI

� DIO

• Exemple appliqué à la robotique

Kinect(trackin

Virtuose

• Roadmap

(

Interface utilisateur

Plan

7

XDE

Simulation physique

Contrôle HVphysique

Path Planning 2.5D

Kinecttrackin g)

Virtuose

CATIASolidWorks

iPad

C++Python

CORBA(haptique)

iPadBrowser

CORBA…

Interface utilisateur

(RV)

Interface utilisateur

(GUI)

Interface Programmation

Brique simulation physique (

Objectif : Simulation physique réaliste interactive des corps rigides et câbles

• Simulation physique:• Simulation physique:

� Physique du mouvement (lois de Newton)

� Physique du contact (modèles de frictions, …)

• Réaliste:

� Basé sur les équations physiques réelles

� Schéma de résolution efficace (stable, précis)

• Interactive:

� Formulation performante (groupes de Lie)

Schéma de résolution efficace (rapide)� Schéma de résolution efficace (rapide)

• Corps rigides:

� Collision entre géométries tessellées

• Câbles:

� Modèles déformable 3D généralisé (

Brique simulation physique (XDECore)

Objectif : Simulation physique réaliste interactive des corps

8

Physique du mouvement (lois de Newton)

Physique du contact (modèles de frictions, …)

Basé sur les équations physiques réelles

Schéma de résolution efficace (stable, précis)

Formulation performante (groupes de Lie)

Schéma de résolution efficace (rapide)Schéma de résolution efficace (rapide)

tessellées arbitraires

généralisé (Reissner)Simulation physique

• Solveur (GVM)

� Multi corps

� Chaines articulées ouvertes/fermées

� Réduction cinématique à la volée� Réduction cinématique à la volée

� Articulations usuelles et exotiques (

� Corps déformables (Poutre 3D)

• Détecteur de collisions (XCD)

� Géométrie arbitraires (téssélations)

� Proximité, contacts et intersections

Contacts réguliers� Contacts réguliers

� Différents types de moteurs

Structure: deux éléments

Chaines articulées ouvertes/fermées

9

Articulations usuelles et exotiques (splines)

)

Proximité, contacts et intersections

Simulation physique

• Formulation basé sur les groupes de Lie

� Réduction Lagrangienne = prise en compte naturelle robuste et efficace des non-linéarités géométriques (rotations finies)

� Dynamique ou quasi-statique� Dynamique ou quasi-statique

• Schémas numériques « rapides

� Orientés temps interactif / temps réel

� Schéma central : NSCD-MK = intégrateur numérique non-régulier (time-stepping)

� Résolution par contrainte ou par pénalité� Résolution par contrainte ou par pénalité

� Algorithmes parallélisés sur CPU

• Validé par rapport à Adams

Structure: solveur(GVM)

Formulation basé sur les groupes de Lie

Réduction Lagrangienne = prise en compte naturelle robuste et efficace des (rotations finies)

10

rapides »

Orientés temps interactif / temps réel

= intégrateur numérique géométrique et

Résolution par contrainte ou par pénalitéRésolution par contrainte ou par pénalité

Simulation physique

Structure: solveur(GVM)

11

Simulation physique

Structure: détecteur de collisions (XCD)

• 2 méthodes

� LMD++� « exact »

� symétrique, robuste et détection de contacts exacts sur des complexes � symétrique, robuste et détection de contacts exacts sur des complexes simpliciaux : points, droites, etc. dilatés ou non.

� CDDIF� « voxelisé »

� Basé sur des interactions entre des champs de points et de distance (asymétrique)

Complexité à l’exécution

Erreur géométriquel’exécution géométrique

LMD O(nlog(n))n: nb primitives

offset

CDDIF O(n)n : nb de points(voxelSize)

voxelSize + offset

Structure: détecteur de collisions (XCD)

symétrique, robuste et détection de contacts exacts sur des complexes

12

symétrique, robuste et détection de contacts exacts sur des complexes : points, droites, etc. dilatés ou non.

Basé sur des interactions entre des champs de points et de distance

Nb de proximité

Empreinte mémoire

Précalculproximité mémoire

1 O(n)

n: nb primitivesFast (+)Arbre binaire

1.5 - 10 O(n^3)

n: voxelSizeLong (--)

0(n^3)

Simulation physique

� Complexe simplicial

� Généralisation des triangulations

� Toutes dimensions topologiques

� Bases théoriques de la topologie algébriquealgébrique

� Complexe simplicial dilaté

� Tout corps rigide est volumique

• Principe: Distances minimales locales entre complexes simpliciauxdilatés

� LMDs définies à partir des complexes de base

� Surfaces en contact régulières

� Profondeurs de pénétration « astucieuses »

� Conséquence: arrondissement des angles

13

XCD (LMD)

simpliciaux

définies à partir des complexes de

Conséquence: arrondissement des angles

Simulation physique

� Propriétés

� Tolérance intrinsèque aux « petits » défauts

� Compatibilité avec le time-stepping

� Traitement des contacts conformants

� Efficacité sur des modèles de complexité industrielleindustrielle

� Parallélisation : exploitation des multi

14

XCD (LMD)

» défauts

stepping

conformants

sur des modèles de complexité

: exploitation des multi-cœurs

Simulation physique

• Principe

� Test d’interaction entre un champs de distance et un nuage de points

• Propriétés

� Complexité linéaire

� Modèle de contact continu

� Traitement des contacts conformant

� Gourmand en mémoire

� Grande rapidité

XCD (CDDIF)

Test d’interaction entre un champs de distance et un nuage de points

Simulation physique

Brique simulation fluide (CFD)

Objectif : Simulation physique réaliste interactive des fluides

• Réaliste

� Basé sur les équations de Navier� Basé sur les équations de Navier

� Quantification de l’erreur de simulation par rapport au modèle

• Interactive

Calcul optimisé multi-cœur� Calcul optimisé multi-cœur

• Fluide

� Fumée

� Liquides

Brique simulation fluide (CFD)

Objectif : Simulation physique réaliste interactive des fluides

Basé sur les équations de Navier-Stokes / Boussinesq

16

Basé sur les équations de Navier-Stokes / Boussinesq

Quantification de l’erreur de simulation par rapport au modèle

Simulation fluide

CFD

17

Simulation fluide

Brique: Humain Virtuel Autonome

Objectif : Contrôle dynamique d’humain virtuel autonome

• Contrôle:

� Méthode par optimisation quadratique� Méthode par optimisation quadratique

� Notion de tâches

• Dynamique:

� Utilisation du modèle dynamique de la chaine articulée de l’HV pour effectuer la commande

• Humain virtuel:

� Chaine cinématique articulée actionnée

• Autonome• Autonome

� Posture / équilibre

� Locomotion

� …

Brique: Humain Virtuel Autonome

18

Objectif : Contrôle dynamique d’humain virtuel autonome

Méthode par optimisation quadratiqueMéthode par optimisation quadratique

Utilisation du modèle dynamique de la chaine articulée de l’HV pour

Chaine cinématique articulée actionnée

Simulation HV

• Brique d’optimisation (ORC Optim)

� Couche logicielle générique d’optimisation

� Indépendant du problème de contrôle dynamique

• Brique de contrôle dynamique (ORC Control)

� Couche logicielle générique de contrôle dynamique

� Basé sur la couche Optim

� Notions de pile de tâches (priorités), modèle, contrôleur

ORC Control

ORC OptimModèledynamique

Structure de base: ORC

Couche logicielle générique d’optimisation

Indépendant du problème de contrôle dynamique

19

Brique de contrôle dynamique (ORC Control)

Couche logicielle générique de contrôle dynamique

Notions de pile de tâches (priorités), modèle, contrôleur

Simulation

τ

Modèledynamique

Calculatrice dynamique

Simulation HV

• Ecriture unifiée de problèmes d’optimisation

• Notions

� Variable x� Variable x

� Fonction f(x,t)

� Objectif min. f

� Contrainte f≥0, f=0…

� Solveur

• Simplicité d’écriture

� Fonction

� Solveur

� Problème

• Ensemble de fonctions prédéfinies

• Optimisé

� Pipeline d’update

• Généricité

� Présence explicite du temps

ORC Optim

Ecriture unifiée de problèmes d’optimisation

20

Simulation HV

• Interface unifiée de spécification de contrôleurs

• Notions

� Modèle

� Tâche

� Point de contrôle

� Contrôleur

• Différents types de contrôleurs

� Accélération

� Impédance

� J transpose

• Ensemble de fonctions pour la robotique

Equation de la dynamique� Equation de la dynamique

ORC Control

Interface unifiée de spécification de contrôleurs

21

Ensemble de fonctions pour la robotique

Efforts de consigne

Simulation HV

Humain Virtuel autonome: Locomotion

ORC Control

Tâches

Locomotion

ORC Optim

Humain Virtuel autonome: Locomotion

22

Simulation

Simulation HV

Humain virtuel autonome

23

Simulation HV

• XDE: Aperçu général

• Briques:

� Simulation physique

XDE (

� Simulation physique

� Fluide

� Humain Virtuel

• Middleware:

� DSimI

� DIO

• Exemple appliqué à la robotique

• Roadmap

Plan

24

XDE (DSimI)

Simulation physique

Contrôle HVphysique

Path Planning 2.5D

CATIASolidWorks

iPad

C++Python

CORBAiPadBrowser

CORBA…

Interface utilisateur

(GUI)

Interface Programmation

• Basé sur Orocos• Participation active du LSI au développement de

Orocos/RTT

Middleware composants/réseau

• Python (w/ • Qt 4.7

Script et GUI

• Structure P2P dynamique• Cohérence centralisée• « Stateless• Repose le plus possible sur des formats standard

(COLLADA, etc.)

Déploiement

DSimI: Fonctions

25

Orocos/RTT v2.4Participation active du LSI au développement de

/RTT

Python (w/ winpdb, NumPy, PySide, IPython)

Core

Py

Structure P2P dynamiqueCohérence centralisée

Stateless »Repose le plus possible sur des formats standard (COLLADA, etc.)

Deploy

ModulaireModulaire

•Chaque •Chaque

DistribuéDistribué

•Exécution des •Exécution des •Chaque fonctionnalité est un module logiciel indépendant

•Modules branchableset débranchables « à chaud »

•Chaque fonctionnalité est un module logiciel indépendant

•Modules branchableset débranchables « à chaud »

•Exécution des modules sur le même PC ou PC différents

• Communication transparente entre les modules

• Communication synchrone/ asynchrone

•Exécution des modules sur le même PC ou PC différents

• Communication transparente entre les modules

• Communication synchrone/ asynchrone

Exemple: Rendu visuel, simulation

Exemple: Déport transparent de visuel, simulation

physique, moteur de scénario, etc.

transparent de calcul sur PC dédié, de IHM sur iPad, utilisation multi poste, etc.

DSimI: Fonctions

26

Temps réelTemps réel

•Implémentation •Implémentation

OuvertOuvert

•Basé sur open•Basé sur open•Implémentation optimisée (local et réseau)

• Conçu pour les processus interactifs (latence faible)

•Implémentation optimisée (local et réseau)

• Conçu pour les processus interactifs (latence faible)

•Basé sur opensource Orocos RTT

• Utilisation de formats ouverts

•Multi plateforme Windows XP, Vista, Seven 32bits, 64bits / Linux 32bits, 64bits

• API C++ Python…• Intégration simple de code extérieur

•Basé sur opensource Orocos RTT

• Utilisation de formats ouverts

•Multi plateforme Windows XP, Vista, Seven 32bits, 64bits / Linux 32bits, 64bits

• API C++ Python…• Intégration simple de code extérieur

Exemple: Format COLLADA

Exemple: interaction temps Format COLLADA

Interfaçage avec des librairies

interaction temps réel avec retour d’effort (haptique), MoCap, …

• Système de composants (local/réseau)

� Tâches, agents (composant)� Noyaux de simulation

� Activité propre

� Communication - type� Communication - type� Synchrone (flux)

� Asynchrone (RPC)

� Communication - support� Local (no copy, lockfree)

� Remote (CORBA IIOP, mqueue)

• Intégration transparentes des librairies au niveau des composants

� Accès RPC à une librairie /w RTT

� Stubber automatique� Notion d’objet (références)

� Notion d’héritage

� Notion de surcharge

DSimI - Core

Système de composants (local/réseau) – Orocos/RTT v2.4

27

Intégration transparentes des librairies au niveau des composants

LibFoo LibFooAPI C/C++ API C/C++

API RTT

stubber

Composant RTT

DSimI - Core

28

LibFoo

Composant RTT

API C/C++ API C/C++

API RTT

RTT

LibBar

Composant RTT

LibFoo LibBarAPI C/C++

LibFooAPI C/C++

API RTT

LibFoo

Composant RTT

Boucle simu

API C/C++

API RTT Flux

LibQuxx

Composant RTT

API C/C++

API RTT

DSimI - Core

29

LibBar

Composant RTT

Boucle simu

API C/C++

API RTT Flux

Boucle simu

Flux

• Orocos RTT v2.4

� Produit issu de la robotique, issu d’un projet regroupant académiques et industriels

� Communauté très active (onera, fnac

� Base de code C++ (bonne qualité), utilisation de CORBA pour le réseau

LibQuxx

Composant RTT

Boucle simuLibQuxxAPI C/C++

API RTT Flux

DSimI - Core

Produit issu de la robotique, issu d’un projet regroupant académiques et

fnac, disney, etc.)

30

Base de code C++ (bonne qualité), utilisation de CORBA pour le réseau

graphAgentgraphAgentSimulation

physiqueContrôle HV

graphAgent

1" ,

GraphWrap

Path Planning 2.5D

Retour haptique

Intf. graph. (IHM)

DsimI - Core

31

graphAgent = new GraphicsAgent ("graph" );graphAgent ->getPort ("body_pos_in" )->

connectTo (phyAgent ->getPort ("body_pos_out" ));

graphAgent -> getOperation ("SetPosition" )("Body

, Displacement ());

GraphWrap (graphAgent )::setPosition (...)

• Scripting complet de DSimI core

� Scripting inter composant

� Scripting intra composant

� Intégration native des types (courants, math, � Intégration native des types (courants, math,

• Intégration transparente des librairies mathématiques

� Basée sur NumPy

• Intégration d’une GUI

� Basée sur PySide et Qt 4.7

• Intégration des facilités de debug

� Winpdb

� IPython

DSimI - python

Intégration native des types (courants, math, desc, etc.)

32

Intégration native des types (courants, math, desc, etc.)

Intégration transparente des librairies mathématiques

import rtt_interface as rttimport dsimi .rtt import dsimi .interactiveimport lgsmimport lgsm

world = builder.desc.parseColladaFile ('knob.dae'

phy = dsimi .rtt .Task (rtt .LocalTaskRepositorygraph = dsimi .rtt .Task (rtt .LocalTaskRepositorysmf = dsimi .rtt .Task (rtt .LocalTaskRepositorysmf = dsimi .rtt .Task (rtt .LocalTaskRepository

graphphysic

DSimI – python: exemple

33

'knob.dae' )

LocalTaskRepository .get ("physic" ))LocalTaskRepository .get ("graph" ))

LocalTaskRepository .get (" dio / factory / spacemouse " ))LocalTaskRepository .get (" dio / factory / spacemouse " ))

dio / spmouse

graph .s.Viewer .setup ()graph .s.Viewer .CreateScene ("mainScene" )

icb = graph .s.Connectors .IConnectorBody .icb = graph .s.Connectors .IConnectorBody .graph .s.Interface ("mainScene" ).SceneInterfaceoco = graph .s.Connectors .OConnectorObs .new

DSimI – python: exemple

34

.new(" icb " , " bodyPosition " , " mainScene " ).new(" icb " , " bodyPosition " , " mainScene " )SceneInterface .MergeScene1 (world )

new("oco" , "obsFrame" , "mainScene" )

ms = phy .s.GVM.Scene.new("main" )ms.setIntegratorFlags (9)ms.setUcRelaxationFactor (1.0)ms.setFdvrFactor (0.2)

lmd = phy .s.XCD.Scene.new_LMD("lmd" , 0.005ms.setGeometricalScene (lmd )ms.setGeometricalScene (lmd )ms.setTimeStep (0.1e-3)

knob = phy .s.GVM.RigidBody .new("knob" )free = phy .s.GVM.FreeJoint .new("free" )

ms.addRigidBodyToGround (knob , free )knob .setMass (0.1)knob .setCenterOfGravity (zero3 )knob .setPrincipalMomentsOfInertia (np.ones ((knob .setPrincipalInertiaFrame (lgsm .Displacementd

free .configure (lgsm .Displacementd (0,0,0,1,free .setTranslationDampingCoeff (0.0)free .setRotationDampingCoeff (0.0)

ocb = phy .s.Connectors .OConnectorFrame .newocb .addFrame (knob )

icis = phy .s.Connectors .IConnectorImpedanceSpeed

PyDSimI - exemple

35

0.005, 0.005)

((3,1)))Displacementd (0,0,0,1,0,0,0))

,0,0,0))

new("ocb" , "bodyPosition" )

IConnectorImpedanceSpeed .new("icis" , "smVelocity" , "knob" )

smf .s.start ()d = smf .s.scan ()if not d: raise RuntimeException (" Spacemouse

sm = dsimi .rtt .Task (smf .s.build (d[0], 'sm' ))

sm.getPort ('out_vel' ).connectTo (phy .getPort (phy .getPort ('bodyPosition' ).connectTo (graph .sm.getPort ("obs_frame" ).connectTo (graph .getPort

phy .s.start ()sm.s.start ()graph .s.start ()

physic

DSimI – python: exemple

36

Spacemouse not found" )

))

('smVelocity' )).getPort ('bodyPosition' ))

getPort ("obsFrame" ))

graph sm

dio / spmouse

DSimI – python: exemple (intra composant)

class BodyPosGenerator (dsimi .rtt .Task ):def __init__ (self , task ):

super(BodyPosGenerator , self ).__init__self .p_out = self .addCreateOutputPortself .angle = 0self .angle = 0self .vel = 0.01

def updateHook (self ):self .p_out .write ([(lgsm .Displacementd

lgsm .zero , lgsm .Quaternionself .angle += self .vel

@dsimi .rtt .operation ('param' , 'void' , ('double'def setVel (self , d):

self .vel = d

Body Pos Generator

python: exemple (intra composant)

37

__init__ (task )addCreateOutputPort ("output" , "vector_pair_Displacementd_string" )

Displacementd (Quaternion (lgsm .vector (1,0,0), self .angle )),'knob' )])

'double' ,))

Body Pos Generator

• XDE: Aperçu général

• Briques:

� Simulation physique

XDE (

� Simulation physique

� Fluide

� Humain Virtuel

• Middleware:

� DSimI

� DIO

• Exemple appliqué à la robotique

Kinect(trackin

Virtuose

• RoadmapInterface utilisateur

(

Plan

38

XDE (DSimI)

Simulation physique

Contrôle HVphysique

Path Planning 2.5D

CATIASolidWorks

iPad

C++Python

CORBA

Kinecttrackin g)

Virtuose iPadBrowser

CORBA…

Interface utilisateur

(GUI)

Interface Programmation

Interface utilisateur

(RV)

DIO

(haptique)

DIO (Device

• Système de gestion de périphériques RV

• Sous ensemble de DSimI

• Construction de périphérique en plusieurs étapes :

filtres

factory

hardware

factory

hardware filtres

Device Input Output): Principe

Système de gestion de périphériques RV

Construction de périphérique en plusieurs étapes :

39

filtres

DIO : Les périphériques intégrés

TrackingTracking optique ARToptique ART

Caméra couleur Caméra couleur

SpaceSpace MouseMouse

Caméra couleur Caméra couleur

Caméra Temps de Vol PMDCaméra Temps de Vol PMD

Centrale inertielle Centrale inertielle

Centrale inertielle Centrale inertielle MoveaMovea

Microsoft Microsoft KinectKinectMicrosoft Microsoft KinectKinect

Sony Playstation MoveSony Playstation Move

HaptionHaption Virtuose6DVirtuose6D

DIO : Les périphériques intégrés

Caméra couleur Caméra couleur BaslerBaslerCaméra couleur Caméra couleur BaslerBasler

Centrale inertielle Centrale inertielle XSensXSens

KinectKinectKinectKinect

Virtuose6DVirtuose6D

Quelques exemples…

41

• XDE: Aperçu général

• Briques:

� Simulation physique� Simulation physique

� Fluide

� Humain Virtuel

• Middleware:

� DSimI

� DIO

• Exemple appliqué à la robotique

• Roadmap

Plan

42

Deux «

• XDECore (brique)

� Brique simulation physique

� Librairie C++ classique (*.h, *.lib, *.dll/*.

• XDE• XDE

� Environnement complet de simulation (15 briques)

� Interface Python et RTT déportée

• Roadmap

� V1.0-beta2 : état actuel

� V1.0-rc1: mi-août� Interface C++ locale

� Début de documentation

� Outils pour la robotique (calculatrice physique)� Outils pour la robotique (calculatrice physique)

� v1.0 : mi-novembre

• Support

� xde-support@saxifrage.cea.fr

produits », XDECore et XDE

Librairie C++ classique (*.h, *.lib, *.dll/*.so)

43

Simulation physique

XDE

Environnement complet de simulation (15 briques)

Outils pour la robotique (calculatrice physique)

XDE

Simulation physique

Contrôle HV

PathPlanning

Outils pour la robotique (calculatrice physique)