cajun::task_planner_t Class Reference

#include <task_planner.H>

Inheritance diagram for cajun::task_planner_t:
cajun::change_lane_task_planner_t cajun::intersection_task_planner_t cajun::lane_task_planner_t cajun::parking_task_planner_t cajun::passing_lane_task_planner_t cajun::unparking_task_planner_t cajun::uturn_task_planner_t cajun::zone_task_planner_t

List of all members.

Classes

struct  path_lane_map_t

Public Member Functions

virtual ~task_planner_t ()
virtual void set_active ()=0
 Informs the TP that it is now active.
virtual path_status_t generate_path (world_state_t *ws_, path_t &path_, double &p_len_left_, const path_t &base_path_)=0
 Generate TP's share of path. Returns 'false' if TP following present TP should not be called else returns 'true'.
const path_tget_path ()
 Return paths last planned.
path_direction_t path_direction ()
 Returns true if TP's path is in forward direction.
path_status_t path_status ()
 Returns TP's path status, e.g error, complete, etc.
virtual void set_path_blocked (unsigned p_id_)
 Returns true if TP's path is in forward direction.
void limit_path_speed (unsigned p_id_, double speed_)
 Informs the TP that its path speed at index p_id_ should be speed_.
void limit_following_path_speed (unsigned p_id_, double speed_)
bool is_active ()
 Returns true if TP is active, else return false.
virtual 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.
virtual bool get_path_map_to_lane_lids (std::vector< path_lane_map_t > &pl_ids_)
virtual bool get_start_lid (unsigned &sid_, unsigned &lid_)
 Returns the id of the lane on which the its path starts.
path_turn_info_t get_path_turn_info ()
 Returns turn info that TP will attempt.
virtual bool is_task_complete (world_state_t *ws_, double x_, double y_, double heading_)=0
 Returns true if TP completed its task.
virtual void print_plan ()=0
 Displays the planned path, used only for debugging.
void init (mdf_t const *mdf_, rndf_t const *rndf_)
 Initialize the TP by providing it the mission info (mdf_) and city lane info.
bool reset_base_path ()
 Resets the base path used by TP.
TP_type_t type ()
virtual bool is_path_tight ()
virtual bool is_quick_acceleration_path ()
void print_path_map ()

Public Attributes

std::vector< path_lane_map_tm_path_lane_map

Protected Member Functions

void update_local_path (const path_t &path_, const path_t &b_path_)

Protected Attributes

mdf_t const * m_mdf
rndf_t const * m_rndf
path_t m_path
bool m_planned_path
path_status_t m_status
TP_type_t m_type
bool m_active
bool m_complete
bool m_reset_base_path
path_direction_t m_path_dir
path_turn_info_t m_turn

Constructor & Destructor Documentation

virtual cajun::task_planner_t::~task_planner_t (  )  [inline, virtual]

Member Function Documentation

virtual path_status_t cajun::task_planner_t::generate_path ( world_state_t *  ws_,
path_t path_,
double &  p_len_left_,
const path_t base_path_ 
) [pure virtual]
const path_t* cajun::task_planner_t::get_path (  )  [inline]
virtual bool cajun::task_planner_t::get_path_lane_lids ( unsigned &  sid_,
std::vector< unsigned > &  lids_ 
) [inline, 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 in cajun::change_lane_task_planner_t, cajun::intersection_task_planner_t, cajun::lane_task_planner_t, cajun::parking_task_planner_t, cajun::passing_lane_task_planner_t, cajun::unparking_task_planner_t, cajun::uturn_task_planner_t, and cajun::zone_task_planner_t.

Referenced by cajun::state_machine_t::tp_blocked().

virtual bool cajun::task_planner_t::get_path_map_to_lane_lids ( std::vector< path_lane_map_t > &  pl_ids_  )  [inline, virtual]
path_turn_info_t cajun::task_planner_t::get_path_turn_info (  )  [inline]

Returns turn info that TP will attempt.

References m_turn.

virtual bool cajun::task_planner_t::get_start_lid ( unsigned &  sid_,
unsigned &  lid_ 
) [inline, virtual]

Returns the id of the lane on which the its path starts.

Reimplemented in cajun::change_lane_task_planner_t, cajun::lane_task_planner_t, and cajun::passing_lane_task_planner_t.

void task_planner_t::init ( mdf_t const *  mdf_,
rndf_t const *  rndf_ 
)
bool cajun::task_planner_t::is_active (  )  [inline]

Returns true if TP is active, else return false.

References m_active.

Referenced by cajun::traffic_verifier_t::intersection_free_of_traffic().

virtual bool cajun::task_planner_t::is_path_tight (  )  [inline, virtual]
virtual bool cajun::task_planner_t::is_quick_acceleration_path (  )  [inline, virtual]
virtual bool cajun::task_planner_t::is_task_complete ( world_state_t *  ws_,
double  x_,
double  y_,
double  heading_ 
) [pure virtual]
void task_planner_t::limit_following_path_speed ( unsigned  p_id_,
double  speed_ 
)

References limit_path_speed(), and m_path.

void task_planner_t::limit_path_speed ( unsigned  p_id_,
double  speed_ 
)

Informs the TP that its path speed at index p_id_ should be speed_.

References m_path.

Referenced by limit_following_path_speed().

path_direction_t cajun::task_planner_t::path_direction (  )  [inline]

Returns true if TP's path is in forward direction.

References m_path_dir.

path_status_t cajun::task_planner_t::path_status (  )  [inline]

Returns TP's path status, e.g error, complete, etc.

References m_status.

Referenced by cajun::last_tp_planned().

void task_planner_t::print_path_map (  ) 

References m_path_lane_map.

virtual void cajun::task_planner_t::print_plan (  )  [pure virtual]
bool cajun::task_planner_t::reset_base_path (  )  [inline]

Resets the base path used by TP.

References m_reset_base_path.

virtual void cajun::task_planner_t::set_active (  )  [pure virtual]
void task_planner_t::set_path_blocked ( unsigned  p_id_  )  [virtual]

Returns true if TP's path is in forward direction.

Informs the TP that its path is blocked at index p_id_

Reimplemented in cajun::intersection_task_planner_t, and cajun::passing_lane_task_planner_t.

References m_path, m_status, and cajun::PATH_BLOCKED.

TP_type_t cajun::task_planner_t::type (  )  [inline]
void task_planner_t::update_local_path ( const path_t path_,
const path_t b_path_ 
) [protected]

Member Data Documentation

mdf_t const* cajun::task_planner_t::m_mdf [protected]
rndf_t const* cajun::task_planner_t::m_rndf [protected]

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

Generated on Fri Apr 9 10:45:15 2010 for UCPlanner by  doxygen 1.6.1