Gazebo | Ignition | Community
Ask Your Question

gecastro's profile - activity

2020-01-02 21:50:08 -0500 commented answer Unstable real time speed

It is 1 model, a Robotis ThorMang, approximately 23 nodes, including gazebo. I'm already running the simulation below re

2019-12-22 21:05:04 -0500 received badge  Famous Question (source)
2019-12-18 01:06:28 -0500 received badge  Notable Question (source)
2019-12-17 21:14:10 -0500 received badge  Popular Question (source)
2019-12-17 19:05:14 -0500 edited question Unstable real time speed

Unstable real time speed Hi all, I'm not sure if this is a problem of gazebo or not. I have a simulation running with R

2019-12-17 19:03:06 -0500 edited question Unstable real time speed

Changing real time speed Hi all, I'm not sure if this is a problem of gazebo or not. I have a simulation running with R

2019-12-16 21:02:29 -0500 asked a question Unstable real time speed

Changing real time speed Hi all, I'm not sure if this is a problem of gazebo or not. I have a simulation running with R

2017-07-20 04:32:47 -0500 received badge  Teacher (source)
2016-04-29 08:03:48 -0500 received badge  Student (source)
2016-04-29 07:39:33 -0500 received badge  Famous Question (source)
2016-04-29 07:39:32 -0500 received badge  Notable Question (source)
2016-02-07 16:58:47 -0500 received badge  Famous Question (source)
2016-02-02 21:04:05 -0500 received badge  Notable Question (source)
2016-02-02 20:59:58 -0500 commented answer saving simulation snapshot

Thanks, it is not exactly what I' d like, but it could be useful. More than record and play back I meant to stop->reboot gzserver->continue from the last point before reboot. I guess I could use the same logs to replicate the last status before continue...

2016-02-02 20:54:03 -0500 received badge  Popular Question (source)
2016-02-02 18:47:35 -0500 received badge  Enthusiast
2016-02-01 22:53:07 -0500 asked a question saving simulation snapshot

Is there any way in gazebo to save the status of a simulation? Let's say in case you need to stop gzserver and want to resume it later.

2016-01-27 11:58:20 -0500 received badge  Popular Question (source)
2016-01-21 01:31:54 -0500 answered a question Clarification on moving joint with model plugin

After trying different ways of moving joints, like model->SetJointPositions(...) or joint->SetVelocity(...) they gave me very unexpected or none results... Apparently this part of the API has changed between versions.

I ended using force control + PID as explained in this answer: http://answers.gazebosim.org/question...

2016-01-21 01:08:02 -0500 received badge  Editor (source)
2016-01-21 00:39:55 -0500 asked a question gazebo6 sensor contact

I have a problem since I changed from gazebo2 to gazebo6

I have in my URDF this:

<gazebo reference="left_foot_link">
  <sensor name="left_foot_sensor" type="contact">
    <always_on>true</always_on>
    <update_rate>100.0</update_rate>
    <contact>
      <collision>left_foot_fsr1_link_collision</collision>
      <collision>left_foot_fsr2_link_collision</collision>
      <collision>left_foot_fsr3_link_collision</collision>
      <collision>left_foot_fsr4_link_collision</collision>
  <topic>/robot/left_foot_sensor</topic>
    </contact>
  </sensor>
</gazebo>

The links fsr1, fsr2, fsr3, fsr4 are fixed to the parent. Using gz topic I can see the two topics:

  • /gazebo/default/robot/left_foot_link/left_foot_sensor/contacts
  • /robot/left_foot_sensor

But messages in both of this topics are empty (only timestamp). While in the topic /gazebo/default/physics/contacts, I can see:

contact {
  collision1: "robot::left_foot_link::left_foot_link_lump::left_foot_fsr1_link_collision_1"
  collision2: "ground_plane::link::collision"
  position {
    x: 0.038235972692059896
    y: 0.016852892204142138
    z: -8.2373648911671e-05
  }
  ...

EDIT

I found that because the sdf parser, the basename for grouped links includes a "_lump" postfix (see https://bitbucket.org/osrf/sdformat/p... for details). I managed to get the contacts working by setting explicitly the collision name in the sensor like is shown below. The parent link is called "left_foot_link", the child links "left_foot_fsr1_link", ..., "left_foot_fsr4_link".

<gazebo reference="left_foot_link">
  <sensor name="left_foot_sensor" type="contact">
    <always_on>true</always_on>
    <update_rate>100.0</update_rate>
    <contact>
      <collision>left_foot_link_lump::left_foot_fsr1_link_collision_1</collision>
      <collision>left_foot_link_lump::left_foot_fsr2_link_collision_2</collision>
      <collision>left_foot_link_lump::left_foot_fsr3_link_collision_3</collision>
      <collision>left_foot_link_lump::left_foot_fsr4_link_collision_4</collision>
  <topic>/robot/left_foot_sensor</topic>
    </contact>
  </sensor>
</gazebo>

I couldn't understand why the postfix _1 _2 _3 _4 are attached to the child links. Anyone would suggest a better way to remove the hard-coded prefix/postfix in the names? In which version the pull request #235 will be reflected?

Thanks!

2016-01-21 00:15:10 -0500 received badge  Supporter (source)
2016-01-21 00:15:03 -0500 received badge  Scholar (source)
2016-01-21 00:14:39 -0500 received badge  Famous Question (source)
2016-01-16 03:35:56 -0500 received badge  Notable Question (source)
2016-01-14 17:21:40 -0500 commented answer Inertia matrices and double precision ODE

Is this with the default build packages from osrfoundation? I haven't do anything yet to change the precision of ODE. I understand that for previous releases ODE is set to single precision (float), not sure if this is still the case.

2016-01-14 17:15:31 -0500 commented answer Inertia matrices and double precision ODE

I'll check this, there is definitely a difference of order 1e3 or 1e4 between some links. The base link is: <box size="0.102 0.109 0.106"/><mass value="0.97559947"/><inertia ixx="0.00187941032723" ixy="0.0" ixz="0.0" iyy="0.0017593303405" iyz="0.0" izz="0.00181176879104"/>. While a child links is: <box size="0.045 0.022 0.0325"/><mass value="0.024357719"/><inertia ixx="3.12641347358e-06" ixy="0.0" ixz="0.0" iyy="6.25434930399e-06" iyz="0.0" izz="5.0927910438e-06"/>

2016-01-14 16:59:12 -0500 commented answer Inertia matrices and double precision ODE

Original values fit with the collision. But when using gazebo 2.2 I gave up and ended scaling them by 100, which even if it is wrong had acceptable stability/performance. Now, with gazebo 6, I'm trying to get rid of the scaling. MOIs are calculated using basic shapes (box, cylinder, sphere) from here https://en.wikipedia.org/wiki/List_of_moments_of_inertia

2016-01-14 01:08:02 -0500 commented answer Inertia matrices and double precision ODE

Some of those values help a bit, specially when applied to the world, not just to the joint. But I still can't get a stable model. I'm trying to model some Dynamixel servos, but given the size (small moments of inertia) and torque (<limit effort="2.5" velocity="5.6548668"/>), gazebo doesn't like it... The parameter that seems to work the best is reducing max_step_size between 0.0001-0.00001, but still get some jitter in the joints.

2016-01-14 00:57:45 -0500 received badge  Popular Question (source)
2016-01-13 02:28:56 -0500 asked a question Inertia matrices and double precision ODE

Hi All,

I have a problem with the precision of ODE.

The environment that I'm trying to use is:

  • Ubuntu trusty
  • ROS Indigo
  • Gazebo 6

The model of my robot (about 0.4 metre tall) has links as small as this and mass of 0.025kg:

  <geometry>
    <box size="0.045 0.022 0.0325"/> // Units in metre
  </geometry>

And this is the inertial element, with the real values, for the same link:

   <inertial>
    <pose frame=''>0 0 0 0 -0 0</pose>
    <mass>0.0243577</mass>
    <inertia>
      <ixx>3.12641e-06</ixx>
      <ixy>0</ixy>
      <ixz>0</ixz>
      <iyy>6.25435e-06</iyy>
      <iyz>0</iyz>
      <izz>5.09279e-06</izz>
    </inertia>
  </inertial>

So the problem that I have is that the moments of inertia are too small and the model becomes unstable.

I have tried scaling the values for the inertia matrix, but no the geometry, collisions, mass, etc. This had some reasonable behaviour with Gazebo 2.2, but with Gazebo 6 the inertial values are too big and the robot bounces with any slight movement.

I also was thinking in increasing the precision on ODE to double, but I haven't find any tutorial to do this.

I know that converting the measurement units to millimetres consistently across the model and ROS could fix the problem, but I'd prefer some more transparent solution rather than converting units back and forth and managing different units for the physical robot and the simulation.

Do you have any recommendation to deal with this?

EDIT: After applying debz and hsu recommendations, I also realised that my joint controller was using incorrect method to control the joint position. With all the corrections the model works without problems.

Thanks, Germán