# Revision history [back]

So, after spending some time on this, I figured out how to make it work. To make it work, I started with this tutorial. First, I uninstalled all the previous Gazebo versions and cleaned up all the dependencies, but I did not install the dependencies again, since this installs another sdformat version, and we want to have only our version present.

After that I create a catkin workspace, download catkin, sdformat, bullet (since I also want bullet support) and Gazebo. I take the branch diagnostics_scpeters for Gazebo and island_threads for sdformat. But, I noticed that this version of sdformat is outdated so I do

cd ${WS}/src/sdformat hg merge sdformat4_4.1.0  One other thing that I did, which might not be crucial is manually patching sdformat. If you look at the diff for the island_threads branch, you can see two new fields added (which enable parallel physics), and they seem to be enabled only for version 1.5. I apply the same patch to version 1.6 just to make sure. Then I make the changes to Gazebo mentioned in the question - explicit conversion of strings to boost::filesystem::path in Diagnostics.cc and copying of the helper_physics_generator.hh. Everything is now set up and I am able to build. Since I am using catkin-tools, I use the command from build from source tutorial: cd${WS}
catkin build -vi --cmake-args \
-DBUILD_CORE_ONLY=ON \
-DBUILD_SHARED_LIBS=ON \
-DUSE_DOUBLE_PRECISION=ON


For gazebo_ros_pkgs, I compiled the branch indigo-devel, but I think kinect would also work.

So, after spending some time on this, I figured out how to make it work. To make it work, I started with this tutorial. First, I uninstalled all the previous Gazebo versions and cleaned up all the dependencies, but I did not install the dependencies again, since this installs another sdformat version, and we want to have only our version present.

After that I create a catkin workspace, download catkin, sdformat, bullet (since I also want bullet support) and Gazebo. I take the branch diagnostics_scpeters for Gazebo and island_threads for sdformat. But, I noticed that this version of sdformat is outdated so I do

cd ${WS}/src/sdformat hg merge sdformat4_4.1.0  One other thing that I did, which might not be crucial is manually patching sdformat. If you look at the diff for the island_threads branch, you can see two new fields added (which enable parallel physics), and they seem to be enabled only for version 1.5. I apply the same patch to version 1.6 just to make sure. Then I make the changes to Gazebo mentioned in the question - explicit conversion of strings to boost::filesystem::path in Diagnostics.cc and copying of the helper_physics_generator.hh. Everything is now set up and I am able to build. Since I am using catkin-tools, I use the command from build from source tutorial: cd${WS}
catkin build -vi --cmake-args \
-DBUILD_CORE_ONLY=ON \
-DBUILD_SHARED_LIBS=ON \
-DUSE_DOUBLE_PRECISION=ON


For gazebo_ros_pkgs, I compiled the branch indigo-devel, but I think kinect would also work.

I noticed that I can decrease the step size quite a bit, and the simulation stays stable. I managed to get 8 times improvement with using 6 island threads and position error correction.

So, after spending some time on this, I figured out how to make it work. To make it work, I started with this tutorial. First, I uninstalled all the previous Gazebo versions and cleaned up all the dependencies, but I did not install the dependencies again, since this installs another sdformat version, and we want to have only our version present.

After that I create a catkin workspace, download catkin, sdformat, bullet (since I also want bullet support) and Gazebo. I take the branch diagnostics_scpeters for Gazebo and island_threads for sdformat. But, I noticed that this version of sdformat is outdated so I do

cd ${WS}/src/sdformat hg merge sdformat4_4.1.0  One other thing that I did, which might not be crucial is manually patching sdformat. If you look at the diff for the island_threads branch, you can see two new fields added (which enable parallel physics), and they seem to be enabled only for version 1.5. I apply the same patch to version 1.6 just to make sure. Then I make the changes to Gazebo mentioned in the question - explicit conversion of strings to boost::filesystem::path in Diagnostics.cc and copying of the helper_physics_generator.hh. Everything is now set up and I am able to build. Since I am using catkin-tools, I use the command from build from source tutorial: cd${WS}
catkin build -vi --cmake-args \
-DBUILD_CORE_ONLY=ON \
-DBUILD_SHARED_LIBS=ON \
-DUSE_DOUBLE_PRECISION=ON


For gazebo_ros_pkgs, I compiled the branch indigo-devel, but I think kinect would also work.

I noticed that I can decrease the step size quite a bit, and the simulation stays stable. I managed to get speed up the simulation 8 times improvement with by using 6 island threads and position error correction.