ros3djs is not loading my urdf.

asked 2018-07-17 16:30:36 -0600

msjulio00 gravatar image

Hello, I have a urdf file for an ABB Irb140 robot, I sucesfully displayed it using rviz but when I tried to follow the "Visualizing a URDF" tutorial ( http://wiki.ros.org/ros3djs/Tutorials... ) the html doesn't show anything. I have tried a lot of things reading a lot of answers about the issue but I can't get it work (I'm a newby in the topic).

The important parts of my urdf.html code are the headers, I don't know if I'm using them right, and the URDF client part:

script src="https://static.robotwebtools.org/threejs/current/three.js"></script>
<script src="https://static.robotwebtools.org/threejs/current/STLLoader.js"></script>
<script src="https://static.robotwebtools.org/EventEmitter2/current/eventemitter2.js"></script>
<script src="https://static.robotwebtools.org/ros3djs/0.18.0/ColladaLoader.js"></script>
<script src="https://static.robotwebtools.org/ColladaAnimationCompress/current/ColladaLoader2.js"></script>
<script src="https://static.robotwebtools.org/roslibjs/current/roslib.js"></script>
<script src="https://static.robotwebtools.org/ros3djs/current/ros3d.min.js"></script>
<script src="https://static.robotwebtools.org/threejs/current/ColladaLoader.min.js"></script>
<script src="../build/roslib.js"></script>

var urdfClient = new ROS3D.UrdfClient({ 
     ros : ros, 
     tfClient : tfClient, 
     path : 'http://localhost:80/',
     rootObject : viewer.scene, 
     loader : ROS3D.COLLADA_LOADER
     });

I have tried using both the ROS3D.COLLADA_LOADER and ROS3D.COLLADA_LOADER_2.

I'm also using apache 2 and I have there the urdf.html and the meshes but the html code simply can't load them. In other hand I launch these files.

1.- roslaunch abb_irb140_support nodos.launch

<launch>
<arg name="KINECT1" default="$(optenv KINECT1 false)" />
<arg name="KINECT2" default="$(optenv KINECT2 false)" />

<group>
        <param name="robot_description" command="$(find xacro)/xacro '$(find abb_irb140_support)/urdf/irb140.urdf' --inorder KINECT1:=$(arg KINECT1) KINECT2:=$(arg KINECT2)" />
</group>
    <param name="use_gui" value="true" />
    <node name="robot_state_publiher" pkg="robot_state_publisher" type="state_publisher" />
    <node name="joint_state_publiher" pkg="joint_state_publisher" type="joint_state_publisher" />   
    <node name="tf2_web_republiher"   pkg="tf2_web_republisher"   type="tf2_web_republisher" /> 
</launch>

2.-roslaunch rosbridge_server rosbridge_websocket.launch

Both of them work perfectly well and show the robot model in rviz. One thing that I don't know is if I need to launch the file from inside the apache server.

Inside the urdf file the filename is something like this:

"package://robot_description/meshes/irb140/visual/base_link.dae"

The meshes are in /var/www/html/robot_description/meshes/irb140/visual/ and if I write http://localhost/robot_description/me... they can be accesed but again the files are not loaded in the html.

I hope someone could help me with this, I have been stucked with this problem several days now. Thank you I will appreciate any help.

edit retag flag offensive close merge delete