Trying to get get Catkin Make to work with fetch Simulation

asked 2020-02-16 02:51:47 -0500

ung12345 gravatar image

I am running Ubuntu 14.04 with ros indigo and trying to get catkin make to build properly with the fetch simulator demo. Initially when trying to get this to work the first issue was that I had to install Opencv3.2 and eigen3. Later I changed the std=++14 to 1y due to the older gnu.

github for fetch robot simulator

I read it may be an issue of my moveit version. However I am sure I have installed move-it-indigo successfully. I have followed the url Move it install direction with the exception of obviously choosing indigo and following the advanced section.

  [ 33%] Built target joystick_teleop
[ 66%] Building CXX object fetch_ros/fetch_ikfast_plugin/CMakeFiles/fetch_arm_moveit_ikfast_plugin.dir/src/fetch_arm_ikfast_moveit_plugin.cpp.o
[100%] Building CXX object fetch_ros/fetch_depth_layer/CMakeFiles/fetch_depth_layer.dir/src/depth_layer.cpp.o
In file included from /home/kevin/fetch_ros_workspace/src/fetch_ros/fetch_depth_layer/src/depth_layer.cpp:32:0:
/home/kevin/fetch_ros_workspace/src/fetch_ros/fetch_depth_layer/include/fetch_depth_layer/depth_layer.h:43:28: fatal error: opencv2/rgbd.hpp: No such file or directory
 #include <opencv2/rgbd.hpp>
                            ^
compilation terminated.
/home/kevin/fetch_ros_workspace/src/fetch_ros/fetch_ikfast_plugin/src/fetch_arm_ikfast_moveit_plugin.cpp:324:8: error: ‘bool fetch_arm::IKFastKinematicsPlugin::initialize(const moveit::core::RobotModel&, const string&, const string&, const std::vector<std::basic_string<char> >&, double)’ marked override, but does not override
   bool initialize(const moveit::core::RobotModel& robot_model, const std::string& group_name,
        ^
/home/kevin/fetch_ros_workspace/src/fetch_ros/fetch_ikfast_plugin/src/fetch_arm_ikfast_moveit_plugin.cpp: In member function ‘bool fetch_arm::IKFastKinematicsPlugin::computeRelativeTransform(const string&, const string&, Eigen::Isometry3d&, bool&)’:
/home/kevin/fetch_ros_workspace/src/fetch_ros/fetch_ikfast_plugin/src/fetch_arm_ikfast_moveit_plugin.cpp:377:36: error: ‘robot_model_’ was not declared in this scope
   robot_state.reset(new RobotState(robot_model_));
                                    ^
/home/kevin/fetch_ros_workspace/src/fetch_ros/fetch_ikfast_plugin/src/fetch_arm_ikfast_moveit_plugin.cpp:388:37: error: ‘const class moveit::core::RobotModel’ has no member named ‘getRigidlyConnectedParentLinkModel’

       if (robot_state->getRobotModel()->getRigidlyConnectedParentLinkModel(from_link) !=
                                         ^
    /home/kevin/fetch_ros_workspace/src/fetch_ros/fetch_ikfast_plugin/src/fetch_arm_ikfast_moveit_plugin.cpp:389:37: error: ‘const class moveit::core::RobotModel’ has no member named ‘getRigidlyConnectedParentLinkModel’
           robot_state->getRobotModel()->getRigidlyConnectedParentLinkModel(to_link))
                                         ^
        /home/kevin/fetch_ros_workspace/src/fetch_ros/fetch_ikfast_plugin/src/fetch_arm_ikfast_moveit_plugin.cpp: In member function ‘bool fetch_arm::IKFastKinematicsPlugin::initialize(const moveit::core::RobotModel&, const string&, const string&, const std::vector<std::basic_string<char> >&, double)’:
        /home/kevin/fetch_ros_workspace/src/fetch_ros/fetch_ikfast_plugin/src/fetch_arm_ikfast_moveit_plugin.cpp:410:85: error: ‘storeValues’ was not declared in this scope
           storeValues(robot_model, group_name, base_frame, tip_frames, search_discretization);
                                                                                             ^
        /home/kevin/fetch_ros_workspace/src/fetch_ros/fetch_ikfast_plugin/src/fetch_arm_ikfast_moveit_plugin.cp

p:436:46: error: ‘robot_model_’ was not declared in this scope
       const moveit::core::JointModelGroup* jmg = robot_model_->getJointModelGroup(group_name);
                                                  ^
    In file included from /usr/include/eigen3/Eigen/Core:254:0,
                     from /usr/include/eigen3/Eigen/Geometry:4,
                     from /opt/ros/indigo/include/moveit/robot_model/joint_model.h:47,
                     from /opt/ros/indigo/include/moveit/robot_model/joint_model_group.h:41,
                     from /opt/ros/indigo/include/moveit/robot_model/robot_model.h:48,
                     from /opt/ros/indigo/include/moveit/robot_state/robot_state.h:41,
                     from /home/kevin/fetch_ros_workspace/src/fetch_ros/fetch_ikfast_plugin/src/fetch_arm_ikfast_moveit_plugin.cpp:46:
    /usr/include/eigen3/Eigen/src/Geometry/Transform.h: In instantiation of ‘Eigen::Transform<Scalar, Dim, Mode, _Options>::Transform(const Eigen::Transform<_Scalar, Dim, OtherMode, OtherOptions>&) [with int OtherMode = 2; int ...
(more)
edit retag flag offensive close merge delete

Comments

1

First: have you noticed the large EOL label for ROS Indigo on the Fetch repository? ROS Indigo, Ubuntu Trusty and the Fetch packages for that version of ROS are all EOL.

If you still want to use this: is there any reason you can't install the binaries instead of building from source?

According to status_page/ros_indigo_default.html?q=fetch, fetch_gazebo and related packages have been released into Indigo, which should allow you to just run sudo apt install ros-indigo-fetch-gazebo (etc) to install them. Similarly with MoveIt.

If you must absolutely build from sources (again: try to avoid that), then make sure to have checked out the indigo-devel branch of fetchrobotics/fetch_ros. The default is melodic-devel, and that will not compile on anything but ROS Melodic.

gvdhoorn gravatar image gvdhoorn  ( 2020-02-16 04:49:35 -0500 )edit