Robotics StackExchange | Archived questions

Parallel Physics Gazebo 7.7.0 ROS Kinetic Ubuntu 16

Hi I want to test the parallel physic feature (islands). For that, I followed: parallel-physics

and I installed everything else needed: libgtest-dev, python-empy

SDFormat:

hg merge sdformat4_4.1.0
hg commit
hg sum
    parent: 2729:e7c0bfb62385 tip
    Merge with branch sdformat4_4.1.0
    branch: island_threads
    commit: 1 unknown (clean)
    update: (current)
    phases: 1 draft

I installed libignition2-math with dgb and dev.

I encountered the following problems:

  1. Diagnostics.cc:55:50: error: no match for ‘operator/’ (operand types are ‘std::string {aka std::basic_string<char>}’ and ‘const char [7]’)

so I replaced

this->dataPtr->logPath = paths->GetTmpPath() / "gazebo";

with

this->dataPtr->logPath = paths->GetTmpPath() / boost::filesystem::path("gazebo");

as advised on the forum.

  1. speed_thread_islands.cc:21:39: fatal error: helper_physics_generator.hh: No such file or directory#include "helper_physics_generator.hh"

so I replaced

#include "helper_physics_generator.hh"

with

#include "gazebo/test/helper_physics_generator.hh"

Then it built....

The problem is that now I have a crash on

#0  ignition::math::SignalStats::InsertData (this=this@entry=0x30, _data=1.9623000000000002e-05) at /var/lib/jenkins/workspace/ign-math-debbuilder/build/ignition-math2-2.8.0/src/SignalStats.cc:237
#1  0x00007facceca4839 in gazebo::util::DiagnosticTimer::InsertData (this=this@entry=0x7fac7c005e30, _name="loadPlugins", _time=...) at /home/robil/gazebo_parallel/src/gazebo/gazebo/util/Diagnostics.cc:409
#2  0x00007facceca55be in gazebo::util::DiagnosticTimer::Lap (this=0x7fac7c005e30, _prefix="loadPlugins") at /home/robil/gazebo_parallel/src/gazebo/gazebo/util/Diagnostics.cc:377
#3  0x00007facceca5861 in gazebo::util::DiagnosticManager::Lap (this=<optimized out>, _name="World::Step", _prefix="loadPlugins") at /home/robil/gazebo_parallel/src/gazebo/gazebo/util/Diagnostics.cc:189
#4  0x00007faccd60b05e in gazebo::physics::World::Step (this=this@entry=0xdd00e0) at /

I am using: libignition-math2.so.2 => /usr/lib/x8664-linux-gnu/libignition-math2.so.2 (0x00007f2342f68000) that is linked to: /usr/lib/x8664-linux-gnu/libignition-math2.so.2 -> libignition-math2.so.2.8.0

Obviously I must have some incompatibilities... anyone can help me to sort that problem out?

Thanks

Asked by mhallak on 2017-09-12 10:02:03 UTC

Comments

Answers

Hi, since many threads were talking about parallel physics and we spent some time bringing it back. Right now it has not been merged yet. But if you checkout sdformat from: https://bitbucket.org/rosebudflyaway/sdformat (using branch island_threads) checkout gazebo from: https://bitbucket.org/rosebudflyaway/gazebo/ (using branch diagnostics_scpeters)

The conflicts should be resolved. We will either update the tutorial or merge this changes to osrf repo. Let us know if this works.

Asked by Ying Lu on 2017-09-12 16:14:17 UTC

Comments

Hi @yinglu

With your two repositories:

and following Parallel Processing and on a station where gazebo 8 was installed from source:

it compiles and runs smooth!!!! Thanks a lot.....

But I don't see any improvement of the real time factor....(:+(

Asked by mhallak on 2017-09-13 01:13:32 UTC

Comments

Well, one of the reasons I didn't see improvement with real time factor is not clear: I added the two tags that were defined in sdf/1.5/physics.sdf to the file defined in sdf/1.6/physics.sdf. That removed the warning from the parser that it doesn't know: island_threads and thread_position_correction. I really don't understand why I had to do that since the file dual_pr2.world is defined as:

Asked by mhallak on 2017-09-13 04:38:37 UTC

As for the speed up, it depends on the complexity of your simulation scenario as well, For example, if you have multiple PR2 robots, the speed up factor would be larger than only one PR2 robots. Since the simulation scene with multiple PR2 robots could easily represent multiple thread islands, for one interacted complex robot, this is not that natural. Hope this helps! You can also try mhallak's suggestion by resolving the warning.

Asked by Ying Lu on 2017-09-13 11:30:09 UTC