#include <parking_task_planner.H>
Public Member Functions | |
| parking_task_planner_t () | |
| void | set_plan (rndf_point_t *end_wp_id_) |
| 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 | get_plan (rndf_point_t *&end_wp_id_) |
| void | modify_plan (rndf_point_t *end_wp_id_) |
| 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 | is_task_complete (world_state_t *ws_, double x_, double y_, double heading_) |
| Returns true if task is done, if end_wp is reached. | |
| bool | is_path_tight () |
| void | print_plan () |
Protected Member Functions | |
| void | compute_parking_path (path_t &path_, double start_orient_, double start_x_, double start_y_, double end_orient_, double end_x_, double end_y_) |
| compute the curved path fromt start to end | |
| void | note_pk_start (path_t &path_) |
| Compute teh starting position and orientation from where parking is going to be attempted. | |
Protected Attributes | |
| const uc_planner_param_t * | m_uc_param |
| rndf_point_t * | m_end_rp |
| double | m_parking_spot_length |
| double | m_park_x |
| double | m_park_y |
| double | m_pre_path_orient |
| double | m_start_x |
| double | m_start_y |
| double | m_start_orient |
| double | m_park_orient |
| path_t | m_pk_path |
| bool | m_first_iteration |
| parking_task_planner_t::parking_task_planner_t | ( | ) |
| void parking_task_planner_t::compute_parking_path | ( | path_t & | path_, | |
| double | start_orient_, | |||
| double | start_x_, | |||
| double | start_y_, | |||
| double | end_orient_, | |||
| double | end_x_, | |||
| double | end_y_ | |||
| ) | [protected] |
compute the curved path fromt start to end
References cajun::extend_path(), m_park_orient, cajun::uc_planner_param_t::m_parking_interp_dist, cajun::uc_planner_param_t::m_parking_max_speed, cajun::uc_planner_param_t::m_parking_min_speed, m_parking_spot_length, m_pre_path_orient, and m_uc_param.
Referenced by generate_path().
| path_status_t parking_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::append_path(), compute_parking_path(), cajun::copy_path(), cajun::path_turn_info_t::distance, cajun::task_planner_t::m_active, cajun::task_planner_t::m_complete, m_first_iteration, m_park_orient, m_park_x, m_park_y, cajun::uc_planner_param_t::m_parking_interp_dist, cajun::uc_planner_param_t::m_parking_path_width, m_pk_path, m_start_orient, m_start_x, m_start_y, cajun::task_planner_t::m_status, cajun::task_planner_t::m_turn, m_uc_param, note_pk_start(), cajun::PATH_END, and cajun::task_planner_t::update_local_path().
| bool cajun::parking_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 parking_task_planner_t::get_plan | ( | rndf_point_t *& | end_wp_id_ | ) |
References m_end_rp.
| bool cajun::parking_task_planner_t::is_path_tight | ( | ) | [inline, virtual] |
Reimplemented from cajun::task_planner_t.
| bool parking_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_end_rp, cajun::task_planner_t::m_path, cajun::task_planner_t::m_planned_path, m_uc_param, message, msg_logger, and cajun::point_on_path().
| void parking_task_planner_t::modify_plan | ( | rndf_point_t * | end_wp_id_ | ) |
References m_end_rp, and m_first_iteration.
| void parking_task_planner_t::note_pk_start | ( | path_t & | path_ | ) | [protected] |
Compute teh starting position and orientation from where parking is going to be attempted.
References m_park_orient, m_park_x, m_park_y, m_pre_path_orient, m_start_orient, m_start_x, and m_start_y.
Referenced by generate_path().
| void parking_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 m_end_rp, message, and msg_logger.
| void parking_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_rp, message, and msg_logger.
| void parking_task_planner_t::set_plan | ( | rndf_point_t * | end_wp_id_ | ) |
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_end_rp, m_park_orient, m_park_x, m_park_y, m_parking_spot_length, cajun::task_planner_t::m_reset_base_path, and cajun::task_planner_t::m_rndf.
Referenced by cajun::task_plan_handler_t::add_parking_tp().
rndf_point_t* cajun::parking_task_planner_t::m_end_rp [protected] |
Referenced by get_plan(), is_task_complete(), modify_plan(), print_plan(), set_active(), and set_plan().
bool cajun::parking_task_planner_t::m_first_iteration [protected] |
Referenced by generate_path(), modify_plan(), and parking_task_planner_t().
double cajun::parking_task_planner_t::m_park_orient [protected] |
Referenced by compute_parking_path(), generate_path(), note_pk_start(), and set_plan().
double cajun::parking_task_planner_t::m_park_x [protected] |
Referenced by generate_path(), note_pk_start(), and set_plan().
double cajun::parking_task_planner_t::m_park_y [protected] |
Referenced by generate_path(), note_pk_start(), and set_plan().
double cajun::parking_task_planner_t::m_parking_spot_length [protected] |
Referenced by compute_parking_path(), and set_plan().
path_t cajun::parking_task_planner_t::m_pk_path [protected] |
Referenced by generate_path().
double cajun::parking_task_planner_t::m_pre_path_orient [protected] |
Referenced by compute_parking_path(), and note_pk_start().
double cajun::parking_task_planner_t::m_start_orient [protected] |
Referenced by generate_path(), and note_pk_start().
double cajun::parking_task_planner_t::m_start_x [protected] |
Referenced by generate_path(), and note_pk_start().
double cajun::parking_task_planner_t::m_start_y [protected] |
Referenced by generate_path(), and note_pk_start().
const uc_planner_param_t* cajun::parking_task_planner_t::m_uc_param [protected] |
Referenced by compute_parking_path(), generate_path(), is_task_complete(), and parking_task_planner_t().
1.6.1