|
| void | terrainMapCallback (const grid_map_msgs::GridMap::ConstPtr &msg) |
| | Callback function to handle new terrain map data.
|
| |
| void | robotStateCallback (const quad_msgs::RobotState::ConstPtr &msg) |
| | Callback function to handle new robot state data.
|
| |
| void | goalStateCallback (const geometry_msgs::PointStamped::ConstPtr &msg) |
| | Callback function to handle new goal state.
|
| |
|
void | triggerReset () |
| | Trigger a reset event.
|
| |
| int | initPlanner () |
| | Initialize the planner by clearing out old plan data and setting the start state.
|
| |
|
void | clearPlan () |
| | Clear all data in plan member variables.
|
| |
| void | addStateAndGRFToMsg (double t, int plan_index, FullState body_state, GRF grf, int primitive_id, quad_msgs::RobotPlan &body_plan_msg) |
| | Update the body plan with the current plan.
|
| |
|
void | publishPlan () |
| | Publish the current body plan.
|
| |
|
void | waitForData () |
| | Wait until map and state messages have been received and processed.
|
| |
|
void | getInitialPlan () |
| | Call the planner repeatedly until startup_delay has been reached then return.
|
| |
|
void | setStartState () |
| | Set the start state to be used by the next planning call.
|
| |
|
void | setGoalState () |
| | Set the goal state to be used by the next planning call.
|
| |
|
void | publishCurrentPlan () |
| | Publish the current plan if updated.
|
| |
|
|
ros::Subscriber | terrain_map_sub_ |
| | Subscriber for terrain map messages.
|
| |
|
ros::Subscriber | robot_state_sub_ |
| | Subscriber for robot state messages.
|
| |
|
ros::Subscriber | goal_state_sub_ |
| | Subscriber for goal state messages.
|
| |
|
ros::Publisher | body_plan_pub_ |
| | Publisher for body plan messages.
|
| |
|
ros::Publisher | discrete_body_plan_pub_ |
| | Publisher for discrete states in body plan messages.
|
| |
|
ros::Publisher | tree_pub_ |
| | Publisher for the planning tree.
|
| |
|
std::string | terrain_map_topic_ |
| | Topic name for terrain map (needed to ensure data has been received)
|
| |
|
std::string | robot_state_topic_ |
| | Topic name for robot state data (needed to ensure data has been received)
|
| |
|
ros::NodeHandle | nh_ |
| | Nodehandle to pub to and sub from.
|
| |
|
double | update_rate_ |
| | Update rate for sending and receiving data;.
|
| |
|
int | num_calls_ |
| | Number of times to call the planner.
|
| |
|
double | max_planning_time_ |
| | Max time to let the algorithm search.
|
| |
|
std::string | map_frame_ |
| | Handle for the map frame.
|
| |
|
GlobalBodyPlan | newest_plan_ |
| | Plan data for the most recently computed plan (may be suboptimal)
|
| |
|
GlobalBodyPlan | current_plan_ |
| | Plan data for the plan currently being executed.
|
| |
|
FullState | start_state_ |
| | Starting state for planner call.
|
| |
|
FullState | goal_state_ |
| | Goal state for planner.
|
| |
|
FullState | robot_state_ |
| | Current robot state.
|
| |
|
geometry_msgs::PointStamped::ConstPtr | goal_state_msg_ |
| | goal_state_msg_
|
| |
|
double | replan_start_time_ |
| | Starting time for planner call during replans relative to t_plan_[0].
|
| |
|
double | committed_horizon_ |
| | Horizon to commit to (replan from the next state after this horizon)
|
| |
|
double | pos_error_threshold_ |
| | Threshold of state error to trigger replanning.
|
| |
| bool | restart_flag_ |
| |
|
std::vector< State > | state_sequence_ |
| | Sequence of discrete states in the plan.
|
| |
|
std::vector< Action > | action_sequence_ |
| | Sequence of discrete actions in the plan.
|
| |
|
std::vector< double > | cost_vector_ |
| | Vector of cost instances in each planning call.
|
| |
|
std::vector< double > | cost_vector_times_ |
| | Vector of time instances of cost data for each planning call.
|
| |
|
std::vector< double > | solve_time_info_ |
| | Vector of solve times for each planning call.
|
| |
|
std::vector< int > | vertices_generated_info_ |
| | Vector of number of vertices for each planning call.
|
| |
|
PlannerConfig | planner_config_ |
| | Planner config.
|
| |
|
double | reset_publish_delay_ |
| | Delay after plan reset before publishing and refining.
|
| |
|
bool | replanning_allowed_ |
| | Boolean for whether replanning is allowed.
|
| |
|
double | dt_ |
| | Timestep for interpolation.
|
| |
|
int | planner_status_ |
| | ID for status of planner.
|
| |
|
int | start_index_ |
| | Index of active plan from which to begin refinement.
|
| |
|
ros::Time | reset_time_ |
| | Time at which reset began.
|
| |
| bool | publish_after_reset_delay_ |
| |
|
ros::Time | global_plan_timestamp_ |
| | Timestamp for t=0 of global plan.
|
| |
A global body planning class for legged robots.
GlobalBodyPlanner is a container for all of the logic utilized in the global body planning node. This algorithm requires an height map of the terrain as a GridMap message type, and will publish the global body plan as a BodyPlan message over a topic. It will also publish the discrete states used by the planner (from which the full path is interpolated).