State to confirm that a obstacle is blocking the lane. More...
#include <simple_states.H>
Public Member Functions | |
| confirm_obstacle_t (double tstamp_) | |
| state_machine_id_t | new_state (state_machine_t *sm_) |
| Returns the new state that state machine should be in. Returns present state_id if no transition is possible. | |
| bool | update (state_machine_t *sm_) |
| Updates the state's action, like PL state can modify the tp list to add passing lane. | |
Private Member Functions | |
| bool | did_bot_stopped_long_enough () |
| If bot stopped after reaching this state for ateast given amount of time. | |
Private Attributes | |
| double | m_bot_stopped_in_this_state_since |
State to confirm that a obstacle is blocking the lane.
| cajun::confirm_obstacle_t::confirm_obstacle_t | ( | double | tstamp_ | ) | [inline] |
| bool confirm_obstacle_t::did_bot_stopped_long_enough | ( | ) | [private] |
If bot stopped after reaching this state for ateast given amount of time.
References m_bot_stopped_in_this_state_since, and cajun::uc_planner_param_t::m_confirm_blk_min_time.
Referenced by new_state().
| state_machine_id_t confirm_obstacle_t::new_state | ( | state_machine_t * | sm_ | ) | [virtual] |
Returns the new state that state machine should be in. Returns present state_id if no transition is possible.
Implements cajun::base_state_machine_t.
References cajun::state_machine_t::active_TP_blocked(), did_bot_stopped_long_enough(), cajun::state_machine_t::drove_to_blk_safety_distance(), cajun::LANE_BLOCKED, cajun::state_machine_t::lane_blocked(), cajun::base_state_machine_t::m_state_id, and cajun::state_machine_t::tp_blocked_is_LF().
| bool confirm_obstacle_t::update | ( | state_machine_t * | sm_ | ) | [virtual] |
Updates the state's action, like PL state can modify the tp list to add passing lane.
Reimplemented from cajun::base_state_machine_t.
References cajun::state_machine_t::is_bot_stopped(), and m_bot_stopped_in_this_state_since.
double cajun::confirm_obstacle_t::m_bot_stopped_in_this_state_since [private] |
Referenced by confirm_obstacle_t(), did_bot_stopped_long_enough(), and update().
1.6.1