8#include <spdlog/spdlog.h>
10#include <ad/map/landmark/LandmarkIdSet.hpp>
11#include <ad/map/match/Object.hpp>
12#include <ad/map/route/FullRoute.hpp>
13#include <ad/rss/core/RssCheck.hpp>
14#include <ad/rss/map/RssSceneCreation.hpp>
15#include <ad/rss/situation/SituationSnapshot.hpp>
16#include <ad/rss/state/ProperResponse.hpp>
17#include <ad/rss/state/RssStateSnapshot.hpp>
118 ::ad::rss::map::RssSceneCreation::RestrictSpeedLimitMode::None};
183 ::ad::rss::state::ProperResponse &output_response,
184 ::ad::rss::state::RssStateSnapshot &output_rss_state_snapshot,
185 ::ad::rss::situation::SituationSnapshot &output_situation_snapshot,
186 ::ad::rss::world::WorldModel &output_world_model,
195 const ::ad::rss::world::RssDynamics &ego_vehicle_dynamics);
200 const ::ad::rss::world::RssDynamics &other_vehicle_dynamics);
207 void SetLogLevel(
const spdlog::level::level_enum &log_level);
210 void SetMapLogLevel(
const spdlog::level::level_enum &map_log_level);
348 ::ad::map::landmark::LandmarkIdSet
const &green_traffic_lights);
377 ::ad::physics::Distance
const &sampling_distance)
const;
409 double const &time_since_epoch_check_start_ms,
411 ::ad::map::match::Object match_object,
412 ::ad::map::route::FullRoute
const &route,
413 ::ad::rss::world::RssDynamics
const &default_ego_vehicle_dynamics,
433 ::ad::map::landmark::LandmarkIdSet GetGreenTrafficLightsOnRoute(
460 void AnalyseCheckResults(
CarlaRssState &carla_rss_state)
const;
481inline std::ostream &
operator<<(std::ostream &out, const ::carla::rss::EgoDynamicsOnRoute &ego_dynamics_on_route) {
482 out <<
"EgoDynamicsOnRoute(timestamp=" << ego_dynamics_on_route.timestamp
483 <<
", time_since_epoch_check_start_ms=" << ego_dynamics_on_route.time_since_epoch_check_start_ms
484 <<
", time_since_epoch_check_end_ms=" << ego_dynamics_on_route.time_since_epoch_check_end_ms
485 <<
", ego_speed=" << ego_dynamics_on_route.ego_speed
486 <<
", min_stopping_distance=" << ego_dynamics_on_route.min_stopping_distance
487 <<
", ego_center=" << ego_dynamics_on_route.ego_center <<
", ego_heading=" << ego_dynamics_on_route.ego_heading
488 <<
", ego_heading_change=" << ego_dynamics_on_route.ego_heading_change
489 <<
", ego_steering_angle=" << ego_dynamics_on_route.ego_steering_angle
490 <<
", ego_center_within_route=" << ego_dynamics_on_route.ego_center_within_route
491 <<
", crossing_border=" << ego_dynamics_on_route.crossing_border
492 <<
", route_heading=" << ego_dynamics_on_route.route_heading
493 <<
", route_nominal_center=" << ego_dynamics_on_route.route_nominal_center
494 <<
", heading_diff=" << ego_dynamics_on_route.heading_diff
495 <<
", route_speed_lat=" << ego_dynamics_on_route.route_speed_lat
496 <<
", route_speed_lon=" << ego_dynamics_on_route.route_speed_lon
497 <<
", route_accel_lat=" << ego_dynamics_on_route.route_accel_lat
498 <<
", route_accel_lon=" << ego_dynamics_on_route.route_accel_lon
499 <<
", avg_route_accel_lat=" << ego_dynamics_on_route.avg_route_accel_lat
500 <<
", avg_route_accel_lon=" << ego_dynamics_on_route.avg_route_accel_lon <<
")";
514 const ::carla::rss::ActorConstellationResult &actor_constellation_result) {
515 out <<
"ActorConstellationResult(rss_calculation_mode=" << actor_constellation_result.rss_calculation_mode
516 <<
", restrict_speed_limit_mode=" << actor_constellation_result.restrict_speed_limit_mode
517 <<
", ego_vehicle_dynamics=" << actor_constellation_result.ego_vehicle_dynamics
518 <<
", actor_object_type=" << actor_constellation_result.actor_object_type
519 <<
", actor_dynamics=" << actor_constellation_result.actor_dynamics <<
")";
533 const ::carla::rss::ActorConstellationData &actor_constellation_data) {
534 out <<
"ActorConstellationData(";
535 if (actor_constellation_data.other_actor !=
nullptr) {
536 out <<
"actor_id=" << actor_constellation_data.other_actor->GetId()
537 <<
", actor_dynamics=" << actor_constellation_data.other_match_object <<
", ";
539 out <<
"ego_match_object=" << actor_constellation_data.ego_match_object
540 <<
", ego_route=" << actor_constellation_data.ego_route
541 <<
", ego_dynamics_on_route=" << actor_constellation_data.ego_dynamics_on_route <<
")";
车辆类的前向声明,用于在LaneInvasionSensor类中可能的引用。
boost::shared_ptr< T > SharedPtr
使用这个SharedPtr(boost::shared_ptr)以保持与boost::python的兼容性, 但未来如果可能的话,我们希望能为std::shared_ptr制作一个Python适配器。
std::ostream & operator<<(std::ostream &out, const ::carla::client::Timestamp ×tamp)
标准输出流操作