7 #ifndef GAZEBO_RSV_BALANCE_GAZEBO_RSV_BALANCE_H 8 #define GAZEBO_RSV_BALANCE_GAZEBO_RSV_BALANCE_H 20 #include <gazebo/common/common.hh> 21 #include <gazebo/physics/physics.hh> 24 #include <std_msgs/Float64.h> 25 #include <sensor_msgs/JointState.h> 26 #include <nav_msgs/Odometry.h> 27 #include <geometry_msgs/Twist.h> 29 #include <std_srvs/Empty.h> 31 #include <rsv_balance_msgs/State.h> 32 #include <rsv_balance_msgs/SetMode.h> 33 #include <rsv_balance_msgs/SetInput.h> 59 PARK = rsv_balance_msgs::SetModeRequest::PARK,
60 TRACTOR = rsv_balance_msgs::SetModeRequest::TRACTOR,
61 BALANCE = rsv_balance_msgs::SetModeRequest::BALANCE
66 void Load(physics::ModelPtr _parent, sdf::ElementPtr _sdf);
101 void cmdVelCallback(
const geometry_msgs::Twist::ConstPtr& cmd_msg);
103 bool setMode(rsv_balance_msgs::SetMode::Request &req);
104 bool setInput(rsv_balance_msgs::SetInput::Request &req);
106 bool resetOdom(std_srvs::Empty::Request &req);
154 #endif // GAZEBO_RSV_BALANCE_GAZEBO_RSV_BALANCE_H
std::string base_frame_id_
double publish_diagnostics_rate_
std::map< std::string, Mode > mode_map_
void Load(physics::ModelPtr _parent, sdf::ElementPtr _sdf)
bool setMode(rsv_balance_msgs::SetMode::Request &req)
Sets platform operating mode.
std::string odom_frame_id_
boost::thread callback_queue_thread_
ros::ServiceServer reset_odom_server_
void updateOdometry()
Updates odometry, from Gazebo world or from encoders.
void resetOdometry()
Resets odometry by adding offset to WORLD odometry, and resetting odometry values.
ros::ServiceServer set_input_server_
ros::Subscriber cmd_tilt_subscriber_
ros::Publisher state_publisher_
ros::ServiceServer reset_override_server_
ros::Subscriber cmd_vel_subscriber_
bool resetOverride(std_srvs::Empty::Request &req)
Just exposes service. Not used in simulation.
void Reset()
Called when Gazebo resets world.
void publishOdometry()
Publishes odometry and desired tfs.
ros::Publisher odometry_publisher_
math::Vector3 odom_offset_rot_
event::ConnectionPtr update_connection_
ros::ServiceServer set_mode_server_
bool setInput(rsv_balance_msgs::SetInput::Request &req)
Just exposes service. Not used in simulation.
ros::CallbackQueue queue_
void publishWheelJointState()
Publishes wheel joint_states.
void resetVariables()
Resets simulation variables.
void cmdTiltCallback(const std_msgs::Float64::ConstPtr &cmd_tilt)
Callback to cmd_tilt.
ros::Publisher joint_state_publisher_
physics::ModelPtr parent_
bool publish_wheel_joint_
math::Vector3 odom_offset_pos_
common::Time last_update_time_
std::string command_topic_
void updateIMU()
Gets pitch angle values directly from Gazebo world.
std::vector< physics::JointPtr > joints_
double publish_state_rate_
balance_control::BalanceControl state_control_
virtual void UpdateChild()
Gazebo step update.
void cmdVelCallback(const geometry_msgs::Twist::ConstPtr &cmd_msg)
Callback to cmd_vel.
bool resetOdom(std_srvs::Empty::Request &req)
Service to reset odometry.
boost::shared_ptr< tf::TransformBroadcaster > transform_broadcaster_
virtual void FiniChild()
Called by gazebo upon exiting.