From 5f67e28821b02f999a654642de41e0a2fc63416d Mon Sep 17 00:00:00 2001 From: "Pasch, Frederik" Date: Tue, 1 Sep 2020 14:51:41 +0200 Subject: [PATCH] Update RSS library to 4.1.0 Add setMapLogLevel() to rss sensor API --- LibCarla/source/carla/rss/RssCheck.cpp | 19 ++++++++++++------- LibCarla/source/carla/rss/RssCheck.h | 3 +++ LibCarla/source/carla/rss/RssSensor.cpp | 11 +++++++++++ LibCarla/source/carla/rss/RssSensor.h | 3 +++ PythonAPI/carla/source/libcarla/AdRss.cpp | 1 + Util/BuildTools/Ad-rss.sh | 2 +- 6 files changed, 31 insertions(+), 8 deletions(-) diff --git a/LibCarla/source/carla/rss/RssCheck.cpp b/LibCarla/source/carla/rss/RssCheck.cpp index 15dfe3b35..713cf9a62 100644 --- a/LibCarla/source/carla/rss/RssCheck.cpp +++ b/LibCarla/source/carla/rss/RssCheck.cpp @@ -131,6 +131,7 @@ RssCheck::RssCheck(float maximum_steering_angle) _timing_logger->set_level(spdlog::level::off); SetLogLevel(spdlog::level::warn); + SetMapLogLevel(spdlog::level::warn); _default_actor_constellation_callback_ego_vehicle_dynamics = GetDefaultVehicleDynamics(); _default_actor_constellation_callback_other_vehicle_dynamics = GetDefaultVehicleDynamics(); @@ -208,6 +209,7 @@ RssCheck::RssCheck(float maximum_steering_angle, _timing_logger->set_level(spdlog::level::off); SetLogLevel(spdlog::level::warn); + SetMapLogLevel(spdlog::level::warn); _carla_rss_state.ego_match_object = GetMatchObject(carla_ego_actor, ::ad::physics::Distance(2.0)); UpdateDefaultRssDynamics(_carla_rss_state); @@ -220,8 +222,11 @@ RssCheck::~RssCheck() {} void RssCheck::SetLogLevel(const spdlog::level::level_enum &log_level) { spdlog::set_level(log_level); _logger->set_level(log_level); - ::ad::map::access::getLogger()->set_level(log_level); - ::ad::rss::map::getLogger()->set_level(log_level); +} + +void RssCheck::SetMapLogLevel(const spdlog::level::level_enum &map_log_level) { + ::ad::map::access::getLogger()->set_level(map_log_level); + ::ad::rss::map::getLogger()->set_level(map_log_level); } const ::ad::rss::world::RssDynamics &RssCheck::GetDefaultActorConstellationCallbackEgoVehicleDynamics() const { @@ -337,7 +342,7 @@ bool RssCheck::CheckObjects(carla::client::Timestamp const ×tamp, _carla_rss_state.ego_match_object = ego_match_object; - _logger->debug("MapMatch:: {}", _carla_rss_state.ego_match_object); + _logger->trace("MapMatch:: {}", _carla_rss_state.ego_match_object); #if DEBUG_TIMING t_end = std::chrono::high_resolution_clock::now(); @@ -471,7 +476,7 @@ bool RssCheck::CheckObjects(carla::client::Timestamp const ×tamp, } void RssCheck::UpdateRoute(CarlaRssState &carla_rss_state) { - _logger->debug("Update route start: {}", carla_rss_state.ego_route); + _logger->trace("Update route start: {}", carla_rss_state.ego_route); // remove the parts of the route already taken, try to prepend route sections // (i.e. when driving backwards) @@ -588,7 +593,7 @@ void RssCheck::UpdateRoute(CarlaRssState &carla_rss_state) { } } - _logger->debug("Update route result: {}", carla_rss_state.ego_route); + _logger->trace("Update route result: {}", carla_rss_state.ego_route); } EgoDynamicsOnRoute RssCheck::CalculateEgoDynamicsOnRoute( @@ -819,7 +824,7 @@ void RssCheck::RssObjectChecker::operator()( try { auto other_match_object = _rss_check.GetMatchObject(other_traffic_participant, ::ad::physics::Distance(2.0)); - _rss_check._logger->debug("OtherVehicleMapMatching: {} {}", other_traffic_participant->GetId(), + _rss_check._logger->trace("OtherVehicleMapMatching: {} {}", other_traffic_participant->GetId(), other_match_object.mapMatchedBoundingBox); carla::SharedPtr actor_constellation_data{new ActorConstellationData{ @@ -1005,7 +1010,7 @@ void RssCheck::AnalyseCheckResults(CarlaRssState &carla_rss_state) const { carla_rss_state.ego_dynamics_on_route.crossing_border = true; } - _logger->debug("RouteResponse: {}", carla_rss_state.proper_response); + _logger->trace("RouteResponse: {}", carla_rss_state.proper_response); } } // namespace rss diff --git a/LibCarla/source/carla/rss/RssCheck.h b/LibCarla/source/carla/rss/RssCheck.h index 3a7b13e58..b24ae3c70 100644 --- a/LibCarla/source/carla/rss/RssCheck.h +++ b/LibCarla/source/carla/rss/RssCheck.h @@ -175,6 +175,9 @@ public: /// @brief sets the current log level void SetLogLevel(const spdlog::level::level_enum &log_level); + /// @brief sets the current log level + void SetMapLogLevel(const spdlog::level::level_enum &map_log_level); + /// @returns the current mode for respecting the road boundaries (@see also /// RssSensor::GetRoadBoundariesMode()) const ::carla::rss::RoadBoundariesMode &GetRoadBoundariesMode() const; diff --git a/LibCarla/source/carla/rss/RssSensor.cpp b/LibCarla/source/carla/rss/RssSensor.cpp index 81b2e27e1..c70181616 100644 --- a/LibCarla/source/carla/rss/RssSensor.cpp +++ b/LibCarla/source/carla/rss/RssSensor.cpp @@ -119,6 +119,17 @@ void RssSensor::SetLogLevel(const uint8_t &log_level) { } } +void RssSensor::SetMapLogLevel(const uint8_t &map_log_level) { + if (!bool(_rss_check)) { + log_error(GetDisplayId(), ": not yet listening. SetMapLogLevel has no effect."); + return; + } + + if (map_log_level < spdlog::level::n_levels) { + _rss_check->SetMapLogLevel(spdlog::level::level_enum(map_log_level)); + } +} + const ::ad::rss::world::RssDynamics &RssSensor::GetEgoVehicleDynamics() const { static auto default_vehicle_dynamics = rss::RssCheck::GetDefaultVehicleDynamics(); if (!bool(_rss_check)) { diff --git a/LibCarla/source/carla/rss/RssSensor.h b/LibCarla/source/carla/rss/RssSensor.h index 37bb7ffcc..89833a9fd 100644 --- a/LibCarla/source/carla/rss/RssSensor.h +++ b/LibCarla/source/carla/rss/RssSensor.h @@ -77,6 +77,9 @@ public: /// @brief sets the current log level void SetLogLevel(const uint8_t &log_level); + /// @brief sets the current map log level + void SetMapLogLevel(const uint8_t &map_log_level); + /// @returns the currently used dynamics of the ego vehicle (@see also /// RssCheck::GetEgoVehicleDynamics()) const ::ad::rss::world::RssDynamics &GetEgoVehicleDynamics() const; diff --git a/PythonAPI/carla/source/libcarla/AdRss.cpp b/PythonAPI/carla/source/libcarla/AdRss.cpp index e095063e2..d18ff1b53 100644 --- a/PythonAPI/carla/source/libcarla/AdRss.cpp +++ b/PythonAPI/carla/source/libcarla/AdRss.cpp @@ -200,6 +200,7 @@ void export_ad_rss() { .def("reset_routing_targets", &cc::RssSensor::ResetRoutingTargets) .def("drop_route", &cc::RssSensor::DropRoute) .def("set_log_level", &cc::RssSensor::SetLogLevel, (arg("log_level"))) + .def("set_map_log_level", &cc::RssSensor::SetMapLogLevel, (arg("map_log_level"))) .def(self_ns::str(self_ns::self)); class_>("RssRestrictor", diff --git a/Util/BuildTools/Ad-rss.sh b/Util/BuildTools/Ad-rss.sh index 15e06576d..2be72ae0d 100755 --- a/Util/BuildTools/Ad-rss.sh +++ b/Util/BuildTools/Ad-rss.sh @@ -31,7 +31,7 @@ else git clone --depth=1 -b v1.7.0 https://github.com/gabime/spdlog.git git clone --depth=1 -b 4.9.3 https://github.com/OSGeo/PROJ.git git clone --depth=1 -b v2.1.0 https://github.com/carla-simulator/map.git - git clone --depth=1 -b v4.0.1 https://github.com/intel/ad-rss-lib.git + git clone --depth=1 -b v4.1.0 https://github.com/intel/ad-rss-lib.git popd cat >"${CARLA_BUILD_FOLDER}/${ADRSS_BASENAME}/colcon.meta" <