If pal_gazebo_plugin contained in /src folder, it can not catkin_make successfully. Here is the display of errors. I use Ubuntu16.04 with kinetic and gazebo 7.14.
But without pal_gazebo_plugin, it can catkin_make successfully and could run gazebo that seems to be normally. Therefore, I wonder to know: 1. what's the function of pal_gaze_plugin? 2. Is it ok that I delete this package in my catkin_ws? Thank you all.
`[ 97%] Built target gazebo_ros_triggered_multicamera
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_underactuated_finger.cpp: In member function ‘virtual void gazebo::GazeboPalHey5::UpdateChild()’:
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_underactuated_finger.cpp:188:30: error: ‘class gazebo::physics::Joint’ has no member named ‘SetAngle’
virtualjoints.at(i)->SetAngle(0u, new_angle);
^
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp: In member function ‘virtual void gazebo::FTPlugin::Load(gazebo::sensors::SensorPtr, sdf::ElementPtr)’:
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp:116:89: error: no matching function for call to ‘dynamic_pointer_cast(gazebo::sensors::SensorPtr&)’
this->footContactSensor = boost::dynamic_pointer_cast (_sensor);
^
In file included from /usr/include/boost/shared_ptr.hpp:17:0,
from /usr/include/boost/date_time/time_clock.hpp:17,
from /usr/include/boost/thread/thread_time.hpp:9,
from /usr/include/boost/thread/lock_types.hpp:18,
from /usr/include/boost/thread/pthread/mutex.hpp:16,
from /usr/include/boost/thread/mutex.hpp:16,
from /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/include/pal_gazebo_plugins/gazebo_ros_forcetorque.h:44,
from /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp:37:
/usr/include/boost/smart_ptr/shared_ptr.hpp:803:42: note: candidate: template<class T, class U> boost::shared_ptr boost::dynamic_pointer_cast(const boost::shared_ptr&)
template<class T, class U> shared_ptr dynamic_pointer_cast( shared_ptr const & r ) BOOST_NOEXCEPT
^
/usr/include/boost/smart_ptr/shared_ptr.hpp:803:42: note: template argument deduction/substitution failed:
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp:116:89: note: ‘gazebo::sensors::SensorPtr {aka std::shared_ptr}’ is not derived from ‘const boost::shared_ptr’
this->footContactSensor = boost::dynamic_pointer_cast (_sensor);
^
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp: In member function ‘void gazebo::FTPlugin::UpdateChild()’:
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp:173:56: warning: ‘double gazebo::sensors::Sensor::GetUpdateRate()’ is deprecated [-Wdeprecated-declarations]
double rate = footContactSensor->GetUpdateRate();
^
In file included from /usr/include/gazebo-7/gazebo/sensors/ContactSensor.hh:26:0,
from /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/include/pal_gazebo_plugins/gazebo_ros_forcetorque.h:67,
from /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp:37:
/usr/include/gazebo-7/gazebo/sensors/Sensor.hh:96:22: note: declared here
public: double GetUpdateRate() GAZEBO_DEPRECATED(7.0);
^
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp:180:57: warning: ‘gazebo::msgs::Contacts gazebo::sensors::ContactSensor::GetContacts() const’ is deprecated [-Wdeprecated-declarations]
contacts = this->footContactSensor->GetContacts();
^
In file included from /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/include/pal_gazebo_plugins/gazebo_ros_forcetorque.h:67:0,
from /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp:37:
/usr/include/gazebo-7/gazebo/sensors/ContactSensor.hh:126:30: note: declared here
public: msgs::Contacts GetContacts() const GAZEBO_DEPRECATED(7.0);
^
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_harness.cpp: In member function ‘virtual void gazebo::GazeboHarness::Load(gazebo::physics::ModelPtr, sdf::ElementPtr)’:
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazeboharness.cpp:74:56: error: ‘class sdf::Element’ has no member named ‘GetValueString’
this->pinLink = this->robotptr->GetLink(_sdf->GetValueString("pin_link"));
^
In file included from /opt/ros/kinetic/include/ros/ros.h:40:0,
from /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/include/pal_gazebo_plugins/gazebo_harness.h:53,
from /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_harness.cpp:46:
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_harness.cpp:75:56: error: ‘class sdf::Element’ has no member named ‘GetValueString’
ROS_ERROR_STREAM("Got pin_link value: " << _sdf->GetValueString("pin_link"));
^
/opt/ros/kinetic/include/ros/console.h:356:64: note: in definition of macro ‘ROSCONSOLE_PRINT_STREAM_AT_LOCATION_WITH_FILTER’
rosconsole_print_stream_at_location_with_filterss__ << args; \
^
/opt/ros/kinetic/include/ros/console.h:398:7: note: in expansion of macro ‘ROSCONSOLE_PRINT_STREAM_AT_LOCATION’
ROSCONSOLE_PRINT_STREAM_AT_LOCATION(args); \
^
/opt/ros/kinetic/include/ros/console.h:568:43: note: in expansion of macro ‘ROS_LOG_STREAM_COND’
If pal_gazebo_plugin contained in /src folder, it can not catkin_make successfully. Here is the display of errors. I use Ubuntu16.04 with kinetic and gazebo 7.14. But without pal_gazebo_plugin, it can catkin_make successfully and could run gazebo that seems to be normally. Therefore, I wonder to know: 1. what's the function of pal_gaze_plugin? 2. Is it ok that I delete this package in my catkin_ws? Thank you all.
`[ 97%] Built target gazebo_ros_triggered_multicamera /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_underactuated_finger.cpp: In member function ‘virtual void gazebo::GazeboPalHey5::UpdateChild()’: /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_underactuated_finger.cpp:188:30: error: ‘class gazebo::physics::Joint’ has no member named ‘SetAngle’ virtualjoints.at(i)->SetAngle(0u, new_angle); ^ /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp: In member function ‘virtual void gazebo::FTPlugin::Load(gazebo::sensors::SensorPtr, sdf::ElementPtr)’: /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp:116:89: error: no matching function for call to ‘dynamic_pointer_cast(gazebo::sensors::SensorPtr&)’ this->footContactSensor = boost::dynamic_pointer_cast (_sensor);
^
In file included from /usr/include/boost/shared_ptr.hpp:17:0,
from /usr/include/boost/date_time/time_clock.hpp:17,
from /usr/include/boost/thread/thread_time.hpp:9,
from /usr/include/boost/thread/lock_types.hpp:18,
from /usr/include/boost/thread/pthread/mutex.hpp:16,
from /usr/include/boost/thread/mutex.hpp:16,
from /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/include/pal_gazebo_plugins/gazebo_ros_forcetorque.h:44,
from /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp:37:
/usr/include/boost/smart_ptr/shared_ptr.hpp:803:42: note: candidate: template<class T, class U> boost::shared_ptr boost::dynamic_pointer_cast(const boost::shared_ptr&)
template<class T, class U> shared_ptr dynamic_pointer_cast( shared_ptr const & r ) BOOST_NOEXCEPT
^
/usr/include/boost/smart_ptr/shared_ptr.hpp:803:42: note: template argument deduction/substitution failed:
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp:116:89: note: ‘gazebo::sensors::SensorPtr {aka std::shared_ptr}’ is not derived from ‘const boost::shared_ptr’
this->footContactSensor = boost::dynamic_pointer_cast (_sensor);
^
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp: In member function ‘void gazebo::FTPlugin::UpdateChild()’:
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp:173:56: warning: ‘double gazebo::sensors::Sensor::GetUpdateRate()’ is deprecated [-Wdeprecated-declarations]
double rate = footContactSensor->GetUpdateRate();
^
In file included from /usr/include/gazebo-7/gazebo/sensors/ContactSensor.hh:26:0,
from /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/include/pal_gazebo_plugins/gazebo_ros_forcetorque.h:67,
from /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp:37:
/usr/include/gazebo-7/gazebo/sensors/Sensor.hh:96:22: note: declared here
public: double GetUpdateRate() GAZEBO_DEPRECATED(7.0);
^
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp:180:57: warning: ‘gazebo::msgs::Contacts gazebo::sensors::ContactSensor::GetContacts() const’ is deprecated [-Wdeprecated-declarations]
contacts = this->footContactSensor->GetContacts();
^
In file included from /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/include/pal_gazebo_plugins/gazebo_ros_forcetorque.h:67:0,
from /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_ros_forcetorque.cpp:37:
/usr/include/gazebo-7/gazebo/sensors/ContactSensor.hh:126:30: note: declared here
public: msgs::Contacts GetContacts() const GAZEBO_DEPRECATED(7.0);
^
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_harness.cpp: In member function ‘virtual void gazebo::GazeboHarness::Load(gazebo::physics::ModelPtr, sdf::ElementPtr)’:
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazeboharness.cpp:74:56: error: ‘class sdf::Element’ has no member named ‘GetValueString’
this->pinLink = this->robotptr->GetLink(_sdf->GetValueString("pin_link"));
^
In file included from /opt/ros/kinetic/include/ros/ros.h:40:0,
from /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/include/pal_gazebo_plugins/gazebo_harness.h:53,
from /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_harness.cpp:46:
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_harness.cpp:75:56: error: ‘class sdf::Element’ has no member named ‘GetValueString’
ROS_ERROR_STREAM("Got pin_link value: " << _sdf->GetValueString("pin_link"));
^
/opt/ros/kinetic/include/ros/console.h:356:64: note: in definition of macro ‘ROSCONSOLE_PRINT_STREAM_AT_LOCATION_WITH_FILTER’
rosconsole_print_stream_at_location_with_filterss__ << args; \
^
/opt/ros/kinetic/include/ros/console.h:398:7: note: in expansion of macro ‘ROSCONSOLE_PRINT_STREAM_AT_LOCATION’
ROSCONSOLE_PRINT_STREAM_AT_LOCATION(args); \
^
/opt/ros/kinetic/include/ros/console.h:568:43: note: in expansion of macro ‘ROS_LOG_STREAM_COND’
define ROS_LOG_STREAM(level, name, args) ROS_LOG_STREAM_COND(true, level, name, args)
/opt/ros/kinetic/include/rosconsole/macros_generated.h:215:32: note: in expansion of macro ‘ROS_LOG_STREAM’
define ROS_ERROR_STREAM(args) ROS_LOG_STREAM(::ros::console::levels::Error, ROSCONSOLE_DEFAULT_NAME, args)
/home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_harness.cpp:75:7: note: in expansion of macro ‘ROS_ERROR_STREAM’ ROS_ERROR_STREAM("Got pin_link value: " << _sdf->GetValueString("pin_link")); ^ /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_pal_hand.cpp: In member function ‘virtual void gazebo::GazeboPalHand::UpdateChild()’: /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_pal_hand.cpp:159:18: error: ‘class gazebo::physics::Joint’ has no member named ‘SetAngle’ joints[1]->SetAngle(0u, index_1_angle); ^ /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_pal_hand.cpp:162:18: error: ‘class gazebo::physics::Joint’ has no member named ‘SetAngle’ joints[2]->SetAngle(0u, index_2_angle); ^ /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_pal_hand.cpp:165:18: error: ‘class gazebo::physics::Joint’ has no member named ‘SetAngle’ joints[3]->SetAngle(0u, index_3_angle); ^ /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_pal_hand.cpp:169:18: error: ‘class gazebo::physics::Joint’ has no member named ‘SetAngle’ joints[1]->SetAngle(0u, lower_limit); ^ /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_pal_hand.cpp:170:18: error: ‘class gazebo::physics::Joint’ has no member named ‘SetAngle’ joints[2]->SetAngle(0u, lower_limit); ^ /home/iotlab/catkin_ws2/src/pal_gazebo_plugins/src/gazebo_pal_hand.cpp:171:18: error: ‘class gazebo::physics::Joint’ has no member named ‘SetAngle’ joints[3]->SetAngle(0u, lower_limit); ^ pal_gazebo_plugins/CMakeFiles/gazebo_underactuated_finger.dir/build.make:62: recipe for target 'pal_gazebo_plugins/CMakeFiles/gazebo_underactuated_finger.dir/src/gazebo_underactuated_finger.cpp.o' failed make[2]: [pal_gazebo_plugins/CMakeFiles/gazebo_underactuated_finger.dir/src/gazebo_underactuated_finger.cpp.o] Error 1 CMakeFiles/Makefile2:32404: recipe for target 'pal_gazebo_plugins/CMakeFiles/gazebo_underactuated_finger.dir/all' failed make[1]: [pal_gazebo_plugins/CMakeFiles/gazebo_underactuated_finger.dir/all] Error 2 make[1]: Waiting for unfinished jobs.... pal_gazebo_plugins/CMakeFiles/gazebo_ros_forcetorque.dir/build.make:62: recipe for target 'pal_gazebo_plugins/CMakeFiles/gazebo_ros_forcetorque.dir/src/gazebo_ros_forcetorque.cpp.o' failed make[2]: [pal_gazebo_plugins/CMakeFiles/gazebo_ros_forcetorque.dir/src/gazebo_ros_forcetorque.cpp.o] Error 1 CMakeFiles/Makefile2:32366: recipe for target 'pal_gazebo_plugins/CMakeFiles/gazebo_ros_forcetorque.dir/all' failed make[1]: [pal_gazebo_plugins/CMakeFiles/gazebo_ros_forcetorque.dir/all] Error 2 pal_gazebo_plugins/CMakeFiles/gazebo_pal_hand.dir/build.make:62: recipe for target 'pal_gazebo_plugins/CMakeFiles/gazebo_pal_hand.dir/src/gazebo_pal_hand.cpp.o' failed make[2]: [pal_gazebo_plugins/CMakeFiles/gazebo_pal_hand.dir/src/gazebo_pal_hand.cpp.o] Error 1 CMakeFiles/Makefile2:32290: recipe for target 'pal_gazebo_plugins/CMakeFiles/gazebo_pal_hand.dir/all' failed make[1]: [pal_gazebo_plugins/CMakeFiles/gazebo_pal_hand.dir/all] Error 2 pal_gazebo_plugins/CMakeFiles/gazebo_harness.dir/build.make:62: recipe for target 'pal_gazebo_plugins/CMakeFiles/gazebo_harness.dir/src/gazebo_harness.cpp.o' failed make[2]: [pal_gazebo_plugins/CMakeFiles/gazebo_harness.dir/src/gazebo_harness.cpp.o] Error 1 CMakeFiles/Makefile2:32328: recipe for target 'pal_gazebo_plugins/CMakeFiles/gazebo_harness.dir/all' failed make[1]: [pal_gazebo_plugins/CMakeFiles/gazebo_harness.dir/all] Error 2 [ 97%] Linking CXX shared library /home/iotlab/catkin_ws2/devel/lib/libgazebo_wifi_ap.so [ 97%] Built target gazebo_wifi_ap [ 97%] Linking CXX shared library /home/iotlab/catkin_ws2/devel/lib/libgazebo_world_odometry.so [ 97%] Built target gazebo_world_odometry Makefile:138: recipe for target 'all' failed make: [all] Error 2 Invoking "make -j8 -l8" failed