Model created in Blender, exported as Collada/.dae, does not appear correctly in Gazebo 9.0
What I am trying to achieve
- Create Gazebo simulation world using Blender. But...
- Due to my problems, with reusing my Collada models, I have reduced the scope to "Create a simple cube in Blender + Export => Create an Gazebo model using the cube.dae meshes for
<visual>
and<collision>
"
My problem/symptom
- My test model seems ok when I insert it.... But...
- Problem #1: The
<collision>
mesh does not work (My robot run truth the model) Problem #2: The
<visual>
is not recognized by my robot camera (see picture below)- Note!: My cube model is the big black 1mx1mx1m box to the upper right in the picture above.
- Note!: The other barriers/walls in picture above is modeled using plain URDF box primitives.
What I think I need help with...
- A step by step guideline "From Blender, via Collada => Gazebo model"-guide.
- Is it how I made my Blender model?
- Is it how I exported from Blender to Collada? Parameter settings...
- Is it how, and where, I created my Gazebo model?
- Or is it some ROS1 and/or Gazebo environmental issues?
Step by step - What I have tried
In Blender: Exported the "Blender default cube" as a collada .dae file.
- Is it how I made my Blender model?
- Is it how I exported from Blender to Collada? Parameter settings...
Created an model folder
Added model path to
gui.ini
filesk@Yoda:~/.gazebo$ cat gui.ini [geometry] x=279 y=81 width=1219 height=896 [model_paths] filenames=/home/sk/ros_ws/src/Pet-Mk-IV/pet_mk_iv_simulation/models sk@Yoda:~/.gazebo$
My
model.config
sk@Yoda:~/ros_ws/src/Pet-Mk-IV/pet_mk_iv_simulation/models/cube$ cat model.config <?xml version="1.0" ?> <model> <name>cube</name> <version>1.0</version> <sdf>model.sdf</sdf> <author> <name>Stefan Kull</name> <email>stefan.kull@gmail.com</email> </author> <description> Blender default cube exported as Collada .dae-file </description> </model> sk@Yoda:~/ros_ws/src/Pet-Mk-IV/pet_mk_iv_simulation/models/cube$
My
model.sdf
sk@Yoda:~/ros_ws/src/Pet-Mk-IV/pet_mk_iv_simulation/models/cube$ cat model.sdf <?xml version="1.0" ?> <sdf version="1.5"> <model name='cube'> <static>true</static> <pose>0 0 0 0 0 0</pose> <link name='link'> <visual name='visual'> <cast_shadows>0</cast_shadows> <geometry> <mesh> <uri>model://cube/mesh/cube.dae</uri> <scale>1 1 1</scale> </mesh> </geometry> </visual> <collision name='collision'> <geometry> <mesh> <uri>model://cube/mesh/cube.dae</uri> <scale>1 1 1</scale> </mesh> </geometry> <max_contacts>10</max_contacts> <surface> <contact> <ode/> </contact> <bounce/> <friction> <ode/> </friction> </surface> </collision> <self_collide>0</self_collide> <kinematic>0</kinematic> <gravity>1</gravity> </link> </model> </sdf> sk@Yoda:~/ros_ws/src/Pet-Mk-IV/pet_mk_iv_simulation/models/cube$
Launched Gazebo, RViz and Rqt
Environment
- Or is it some ROS1 and/or Gazebo environmental issues?
- ROS1 melodic (Gazebo 9.0)
- Ubuntu 20.04
- Blender 2.93
$ env | grep ROS
sk@Yoda:~/ros_ws$ env | grep ROS ROSCONSOLE_FORMAT=[${severity}] [${time}] [${node}]: ${message} ROS_ETC_DIR=/opt/ros/melodic/etc/ros ROS_ROOT=/opt/ros/melodic/share/ros ROS_MASTER_URI=http://localhost:11311 ROS_VERSION=1 ROS_PYTHON_VERSION=2 ROS_PACKAGE_PATH=/home ...