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 [modelpaths] filenames=/home/sk/rosws/src/Pet-Mk-IV/petmkiv_simulation/models sk@Yoda:~/.gazebo$
My
model.config
sk@Yoda:~/rosws/src/Pet-Mk-IV/petmkivsimulation/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:~/rosws/src/Pet-Mk-IV/petmkivsimulation/models/cube$
My
model.sdf
sk@Yoda:~/rosws/src/Pet-Mk-IV/petmkivsimulation/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'> <castshadows>0</castshadows> <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> <maxcontacts>10</maxcontacts> <surface> <contact> <ode/> </contact> <bounce/> <friction> <ode/> </friction> </surface> </collision> <selfcollide>0</selfcollide> <kinematic>0</kinematic> <gravity>1</gravity> </link> </model> </sdf> sk@Yoda:~/rosws/src/Pet-Mk-IV/petmkivsimulation/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:~/rosws$ env | grep ROS ROSCONSOLEFORMAT=[${severity}] [${time}] [${node}]: ${message} ROSETCDIR=/opt/ros/melodic/etc/ros ROSROOT=/opt/ros/melodic/share/ros ROSMASTERURI=http://localhost:11311 ROSVERSION=1 ROSPYTHONVERSION=2 ROSPACKAGEPATH=/home/sk/rosws/src/BehaviorTree.ROS:/home/sk/rosws/src/actionlibtutorials:/home/sk/rosws/src/Groot:/home/sk/rosws/src/Pet-Mk-IV/petmkivdescription:/home/sk/rosws/src/Pet-Mk-IV/petmkivlaunch:/home/sk/rosws/src/Pet-Mk-IV/petmkivmsgs:/home/sk/rosws/src/Pet-Mk-IV/petmkivlocalisation:/home/sk/rosws/src/Pet-Mk-IV/petmkivmissioncontrol:/home/sk/rosws/src/Pet-Mk-IV/petmkivpathplanner:/home/sk/rosws/src/Pet-Mk-IV/petmkivsimulation:/home/sk/rosws/src/Pet-Mk-IV/roslcddriver:/home/sk/rosws/src/rosserial/rosserial:/home/sk/rosws/src/rosserial/rosserialarduino:/home/sk/rosws/src/rosserial/rosserialmbed:/home/sk/rosws/src/rosserial/rosserialmsgs:/home/sk/rosws/src/rosserial/rosserialclient:/home/sk/rosws/src/rosserial/rosserialembeddedlinux:/home/sk/rosws/src/rosserial/rosserialpython:/home/sk/rosws/src/Pet-Mk-IV/petmkivarduino:/home/sk/rosws/src/rosserial/rosserialserver:/home/sk/rosws/src/rosserial/rosserialtest:/home/sk/rosws/src/rosserial/rosserialtivac:/home/sk/rosws/src/rosserial/rosserialvexcortex:/home/sk/rosws/src/rosserial/rosserialvexv5:/home/sk/rosws/src/rosserial/rosserialwindows:/home/sk/rosws/src/rosserial/rosserialxbee:/opt/ros/melodic/share ROSLISPPACKAGEDIRECTORIES=/home/sk/rosws/devel/share/common-lisp ROSDISTRO=melodic sk@Yoda:~/ros_ws$
$ env | grep GAZEBO
sk@Yoda:~/rosws$ env | grep GAZEBO sk@Yoda:~/rosws$
Asked by Kullken on 2021-07-22 12:36:57 UTC
Comments