Model created in Blender, exported as Collada/.dae, does not appear correctly in Gazebo 9.0

asked 2021-07-22 12:36:57 -0500

this post is marked as community wiki

This post is a wiki. Anyone with karma >75 is welcome to improve it.

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)

    image description

    • 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

  1. 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...
  2. Created an model folder

    image description

  3. Added model path to gui.ini file

    sk@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$ 
  4. 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$ 
    
  5. 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$ 
  6. 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 ...
(more)
edit retag flag offensive close merge delete