Build Difficulties with ARIAC Simulator Package

Hello! The wiki doesn’t appear to be publicly accessible, so I thought I’d ask if anyone has any tips for building or installing the ARIAC sim on Kinetic + Ubuntu 16.04.

The installation instructions suggest either installing binaries or building from source, but not seeing any reference to where those binaries are I opted to build from source. I cloned the bitbucket repo into my catkin ws and ran catkin_make. Initially I ran into an issue with a protobuf version mismatch between my protoc and the Gazebo apt package, but I was able to fix that by recompiling the Gazebo protobuf files. Now I’m getting:

[ 73%] Building CXX object ariac/gear_example/CMakeFiles/gear_example_node.dir/src/gear_example_node.cpp.o
In file included from /usr/include/gazebo-7/gazebo/physics/Link.hh:42:0,
                 from /home/rstory/Repositories/catkin_ws/src/ariac/osrf_gear/src/PopulationPlugin.cc:28:
/usr/include/gazebo-7/gazebo/physics/Entity.hh:277:31: error: ‘ConstPosePtr’ has not been declared
       private: void OnPoseMsg(ConstPosePtr &_msg);
                               ^
In file included from /usr/include/gazebo-7/gazebo/physics/Collision.hh:33:0,
                 from /home/rstory/Repositories/catkin_ws/src/ariac/osrf_gear/src/VacuumGripperPlugin.cc:29:
/usr/include/gazebo-7/gazebo/physics/Entity.hh:277:31: error: ‘ConstPosePtr’ has not been declared
       private: void OnPoseMsg(ConstPosePtr &_msg);
                               ^
In file included from /usr/include/gazebo-7/gazebo/physics/Model.hh:34:0,
                 from /usr/include/gazebo-7/gazebo/physics/Actor.hh:24,
                 from /usr/include/gazebo-7/gazebo/physics/physics.hh:2,
                 from /home/rstory/Repositories/catkin_ws/src/ariac/osrf_gear/src/ProximityRayPlugin.cc:21:
/usr/include/gazebo-7/gazebo/physics/Entity.hh:277:31: error: ‘ConstPosePtr’ has not been declared
       private: void OnPoseMsg(ConstPosePtr &_msg);

Etc, etc, for several hundred lines. It looks like a missing include, but I can’t divine what it’s looking for or where it should be.

Any help with either building ARIAC or installing the binaries would be very much appreciated.

Edit: It occurs to me now that I look at this that my recompiling the protoc files seems a likely culprit. Tensorflow demands a specific protobuf version - so specific it’s a commit on the 3.0 branch and not even a tagged release. I assume I’ll need to build Gazebo from source if I can’t get the binaries.

Thanks,

  • Ross

Yes, it was the protobuf mismatch. Installing protobuf 2.6 over 3.0 fixed the compilation issues.

Happy to hear that you fixed it! Can you post the exact fix (i.e., how you installed protobuf 2.6) for the benefit of others who get into the same situation?

Absolutely. The apt package on ubuntu for protobuf is 2.6, so it’s very straightforward to install. After that ARIAC built from source with no issues. I just need to keep tensorflow and Gazebo separate from one another.