User Tools

Site Tools


neurali:gazebo_realizzare_un_world

Realizzare un world

Termini

  • world: insieme di robot, oggetti, parametri ambientali e proprietà fisiche
  • static/dinamic: si può specificare nel formato .sdf il seguente tag. Tali elementi non si muovono, non hanno parametri inerziali, ma possono collidere. Viceversa possono anche muoversi
    • <static>true</static>

Oggetti

creare cartella e avviare gazebo (non è indispensabili usare due comandi separati)

mkdir ~/build_world_tutorial; cd ~/build_world_tutorial  
gzserver 
gzclient

per aggiungere oggetti, si può usare il menu insert (model database)

  1. tab insert

Ci sono anche strumenti per la traslazione/rotazione (trascinare l'oggetto tenendo premuto il tasto x,y oppure z)

Al termine

  1. File→save .sdf
  2. File→load .sdf

Proprietà scena

  1. tab world → scene
    • phisics (enable physics)
    • models
    • lights

Phisics

Terreno simulato

requisiti

sudo apt-get install gdal-bin libgdal-dev libgdal1h python-gdal

DEM (Digital Elevation Model) è un termine generico utilizzato per indicare il terreno, ma non corrisponde ad un formato di dati. Gazebo supporta solo formato raster data (griglia di quote) GDAL.

Il formato ESRI (ASCII) non è supportato, come convertirlo? gdaltransform? gdaltraslate? ogr2ogr?

Problema: si può simulare una palla che rotola?

esempio che riduce la risoluzione

gdalwarp -ts 129 129 file-in.dem file-out.dem
<?xml version="1.0" ?>
<sdf version="1.4">
  <world name="default">
    <!-- A global light source -->
    <include>
      <uri>model://sun</uri>
    </include>
  <model name="miamappa">
      <static>true</static>
      <link name="link">
        <collision name="collision">
          <geometry>
            <miamappa>
              <uri>file:/path/to/vulcano.dem</uri>
              <size>150 150 50</size>
              <pos>0 0 0</pos>
            </miamappa>
          </geometry>
        </collision>
 
        <visual name="visual_abcedf">
          <geometry>
            <miamappa>
              <texture>
                <diffuse>file://media/materials/textures/dirt_diffusespecular.png</diffuse>
                <normal>file://media/materials/textures/flat_normal.png</normal>
                <size>1</size>
              </texture>
              <texture>
                <diffuse>file://media/materials/textures/grass_diffusespecular.png</diffuse>
                <normal>file://media/materials/textures/flat_normal.png</normal>
                <size>1</size>
              </texture>
              <texture>
                <diffuse>file://media/materials/textures/fungus_diffusespecular.png</diffuse>
                <normal>file://media/materials/textures/flat_normal.png</normal>
                <size>1</size>
              </texture>
              <blend>
                <min_height>2</min_height>
                <fade_dist>5</fade_dist>
              </blend>
              <blend>
                <min_height>4</min_height>
                <fade_dist>5</fade_dist>
              </blend>
              <uri>file://path/to/vulcano.dem</uri>
              <size>150 150 50</size>
              <pos>0 0 0</pos>
            </miamappa>
          </geometry>
        </visual>
 
      </link>
    </model>
 
  </world>
</sdf>
neurali/gazebo_realizzare_un_world.txt · Last modified: 2020/06/08 22:20 by 127.0.0.1