la structure du fichier quatos xml est la suivante :
Définir la configuration du châssis
- quad_plus
- quad_x
- hex_plus
- hex_x
- octo_plus
- octo_x
- custom
<Quatos_configuration>
<engin id = "mon_quad_en_x" config = "quad_x">
<engin id = "mon_quad_en_x" config = "quad_x">
Définir le sens de rotation des moteurs
<Ports><rotation de port = "+ 1"> 1 </port>
<rotation de port = "- 1"> 2 </port>
<rotation de port = "+ 1"> 3 </port>
<rotation de port = " -1"> 4 </port>
</ports>
Définir la longueur des bras et la position des ESC
<Distance>
<moteur> 0,33 </moteur> - Moteur à 33 cm du centre
<esc> 0,33 </esc> - ESC est sous le moteur.
</Distance>
Définir les masses des moteurs, bras et ESC
<Masse><moteur> 120 </moteur> - Masse du moteur + support + hélice
<bras> 30 </bras> - Masse du bras et du câblage
<esc> 20 </esc> - Masse de l'ESC
Si l'ESC n'est pas dans les bras :
Pour les composants isolés (tels que les batteries, les caméras, platines centrale, carte de contrôle et similaires). Nous pouvons définir des cubes ou des points de masse.
<cube name="M4" dimx="0.036" dimy="0.036" dimz="0.0016" offsetx="0" offsety="0" offsetz="-0.007">10.0</cube>
Transform {
- définir valeur à zéro pour sa masse et sa distance par rapport au centre
- définir les ESC comme des éléments cubiques isolés
Définir les composants isolés sous forme de cube
Pour les composants isolés (tels que les batteries, les caméras, platines centrale, carte de contrôle et similaires). Nous pouvons définir des cubes ou des points de masse.
- Un cube est défini par leur dimension, le décalage par rapport au centre et sa masse.
- Un point de masse est un cube avec un volume nul (dim X / Y / Z est 0)
Les principes sont les suivantes :
- Les distances sont en mètres, les masses sont en grammes
- Toutes les dimensions et la position de coordonnées est constitué de coordonnée X (le long de l'axe de roulis), Y (suivant l'axe de tangage) et Z (selon l'axe de lacet)
- Les coordonnées devant, à droite et vers le bas sont positifs. Celles en arrière, à gauche et en haut sont négatifs
- Les coordonnées de position sont mesurées par rapport au centre de masse du cube ou du point
Exemple pour la carte M4
<Nom du cube = "M4" dimx = "0,036" dimy = "0,036" DimZ = "0,0016" offsetx = "0" offsety = "0" offsetz = "- 0,01"> 6.0 </cube>
Le format VRML
Le Virtual Reality Modeling Language (abrégé en VRML) ou Virtual Reality Markup Language est un langage de description d'univers virtuels en 3 dimensions. Ce langage interprété est une norme internationale ISO et les fichiers VRML ont habituellement pour extension .wrl.
Les programmes VRML peuvent décrire des formes simples (points, lignes, polygones) ou complexes (sphères, cubes, cônes, cylindres...), du texte, des images, des animations, des éclairages, des sons, des hyperliens, ainsi que leur agencement dans l'espace, leur texture, leur couleur, leur matériau..
Les coordonnées du système VRML fonctionne suivant le schéma suivant :
Dans notre vie, nous sommes immergés dans un monde en 3 dimensions, mais il est important de rappeler quelles sont ces dimensions.- la largeur (X)
- la hauteur (Y)
- la profondeur (Z)
Par rapport au coordonnée du fichier xml quatos nous avons la correspondance suivante :
Dimension :
- Tangage dim X vrml = dim Y quatos
- Lacet dim Y vrml = dim Z quatos
- Roulis dim Z vrml = dim X quatos
Offset :
- Tangage vrml offsetX = offsetY quatos
- Lacet vrml offsetY = - offsetZ quatos
- Roulis vrml offsetZ = - offsetX quatos
Le programme consiste à traduire la description des composants isolés vers des cubes au format VRML
<cube name="M4" dimx="0.036" dimy="0.036" dimz="0.0016" offsetx="0" offsety="0" offsetz="-0.007">10.0</cube>
Devient ( avec comme unité le cm )
Transform {
translation 0.0 0.7 0.0
children[
Shape {
appearance Appearance { material Material { diffuseColor 1 0 0 } }
geometry Box { size 3.6 0.16 3.6 }
}
]
}
les bras sont représentés sous forme de long rectangle.
quatos-xml-to-wrml.exe fichier_in.xml fichier_out.wrl
Exemple de résultat
Le programme de conversion : quatos-xml-to-wrml.exe
Le programme s'utilise en ligne de commande :quatos-xml-to-wrml.exe fichier_in.xml fichier_out.wrl
Exemple de résultat
Lien :
- Programme disponible sur : https://github.com/fguichard/quatos-xml-to-wrml
- Plus de détail sur système Quatos autoquad : http://autoquad.org/wiki/wiki/qnformatiox d'iuatos-adaptive-control/
- flux sur ce sujet ; http://forum.autoquad.org/viewtopic.php?f=48&t=4456