Wo setzt Gazebo die Umgebungsvariable GAZEBO_MODEL_PATH?


8

Ich beginne gerade mit Gazebo (1.5) und folge einem Tutorial aus dem Internet. Damit Gazebo das Modell findet, empfiehlt der Autor, die GAZEBO_MODEL_PATHUmgebungsvariable manuell über zu exportieren

export GAZEBO_MODEL_PATH=[...]/models:$GAZEBO_MODEL_PATH

Dies funktioniert jedoch nur für das aktuelle Terminal. Deshalb wollte ich die Umgebungsvariable dauerhaft ändern.

Das Gazebo-Benutzerhandbuch behauptet, dass es GAZEBO_MODEL_PATHzusammen mit allen anderen Umgebungsvariablen von festgelegt wird, /usr/share/gazebo-1.5/setup.shaber meine (jungfräuliche) Gazebo-Installation listet es nicht auf:

export GAZEBO_MASTER_URI=http://localhost:11345
export GAZEBO_MODEL_DATABASE_URI=http://gazebosim.org/models
export GAZEBO_RESOURCE_PATH=/usr/share/gazebo-1.5:/usr/share/gazebo_models
export GAZEBO_PLUGIN_PATH=/usr/lib/gazebo-1.5/plugins
export LD_LIBRARY_PATH=/usr/lib/gazebo-1.5/plugins:${LD_LIBRARY_PATH}
export OGRE_RESOURCE_PATH=/usr/lib/i386-linux-gnu/OGRE-1.7.4

# This line is needed while we're relying on ROS's urdfdom library
export LD_LIBRARY_PATH=/opt/ros/fuerte/lib:${LD_LIBRARY_PATH}

Aber wenn ich Gazebo starte, GAZEBO_MODEL_PATHist es bereits eingestellt $HOME/.gazebo/models, also muss es irgendwo eingestellt werden. Ich denke, ich könnte GAZEBO_MODEL_PATHdas setup.shSkript wahrscheinlich einfach ergänzen , aber da es irgendwo eingestellt ist, würde ich immer noch gerne wissen, wo und ob es besser ist, es dort einzurichten.


Die Antwort von @Armin Meisterhirn sollte als Antwort IMO markiert werden. Übrigens hat Gazebo ein eigenes QS-Forum answers.gazebosim.org
IsaacS

Antworten:


5

Dies ist eher ein Linux- als ein Gazebo-Problem. Sie können diese Zeile einfach hinzufügen

export GAZEBO_MODEL_PATH=[...]/models:$GAZEBO_MODEL_PATH

zu deinem ~ / .bashrc- Datei.


3

Sie haben zwei Fragen gestellt.

  1. Wo legt Gazebo den Standardmodellpfad fest?
  2. Wo soll ich den Wert einstellen?

Die zweite Frage wird von @Armin Meisterhirn vollkommen richtig beantwortet. Es wird empfohlen, die Variable in der .bashrc-Datei festzulegen.

Die erste Frage stellte ich mir auch, als ich anfing, mit dem Pavillon zu arbeiten.

Im Falle des reinen Pavillons (kein Roslaunch, keine Plugins) ist die Antwort so einfach:

Im Quellcode. Gazebo legt immer einen zusätzlichen Pfad fest, der der Standardwert ist.

Schau hier .

Zeile 84:

this->modelPaths.push_back(home + "/.gazebo/models");

Infolgedessen haben Sie immer einen Standardpfad, unabhängig davon, was Sie tun (außer Sie ändern den Quellcode).

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.