34 #include <std_msgs/Float64.h> 35 #include <std_srvs/Empty.h> 38 #include <controller_manager/controller_manager.h> 62 ,
ns_(
"ackermann_steering_bot_hw_sim/")
80 std::ostringstream os;
104 if (rear_wheel_jnt_vel_cmd_ != 0.0 || front_steer_jnt_pos_cmd_ != 0.0)
111 std::ostringstream os;
172 os << front_steer_jnt_pos_ <<
", ";
189 bool stopCallback(std_srvs::Empty::Request& , std_srvs::Empty::Response& )
331 const std::string _jnt_name,
double& _jnt_pos,
double& _jnt_vel,
double& _jnt_eff,
double& _jnt_cmd)
335 _jnt_pos, _jnt_vel, _jnt_eff);
337 _jnt_name, _jnt_cmd);
342 const std::string _jnt_name,
double& _jnt_pos,
double& _jnt_vel,
double& _jnt_eff)
350 ROS_INFO_STREAM(
"Registered joint '" << _jnt_name <<
" ' in the JointStateInterface");
356 const std::string _jnt_name,
double& _jnt_cmd)
363 ROS_INFO_STREAM(
"Registered joint '" << _jnt_name <<
" ' in the CommandJointInterface");
void registerInterface(T *iface)
std::vector< double > virtual_rear_wheel_jnt_eff_
double rear_wheel_jnt_eff_
std::vector< double > virtual_front_wheel_jnt_vel_cmd_
hardware_interface::JointStateInterface jnt_state_interface_
std::string rear_wheel_jnt_name_
void registerWheelInterface()
void getSteerJointNames(ros::NodeHandle &_nh)
void registerCommandJointInterfaceHandle(hardware_interface::JointStateInterface &_jnt_state_interface, hardware_interface::JointCommandInterface &_jnt_cmd_interface, const std::string _jnt_name, double &_jnt_cmd)
bool stopCallback(std_srvs::Empty::Request &, std_srvs::Empty::Response &)
std::vector< double > virtual_rear_wheel_jnt_pos_
std::vector< double > virtual_front_steer_jnt_pos_cmd_
ServiceServer advertiseService(ros::NodeHandle n, std::string name, boost::function< bool(const typename ActionSpec::_action_goal_type::_goal_type &, typename ActionSpec::_action_result_type::_result_type &result)> service_cb)
hardware_interface::VelocityJointInterface rear_wheel_jnt_vel_cmd_interface_
std::string front_steer_jnt_name_
std::vector< double > virtual_front_steer_jnt_vel_
void registerSteerInterface()
void registerInterfaceHandles(hardware_interface::JointStateInterface &_jnt_state_interface, hardware_interface::JointCommandInterface &_jnt_cmd_interface, const std::string _jnt_name, double &_jnt_pos, double &_jnt_vel, double &_jnt_eff, double &_jnt_cmd)
hardware_interface::PositionJointInterface front_steer_jnt_pos_cmd_interface_
double rear_wheel_jnt_pos_
double rear_wheel_jnt_vel_cmd_
void registerJointStateInterfaceHandle(hardware_interface::JointStateInterface &_jnt_state_interface, const std::string _jnt_name, double &_jnt_pos, double &_jnt_vel, double &_jnt_eff)
double wheel_separation_w_
ros::Time getTime() const
void registerHardwareInterfaces()
std::vector< double > virtual_front_steer_jnt_pos_
void getJointNames(ros::NodeHandle &_nh)
double front_steer_jnt_vel_
ros::ServiceServer stop_srv_
std::vector< double > virtual_rear_wheel_jnt_vel_cmd_
std::vector< double > virtual_front_steer_jnt_eff_
std::vector< double > virtual_front_wheel_jnt_eff_
std::vector< double > virtual_rear_wheel_jnt_vel_
void registerHandle(const JointStateHandle &handle)
double rear_wheel_jnt_vel_
double front_steer_jnt_pos_
JointStateHandle getHandle(const std::string &name)
TFSIMD_FORCE_INLINE const tfScalar & w() const
void getWheelJointNames(ros::NodeHandle &_nh)
std::vector< std::string > virtual_front_steer_jnt_names_
#define ROS_INFO_STREAM(args)
std::vector< double > virtual_front_wheel_jnt_vel_
ros::Duration getPeriod() const
bool getParam(const std::string &key, std::string &s) const
bool startCallback(std_srvs::Empty::Request &, std_srvs::Empty::Response &)
double front_steer_jnt_pos_cmd_
std::vector< std::string > virtual_front_wheel_jnt_names_
std::vector< double > virtual_front_wheel_jnt_pos_
std::vector< std::string > virtual_rear_wheel_jnt_names_
ros::ServiceServer start_srv_
double wheel_separation_h_
double front_steer_jnt_eff_