====== Struttura modello ====== Si tratta di un file .**sdf** (xml) che parte con un tag ;;%%%%;; (segue esempio) http://sdformat.org/spec?ver=1.5&elem=collision#surface_friction Domanda: esiste un software Model Editor nella versione 6 di Gazebo? un model è composto da link che sono congiunti da join: * **links**, può essere un pezzo di una catena oppure una ruota, cioè elementi che hanno //proprietà fisiche// * a sua volta contiene elementi //collision// e //visual//. Ridurre i link inutili, se non mobili, sostituendoli con collision (domanda: ma collision non si trovava dentro un link?) * **collision** objects, contenuti in ogni link, contengono la descrizione della geometria per le collisioni. Può essere un mesh di triangoli o una forma unica * **visuals**, rende visibile un link * **inertials**, descrivono momento di inerzia e massa del link, sono proprietà dinamiche del link [[neurali:gazebo parametri inerziali|parametri inerziali]] * **sensors**, raccolgono dati dal world e li inviano al plugin [[neurali:gazebo sensori e rumore|sensor]] * **plugins**, libreria esterna che controlla un model [[neurali:gazebo scrivere un plugin|plugin]] * **joints**, punti di congiunzione di **due links**, stabilisce relazione gerarchica ed eredita proprietà fisiche dal link padre (es: asse di rotazione). Esiste la joint di tipo "revolute" di cui si deve definire asse di rotazione e limiti. Un link figlio può essere specificato usando il nome del modello come "namespace" hokuyo::pezzo Usare dentro un file **.sdf** permette di aggiungere parti esterne (esistenti), come un sensore laser (hokuyo) 0 0 0.5 0 0 0 true 1.0 0.083 0.0 0.0 0.083 0.0 0.083 1 1 1 1 1 1