Go to the documentation of this file.
39 #ifndef GRACEFUL_CONTROLLER_ROS_GRACEFUL_CONTROLLER_ROS_HPP
40 #define GRACEFUL_CONTROLLER_ROS_GRACEFUL_CONTROLLER_ROS_HPP
45 #include <nav_msgs/Path.h>
51 #include <std_msgs/Float32.h>
55 #include <dynamic_reconfigure/server.h>
56 #include <graceful_controller_ros/GracefulControllerConfig.h>
101 virtual bool setPlan(
const std::vector<geometry_msgs::PoseStamped>& plan);
109 double rotateTowards(
const geometry_msgs::PoseStamped& pose, geometry_msgs::Twist& cmd_vel);
116 void rotateTowards(
double yaw, geometry_msgs::Twist& cmd_vel);
127 bool simulate(
const geometry_msgs::PoseStamped& target_pose, geometry_msgs::Twist& cmd_vel);
143 dynamic_reconfigure::Server<GracefulControllerConfig>*
dsrv_;
192 std::vector<double>& distances);
196 #endif // GRACEFUL_CONTROLLER_ROS_GRACEFUL_CONTROLLER_ROS_HPP
base_local_planner::LocalPlannerUtil planner_util_
double yaw_vel_goal_tolerance_
bool compute_orientations_
bool prefer_final_rotation_
dynamic_reconfigure::Server< GracefulControllerConfig > * dsrv_
std::shared_ptr< GracefulController > GracefulControllerPtr
double xy_goal_tolerance_
virtual ~GracefulControllerROS()
double yaw_filter_tolerance_
double max_x_to_max_theta_scale_factor_
geometry_msgs::PoseStamped robot_pose_
bool simulate(const geometry_msgs::PoseStamped &target_pose, geometry_msgs::Twist &cmd_vel)
Simulate a path.
ros::Subscriber max_vel_sub_
visualization_msgs::MarkerArray * collision_points_
geometry_msgs::TransformStamped robot_to_costmap_transform_
bool latch_xy_goal_tolerance_
double rotateTowards(const geometry_msgs::PoseStamped &pose, geometry_msgs::Twist &cmd_vel)
Rotate the robot towards a goal.
ros::Publisher local_plan_pub_
void computeDistanceAlongPath(const std::vector< geometry_msgs::PoseStamped > &poses, std::vector< double > &distances)
Compute distance of poses along a path. Assumes poses are in robot-centric frame.
GracefulControllerPtr controller_
void velocityCallback(const std_msgs::Float32::ConstPtr &max_vel_x)
double yaw_goal_tolerance_
virtual bool computeVelocityCommands(geometry_msgs::Twist &cmd_vel)
Given the current position, orientation, and velocity of the robot, compute velocity commands to send...
ros::Publisher target_pose_pub_
void reconfigureCallback(GracefulControllerConfig &config, uint32_t level)
Callback for dynamic reconfigure server.
virtual bool setPlan(const std::vector< geometry_msgs::PoseStamped > &plan)
Set the plan that the local planner is following.
ros::Publisher global_plan_pub_
double yaw_gap_tolerance_
bool use_orientation_filter_
double min_in_place_vel_theta_
double max_vel_theta_limited_
tf2_ros::Buffer * buffer_
base_local_planner::OdometryHelperRos odom_helper_
virtual bool isGoalReached()
Check if the goal pose has been achieved by the local planner.
costmap_2d::Costmap2DROS * costmap_ros_
double initial_rotate_tolerance_
virtual void initialize(std::string name, tf2_ros::Buffer *tf, costmap_2d::Costmap2DROS *costmap_ros)
Constructs the local planner.
double xy_vel_goal_tolerance_
ros::Publisher collision_point_pub_