Model From World File Not Visible In Gazebo When Using Roslaunch
Hi all, I'm having what appears to be a problem among several users: using roslaunch to open a world file in Gazebo. Like others who have asked, I've carefully gone through several tutorials, including "Using roslaunch to start Gazebo, world files and URDF models".
In general everything works normally. I'm using OS X (El Capitan) with ROS Jade and Gazebo version 8.
Carefully following the tutorial listed above, I've created the packages and directory structure that is needed. I have a "TestRobot_ws" workspace that contains the packages "TestRobot_description" (with the directories "meshes" and "urdf") and TestRobot_gazebo" (with the directories "launch", "models" and "worlds"). The appropriate files are in each directory.
In a terminal I "source /opt/ros/jade/setup.bash". Then I cd into the TestRobot_ws directory and "source devel/setup.bash". Because the collada model for my world file is in the TestRobot_gazebo/models directory, I "export GAZEBO_MODEL_PATH=~/devel/TestRobot_ws/src/TestRobot_gazebo/models:$GAZEBO_MODEL_PATH".
If I cd into the TestRobot_gazebo directory and "gazebo worlds/TestRobot.world", gazebo will start my world file and display its collada file.
If I "roslaunch TestRobot_gazebo TestRobot.launch", Gazebo will start. My robot model is correctly spawned into Gazebo, but my world file is NOT correctly displayed. The collada model is not visible. However, if I look at the left pane of the Gazebo UI, in the "models" section of the "worlds" tab my collada model is listed (along with it's link), as well as the ground object and my spawned robot model.
I've spent several days trying many suggestions and tutorials. Nothing so far has worked. I'm wondering if it is a pathing issue. If I "echo $GAZEBO_MODEL_PATH" it returns ~devel/TestRobot_ws/src/TestRobot_gazebo/models: (which is correct). "ROSPACK LIST" returns TestRobot_description and TestRobot_gazebo, so it sees the packages.
In short: Gazebo will correctly launch and display the collada model in the world file. But using ROSLAUNCH and the launch file does not display the collada file (although it is listed in the "models" section of the "worlds" tab in the Gazebo UI left panel).
Thoughts/ideas/suggestions??? There is probably a simple answer, but I cannot figure it out. Below is the code for my WORLD file and LAUNCH file.
Any help would be GREATLY appreciated,
Thanks!
WORLD FILE (works correctly when launched from Gazebo)
<?xml version="1.0" ?>
<sdf version="1.4">
<world name="default">
<include>
<uri>model://ground_plane</uri>
</include>
<include>
<uri>model://sun</uri>
</include>
<!-- The collada model in the TestRobot_gazebo/models directory -->
<model name="Test_House_Model">
<pose>0 0 0 0 0 0</pose>
<static>true</static>
<link name="Test_House_Model_link">
<visual name="Test_House_Model_visual">
<geometry>
<mesh><uri>model://models/Test_House_Model.dae</uri></mesh>
</geometry>
</visual>
</link>
</model>
</world>
</sdf>
LAUNCH FILE (does not display the collada model when called from ROSLAUNCH, but does spawn the robot)
<launch>
<!-- launch an empty Gazebo world -->
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<!-- insert the modified world with the collada model -->
<arg name="world_name" value="$(find TestRobot_gazebo ...