Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incompatible with ROS Kinetic #330

Open
yswhynot opened this issue May 25, 2017 · 4 comments
Open

Incompatible with ROS Kinetic #330

yswhynot opened this issue May 25, 2017 · 4 comments

Comments

@yswhynot
Copy link

yswhynot commented May 25, 2017

I've been trying to build from source on Ubuntu 16.04 with ROS Kinetic and I've ran into the following compilation error:

In file included from /opt/ros/kinetic/include/hardware_interface/robot_hw.h:35:0,
                 from /opt/ros/kinetic/include/controller_interface/controller_base.h:37,
                 from /opt/ros/kinetic/include/controller_interface/controller.h:35,
                 from /home/yisha/workspace/gsoc/catkin_ws/src/pr2/pr2_mechanism/pr2_controller_interface/include/pr2_controller_interface/controller.h:48,
                 from /home/yisha/workspace/gsoc/catkin_ws/src/pr2/pr2_mechanism/pr2_controller_manager/test/controllers/test_controller.h:1,
                 from /home/yisha/workspace/gsoc/catkin_ws/src/pr2/pr2_mechanism/pr2_controller_manager/test/controllers/test_controller.cpp:1:
/opt/ros/kinetic/include/hardware_interface/internal/interface_manager.h: In instantiation of ‘T* hardware_interface::InterfaceManager::get() [with T = pr2_mechanism_model::RobotState]’:
/opt/ros/kinetic/include/controller_interface/controller.h:110:30:   required from ‘bool controller_interface::Controller<T>::initRequest(hardware_interface::RobotHW*, ros::NodeHandle&, ros::NodeHandle&, controller_interface::ControllerBase::ClaimedResources&) [with T = pr2_mechanism_model::RobotState; controller_interface::ControllerBase::ClaimedResources = std::vector<hardware_interface::InterfaceResources>]’
/home/yisha/workspace/gsoc/catkin_ws/src/pr2/pr2_mechanism/pr2_controller_manager/test/controllers/test_controller.cpp:131:61:   required from here
/opt/ros/kinetic/include/hardware_interface/internal/interface_manager.h:194:21: error: no matching function for call to ‘pr2_mechanism_model::RobotState::RobotState()’
         iface_combo = new T;
                     ^
In file included from /home/yisha/workspace/gsoc/catkin_ws/src/pr2/pr2_mechanism/pr2_controller_interface/include/pr2_controller_interface/controller.h:46:0,
                 from /home/yisha/workspace/gsoc/catkin_ws/src/pr2/pr2_mechanism/pr2_controller_manager/test/controllers/test_controller.h:1,
                 from /home/yisha/workspace/gsoc/catkin_ws/src/pr2/pr2_mechanism/pr2_controller_manager/test/controllers/test_controller.cpp:1:
/home/yisha/workspace/gsoc/catkin_ws/src/pr2/pr2_mechanism/pr2_mechanism_model/include/pr2_mechanism_model/robot.h:130:3: note: candidate: pr2_mechanism_model::RobotState::RobotState(pr2_mechanism_model::Robot*)
   RobotState(Robot *model);
   ^
/home/yisha/workspace/gsoc/catkin_ws/src/pr2/pr2_mechanism/pr2_mechanism_model/include/pr2_mechanism_model/robot.h:130:3: note:   candidate expects 1 argument, 0 provided
/home/yisha/workspace/gsoc/catkin_ws/src/pr2/pr2_mechanism/pr2_mechanism_model/include/pr2_mechanism_model/robot.h:126:7: note: candidate: pr2_mechanism_model::RobotState::RobotState(const pr2_mechanism_model::RobotState&)
 class RobotState : public hardware_interface::HardwareInterface
       ^
/home/yisha/workspace/gsoc/catkin_ws/src/pr2/pr2_mechanism/pr2_mechanism_model/include/pr2_mechanism_model/robot.h:126:7: note:   candidate expects 1 argument, 0 provided
pr2/pr2_mechanism/pr2_controller_manager/CMakeFiles/controller_test.dir/build.make:62: recipe for target 'pr2/pr2_mechanism/pr2_controller_manager/CMakeFiles/controller_test.dir/test/controllers/test_controller.cpp.o' failed

The interface_manager of Kinetic requires empty constructor but the RobotState does not have one. May I know will it work without problem if I create an empty constructor for RobotState, since I see the input Robot model is public?

@k-okada
Copy link
Contributor

k-okada commented Oct 21, 2017

@TheClearpathDash can you create kinetic-devel branch ? so that we can push our fix https://github.com/k-okada/pr2_mechanism/tree/kinetic-devel

@TheDash
Copy link
Contributor

TheDash commented Oct 21, 2017

@k-okada I no longer am paid to be responsible for the PR2.

@mathias-luedtke
Copy link

@k-okada: please test ros-controls/ros_control#285

@k-okada
Copy link
Contributor

k-okada commented Feb 13, 2018

@ipa-mdl sorry for late, your ros-controls/ros_control#285 works fine for us!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants