Robotics StackExchange | Archived questions

What is the easiest way to display collada 1.5 on rviz?

Hi all,

Now I'm writing textured 3D model exporter using colladadom. The goal of my work is to display textured mesh on rviz.

I tried to use MESHRESOURCES of visualizationmarker and it succeeded using collada 1.4 files, but it failed using collada 1.5, with following errors:

[ERROR] [1353654675.186652693]: Could not load resource [package://jskenvironmentmodelcreator/data1.5/Seymour.dae]: Collada: package://jskenvironmentmodelcreator/data1.5/Seymour.dae - Expected start of "source" element.

In this case I used test/1.5/data/Seymour.dae in original collada_dom.

Unfortunately, colladadom package of ros fuerte only contains 1.5 schema. I think it is easy way to install another collada_dom with 1.4 schema, but I'm afraid it will break portability of my codes.

Does anyone have good idea to display textured mesh on rviz with collada 1.5?

Thanks,

Hiroaki


According to the comment, I tried to use orrosplanning colladarvizdisplay.launch, but unable to display Seymour.dae with following errors;

Traceback (most recent call last):
File "/home/leus/ros/electric/jsk-ros-pkg/openrave_planning/orrosplanning/collada_joint_publisher.py", line 80, in <module> 
    jsp = ColladaJointPublisher() 
File "/home/leus/ros/electric/jsk-ros-pkg/openrave_planning/orrosplanning/collada_joint_publisher.py", line 31, in __init__ 
    self.env.AddRobot(self.robot) 
openravepy._openravepy_.openravepy_ext.openrave_exception: openrave (Failed): [void PyEnvironmentBase::AddRobot(PyRobotBasePtr):664]: invalid pointer 
[collada_joint_publisher-1] process has died [pid 7242, exit code 1]. log files: /home/leus/.ros/log/14ca984c-3767-11e2-92aa-00237de70062/collada_joint_publisher-1*.log

In addition, following example runs correctly and HIRO-NX model is displayed.

roslaunch orrosplanning collada_rviz_display.launch model:=`rospack find collada_robots`/data/robots/kawada-hironx.dae

"colladarvizdispaly.launch" publish .dae file as Robot Model using OpenRAVE. So "Seymour.dae" can not be visualize with it because OpenRAVE can not read this as Robot Model.

Asked by Hiroaki Yaguchi on 2012-11-22 23:11:12 UTC

Comments

I don't use collada much, so maybe this is no help, but you can install the 'orrosplanning' stack and load your .dae file using: roslaunch orrosplanning collada_rviz_display.launch model:=robotmodel.dae

Asked by dbworth on 2012-11-23 22:12:57 UTC

dbworth, Thank you for your comment. I tried collada_rviz_display.launch with Seymour.dae, but collada_joint_publisher.py is crashed.

Asked by Hiroaki Yaguchi on 2012-11-25 14:21:56 UTC

Answers