Public Member Functions | Private Member Functions | Private Attributes | List of all members
graceful_controller::GracefulControllerROS Class Reference

#include <graceful_controller_ros.hpp>

Inheritance diagram for graceful_controller::GracefulControllerROS:
Inheritance graph
[legend]

Public Member Functions

virtual bool computeVelocityCommands (geometry_msgs::Twist &cmd_vel)
 Given the current position, orientation, and velocity of the robot, compute velocity commands to send to the base. More...
 
 GracefulControllerROS ()
 
virtual void initialize (std::string name, tf2_ros::Buffer *tf, costmap_2d::Costmap2DROS *costmap_ros)
 Constructs the local planner. More...
 
virtual bool isGoalReached ()
 Check if the goal pose has been achieved by the local planner. More...
 
void reconfigureCallback (GracefulControllerConfig &config, uint32_t level)
 Callback for dynamic reconfigure server. More...
 
double rotateTowards (const geometry_msgs::PoseStamped &pose, geometry_msgs::Twist &cmd_vel)
 Rotate the robot towards a goal. More...
 
void rotateTowards (double yaw, geometry_msgs::Twist &cmd_vel)
 Rotate the robot towards an angle. More...
 
virtual bool setPlan (const std::vector< geometry_msgs::PoseStamped > &plan)
 Set the plan that the local planner is following. More...
 
virtual ~GracefulControllerROS ()
 
- Public Member Functions inherited from nav_core::BaseLocalPlanner
virtual ~BaseLocalPlanner ()
 

Private Member Functions

bool simulate (const geometry_msgs::PoseStamped &target_pose, geometry_msgs::Twist &cmd_vel)
 Simulate a path. More...
 
void velocityCallback (const std_msgs::Float32::ConstPtr &max_vel_x)
 

Private Attributes

double acc_dt_
 
double acc_lim_theta_
 
double acc_lim_x_
 
tf2_ros::Bufferbuffer_
 
ros::Publisher collision_point_pub_
 
visualization_msgs::MarkerArray * collision_points_
 
bool compute_orientations_
 
std::mutex config_mutex_
 
GracefulControllerPtr controller_
 
costmap_2d::Costmap2DROScostmap_ros_
 
double decel_lim_x_
 
dynamic_reconfigure::Server< GracefulControllerConfig > * dsrv_
 
ros::Publisher global_plan_pub_
 
bool goal_tolerance_met_
 
bool has_new_path_
 
double initial_rotate_tolerance_
 
bool initialized_
 
bool latch_xy_goal_tolerance_
 
ros::Publisher local_plan_pub_
 
double max_lookahead_
 
ros::Subscriber max_vel_sub_
 
double max_vel_theta_
 
double max_vel_theta_limited_
 
double max_vel_x_
 
double max_x_to_max_theta_scale_factor_
 
double min_in_place_vel_theta_
 
double min_lookahead_
 
double min_vel_x_
 
base_local_planner::OdometryHelperRos odom_helper_
 
base_local_planner::LocalPlannerUtil planner_util_
 
bool prefer_final_rotation_
 
double resolution_
 
geometry_msgs::PoseStamped robot_pose_
 
geometry_msgs::TransformStamped robot_to_costmap_transform_
 
double scaling_factor_
 
double scaling_step_
 
double scaling_vel_x_
 
ros::Publisher target_pose_pub_
 
bool use_orientation_filter_
 
double xy_goal_tolerance_
 
double xy_vel_goal_tolerance_
 
double yaw_filter_tolerance_
 
double yaw_gap_tolerance_
 
double yaw_goal_tolerance_
 
double yaw_vel_goal_tolerance_
 

Additional Inherited Members

- Protected Member Functions inherited from nav_core::BaseLocalPlanner
 BaseLocalPlanner ()
 

Detailed Description

Definition at line 98 of file graceful_controller_ros.hpp.

Constructor & Destructor Documentation

◆ GracefulControllerROS()

graceful_controller::GracefulControllerROS::GracefulControllerROS ( )

Definition at line 181 of file graceful_controller_ros.cpp.

◆ ~GracefulControllerROS()

graceful_controller::GracefulControllerROS::~GracefulControllerROS ( )
virtual

Definition at line 185 of file graceful_controller_ros.cpp.

Member Function Documentation

◆ computeVelocityCommands()

bool graceful_controller::GracefulControllerROS::computeVelocityCommands ( geometry_msgs::Twist &  cmd_vel)
virtual

Given the current position, orientation, and velocity of the robot, compute velocity commands to send to the base.

Parameters
cmd_velWill be filled with the velocity command to be passed to the robot base
Returns
True if a valid velocity command was found, false otherwise

Implements nav_core::BaseLocalPlanner.

Definition at line 327 of file graceful_controller_ros.cpp.

◆ initialize()

void graceful_controller::GracefulControllerROS::initialize ( std::string  name,
tf2_ros::Buffer tf,
costmap_2d::Costmap2DROS costmap_ros 
)
virtual

Constructs the local planner.

Parameters
nameThe name to give this instance of the local planner
tfA pointer to a transform buffer
costmap_rosThe cost map to use for assigning costs to local plans

Implements nav_core::BaseLocalPlanner.

Definition at line 197 of file graceful_controller_ros.cpp.

◆ isGoalReached()

bool graceful_controller::GracefulControllerROS::isGoalReached ( )
virtual

Check if the goal pose has been achieved by the local planner.

Returns
True if achieved, false otherwise

Implements nav_core::BaseLocalPlanner.

Definition at line 680 of file graceful_controller_ros.cpp.

◆ reconfigureCallback()

void graceful_controller::GracefulControllerROS::reconfigureCallback ( GracefulControllerConfig &  config,
uint32_t  level 
)

Callback for dynamic reconfigure server.

Definition at line 253 of file graceful_controller_ros.cpp.

◆ rotateTowards() [1/2]

double graceful_controller::GracefulControllerROS::rotateTowards ( const geometry_msgs::PoseStamped &  pose,
geometry_msgs::Twist &  cmd_vel 
)

Rotate the robot towards a goal.

Parameters
poseThe pose should always be in base frame!
cmd_velThe returned command velocity
Returns
The computed angular error.

Definition at line 777 of file graceful_controller_ros.cpp.

◆ rotateTowards() [2/2]

void graceful_controller::GracefulControllerROS::rotateTowards ( double  yaw,
geometry_msgs::Twist &  cmd_vel 
)

Rotate the robot towards an angle.

Parameters
yawThe angle to rotate.
cmd_velThe returned command velocity.

Definition at line 801 of file graceful_controller_ros.cpp.

◆ setPlan()

bool graceful_controller::GracefulControllerROS::setPlan ( const std::vector< geometry_msgs::PoseStamped > &  plan)
virtual

Set the plan that the local planner is following.

Parameters
planThe plan to pass to the local planner
Returns
True if the plan was updated successfully, false otherwise

Implements nav_core::BaseLocalPlanner.

Definition at line 731 of file graceful_controller_ros.cpp.

◆ simulate()

bool graceful_controller::GracefulControllerROS::simulate ( const geometry_msgs::PoseStamped &  target_pose,
geometry_msgs::Twist &  cmd_vel 
)
private

Simulate a path.

Parameters
target_posePose to simulate towards.
cmd_velThe returned command to execute.
Returns
True if the path is valid.

Definition at line 539 of file graceful_controller_ros.cpp.

◆ velocityCallback()

void graceful_controller::GracefulControllerROS::velocityCallback ( const std_msgs::Float32::ConstPtr &  max_vel_x)
private

Definition at line 822 of file graceful_controller_ros.cpp.

Member Data Documentation

◆ acc_dt_

double graceful_controller::GracefulControllerROS::acc_dt_
private

Definition at line 235 of file graceful_controller_ros.hpp.

◆ acc_lim_theta_

double graceful_controller::GracefulControllerROS::acc_lim_theta_
private

Definition at line 223 of file graceful_controller_ros.hpp.

◆ acc_lim_x_

double graceful_controller::GracefulControllerROS::acc_lim_x_
private

Definition at line 222 of file graceful_controller_ros.hpp.

◆ buffer_

tf2_ros::Buffer* graceful_controller::GracefulControllerROS::buffer_
private

Definition at line 207 of file graceful_controller_ros.hpp.

◆ collision_point_pub_

ros::Publisher graceful_controller::GracefulControllerROS::collision_point_pub_
private

Definition at line 251 of file graceful_controller_ros.hpp.

◆ collision_points_

visualization_msgs::MarkerArray* graceful_controller::GracefulControllerROS::collision_points_
private

Definition at line 252 of file graceful_controller_ros.hpp.

◆ compute_orientations_

bool graceful_controller::GracefulControllerROS::compute_orientations_
private

Definition at line 239 of file graceful_controller_ros.hpp.

◆ config_mutex_

std::mutex graceful_controller::GracefulControllerROS::config_mutex_
private

Definition at line 214 of file graceful_controller_ros.hpp.

◆ controller_

GracefulControllerPtr graceful_controller::GracefulControllerROS::controller_
private

Definition at line 205 of file graceful_controller_ros.hpp.

◆ costmap_ros_

costmap_2d::Costmap2DROS* graceful_controller::GracefulControllerROS::costmap_ros_
private

Definition at line 208 of file graceful_controller_ros.hpp.

◆ decel_lim_x_

double graceful_controller::GracefulControllerROS::decel_lim_x_
private

Definition at line 224 of file graceful_controller_ros.hpp.

◆ dsrv_

dynamic_reconfigure::Server<GracefulControllerConfig>* graceful_controller::GracefulControllerROS::dsrv_
private

Definition at line 215 of file graceful_controller_ros.hpp.

◆ global_plan_pub_

ros::Publisher graceful_controller::GracefulControllerROS::global_plan_pub_
private

Definition at line 201 of file graceful_controller_ros.hpp.

◆ goal_tolerance_met_

bool graceful_controller::GracefulControllerROS::goal_tolerance_met_
private

Definition at line 244 of file graceful_controller_ros.hpp.

◆ has_new_path_

bool graceful_controller::GracefulControllerROS::has_new_path_
private

Definition at line 248 of file graceful_controller_ros.hpp.

◆ initial_rotate_tolerance_

double graceful_controller::GracefulControllerROS::initial_rotate_tolerance_
private

Definition at line 247 of file graceful_controller_ros.hpp.

◆ initialized_

bool graceful_controller::GracefulControllerROS::initialized_
private

Definition at line 204 of file graceful_controller_ros.hpp.

◆ latch_xy_goal_tolerance_

bool graceful_controller::GracefulControllerROS::latch_xy_goal_tolerance_
private

Definition at line 243 of file graceful_controller_ros.hpp.

◆ local_plan_pub_

ros::Publisher graceful_controller::GracefulControllerROS::local_plan_pub_
private

Definition at line 201 of file graceful_controller_ros.hpp.

◆ max_lookahead_

double graceful_controller::GracefulControllerROS::max_lookahead_
private

Definition at line 233 of file graceful_controller_ros.hpp.

◆ max_vel_sub_

ros::Subscriber graceful_controller::GracefulControllerROS::max_vel_sub_
private

Definition at line 202 of file graceful_controller_ros.hpp.

◆ max_vel_theta_

double graceful_controller::GracefulControllerROS::max_vel_theta_
private

Definition at line 218 of file graceful_controller_ros.hpp.

◆ max_vel_theta_limited_

double graceful_controller::GracefulControllerROS::max_vel_theta_limited_
private

Definition at line 219 of file graceful_controller_ros.hpp.

◆ max_vel_x_

double graceful_controller::GracefulControllerROS::max_vel_x_
private

Definition at line 216 of file graceful_controller_ros.hpp.

◆ max_x_to_max_theta_scale_factor_

double graceful_controller::GracefulControllerROS::max_x_to_max_theta_scale_factor_
private

Definition at line 220 of file graceful_controller_ros.hpp.

◆ min_in_place_vel_theta_

double graceful_controller::GracefulControllerROS::min_in_place_vel_theta_
private

Definition at line 221 of file graceful_controller_ros.hpp.

◆ min_lookahead_

double graceful_controller::GracefulControllerROS::min_lookahead_
private

Definition at line 232 of file graceful_controller_ros.hpp.

◆ min_vel_x_

double graceful_controller::GracefulControllerROS::min_vel_x_
private

Definition at line 217 of file graceful_controller_ros.hpp.

◆ odom_helper_

base_local_planner::OdometryHelperRos graceful_controller::GracefulControllerROS::odom_helper_
private

Definition at line 211 of file graceful_controller_ros.hpp.

◆ planner_util_

base_local_planner::LocalPlannerUtil graceful_controller::GracefulControllerROS::planner_util_
private

Definition at line 210 of file graceful_controller_ros.hpp.

◆ prefer_final_rotation_

bool graceful_controller::GracefulControllerROS::prefer_final_rotation_
private

Definition at line 238 of file graceful_controller_ros.hpp.

◆ resolution_

double graceful_controller::GracefulControllerROS::resolution_
private

Definition at line 234 of file graceful_controller_ros.hpp.

◆ robot_pose_

geometry_msgs::PoseStamped graceful_controller::GracefulControllerROS::robot_pose_
private

Definition at line 254 of file graceful_controller_ros.hpp.

◆ robot_to_costmap_transform_

geometry_msgs::TransformStamped graceful_controller::GracefulControllerROS::robot_to_costmap_transform_
private

Definition at line 209 of file graceful_controller_ros.hpp.

◆ scaling_factor_

double graceful_controller::GracefulControllerROS::scaling_factor_
private

Definition at line 226 of file graceful_controller_ros.hpp.

◆ scaling_step_

double graceful_controller::GracefulControllerROS::scaling_step_
private

Definition at line 227 of file graceful_controller_ros.hpp.

◆ scaling_vel_x_

double graceful_controller::GracefulControllerROS::scaling_vel_x_
private

Definition at line 225 of file graceful_controller_ros.hpp.

◆ target_pose_pub_

ros::Publisher graceful_controller::GracefulControllerROS::target_pose_pub_
private

Definition at line 201 of file graceful_controller_ros.hpp.

◆ use_orientation_filter_

bool graceful_controller::GracefulControllerROS::use_orientation_filter_
private

Definition at line 240 of file graceful_controller_ros.hpp.

◆ xy_goal_tolerance_

double graceful_controller::GracefulControllerROS::xy_goal_tolerance_
private

Definition at line 228 of file graceful_controller_ros.hpp.

◆ xy_vel_goal_tolerance_

double graceful_controller::GracefulControllerROS::xy_vel_goal_tolerance_
private

Definition at line 230 of file graceful_controller_ros.hpp.

◆ yaw_filter_tolerance_

double graceful_controller::GracefulControllerROS::yaw_filter_tolerance_
private

Definition at line 236 of file graceful_controller_ros.hpp.

◆ yaw_gap_tolerance_

double graceful_controller::GracefulControllerROS::yaw_gap_tolerance_
private

Definition at line 237 of file graceful_controller_ros.hpp.

◆ yaw_goal_tolerance_

double graceful_controller::GracefulControllerROS::yaw_goal_tolerance_
private

Definition at line 229 of file graceful_controller_ros.hpp.

◆ yaw_vel_goal_tolerance_

double graceful_controller::GracefulControllerROS::yaw_vel_goal_tolerance_
private

Definition at line 231 of file graceful_controller_ros.hpp.


The documentation for this class was generated from the following files:


graceful_controller_ros
Author(s): Michael Ferguson
autogenerated on Wed Oct 23 2024 02:43:04