class implementing the actual RSS checks based on CARLA world description 更多...
#include <RssCheck.h>
类 | |
struct | CarlaRssState |
struct collecting the rss states required 更多... | |
class | RssObjectChecker |
Public 类型 | |
using | ActorConstellationCallbackFunctionType |
Public 成员函数 | |
void | AppendRoutingTarget (const ::carla::geom::Transform &routing_target) |
appends a routing target to the current routing target list ( | |
bool | CheckObjects (carla::client::Timestamp const ×tamp, carla::SharedPtr< carla::client::ActorList > const &actors, carla::SharedPtr< carla::client::Actor > const &carla_ego_actor, ::ad::rss::state::ProperResponse &output_response, ::ad::rss::state::RssStateSnapshot &output_rss_state_snapshot, ::ad::rss::situation::SituationSnapshot &output_situation_snapshot, ::ad::rss::world::WorldModel &output_world_model, EgoDynamicsOnRoute &output_rss_ego_dynamics_on_route) |
main function to trigger the RSS check at a certain point in time | |
void | DropRoute () |
drop the current route | |
const ::ad::rss::world::RssDynamics & | GetDefaultActorConstellationCallbackEgoVehicleDynamics () const |
const ::ad::rss::world::RssDynamics & | GetDefaultActorConstellationCallbackOtherVehicleDynamics () const |
const ::ad::rss::world::RssDynamics & | GetDefaultActorConstellationCallbackPedestrianDynamics () const |
std::shared_ptr< spdlog::logger > | GetLogger () |
get the logger of this | |
const ::carla::rss::RoadBoundariesMode & | GetRoadBoundariesMode () const |
const std::vector<::carla::geom::Transform > | GetRoutingTargets () const |
void | ResetRoutingTargets () |
resets the current routing targets ( | |
RssCheck (float max_steering_angle) | |
default constructor with default internal default actor constellation callback | |
RssCheck (float max_steering_angle, ActorConstellationCallbackFunctionType rss_actor_constellation_callback, carla::SharedPtr< carla::client::Actor > const &carla_ego_actor) | |
constructor with actor constellation callback | |
void | SetDefaultActorConstellationCallbackEgoVehicleDynamics (const ::ad::rss::world::RssDynamics &ego_vehicle_dynamics) |
sets the vehicle dynamics to be used for the ego vehicle | |
void | SetDefaultActorConstellationCallbackOtherVehicleDynamics (const ::ad::rss::world::RssDynamics &other_vehicle_dynamics) |
sets the vehicle dynamics to be used for other vehicles | |
void | SetDefaultActorConstellationCallbackPedestrianDynamics (const ::ad::rss::world::RssDynamics &pedestrian_dynamics) |
sets the dynamics to be used for pedestrians | |
void | SetLogLevel (const spdlog::level::level_enum &log_level) |
sets the current log level | |
void | SetMapLogLevel (const spdlog::level::level_enum &map_log_level) |
sets the current log level | |
void | SetRoadBoundariesMode (const ::carla::rss::RoadBoundariesMode &road_boundaries_mode) |
sets the current mode for respecting the road boundaries ( | |
~RssCheck () | |
destructor | |
静态 Public 成员函数 | |
::ad::rss::world::RssDynamics | GetDefaultPedestrianDynamics () |
static RoadBoundariesMode | GetDefaultRoadBoundariesMode () |
::ad::rss::world::RssDynamics | GetDefaultVehicleDynamics () |
Private 成员函数 | |
void | AnalyseCheckResults (CarlaRssState &carla_rss_state) const |
Analyse the RSS check results | |
EgoDynamicsOnRoute | CalculateEgoDynamicsOnRoute (carla::client::Timestamp const ¤t_timestamp, double const &time_since_epoch_check_start_ms, carla::client::Vehicle const &carla_vehicle, ::ad::map::match::Object match_object, ::ad::map::route::FullRoute const &route, ::ad::rss::world::RssDynamics const &default_ego_vehicle_dynamics, EgoDynamicsOnRoute const &last_dynamics) const |
calculate ego vehicle dynamics on the route | |
void | CreateWorldModel (carla::client::Timestamp const ×tamp, carla::client::ActorList const &actors, carla::client::Vehicle const &carla_ego_vehicle, CarlaRssState &carla_rss_state) const |
Create the RSS world model | |
::ad::map::landmark::LandmarkIdSet | GetGreenTrafficLightsOnRoute (std::vector< SharedPtr< carla::client::TrafficLight > > const &traffic_lights, ::ad::map::route::FullRoute const &route) const |
collect the green traffic lights on the current route | |
::ad::physics::AngularVelocity | GetHeadingChange (carla::client::Actor const &actor) const |
calculate the heading change from the actor | |
::ad::map::match::Object | GetMatchObject (carla::SharedPtr< carla::client::Actor > const &actor, ::ad::physics::Distance const &sampling_distance) const |
calculate the map matched object from the actor | |
::ad::physics::Speed | GetSpeed (carla::client::Actor const &actor) const |
calculate the speed from the actor | |
::ad::physics::Angle | GetSteeringAngle (carla::client::Vehicle const &actor) const |
calculate the steering angle from the actor | |
bool | PerformCheck (CarlaRssState &carla_rss_state) const |
Perform the actual RSS check | |
void | UpdateDefaultRssDynamics (CarlaRssState &carla_rss_state) |
void | UpdateRoute (CarlaRssState &carla_rss_state) |
update the desired ego vehicle route | |
Private 属性 | |
ActorConstellationCallbackFunctionType | _actor_constellation_callback |
the current actor constellation callback | |
CarlaRssState | _carla_rss_state |
the current state of the ego vehicle | |
::ad::rss::world::RssDynamics | _default_actor_constellation_callback_ego_vehicle_dynamics |
current used vehicle dynamics for ego vehicle by the default actor constellation callback | |
::ad::rss::world::RssDynamics | _default_actor_constellation_callback_other_vehicle_dynamics |
current used vehicle dynamics for other vehicle by the default actor constellation callback | |
::ad::rss::world::RssDynamics | _default_actor_constellation_callback_pedestrian_dynamics |
current used vehicle dynamics for pedestrians by the default actor constellation callback | |
std::shared_ptr< spdlog::logger > | _logger |
standard logger | |
float | _maximum_steering_angle |
maximum steering angle | |
::carla::rss::RoadBoundariesMode | _road_boundaries_mode |
current used road boundaries mode | |
std::vector<::ad::map::point::ENUPoint > | _routing_targets |
current used routing targets | |
std::vector<::ad::map::point::ENUPoint > | _routing_targets_to_append |
routing targets to be appended next run | |
std::shared_ptr< spdlog::logger > | _timing_logger |
logger for timing log messages | |
友元 | |
class | RssObjectChecker |
class implementing the actual RSS checks based on CARLA world description
在文件 RssCheck.h 第 132 行定义.
在文件 RssCheck.h 第 134 行定义.
carla::rss::RssCheck::RssCheck | ( | float | max_steering_angle | ) |
default constructor with default internal default actor constellation callback
在文件 RssCheck.cpp 第 127 行定义.
引用了 _actor_constellation_callback, _carla_rss_state, _default_actor_constellation_callback_ego_vehicle_dynamics, _default_actor_constellation_callback_other_vehicle_dynamics, _default_actor_constellation_callback_pedestrian_dynamics, _logger, _timing_logger, carla::rss::ActorConstellationResult::actor_dynamics, carla::rss::ActorConstellationResult::actor_object_type, carla::rss::RssCheck::CarlaRssState::default_ego_vehicle_dynamics, carla::rss::ActorConstellationResult::ego_vehicle_dynamics, GetDefaultPedestrianDynamics(), GetDefaultVehicleDynamics(), carla::rss::getLogger(), GetSpeed(), carla::rss::getTimingLogger(), carla::rss::ActorConstellationResult::restrict_speed_limit_mode, carla::rss::ActorConstellationResult::rss_calculation_mode, SetLogLevel() , 以及 SetMapLogLevel().
carla::rss::RssCheck::RssCheck | ( | float | max_steering_angle, |
ActorConstellationCallbackFunctionType | rss_actor_constellation_callback, | ||
carla::SharedPtr< carla::client::Actor > const & | carla_ego_actor ) |
constructor with actor constellation callback
在文件 RssCheck.cpp 第 201 行定义.
引用了 _carla_rss_state, _logger, _timing_logger, carla::rss::RssCheck::CarlaRssState::ego_match_object, carla::rss::getLogger(), GetMatchObject(), carla::rss::getTimingLogger(), SetLogLevel(), SetMapLogLevel() , 以及 UpdateDefaultRssDynamics().
carla::rss::RssCheck::~RssCheck | ( | ) |
destructor
在文件 RssCheck.cpp 第 220 行定义.
|
private |
Analyse the RSS check results
在文件 RssCheck.cpp 第 945 行定义.
引用了 _logger, carla::rss::EgoDynamicsOnRoute::crossing_border, carla::rss::RssCheck::CarlaRssState::dangerous_opposite_state, carla::rss::RssCheck::CarlaRssState::dangerous_state, carla::rss::RssCheck::CarlaRssState::dangerous_vehicle, carla::rss::RssCheck::CarlaRssState::default_ego_vehicle_dynamics, carla::rss::RssCheck::CarlaRssState::ego_dynamics_on_route, carla::rss::RssCheck::CarlaRssState::proper_response, carla::rss::RssCheck::CarlaRssState::rss_state_snapshot , 以及 carla::rss::RssCheck::CarlaRssState::situation_snapshot.
被这些函数引用 CheckObjects().
void carla::rss::RssCheck::AppendRoutingTarget | ( | const ::carla::geom::Transform & | routing_target | ) |
appends a routing target to the current routing target list (
在文件 RssCheck.cpp 第 267 行定义.
引用了 _routing_targets_to_append, carla::geom::Transform::location, carla::geom::Vector3D::x , 以及 carla::geom::Vector3D::y.
|
private |
calculate ego vehicle dynamics on the route
在文件 RssCheck.cpp 第 599 行定义.
引用了 _logger, carla::rss::EgoDynamicsOnRoute::avg_route_accel_lat, carla::rss::EgoDynamicsOnRoute::avg_route_accel_lon, carla::rss::EgoDynamicsOnRoute::crossing_border, carla::rss::EgoDynamicsOnRoute::ego_center, carla::rss::EgoDynamicsOnRoute::ego_center_within_route, carla::rss::EgoDynamicsOnRoute::ego_heading, carla::rss::EgoDynamicsOnRoute::ego_heading_change, carla::rss::EgoDynamicsOnRoute::ego_speed, carla::rss::EgoDynamicsOnRoute::ego_steering_angle, carla::client::Timestamp::elapsed_seconds, GetHeadingChange(), GetSpeed(), GetSteeringAngle(), carla::rss::EgoDynamicsOnRoute::heading_diff, carla::rss::EgoDynamicsOnRoute::min_stopping_distance, carla::rss::EgoDynamicsOnRoute::route_accel_lat, carla::rss::EgoDynamicsOnRoute::route_accel_lon, carla::rss::EgoDynamicsOnRoute::route_heading, carla::rss::EgoDynamicsOnRoute::route_nominal_center, carla::rss::EgoDynamicsOnRoute::route_speed_lat, carla::rss::EgoDynamicsOnRoute::route_speed_lon, carla::rss::EgoDynamicsOnRoute::time_since_epoch_check_start_ms , 以及 carla::rss::EgoDynamicsOnRoute::timestamp.
被这些函数引用 CheckObjects().
bool carla::rss::RssCheck::CheckObjects | ( | carla::client::Timestamp const & | timestamp, |
carla::SharedPtr< carla::client::ActorList > const & | actors, | ||
carla::SharedPtr< carla::client::Actor > const & | carla_ego_actor, | ||
::ad::rss::state::ProperResponse & | output_response, | ||
::ad::rss::state::RssStateSnapshot & | output_rss_state_snapshot, | ||
::ad::rss::situation::SituationSnapshot & | output_situation_snapshot, | ||
::ad::rss::world::WorldModel & | output_world_model, | ||
EgoDynamicsOnRoute & | output_rss_ego_dynamics_on_route ) |
main function to trigger the RSS check at a certain point in time
This function has to be called cyclic with increasing timestamps to ensure proper RSS evaluation.
在文件 RssCheck.cpp 第 296 行定义.
引用了 _carla_rss_state, _logger, AnalyseCheckResults(), CalculateEgoDynamicsOnRoute(), CreateWorldModel(), carla::rss::RssCheck::CarlaRssState::dangerous_state, carla::rss::RssCheck::CarlaRssState::default_ego_vehicle_dynamics, DropRoute(), carla::rss::RssCheck::CarlaRssState::ego_dynamics_on_route, carla::rss::RssCheck::CarlaRssState::ego_match_object, carla::rss::RssCheck::CarlaRssState::ego_route, carla::client::Timestamp::elapsed_seconds, carla::client::Timestamp::frame, GetMatchObject(), PerformCheck(), carla::rss::RssCheck::CarlaRssState::proper_response, carla::rss::RssCheck::CarlaRssState::rss_state_snapshot, carla::rss::RssCheck::CarlaRssState::situation_snapshot, carla::rss::EgoDynamicsOnRoute::time_since_epoch_check_end_ms, UpdateDefaultRssDynamics(), UpdateRoute() , 以及 carla::rss::RssCheck::CarlaRssState::world_model.
|
private |
Create the RSS world model
在文件 RssCheck.cpp 第 867 行定义.
引用了 _carla_rss_state, _road_boundaries_mode, carla::rss::RssCheck::CarlaRssState::default_ego_vehicle_dynamics, carla::rss::RssCheck::CarlaRssState::ego_dynamics_on_route, carla::rss::EgoDynamicsOnRoute::ego_heading_change, carla::rss::RssCheck::CarlaRssState::ego_match_object, carla::rss::RssCheck::CarlaRssState::ego_route, carla::rss::EgoDynamicsOnRoute::ego_speed, carla::rss::EgoDynamicsOnRoute::ego_steering_angle, carla::client::Timestamp::frame, GetGreenTrafficLightsOnRoute(), carla::client::detail::ActorState::GetId(), carla::client::Actor::GetTransform(), carla::geom::Transform::location, carla::rss::EgoDynamicsOnRoute::min_stopping_distance, carla::rss::Off, RssObjectChecker , 以及 carla::rss::RssCheck::CarlaRssState::world_model.
被这些函数引用 CheckObjects().
void carla::rss::RssCheck::DropRoute | ( | ) |
drop the current route
Afterwards a new route is selected randomly (if multiple routes are possible).
在文件 RssCheck.cpp 第 291 行定义.
引用了 _carla_rss_state, _logger , 以及 carla::rss::RssCheck::CarlaRssState::ego_route.
被这些函数引用 CheckObjects().
const::ad::rss::world::RssDynamics & carla::rss::RssCheck::GetDefaultActorConstellationCallbackEgoVehicleDynamics | ( | ) | const |
在文件 RssCheck.cpp 第 232 行定义.
引用了 _default_actor_constellation_callback_ego_vehicle_dynamics.
const::ad::rss::world::RssDynamics & carla::rss::RssCheck::GetDefaultActorConstellationCallbackOtherVehicleDynamics | ( | ) | const |
在文件 RssCheck.cpp 第 241 行定义.
引用了 _default_actor_constellation_callback_other_vehicle_dynamics.
const::ad::rss::world::RssDynamics & carla::rss::RssCheck::GetDefaultActorConstellationCallbackPedestrianDynamics | ( | ) | const |
在文件 RssCheck.cpp 第 250 行定义.
引用了 _default_actor_constellation_callback_pedestrian_dynamics.
|
static |
在文件 RssCheck.cpp 第 107 行定义.
被这些函数引用 carla::client::RssSensor::GetPedestrianDynamics() , 以及 RssCheck().
|
inlinestatic |
在文件 RssCheck.h 第 217 行定义.
引用了 carla::rss::Off.
被这些函数引用 carla::client::RssSensor::GetRoadBoundariesMode().
|
static |
在文件 RssCheck.cpp 第 88 行定义.
被这些函数引用 carla::client::RssSensor::GetEgoVehicleDynamics(), carla::client::RssSensor::GetOtherVehicleDynamics() , 以及 RssCheck().
|
private |
collect the green traffic lights on the current route
在文件 RssCheck.cpp 第 732 行定义.
引用了 _logger, carla::rpc::Green, carla::geom::BoundingBox::location , 以及 carla::geom::Vector3D::x.
被这些函数引用 CreateWorldModel().
|
private |
calculate the heading change from the actor
在文件 RssCheck.cpp 第 466 行定义.
引用了 carla::client::Actor::GetAngularVelocity() , 以及 carla::rss::to_radians.
被这些函数引用 CalculateEgoDynamicsOnRoute().
|
inline |
|
private |
calculate the map matched object from the actor
在文件 RssCheck.cpp 第 418 行定义.
引用了 _logger , 以及 carla::rss::to_radians.
被这些函数引用 CheckObjects() , 以及 RssCheck().
const::carla::rss::RoadBoundariesMode & carla::rss::RssCheck::GetRoadBoundariesMode | ( | ) | const |
在文件 RssCheck.cpp 第 259 行定义.
const std::vector<::carla::geom::Transform > carla::rss::RssCheck::GetRoutingTargets | ( | ) | const |
在文件 RssCheck.cpp 第 272 行定义.
引用了 _routing_targets, carla::geom::Transform::location, carla::geom::Vector3D::x, carla::geom::Vector3D::y , 以及 carla::geom::Vector3D::z.
|
private |
calculate the speed from the actor
在文件 RssCheck.cpp 第 453 行定义.
引用了 carla::client::Actor::GetTransform(), carla::client::Actor::GetVelocity(), carla::geom::Rotation::InverseRotateVector() , 以及 carla::geom::Transform::rotation.
被这些函数引用 CalculateEgoDynamicsOnRoute() , 以及 RssCheck().
|
private |
calculate the steering angle from the actor
在文件 RssCheck.cpp 第 472 行定义.
引用了 _maximum_steering_angle, carla::client::Vehicle::GetControl() , 以及 carla::rpc::VehicleControl::steer.
被这些函数引用 CalculateEgoDynamicsOnRoute().
|
private |
Perform the actual RSS check
在文件 RssCheck.cpp 第 931 行定义.
引用了 _logger, carla::rss::RssCheck::CarlaRssState::proper_response, carla::rss::RssCheck::CarlaRssState::rss_check, carla::rss::RssCheck::CarlaRssState::rss_state_snapshot, carla::rss::RssCheck::CarlaRssState::situation_snapshot , 以及 carla::rss::RssCheck::CarlaRssState::world_model.
被这些函数引用 CheckObjects().
void carla::rss::RssCheck::ResetRoutingTargets | ( | ) |
resets the current routing targets (
在文件 RssCheck.cpp 第 286 行定义.
引用了 _routing_targets , 以及 _routing_targets_to_append.
void carla::rss::RssCheck::SetDefaultActorConstellationCallbackEgoVehicleDynamics | ( | const ::ad::rss::world::RssDynamics & | ego_vehicle_dynamics | ) |
sets the vehicle dynamics to be used for the ego vehicle
在文件 RssCheck.cpp 第 236 行定义.
引用了 _default_actor_constellation_callback_ego_vehicle_dynamics.
void carla::rss::RssCheck::SetDefaultActorConstellationCallbackOtherVehicleDynamics | ( | const ::ad::rss::world::RssDynamics & | other_vehicle_dynamics | ) |
sets the vehicle dynamics to be used for other vehicles
在文件 RssCheck.cpp 第 245 行定义.
引用了 _default_actor_constellation_callback_other_vehicle_dynamics.
void carla::rss::RssCheck::SetDefaultActorConstellationCallbackPedestrianDynamics | ( | const ::ad::rss::world::RssDynamics & | pedestrian_dynamics | ) |
sets the dynamics to be used for pedestrians
在文件 RssCheck.cpp 第 254 行定义.
引用了 _default_actor_constellation_callback_pedestrian_dynamics.
void carla::rss::RssCheck::SetLogLevel | ( | const spdlog::level::level_enum & | log_level | ) |
sets the current log level
在文件 RssCheck.cpp 第 222 行定义.
引用了 _logger.
被这些函数引用 RssCheck() , 以及 RssCheck().
void carla::rss::RssCheck::SetMapLogLevel | ( | const spdlog::level::level_enum & | map_log_level | ) |
sets the current log level
在文件 RssCheck.cpp 第 227 行定义.
被这些函数引用 RssCheck() , 以及 RssCheck().
void carla::rss::RssCheck::SetRoadBoundariesMode | ( | const ::carla::rss::RoadBoundariesMode & | road_boundaries_mode | ) |
sets the current mode for respecting the road boundaries (
在文件 RssCheck.cpp 第 263 行定义.
|
private |
在文件 RssCheck.cpp 第 723 行定义.
引用了 _actor_constellation_callback, carla::rss::RssCheck::CarlaRssState::default_ego_vehicle_dynamics, carla::rss::RssCheck::CarlaRssState::ego_dynamics_on_route, carla::rss::RssCheck::CarlaRssState::ego_match_object , 以及 carla::rss::RssCheck::CarlaRssState::ego_route.
被这些函数引用 CheckObjects() , 以及 RssCheck().
|
private |
update the desired ego vehicle route
在文件 RssCheck.cpp 第 478 行定义.
引用了 _logger, _routing_targets, _routing_targets_to_append, carla::rss::RssCheck::CarlaRssState::ego_match_object , 以及 carla::rss::RssCheck::CarlaRssState::ego_route.
被这些函数引用 CheckObjects().
|
friend |
在文件 RssCheck.h 第 298 行定义.
被这些函数引用 CreateWorldModel().
|
private |
the current actor constellation callback
在文件 RssCheck.h 第 238 行定义.
被这些函数引用 RssCheck() , 以及 UpdateDefaultRssDynamics().
|
private |
the current state of the ego vehicle
在文件 RssCheck.h 第 301 行定义.
被这些函数引用 CheckObjects(), CreateWorldModel(), DropRoute(), carla::rss::RssCheck::RssObjectChecker::operator()(), RssCheck() , 以及 RssCheck().
|
private |
current used vehicle dynamics for ego vehicle by the default actor constellation callback
在文件 RssCheck.h 第 231 行定义.
被这些函数引用 GetDefaultActorConstellationCallbackEgoVehicleDynamics(), RssCheck() , 以及 SetDefaultActorConstellationCallbackEgoVehicleDynamics().
|
private |
current used vehicle dynamics for other vehicle by the default actor constellation callback
在文件 RssCheck.h 第 233 行定义.
被这些函数引用 GetDefaultActorConstellationCallbackOtherVehicleDynamics(), RssCheck() , 以及 SetDefaultActorConstellationCallbackOtherVehicleDynamics().
|
private |
current used vehicle dynamics for pedestrians by the default actor constellation callback
在文件 RssCheck.h 第 235 行定义.
被这些函数引用 GetDefaultActorConstellationCallbackPedestrianDynamics(), RssCheck() , 以及 SetDefaultActorConstellationCallbackPedestrianDynamics().
|
private |
standard logger
在文件 RssCheck.h 第 223 行定义.
被这些函数引用 AnalyseCheckResults(), CalculateEgoDynamicsOnRoute(), CheckObjects(), DropRoute(), GetGreenTrafficLightsOnRoute(), GetLogger(), GetMatchObject(), PerformCheck(), RssCheck(), RssCheck(), SetLogLevel() , 以及 UpdateRoute().
|
private |
|
private |
current used road boundaries mode
在文件 RssCheck.h 第 241 行定义.
被这些函数引用 CreateWorldModel(), GetRoadBoundariesMode() , 以及 SetRoadBoundariesMode().
|
private |
current used routing targets
在文件 RssCheck.h 第 243 行定义.
被这些函数引用 GetRoutingTargets(), ResetRoutingTargets() , 以及 UpdateRoute().
|
private |
routing targets to be appended next run
在文件 RssCheck.h 第 245 行定义.
被这些函数引用 AppendRoutingTarget(), ResetRoutingTargets() , 以及 UpdateRoute().
|
private |