#include <MotionPlanStage.h>
Public Member Functions | |
MotionPlanStage (const std::vector< ActorId > &vehicle_id_list, SimulationState &simulation_state, const Parameters ¶meters, const BufferMap &buffer_map, TrackTraffic &track_traffic, const std::vector< float > &urban_longitudinal_parameters, const std::vector< float > &highway_longitudinal_parameters, const std::vector< float > &urban_lateral_parameters, const std::vector< float > &highway_lateral_parameters, const LocalizationFrame &localization_frame, const CollisionFrame &collision_frame, const TLFrame &tl_frame, const cc::World &world, ControlFrame &output_array, RandomGenerator &random_device, const LocalMapPtr &local_map) | |
void | RemoveActor (const ActorId actor_id) |
void | Reset () |
void | Update (const unsigned long index) |
Private Member Functions | |
std::pair< bool, float > | CollisionHandling (const CollisionHazardData &collision_hazard, const bool tl_hazard, const cg::Vector3D ego_velocity, const cg::Vector3D ego_heading, const float max_target_velocity) |
float | GetLandmarkTargetVelocity (const SimpleWaypoint &waypoint, const cg::Location vehicle_location, const ActorId actor_id, float max_target_velocity) |
float | GetThreePointCircleRadius (cg::Location first_location, cg::Location middle_location, cg::Location last_location) |
float | GetTurnTargetVelocity (const Buffer &waypoint_buffer, float max_target_velocity) |
bool | SafeAfterJunction (const LocalizationData &localization, const bool tl_hazard, const bool collision_emergency_stop) |
Private Member Functions inherited from carla::traffic_manager::Stage | |
Stage () | |
Stage (const Stage &) | |
virtual | ~Stage () |
Private Attributes | |
const BufferMap & | buffer_map |
const CollisionFrame & | collision_frame |
cc::Timestamp | current_timestamp |
const std::vector< float > | highway_lateral_parameters |
const std::vector< float > | highway_longitudinal_parameters |
const LocalMapPtr & | local_map |
const LocalizationFrame & | localization_frame |
ControlFrame & | output_array |
const Parameters & | parameters |
std::unordered_map< ActorId, StateEntry > | pid_state_map |
RandomGenerator & | random_device |
SimulationState & | simulation_state |
std::unordered_map< ActorId, cc::Timestamp > | teleportation_instance |
const TLFrame & | tl_frame |
TrackTraffic & | track_traffic |
const std::vector< float > | urban_lateral_parameters |
const std::vector< float > | urban_longitudinal_parameters |
const std::vector< ActorId > & | vehicle_id_list |
const cc::World & | world |
Definition at line 22 of file MotionPlanStage.h.
carla::traffic_manager::MotionPlanStage::MotionPlanStage | ( | const std::vector< ActorId > & | vehicle_id_list, |
SimulationState & | simulation_state, | ||
const Parameters & | parameters, | ||
const BufferMap & | buffer_map, | ||
TrackTraffic & | track_traffic, | ||
const std::vector< float > & | urban_longitudinal_parameters, | ||
const std::vector< float > & | highway_longitudinal_parameters, | ||
const std::vector< float > & | urban_lateral_parameters, | ||
const std::vector< float > & | highway_lateral_parameters, | ||
const LocalizationFrame & | localization_frame, | ||
const CollisionFrame & | collision_frame, | ||
const TLFrame & | tl_frame, | ||
const cc::World & | world, | ||
ControlFrame & | output_array, | ||
RandomGenerator & | random_device, | ||
const LocalMapPtr & | local_map | ||
) |
Definition at line 29 of file MotionPlanStage.cpp.
|
private |
Definition at line 308 of file MotionPlanStage.cpp.
References carla::traffic_manager::CollisionHazardData::available_distance_margin, carla::traffic_manager::constants::MotionPlan::CRITICAL_BRAKING_MARGIN, carla::geom::Math::Dot(), carla::traffic_manager::constants::MotionPlan::EPSILON_RELATIVE_SPEED, carla::traffic_manager::constants::MotionPlan::FOLLOW_LEAD_FACTOR, carla::traffic_manager::SimulationState::GetVelocity(), carla::traffic_manager::CollisionHazardData::hazard, carla::traffic_manager::CollisionHazardData::hazard_actor_id, carla::geom::Vector3D::Length(), min(), carla::traffic_manager::constants::MotionPlan::MIN_FOLLOW_LEAD_DISTANCE, carla::traffic_manager::constants::MotionPlan::PERC_MAX_SLOWDOWN, carla::traffic_manager::constants::MotionPlan::RELATIVE_APPROACH_SPEED, and simulation_state.
Referenced by Update().
|
private |
Definition at line 361 of file MotionPlanStage.cpp.
References carla::traffic_manager::Parameters::GetVehicleTargetVelocity(), carla::traffic_manager::SimpleWaypoint::GetWaypoint(), carla::traffic_manager::constants::MotionPlan::LANDMARK_DETECTION_TIME, min(), parameters, carla::traffic_manager::constants::MotionPlan::STOP_TARGET_VELOCITY, carla::traffic_manager::constants::MotionPlan::TL_TARGET_VELOCITY, and carla::traffic_manager::constants::MotionPlan::YIELD_TARGET_VELOCITY.
Referenced by Update().
|
private |
Definition at line 424 of file MotionPlanStage.cpp.
References carla::geom::Vector3D::x, and carla::geom::Vector3D::y.
Referenced by GetTurnTargetVelocity().
|
private |
Definition at line 404 of file MotionPlanStage.cpp.
References carla::traffic_manager::constants::MotionPlan::FRICTION, GetThreePointCircleRadius(), and carla::traffic_manager::constants::MotionPlan::GRAVITY.
Referenced by Update().
|
virtual |
Implements carla::traffic_manager::Stage.
Definition at line 468 of file MotionPlanStage.cpp.
References pid_state_map, and teleportation_instance.
Referenced by carla::traffic_manager::ALSM::RemoveActor().
|
virtual |
Implements carla::traffic_manager::Stage.
Definition at line 473 of file MotionPlanStage.cpp.
References pid_state_map, and teleportation_instance.
Referenced by carla::traffic_manager::TrafficManagerLocal::Stop().
|
private |
Definition at line 270 of file MotionPlanStage.cpp.
References carla::traffic_manager::constants::SpeedThreshold::AFTER_JUNCTION_MIN_SPEED, carla::geom::Math::DistanceSquared(), carla::traffic_manager::SimulationState::GetLocation(), carla::traffic_manager::TrackTraffic::GetPassingVehicles(), carla::traffic_manager::SimulationState::GetVelocity(), carla::traffic_manager::LocalizationData::is_at_junction_entrance, carla::traffic_manager::LocalizationData::junction_end_point, carla::traffic_manager::constants::MotionPlan::MAX_JUNCTION_BLOCK_DISTANCE, carla::traffic_manager::constants::WaypointSelection::MIN_SAFE_INTERVAL_LENGTH, carla::traffic_manager::LocalizationData::safe_point, simulation_state, SQUARE, carla::geom::Vector3D::SquaredLength(), and track_traffic.
Referenced by Update().
|
virtual |
Implements carla::traffic_manager::Stage.
Definition at line 63 of file MotionPlanStage.cpp.
References carla::traffic_manager::TrackTraffic::AddTakenGrid(), carla::traffic_manager::constants::MotionPlan::ATTEMPTS_TO_TELEPORT, carla::rpc::VehicleControl::brake, buffer_map, collision_frame, CollisionHandling(), current_timestamp, carla::traffic_manager::DeviationCrossProduct(), carla::traffic_manager::DeviationDotProduct(), carla::geom::Location::Distance(), carla::client::Timestamp::elapsed_seconds, carla::road::EPSILON, carla::geom::Transform::GetForwardVector(), carla::traffic_manager::SimulationState::GetHeading(), carla::traffic_manager::TrackTraffic::GetHeroLocation(), GetLandmarkTargetVelocity(), carla::traffic_manager::Parameters::GetLaneOffset(), carla::traffic_manager::SimulationState::GetLocation(), carla::traffic_manager::Parameters::GetLowerBoundaryRespawnDormantVehicles(), carla::traffic_manager::Parameters::GetRespawnDormantVehicles(), carla::traffic_manager::SimulationState::GetRotation(), carla::client::World::GetSnapshot(), carla::traffic_manager::SimulationState::GetSpeedLimit(), carla::traffic_manager::Parameters::GetSynchronousMode(), carla::traffic_manager::GetTargetWaypoint(), carla::client::WorldSnapshot::GetTimestamp(), GetTurnTargetVelocity(), carla::traffic_manager::Parameters::GetUpperBoundaryRespawnDormantVehicles(), carla::traffic_manager::Parameters::GetVehicleTargetVelocity(), carla::traffic_manager::SimulationState::GetVelocity(), highway_lateral_parameters, highway_longitudinal_parameters, carla::traffic_manager::constants::SpeedThreshold::HIGHWAY_SPEED, carla::traffic_manager::constants::HybridMode::HYBRID_MODE_DT, carla::traffic_manager::constants::HybridMode::HYBRID_MODE_DT_FL, carla::traffic_manager::SimulationState::IsDormant(), carla::traffic_manager::TrackTraffic::IsGeoGridFree(), carla::traffic_manager::SimulationState::IsPhysicsEnabled(), carla::geom::Vector3D::Length(), local_map, localization_frame, carla::geom::Transform::location, carla::geom::Vector3D::MakeSafeUnitVector(), min(), carla::traffic_manager::constants::WaypointSelection::MIN_TARGET_WAYPOINT_DISTANCE, carla::traffic_manager::RandomGenerator::next(), output_array, parameters, carla::traffic_manager::constants::MotionPlan::PI, pid_state_map, random_device, carla::geom::Transform::rotation, carla::traffic_manager::PID::RunStep(), SafeAfterJunction(), simulation_state, carla::rpc::VehicleControl::steer, carla::traffic_manager::StateEntry::steer, carla::traffic_manager::constants::WaypointSelection::TARGET_WAYPOINT_TIME_HORIZON, teleportation_instance, carla::rpc::VehicleControl::throttle, tl_frame, track_traffic, carla::traffic_manager::SimulationState::UpdateKinematicHybridEndLocation(), carla::traffic_manager::SimulationState::UpdateKinematicState(), urban_lateral_parameters, urban_longitudinal_parameters, vehicle_id_list, world, and carla::geom::Vector3D::z.
Referenced by carla::traffic_manager::TrafficManagerLocal::Run().
|
private |
Definition at line 27 of file MotionPlanStage.h.
Referenced by Update().
|
private |
Definition at line 35 of file MotionPlanStage.h.
Referenced by Update().
|
private |
Definition at line 44 of file MotionPlanStage.h.
Referenced by Update().
|
private |
Definition at line 33 of file MotionPlanStage.h.
Referenced by Update().
|
private |
Definition at line 31 of file MotionPlanStage.h.
Referenced by Update().
|
private |
Definition at line 46 of file MotionPlanStage.h.
Referenced by Update().
|
private |
Definition at line 34 of file MotionPlanStage.h.
Referenced by Update().
|
private |
Definition at line 43 of file MotionPlanStage.h.
Referenced by Update().
|
private |
Definition at line 26 of file MotionPlanStage.h.
Referenced by GetLandmarkTargetVelocity(), and Update().
|
private |
Definition at line 39 of file MotionPlanStage.h.
Referenced by RemoveActor(), Reset(), and Update().
|
private |
Definition at line 45 of file MotionPlanStage.h.
Referenced by Update().
|
private |
Definition at line 25 of file MotionPlanStage.h.
Referenced by CollisionHandling(), SafeAfterJunction(), and Update().
|
private |
Definition at line 42 of file MotionPlanStage.h.
Referenced by RemoveActor(), Reset(), and Update().
|
private |
Definition at line 36 of file MotionPlanStage.h.
Referenced by Update().
|
private |
Definition at line 28 of file MotionPlanStage.h.
Referenced by SafeAfterJunction(), and Update().
|
private |
Definition at line 32 of file MotionPlanStage.h.
Referenced by Update().
|
private |
Definition at line 30 of file MotionPlanStage.h.
Referenced by Update().
|
private |
Definition at line 24 of file MotionPlanStage.h.
Referenced by Update().
|
private |
Definition at line 37 of file MotionPlanStage.h.
Referenced by Update().