cajun::traffic_verifier_t Class Reference

#include <traffic_verifier.H>

List of all members.

Public Member Functions

 traffic_verifier_t (world_state_t *ws_, rndf_t const *rndf_)
bool path_free_of_traffic (std::deque< task_planner_t * > &plan_, unsigned &stop_tp_ind_, unsigned &stop_path_ind_)
 Returns false if path needs to be handled due to some moving traffic.

Private Member Functions

bool intersection_free_of_traffic (intersection_task_planner_t *int_tp_, unsigned &stop_path_ind_, double start_tstamp_)
 Returns true if intersection path is safe to drive and else return false and path index where to stop.
bool change_lane_free_of_traffic (change_lane_task_planner_t *cl_tp, unsigned &stop_path_ind_, double start_tstamp_)
 Returns true if CL path is safe to drive and else return false and path index where to stop.
bool uturn_free_of_traffic (uturn_task_planner_t *ut_tp_, double start_tstamp_)
 returns true if uturn's new lane is free of traffic for some distance
bool passing_lane_free_of_traffic (passing_lane_task_planner_t *pl_tp, unsigned &stop_path_ind_, double start_tstamp_)
bool approach_traffic (rndf_t::waypoint_id_t const &exit_wp_id_, rndf_t::waypoint_id_t const &entry_wp_id_, double till_time_)
 returns TRUE if there is traffic through any traffic points for the exit entry path, else return FALSE
bool approaching_traffic_through_radar (rndf_t::waypoint_id_t const &ref_exit_id, rndf_t::waypoint_id_t const &entry_id, double till_time_)
bool check_radar (std::vector< radar_info_t > const &radar_qid_, double till_time_)
bool traffic_crossing (double x_, double y_, unsigned sid_, unsigned lid_, unsigned wid_, double till_time_)
 returns TRUE if there is any traffic reaching point xy before till_time_
void traffic_approach_point (std::vector< blocked_lane_data_t > &traff_approaching, double x_, double y_, unsigned sid_, unsigned lid_, unsigned wid_)
 Returns true if there is a moving vehicle approaching this point on given lane segment for till_time_.
bool tp_path_free_of_traffic (task_planner_t *tp_, unsigned tp_i, unsigned &stop_tp_ind_, unsigned &stop_path_ind_, double start_tstamp_)
int radar_to_check (rndf_t::waypoint_id_t const &ref_exit_id, rndf_t::waypoint_id_t const &entry_id)

Private Attributes

world_state_t * m_ws
rndf_t const * m_rndf
const uc_planner_param_tm_uc_param

Constructor & Destructor Documentation

traffic_verifier_t::traffic_verifier_t ( world_state_t *  ws_,
rndf_t const *  rndf_ 
)

Member Function Documentation

bool traffic_verifier_t::approach_traffic ( rndf_t::waypoint_id_t const &  exit_wp_id_,
rndf_t::waypoint_id_t const &  entry_wp_id_,
double  till_time_ 
) [private]
bool traffic_verifier_t::approaching_traffic_through_radar ( rndf_t::waypoint_id_t const &  ref_exit_id,
rndf_t::waypoint_id_t const &  entry_id,
double  till_time_ 
) [private]
bool traffic_verifier_t::change_lane_free_of_traffic ( change_lane_task_planner_t cl_tp,
unsigned &  stop_path_ind_,
double  start_tstamp_ 
) [private]
bool cajun::traffic_verifier_t::check_radar ( std::vector< radar_info_t > const &  radar_qid_,
double  till_time_ 
) [private]
bool traffic_verifier_t::intersection_free_of_traffic ( intersection_task_planner_t int_tp_,
unsigned &  stop_path_ind_,
double  start_tstamp_ 
) [private]
bool traffic_verifier_t::passing_lane_free_of_traffic ( passing_lane_task_planner_t pl_tp,
unsigned &  stop_path_ind_,
double  start_tstamp_ 
) [private]
bool traffic_verifier_t::path_free_of_traffic ( std::deque< task_planner_t * > &  plan_,
unsigned &  stop_tp_ind_,
unsigned &  stop_path_ind_ 
)
int cajun::traffic_verifier_t::radar_to_check ( rndf_t::waypoint_id_t const &  ref_exit_id,
rndf_t::waypoint_id_t const &  entry_id 
) [private]
bool traffic_verifier_t::tp_path_free_of_traffic ( task_planner_t tp_,
unsigned  tp_i,
unsigned &  stop_tp_ind_,
unsigned &  stop_path_ind_,
double  start_tstamp_ 
) [private]
void traffic_verifier_t::traffic_approach_point ( std::vector< blocked_lane_data_t > &  traff_approaching,
double  x_,
double  y_,
unsigned  sid_,
unsigned  lid_,
unsigned  wid_ 
) [private]

Returns true if there is a moving vehicle approaching this point on given lane segment for till_time_.

References cajun::comes_before(), cajun::uc_planner_param_t::m_blocked_lane_timeout, m_uc_param, cajun::uc_planner_param_t::m_width_multiplier, and m_ws.

Referenced by traffic_crossing().

bool traffic_verifier_t::traffic_crossing ( double  x_,
double  y_,
unsigned  sid_,
unsigned  lid_,
unsigned  wid_,
double  till_time_ 
) [private]

returns TRUE if there is any traffic reaching point xy before till_time_

References m_ws, and traffic_approach_point().

Referenced by approach_traffic(), change_lane_free_of_traffic(), passing_lane_free_of_traffic(), and uturn_free_of_traffic().

bool traffic_verifier_t::uturn_free_of_traffic ( uturn_task_planner_t ut_tp_,
double  start_tstamp_ 
) [private]

Member Data Documentation

rndf_t const* cajun::traffic_verifier_t::m_rndf [private]
world_state_t* cajun::traffic_verifier_t::m_ws [private]

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