stlデータをworld上に配置する場合

以下の内容を入力した.worldファイルを作成する

<?xml version="1.0"?>
	<sdf version="1.4">
	  <world name="default">
	    <include>
	      <uri>model://ground_plane</uri>
	    </include>
	    <include>
	      <uri>model://sun</uri>
	    </include>
	    <model name="my_mesh">
	      <pose>0 0 0  0 0 0</pose>
	      <static>true</static>
	      <link name="body">
	        <visual name="visual">
	          <geometry>
	            <mesh><uri>file://メッシュファイル名.stl</uri></mesh>
	          </geometry>
	        </visual>
	      </link>
	    </model>
	  </world>
</sdf>

そのファイルがあるディレクトリで以下のコマンドを入力すると確認できる

gazebo ファイル名.world

launchファイルで作成したworldを使う場合

作成したworldをlaunchファイルで使おうとすると,配置したstlが表示されないので以下設定をする package.xmlに以下のような項目を追加(stlファイルと.worldファイルがworldディレクトリにある場合の設定例)

<package>
			  (中略)
			  <exec_depend>gazebo_ros</exec_depend>
			  <export>
			    <gazebo_ros gazebo_media_path="${prefix}/world" />
			    <gazebo_ros gazebo_model_path="${prefix}/world" /> 
			  </export>
</package>

launchファイルを実行する前に以下のコマンドを入力

export GAZEBO_RESOURCE_PATH=pwd

参考文献

Import Meshes

ロボットシミュレータ Gazebo の簡単な使い方 (ROS)

ROS講座38 gazebo modelを作成する - Qiita