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

dmeltz's profile - activity

2022-07-10 01:04:41 -0500 received badge  Good Answer (source)
2019-10-08 16:52:22 -0500 received badge  Nice Answer (source)
2016-06-29 00:47:40 -0500 commented answer What is tf_static?

Is there an easy way to prevent tf::TransformListeer from subscribing to the /tf_static topic? (only for the sake of clarity of the rqt_graph...)

2016-06-29 00:47:40 -0500 received badge  Commentator
2016-06-29 00:46:21 -0500 answered a question What is tf_static?

Is there an easy way to prevent tf::TransformListeer from subscribing to the /tf_static topic? (only for the sake of clarity of the rqt_graph...)

2016-04-05 12:49:16 -0500 received badge  Notable Question (source)
2016-04-05 12:49:16 -0500 received badge  Famous Question (source)
2016-03-22 14:05:28 -0500 received badge  Famous Question (source)
2015-11-20 03:33:12 -0500 received badge  Famous Question (source)
2015-11-20 03:33:12 -0500 received badge  Popular Question (source)
2015-11-20 03:33:12 -0500 received badge  Notable Question (source)
2015-10-06 04:33:07 -0500 received badge  Nice Question (source)
2015-09-10 04:55:09 -0500 asked a question How to set friction direction in gazebo

Hello,

I am trying to set different friction coefficients in the different x-y link direction. For that i am using the <mu> , <mu2> and <fdir1> tags provided especially for that purpose. But for some reason the friction coefficients are applied by GAZEBO in the world frame and not the link frame.

In order to test the issue I placed same box, with different <mu> and <mu2> on the ground plane in two orientation (perpendicular to each other) and applied increasing gravity in x direction.

here is the sdf of the ground plane (i use same friction in both directions) :

<?xml version="1.0" ?>
<sdf version="1.5">
  <model name="ground_plane">
    <static>true</static>
    <link name="link">
      <collision name="collision">
        <geometry>
          <plane>
            <normal>0 0 1</normal>
            <size>100 100</size>
          </plane>
        </geometry>
        <surface>
          <friction>
            <ode>
              <mu>100</mu>
              <mu2>100</mu2>
          <fdir1>1 0 0</fdir1>
            </ode>
          </friction>
        </surface>
      </collision>
      <visual name="visual">
        <cast_shadows>false</cast_shadows>
        <geometry>
          <plane>
            <normal>0 0 1</normal>
            <size>100 100</size>
          </plane>
        </geometry>
        <material>
          <script>
            <uri>file://media/materials/scripts/gazebo.material</uri>
            <name>Gazebo/Grey</name>
          </script>
        </material>
      </visual>
    </link>
  </model>
</sdf>

here is the sdf of a box that i use for tests (i set high friction in x direction, and low friction in y direction) :

<?xml version="1.0"?>
<sdf version="1.4">
  <model name="cube1">
    <static>false</static>
    <link name="link">
       <pose>0 0 0.5 0 0 0</pose>
       <collision name="collision">
        <geometry>
            <box>
              <size>2 1 1</size>
            </box>
        </geometry>
        <surface>
          <friction>
            <ode>
              <mu>0.3</mu>
              <mu2>100</mu2>
          <fdir1>1 0 0</fdir1>
            </ode>
          </friction>
         </surface>
    </collision>

      <inertial>
        <pose>0 0 -0.4 0 -0 0</pose>
        <mass>50</mass>
        <inertia>
          <ixx>1</ixx>
          <ixy>0</ixy>
          <ixz>0</ixz>
          <iyy>1</iyy>
          <iyz>0</iyz>
          <izz>1</izz>
        </inertia>
      </inertial>

      <visual name="visual">
         <geometry>
            <box>
              <size>2 1 1</size>
            </box>
        </geometry>
          <material>
            <script>
              <uri>file://media/materials/scripts/gazebo.material</uri>
              <name>Gazebo/Grey</name>
            </script>
          </material>
      </visual>

    </link>
  </model>
</sdf>

as i increase the gravity in x (world) direction both boxes start to slide simultaneously and with the same speed. if i increase the gravity in y (world) direction the boxes do not move.

image description

what am i doing wrong here ?

2015-07-15 04:20:09 -0500 received badge  Famous Question (source)
2015-07-06 08:58:16 -0500 received badge  Notable Question (source)
2015-07-06 08:58:16 -0500 received badge  Famous Question (source)
2015-04-11 03:08:21 -0500 received badge  Popular Question (source)
2015-03-16 12:13:00 -0500 asked a question Enforcing real time factor = 1 in gazebo

Hello

Is there a way to enforce real time factor = 1 in gazebo simulation ? I understand that it must come at expense of large or uneven time step and therefore physical accuracy.

My intention is to transmit the sensor data that is generated in Gazebo to a software that is a "Black-Box" and therefore must receive the data in real time rate.

Thanks.

2015-03-16 11:41:43 -0500 received badge  Famous Question (source)
2015-03-16 11:41:43 -0500 received badge  Notable Question (source)
2015-03-02 18:27:12 -0500 received badge  Notable Question (source)
2014-12-15 22:12:30 -0500 received badge  Popular Question (source)
2014-12-11 09:18:52 -0500 received badge  Popular Question (source)
2014-11-30 07:36:42 -0500 received badge  Popular Question (source)
2014-11-30 07:35:18 -0500 commented answer urdf_to_collada disrupts the robot model

I tried to use STL meshes, as you suggested, but unfortunately it does not helps. Maybe you can direct me to a working example ?

2014-11-20 07:09:33 -0500 asked a question urdf_to_collada disrupts the robot model

Hello all

I am interesting in creating a single Collada model out of my robot URDF. I probably doing some thing wrong her a simple example :
my rob.URDF file is :

    <?xml version="1.0"?>
<robot name="my_rob">
  <link name="base_cylinder">
    <visual>
      <geometry>
        <cylinder length="1" radius="0.1"/>
      </geometry>
      <material name="blue">
        <color rgba="0 0 .8 1"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
         <cylinder length="1" radius="0.1"/>
      </geometry>
    </collision> 
  </link>

  <link name="head_box">
    <visual>
      <geometry>
        <box size="0.4 0.4 0.4"/>
      </geometry>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <material name="white">
        <color rgba="1 1 1 1"/>
      </material>
    </visual>
    <collision>
      <origin xyz="0 0 0" rpy="0 0 0" />
      <geometry>
        <box size="0.3 0.3 0.3"/>
      </geometry>
    </collision>
  </link>

  <joint name="my_box_joint" type="fixed">
    <parent link="base_cylinder"/>
    <child link="head_box"/>
    <origin xyz="0 0 0.7"/>
  </joint>

</robot>

in the RVIZ my model seems OK : image description

but after i execute :

rosrun collada_urdf urdf_to_collada rob.URDF rob.dae

my rob.dae file looks like this in MeshLab :

image description

What am i doing wrong ?

2014-11-11 05:26:49 -0500 received badge  Enthusiast
2014-11-11 05:26:48 -0500 received badge  Enthusiast
2014-11-09 09:19:33 -0500 asked a question simulink model as GAZEBO plugin

Hello all

Is it possible to connect simulink to gazebo as a plugin ? for example if i like to model a nonlinear spring using simulink and include it as part of my robot ?

Does anyone have an idea if and how it can be done ?

thanks

2014-07-14 09:50:36 -0500 asked a question Synchronizetion of Gazebo-log and Rosbag replay

Hello.

I am interesting in recording and replaying simulated scenario in gazebo. I am looking to record both the simulated environment and the movement of my robot inside of it, and also my robot's Internal data (rostopics).

Best solution for me would be to run gazebo base on recorded rosbag file. But i suspect it is not possible as rosbag do not record simulated world environmental data. I am familiar with gazebo log, but have no idea for how to synchronized it to play at same rate with to rosbag.

Is there any solution for this ?

Thanks

2014-04-20 13:20:48 -0500 marked best answer How to get robot velocity in gazebo

Hello all.

I have built a little vehicle robot which can be controlled using keyboard. Now i am interested to get the robot velocity in order to close control loop on it.

The question is what is the best way to do that ?

Is there a special sensor that I can include in my robot URDF model ?

Or, should I try to get it directly from the /gazebo/model_states topic ?

update :

I tried to subscribing to /gazebo/model_states topic using the following code :

ros::Subscriber vehicle_velocity_sub_;

vehicle_velocity_sub_ = nh_.subscribe<geometry_msgs::Twist>("/gazebo/model_states/twist[2]", 1000, &Dany_Obstacle_Avoidance_Commander::twist_data_processor, this);

But i got the following error :

terminate called after throwing an instance of 'ros::InvalidNameException' what(): Character [[] at element [26] is not valid in Graph Resource Name [/gazebo/model_states/twist[2]]. Valid characters are a-z, A-Z, 0-9, / and _. Aborted (core dumped)

It seems that ROS does not understand the vector operator "[]" used with topics.

nevertheless if I try to use it in rostopic command :

rostopic echo /gazebo/model_states/twist[2]

from the terminal it works fine.

Does anyone know what I doing wrong ?

thanks.

2014-04-20 13:17:21 -0500 marked best answer need help with camera simulation

hi all.

i using ubuntu 12.04 with ros-fuerte

i trying to connect a camera sensor to a car urdf model that i created. i follow the example on http://ros.org/wiki/urdf/Tutorials/AddingSensorsToPR2.

this is the relevant part of my urdf (xacro) model :

<joint name="camera_joint" type="fixed">
  <origin xyz="${chassis_length/2} 0 ${chassis_hight/2}" rpy="0 0 0" />
  <parent link="base_link" />
  <child link="camera_link"/>
</joint>

<link name="camera_link">
  <inertial>
    <mass value="0.01" />
    <origin xyz="0 0 0" />
    <inertia ixx="0.001"  ixy="0.0"  ixz="0.0"
             iyy="0.001"  iyz="0.0"
             izz="0.001" />
  </inertial>
  <visual>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <box size="0.001 0.001 0.001" />
    </geometry>
  </visual>
  <collision>
    <origin xyz="0 0 0" rpy="0 0 0"/>
    <geometry>
      <box size="0.001 0.001 0.001" />
    </geometry>
  </collision> 
 </link>  <gazebo reference="dany_car_camera">
 <sensor:camera name="dany_car_camera">
    <imageSize>640 480</imageSize>
    <imageFormat>R8G8B8</imageFormat>
    <hfov>90</hfov>
    <nearClip>0.01</nearClip>
    <farClip>100</farClip>
    <updateRate>20.0</updateRate>

     <controller:gazebo_ros_camera name="camera_controller" plugin="libgazebo_ros_camera.so">
      <alwaysOn>true</alwaysOn>
      <updateRate>20.0</updateRate>
      <imageTopicName>dany_car_camera/image</imageTopicName>
      <frameName>camera_link</frameName>
      <interface:camera name="dany_car_camera_iface"/>
    </controller:gazebo_ros_camera>
 </sensor:camera>
  <turnGravityOff>false</turnGravityOff>
  <material>Gazebo/Red</material>
</gazebo>

when i roslaunch empty_world.launch and my launch file

i get no errors about the camera. the simulation loads and runs correctly. but when i try to view the camera window by commanding

$ rosrun image_view image_view image:=dany_car_camera/image

i get an empty window.

pleas help me found my mistake. tanks.

2014-04-20 13:17:09 -0500 marked best answer How to use repositories ?

Hello all.

I am new to Ubuntu and ROS, so I have a beginner question :

How do I use repositories ? For example I am interested in using the cob_environments stack. on the ros wiki I have found that this stack belongs to Source: git https://github.com/ipa320/cob_environments.git.

the question is what I do next ?

And also what I do when the stack located on SNV, for example : Source: svn https://utexas-art-ros-pkg.googlecode.com/svn/trunk/stacks/velodyne

thanks.

2014-04-20 13:15:24 -0500 marked best answer Xacro files editing with Eclipse

Hello all.

Does someone know if there exist a XACRO plugin for Eclipse. I interesting in editing a relative complex robot model, So I really like to have some kind of code outliner and other editing devises.

Thanks.

2014-04-20 13:07:09 -0500 marked best answer differences between camera plugins in GAZEBO

Hello all.

I looking to install a camera sensor on my robot, in a GAZEBO simulation. I encountered several different plugins :

  1. gazebo_ros_depth_camera
  2. gazebo_ros_prosilica
  3. gazebo_ros_camera

Is there difference between those different plugins ? Also i would happy to know where can i found some documentation about the plugins ? (there is nothing inside the packages... )

Thanks.

2014-04-20 12:54:38 -0500 marked best answer need help with creating my first gazebo plugin

Hello.

my intention is to control and move a simple robot within the gazebo simulation. i already created the robot model with a urdf file and now i want to move it around. as i understand, the best way to do that, is to create a plugin. i tried to follow step by step the instructions on :

http://ros.org/wiki/simulator_gazebo/Tutorials/GazeboPluginIntro

but when i type "rosmake" I get an error :

/home/daniel/ros_workspace/gazebo_tutorials/src/simple_world_plugin.cpp:1:20: fatal error: gazebo.h: No such file or directory compilation terminated.

I tried to update ROS by typing "sudo apt-get install ros-fuerte-desktop-full" but still, the problem remains.

I am using ROS Fuerte with Ubuntu 12.04.

Is anyone can suggest a better tutorial, or a way to overcome this problem? Thanks.

2014-04-20 06:53:30 -0500 marked best answer Need help with message declaration

Hello

I wish to use a message type that i created in one of my packages in my other package, but for some reason it doesn't work :

The package were the message is declared named dany_controller_pkg and the message type is velocity_derection.

In order to use this message type in my other new package, i add to the new package Manifest file, the following dependency :

<depend package="dany_controller_pkg"/>

and included in the cpp file of my new package the following declaration :

#include <dany_controller_pkg/velocity_derection.h>

Still for some reason when i compile, the compiler doesn't recognize the imported message type.

The exact compiler error is:

Unresolved inclusion: <dany_controller_pkg/velocity_derection.h>

(Also, in the original package this message type works fine)

What am i missing ? Thanks.

2014-04-20 06:53:29 -0500 marked best answer Extreme CPU usage when ploting using rxplot and rxbag tools

Hello all.

For some reason when I plot data using rxgraph or rxbag tools, the CPU usage explodes.

For example : I trying to plot some fields of a topic that consist of 20 numerical fields and published on rate of 10Hz (not a high rate for my understanding). when I attempt to plot at the same time 10 different graphs, the CPU usage jumps to over 90%. The CPU usage not really improves even if I record and play a bag file.

Can anyone offer an explanation for this phenomenon ? Or suggest a way to deal with this problem ?

2014-04-20 06:52:54 -0500 marked best answer How to see nodes CPU usage in ROS ?

Hello all.

I built an autonomous car simulation in Gazebo. But for some reason my simulation runs with a very low time rate (around 0.1 off the real time) .

My program includes a number of different nodes and I suspect that some of those nodes use considerably more CPU than others.

The question is : Is there a way to see the CPU usage of each running node ?