ROS Indigo with parallel physics
Hi everyone. I am trying to enable parallel physics (as per http://gazebosim.org/tutorials?tut=pa...) with Gazebo on ROS Indigo. I tried combining the instructions from the previous link with the instructions here, but I cannot make it work.
What makes it tricky is that I have to have proper versions of Gazebo along with the proper sdformat and gazebo_ros_pkgs. I basically follow the tutorial for installing gazebo from source (using catkin-tools), but using the commits for gazebo and sdformat specified in the parallel physics guide. The first error that shows up is:
catkin_ws/src/gazebo/util/Diagnostics.cc:55:50: error: no match for ‘operator/’ (operand types are ‘std::string {aka std::basic_string<char>}’ and ‘const char [7]’)
this->dataPtr->logPath = paths->GetTmpPath() / "gazebo";
Since the logPath is of type boost::filesystem::path, I do explicit conversion of std::strings in Daignostics.cc, e.g.
this->dataPtr->logPath = paths->GetTmpPath() / boost::filesystem::path("gazebo");
The compilation continues and I get another error:
catkin_ws/src/gazebo/test/integration/speed_thread_islands.cc:21:39: fatal error: helper_physics_generator.hh: No such file or directory
#include "helper_physics_generator.hh"
To solve this I simply put a copy of helper_physics_generator into the gazebo/test/integration folder.
cp src/gazebo/gazebo/test/helper_physics_generator.hh src/gazebo/test/integration/
So now it compiles (both gazebo and the sdformat). After that I download gazebo_ros_pkgs and compile it. I tried with both indigo-devel and kinetic-devel, since I am not sure which one to use for my setup, but in both cases I get the following errors when launching a launch file which worked on both Indigo+Gazebo2.2 and Indigo+Gazebo7 (from deb):
Error [Element.hh:336] Unable to find value for key[gravity]
[INFO] [WallTime: 1495147521.301791] [0.000000] Calling service /gazebo/spawn_urdf_model
Error [Element.cc:684] Missing element description for [gravity]
Service call failed: transport error completing service call: unable to receive data from sender, check sender's logs for details
Segmentation fault
Warning [parser.cc:438] Converting a deprecated SDF source[data-string].
Error [Converter.cc:127] Unable to convert from SDF version 1.6 to 1.5
Warning [parser.cc:438] Converting a deprecated SDF source[data-string].
Error [Converter.cc:127] Unable to convert from SDF version 1.6 to 1.5
Warning [parser.cc:438] Converting a deprecated SDF source[data-string].
Error [Converter.cc:127] Unable to convert from SDF version 1.6 to 1.5
Any pointers would be much appreciated, thanks!