ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A answers.ros.org

Build Difficulties with ARIAC Simulator Package

kinetic

#1

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

#2

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


#3

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?


#4

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.