Gazebo | Ignition | Community
Ask Your Question

r0nald's profile - activity

2015-10-31 12:30:58 -0500 marked best answer Heightmap with Gazebo 1.3

The Gazebo heightmap tutorial is for Gazebo 1.0 and the example is not directly applicable to Gazebo 1.3.

I tried to create my own heightmap model file :

<?xml version="1.0"?>
<sdf version="1.3">
  <model name="ground_plane">
    <static>true</static>
    <link name="link">
      <collision name="collision">
        <geometry>
          <heightmap>
        <uri>file://myheightmap.png</uri>
            <size>20.0 2.0 5.0</size>
          </heightmap>
        </geometry>
        <surface>
          <friction>
            <ode>
              <mu>100</mu>
              <mu2>50</mu2>
            </ode>
          </friction>
        </surface>
      </collision>
      <visual name="visual">
        <cast_shadows>false</cast_shadows>
        <geometry>
          <heightmap>
        <uri>file://myheightmap.png</uri>
            <size>20.0 2.0 5.0</size>
          </heightmap>
        </geometry>
        <material>
          <script>
            <uri>file://media/materials/scripts/gazebo.material</uri>
            <name>Gazebo/Grey</name>
          </script>
        </material>
      </visual>
    </link>
  </model>
</sdf>

When adding this to simulation, the Gazebo console reports

Error [Visual.cc:1946] No mesh specified

I took a look at the sourcecode. From there it seems to me, that in case of the < heightmap > tag, the tmpElem object is invalid and that is why the < uri > value is not found.

Is there something wrong with the model file for the heightmap? Is there a better way for doing a heightmap?

2015-10-31 12:12:55 -0500 marked best answer Why Gazebo 1.3 so slow?

I have tried the Gazebo which came together with ROS Fuerte(I guess version 1.0) and I now installed Gazebo 1.3, which has a different UI and is terribly slow.

Is it expected that the newer Gazebo takes so much more resources (uses full virtual core of my i7 processor)? Rotating, zooming and panning the world is extreamly slow.

2015-02-02 05:42:06 -0500 received badge  Famous Question (source)
2013-10-01 09:39:19 -0500 received badge  Taxonomist
2013-09-08 19:04:30 -0500 received badge  Famous Question (source)
2013-07-24 13:03:55 -0500 received badge  Famous Question (source)
2013-07-09 13:24:36 -0500 received badge  Popular Question (source)
2013-07-09 13:24:36 -0500 received badge  Notable Question (source)
2013-06-11 01:47:26 -0500 received badge  Notable Question (source)
2013-04-29 10:44:16 -0500 received badge  Popular Question (source)
2013-04-25 12:26:19 -0500 received badge  Famous Question (source)
2013-04-23 16:06:42 -0500 asked a question Camera sensor plugin publishing old frames

It seems that gazebo_ros_camera.so publishes camera frames with a lag of one update period, ie. a camera frame goes into ROS topic at the time the next frame is grabbed.

Our robot uses 3fps camera, which is fine in the real robot, but the simulations are not very useful, if the frames are > 1/3 s delayed.

Is there a fix for this issue?

The setup is ROS Groovy / Gazebo 1.2.5.

2013-03-04 08:40:10 -0500 received badge  Notable Question (source)
2013-02-23 10:37:10 -0500 received badge  Notable Question (source)
2013-02-23 10:37:10 -0500 received badge  Popular Question (source)
2013-02-14 03:24:53 -0500 received badge  Popular Question (source)
2013-02-11 11:23:39 -0500 received badge  Famous Question (source)
2013-02-09 08:33:12 -0500 asked a question 100% CPU use when physics paused and GUI closed

When I pause physics from GUI, close the GUI, then Gazebo still takes 100% of one core. Experiencing this with Gazebo 1.2.5 (came with ROS Groovy), have not tried with other versions.

Why? Any way to fix this?

2013-02-05 11:31:39 -0500 received badge  Notable Question (source)
2013-02-05 11:31:39 -0500 received badge  Popular Question (source)
2013-02-05 10:16:46 -0500 received badge  Famous Question (source)
2013-02-05 10:16:46 -0500 received badge  Popular Question (source)
2013-02-05 10:16:46 -0500 received badge  Notable Question (source)
2013-02-04 05:32:43 -0500 received badge  Student (source)
2013-01-28 08:54:43 -0500 received badge  Nice Answer (source)
2013-01-28 04:39:45 -0500 commented question ROS Groovy Gazebo cannot spawn objects

I have a similar problem. The models should be fine, because Gazebo can load them from model directory or if they are embedded from world. It is juts spawn_model node of ROS that can't load the model. My question in ROS QA: http://answers.ros.org/question/52076/gazebo-sdf-model-loading-in-groovy/

2013-01-23 02:36:25 -0500 asked a question Getting angle of 2 DoF joint

Is it possible to get the angle of at least one axis of a 2 DoF (in SDF type "revolute2") joint? Gazebo 1.2.5. Currently I always get zero for joint->GetAngle(0) and same for joint->GetState().GetAngle(0).

If this is the right method for it in the source code, then it seems that it is not possible, due to a bug or by design.

According to this issue, the current implementation does not support returning angle of axis other than 0, but I can't get angle of axis 0 neither.

2013-01-22 16:27:56 -0500 commented answer Making wheel rotate freely and turn (four-wheeled robot)

Is it not possible to get the angle of this type of joint? joint->GetAngle(0) always gives zero.

2013-01-22 11:01:08 -0500 received badge  Supporter (source)
2013-01-22 11:01:00 -0500 commented answer Making wheel rotate freely and turn (four-wheeled robot)

Thank you very much, it helped. I did not know about that joint type.

2013-01-22 09:58:11 -0500 asked a question Making wheel rotate freely and turn (four-wheeled robot)

Hi.

I want to create a four-wheeled robot, where two front wheels have fixed axis, but are rotated by a SetVelocity() command in a Gazebo plugin. The two rear wheels should rotate freely in the main axis, but I should be able to turn them in the other axis with the SetVelocity() command (for turning the robot).

I have tried to do this, but there seems to be a conflict between making the rear wheels rotate freely(motion in one axis of the joint) and being able to turn them according to my commands.

Here is the model of my robot : http://pastebin.com/1EEkfb6A (joint definition is in the bottom). Initially I have used it in the empty_world template that comes with ROS Groovy.

The main symptoms of the problem is that if I do SetMaxForce for any axis, then the main axis of the wheels is blocked and the wheels don't rotate.

Is it possible to give two axis of the same joint different properties? So that in one axis my wheel rotates freely and in the other I control it with SetVelocity. How?

Or why can't I achieve the desired result?

Any help is much appreciated.

I am testing this on Gazebo 1.2.5 that came with ROS Groovy.

2013-01-20 16:25:02 -0500 received badge  Teacher (source)
2013-01-20 13:08:22 -0500 edited answer Basic question regarding plugin

Plugins do not have a main() function, they are objects that are created by the main gazebo process. The print function in the example gets called, because the constructor HelloWorld::HelloWorld() is called when the object is created (really elementary C++ knowledge).

From what I gather, this means that the ModelPush is binded as a function pointer and it will be call every time the world update by receiving a "world update" signal. Am I right?

Almost. The method ModelPush::OnUpdate() of your ModelPush object (this)is called on world update.