#include <lane_task_planner.H>
Public Member Functions | |
| lane_task_planner_t () | |
| void | set_plan (rndf_point_t *end_wp_id_, double x_, double y_) |
| Set the plan for the lane task planner. Teh plan is represented as end waypoint on the lane till which bot need to be driven. | |
| void | set_plan (rndf_point_t *end_wp_id_, double dis_) |
| void | get_plan (rndf_point_t *&end_wp_id_, double &x_, double &y_, double &dis_) |
| void | modify_plan (rndf_point_t *end_wp_id_, double x_, double y_) |
| void | set_active () |
| Set the Lane following task planner (TP) as active TP. | |
| path_status_t | generate_path (world_state_t *ws_, path_t &path_, double &p_len_left_, const path_t &base_path_) |
| Returns tha path on lane to reach m_end_wp. Returns false if path is full so that no following task planners need to be called else returns true. | |
| bool | get_path_lane_lids (unsigned &sid_, std::vector< unsigned > &lids_) |
| Fills in the list of lane of a segment across which TP's path extends on. Returns false if TP has to mention the list in different formate. | |
| bool | get_start_lid (unsigned &sid_, unsigned &lid_) |
| Returns the id of the lane on which the its path starts. | |
| bool | is_task_complete (world_state_t *ws_, double x_, double y_, double heading_) |
| Returns true if task is done, if end_wp is reached. | |
| void | print_plan () |
Protected Member Functions | |
| void | compute_end_xy (rndf_lane_data_t const &lb_, path_t const &path) |
Protected Attributes | |
| const uc_planner_param_t * | m_uc_param |
| rndf_point_t * | m_end_wp_id |
| double | m_end_x |
| double | m_end_y |
| double | m_drive_dis |
| bool | m_drive_by_distance |
| bool | m_recorded_start |
| double | m_start_x |
| double | m_start_y |
| double | m_lane_width |
| lane_task_planner_t::lane_task_planner_t | ( | ) |
| void lane_task_planner_t::compute_end_xy | ( | rndf_lane_data_t const & | lb_, | |
| path_t const & | path | |||
| ) | [protected] |
References m_drive_dis, m_end_x, m_end_y, m_recorded_start, m_start_x, m_start_y, m_uc_param, and cajun::uc_planner_param_t::m_width_multiplier.
Referenced by generate_path().
| path_status_t lane_task_planner_t::generate_path | ( | world_state_t * | ws_, | |
| path_t & | path_, | |||
| double & | p_len_left_, | |||
| const path_t & | base_path_ | |||
| ) | [virtual] |
Returns tha path on lane to reach m_end_wp. Returns false if path is full so that no following task planners need to be called else returns true.
Implements cajun::task_planner_t.
References cajun::add_rndf_lane_to_path(), cajun::append_path(), compute_end_xy(), cajun::path_turn_info_t::distance, cajun::task_planner_t::m_active, cajun::uc_planner_param_t::m_allowed_post_lane_dis, cajun::uc_planner_param_t::m_allowed_pre_lane_dis, cajun::task_planner_t::m_complete, m_drive_by_distance, m_end_wp_id, m_end_x, m_end_y, cajun::task_planner_t::m_mdf, cajun::uc_planner_param_t::m_start_dis_before_start_chute, cajun::task_planner_t::m_status, cajun::task_planner_t::m_turn, m_uc_param, cajun::uc_planner_param_t::m_width_multiplier, message, msg_logger, cajun::PATH_ERROR, and cajun::task_planner_t::update_local_path().
| bool cajun::lane_task_planner_t::get_path_lane_lids | ( | unsigned & | sid_, | |
| std::vector< unsigned > & | lids_ | |||
| ) | [virtual] |
Fills in the list of lane of a segment across which TP's path extends on. Returns false if TP has to mention the list in different formate.
Reimplemented from cajun::task_planner_t.
| void lane_task_planner_t::get_plan | ( | rndf_point_t *& | end_wp_id_, | |
| double & | x_, | |||
| double & | y_, | |||
| double & | dis_ | |||
| ) |
References m_drive_dis, m_end_wp_id, m_end_x, and m_end_y.
Referenced by cajun::state_machine_t::change_lane(), and cajun::task_plan_handler_t::pass_lane().
| bool lane_task_planner_t::get_start_lid | ( | unsigned & | sid_, | |
| unsigned & | lid_ | |||
| ) | [virtual] |
Returns the id of the lane on which the its path starts.
Reimplemented from cajun::task_planner_t.
| bool lane_task_planner_t::is_task_complete | ( | world_state_t * | ws_, | |
| double | x_, | |||
| double | y_, | |||
| double | heading_ | |||
| ) | [virtual] |
Returns true if task is done, if end_wp is reached.
Implements cajun::task_planner_t.
References cajun::uc_planner_param_t::m_allowed_post_lane_dis, cajun::uc_planner_param_t::m_allowed_pre_lane_dis, cajun::task_planner_t::m_complete, m_drive_by_distance, m_end_wp_id, m_lane_width, cajun::task_planner_t::m_path, cajun::task_planner_t::m_planned_path, m_recorded_start, m_uc_param, cajun::uc_planner_param_t::m_width_multiplier, message, msg_logger, and cajun::point_on_path().
| void lane_task_planner_t::modify_plan | ( | rndf_point_t * | end_wp_id_, | |
| double | x_, | |||
| double | y_ | |||
| ) |
References m_drive_by_distance, m_end_wp_id, m_end_x, and m_end_y.
| void lane_task_planner_t::print_plan | ( | ) | [virtual] |
|brief Display the plan of the lane task planner, most used for debugging
Implements cajun::task_planner_t.
References cajun::rndf_point_t::is_rndf_wp(), m_drive_by_distance, m_drive_dis, m_end_wp_id, message, and msg_logger.
| void lane_task_planner_t::set_active | ( | ) | [virtual] |
Set the Lane following task planner (TP) as active TP.
Implements cajun::task_planner_t.
References cajun::task_planner_t::m_active, m_end_wp_id, message, and msg_logger.
| void lane_task_planner_t::set_plan | ( | rndf_point_t * | end_wp_id_, | |
| double | dis_ | |||
| ) |
| void lane_task_planner_t::set_plan | ( | rndf_point_t * | end_wp_id_, | |
| double | x_, | |||
| double | y_ | |||
| ) |
Set the plan for the lane task planner. Teh plan is represented as end waypoint on the lane till which bot need to be driven.
References cajun::task_planner_t::m_active, cajun::task_planner_t::m_complete, m_drive_by_distance, m_drive_dis, m_end_wp_id, m_end_x, m_end_y, m_lane_width, cajun::task_planner_t::m_reset_base_path, and cajun::task_planner_t::m_rndf.
Referenced by cajun::task_plan_handler_t::add_initial_lf(), cajun::task_plan_handler_t::add_lane_tp(), cajun::state_machine_t::change_lane(), and cajun::task_plan_handler_t::insert_LF_TP().
bool cajun::lane_task_planner_t::m_drive_by_distance [protected] |
Referenced by generate_path(), is_task_complete(), lane_task_planner_t(), modify_plan(), print_plan(), and set_plan().
double cajun::lane_task_planner_t::m_drive_dis [protected] |
Referenced by compute_end_xy(), get_plan(), print_plan(), and set_plan().
rndf_point_t* cajun::lane_task_planner_t::m_end_wp_id [protected] |
Referenced by generate_path(), get_plan(), is_task_complete(), modify_plan(), print_plan(), set_active(), and set_plan().
double cajun::lane_task_planner_t::m_end_x [protected] |
Referenced by compute_end_xy(), generate_path(), get_plan(), modify_plan(), and set_plan().
double cajun::lane_task_planner_t::m_end_y [protected] |
Referenced by compute_end_xy(), generate_path(), get_plan(), modify_plan(), and set_plan().
double cajun::lane_task_planner_t::m_lane_width [protected] |
Referenced by is_task_complete(), and set_plan().
bool cajun::lane_task_planner_t::m_recorded_start [protected] |
Referenced by compute_end_xy(), is_task_complete(), and lane_task_planner_t().
double cajun::lane_task_planner_t::m_start_x [protected] |
Referenced by compute_end_xy().
double cajun::lane_task_planner_t::m_start_y [protected] |
Referenced by compute_end_xy().
const uc_planner_param_t* cajun::lane_task_planner_t::m_uc_param [protected] |
Referenced by compute_end_xy(), generate_path(), is_task_complete(), and lane_task_planner_t().
1.6.1