ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

jsogorb's profile - activity

2016-12-16 04:53:42 -0500 received badge  Good Question (source)
2014-01-28 17:21:53 -0500 marked best answer How to import stl files into urdf files

I am trying to use stl files with the tag mesh with this code:

  <geometry>
    <mesh filename="package://auriga_model/auriga_base.stl"/>
  </geometry>

The package existes and the file is located there but I get this message when I try to launch it:

[ERROR] [1301591093.704357996]: Malformed geometry for Visual element
[ERROR] [1301591093.704545807]: Could not parse visual element for Link '/base_laser'
[ERROR] [1301591093.704624976]: link xml is not initialized correctly

I have been doing some test with PR2 stl model and I had no success. Here are some of my tries:

  <!-- description of the robot -->
  <link name="/base_link">
    <visual>
      <origin rpy="0 0 0" xyz="0.15 0 0.35"/>
      <geometry>
        <!-- mesh filename="package://auriga_model/meshes/auriga_base.stl" /-->
        <!-- mesh filename="package://auriga_model/meshes/head_pan.stl" /-->
        <mesh filename="package://pr2_description/meshes/head_v0/head_pan.stl"/>
      </geometry>
    </visual>
  </link>

  <link name="/base_laser">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
    </visual>
  </link>

For me, it looks like it can't resolve properly "filename="package://". Is it possible? I tested and "rospack find" command works fine with me.

Any clue?


Now I am able to load PR2 models but not the one of my robot. The original model was build in solidworks and maybe this is the problem. I will try to port it from Catia and I will say if it works.

2013-02-03 02:22:51 -0500 marked best answer Error with roslaunch in remote machine

I am try to launch my setup remotely. This is my launch file:

<launch>

  <machine name="auriga" address="192.168.1.103" user="auriga" />
  <machine name="local"  address="localhost" />

  <param name="robot_description"     textfile="$(find auriga_model)/auriga_robot_box.urdf" />

  <node  name="laser_hokuyo"          pkg="hokuyo_node" type="hokuyo_node" machine="auriga" respawn="false" output="screen">
    <param name="calibrate_time"      type="bool"       value="false" />            <!-- Starts up faster, but timestamps will be inaccurate. -->
    <param name="port"                type="string"     value="/dev/ttyACM0" />     <!-- Set the port to connect to here -->
    <param name="intensity"           type="bool"       value="false" />
    <param name="min_ang"             type="double"     value="-2.08621" />
    <param name="max_ang"             type="double"     value="+2.08621" />
  </node>

    <node  name="laser_broadcaster"     pkg="tf"                    type="static_transform_publisher" machine="auriga" args="0 0 0.73 0 0 0 base_link laser 50" />
    <node  name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher"            machine="auriga" />
    <node  name="visualization"         pkg="rviz"                  type="rviz"                       machine="local"/>

</launch>

And I get the following output:

... logging to /home/jose/.ros/log/0db3bbbc-651b-11e0-ad9f-00032d122e94/roslaunch-RoboIcaro-2938.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://RoboIcaro:34567/
remote[192.168.1.103-0] starting roslaunch
remote[192.168.1.103-0]: creating ssh connection to 192.168.1.103:22, user[auriga]
remote[192.168.1.103-0]: ssh connection created
remote[192.168.1.103-0]: Exception while registering with roslaunch parent [http://RoboIcaro:34567/]: Traceback (most recent call last):
  File "/opt/ros/diamondback/stacks/ros_comm/tools/roslaunch/src/roslaunch/server.py", line 489, in _register_with_server
    code, msg, _ = server.register(name, self.uri)
  File "/usr/lib/python2.6/xmlrpclib.py", line 1199, in __call__
    return self.__send(self.__name, args)
  File "/usr/lib/python2.6/xmlrpclib.py", line 1489, in __request
    verbose=self.__verbose
  File "/usr/lib/python2.6/xmlrpclib.py", line 1235, in request
    self.send_content(h, request_body)
  File "/usr/lib/python2.6/xmlrpclib.py", line 1349, in send_content
    connection.endheaders()
  File "/usr/lib/python2.6/httplib.py", line 904, in endheaders
    self._send_output()
  File "/usr/lib/python2.6/httplib.py", line 776, in _send_output
    self.send(msg)
  File "/usr/lib/python2.6/httplib.py", line 735, in send
    self.connect()
  File "/usr/lib/python2.6/httplib.py", line 716, in connect
    self.timeout)
  File "/usr/lib/python2.6/socket.py", line 500, in create_connection
    for res in getaddrinfo(host, port, 0, SOCK_STREAM):
gaierror: [Errno -2] Name or service not known


[192.168.1.103-0] process has died
remote roslaunch failed to launch: auriga

May it be a bug?

2013-01-25 19:27:29 -0500 received badge  Famous Question (source)
2013-01-25 19:27:29 -0500 received badge  Notable Question (source)
2013-01-25 19:27:29 -0500 received badge  Popular Question (source)
2012-12-03 18:43:34 -0500 received badge  Notable Question (source)
2012-12-03 18:43:34 -0500 received badge  Popular Question (source)
2012-12-03 18:43:34 -0500 received badge  Famous Question (source)
2012-08-27 07:06:30 -0500 received badge  Famous Question (source)
2012-04-14 14:04:34 -0500 received badge  Notable Question (source)
2012-03-26 16:01:19 -0500 received badge  Famous Question (source)
2011-10-15 04:51:33 -0500 received badge  Popular Question (source)
2011-09-24 19:41:28 -0500 received badge  Notable Question (source)
2011-08-26 08:10:36 -0500 received badge  Nice Question (source)
2011-06-12 06:17:51 -0500 received badge  Popular Question (source)
2011-05-11 03:46:55 -0500 answered a question /odom stops sending tf data

I answer myself. I fixed just updating the odometry information slowier. It was a hardware requirement.

2011-05-05 00:09:52 -0500 commented question /odom stops sending tf data
Hi Eric. Only rviz is running in a separate PC. I tested the net delay between /base_link and /odom and it is also increasing slowly but it doesn't send any exception.
2011-05-04 05:12:43 -0500 asked a question /odom stops sending tf data

I am having problems with my own robot driver because after some time it stops sending odometry data. I checked the tf_monitor and I can see how the net_delay is slowly increasing until I can see the following error:

RESULTS: for /base_link to /map
Chain is: /base_link -> /odom -> /map
Net delay     avg = 6.87636: max = 7.88385

Frames:
Frame: /base_link published by /auriga_robot_base Average Delay: -1.96377 Max Delay: 0
Frame: /odom published by /slam_gmapping Average Delay: -2.00705 Max Delay: 0

All Broadcasters:
Node: /auriga_robot_base 10.0101 Hz, Average Delay: -1.96377 Max Delay: 0
Node: /laser_broadcaster 19.9809 Hz, Average Delay: -2.05722 Max Delay: 0
Node: /slam_gmapping 20.0302 Hz, Average Delay: -2.00705 Max Delay: 0
terminate called after throwing an instance of 'tf::ConnectivityException'
  what():  Could not find a common time /map and /base_link.

And the net_delay between /base_link and /odom is:

RESULTS: for /base_link to /odom
Chain is: /base_link -> /odom
Net delay     avg = 185.881: max = 186.893

Frames:
Frame: /base_link published by /auriga_robot_base Average Delay: 0.00108199 Max Delay: 0.0427322
Frame: /odom published by /slam_gmapping Average Delay: -0.0422399 Max Delay: 0

All Broadcasters:
Node: /auriga_robot_base 10.0099 Hz, Average Delay: 0.00108199 Max Delay: 0.0427322
Node: /laser_broadcaster 19.9936 Hz, Average Delay: -0.0931322 Max Delay: 0
Node: /slam_gmapping 20.0204 Hz, Average Delay: -0.0422399 Max Delay: 0

I have been also checking my robot's node and the only suspicious thing i saw was:

[DEBUG] Socket 15 closed with (ERR|HUP|NVAL) events 24: Broken pipe

Any clue?

2011-04-26 11:17:56 -0500 marked best answer How to import stl files into urdf files

The link "base_link" is just fine. The problem is that the second visual tag (in the link "base_laser") is missing the required <geometry> element. You also need to specify a joint between the two links, otherwise the robot_state_publisher will complain that there are two root links. Below are working versions of the URDF and launch file. Also see the URDF XML documentation and the URDF tutorials.

URDF file:

<robot name="your_robot_name">
  <link name="base_link">
    <visual>
      <origin rpy="0 0 0" xyz="0.15 0 0.35"/>
      <geometry>
        <mesh filename="package://pr2_description/meshes/head_v0/head_pan.stl"/>
      </geometry>
    </visual>
  </link>

  <joint name="base_link_to_base_laser_joint" type="fixed">
    <parent link="base_link"/>
    <child link="base_laser"/>
    <origin xyz="0 0 1.0"/>
  </joint>

  <link name="base_laser">
    <visual>
      <origin rpy="0 0 0" xyz="0 0 0"/>
      <geometry>
        <cylinder length="0.6" radius="0.2"/>
      </geometry>
    </visual>
  </link>
</robot>

launch file:

<launch>
  <!-- upload urdf -->
  <param name="robot_description" textfile="$(find your_package_name)/urdf/your_robot.urdf" />

  <!-- robot state publisher -->
  <node pkg="robot_state_publisher" type="state_publisher" name="robot_state_publisher" />

  <!-- joint state publisher with gui -->
  <param name="use_gui" value="true" />
  <node pkg="joint_state_publisher" type="joint_state_publisher" name="joint_state_publisher"/>
</launch>
2011-04-17 23:20:02 -0500 marked best answer Empty parameter in remote launch

Not sure what you are doing wrong, your launch file looks correct on first glance. Just as an idea for debugging, you can check if the parameter robot_description is set by running

rosparam get robot_description

from the command line. Can you do that from both localhost and auriga? Also, make sure that your network setup is correct (most importantly, ROS_MASTER_URI on auriga is set to the public IP of the machine that is running the roscore).

2011-04-17 23:15:44 -0500 commented answer Empty parameter in remote launch
Thank you, the problem was that the environment parameter ROS_MASTER_URI was not properly set. After adding this line to my launch file everything worked fine: <env name="ROS_MASTER_URI" value="http://baseStation:11311" />
2011-04-15 01:36:52 -0500 marked best answer Error with roslaunch in remote machine

It's a bug that it's not caught, but it also means your network is not configured properly. It's important that you have a proper network setup if you intend to use ROS with remote machines.

In this case, RoboIcaro is not a valid hostname, which is why roslaunch is raising an exception.

Please read: http://www.ros.org/wiki/ROS/NetworkSetup

for a guide on how to test your network config.

2011-04-14 23:59:01 -0500 edited question Empty parameter in remote launch

I am launching my configuration in my robot from my desktop computer.

Everything work fine except loading an urdf file into a parameter. This is my launch file:

<launch>

  <machine name="auriga" address="192.168.1.103" user="auriga" default="true"/>
  <machine name="local"  address="localhost" />

  <param name="robot_description" textfile="$(find auriga_model)/auriga_robot_box.urdf" />
  <param name="wii/axis_linear"   value="1"    type="int"/>
  <param name="wii/axis_angular"  value="0"    type="int"/>
  <param name="wii/scale_linear"  value="0.1"  type="double"/>
  <param name="wii/scale_angular" value="-0.1" type="double"/>
  <param name="wii/min_angular"   value="0.1"  type="double"/>
  <param name="wii/min_linear"    value="0.1"  type="double"/>

  <node  name="laser_hokuyo"          pkg="hokuyo_node" type="hokuyo_node" machine="auriga" respawn="false" output="screen">
    <param name="calibrate_time"      type="bool"       value="false" />            <!-- Starts up faster, but timestamps will be inaccurate. -->
    <param name="port"                type="string"     value="/dev/ttyACM0" />     <!-- Set the port to connect to here -->
    <param name="intensity"           type="bool"       value="false" />
    <param name="min_ang"             type="double"     value="-2.08621" />
    <param name="max_ang"             type="double"     value="+2.08621" />
  </node>

  <node  name="wii_mote_server"       pkg="wiimote"               type="wiimote_node.py"            machine="auriga" respawn="true" output="screen"/>
  <node  name="auriga_robot_base"     pkg="auriga_base"           type="auriga_base_node"           machine="auriga" />
  <node  name="laser_broadcaster"     pkg="tf"                    type="static_transform_publisher" machine="auriga" args="0 0 0.73 0 0 0 base_link laser 50" />
  <node  name="robot_state_publisher" pkg="robot_state_publisher" type="state_publisher"            machine="auriga" />
  <node  name="wii_controller"        pkg="auriga_teleop"         type="teleop_wii_node"            machine="auriga" />

  <node  name="visualization"         pkg="rviz"                  type="rviz"                       machine="local"  />

</launch>

The "auriga_robot_box.urdf" file exists in both computers in the same location but when I launch the system, the process "state_publisher" dies because the "robot_description" parameter is empty.

This configuration works fine when I run it all on a local machine. What am I doing wrong?