20 #include <boost/scoped_ptr.hpp>
21 #include <boost/thread/mutex.hpp>
28 #include <cob_base_controller_utils/WheelCommands.h>
29 #include <geometry_msgs/Twist.h>
42 }
else if (value < -limit) {
56 ROS_ERROR(
"Parameter 'steer_joint' not set");
60 ROS_ERROR(
"Parameter 'drive_joint' not set");
70 std::string description_name;
71 bool has_model = nh.
searchParam(
"robot_description", description_name) && model.
initParam(description_name);
73 urdf::Vector3 steer_pos;
74 urdf::JointConstSharedPtr steer_joint;
75 urdf::JointConstSharedPtr drive_joint;
109 nh.
param(
"timeout", timeout, 1.0);
135 boost::mutex::scoped_try_lock lock(
mutex_);
185 boost::scoped_ptr<realtime_tools::RealtimePublisher<cob_base_controller_utils::WheelCommands> >
commands_pub_;
195 boost::mutex::scoped_lock lock(
mutex_);
196 if(isnan(msg->linear.x) || isnan(msg->linear.y) || isnan(msg->angular.z)) {
197 ROS_FATAL(
"Received NaN-value in Twist message. Reset target to zero.");