26 #ifndef GAZEBO_ROS_FORCE_BASED_MOVE_HH 27 #define GAZEBO_ROS_FORCE_BASED_MOVE_HH 29 #include <boost/bind.hpp> 30 #include <boost/thread.hpp> 33 #include <gazebo/common/common.hh> 34 #include <gazebo/physics/physics.hh> 37 #include <geometry_msgs/Twist.h> 38 #include <nav_msgs/OccupancyGrid.h> 39 #include <nav_msgs/Odometry.h> 53 void Load(physics::ModelPtr parent, sdf::ElementPtr sdf);
98 void cmdVelCallback(
const geometry_msgs::Twist::ConstPtr& cmd_msg);
105 #if (GAZEBO_MAJOR_VERSION >= 8)
virtual void UpdateChild()
boost::shared_ptr< ros::NodeHandle > rosnode_
std::string command_topic_
double force_y_velocity_p_gain_
physics::LinkPtr link_
A pointer to the Link, where force is applied.
ros::Publisher odometry_pub_
std::string link_name_
The Link this plugin is attached to, and will exert forces on.
tf::Transform getTransformForMotion(double linear_vel_x, double angular_vel, double timeSeconds) const
physics::ModelPtr parent_
void publishOdometry(double step_time)
ros::CallbackQueue queue_
std::string robot_namespace_
math::Pose last_odom_pose_
std::string odometry_topic_
tf::Transform odom_transform_
std::string odometry_frame_
std::string robot_base_frame_
void Load(physics::ModelPtr parent, sdf::ElementPtr sdf)
boost::shared_ptr< tf::TransformBroadcaster > transform_broadcaster_
common::Time last_odom_publish_time_
event::ConnectionPtr update_connection_
bool publish_odometry_tf_
~GazeboRosForceBasedMove()
double force_x_velocity_p_gain_
void cmdVelCallback(const geometry_msgs::Twist::ConstPtr &cmd_msg)
boost::thread callback_queue_thread_
double torque_yaw_velocity_p_gain_
GazeboRosForceBasedMove()