diff --git a/common/math/arithmetic/CHANGELOG.rst b/common/math/arithmetic/CHANGELOG.rst index 671d8468afc..02567f2d4dd 100644 --- a/common/math/arithmetic/CHANGELOG.rst +++ b/common/math/arithmetic/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package arithmetic * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/common/math/arithmetic/package.xml b/common/math/arithmetic/package.xml index 43144e045cf..ea08be22776 100644 --- a/common/math/arithmetic/package.xml +++ b/common/math/arithmetic/package.xml @@ -2,7 +2,7 @@ arithmetic - 7.3.3 + 7.4.3 arithmetic library for scenario_simulator_v2 Tatsuya Yamasaki Apache License 2.0 diff --git a/common/math/geometry/CHANGELOG.rst b/common/math/geometry/CHANGELOG.rst index a17fa198577..a6f7b5c069e 100644 --- a/common/math/geometry/CHANGELOG.rst +++ b/common/math/geometry/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package geometry * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/common/math/geometry/package.xml b/common/math/geometry/package.xml index 77824dc8f6d..b1b778651e5 100644 --- a/common/math/geometry/package.xml +++ b/common/math/geometry/package.xml @@ -2,7 +2,7 @@ geometry - 7.3.3 + 7.4.3 geometry math library for scenario_simulator_v2 application Masaya Kataoka Apache License 2.0 diff --git a/common/scenario_simulator_exception/CHANGELOG.rst b/common/scenario_simulator_exception/CHANGELOG.rst index e1d1b8efa4f..7b058931c9b 100644 --- a/common/scenario_simulator_exception/CHANGELOG.rst +++ b/common/scenario_simulator_exception/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package scenario_simulator_exception * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/common/scenario_simulator_exception/package.xml b/common/scenario_simulator_exception/package.xml index 10d0c457c8b..91a882fa264 100644 --- a/common/scenario_simulator_exception/package.xml +++ b/common/scenario_simulator_exception/package.xml @@ -2,7 +2,7 @@ scenario_simulator_exception - 7.3.3 + 7.4.3 Exception types for scenario simulator Tatsuya Yamasaki Apache License 2.0 diff --git a/common/simple_junit/CHANGELOG.rst b/common/simple_junit/CHANGELOG.rst index 1d657748452..ba5ef333708 100644 --- a/common/simple_junit/CHANGELOG.rst +++ b/common/simple_junit/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package junit_exporter * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/common/simple_junit/package.xml b/common/simple_junit/package.xml index 12fac8ec9ba..7de1075e65a 100644 --- a/common/simple_junit/package.xml +++ b/common/simple_junit/package.xml @@ -2,7 +2,7 @@ simple_junit - 7.3.3 + 7.4.3 Lightweight JUnit library for ROS 2 Masaya Kataoka Tatsuya Yamasaki diff --git a/common/status_monitor/CHANGELOG.rst b/common/status_monitor/CHANGELOG.rst index e88612dcf0a..1e876532669 100644 --- a/common/status_monitor/CHANGELOG.rst +++ b/common/status_monitor/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package status_monitor * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/common/status_monitor/package.xml b/common/status_monitor/package.xml index 0f64c49f50c..eedbbc59161 100644 --- a/common/status_monitor/package.xml +++ b/common/status_monitor/package.xml @@ -2,7 +2,7 @@ status_monitor - 7.3.3 + 7.4.3 none Tatsuya Yamasaki Apache License 2.0 diff --git a/external/concealer/CHANGELOG.rst b/external/concealer/CHANGELOG.rst index a7804196c74..a7d1ea1c46b 100644 --- a/external/concealer/CHANGELOG.rst +++ b/external/concealer/CHANGELOG.rst @@ -21,6 +21,92 @@ Changelog for package concealer * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge pull request `#1488 `_ from tier4/refactor/concealer-1 + Refactor/concealer 1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Reformat +* Remove `getAcceleration`, `getSteeringAngle`, `getVelocity` and `getGearSign` +* Remove macro `DEFINE_STATE_PREDICATE` +* Remove member function `TaskQueue::stopAndJoin` +* Remove free function `sudokill` +* Remove member function `validateAvailability` and `callWithTimeoutValidation` +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Remove class `ServceWithValidation::TimeoutError` +* Remove member function `FieldOperatorApplication::shutdownAutoware` +* Add using declarations for subscribers and publishers +* Add new header file `concealer/member_detector.hpp` +* Cleanup class template `SubscriberWrapper` +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Remove header file `autoware_stream.hpp` +* Move member function implementations into `field_operator_application.cpp` +* Remove function template `listup` +* Remove function template `toAutowareStateString` +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Remove class template `FieldOperatorApplicationFor` +* Update all member function of `FieldOperatorApplication` to be non-virtual +* Update some member functions of `FieldOperatorApplication` to be non-virtual +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Move data members into base class `FieldOperatorApplication` +* Remove member function `receiveMrmState` +* Remove member function `receiveEmergencyState` +* Move base class `TransitionAssertion` to `FieldOperatorApplication` +* Move `getAutowareState` into `FieldOperatorApplication` +* Update all members of `FieldOperatorApplicationFor<...>` to be public +* Remove macro `CONCEALER_ISOLATE_STANDARD_OUTPUT` +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Update `~FieldOperatorApplication()` to be non-virtual +* Remove member function `isStopRequested` and `stopRequest` +* Remove virtual function `sendSIGINT` +* Cleanup `FieldOperatorApplication::spinSome` +* Remove member function `FieldOperatorApplication::checkAutowareProcess` +* Remove member function `FieldOperatorApplication::restrictTargetSpeed` +* Remove stream input/output operator for `TurnIndicatorsCommand` +* Update `FieldOperatorApplication::getTurnIndicatorsCommand` to pure virtual +* Remove member function `AutowareUniverse::set` +* Remove member function `AutowareUniverse::stopAndJoin` +* Remove class `concealer::Autoware` +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/external/concealer/CMakeLists.txt b/external/concealer/CMakeLists.txt index 5a0ffb32056..0c05bfd2e30 100644 --- a/external/concealer/CMakeLists.txt +++ b/external/concealer/CMakeLists.txt @@ -14,11 +14,9 @@ find_package(ament_cmake_auto REQUIRED) ament_auto_find_build_dependencies() ament_auto_add_library(${PROJECT_NAME} SHARED - src/autoware.cpp src/autoware_universe.cpp src/execute.cpp src/field_operator_application.cpp - src/field_operator_application_for_autoware_universe.cpp src/is_package_exists.cpp src/task_queue.cpp) diff --git a/external/concealer/include/concealer/autoware.hpp b/external/concealer/include/concealer/autoware.hpp deleted file mode 100644 index fcda771cf9f..00000000000 --- a/external/concealer/include/concealer/autoware.hpp +++ /dev/null @@ -1,83 +0,0 @@ -// Copyright 2015 TIER IV, Inc. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef CONCEALER__AUTOWARE_HPP_ -#define CONCEALER__AUTOWARE_HPP_ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace concealer -{ -/** - * Provides an abstraction to communicate with Autoware in order to: - * - receive vehicle commands to simulate vehicle kinematics - * - provide vehicle state reports on an appropriate topics - * NOTE: This class is intended to be move to simple_sensor_simulator - */ -class Autoware : public rclcpp::Node, public ContinuousTransformBroadcaster -{ -protected: - std::atomic current_acceleration; - - std::atomic current_twist; - - std::atomic current_pose; - -public: - CONCEALER_PUBLIC explicit Autoware(); - - virtual auto getAcceleration() const -> double = 0; - - virtual auto getGearCommand() const -> autoware_vehicle_msgs::msg::GearCommand; - - virtual auto getSteeringAngle() const -> double = 0; - - virtual auto getVelocity() const -> double = 0; - - // returns -1.0 when gear is reverse and 1.0 otherwise - virtual auto getGearSign() const -> double = 0; - - virtual auto getTurnIndicatorsCommand() const - -> autoware_vehicle_msgs::msg::TurnIndicatorsCommand; - - virtual auto getVehicleCommand() const - -> std::tuple = 0; - - virtual auto getRouteLanelets() const -> std::vector = 0; - - virtual auto getControlModeReport() const -> autoware_vehicle_msgs::msg::ControlModeReport = 0; - - auto set(const geometry_msgs::msg::Accel &) -> void; - - auto set(const geometry_msgs::msg::Twist &) -> void; - - auto set(const geometry_msgs::msg::Pose &) -> void; - - virtual auto setManualMode() -> void = 0; - - virtual auto rethrow() -> void; -}; -} // namespace concealer - -#endif // CONCEALER__AUTOWARE_HPP_ diff --git a/external/concealer/include/concealer/autoware_stream.hpp b/external/concealer/include/concealer/autoware_stream.hpp deleted file mode 100644 index 5a13a61b276..00000000000 --- a/external/concealer/include/concealer/autoware_stream.hpp +++ /dev/null @@ -1,31 +0,0 @@ -// Copyright 2015 TIER IV, Inc. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef CONCEALER__AUTOWARE_STREAM_HPP_ -#define CONCEALER__AUTOWARE_STREAM_HPP_ - -#define AUTOWARE_INFO_STREAM(...) \ - RCLCPP_INFO_STREAM(get_logger(), "\x1b[32m" << __VA_ARGS__ << "\x1b[0m") - -#define AUTOWARE_WARN_STREAM(...) \ - RCLCPP_WARN_STREAM(get_logger(), "\x1b[33m" << __VA_ARGS__ << "\x1b[0m") - -#define AUTOWARE_ERROR_STREAM(...) \ - RCLCPP_ERROR_STREAM(get_logger(), "\x1b[1;31m" << __VA_ARGS__ << "\x1b[0m") - -#define AUTOWARE_SYSTEM_ERROR(FROM) \ - AUTOWARE_ERROR_STREAM( \ - "Error on calling " FROM ": " << std::system_error(errno, std::system_category()).what()) - -#endif // CONCEALER__AUTOWARE_STREAM_HPP_ diff --git a/external/concealer/include/concealer/autoware_universe.hpp b/external/concealer/include/concealer/autoware_universe.hpp index 0692c7717c0..34c1bda7afd 100644 --- a/external/concealer/include/concealer/autoware_universe.hpp +++ b/external/concealer/include/concealer/autoware_universe.hpp @@ -15,28 +15,33 @@ #ifndef CONCEALER__AUTOWARE_UNIVERSE_HPP_ #define CONCEALER__AUTOWARE_UNIVERSE_HPP_ +#include #include #include +#include #include #include +#include #include #include #include -#include +#include #include #include +#include #include +#include +#include #include +#include #include namespace concealer { -/* - * Implements Autoware interface for Autoware Universe - * NOTE: This class is intended to be move to simple_sensor_simulator - */ -class AutowareUniverse : public Autoware +class AutowareUniverse : public rclcpp::Node, + public ContinuousTransformBroadcaster { +public: // clang-format off using AccelWithCovarianceStamped = geometry_msgs::msg::AccelWithCovarianceStamped; using Control = autoware_control_msgs::msg::Control; @@ -44,6 +49,7 @@ class AutowareUniverse : public Autoware using ControlModeReport = autoware_vehicle_msgs::msg::ControlModeReport; using GearCommand = autoware_vehicle_msgs::msg::GearCommand; using GearReport = autoware_vehicle_msgs::msg::GearReport; + using Odometry = nav_msgs::msg::Odometry; using PathWithLaneId = tier4_planning_msgs::msg::PathWithLaneId; using PoseWithCovarianceStamped = geometry_msgs::msg::PoseWithCovarianceStamped; using SteeringReport = autoware_vehicle_msgs::msg::SteeringReport; @@ -51,21 +57,26 @@ class AutowareUniverse : public Autoware using TurnIndicatorsReport = autoware_vehicle_msgs::msg::TurnIndicatorsReport; using VelocityReport = autoware_vehicle_msgs::msg::VelocityReport; - SubscriberWrapper getCommand; - SubscriberWrapper getGearCommandImpl; - SubscriberWrapper getTurnIndicatorsCommand; - SubscriberWrapper getPathWithLaneId; + SubscriberWrapper getCommand; + SubscriberWrapper getGearCommand; + SubscriberWrapper getTurnIndicatorsCommand; + SubscriberWrapper getPathWithLaneId; PublisherWrapper setAcceleration; - PublisherWrapper setOdometry; + PublisherWrapper setOdometry; PublisherWrapper setPose; PublisherWrapper setSteeringReport; PublisherWrapper setGearReport; PublisherWrapper setControlModeReport; PublisherWrapper setVelocityReport; PublisherWrapper setTurnIndicatorsReport; + + std::atomic current_acceleration; + std::atomic current_pose; + std::atomic current_twist; // clang-format on +private: rclcpp::Service::SharedPtr control_mode_request_server; const rclcpp::TimerBase::SharedPtr localization_update_timer; @@ -82,38 +93,25 @@ class AutowareUniverse : public Autoware std::exception_ptr thrown; - auto stopAndJoin() -> void; - public: CONCEALER_PUBLIC explicit AutowareUniverse(bool); ~AutowareUniverse(); - auto rethrow() -> void override; - - auto getAcceleration() const -> double override; - - auto getSteeringAngle() const -> double override; - - auto getVelocity() const -> double override; + auto rethrow() -> void; auto updateLocalization() -> void; auto updateVehicleState() -> void; - auto getGearCommand() const -> GearCommand override; - - auto getGearSign() const -> double override; + auto getVehicleCommand() const -> std::tuple; - auto getVehicleCommand() const -> std::tuple override; + auto getRouteLanelets() const -> std::vector; - auto getRouteLanelets() const -> std::vector override; + auto getControlModeReport() const -> ControlModeReport; - auto getControlModeReport() const -> ControlModeReport override; - - auto setManualMode() -> void override; + auto setManualMode() -> void; }; - } // namespace concealer #endif // CONCEALER__AUTOWARE_UNIVERSE_HPP_ diff --git a/external/concealer/include/concealer/execute.hpp b/external/concealer/include/concealer/execute.hpp index b9414370ed7..b8569ee7d5a 100644 --- a/external/concealer/include/concealer/execute.hpp +++ b/external/concealer/include/concealer/execute.hpp @@ -24,8 +24,6 @@ auto execute(const std::vector &) -> int; // Emulates shell's $(...) expression. auto dollar(const std::string & command) -> std::string; - -void sudokill(const pid_t process_id); } // namespace concealer #endif // CONCEALER__EXECUTE_HPP_ diff --git a/external/concealer/include/concealer/field_operator_application.hpp b/external/concealer/include/concealer/field_operator_application.hpp index 2e35afb5ef6..db11a70de50 100644 --- a/external/concealer/include/concealer/field_operator_application.hpp +++ b/external/concealer/include/concealer/field_operator_application.hpp @@ -15,32 +15,46 @@ #ifndef CONCEALER__AUTOWARE_USER_HPP_ #define CONCEALER__AUTOWARE_USER_HPP_ -// #define CONCEALER_ISOLATE_STANDARD_OUTPUT - #include +#if __has_include() +#include +#endif + #include +#include +#include +#include +#include #include +#include +#include #include -#include -#include +#include #include +#include +#include +#include #include #include #include -#include #include #include -#include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include #include #include namespace concealer { -template -class FieldOperatorApplicationFor; - /* ---- NOTE ------------------------------------------------------------------- * * The magic class 'FieldOperatorApplication' is a class that makes it easy to work with @@ -54,34 +68,74 @@ class FieldOperatorApplicationFor; * initialize, plan, and engage. * * -------------------------------------------------------------------------- */ -class FieldOperatorApplication : public rclcpp::Node +struct FieldOperatorApplication : public rclcpp::Node, + public TransitionAssertion { std::atomic is_stop_requested = false; bool is_autoware_exited = false; - auto checkAutowareProcess() -> void; - -protected: const pid_t process_id = 0; - TaskQueue task_queue; - bool initialize_was_called = false; - auto stopRequest() noexcept -> void; - - auto isStopRequested() const noexcept -> bool; - - // this method is purely virtual because different Autoware types are killed differently - // currently, we are not sure why this is the case so detailed investigation is needed - virtual auto sendSIGINT() -> void = 0; - - // method called in destructor of a derived class - // because it is difficult to differentiate shutting down behavior in destructor of a base class - auto shutdownAutoware() -> void; + std::string autoware_state; + + tier4_rtc_msgs::msg::CooperateStatusArray latest_cooperate_status_array; + + std::string minimum_risk_maneuver_state; + + std::string minimum_risk_maneuver_behavior; + + // clang-format off + using AutowareState = autoware_system_msgs::msg::AutowareState; + using Control = autoware_control_msgs::msg::Control; + using CooperateStatusArray = tier4_rtc_msgs::msg::CooperateStatusArray; + using Emergency = tier4_external_api_msgs::msg::Emergency; + using LocalizationInitializationState = autoware_adapi_v1_msgs::msg::LocalizationInitializationState; + using MrmState = autoware_adapi_v1_msgs::msg::MrmState; + using PathWithLaneId = tier4_planning_msgs::msg::PathWithLaneId; + using Trajectory = tier4_planning_msgs::msg::Trajectory; + using TurnIndicatorsCommand = autoware_vehicle_msgs::msg::TurnIndicatorsCommand; + + using ClearRoute = autoware_adapi_v1_msgs::srv::ClearRoute; + using CooperateCommands = tier4_rtc_msgs::srv::CooperateCommands; + using Engage = tier4_external_api_msgs::srv::Engage; + using InitializeLocalization = autoware_adapi_v1_msgs::srv::InitializeLocalization; + using SetRoutePoints = autoware_adapi_v1_msgs::srv::SetRoutePoints; + using AutoModeWithModule = tier4_rtc_msgs::srv::AutoModeWithModule; + using SetVelocityLimit = tier4_external_api_msgs::srv::SetVelocityLimit; + using ChangeOperationMode = autoware_adapi_v1_msgs::srv::ChangeOperationMode; + + SubscriberWrapper getAutowareState; + SubscriberWrapper getCommand; + SubscriberWrapper getCooperateStatusArray; + SubscriberWrapper getEmergencyState; +#if __has_include() + SubscriberWrapper getLocalizationState; +#endif + SubscriberWrapper getMrmState; + SubscriberWrapper getPathWithLaneId; + SubscriberWrapper getTrajectory; + SubscriberWrapper getTurnIndicatorsCommand; + + ServiceWithValidation requestClearRoute; + ServiceWithValidation requestCooperateCommands; + ServiceWithValidation requestEngage; + ServiceWithValidation requestInitialPose; + ServiceWithValidation requestSetRoutePoints; + ServiceWithValidation requestSetRtcAutoMode; + ServiceWithValidation requestSetVelocityLimit; + ServiceWithValidation requestEnableAutowareControl; + // clang-format on + + /* + The task queue must be deconstructed before any services, so it must be + the last class data member. (Class data members are constructed in + declaration order and deconstructed in reverse order.) + */ + TaskQueue task_queue; -public: CONCEALER_PUBLIC explicit FieldOperatorApplication(const pid_t = 0); template @@ -90,78 +144,44 @@ class FieldOperatorApplication : public rclcpp::Node { } - ~FieldOperatorApplication() override = default; + ~FieldOperatorApplication(); auto spinSome() -> void; - /* ---- NOTE ------------------------------------------------------------------- - * - * Send an engagement request to Autoware. If Autoware does not have an - * engagement equivalent, this operation can be nop (No operation). - * - * -------------------------------------------------------------------------- */ - virtual auto engage() -> void = 0; - - virtual auto engageable() const -> bool = 0; - - virtual auto engaged() const -> bool = 0; + auto engage() -> void; - /* ---- NOTE ------------------------------------------------------------------- - * - * Send initial_pose to Autoware. - * - * -------------------------------------------------------------------------- */ - virtual auto initialize(const geometry_msgs::msg::Pose &) -> void = 0; + auto engageable() const -> bool; - /* ---- NOTE ------------------------------------------------------------------- - * - * Send the destination and route constraint points to Autoware. The argument - * route is guaranteed to be size 1 or greater, and its last element is the - * destination. When the size of a route is 2 or greater, the non-last element - * is the route constraint. That is, Autoware must go through the element - * points on the given'route' starting at index 0 and stop at index - * route.size() - 1. - * - * -------------------------------------------------------------------------- */ - virtual auto plan(const std::vector &) -> void = 0; + auto engaged() const -> bool; - virtual auto clearRoute() -> void = 0; + auto initialize(const geometry_msgs::msg::Pose &) -> void; - virtual auto getAutowareStateName() const -> std::string = 0; + auto plan(const std::vector &) -> void; - virtual auto getMinimumRiskManeuverBehaviorName() const -> std::string = 0; + auto clearRoute() -> void; - virtual auto getMinimumRiskManeuverStateName() const -> std::string = 0; + auto getAutowareStateName() const { return autoware_state; } - virtual auto getEmergencyStateName() const -> std::string = 0; + auto getMinimumRiskManeuverBehaviorName() const { return minimum_risk_maneuver_behavior; } - virtual auto getWaypoints() const -> traffic_simulator_msgs::msg::WaypointsArray = 0; + auto getMinimumRiskManeuverStateName() const { return minimum_risk_maneuver_state; } - /* */ auto initialized() const noexcept { return initialize_was_called; } + auto getEmergencyStateName() const { return minimum_risk_maneuver_state; } - virtual auto requestAutoModeForCooperation(const std::string &, bool) -> void = 0; + auto getWaypoints() const -> traffic_simulator_msgs::msg::WaypointsArray; - // different autowares accept different initial target speed - virtual auto restrictTargetSpeed(double) const -> double = 0; + auto initialized() const noexcept { return initialize_was_called; } - virtual auto getTurnIndicatorsCommand() const - -> autoware_vehicle_msgs::msg::TurnIndicatorsCommand; + auto requestAutoModeForCooperation(const std::string &, bool) -> void; - virtual auto rethrow() const noexcept(false) -> void; + auto rethrow() const { task_queue.rethrow(); } - virtual auto sendCooperateCommand(const std::string &, const std::string &) -> void = 0; + auto sendCooperateCommand(const std::string &, const std::string &) -> void; - virtual auto setVelocityLimit(double) -> void = 0; + auto setVelocityLimit(double) -> void; - virtual auto enableAutowareControl() -> void = 0; + auto enableAutowareControl() -> void; }; } // namespace concealer -namespace autoware_vehicle_msgs::msg -{ -auto operator<<(std::ostream &, const TurnIndicatorsCommand &) -> std::ostream &; - -auto operator>>(std::istream &, TurnIndicatorsCommand &) -> std::istream &; -} // namespace autoware_vehicle_msgs::msg - #endif // CONCEALER__AUTOWARE_USER_HPP_ diff --git a/external/concealer/include/concealer/field_operator_application_for_autoware_universe.hpp b/external/concealer/include/concealer/field_operator_application_for_autoware_universe.hpp deleted file mode 100644 index cd6e156170c..00000000000 --- a/external/concealer/include/concealer/field_operator_application_for_autoware_universe.hpp +++ /dev/null @@ -1,205 +0,0 @@ -// Copyright 2015 TIER IV, Inc. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef CONCEALER__AUTOWARE_UNIVERSE_USER_HPP_ -#define CONCEALER__AUTOWARE_UNIVERSE_USER_HPP_ - -#if __has_include() -#include -#endif - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -namespace concealer -{ -template <> -class FieldOperatorApplicationFor -: public FieldOperatorApplication, - public TransitionAssertion> -{ - friend struct TransitionAssertion>; - - // clang-format off - SubscriberWrapper getCommand; - SubscriberWrapper getAutowareState; - SubscriberWrapper getCooperateStatusArray; - SubscriberWrapper getEmergencyState; -#if __has_include() - SubscriberWrapper getLocalizationState; -#endif - SubscriberWrapper getMrmState; - SubscriberWrapper getTrajectory; - SubscriberWrapper getTurnIndicatorsCommandImpl; - - ServiceWithValidation requestClearRoute; - ServiceWithValidation requestCooperateCommands; - ServiceWithValidation requestEngage; - ServiceWithValidation requestInitialPose; - ServiceWithValidation requestSetRoutePoints; - ServiceWithValidation requestSetRtcAutoMode; - ServiceWithValidation requestSetVelocityLimit; - ServiceWithValidation requestEnableAutowareControl; - // clang-format on - - tier4_rtc_msgs::msg::CooperateStatusArray latest_cooperate_status_array; - - std::string autoware_state; - - std::string minimum_risk_maneuver_state; - - std::string minimum_risk_maneuver_behavior; - - auto receiveMrmState(const autoware_adapi_v1_msgs::msg::MrmState & msg) -> void; - - auto receiveEmergencyState(const tier4_external_api_msgs::msg::Emergency & msg) -> void; - - /* - NOTE: This predicate should not take the state being compared as an - argument or template parameter. Otherwise, code using this class would - need to have knowledge of the Autoware state type. - */ -#define DEFINE_STATE_PREDICATE(NAME, VALUE) \ - auto is##NAME() const noexcept { return autoware_state == #VALUE; } \ - static_assert(true, "") - - DEFINE_STATE_PREDICATE(Initializing, INITIALIZING_VEHICLE); - DEFINE_STATE_PREDICATE(WaitingForRoute, WAITING_FOR_ROUTE); - DEFINE_STATE_PREDICATE(Planning, PLANNING); - DEFINE_STATE_PREDICATE(WaitingForEngage, WAITING_FOR_ENGAGE); - DEFINE_STATE_PREDICATE(Driving, DRIVING); - DEFINE_STATE_PREDICATE(ArrivedGoal, ARRIVAL_GOAL); - DEFINE_STATE_PREDICATE(Finalizing, FINALIZING); - -#undef DEFINE_STATE_PREDICATE - -protected: - template - auto getAutowareStateString(std::uint8_t state) const -> char const * - { -#define CASE(IDENTIFIER) \ - case T::IDENTIFIER: \ - return #IDENTIFIER - - switch (state) { - CASE(INITIALIZING); - CASE(WAITING_FOR_ROUTE); - CASE(PLANNING); - CASE(WAITING_FOR_ENGAGE); - CASE(DRIVING); - CASE(ARRIVED_GOAL); - CASE(FINALIZING); - - default: - return ""; - } - -#undef CASE - } - auto sendSIGINT() -> void override; - -public: - SubscriberWrapper getPathWithLaneId; - -public: - template - CONCEALER_PUBLIC explicit FieldOperatorApplicationFor(Ts &&... xs) - : FieldOperatorApplication(std::forward(xs)...), - // clang-format off - getCommand("/control/command/control_cmd", rclcpp::QoS(1), *this), - getAutowareState("/autoware/state", rclcpp::QoS(1), *this, [this](const auto & v) { - autoware_state = getAutowareStateString(v.state); }), - getCooperateStatusArray("/api/external/get/rtc_status", rclcpp::QoS(1), *this, [this](const auto & v) { latest_cooperate_status_array = v; }), - getEmergencyState("/api/external/get/emergency", rclcpp::QoS(1), *this, [this](const auto & v) { receiveEmergencyState(v); }), -#if __has_include() - getLocalizationState("/api/localization/initialization_state", rclcpp::QoS(1).transient_local(), *this), -#endif - getMrmState("/api/fail_safe/mrm_state", rclcpp::QoS(1), *this, [this](const auto & v) { receiveMrmState(v); }), - getTrajectory("/api/iv_msgs/planning/scenario_planning/trajectory", rclcpp::QoS(1), *this), - getTurnIndicatorsCommandImpl("/control/command/turn_indicators_cmd", rclcpp::QoS(1), *this), - requestClearRoute("/api/routing/clear_route", *this), - requestCooperateCommands("/api/external/set/rtc_commands", *this), - requestEngage("/api/external/set/engage", *this), - requestInitialPose("/api/localization/initialize", *this), - // NOTE: /api/routing/set_route_points takes a long time to return. But the specified duration is not decided by any technical reasons. - requestSetRoutePoints("/api/routing/set_route_points", *this, std::chrono::seconds(10)), - requestSetRtcAutoMode("/api/external/set/rtc_auto_mode", *this), - requestSetVelocityLimit("/api/autoware/set/velocity_limit", *this), - requestEnableAutowareControl("/api/operation_mode/enable_autoware_control", *this), - getPathWithLaneId("/planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id", rclcpp::QoS(1), *this) - // clang-format on - { - } - - ~FieldOperatorApplicationFor() override; - - auto engage() -> void override; - - auto engageable() const -> bool override; - - auto engaged() const -> bool override; - - auto getAutowareStateName() const -> std::string override; - - auto getWaypoints() const -> traffic_simulator_msgs::msg::WaypointsArray override; - - auto getTurnIndicatorsCommand() const - -> autoware_vehicle_msgs::msg::TurnIndicatorsCommand override; - - auto getEmergencyStateName() const -> std::string override; - - auto getMinimumRiskManeuverBehaviorName() const -> std::string override; - - auto getMinimumRiskManeuverStateName() const -> std::string override; - - auto initialize(const geometry_msgs::msg::Pose &) -> void override; - - auto plan(const std::vector &) -> void override; - - auto clearRoute() -> void override; - - auto requestAutoModeForCooperation(const std::string &, bool) -> void override; - - auto restrictTargetSpeed(double) const -> double override; - - auto sendCooperateCommand(const std::string &, const std::string &) -> void override; - - auto setVelocityLimit(double) -> void override; - - auto enableAutowareControl() -> void override; -}; -} // namespace concealer - -#endif // CONCEALER__AUTOWARE_UNIVERSE_USER_HPP_ diff --git a/external/concealer/include/concealer/has_data_member_allow_goal_modification.hpp b/external/concealer/include/concealer/has_data_member_allow_goal_modification.hpp deleted file mode 100644 index 56de7a1f9f7..00000000000 --- a/external/concealer/include/concealer/has_data_member_allow_goal_modification.hpp +++ /dev/null @@ -1,38 +0,0 @@ -// Copyright 2015 TIER IV, Inc. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef CONCEALER__HAS_DATA_MEMBER_ALLOW_GOAL_MODIFICATION_HPP_ -#define CONCEALER__HAS_DATA_MEMBER_ALLOW_GOAL_MODIFICATION_HPP_ - -#include - -namespace concealer -{ -template -struct has_data_member_allow_goal_modification : public std::false_type -{ -}; - -template -struct has_data_member_allow_goal_modification< - T, std::void_t().allow_goal_modification)>> : public std::true_type -{ -}; - -template -inline constexpr auto has_data_member_allow_goal_modification_v = - has_data_member_allow_goal_modification::value; -} // namespace concealer - -#endif // CONCEALER__HAS_DATA_MEMBER_ALLOW_GOAL_MODIFICATION_HPP_ diff --git a/external/concealer/include/concealer/has_data_member_option.hpp b/external/concealer/include/concealer/has_data_member_option.hpp deleted file mode 100644 index 959e5fcdf44..00000000000 --- a/external/concealer/include/concealer/has_data_member_option.hpp +++ /dev/null @@ -1,37 +0,0 @@ -// Copyright 2015 TIER IV, Inc. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#ifndef CONCEALER__HAS_DATA_MEMBER_OPTION_HPP_ -#define CONCEALER__HAS_DATA_MEMBER_OPTION_HPP_ - -#include - -namespace concealer -{ -template -struct has_data_member_option : public std::false_type -{ -}; - -template -struct has_data_member_option().option)>> -: public std::true_type -{ -}; - -template -inline constexpr auto has_data_member_option_v = has_data_member_option::value; -} // namespace concealer - -#endif // CONCEALER__HAS_DATA_MEMBER_OPTION_HPP_ diff --git a/external/concealer/include/concealer/launch.hpp b/external/concealer/include/concealer/launch.hpp index 54f1459f1b3..55f4da068f3 100644 --- a/external/concealer/include/concealer/launch.hpp +++ b/external/concealer/include/concealer/launch.hpp @@ -15,13 +15,6 @@ #ifndef CONCEALER__LAUNCH_HPP_ #define CONCEALER__LAUNCH_HPP_ -#ifdef CONCEALER_ISOLATE_STANDARD_OUTPUT -#include -#include -#include -#include -#endif - #include #include #include @@ -37,14 +30,6 @@ template auto ros2_launch( const std::string & package, const std::string & file, const Parameters & parameters) { -#ifdef CONCEALER_ISOLATE_STANDARD_OUTPUT - const std::string log_filename = "/tmp/scenario_test_runner/autoware-output.txt"; - const auto fd = ::open(log_filename.c_str(), O_RDWR | O_CREAT, S_IRUSR | S_IWUSR); - ::dup2(fd, STDOUT_FILENO); - ::dup2(fd, STDERR_FILENO); - ::close(fd); -#endif - const auto argv = [&]() { auto argv = std::vector(); diff --git a/external/concealer/include/concealer/member_detector.hpp b/external/concealer/include/concealer/member_detector.hpp new file mode 100644 index 00000000000..d618347b0e9 --- /dev/null +++ b/external/concealer/include/concealer/member_detector.hpp @@ -0,0 +1,83 @@ +// Copyright 2015 TIER IV, Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#ifndef CONCEALER__MEMBER_DETECTOR_HPP_ +#define CONCEALER__MEMBER_DETECTOR_HPP_ + +#include + +namespace concealer +{ +#define DEFINE_MEMBER_DETECTOR(IDENTIFIER) \ + template \ + struct DetectMember_##IDENTIFIER : public std::false_type \ + { \ + }; \ + \ + template \ + struct DetectMember_##IDENTIFIER().IDENTIFIER)>> \ + : public std::true_type \ + { \ + } + +DEFINE_MEMBER_DETECTOR(allow_goal_modification); +DEFINE_MEMBER_DETECTOR(distance); +DEFINE_MEMBER_DETECTOR(option); +DEFINE_MEMBER_DETECTOR(status); +DEFINE_MEMBER_DETECTOR(success); + +#undef DEFINE_MEMBER_DETECTOR + +#define DEFINE_STATIC_MEMBER_DETECTOR(IDENTIFIER) \ + template \ + struct DetectStaticMember_##IDENTIFIER : public std::false_type \ + { \ + }; \ + \ + template \ + struct DetectStaticMember_##IDENTIFIER> \ + : public std::true_type \ + { \ + } + +DEFINE_STATIC_MEMBER_DETECTOR(AVOIDANCE_BY_LC_LEFT); +DEFINE_STATIC_MEMBER_DETECTOR(AVOIDANCE_BY_LC_RIGHT); +DEFINE_STATIC_MEMBER_DETECTOR(AVOIDANCE_LEFT); +DEFINE_STATIC_MEMBER_DETECTOR(AVOIDANCE_RIGHT); +DEFINE_STATIC_MEMBER_DETECTOR(BLIND_SPOT); +DEFINE_STATIC_MEMBER_DETECTOR(COMFORTABLE_STOP); +DEFINE_STATIC_MEMBER_DETECTOR(CROSSWALK); +DEFINE_STATIC_MEMBER_DETECTOR(DETECTION_AREA); +DEFINE_STATIC_MEMBER_DETECTOR(EMERGENCY_STOP); +DEFINE_STATIC_MEMBER_DETECTOR(EXT_REQUEST_LANE_CHANGE_LEFT); +DEFINE_STATIC_MEMBER_DETECTOR(EXT_REQUEST_LANE_CHANGE_RIGHT); +DEFINE_STATIC_MEMBER_DETECTOR(GOAL_PLANNER); +DEFINE_STATIC_MEMBER_DETECTOR(INTERSECTION); +DEFINE_STATIC_MEMBER_DETECTOR(INTERSECTION_OCCLUSION); +DEFINE_STATIC_MEMBER_DETECTOR(LANE_CHANGE_LEFT); +DEFINE_STATIC_MEMBER_DETECTOR(LANE_CHANGE_RIGHT); +DEFINE_STATIC_MEMBER_DETECTOR(NONE); +DEFINE_STATIC_MEMBER_DETECTOR(NO_DRIVABLE_LANE); +DEFINE_STATIC_MEMBER_DETECTOR(NO_STOPPING_AREA); +DEFINE_STATIC_MEMBER_DETECTOR(OCCLUSION_SPOT); +DEFINE_STATIC_MEMBER_DETECTOR(PULL_OUT); +DEFINE_STATIC_MEMBER_DETECTOR(PULL_OVER); +DEFINE_STATIC_MEMBER_DETECTOR(START_PLANNER); +DEFINE_STATIC_MEMBER_DETECTOR(TRAFFIC_LIGHT); +DEFINE_STATIC_MEMBER_DETECTOR(UNKNOWN); + +#undef DEFINE_STATIC_MEMBER_DETECTOR +} // namespace concealer + +#endif // CONCEALER__MEMBER_DETECTOR_HPP_ diff --git a/external/concealer/include/concealer/service_with_validation.hpp b/external/concealer/include/concealer/service_with_validation.hpp index 62421299c85..6b49df8d0f0 100644 --- a/external/concealer/include/concealer/service_with_validation.hpp +++ b/external/concealer/include/concealer/service_with_validation.hpp @@ -17,73 +17,60 @@ #include #include -#include +#include #include +#include #include #include #include #include -template -struct has_data_member_status : public std::false_type +namespace concealer { -}; - template -struct has_data_member_status().status)>> -: public std::true_type +class ServiceWithValidation { -}; - -template -constexpr auto has_data_member_status_v = has_data_member_status::value; + const std::string service_name; -template -struct has_data_member_success : public std::false_type -{ -}; + rclcpp::Logger logger; -template -struct has_data_member_success().success)>> -: public std::true_type -{ -}; + typename rclcpp::Client::SharedPtr client; -template -constexpr auto has_data_member_success_v = has_data_member_success::value; + rclcpp::WallRate validation_rate; -namespace concealer -{ -template -class ServiceWithValidation -{ public: + template explicit ServiceWithValidation( const std::string & service_name, FieldOperatorApplication & autoware, const std::chrono::nanoseconds validation_interval = std::chrono::seconds(1)) : service_name(service_name), logger(autoware.get_logger()), - client(autoware.create_client(service_name, rmw_qos_profile_default)), + client(autoware.template create_client(service_name, rmw_qos_profile_default)), validation_rate(validation_interval) { } - class TimeoutError : public common::Error + auto operator()(const typename T::Request::SharedPtr & request, std::size_t attempts_count) + -> void { - public: - template - explicit TimeoutError(Ts &&... xs) : common::Error(std::forward(xs)...) - { + while (!client->service_is_ready()) { + RCLCPP_INFO_STREAM(logger, service_name << " service is not ready."); + validation_rate.sleep(); } - }; - auto operator()(const typename T::Request::SharedPtr & request, std::size_t attempts_count = 1) - -> void - { - validateAvailability(); + auto send = [this](const auto & request) { + if (auto future = client->async_send_request(request); + future.wait_for(validation_rate.period()) == std::future_status::ready) { + return std::optional::SharedFuture>(future); + } else { + RCLCPP_ERROR_STREAM(logger, service_name << " service request has timed out."); + return std::optional::SharedFuture>(); + } + }; + for (std::size_t attempt = 0; attempt < attempts_count; ++attempt, validation_rate.sleep()) { - if (const auto & service_call_result = callWithTimeoutValidation(request)) { - if constexpr (has_data_member_status_v) { + if (const auto & service_call_result = send(request)) { + if constexpr (DetectMember_status::value) { if constexpr (std::is_same_v< tier4_external_api_msgs::msg::ResponseStatus, decltype(T::Response::status)>) { @@ -127,7 +114,7 @@ class ServiceWithValidation RCLCPP_INFO_STREAM(logger, service_name << " service request has been accepted."); return; } - } else if constexpr (has_data_member_success_v) { + } else if constexpr (DetectMember_success::value) { if constexpr (std::is_same_v) { if (service_call_result->get()->success) { RCLCPP_INFO_STREAM(logger, service_name << " service request has been accepted."); @@ -147,39 +134,11 @@ class ServiceWithValidation } } } - throw TimeoutError( + + throw common::scenario_simulator_exception::AutowareError( "Requested the service ", std::quoted(service_name), " ", attempts_count, " times, but was not successful."); } - -private: - auto validateAvailability() -> void - { - while (!client->service_is_ready()) { - RCLCPP_INFO_STREAM(logger, service_name << " service is not ready."); - validation_rate.sleep(); - } - } - - auto callWithTimeoutValidation(const typename T::Request::SharedPtr & request) - -> std::optional::SharedFuture> - { - if (auto future = client->async_send_request(request); - future.wait_for(validation_rate.period()) == std::future_status::ready) { - return future; - } else { - RCLCPP_ERROR_STREAM(logger, service_name << " service request has timed out."); - return std::nullopt; - } - } - - const std::string service_name; - - rclcpp::Logger logger; - - typename rclcpp::Client::SharedPtr client; - - rclcpp::WallRate validation_rate; }; } // namespace concealer diff --git a/external/concealer/include/concealer/subscriber_wrapper.hpp b/external/concealer/include/concealer/subscriber_wrapper.hpp index 8247a872e3a..eb4fde75af0 100644 --- a/external/concealer/include/concealer/subscriber_wrapper.hpp +++ b/external/concealer/include/concealer/subscriber_wrapper.hpp @@ -20,46 +20,39 @@ namespace concealer { -enum class ThreadSafety : bool { unsafe, safe }; - -template +template class SubscriberWrapper { - typename MessageType::ConstSharedPtr current_value = std::make_shared(); + typename Message::ConstSharedPtr current_value = std::make_shared(); - typename rclcpp::Subscription::SharedPtr subscription; + typename rclcpp::Subscription::SharedPtr subscription; public: - auto operator()() const -> decltype(auto) - { - if constexpr (thread_safety == ThreadSafety::unsafe) { - return *current_value; - } else { - return *std::atomic_load(¤t_value); - } - } + auto operator()() const -> const auto & { return *std::atomic_load(¤t_value); } - template - SubscriberWrapper( - const std::string & topic, const rclcpp::QoS & quality_of_service, - NodeInterface & autoware_interface, - const std::function & callback = {}) - : subscription(autoware_interface.template create_subscription( + template + explicit SubscriberWrapper( + const std::string & topic, const rclcpp::QoS & quality_of_service, Autoware & autoware, + const Callback & callback) + : subscription(autoware.template create_subscription( topic, quality_of_service, - [this, callback](const typename MessageType::ConstSharedPtr message) { - if constexpr (thread_safety == ThreadSafety::safe) { - std::atomic_store(¤t_value, message); - if (current_value and callback) { - callback(*std::atomic_load(¤t_value)); - } - } else { - if (current_value = message; current_value and callback) { - callback(*current_value); - } + [this, callback](const typename Message::ConstSharedPtr & message) { + if (std::atomic_store(¤t_value, message); current_value) { + callback(*std::atomic_load(¤t_value)); } })) { } + + template + explicit SubscriberWrapper( + const std::string & topic, const rclcpp::QoS & quality_of_service, Autoware & autoware) + : subscription(autoware.template create_subscription( + topic, quality_of_service, [this](const typename Message::ConstSharedPtr & message) { + std::atomic_store(¤t_value, message); + })) + { + } }; } // namespace concealer diff --git a/external/concealer/include/concealer/task_queue.hpp b/external/concealer/include/concealer/task_queue.hpp index 8f1b84f0f0f..4440e890268 100644 --- a/external/concealer/include/concealer/task_queue.hpp +++ b/external/concealer/include/concealer/task_queue.hpp @@ -45,8 +45,6 @@ class TaskQueue public: explicit TaskQueue(); - void stopAndJoin(); - ~TaskQueue(); template diff --git a/external/concealer/include/concealer/transition_assertion.hpp b/external/concealer/include/concealer/transition_assertion.hpp index 7850899362e..ce28408a7f1 100644 --- a/external/concealer/include/concealer/transition_assertion.hpp +++ b/external/concealer/include/concealer/transition_assertion.hpp @@ -25,6 +25,7 @@ namespace concealer template struct TransitionAssertion { +protected: const std::chrono::steady_clock::time_point start; const std::chrono::seconds initialize_duration; @@ -42,16 +43,16 @@ struct TransitionAssertion #define DEFINE_WAIT_FOR_AUTOWARE_STATE_TO_BE(STATE) \ template \ - auto waitForAutowareStateToBe##STATE( \ + auto waitForAutowareStateToBe_##STATE( \ Thunk && thunk = [] {}, Interval interval = std::chrono::seconds(1)) \ { \ - for (thunk(); not static_cast(*this).isStopRequested() and \ - not static_cast(*this).is##STATE(); \ + for (thunk(); not static_cast(*this).is_stop_requested.load() and \ + static_cast(*this).autoware_state != #STATE; \ rclcpp::GenericRate(interval).sleep()) { \ if ( \ have_never_been_engaged and \ start + initialize_duration <= std::chrono::steady_clock::now()) { \ - const auto state = static_cast(*this).getAutowareStateName(); \ + const auto state = static_cast(*this).autoware_state; \ throw common::AutowareError( \ "Simulator waited for the Autoware state to transition to " #STATE \ ", but time is up. The current Autoware state is ", \ @@ -60,19 +61,19 @@ struct TransitionAssertion thunk(); \ } \ } \ - if constexpr (std::string_view(#STATE) == std::string_view("Driving")) { \ + if constexpr (std::string_view(#STATE) == std::string_view("DRIVING")) { \ have_never_been_engaged = false; \ } \ } \ static_assert(true) - DEFINE_WAIT_FOR_AUTOWARE_STATE_TO_BE(Initializing); - DEFINE_WAIT_FOR_AUTOWARE_STATE_TO_BE(WaitingForRoute); - DEFINE_WAIT_FOR_AUTOWARE_STATE_TO_BE(Planning); - DEFINE_WAIT_FOR_AUTOWARE_STATE_TO_BE(WaitingForEngage); - DEFINE_WAIT_FOR_AUTOWARE_STATE_TO_BE(Driving); - DEFINE_WAIT_FOR_AUTOWARE_STATE_TO_BE(ArrivedGoal); - DEFINE_WAIT_FOR_AUTOWARE_STATE_TO_BE(Finalizing); + DEFINE_WAIT_FOR_AUTOWARE_STATE_TO_BE(INITIALIZING); + DEFINE_WAIT_FOR_AUTOWARE_STATE_TO_BE(WAITING_FOR_ROUTE); + DEFINE_WAIT_FOR_AUTOWARE_STATE_TO_BE(PLANNING); + DEFINE_WAIT_FOR_AUTOWARE_STATE_TO_BE(WAITING_FOR_ENGAGE); + DEFINE_WAIT_FOR_AUTOWARE_STATE_TO_BE(DRIVING); + DEFINE_WAIT_FOR_AUTOWARE_STATE_TO_BE(ARRIVED_GOAL); + DEFINE_WAIT_FOR_AUTOWARE_STATE_TO_BE(FINALIZING); #undef DEFINE_WAIT_FOR_AUTOWARE_STATE_TO_BE }; diff --git a/external/concealer/package.xml b/external/concealer/package.xml index dcc0097f4da..62be863d443 100644 --- a/external/concealer/package.xml +++ b/external/concealer/package.xml @@ -2,7 +2,7 @@ concealer - 7.3.3 + 7.4.3 Provides a class 'Autoware' to conceal miscellaneous things to simplify Autoware management of the simulator. Tatsuya Yamasaki Apache License 2.0 diff --git a/external/concealer/src/autoware.cpp b/external/concealer/src/autoware.cpp deleted file mode 100644 index f29cbd93e2d..00000000000 --- a/external/concealer/src/autoware.cpp +++ /dev/null @@ -1,59 +0,0 @@ -// Copyright 2015 TIER IV, Inc. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include - -namespace concealer -{ -Autoware::Autoware() -: rclcpp::Node("concealer", "simulation", rclcpp::NodeOptions().use_global_arguments(false)), - current_acceleration(geometry_msgs::msg::Accel()), - current_twist(geometry_msgs::msg::Twist()), - current_pose(geometry_msgs::msg::Pose()) -{ -} - -auto Autoware::getGearCommand() const -> autoware_vehicle_msgs::msg::GearCommand -{ - static auto gear_command = []() { - autoware_vehicle_msgs::msg::GearCommand gear_command; - gear_command.command = autoware_vehicle_msgs::msg::GearCommand::DRIVE; - return gear_command; - }(); - gear_command.stamp = now(); - return gear_command; -} - -auto Autoware::set(const geometry_msgs::msg::Accel & acceleration) -> void -{ - current_acceleration.store(acceleration); -} - -auto Autoware::set(const geometry_msgs::msg::Twist & twist) -> void { current_twist.store(twist); } - -auto Autoware::set(const geometry_msgs::msg::Pose & pose) -> void { current_pose.store(pose); } - -auto Autoware::getTurnIndicatorsCommand() const -> autoware_vehicle_msgs::msg::TurnIndicatorsCommand -{ - static auto turn_indicators_command = []() { - autoware_vehicle_msgs::msg::TurnIndicatorsCommand turn_indicators_command; - turn_indicators_command.command = autoware_vehicle_msgs::msg::TurnIndicatorsCommand::NO_COMMAND; - return turn_indicators_command; - }(); - turn_indicators_command.stamp = now(); - return turn_indicators_command; -} - -auto Autoware::rethrow() -> void {} -} // namespace concealer diff --git a/external/concealer/src/autoware_universe.cpp b/external/concealer/src/autoware_universe.cpp index da3d240d571..7467290ce20 100644 --- a/external/concealer/src/autoware_universe.cpp +++ b/external/concealer/src/autoware_universe.cpp @@ -17,8 +17,9 @@ namespace concealer { AutowareUniverse::AutowareUniverse(bool simulate_localization) -: getCommand("/control/command/control_cmd", rclcpp::QoS(1), *this), - getGearCommandImpl("/control/command/gear_cmd", rclcpp::QoS(1), *this), +: rclcpp::Node("concealer", "simulation", rclcpp::NodeOptions().use_global_arguments(false)), + getCommand("/control/command/control_cmd", rclcpp::QoS(1), *this), + getGearCommand("/control/command/gear_cmd", rclcpp::QoS(1), *this), getTurnIndicatorsCommand("/control/command/turn_indicators_cmd", rclcpp::QoS(1), *this), getPathWithLaneId( "/planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id", rclcpp::QoS(1), @@ -50,21 +51,20 @@ AutowareUniverse::AutowareUniverse(bool simulate_localization) response->success = true; } else if (request->mode == ControlModeCommand::Request::MANUAL) { /* - NOTE: - MANUAL request will come when a remote override is triggered. - But scenario_simulator_v2 don't support a remote override for now. + NOTE: MANUAL request will come when a remote override is triggered. + But scenario_simulator_v2 don't support a remote override for now. */ response->success = false; } else { response->success = false; } })), - // Autoware.Universe requires localization topics to send data at 50Hz - localization_update_timer(rclcpp::create_timer( - this, get_clock(), std::chrono::milliseconds(20), [this]() { updateLocalization(); })), - // Autoware.Universe requires vehicle state topics to send data at 30Hz - vehicle_state_update_timer(rclcpp::create_timer( - this, get_clock(), std::chrono::milliseconds(33), [this]() { updateVehicleState(); })), + localization_update_timer( + rclcpp::create_timer( // Autoware.Universe requires localization topics to send data at 50Hz + this, get_clock(), std::chrono::milliseconds(20), [this]() { updateLocalization(); })), + vehicle_state_update_timer( + rclcpp::create_timer( // Autoware.Universe requires vehicle state topics to send data at 30Hz + this, get_clock(), std::chrono::milliseconds(33), [this]() { updateVehicleState(); })), localization_and_vehicle_state_update_thread(std::thread([this]() { try { while (rclcpp::ok() and not is_stop_requested.load()) { @@ -78,31 +78,17 @@ AutowareUniverse::AutowareUniverse(bool simulate_localization) { } -AutowareUniverse::~AutowareUniverse() { stopAndJoin(); } - -auto AutowareUniverse::rethrow() -> void -{ - if (is_thrown.load()) { - throw thrown; - } -} - -auto AutowareUniverse::stopAndJoin() -> void +AutowareUniverse::~AutowareUniverse() { is_stop_requested.store(true); localization_and_vehicle_state_update_thread.join(); } -auto AutowareUniverse::getAcceleration() const -> double -{ - return getCommand().longitudinal.acceleration; -} - -auto AutowareUniverse::getVelocity() const -> double { return getCommand().longitudinal.velocity; } - -auto AutowareUniverse::getSteeringAngle() const -> double +auto AutowareUniverse::rethrow() -> void { - return getCommand().lateral.steering_tire_angle; + if (is_thrown.load()) { + throw thrown; + } } auto AutowareUniverse::updateLocalization() -> void @@ -122,7 +108,7 @@ auto AutowareUniverse::updateLocalization() -> void }()); setOdometry([this]() { - nav_msgs::msg::Odometry message; + Odometry message; message.header.stamp = get_clock()->now(); message.header.frame_id = "map"; message.pose.pose = current_pose.load(); @@ -133,7 +119,7 @@ auto AutowareUniverse::updateLocalization() -> void setPose([this]() { // See https://github.com/tier4/autoware.universe/blob/45ab20af979c5663e5a8d4dda787b1dea8d6e55b/simulator/simple_planning_simulator/src/simple_planning_simulator/simple_planning_simulator_core.cpp#L785-L803 - geometry_msgs::msg::PoseWithCovarianceStamped message; + PoseWithCovarianceStamped message; message.header.stamp = get_clock()->now(); message.header.frame_id = "map"; message.pose.pose = current_pose.load(); @@ -163,7 +149,7 @@ auto AutowareUniverse::updateVehicleState() -> void setSteeringReport([this]() { SteeringReport message; message.stamp = get_clock()->now(); - message.steering_tire_angle = getSteeringAngle(); + message.steering_tire_angle = getCommand().lateral.steering_tire_angle; return message; }()); @@ -186,21 +172,40 @@ auto AutowareUniverse::updateVehicleState() -> void }()); } -auto AutowareUniverse::getGearCommand() const -> GearCommand { return getGearCommandImpl(); } - -auto AutowareUniverse::getGearSign() const -> double +auto AutowareUniverse::getVehicleCommand() const -> std::tuple { - /// @todo Add support for GearCommand::NONE to return 0.0 - /// @sa https://github.com/autowarefoundation/autoware.universe/blob/main/simulator/simple_planning_simulator/src/simple_planning_simulator/simple_planning_simulator_core.cpp#L475 - return getGearCommand().command == GearCommand::REVERSE or - getGearCommand().command == GearCommand::REVERSE_2 - ? -1.0 - : 1.0; -} - -auto AutowareUniverse::getVehicleCommand() const -> std::tuple -{ - return std::make_tuple(getCommand(), getGearCommand()); + const auto control_command = getCommand(); + + const auto gear_command = getGearCommand(); + + auto sign_of = [](auto command) { + switch (command) { + case GearCommand::REVERSE: + case GearCommand::REVERSE_2: + return -1.0; + case GearCommand::NONE: + return 0.0; + default: + return 1.0; + } + }; + + /* + TODO Currently, acceleration is returned as an unsigned value + (`control_command.longitudinal.acceleration`) and a signed value + (`sign_of(gear_command.command)`), but this is for historical reasons and + there is no longer any reason to do so. + + return std::make_tuple( + control_command.longitudinal.velocity, + sign_of(gear_command.command) * control_command.longitudinal.acceleration, + control_command.lateral.steering_tire_angle, + gear_command.command); + */ + return std::make_tuple( + control_command.longitudinal.velocity, control_command.longitudinal.acceleration, + control_command.lateral.steering_tire_angle, sign_of(gear_command.command), + gear_command.command); } auto AutowareUniverse::getRouteLanelets() const -> std::vector diff --git a/external/concealer/src/execute.cpp b/external/concealer/src/execute.cpp index 301e48de81a..b6a3c668700 100644 --- a/external/concealer/src/execute.cpp +++ b/external/concealer/src/execute.cpp @@ -71,22 +71,4 @@ auto dollar(const std::string & command) -> std::string return result; } } - -void sudokill(const pid_t process_id) -{ - const auto process_str = std::to_string(process_id); - - const pid_t pid = fork(); - - switch (pid) { - case -1: - std::cout << std::system_error(errno, std::system_category()).what() << std::endl; - break; - case 0: - ::execlp("sudo", "sudo", "kill", "-2", process_str.c_str(), static_cast(nullptr)); - std::cout << std::system_error(errno, std::system_category()).what() << std::endl; - break; - } -} - } // namespace concealer diff --git a/external/concealer/src/field_operator_application.cpp b/external/concealer/src/field_operator_application.cpp index 747c204a68c..1c7cf0d04e7 100644 --- a/external/concealer/src/field_operator_application.cpp +++ b/external/concealer/src/field_operator_application.cpp @@ -12,7 +12,10 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include #include +#include +#include #include #include #include @@ -20,58 +23,197 @@ namespace concealer { -FieldOperatorApplication::FieldOperatorApplication(const pid_t pid) -: rclcpp::Node("concealer_user", "simulation", rclcpp::NodeOptions().use_global_arguments(false)), - process_id(pid) +template +auto toModuleType(const std::string & module_name) { -} + static const std::unordered_map module_type_map = [&]() { + std::unordered_map module_type_map; -auto FieldOperatorApplication::stopRequest() noexcept -> void { is_stop_requested.store(true); } +#define EMPLACE(IDENTIFIER) \ + if constexpr (DetectStaticMember_##IDENTIFIER::value) { \ + module_type_map.emplace(#IDENTIFIER, T::IDENTIFIER); \ + } \ + static_assert(true) -auto FieldOperatorApplication::isStopRequested() const noexcept -> bool -{ - return is_stop_requested.load(); + /* + The following elements are in order of definition in the + tier4_rtc_msgs/msg/Module.msg file. Of course, unordered_map doesn't + preserve the insertion order, so the order itself doesn't matter. + */ + EMPLACE(NONE); + EMPLACE(LANE_CHANGE_LEFT); + EMPLACE(LANE_CHANGE_RIGHT); + EMPLACE(AVOIDANCE_LEFT); + EMPLACE(AVOIDANCE_RIGHT); + EMPLACE(GOAL_PLANNER); + EMPLACE(START_PLANNER); + EMPLACE(PULL_OUT); + EMPLACE(TRAFFIC_LIGHT); + EMPLACE(INTERSECTION); + EMPLACE(INTERSECTION_OCCLUSION); + EMPLACE(CROSSWALK); + EMPLACE(BLIND_SPOT); + EMPLACE(DETECTION_AREA); + EMPLACE(NO_STOPPING_AREA); + EMPLACE(OCCLUSION_SPOT); + EMPLACE(EXT_REQUEST_LANE_CHANGE_LEFT); + EMPLACE(EXT_REQUEST_LANE_CHANGE_RIGHT); + EMPLACE(AVOIDANCE_BY_LC_LEFT); + EMPLACE(AVOIDANCE_BY_LC_RIGHT); + EMPLACE(NO_DRIVABLE_LANE); + +#undef EMPLACE + + return module_type_map; + }(); + + if (const auto module_type = module_type_map.find(module_name); + module_type == module_type_map.end()) { + throw common::Error( + "Unexpected module name for tier4_rtc_msgs::msg::Module: ", module_name, "."); + } else { + return module_type->second; + } } -auto FieldOperatorApplication::spinSome() -> void +template +bool isValidCooperateStatus( + const CooperateStatusType & cooperate_status, std::uint8_t command_type, std::uint8_t module_type) { - if (rclcpp::ok() and not isStopRequested()) { - checkAutowareProcess(); - rclcpp::spin_some(get_node_base_interface()); + /** + * NOTE1: the finish_distance filter is set to over -20.0, + * because some valid rtc statuses has negative finish_distance due to the errors of + * localization or numerical calculation. This threshold is advised by a member of TIER IV + * planning and control team. + */ + + /** + * NOTE2: The difference in the variable referred as a distance is the impact of the + * message specification changes in the following URL. + * This was also decided after consulting with a member of TIER IV planning and control team. + * ref: https://github.com/tier4/tier4_autoware_msgs/commit/8b85e6e43aa48cf4a439c77bf4bf6aee2e70c3ef + */ + if constexpr (DetectMember_distance::value) { + return cooperate_status.module.type == module_type && + command_type != cooperate_status.command_status.type && + cooperate_status.distance >= -20.0; + } else { + return cooperate_status.module.type == module_type && + command_type != cooperate_status.command_status.type && + cooperate_status.finish_distance >= -20.0; } } -auto FieldOperatorApplication::checkAutowareProcess() -> void -{ - if (process_id != 0) { - int wstatus = 0; - int ret = waitpid(process_id, &wstatus, WNOHANG); - if (ret == 0) { - return; - } else if (ret < 0) { - if (errno == ECHILD) { - is_autoware_exited = true; - throw common::AutowareError("Autoware process is already terminated"); - } else { - AUTOWARE_SYSTEM_ERROR("waitpid"); - std::exit(EXIT_FAILURE); +// clang-format off +FieldOperatorApplication::FieldOperatorApplication(const pid_t pid) +: rclcpp::Node("concealer_user", "simulation", rclcpp::NodeOptions().use_global_arguments(false)), + process_id(pid), + getAutowareState("/autoware/state", rclcpp::QoS(1), *this, [this](const auto & message) { + auto state_name_of = [](auto state) constexpr { + switch (state) { + case AutowareState::INITIALIZING: + return "INITIALIZING"; + case AutowareState::WAITING_FOR_ROUTE: + return "WAITING_FOR_ROUTE"; + case AutowareState::PLANNING: + return "PLANNING"; + case AutowareState::WAITING_FOR_ENGAGE: + return "WAITING_FOR_ENGAGE"; + case AutowareState::DRIVING: + return "DRIVING"; + case AutowareState::ARRIVED_GOAL: + return "ARRIVED_GOAL"; + case AutowareState::FINALIZING: + return "FINALIZING"; + default: + return ""; } - } + }; - if (WIFEXITED(wstatus)) { - is_autoware_exited = true; - throw common::AutowareError( - "Autoware process is unintentionally exited. exit code: ", WEXITSTATUS(wstatus)); - } else if (WIFSIGNALED(wstatus)) { - is_autoware_exited = true; - throw common::AutowareError("Autoware process is killed. signal is ", WTERMSIG(wstatus)); + autoware_state = state_name_of(message.state); + }), + getCommand("/control/command/control_cmd", rclcpp::QoS(1), *this), + getCooperateStatusArray("/api/external/get/rtc_status", rclcpp::QoS(1), *this, [this](const auto & v) { latest_cooperate_status_array = v; }), + getEmergencyState("/api/external/get/emergency", rclcpp::QoS(1), *this, [this](const auto & message) { + if (message.emergency) { + throw common::Error("Emergency state received"); } - } + }), +#if __has_include() + getLocalizationState("/api/localization/initialization_state", rclcpp::QoS(1).transient_local(), *this), +#endif + getMrmState("/api/fail_safe/mrm_state", rclcpp::QoS(1), *this, [this](const auto & message) { + auto state_name_of = [](auto state) constexpr { + switch (state) { + case MrmState::MRM_FAILED: + return "MRM_FAILED"; + case MrmState::MRM_OPERATING: + return "MRM_OPERATING"; + case MrmState::MRM_SUCCEEDED: + return "MRM_SUCCEEDED"; + case MrmState::NORMAL: + return "NORMAL"; + case MrmState::UNKNOWN: + return "UNKNOWN"; + default: + throw common::Error( + "Unexpected autoware_adapi_v1_msgs::msg::MrmState::state, number: ", state); + } + }; + + auto behavior_name_of = [](auto behavior) constexpr { + if constexpr (DetectStaticMember_COMFORTABLE_STOP::value) { + if (behavior == MrmState::COMFORTABLE_STOP) { + return "COMFORTABLE_STOP"; + } + } + if constexpr (DetectStaticMember_EMERGENCY_STOP::value) { + if (behavior == MrmState::EMERGENCY_STOP) { + return "EMERGENCY_STOP"; + } + } + if constexpr (DetectStaticMember_NONE::value) { + if (behavior == MrmState::NONE) { + return "NONE"; + } + } + if constexpr (DetectStaticMember_UNKNOWN::value) { + if (behavior == MrmState::UNKNOWN) { + return "UNKNOWN"; + } + } + if constexpr (DetectStaticMember_PULL_OVER::value) { + if (behavior == MrmState::PULL_OVER) { + return "PULL_OVER"; + } + } + throw common::Error( + "Unexpected autoware_adapi_v1_msgs::msg::MrmState::behavior, number: ", behavior); + }; + + minimum_risk_maneuver_state = state_name_of(message.state); + minimum_risk_maneuver_behavior = behavior_name_of(message.behavior); + }), + getPathWithLaneId("/planning/scenario_planning/lane_driving/behavior_planning/path_with_lane_id", rclcpp::QoS(1), *this), + getTrajectory("/api/iv_msgs/planning/scenario_planning/trajectory", rclcpp::QoS(1), *this), + getTurnIndicatorsCommand("/control/command/turn_indicators_cmd", rclcpp::QoS(1), *this), + requestClearRoute("/api/routing/clear_route", *this), + requestCooperateCommands("/api/external/set/rtc_commands", *this), + requestEngage("/api/external/set/engage", *this), + requestInitialPose("/api/localization/initialize", *this), + // NOTE: /api/routing/set_route_points takes a long time to return. But the specified duration is not decided by any technical reasons. + requestSetRoutePoints("/api/routing/set_route_points", *this, std::chrono::seconds(10)), + requestSetRtcAutoMode("/api/external/set/rtc_auto_mode", *this), + requestSetVelocityLimit("/api/autoware/set/velocity_limit", *this), + requestEnableAutowareControl("/api/operation_mode/enable_autoware_control", *this) +{ } +// clang-format on -auto FieldOperatorApplication::shutdownAutoware() -> void +FieldOperatorApplication::~FieldOperatorApplication() { - if (stopRequest(); process_id != 0 && not std::exchange(is_autoware_exited, true)) { + if (is_stop_requested.store(true); + process_id != 0 && not std::exchange(is_autoware_exited, true)) { const auto sigset = [this]() { if (auto signal_set = sigset_t(); sigemptyset(&signal_set) or sigaddset(&signal_set, SIGCHLD)) { @@ -98,7 +240,7 @@ auto FieldOperatorApplication::shutdownAutoware() -> void return timeout; }(); - if (sendSIGINT(); sigtimedwait(&sigset, nullptr, &timeout) < 0) { + if (::kill(process_id, SIGINT); sigtimedwait(&sigset, nullptr, &timeout) < 0) { switch (errno) { case EINTR: /* @@ -146,72 +288,271 @@ auto FieldOperatorApplication::shutdownAutoware() -> void } } -auto FieldOperatorApplication::getTurnIndicatorsCommand() const - -> autoware_vehicle_msgs::msg::TurnIndicatorsCommand +auto FieldOperatorApplication::clearRoute() -> void { - static auto turn_indicators_command = []() { - autoware_vehicle_msgs::msg::TurnIndicatorsCommand turn_indicators_command; - turn_indicators_command.command = autoware_vehicle_msgs::msg::TurnIndicatorsCommand::NO_COMMAND; - return turn_indicators_command; - }(); - turn_indicators_command.stamp = now(); - return turn_indicators_command; + task_queue.delay([this] { + /* + Since this service tends to be available long after the launch of + Autoware, set the attempts_count to a high value. There is no technical + basis for the number 30. + */ + requestClearRoute(std::make_shared(), 30); + }); } -auto FieldOperatorApplication::rethrow() const -> void { task_queue.rethrow(); } -} // namespace concealer +auto FieldOperatorApplication::enableAutowareControl() -> void +{ + task_queue.delay([this]() { + auto request = std::make_shared(); + requestEnableAutowareControl(request, 30); + }); +} -namespace autoware_vehicle_msgs::msg +auto FieldOperatorApplication::engage() -> void { -auto operator<<( - std::ostream & out, const autoware_vehicle_msgs::msg::TurnIndicatorsCommand & message) - -> std::ostream & + task_queue.delay([this]() { + waitForAutowareStateToBe_DRIVING([this]() { + auto request = std::make_shared(); + request->engage = true; + try { + return requestEngage(request, 1); + } catch (const common::AutowareError &) { + return; // Ignore error because this service is validated by Autoware state transition. + } + }); + }); +} + +auto FieldOperatorApplication::engageable() const -> bool { -#define CASE(IDENTIFIER) \ - case autoware_vehicle_msgs::msg::TurnIndicatorsCommand::IDENTIFIER: \ - out << #IDENTIFIER; \ - break + rethrow(); + return task_queue.exhausted() and autoware_state == "WAITING_FOR_ENGAGE"; +} - switch (message.command) { - CASE(DISABLE); - CASE(ENABLE_LEFT); - CASE(ENABLE_RIGHT); - CASE(NO_COMMAND); +auto FieldOperatorApplication::engaged() const -> bool +{ + rethrow(); + return task_queue.exhausted() and autoware_state == "DRIVING"; +} - default: - throw common::Error( - "Unsupported TurnIndicatorsCommand, state number : ", static_cast(message.command)); +auto FieldOperatorApplication::getWaypoints() const -> traffic_simulator_msgs::msg::WaypointsArray +{ + traffic_simulator_msgs::msg::WaypointsArray waypoints; + + for (const auto & point : getTrajectory().points) { + waypoints.waypoints.emplace_back(point.pose.position); } -#undef CASE + return waypoints; +} + +auto FieldOperatorApplication::initialize(const geometry_msgs::msg::Pose & initial_pose) -> void +{ + if (not std::exchange(initialize_was_called, true)) { + task_queue.delay([this, initial_pose]() { + waitForAutowareStateToBe_WAITING_FOR_ROUTE([&]() { +#if __has_include() + if (getLocalizationState().state != LocalizationInitializationState::UNINITIALIZED) { + return; + } +#endif + geometry_msgs::msg::PoseWithCovarianceStamped initial_pose_msg; + initial_pose_msg.header.stamp = get_clock()->now(); + initial_pose_msg.header.frame_id = "map"; + initial_pose_msg.pose.pose = initial_pose; + + auto request = + std::make_shared(); + request->pose.push_back(initial_pose_msg); + try { + return requestInitialPose(request, 1); + } catch (const common::AutowareError &) { + return; // Ignore error because this service is validated by Autoware state transition. + } + }); + }); + } +} + +auto FieldOperatorApplication::plan(const std::vector & route) + -> void +{ + assert(not route.empty()); + + task_queue.delay([this, route] { + waitForAutowareStateToBe_WAITING_FOR_ROUTE(); // NOTE: This is assertion. + + auto request = std::make_shared(); + + request->header = route.back().header; + + /* + NOTE: The autoware_adapi_v1_msgs::srv::SetRoutePoints::Request type was + created on 2022/09/05 [1], and the autoware_adapi_v1_msgs::msg::Option + type data member was added to the + autoware_adapi_v1_msgs::srv::SetRoutePoints::Request type on 2023/04/12 + [2]. Therefore, we cannot expect + autoware_adapi_v1_msgs::srv::SetRoutePoints::Request to always have a + data member `option`. + + [1] https://github.com/autowarefoundation/autoware_adapi_msgs/commit/805f8ebd3ca24564844df9889feeaf183101fbef + [2] https://github.com/autowarefoundation/autoware_adapi_msgs/commit/cf310bd038673b6cbef3ae3b61dfe607212de419 + */ + if constexpr ( + DetectMember_option::value and + DetectMember_allow_goal_modification< + decltype(std::declval().option)>::value) { + request->option.allow_goal_modification = + get_parameter("allow_goal_modification").get_value(); + } + + request->goal = route.back().pose; + + for (const auto & each : route | boost::adaptors::sliced(0, route.size() - 1)) { + request->waypoints.push_back(each.pose); + } + + requestSetRoutePoints(request, 1); - return out; + waitForAutowareStateToBe_WAITING_FOR_ENGAGE(); + }); } -auto operator>>(std::istream & is, autoware_vehicle_msgs::msg::TurnIndicatorsCommand & message) - -> std::istream & +auto FieldOperatorApplication::requestAutoModeForCooperation( + const std::string & module_name, bool enable) -> void { -#define STATE(IDENTIFIER) \ - {#IDENTIFIER, autoware_vehicle_msgs::msg::TurnIndicatorsCommand::IDENTIFIER} + /* + The implementation of this function will not work properly if the + `rtc_auto_mode_manager` package is present. + */ + if (not isPackageExists("rtc_auto_mode_manager")) { + task_queue.delay([this, module_name, enable]() { + auto request = std::make_shared(); + request->module.type = toModuleType(module_name); + request->enable = enable; + /* + We attempt to resend the service up to 30 times, but this number of + times was determined by heuristics, not for any technical reason. + */ + requestSetRtcAutoMode(request, 30); + }); + } else { + throw common::Error( + "FieldOperatorApplication::requestAutoModeForCooperation is not supported in this " + "environment, because rtc_auto_mode_manager is present."); + } +} - std::unordered_map state_dictionary{ - STATE(DISABLE), - STATE(ENABLE_LEFT), - STATE(ENABLE_RIGHT), - STATE(NO_COMMAND), +auto FieldOperatorApplication::sendCooperateCommand( + const std::string & module_name, const std::string & command) -> void +{ + auto to_command_type = [](const auto & command) { + static const std::unordered_map command_type_map = { + {"ACTIVATE", tier4_rtc_msgs::msg::Command::ACTIVATE}, + {"DEACTIVATE", tier4_rtc_msgs::msg::Command::DEACTIVATE}, + }; + if (const auto command_type = command_type_map.find(command); + command_type == command_type_map.end()) { + throw common::Error("Unexpected command for tier4_rtc_msgs::msg::Command: ", command, "."); + } else { + return command_type->second; + } }; -#undef STATE + /* + NOTE: Used cooperate statuses will be deleted correctly in Autoware side + and provided via topic update. But, their update rate (typ. 10Hz) is lower + than the one of scenario_simulator_v2. So, we need to check cooperate + statuses if they are used or not in scenario_simulator_v2 side to avoid + sending the same cooperate command when sending multiple commands between + updates of cooperate statuses. + */ + static std::vector used_cooperate_statuses; - std::string command_string; - is >> command_string; + auto is_used_cooperate_status = [](const auto & cooperate_status) { + return std::find_if( + used_cooperate_statuses.begin(), used_cooperate_statuses.end(), + [&cooperate_status](const auto & used_cooperate_status) { + return used_cooperate_status.module == cooperate_status.module && + used_cooperate_status.uuid == cooperate_status.uuid && + used_cooperate_status.command_status.type == + cooperate_status.command_status.type; + }) != used_cooperate_statuses.end(); + }; - if (auto iter = state_dictionary.find(command_string); iter != state_dictionary.end()) { - message.set__command(iter->second); + if (const auto cooperate_status = std::find_if( + latest_cooperate_status_array.statuses.begin(), + latest_cooperate_status_array.statuses.end(), + [module_type = toModuleType(module_name), + command_type = to_command_type(command), + is_used_cooperate_status](const auto & cooperate_status) { + return isValidCooperateStatus( + cooperate_status, command_type, module_type) && + not is_used_cooperate_status(cooperate_status); + }); + cooperate_status == latest_cooperate_status_array.statuses.end()) { + std::stringstream what; + what + << "Failed to send a cooperate command: Cannot find a valid request to cooperate for module " + << std::quoted(module_name) << " and command " << std::quoted(command) << ". " + << "Please check if the situation is such that the request occurs when sending."; + throw common::Error(what.str()); } else { - throw common::Error("Unsupported TurnIndicatorsCommand::command : ", command_string.c_str()); + tier4_rtc_msgs::msg::CooperateCommand cooperate_command; + cooperate_command.module = cooperate_status->module; + cooperate_command.uuid = cooperate_status->uuid; + cooperate_command.command.type = to_command_type(command); + + auto request = std::make_shared(); + request->stamp = latest_cooperate_status_array.stamp; + request->commands.push_back(cooperate_command); + + task_queue.delay([this, request]() { requestCooperateCommands(request, 1); }); + + used_cooperate_statuses.push_back(*cooperate_status); } +} - return is; +auto FieldOperatorApplication::setVelocityLimit(double velocity_limit) -> void +{ + task_queue.delay([this, velocity_limit]() { + auto request = std::make_shared(); + request->velocity = velocity_limit; + /* + We attempt to resend the service up to 30 times, but this number of + times was determined by heuristics, not for any technical reason. + */ + requestSetVelocityLimit(request, 30); + }); +} + +auto FieldOperatorApplication::spinSome() -> void +{ + if (rclcpp::ok() and not is_stop_requested.load()) { + if (process_id != 0) { + auto status = 0; + if (const auto id = waitpid(process_id, &status, WNOHANG); id < 0) { + switch (errno) { + case ECHILD: + is_autoware_exited = true; + throw common::AutowareError("Autoware process is already terminated"); + default: + RCLCPP_ERROR_STREAM( + get_logger(), std::system_error(errno, std::system_category()).what()); + std::exit(EXIT_FAILURE); + } + } else if (0 < id) { + if (WIFEXITED(status)) { + is_autoware_exited = true; + throw common::AutowareError( + "Autoware process is unintentionally exited. exit code: ", WEXITSTATUS(status)); + } else if (WIFSIGNALED(status)) { + is_autoware_exited = true; + throw common::AutowareError("Autoware process is killed. signal is ", WTERMSIG(status)); + } + } + } + rclcpp::spin_some(get_node_base_interface()); + } } -} // namespace autoware_vehicle_msgs::msg +} // namespace concealer diff --git a/external/concealer/src/field_operator_application_for_autoware_universe.cpp b/external/concealer/src/field_operator_application_for_autoware_universe.cpp deleted file mode 100644 index b3438d35a89..00000000000 --- a/external/concealer/src/field_operator_application_for_autoware_universe.cpp +++ /dev/null @@ -1,547 +0,0 @@ -// Copyright 2015 TIER IV, Inc. All rights reserved. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - -#include -#include -#include -#include -#include - -namespace concealer -{ -FieldOperatorApplicationFor::~FieldOperatorApplicationFor() -{ - shutdownAutoware(); - // All tasks should be complete before the services used in them will be deinitialized. - task_queue.stopAndJoin(); -} - -template -struct lister -{ - std::reference_wrapper tuples; - - explicit lister(const Tuples & tuples) : tuples(std::cref(tuples)) {} -}; - -template -auto operator<<(std::ostream & ostream, const lister & lister) -> std::ostream & -{ - for (auto iterator = std::begin(lister.tuples.get()); iterator != std::end(lister.tuples.get()); - ++iterator) { - switch (std::distance(iterator, std::end(lister.tuples.get()))) { - case 1: - return ostream << std::get(*iterator); - - case 2: - ostream << std::get(*iterator) << " and "; - break; - - default: - ostream << std::get(*iterator) << ", "; - break; - } - } - - return ostream; -} - -template -auto listup(const Tuples & tuples) -> lister -{ - return lister(tuples); -} - -#define DEFINE_STATIC_DATA_MEMBER_DETECTOR(NAME) \ - template \ - struct HasStatic##NAME : public std::false_type \ - { \ - }; \ - \ - template \ - struct HasStatic##NAME> : public std::true_type \ - { \ - } - -DEFINE_STATIC_DATA_MEMBER_DETECTOR(NONE); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(LANE_CHANGE_LEFT); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(LANE_CHANGE_RIGHT); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(AVOIDANCE_LEFT); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(AVOIDANCE_RIGHT); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(GOAL_PLANNER); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(START_PLANNER); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(PULL_OUT); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(TRAFFIC_LIGHT); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(INTERSECTION); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(INTERSECTION_OCCLUSION); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(CROSSWALK); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(BLIND_SPOT); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(DETECTION_AREA); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(NO_STOPPING_AREA); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(OCCLUSION_SPOT); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(EXT_REQUEST_LANE_CHANGE_LEFT); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(EXT_REQUEST_LANE_CHANGE_RIGHT); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(AVOIDANCE_BY_LC_LEFT); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(AVOIDANCE_BY_LC_RIGHT); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(NO_DRIVABLE_LANE); - -// For MrmState::behavior -DEFINE_STATIC_DATA_MEMBER_DETECTOR(COMFORTABLE_STOP); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(EMERGENCY_STOP); -// DEFINE_STATIC_DATA_MEMBER_DETECTOR(NONE); // NOTE: This is defined above. -DEFINE_STATIC_DATA_MEMBER_DETECTOR(UNKNOWN); -DEFINE_STATIC_DATA_MEMBER_DETECTOR(PULL_OVER); - -#undef DEFINE_STATIC_DATA_MEMBER_DETECTOR - -/** - * NOTE: for changes from `distance` to start/finish distance - * see https://github.com/tier4/tier4_autoware_msgs/commit/8b85e6e43aa48cf4a439c77bf4bf6aee2e70c3ef - */ -template -struct HasDistance : public std::false_type -{ -}; - -template -struct HasDistance().distance)>> : public std::true_type -{ -}; - -template -auto toModuleType(const std::string & module_name) -{ - static const std::unordered_map module_type_map = [&]() { - std::unordered_map module_type_map; - -#define EMPLACE(IDENTIFIER) \ - if constexpr (HasStatic##IDENTIFIER::value) { \ - module_type_map.emplace(#IDENTIFIER, T::IDENTIFIER); \ - } \ - static_assert(true) - - /* - The following elements are in order of definition in the - tier4_rtc_msgs/msg/Module.msg file. Of course, unordered_map doesn't - preserve the insertion order, so the order itself doesn't matter. - */ - EMPLACE(NONE); - EMPLACE(LANE_CHANGE_LEFT); - EMPLACE(LANE_CHANGE_RIGHT); - EMPLACE(AVOIDANCE_LEFT); - EMPLACE(AVOIDANCE_RIGHT); - EMPLACE(GOAL_PLANNER); - EMPLACE(START_PLANNER); - EMPLACE(PULL_OUT); - EMPLACE(TRAFFIC_LIGHT); - EMPLACE(INTERSECTION); - EMPLACE(INTERSECTION_OCCLUSION); - EMPLACE(CROSSWALK); - EMPLACE(BLIND_SPOT); - EMPLACE(DETECTION_AREA); - EMPLACE(NO_STOPPING_AREA); - EMPLACE(OCCLUSION_SPOT); - EMPLACE(EXT_REQUEST_LANE_CHANGE_LEFT); - EMPLACE(EXT_REQUEST_LANE_CHANGE_RIGHT); - EMPLACE(AVOIDANCE_BY_LC_LEFT); - EMPLACE(AVOIDANCE_BY_LC_RIGHT); - EMPLACE(NO_DRIVABLE_LANE); - -#undef EMPLACE - - return module_type_map; - }(); - - if (const auto module_type = module_type_map.find(module_name); - module_type == module_type_map.end()) { - throw common::Error( - "Unexpected module name for tier4_rtc_msgs::msg::Module: ", module_name, - ". One of the following module names is expected: ", listup<0>(module_type_map), "."); - } else { - return module_type->second; - } -} - -template -bool isValidCooperateStatus( - const CooperateStatusType & cooperate_status, std::uint8_t command_type, std::uint8_t module_type) -{ - /** - * NOTE1: the finish_distance filter is set to over -20.0, - * because some valid rtc statuses has negative finish_distance due to the errors of - * localization or numerical calculation. This threshold is advised by a member of TIER IV - * planning and control team. - */ - - /** - * NOTE2: The difference in the variable referred as a distance is the impact of the - * message specification changes in the following URL. - * This was also decided after consulting with a member of TIER IV planning and control team. - * ref: https://github.com/tier4/tier4_autoware_msgs/commit/8b85e6e43aa48cf4a439c77bf4bf6aee2e70c3ef - */ - if constexpr (HasDistance::value) { - return cooperate_status.module.type == module_type && - command_type != cooperate_status.command_status.type && - cooperate_status.distance >= -20.0; - } else { - return cooperate_status.module.type == module_type && - command_type != cooperate_status.command_status.type && - cooperate_status.finish_distance >= -20.0; - } -} - -auto FieldOperatorApplicationFor::sendCooperateCommand( - const std::string & module_name, const std::string & command) -> void -{ - auto to_command_type = [](const auto & command) { - static const std::unordered_map command_type_map = { - {"ACTIVATE", tier4_rtc_msgs::msg::Command::ACTIVATE}, - {"DEACTIVATE", tier4_rtc_msgs::msg::Command::DEACTIVATE}, - }; - if (const auto command_type = command_type_map.find(command); - command_type == command_type_map.end()) { - throw common::Error( - "Unexpected command for tier4_rtc_msgs::msg::Command: ", command, - ", One of the following commands is expected: ", listup<0>(command_type_map), "."); - } else { - return command_type->second; - } - }; - - /** - * NOTE: Used cooperate statuses will be deleted correctly in Autoware side and provided via topic update. - * But, their update rate (typ. 10Hz) is lower than the one of scenario_simulator_v2. - * So, we need to check cooperate statuses if they are used or not in scenario_simulator_v2 side - * to avoid sending the same cooperate command when sending multiple commands between updates of cooperate statuses. - */ - static std::vector used_cooperate_statuses; - auto is_used_cooperate_status = [](const auto & cooperate_status) { - return std::find_if( - used_cooperate_statuses.begin(), used_cooperate_statuses.end(), - [&cooperate_status](const auto & used_cooperate_status) { - return used_cooperate_status.module == cooperate_status.module && - used_cooperate_status.uuid == cooperate_status.uuid && - used_cooperate_status.command_status.type == - cooperate_status.command_status.type; - }) != used_cooperate_statuses.end(); - }; - - if (const auto cooperate_status = std::find_if( - latest_cooperate_status_array.statuses.begin(), - latest_cooperate_status_array.statuses.end(), - [module_type = toModuleType(module_name), - command_type = to_command_type(command), - is_used_cooperate_status](const auto & cooperate_status) { - return isValidCooperateStatus( - cooperate_status, command_type, module_type) && - not is_used_cooperate_status(cooperate_status); - }); - cooperate_status == latest_cooperate_status_array.statuses.end()) { - std::stringstream what; - what - << "Failed to send a cooperate command: Cannot find a valid request to cooperate for module " - << std::quoted(module_name) << " and command " << std::quoted(command) << "." - << "Please check if the situation is such that the request occurs when sending."; - throw common::Error(what.str()); - } else { - tier4_rtc_msgs::msg::CooperateCommand cooperate_command; - cooperate_command.module = cooperate_status->module; - cooperate_command.uuid = cooperate_status->uuid; - cooperate_command.command.type = to_command_type(command); - - auto request = std::make_shared(); - request->stamp = latest_cooperate_status_array.stamp; - request->commands.push_back(cooperate_command); - - task_queue.delay([this, request]() { requestCooperateCommands(request); }); - - used_cooperate_statuses.push_back(*cooperate_status); - } -} - -auto FieldOperatorApplicationFor::initialize( - const geometry_msgs::msg::Pose & initial_pose) -> void -{ - if (not std::exchange(initialize_was_called, true)) { - task_queue.delay([this, initial_pose]() { - waitForAutowareStateToBeWaitingForRoute([&]() { - -#if __has_include() - if ( - getLocalizationState().state != - autoware_adapi_v1_msgs::msg::LocalizationInitializationState::UNINITIALIZED) { - return; - } -#endif - geometry_msgs::msg::PoseWithCovarianceStamped initial_pose_msg; - initial_pose_msg.header.stamp = get_clock()->now(); - initial_pose_msg.header.frame_id = "map"; - initial_pose_msg.pose.pose = initial_pose; - - auto request = - std::make_shared(); - request->pose.push_back(initial_pose_msg); - try { - return requestInitialPose(request); - } catch (const decltype(requestInitialPose)::TimeoutError &) { - // ignore timeout error because this service is validated by Autoware state transition. - return; - } - }); - }); - } -} - -auto FieldOperatorApplicationFor::plan( - const std::vector & route) -> void -{ - assert(not route.empty()); - - task_queue.delay([this, route] { - waitForAutowareStateToBeWaitingForRoute(); // NOTE: This is assertion. - - auto request = std::make_shared(); - - request->header = route.back().header; - - /* - NOTE: The autoware_adapi_v1_msgs::srv::SetRoutePoints::Request type was - created on 2022/09/05 [1], and the autoware_adapi_v1_msgs::msg::Option - type data member was added to the - autoware_adapi_v1_msgs::srv::SetRoutePoints::Request type on 2023/04/12 - [2]. Therefore, we cannot expect - autoware_adapi_v1_msgs::srv::SetRoutePoints::Request to always have a - data member `option`. - - [1] https://github.com/autowarefoundation/autoware_adapi_msgs/commit/805f8ebd3ca24564844df9889feeaf183101fbef - [2] https://github.com/autowarefoundation/autoware_adapi_msgs/commit/cf310bd038673b6cbef3ae3b61dfe607212de419 - */ - if constexpr ( - has_data_member_option_v and - has_data_member_allow_goal_modification_v< - decltype(std::declval().option)>) { - request->option.allow_goal_modification = - get_parameter("allow_goal_modification").get_value(); - } - - request->goal = route.back().pose; - - for (const auto & each : route | boost::adaptors::sliced(0, route.size() - 1)) { - request->waypoints.push_back(each.pose); - } - - requestSetRoutePoints(request); - - waitForAutowareStateToBeWaitingForEngage(); - }); -} - -auto FieldOperatorApplicationFor::clearRoute() -> void -{ - task_queue.delay([this] { - /* - Since this service tends to be available long after the launch of - Autoware, set the attempts_count to a high value. There is no technical - basis for the number 30. - */ - requestClearRoute(std::make_shared(), 30); - }); -} - -auto FieldOperatorApplicationFor::engage() -> void -{ - task_queue.delay([this]() { - waitForAutowareStateToBeDriving([this]() { - auto request = std::make_shared(); - request->engage = true; - try { - return requestEngage(request); - } catch (const decltype(requestEngage)::TimeoutError &) { - // ignore timeout error because this service is validated by Autoware state transition. - return; - } - }); - }); -} - -auto FieldOperatorApplicationFor::engageable() const -> bool -{ - rethrow(); - return task_queue.exhausted() and isWaitingForEngage(); -} - -auto FieldOperatorApplicationFor::engaged() const -> bool -{ - rethrow(); - return task_queue.exhausted() and isDriving(); -} - -auto FieldOperatorApplicationFor::getWaypoints() const - -> traffic_simulator_msgs::msg::WaypointsArray -{ - traffic_simulator_msgs::msg::WaypointsArray waypoints; - - for (const auto & point : getTrajectory().points) { - waypoints.waypoints.emplace_back(point.pose.position); - } - - return waypoints; -} - -auto FieldOperatorApplicationFor::getTurnIndicatorsCommand() const - -> autoware_vehicle_msgs::msg::TurnIndicatorsCommand -{ - return getTurnIndicatorsCommandImpl(); -} - -auto FieldOperatorApplicationFor::restrictTargetSpeed(double value) const - -> double -{ - // no restrictions here - return value; -} - -auto FieldOperatorApplicationFor::getAutowareStateName() const -> std::string -{ - return autoware_state; -} - -auto FieldOperatorApplicationFor::getEmergencyStateName() const -> std::string -{ - return minimum_risk_maneuver_state; -} - -auto FieldOperatorApplicationFor::getMinimumRiskManeuverBehaviorName() const - -> std::string -{ - return minimum_risk_maneuver_behavior; -} - -auto FieldOperatorApplicationFor::getMinimumRiskManeuverStateName() const - -> std::string -{ - return minimum_risk_maneuver_state; -} - -auto FieldOperatorApplicationFor::sendSIGINT() -> void // -{ - ::kill(process_id, SIGINT); -} - -auto FieldOperatorApplicationFor::setVelocityLimit(double velocity_limit) -> void -{ - task_queue.delay([this, velocity_limit]() { - auto request = std::make_shared(); - request->velocity = velocity_limit; - // We attempt to resend the service up to 30 times, but this number of times was determined by - // heuristics, not for any technical reason - requestSetVelocityLimit(request, 30); - }); -} - -auto FieldOperatorApplicationFor::requestAutoModeForCooperation( - const std::string & module_name, bool enable) -> void -{ - // Note: The implementation of this function will not work properly - // if the `rtc_auto_mode_manager` package is present. - if (not isPackageExists("rtc_auto_mode_manager")) { - task_queue.delay([this, module_name, enable]() { - auto request = std::make_shared(); - request->module.type = toModuleType(module_name); - request->enable = enable; - // We attempt to resend the service up to 30 times, but this number of times was determined by - // heuristics, not for any technical reason - requestSetRtcAutoMode(request, 30); - }); - } else { - throw common::Error( - "FieldOperatorApplicationFor::requestAutoModeForCooperation is not " - "supported in this environment, because rtc_auto_mode_manager is present."); - } -} - -auto FieldOperatorApplicationFor::enableAutowareControl() -> void -{ - task_queue.delay([this]() { - auto request = std::make_shared(); - requestEnableAutowareControl(request, 30); - }); -} - -auto FieldOperatorApplicationFor::receiveEmergencyState( - const tier4_external_api_msgs::msg::Emergency & message) -> void -{ - if (message.emergency) { - throw common::Error("Emergency state received"); - } -} - -template -auto toMinimumRiskManeuverBehaviorString(const std::uint8_t & behavior_number) -> std::string -{ - static const std::unordered_map behavior_string_map = [&]() { - std::unordered_map behavior_string_map; - -#define EMPLACE(IDENTIFIER) \ - if constexpr (HasStatic##IDENTIFIER::value) { \ - behavior_string_map.emplace(T::IDENTIFIER, #IDENTIFIER); \ - } \ - static_assert(true) - - EMPLACE(COMFORTABLE_STOP); - EMPLACE(EMERGENCY_STOP); - EMPLACE(NONE); - EMPLACE(UNKNOWN); - EMPLACE(PULL_OVER); - -#undef EMPLACE - return behavior_string_map; - }(); - - if (const auto behavior = behavior_string_map.find(behavior_number); - behavior == behavior_string_map.end()) { - throw common::Error( - "Unexpected autoware_adapi_v1_msgs::msg::MrmState::behavior, number: ", behavior_number); - } else { - return behavior->second; - } -} - -auto toMinimumRiskManeuverStateString(const std::uint8_t & state_number) -> std::string -{ - static const std::unordered_map state_string_map = { - {autoware_adapi_v1_msgs::msg::MrmState::MRM_FAILED, "MRM_FAILED"}, - {autoware_adapi_v1_msgs::msg::MrmState::MRM_OPERATING, "MRM_OPERATING"}, - {autoware_adapi_v1_msgs::msg::MrmState::MRM_SUCCEEDED, "MRM_SUCCEEDED"}, - {autoware_adapi_v1_msgs::msg::MrmState::NORMAL, "NORMAL"}, - {autoware_adapi_v1_msgs::msg::MrmState::UNKNOWN, "UNKNOWN"}, - }; - - if (const auto state = state_string_map.find(state_number); state == state_string_map.end()) { - throw common::Error( - "Unexpected autoware_adapi_v1_msgs::msg::MrmState::state, number: ", state_number); - } else { - return state->second; - } -} - -auto FieldOperatorApplicationFor::receiveMrmState( - const autoware_adapi_v1_msgs::msg::MrmState & message) -> void -{ - minimum_risk_maneuver_state = toMinimumRiskManeuverStateString(message.state); - - minimum_risk_maneuver_behavior = - toMinimumRiskManeuverBehaviorString(message.behavior); -} -} // namespace concealer diff --git a/external/concealer/src/task_queue.cpp b/external/concealer/src/task_queue.cpp index 32c7b003cc8..cc2298324d1 100644 --- a/external/concealer/src/task_queue.cpp +++ b/external/concealer/src/task_queue.cpp @@ -42,7 +42,7 @@ TaskQueue::TaskQueue() { } -void TaskQueue::stopAndJoin() +TaskQueue::~TaskQueue() { if (dispatcher.joinable()) { is_stop_requested.store(true, std::memory_order_release); @@ -50,8 +50,6 @@ void TaskQueue::stopAndJoin() } } -TaskQueue::~TaskQueue() { stopAndJoin(); } - bool TaskQueue::exhausted() const noexcept { return is_exhausted.load(); } void TaskQueue::rethrow() const diff --git a/external/embree_vendor/CHANGELOG.rst b/external/embree_vendor/CHANGELOG.rst index e3cb1d8504e..7e0f6431a9f 100644 --- a/external/embree_vendor/CHANGELOG.rst +++ b/external/embree_vendor/CHANGELOG.rst @@ -24,6 +24,54 @@ Changelog for package embree_vendor * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/external/embree_vendor/package.xml b/external/embree_vendor/package.xml index 7e885acc485..39dfff17653 100644 --- a/external/embree_vendor/package.xml +++ b/external/embree_vendor/package.xml @@ -2,7 +2,7 @@ embree_vendor - 7.3.3 + 7.4.3 vendor packages for intel raytracing kernel library masaya Apache 2.0 diff --git a/map/kashiwanoha_map/CHANGELOG.rst b/map/kashiwanoha_map/CHANGELOG.rst index 08447e57c83..5f4decd04b2 100644 --- a/map/kashiwanoha_map/CHANGELOG.rst +++ b/map/kashiwanoha_map/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package kashiwanoha_map * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/map/kashiwanoha_map/package.xml b/map/kashiwanoha_map/package.xml index a3eea43a4bb..667e0c0aa7a 100644 --- a/map/kashiwanoha_map/package.xml +++ b/map/kashiwanoha_map/package.xml @@ -2,7 +2,7 @@ kashiwanoha_map - 7.3.3 + 7.4.3 map package for kashiwanoha Masaya Kataoka Apache License 2.0 diff --git a/map/simple_cross_map/CHANGELOG.rst b/map/simple_cross_map/CHANGELOG.rst index 1b8bb722c89..68db8f01508 100644 --- a/map/simple_cross_map/CHANGELOG.rst +++ b/map/simple_cross_map/CHANGELOG.rst @@ -9,6 +9,54 @@ Changelog for package simple_cross_map * Merge branch 'master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/map/simple_cross_map/package.xml b/map/simple_cross_map/package.xml index 5f125934880..2a575167113 100644 --- a/map/simple_cross_map/package.xml +++ b/map/simple_cross_map/package.xml @@ -2,7 +2,7 @@ simple_cross_map - 7.3.3 + 7.4.3 map package for simple cross Masaya Kataoka Apache License 2.0 diff --git a/mock/cpp_mock_scenarios/CHANGELOG.rst b/mock/cpp_mock_scenarios/CHANGELOG.rst index 841b602c571..bd335760fdb 100644 --- a/mock/cpp_mock_scenarios/CHANGELOG.rst +++ b/mock/cpp_mock_scenarios/CHANGELOG.rst @@ -21,6 +21,71 @@ Changelog for package cpp_mock_scenarios * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge pull request `#1464 `_ from tier4/RJD-1457/traffic_sink_refactor + RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* style fix +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* code style +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* sink pedestrian test fix +* simplify auto_sink logic +* TrafficSinkConfig +* AutoSinkConfig +* review suggestions +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* TrafficSink refactor with despawn functionality +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* fix check condition +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* use uint8_t instead of traffic_simulator_msgs::msg::EntityType +* remap debug marker +* modify launch file +* add testcase for autosink +* enable sink vehicle +* enable set traffic sink in cpp scenario +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/mock/cpp_mock_scenarios/CMakeLists.txt b/mock/cpp_mock_scenarios/CMakeLists.txt index 669465e6482..883da343c49 100644 --- a/mock/cpp_mock_scenarios/CMakeLists.txt +++ b/mock/cpp_mock_scenarios/CMakeLists.txt @@ -55,8 +55,9 @@ if(BUILD_CPP_MOCK_SCENARIOS) add_subdirectory(src/random_scenario) add_subdirectory(src/spawn) add_subdirectory(src/speed_planning) - add_subdirectory(src/traffic_source) add_subdirectory(src/synchronized_action) + add_subdirectory(src/traffic_sink) + add_subdirectory(src/traffic_source) # add_subdirectory(src/respawn_ego) endif() diff --git a/mock/cpp_mock_scenarios/include/cpp_mock_scenarios/cpp_scenario_node.hpp b/mock/cpp_mock_scenarios/include/cpp_mock_scenarios/cpp_scenario_node.hpp index a2b7b26ec39..0301fef3d0e 100644 --- a/mock/cpp_mock_scenarios/include/cpp_mock_scenarios/cpp_scenario_node.hpp +++ b/mock/cpp_mock_scenarios/include/cpp_mock_scenarios/cpp_scenario_node.hpp @@ -33,7 +33,8 @@ class CppScenarioNode : public rclcpp::Node explicit CppScenarioNode( const std::string & node_name, const std::string & map_path, const std::string & lanelet2_map_file, const std::string & scenario_filename, - const bool verbose, const rclcpp::NodeOptions & option); + const bool verbose, const rclcpp::NodeOptions & option, + const std::set & auto_sink_entity_types = {}); void start(); void stop(Result result, const std::string & description = ""); void expectThrow() { exception_expect_ = true; } @@ -71,11 +72,12 @@ class CppScenarioNode : public rclcpp::Node int timeout_; auto configure( const std::string & map_path, const std::string & lanelet2_map_file, - const std::string & scenario_filename, const bool verbose) -> traffic_simulator::Configuration + const std::string & scenario_filename, const bool verbose, + const std::set & auto_sink_entity_types = {}) -> traffic_simulator::Configuration { constexpr bool auto_sink{true}; - auto configuration = - traffic_simulator::Configuration(map_path, lanelet2_map_file, scenario_filename, true); + auto configuration = traffic_simulator::Configuration( + map_path, lanelet2_map_file, scenario_filename, auto_sink_entity_types); configuration.verbose = verbose; checkConfiguration(configuration); return configuration; diff --git a/mock/cpp_mock_scenarios/launch/mock_test.launch.py b/mock/cpp_mock_scenarios/launch/mock_test.launch.py index 13a245a09af..0a1f08e45f4 100644 --- a/mock/cpp_mock_scenarios/launch/mock_test.launch.py +++ b/mock/cpp_mock_scenarios/launch/mock_test.launch.py @@ -69,6 +69,7 @@ def on_stdout_output(event: launch.Event) -> None: if lines[0] == "cpp_scenario:success": print(Color.GREEN + "Scenario Succeed" + Color.END) + def architecture_types(): return ["awf/universe/20230906", "awf/universe/20240605"] @@ -94,9 +95,11 @@ def default_autoware_launch_file_of(architecture_type): "awf/universe/20240605": "planning_simulator.launch.xml", }[architecture_type] + def default_rviz_config_file(): return Path(get_package_share_directory("traffic_simulator")) / "config/scenario_simulator_v2.rviz" + def launch_setup(context, *args, **kwargs): # fmt: off architecture_type = LaunchConfiguration("architecture_type", default="awf/universe/20240605") @@ -159,7 +162,7 @@ def make_parameters(): {"initialize_duration": initialize_duration}, {"launch_autoware": launch_autoware}, {"port": port}, - {"publish_empty_context" : publish_empty_context}, + {"publish_empty_context": publish_empty_context}, {"record": record}, {"rviz_config": rviz_config}, {"sensor_model": sensor_model}, @@ -187,13 +190,13 @@ def description(): return parameters cpp_scenario_node = Node( - package=scenario_package, - executable=scenario, - name="scenario_node", - output="screen", - arguments=[("__log_level:=info")], - parameters=make_parameters() + [{"use_sim_time": use_sim_time}], - ) + package=scenario_package, + executable=scenario, + name="scenario_node", + output="screen", + arguments=[("__log_level:=info")], + parameters=make_parameters() + [{"use_sim_time": use_sim_time}], + ) io_handler = OnProcessIO( target_action=cpp_scenario_node, on_stderr=on_stderr_output, @@ -241,6 +244,7 @@ def description(): namespace="simulation", name="visualizer", output="screen", + remappings=[("/simulation/entity/status", "/entity/status")], ), Node( package="rviz2", @@ -249,10 +253,15 @@ def description(): output={"stderr": "log", "stdout": "log"}, condition=IfCondition(launch_rviz), arguments=["-d", str(default_rviz_config_file())], + remappings=[ + ("/simulation/lanelet/marker", "/lanelet/marker"), + ("/simulation/debug_marker", "/debug_marker"), + ], ), RegisterEventHandler(event_handler=io_handler), RegisterEventHandler(event_handler=shutdown_handler), ] + def generate_launch_description(): return LaunchDescription([OpaqueFunction(function=launch_setup)]) diff --git a/mock/cpp_mock_scenarios/package.xml b/mock/cpp_mock_scenarios/package.xml index cf889068b11..cf7e468eb46 100644 --- a/mock/cpp_mock_scenarios/package.xml +++ b/mock/cpp_mock_scenarios/package.xml @@ -2,7 +2,7 @@ cpp_mock_scenarios - 7.3.3 + 7.4.3 C++ mock scenarios masaya Apache License 2.0 diff --git a/mock/cpp_mock_scenarios/src/cpp_scenario_node.cpp b/mock/cpp_mock_scenarios/src/cpp_scenario_node.cpp index 4fb9bd39245..884fabf0648 100644 --- a/mock/cpp_mock_scenarios/src/cpp_scenario_node.cpp +++ b/mock/cpp_mock_scenarios/src/cpp_scenario_node.cpp @@ -20,10 +20,12 @@ namespace cpp_mock_scenarios CppScenarioNode::CppScenarioNode( const std::string & node_name, const std::string & map_path, const std::string & lanelet2_map_file, const std::string & scenario_filename, const bool verbose, - const rclcpp::NodeOptions & option) + const rclcpp::NodeOptions & option, + const std::set & auto_sink_entity_types /*= {}*/) : Node(node_name, option), api_( - this, configure(map_path, lanelet2_map_file, scenario_filename, verbose), + this, + configure(map_path, lanelet2_map_file, scenario_filename, verbose, auto_sink_entity_types), declare_parameter("global_real_time_factor", 1.0), declare_parameter("global_frame_rate", 20.0)), scenario_filename_(scenario_filename), diff --git a/mock/cpp_mock_scenarios/src/crosswalk/stop_at_crosswalk.cpp b/mock/cpp_mock_scenarios/src/crosswalk/stop_at_crosswalk.cpp index 5ac253751f7..0072527287c 100644 --- a/mock/cpp_mock_scenarios/src/crosswalk/stop_at_crosswalk.cpp +++ b/mock/cpp_mock_scenarios/src/crosswalk/stop_at_crosswalk.cpp @@ -30,7 +30,7 @@ class StopAtCrosswalkScenario : public cpp_mock_scenarios::CppScenarioNode explicit StopAtCrosswalkScenario(const rclcpp::NodeOptions & option) : cpp_mock_scenarios::CppScenarioNode( "stop_at_crosswalk", ament_index_cpp::get_package_share_directory("kashiwanoha_map") + "/map", - "lanelet2_map.osm", __FILE__, false, option) + "lanelet2_map.osm", __FILE__, false, option, {traffic_simulator::EntityType::PEDESTRIAN}) { start(); } diff --git a/mock/cpp_mock_scenarios/src/traffic_sink/CMakeLists.txt b/mock/cpp_mock_scenarios/src/traffic_sink/CMakeLists.txt new file mode 100644 index 00000000000..e1966600cb5 --- /dev/null +++ b/mock/cpp_mock_scenarios/src/traffic_sink/CMakeLists.txt @@ -0,0 +1,14 @@ +ament_auto_add_executable(auto_sink_vehicle + auto_sink_vehicle.cpp +) +target_link_libraries(auto_sink_vehicle cpp_scenario_node) + +install(TARGETS + auto_sink_vehicle + DESTINATION lib/cpp_mock_scenarios +) + +if(BUILD_TESTING) + include(../../cmake/add_cpp_mock_scenario_test.cmake) + add_cpp_mock_scenario_test(${PROJECT_NAME} "auto_sink_vehicle" "5.0") +endif() diff --git a/mock/cpp_mock_scenarios/src/traffic_sink/auto_sink_vehicle.cpp b/mock/cpp_mock_scenarios/src/traffic_sink/auto_sink_vehicle.cpp new file mode 100644 index 00000000000..66743054cba --- /dev/null +++ b/mock/cpp_mock_scenarios/src/traffic_sink/auto_sink_vehicle.cpp @@ -0,0 +1,69 @@ +// Copyright 2015 TIER IV, Inc. All rights reserved. +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace cpp_mock_scenarios +{ +class AutoSinkVehicleScenario : public cpp_mock_scenarios::CppScenarioNode +{ +public: + explicit AutoSinkVehicleScenario(const rclcpp::NodeOptions & option) + : cpp_mock_scenarios::CppScenarioNode( + "auto_sink_vehicle", ament_index_cpp::get_package_share_directory("kashiwanoha_map") + "/map", + "lanelet2_map.osm", __FILE__, false, option, {traffic_simulator::EntityType::PEDESTRIAN}) + { + start(); + } + +private: + void onUpdate() override + { + if (api_.getCurrentTime() >= 0.1) { + if (api_.entityExists("car") and not api_.entityExists("bob")) { + stop(cpp_mock_scenarios::Result::SUCCESS); + } else { + stop(cpp_mock_scenarios::Result::FAILURE); + } + } + } + + void onInitialize() override + { + const auto map_pose = traffic_simulator::pose::toMapPose( + traffic_simulator::helper::constructCanonicalizedLaneletPose(34774, 11.0, 0.0)); + api_.spawn("car", map_pose, getVehicleParameters()); + api_.spawn("bob", map_pose, getPedestrianParameters()); + } +}; +} // namespace cpp_mock_scenarios + +int main(int argc, char * argv[]) +{ + rclcpp::init(argc, argv); + rclcpp::NodeOptions options; + auto component = std::make_shared(options); + rclcpp::spin(component); + rclcpp::shutdown(); + return 0; +} diff --git a/openscenario/openscenario_experimental_catalog/CHANGELOG.rst b/openscenario/openscenario_experimental_catalog/CHANGELOG.rst index 364a9e9c1fe..21c90adb6f2 100644 --- a/openscenario/openscenario_experimental_catalog/CHANGELOG.rst +++ b/openscenario/openscenario_experimental_catalog/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package openscenario_experimental_catalog * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/openscenario/openscenario_experimental_catalog/package.xml b/openscenario/openscenario_experimental_catalog/package.xml index 73796294d47..7f27593e01d 100644 --- a/openscenario/openscenario_experimental_catalog/package.xml +++ b/openscenario/openscenario_experimental_catalog/package.xml @@ -2,7 +2,7 @@ openscenario_experimental_catalog - 7.3.3 + 7.4.3 TIER IV experimental catalogs for OpenSCENARIO Tatsuya Yamasaki Apache License 2.0 diff --git a/openscenario/openscenario_interpreter/CHANGELOG.rst b/openscenario/openscenario_interpreter/CHANGELOG.rst index ba2289b2651..e680005c3ad 100644 --- a/openscenario/openscenario_interpreter/CHANGELOG.rst +++ b/openscenario/openscenario_interpreter/CHANGELOG.rst @@ -32,6 +32,61 @@ Changelog for package openscenario_interpreter * add publish_empty_context parameter * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge pull request `#1464 `_ from tier4/RJD-1457/traffic_sink_refactor + RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* simplify auto_sink logic +* AutoSinkConfig +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge pull request `#1488 `_ from tier4/refactor/concealer-1 + Refactor/concealer 1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Remove stream input/output operator for `TurnIndicatorsCommand` +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/openscenario/openscenario_interpreter/package.xml b/openscenario/openscenario_interpreter/package.xml index 839836b9883..9655cc3c824 100644 --- a/openscenario/openscenario_interpreter/package.xml +++ b/openscenario/openscenario_interpreter/package.xml @@ -2,7 +2,7 @@ openscenario_interpreter - 7.3.3 + 7.4.3 OpenSCENARIO 1.2.0 interpreter package for Autoware Tatsuya Yamasaki Apache License 2.0 diff --git a/openscenario/openscenario_interpreter/src/openscenario_interpreter.cpp b/openscenario/openscenario_interpreter/src/openscenario_interpreter.cpp index cfc968eebd4..74fdf7ca028 100644 --- a/openscenario/openscenario_interpreter/src/openscenario_interpreter.cpp +++ b/openscenario/openscenario_interpreter/src/openscenario_interpreter.cpp @@ -70,7 +70,6 @@ auto Interpreter::currentScenarioDefinition() const -> const std::shared_ptr traffic_simulator::Configuration { - constexpr bool auto_sink{false}; const auto logic_file = currentScenarioDefinition()->road_network.logic_file; const auto is_directly_lanelet2_map_file = not logic_file.isDirectory() and logic_file.filepath.extension() == ".osm"; @@ -80,9 +79,9 @@ auto Interpreter::makeCurrentConfiguration() const -> traffic_simulator::Configu // XXX DIRTY HACK!!! if (is_directly_lanelet2_map_file) { return traffic_simulator::Configuration( - map_files_path, logic_file.filepath.filename().string(), osc_path, auto_sink); + map_files_path, logic_file.filepath.filename().string(), osc_path); } else { - return traffic_simulator::Configuration(map_files_path, osc_path, auto_sink); + return traffic_simulator::Configuration(map_files_path, osc_path); } } diff --git a/openscenario/openscenario_interpreter/src/syntax/user_defined_value_condition.cpp b/openscenario/openscenario_interpreter/src/syntax/user_defined_value_condition.cpp index f7c0bb10c68..b9cfae284bc 100644 --- a/openscenario/openscenario_interpreter/src/syntax/user_defined_value_condition.cpp +++ b/openscenario/openscenario_interpreter/src/syntax/user_defined_value_condition.cpp @@ -147,8 +147,18 @@ UserDefinedValueCondition::UserDefinedValueCondition(const pugi::xml_node & node std::make_pair( "currentTurnIndicatorsState", [result]() { - return make(boost::lexical_cast( - asFieldOperatorApplication(result.str(1)).getTurnIndicatorsCommand())); + switch (asFieldOperatorApplication(result.str(1)).getTurnIndicatorsCommand().command) { + case autoware_vehicle_msgs::msg::TurnIndicatorsCommand::DISABLE: + return make("DISABLE"); + case autoware_vehicle_msgs::msg::TurnIndicatorsCommand::ENABLE_LEFT: + return make("ENABLE_LEFT"); + case autoware_vehicle_msgs::msg::TurnIndicatorsCommand::ENABLE_RIGHT: + return make("ENABLE_RIGHT"); + case autoware_vehicle_msgs::msg::TurnIndicatorsCommand::NO_COMMAND: + return make("NO_COMMAND"); + default: + return make(); + } }), }; evaluate_value = dispatch.at(result.str(2)); // XXX catch diff --git a/openscenario/openscenario_interpreter_example/CHANGELOG.rst b/openscenario/openscenario_interpreter_example/CHANGELOG.rst index c61f4d6fe38..d647475f447 100644 --- a/openscenario/openscenario_interpreter_example/CHANGELOG.rst +++ b/openscenario/openscenario_interpreter_example/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package openscenario_interpreter_example * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/openscenario/openscenario_interpreter_example/package.xml b/openscenario/openscenario_interpreter_example/package.xml index 632939c53c9..5a62ec1d856 100644 --- a/openscenario/openscenario_interpreter_example/package.xml +++ b/openscenario/openscenario_interpreter_example/package.xml @@ -3,7 +3,7 @@ openscenario_interpreter_example - 7.3.3 + 7.4.3 Examples for some TIER IV OpenSCENARIO Interpreter's features Tatsuya Yamasaki Apache License 2.0 diff --git a/openscenario/openscenario_interpreter_msgs/CHANGELOG.rst b/openscenario/openscenario_interpreter_msgs/CHANGELOG.rst index c0051b2b9e4..8c395f6fc4f 100644 --- a/openscenario/openscenario_interpreter_msgs/CHANGELOG.rst +++ b/openscenario/openscenario_interpreter_msgs/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package openscenario_interpreter_msgs * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/openscenario/openscenario_interpreter_msgs/package.xml b/openscenario/openscenario_interpreter_msgs/package.xml index f03c224d125..6639a9e341a 100644 --- a/openscenario/openscenario_interpreter_msgs/package.xml +++ b/openscenario/openscenario_interpreter_msgs/package.xml @@ -2,7 +2,7 @@ openscenario_interpreter_msgs - 7.3.3 + 7.4.3 ROS message types for package openscenario_interpreter Yamasaki Tatsuya Apache License 2.0 diff --git a/openscenario/openscenario_preprocessor/CHANGELOG.rst b/openscenario/openscenario_preprocessor/CHANGELOG.rst index e2a38462061..b312906195f 100644 --- a/openscenario/openscenario_preprocessor/CHANGELOG.rst +++ b/openscenario/openscenario_preprocessor/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package openscenario_preprocessor * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/openscenario/openscenario_preprocessor/package.xml b/openscenario/openscenario_preprocessor/package.xml index ad4a7b2a5eb..22cd293452c 100644 --- a/openscenario/openscenario_preprocessor/package.xml +++ b/openscenario/openscenario_preprocessor/package.xml @@ -3,7 +3,7 @@ openscenario_preprocessor - 7.3.3 + 7.4.3 Example package for TIER IV OpenSCENARIO Interpreter Kotaro Yoshimoto Apache License 2.0 diff --git a/openscenario/openscenario_preprocessor_msgs/CHANGELOG.rst b/openscenario/openscenario_preprocessor_msgs/CHANGELOG.rst index ced29dd8ced..9b99e5f376c 100644 --- a/openscenario/openscenario_preprocessor_msgs/CHANGELOG.rst +++ b/openscenario/openscenario_preprocessor_msgs/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package openscenario_preprocessor_msgs * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/openscenario/openscenario_preprocessor_msgs/package.xml b/openscenario/openscenario_preprocessor_msgs/package.xml index 68b31f7a7e2..de9cb4310fb 100644 --- a/openscenario/openscenario_preprocessor_msgs/package.xml +++ b/openscenario/openscenario_preprocessor_msgs/package.xml @@ -2,7 +2,7 @@ openscenario_preprocessor_msgs - 7.3.3 + 7.4.3 ROS message types for package openscenario_preprocessor Kotaro Yoshimoto Apache License 2.0 diff --git a/openscenario/openscenario_utility/CHANGELOG.rst b/openscenario/openscenario_utility/CHANGELOG.rst index 6e3f378ff3b..a5deade40e9 100644 --- a/openscenario/openscenario_utility/CHANGELOG.rst +++ b/openscenario/openscenario_utility/CHANGELOG.rst @@ -24,6 +24,54 @@ Changelog for package openscenario_utility * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/openscenario/openscenario_utility/package.xml b/openscenario/openscenario_utility/package.xml index 252511d03b5..61916bc11d2 100644 --- a/openscenario/openscenario_utility/package.xml +++ b/openscenario/openscenario_utility/package.xml @@ -2,7 +2,7 @@ openscenario_utility - 7.3.3 + 7.4.3 Utility tools for ASAM OpenSCENARIO 1.2.0 Tatsuya Yamasaki Apache License 2.0 diff --git a/openscenario/openscenario_validator/CHANGELOG.rst b/openscenario/openscenario_validator/CHANGELOG.rst index 9a9bfd3553f..6a4d5e65062 100644 --- a/openscenario/openscenario_validator/CHANGELOG.rst +++ b/openscenario/openscenario_validator/CHANGELOG.rst @@ -10,6 +10,54 @@ Changelog for package openscenario_validator * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/openscenario/openscenario_validator/package.xml b/openscenario/openscenario_validator/package.xml index 0bec936527a..6996fc78aeb 100644 --- a/openscenario/openscenario_validator/package.xml +++ b/openscenario/openscenario_validator/package.xml @@ -2,7 +2,7 @@ openscenario_validator - 7.3.3 + 7.4.3 Validator for OpenSCENARIO 1.3 Kotaro Yoshimoto Apache License 2.0 diff --git a/rviz_plugins/openscenario_visualization/CHANGELOG.rst b/rviz_plugins/openscenario_visualization/CHANGELOG.rst index 11392ee6e87..0b4f309e4e8 100644 --- a/rviz_plugins/openscenario_visualization/CHANGELOG.rst +++ b/rviz_plugins/openscenario_visualization/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package openscenario_visualization * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/rviz_plugins/openscenario_visualization/package.xml b/rviz_plugins/openscenario_visualization/package.xml index 1e61fbb71fa..fefe1d5506d 100644 --- a/rviz_plugins/openscenario_visualization/package.xml +++ b/rviz_plugins/openscenario_visualization/package.xml @@ -2,7 +2,7 @@ openscenario_visualization - 7.3.3 + 7.4.3 Visualization tools for simulation results Masaya Kataoka Kyoichi Sugahara diff --git a/rviz_plugins/real_time_factor_control_rviz_plugin/CHANGELOG.rst b/rviz_plugins/real_time_factor_control_rviz_plugin/CHANGELOG.rst index 8165f563e08..4c60a41bc07 100644 --- a/rviz_plugins/real_time_factor_control_rviz_plugin/CHANGELOG.rst +++ b/rviz_plugins/real_time_factor_control_rviz_plugin/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package real_time_factor_control_rviz_plugin * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/rviz_plugins/real_time_factor_control_rviz_plugin/package.xml b/rviz_plugins/real_time_factor_control_rviz_plugin/package.xml index 0a1e4dec6ca..e48865525a2 100644 --- a/rviz_plugins/real_time_factor_control_rviz_plugin/package.xml +++ b/rviz_plugins/real_time_factor_control_rviz_plugin/package.xml @@ -2,7 +2,7 @@ real_time_factor_control_rviz_plugin - 7.3.3 + 7.4.3 Slider controlling real time factor value. Paweł Lech Apache License 2.0 diff --git a/scenario_simulator_v2/CHANGELOG.rst b/scenario_simulator_v2/CHANGELOG.rst index 0a4ce535319..f74e0972ac1 100644 --- a/scenario_simulator_v2/CHANGELOG.rst +++ b/scenario_simulator_v2/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package scenario_simulator_v2 * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/scenario_simulator_v2/package.xml b/scenario_simulator_v2/package.xml index cd1d275872f..b3037b41ddd 100644 --- a/scenario_simulator_v2/package.xml +++ b/scenario_simulator_v2/package.xml @@ -2,7 +2,7 @@ scenario_simulator_v2 - 7.3.3 + 7.4.3 scenario testing framework for Autoware Masaya Kataoka Apache License 2.0 diff --git a/simulation/behavior_tree_plugin/CHANGELOG.rst b/simulation/behavior_tree_plugin/CHANGELOG.rst index 23efca04175..3989f9fc29c 100644 --- a/simulation/behavior_tree_plugin/CHANGELOG.rst +++ b/simulation/behavior_tree_plugin/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package behavior_tree_plugin * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/simulation/behavior_tree_plugin/package.xml b/simulation/behavior_tree_plugin/package.xml index 719f547e0d4..e9e71a46541 100644 --- a/simulation/behavior_tree_plugin/package.xml +++ b/simulation/behavior_tree_plugin/package.xml @@ -2,7 +2,7 @@ behavior_tree_plugin - 7.3.3 + 7.4.3 Behavior tree plugin for traffic_simulator masaya Apache 2.0 diff --git a/simulation/do_nothing_plugin/CHANGELOG.rst b/simulation/do_nothing_plugin/CHANGELOG.rst index fa0638970a6..f0392f0d05e 100644 --- a/simulation/do_nothing_plugin/CHANGELOG.rst +++ b/simulation/do_nothing_plugin/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package do_nothing_plugin * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/simulation/do_nothing_plugin/package.xml b/simulation/do_nothing_plugin/package.xml index e2c909221c7..e4224b56c77 100644 --- a/simulation/do_nothing_plugin/package.xml +++ b/simulation/do_nothing_plugin/package.xml @@ -2,7 +2,7 @@ do_nothing_plugin - 7.3.3 + 7.4.3 Behavior plugin for do nothing Masaya Kataoka Apache 2.0 diff --git a/simulation/simple_sensor_simulator/CHANGELOG.rst b/simulation/simple_sensor_simulator/CHANGELOG.rst index c308850588e..d0bbc3e98a1 100644 --- a/simulation/simple_sensor_simulator/CHANGELOG.rst +++ b/simulation/simple_sensor_simulator/CHANGELOG.rst @@ -21,6 +21,59 @@ Changelog for package simple_sensor_simulator * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge pull request `#1488 `_ from tier4/refactor/concealer-1 + Refactor/concealer 1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Remove `getAcceleration`, `getSteeringAngle`, `getVelocity` and `getGearSign` +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Remove member function `AutowareUniverse::set` +* Remove class `concealer::Autoware` +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/simulation/simple_sensor_simulator/include/simple_sensor_simulator/vehicle_simulation/ego_entity_simulation.hpp b/simulation/simple_sensor_simulator/include/simple_sensor_simulator/vehicle_simulation/ego_entity_simulation.hpp index 9ba9aae8869..8e09148b912 100644 --- a/simulation/simple_sensor_simulator/include/simple_sensor_simulator/vehicle_simulation/ego_entity_simulation.hpp +++ b/simulation/simple_sensor_simulator/include/simple_sensor_simulator/vehicle_simulation/ego_entity_simulation.hpp @@ -15,7 +15,7 @@ #ifndef TRAFFIC_SIMULATOR__VEHICLE_SIMULATION__EGO_ENTITY_SIMULATION_HPP_ #define TRAFFIC_SIMULATOR__VEHICLE_SIMULATION__EGO_ENTITY_SIMULATION_HPP_ -#include +#include #include #include #include @@ -40,7 +40,7 @@ enum class VehicleModelType { class EgoEntitySimulation { public: - const std::unique_ptr autoware; + const std::unique_ptr autoware; private: const VehicleModelType vehicle_model_type_; diff --git a/simulation/simple_sensor_simulator/package.xml b/simulation/simple_sensor_simulator/package.xml index 4b9e898f9cf..38d98991aae 100644 --- a/simulation/simple_sensor_simulator/package.xml +++ b/simulation/simple_sensor_simulator/package.xml @@ -1,7 +1,7 @@ simple_sensor_simulator - 7.3.3 + 7.4.3 simple_sensor_simulator package masaya kataoka diff --git a/simulation/simple_sensor_simulator/src/vehicle_simulation/ego_entity_simulation.cpp b/simulation/simple_sensor_simulator/src/vehicle_simulation/ego_entity_simulation.cpp index 27bdea6a9af..2cbf0b0acb6 100644 --- a/simulation/simple_sensor_simulator/src/vehicle_simulation/ego_entity_simulation.cpp +++ b/simulation/simple_sensor_simulator/src/vehicle_simulation/ego_entity_simulation.cpp @@ -178,15 +178,15 @@ auto EgoEntitySimulation::makeSimulationModel( auto EgoEntitySimulation::setAutowareStatus() -> void { - autoware->set([this]() { + autoware->current_acceleration.store([this]() { geometry_msgs::msg::Accel message; message.linear.x = vehicle_model_ptr_->getAx(); return message; }()); - autoware->set(status_.getMapPose()); + autoware->current_pose.store(status_.getMapPose()); - autoware->set(getCurrentTwist()); + autoware->current_twist.store(getCurrentTwist()); } void EgoEntitySimulation::requestSpeedChange(double value) @@ -309,20 +309,42 @@ void EgoEntitySimulation::update( auto acceleration_by_slope = calculateAccelerationBySlope(); + const auto [speed, acceleration, tire_angle, gear_sign, gear_command] = + autoware->getVehicleCommand(); + switch (vehicle_model_type_) { case VehicleModelType::DELAY_STEER_ACC: case VehicleModelType::DELAY_STEER_ACC_GEARED: case VehicleModelType::DELAY_STEER_MAP_ACC_GEARED: case VehicleModelType::IDEAL_STEER_ACC: case VehicleModelType::IDEAL_STEER_ACC_GEARED: - input(0) = autoware->getGearSign() * (autoware->getAcceleration() + acceleration_by_slope); - input(1) = autoware->getSteeringAngle(); + /* + TODO FIX THIS!!! + + THIS IS MAYBE INCORRECT. + + SHOULD BE + gear_sign * acceleration + acceleration_by_slope + OR + signed_acceleration + acceleration_by_slope + + Currently, acceleration is obtained as an unsigned value + (`acceleration`) and a signed value (`gear_sign`), but this is for + historical reasons and there is no longer any reason to do so. + + Therefore, when resolving this TODO comment, the assignee should + remove `gear_sign` from the tuple returned by + `AutowareUniverse::getVehicleCommand`, and at the same time change + `acceleration` to a signed value. + */ + input(0) = gear_sign * (acceleration + acceleration_by_slope); + input(1) = tire_angle; break; case VehicleModelType::DELAY_STEER_VEL: case VehicleModelType::IDEAL_STEER_VEL: - input(0) = autoware->getVelocity(); - input(1) = autoware->getSteeringAngle(); + input(0) = speed; + input(1) = tire_angle; break; default: @@ -330,7 +352,7 @@ void EgoEntitySimulation::update( "Unsupported vehicle_model_type ", toString(vehicle_model_type_), "specified"); } - vehicle_model_ptr_->setGear(autoware->getGearCommand().command); + vehicle_model_ptr_->setGear(gear_command); vehicle_model_ptr_->setInput(input); vehicle_model_ptr_->update(step_time); } diff --git a/simulation/simulation_interface/CHANGELOG.rst b/simulation/simulation_interface/CHANGELOG.rst index 04be353d19e..fe7d88a7c4e 100644 --- a/simulation/simulation_interface/CHANGELOG.rst +++ b/simulation/simulation_interface/CHANGELOG.rst @@ -21,6 +21,56 @@ Changelog for package simulation_interface * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* apply reformat +* use uint8_t instead of traffic_simulator_msgs::msg::EntityType +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/simulation/simulation_interface/package.xml b/simulation/simulation_interface/package.xml index 84aa2a32683..77ad18192c5 100644 --- a/simulation/simulation_interface/package.xml +++ b/simulation/simulation_interface/package.xml @@ -2,7 +2,7 @@ simulation_interface - 7.3.3 + 7.4.3 packages to define interface between simulator and scenario interpreter Masaya Kataoka Apache License 2.0 diff --git a/simulation/traffic_simulator/CHANGELOG.rst b/simulation/traffic_simulator/CHANGELOG.rst index f83c47590de..459321e5668 100644 --- a/simulation/traffic_simulator/CHANGELOG.rst +++ b/simulation/traffic_simulator/CHANGELOG.rst @@ -21,6 +21,106 @@ Changelog for package traffic_simulator * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge pull request `#1499 `_ from tier4/tmp/pc-patch +* Merge branch 'master' into tmp/pc-patch +* fix: implementation +* fix: implementation +* perf(traffic_light): add condition to add new traffic light +* Contributors: Kotaro Yoshimoto, satoshi-ota + +7.4.2 (2025-01-07) +------------------ +* Merge pull request `#1501 `_ from tier4/feature/new_rviz +* chore: update rviz config based on autoware.rviz +* Contributors: Kotaro Yoshimoto + +7.4.1 (2024-12-24) +------------------ +* Merge pull request `#1498 `_ from tier4/fix/canonicalize_function + Fix/canonicalize function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Fix source code +* Test cases were added, and the source code was reverted to its pre-modified state so that the added test cases would fail. +* apply reformat +* catch common::SemanticError inside traffic_simulator::pose::canonicalize function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge pull request `#1464 `_ from tier4/RJD-1457/traffic_sink_refactor + RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* style fix +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* remove unnecessary include directives +* remove unnecessary funcs +* code style +* code style +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* simplify auto_sink logic +* TrafficSinkConfig +* AutoSinkConfig +* review suggestions +* remove lanelet_id from the constructor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* reorder fix +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* spell-check happy +* TrafficSink refactor with despawn functionality +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* remove warning +* remove sonarcloud warning +* apply reformat +* use uint8_t instead of traffic_simulator_msgs::msg::EntityType +* fix typo +* fix typo +* fix typo +* enable set traffic sink in cpp scenario +* enable compare entity type +* add doxygen comment +* add sinkable_entity_type to the configuration class +* add sinkable_entity_type variable +* add get_entity_type function +* rename variable in TrafficController class +* rename argument and member variables +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge pull request `#1488 `_ from tier4/refactor/concealer-1 + Refactor/concealer 1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Remove class template `FieldOperatorApplicationFor` +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Remove member function `FieldOperatorApplication::restrictTargetSpeed` +* Remove class `concealer::Autoware` +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge pull request `#1490 `_ from tier4/feature/is_in_intersection + Feature/is in intersection +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* add test case for isInIntersection function +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* add auto HdMapUtils::isInIntersection(const lanelet::Id lanelet_id) const -> bool function +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/simulation/traffic_simulator/config/scenario_simulator_v2.rviz b/simulation/traffic_simulator/config/scenario_simulator_v2.rviz index 5470f693b8d..456ab199a6f 100644 --- a/simulation/traffic_simulator/config/scenario_simulator_v2.rviz +++ b/simulation/traffic_simulator/config/scenario_simulator_v2.rviz @@ -4,10 +4,11 @@ Panels: Name: Displays Property Tree Widget: Expanded: - - /Map1/Lanelet2VectorMap1 - /Sensing1/LiDAR1/ConcatenatePointCloud1/Autocompute Value Bounds1 + - /Simulation1 + - /Simulation1/Simple Sensor Simulator1 Splitter Ratio: 0.557669460773468 - Tree Height: 1445 + Tree Height: 832 - Class: rviz_common/Selection Name: Selection - Class: rviz_common/Tool Properties @@ -19,8 +20,6 @@ Panels: - /Current View1 Name: Views Splitter Ratio: 0.5 - - Class: tier4_localization_rviz_plugin/InitialPoseButtonPanel - Name: InitialPoseButtonPanel - Class: AutowareDateTimePanel Name: AutowareDateTimePanel - Class: rviz_plugins::AutowareStatePanel @@ -64,56 +63,6 @@ Visualization Manager: Value: false - Class: rviz_common/Group Displays: - - Class: rviz_plugins/SteeringAngle - Enabled: true - Left: 128 - Length: 256 - Name: SteeringAngle - Scale: 17 - Text Color: 25; 255; 240 - Top: 128 - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /vehicle/status/steering_status - Value: true - Value Scale: 0.14999249577522278 - Value height offset: 0 - - Class: rviz_plugins/ConsoleMeter - Enabled: true - Left: 512 - Length: 256 - Name: ConsoleMeter - Text Color: 25; 255; 240 - Top: 128 - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /vehicle/status/velocity_status - Value: true - Value Scale: 0.14999249577522278 - Value height offset: 0 - - Alpha: 0.9990000128746033 - Class: rviz_plugins/VelocityHistory - Color Border Vel Max: 3 - Constant Color: - Color: 255; 255; 255 - Value: true - Enabled: true - Name: VelocityHistory - Scale: 0.30000001192092896 - Timeout: 10 - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /vehicle/status/velocity_status - Value: true - Alpha: 0.30000001192092896 Class: rviz_default_plugins/RobotModel Collision Enabled: false @@ -132,6 +81,160 @@ Visualization Manager: Expand Link Details: false Expand Tree: false Link Tree Style: Links in Alphabetic Order + ars408_front_center: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera0/camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera0/camera_optical_link: + Alpha: 1 + Show Axes: false + Show Trail: false + camera1/camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera1/camera_optical_link: + Alpha: 1 + Show Axes: false + Show Trail: false + camera2/camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera2/camera_optical_link: + Alpha: 1 + Show Axes: false + Show Trail: false + camera3/camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera3/camera_optical_link: + Alpha: 1 + Show Axes: false + Show Trail: false + camera4/camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera4/camera_optical_link: + Alpha: 1 + Show Axes: false + Show Trail: false + camera5/camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera5/camera_optical_link: + Alpha: 1 + Show Axes: false + Show Trail: false + camera6/camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera6/camera_optical_link: + Alpha: 1 + Show Axes: false + Show Trail: false + camera7/camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera7/camera_optical_link: + Alpha: 1 + Show Axes: false + Show Trail: false + gnss_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + livox_front_left: + Alpha: 1 + Show Axes: false + Show Trail: false + livox_front_left_base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + livox_front_right: + Alpha: 1 + Show Axes: false + Show Trail: false + livox_front_right_base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + sensor_kit_base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + tamagawa/imu_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + velodyne_left: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + velodyne_left_base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + velodyne_rear: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + velodyne_rear_base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + velodyne_right: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + velodyne_right_base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + velodyne_top: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + velodyne_top_base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true Mass Properties: Inertia: false Mass: false @@ -154,32 +257,46 @@ Visualization Manager: Value: true Wave Color: 255; 255; 255 Wave Velocity: 40 - - Class: rviz_plugins/MaxVelocity - Enabled: true - Left: 595 - Length: 96 - Name: MaxVelocity - Text Color: 255; 255; 255 - Top: 280 - Topic: /planning/scenario_planning/current_max_velocity - Value: true - Value Scale: 0.25 - - Class: rviz_plugins/TurnSignal + - Background Alpha: 0.5 + Background Color: 23; 28; 31 + Class: autoware_overlay_rviz_plugin/SignalDisplay + Dark Traffic Color: 255; 51; 51 Enabled: true - Height: 256 - Left: 196 - Name: TurnSignal - Top: 350 - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /vehicle/status/turn_indicators_status + Gear Topic Test: /vehicle/status/gear_status + Handle Angle Scale: 17 + Hazard Lights Topic: /vehicle/status/hazard_lights_status + Height: 100 + Left: 0 + Light Traffic Color: 255; 153; 153 + Name: SignalDisplay + Primary Color: 174; 174; 174 + Signal Color: 0; 230; 120 + Speed Limit Topic: /planning/scenario_planning/current_max_velocity + Speed Topic: /vehicle/status/velocity_status + Steering Topic: /vehicle/status/steering_status + Top: 10 + Traffic Topic: /planning/scenario_planning/lane_driving/behavior_planning/debug/traffic_signal + Turn Signals Topic: /vehicle/status/turn_indicators_status Value: true - Width: 512 + Width: 550 Enabled: true Name: Vehicle + - Class: rviz_plugins/MrmSummaryOverlayDisplay + Enabled: false + Font Size: 10 + Left: 512 + Max Letter Num: 100 + Name: MRM Summary + Text Color: 25; 255; 240 + Top: 64 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /system/emergency/hazard_status + Value: false + Value height offset: 0 Enabled: true Name: System - Class: rviz_common/Group @@ -222,7 +339,23 @@ Visualization Manager: Enabled: true Name: Lanelet2VectorMap Namespaces: - {} + center_lane_line: false + center_line_arrows: false + crosswalk_lanelet_id: true + crosswalk_lanelets: true + lane_start_bound: false + lanelet direction: true + lanelet_id: false + left_lane_bound: true + parking_lots: true + parking_space: true + right_lane_bound: true + road_lanelets: false + stop_lines: true + traffic_light: true + traffic_light_id: false + traffic_light_reg_elem_id: false + traffic_light_triangle: true Topic: Depth: 5 Durability Policy: Transient Local @@ -575,15 +708,21 @@ Visualization Manager: CYCLIST: Alpha: 0.9990000128746033 Color: 119; 11; 32 - Class: autoware_auto_perception_rviz_plugin/DetectedObjects + Class: autoware_perception_rviz_plugin/DetectedObjects + Confidence Interval: 95% Display Acceleration: true + Display Existence Probability: false Display Label: true - Display PoseWithCovariance: true + Display Pose Covariance: true Display Predicted Path Confidence: true Display Predicted Paths: true Display Twist: true + Display Twist Covariance: false Display UUID: true Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false Enabled: true Line Width: 0.029999999329447746 MOTORCYCLE: @@ -592,6 +731,7 @@ Visualization Manager: Name: DetectedObjects Namespaces: {} + Object Fill Type: skeleton PEDESTRIAN: Alpha: 0.9990000128746033 Color: 255; 192; 203 @@ -626,15 +766,22 @@ Visualization Manager: CYCLIST: Alpha: 0.9990000128746033 Color: 119; 11; 32 - Class: autoware_auto_perception_rviz_plugin/TrackedObjects + Class: autoware_perception_rviz_plugin/TrackedObjects + Confidence Interval: 95% Display Acceleration: true + Display Existence Probability: false Display Label: true - Display PoseWithCovariance: true + Display Pose Covariance: true Display Predicted Path Confidence: true Display Predicted Paths: true Display Twist: true + Display Twist Covariance: false Display UUID: true Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false + Dynamic Status: All Enabled: true Line Width: 0.029999999329447746 MOTORCYCLE: @@ -643,6 +790,7 @@ Visualization Manager: Name: TrackedObjects Namespaces: {} + Object Fill Type: skeleton PEDESTRIAN: Alpha: 0.9990000128746033 Color: 255; 192; 203 @@ -677,23 +825,30 @@ Visualization Manager: CYCLIST: Alpha: 0.9990000128746033 Color: 119; 11; 32 - Class: autoware_auto_perception_rviz_plugin/PredictedObjects + Class: autoware_perception_rviz_plugin/PredictedObjects + Confidence Interval: 95% Display Acceleration: true + Display Existence Probability: false Display Label: true - Display PoseWithCovariance: false + Display Pose Covariance: true Display Predicted Path Confidence: true Display Predicted Paths: true Display Twist: true + Display Twist Covariance: false Display UUID: true Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false Enabled: true - Line Width: 0.5 + Line Width: 0.029999999329447746 MOTORCYCLE: Alpha: 0.9990000128746033 Color: 119; 11; 32 Name: PredictedObjects Namespaces: {} + Object Fill Type: skeleton PEDESTRIAN: Alpha: 0.9990000128746033 Color: 255; 192; 203 @@ -745,7 +900,7 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Best Effort - Value: /perception/traffic_light_recognition/debug/rois + Value: /perception/traffic_light_recognition/traffic_light/debug/rois Value: false - Class: rviz_default_plugins/MarkerArray Enabled: true @@ -796,7 +951,12 @@ Visualization Manager: Enabled: true Name: RouteArea Namespaces: - {} + end_lanelets: true + goal_lanelets: true + lane_start_bound: false + left_lane_bound: false + right_lane_bound: false + route_lanelets: true Topic: Depth: 5 Durability Policy: Transient Local @@ -824,6 +984,18 @@ Visualization Manager: Reliability Policy: Reliable Value: /planning/mission_planning/echo_back_goal_pose Value: true + - Background Alpha: 0.5 + Background Color: 23; 28; 31 + Class: autoware_mission_details_overlay_rviz_plugin/MissionDetailsDisplay + Enabled: true + Height: 100 + Name: MissionDetailsDisplay + Remaining Distance and Time Topic: /planning/mission_remaining_distance_time + Right: 10 + Text Color: 194; 194; 194 + Top: 10 + Value: true + Width: 170 Enabled: true Name: MissionPlanning - Class: rviz_common/Group @@ -844,15 +1016,17 @@ Visualization Manager: Alpha: 1 Color: 230; 230; 50 Offset from BaseLink: 0 - Rear Overhang: 1.0299999713897705 + Rear Overhang: 1.100000023841858 Value: false - Vehicle Length: 4.769999980926514 - Vehicle Width: 1.8300000429153442 + Vehicle Length: 4.889999866485596 + Vehicle Width: 1.8960000276565552 View Path: Alpha: 0.9990000128746033 - Color: 0; 0; 0 - Constant Color: false Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -898,15 +1072,17 @@ Visualization Manager: Alpha: 1 Color: 230; 230; 50 Offset from BaseLink: 0 - Rear Overhang: 1.0299999713897705 + Rear Overhang: 1.100000023841858 Value: false - Vehicle Length: 4.769999980926514 - Vehicle Width: 1.8300000429153442 + Vehicle Length: 4.889999866485596 + Vehicle Width: 1.8960000276565552 View Path: Alpha: 0.4000000059604645 - Color: 0; 0; 0 - Constant Color: false Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -954,9 +1130,11 @@ Visualization Manager: Vehicle Width: 1.8300000429153442 View Path: Alpha: 0.30000001192092896 - Color: 210; 110; 10 - Constant Color: true Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -987,7 +1165,7 @@ Visualization Manager: Filter size: 10 History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/path_reference/avoidance + Value: /planning/path_reference/static_obstacle_avoidance Value: false View Drivable Area: Alpha: 0.9990000128746033 @@ -1004,9 +1182,11 @@ Visualization Manager: Vehicle Width: 1.8300000429153442 View Path: Alpha: 0.30000001192092896 - Color: 210; 110; 210 - Constant Color: true Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -1054,9 +1234,11 @@ Visualization Manager: Vehicle Width: 1.8300000429153442 View Path: Alpha: 0.30000001192092896 - Color: 210; 210; 110 - Constant Color: true Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -1104,9 +1286,11 @@ Visualization Manager: Vehicle Width: 1.8300000429153442 View Path: Alpha: 0.30000001192092896 - Color: 210; 210; 110 - Constant Color: true Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -1154,9 +1338,11 @@ Visualization Manager: Vehicle Width: 1.8300000429153442 View Path: Alpha: 0.30000001192092896 - Color: 110; 110; 210 - Constant Color: true Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -1204,9 +1390,11 @@ Visualization Manager: Vehicle Width: 1.8300000429153442 View Path: Alpha: 0.30000001192092896 - Color: 210; 110; 110 - Constant Color: true Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -1248,15 +1436,17 @@ Visualization Manager: Alpha: 1 Color: 230; 230; 50 Offset from BaseLink: 0 - Rear Overhang: 1.0299999713897705 + Rear Overhang: 1.100000023841858 Value: false - Vehicle Length: 4.769999980926514 - Vehicle Width: 1.8300000429153442 + Vehicle Length: 4.889999866485596 + Vehicle Width: 1.8960000276565552 View Path: Alpha: 0.30000001192092896 - Color: 115; 210; 22 - Constant Color: false Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -1304,9 +1494,11 @@ Visualization Manager: Vehicle Width: 1.8300000429153442 View Path: Alpha: 0.30000001192092896 - Color: 115; 210; 22 - Constant Color: false Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -1348,15 +1540,17 @@ Visualization Manager: Alpha: 1 Color: 230; 230; 50 Offset from BaseLink: 0 - Rear Overhang: 1.0299999713897705 + Rear Overhang: 1.100000023841858 Value: false - Vehicle Length: 4.769999980926514 - Vehicle Width: 1.8300000429153442 + Vehicle Length: 4.889999866485596 + Vehicle Width: 1.8960000276565552 View Path: Alpha: 0.30000001192092896 - Color: 115; 210; 22 - Constant Color: false Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -1398,15 +1592,17 @@ Visualization Manager: Alpha: 1 Color: 230; 230; 50 Offset from BaseLink: 0 - Rear Overhang: 1.0299999713897705 + Rear Overhang: 1.100000023841858 Value: false - Vehicle Length: 4.769999980926514 - Vehicle Width: 1.8300000429153442 + Vehicle Length: 4.889999866485596 + Vehicle Width: 1.8960000276565552 View Path: Alpha: 0.30000001192092896 - Color: 115; 210; 22 - Constant Color: false Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -1454,9 +1650,11 @@ Visualization Manager: Vehicle Width: 1.8300000429153442 View Path: Alpha: 0.30000001192092896 - Color: 115; 210; 22 - Constant Color: false Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -1504,9 +1702,11 @@ Visualization Manager: Vehicle Width: 1.8300000429153442 View Path: Alpha: 0.30000001192092896 - Color: 115; 210; 22 - Constant Color: false Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -1537,7 +1737,7 @@ Visualization Manager: Filter size: 10 History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/path_candidate/avoidance + Value: /planning/path_candidate/static_obstacle_avoidance Value: true View Drivable Area: Alpha: 0.9990000128746033 @@ -1548,15 +1748,17 @@ Visualization Manager: Alpha: 1 Color: 230; 230; 50 Offset from BaseLink: 0 - Rear Overhang: 1.0299999713897705 + Rear Overhang: 1.100000023841858 Value: false - Vehicle Length: 4.769999980926514 - Vehicle Width: 1.8300000429153442 + Vehicle Length: 4.889999866485596 + Vehicle Width: 1.8960000276565552 View Path: Alpha: 0.30000001192092896 - Color: 115; 210; 22 - Constant Color: false Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -1598,15 +1800,17 @@ Visualization Manager: Alpha: 1 Color: 230; 230; 50 Offset from BaseLink: 0 - Rear Overhang: 1.0299999713897705 + Rear Overhang: 1.100000023841858 Value: false - Vehicle Length: 4.769999980926514 - Vehicle Width: 1.8300000429153442 + Vehicle Length: 4.889999866485596 + Vehicle Width: 1.8960000276565552 View Path: Alpha: 0.30000001192092896 - Color: 115; 210; 22 - Constant Color: false Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -1648,15 +1852,17 @@ Visualization Manager: Alpha: 1 Color: 230; 230; 50 Offset from BaseLink: 0 - Rear Overhang: 1.0299999713897705 + Rear Overhang: 1.100000023841858 Value: false - Vehicle Length: 4.769999980926514 - Vehicle Width: 1.8300000429153442 + Vehicle Length: 4.889999866485596 + Vehicle Width: 1.8960000276565552 View Path: Alpha: 0.30000001192092896 - Color: 115; 210; 22 - Constant Color: false Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -1693,7 +1899,7 @@ Visualization Manager: Displays: - Class: rviz_default_plugins/MarkerArray Enabled: true - Name: VirtualWall (Avoidance) + Name: VirtualWall (StaticObstacleAvoidance) Namespaces: {} Topic: @@ -1701,7 +1907,7 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/virtual_wall/avoidance + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/virtual_wall/static_obstacle_avoidance Value: true - Class: rviz_default_plugins/MarkerArray Enabled: true @@ -1943,18 +2149,6 @@ Visualization Manager: Reliability Policy: Reliable Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/speed_bump Value: true - - Class: rviz_default_plugins/MarkerArray - Enabled: true - Name: VirtualWall (OutOfLane) - Namespaces: - {} - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/out_of_lane - Value: true - Class: rviz_default_plugins/MarkerArray Enabled: true Name: VirtualWall (NoDrivableLane) @@ -1967,18 +2161,6 @@ Visualization Manager: Reliability Policy: Reliable Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/no_drivable_lane Value: true - - Class: rviz_default_plugins/MarkerArray - Enabled: true - Name: VirtualWall (DynamicObstacleStop) - Namespaces: - {} - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/virtual_wall/dynamic_obstacle_stop - Value: true Enabled: true Name: VirtualWall - Class: rviz_common/Group @@ -2019,32 +2201,6 @@ Visualization Manager: Reliability Policy: Reliable Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/intersection Value: false - - Alpha: 0.5 - Autocompute Intensity Bounds: true - Class: grid_map_rviz_plugin/GridMap - Color: 200; 200; 200 - Color Layer: color - Color Transformer: IntensityLayer - Enabled: false - Height Layer: elevation - Height Transformer: Layer - History Length: 1 - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 10 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: IntersectionOcclusion - Show Grid Lines: false - Topic: - Depth: 5 - Durability Policy: Volatile - Filter size: 10 - History Policy: Keep Last - Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/intersection/occlusion_grid - Use Rainbow: true - Value: false - Class: rviz_default_plugins/MarkerArray Enabled: false Name: Blind Spot @@ -2143,7 +2299,7 @@ Visualization Manager: Value: false - Class: rviz_default_plugins/MarkerArray Enabled: false - Name: Avoidance + Name: StaticObstacleAvoidance Namespaces: {} Topic: @@ -2151,11 +2307,11 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/avoidance + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/static_obstacle_avoidance Value: false - Class: rviz_default_plugins/MarkerArray Enabled: false - Name: LaneChange + Name: LeftLaneChange Namespaces: {} Topic: @@ -2163,11 +2319,11 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/lane_change + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/lane_change_left Value: false - Class: rviz_default_plugins/MarkerArray Enabled: false - Name: LaneFollowing + Name: RightLaneChange Namespaces: {} Topic: @@ -2175,11 +2331,11 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/lane_following + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/lane_change_right Value: false - Class: rviz_default_plugins/MarkerArray Enabled: false - Name: GoalPlanner + Name: LaneFollowing Namespaces: {} Topic: @@ -2187,11 +2343,11 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/goal_planner + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/lane_following Value: false - Class: rviz_default_plugins/MarkerArray Enabled: false - Name: StartPlanner + Name: GoalPlanner Namespaces: {} Topic: @@ -2199,11 +2355,11 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/start_planner + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/goal_planner Value: false - Class: rviz_default_plugins/MarkerArray Enabled: false - Name: SideShift + Name: StartPlanner Namespaces: {} Topic: @@ -2211,11 +2367,11 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/side_shift + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/start_planner Value: false - Class: rviz_default_plugins/MarkerArray Enabled: false - Name: SpeedBump + Name: SideShift Namespaces: {} Topic: @@ -2223,11 +2379,11 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/speed_bump + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/side_shift Value: false - Class: rviz_default_plugins/MarkerArray Enabled: false - Name: OutOfLane + Name: SpeedBump Namespaces: {} Topic: @@ -2235,11 +2391,11 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/out_of_lane + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/speed_bump Value: false - Class: rviz_default_plugins/MarkerArray Enabled: false - Name: DynamicAvoidance + Name: DynamicObstacleAvoidance Namespaces: {} Topic: @@ -2247,7 +2403,7 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/dynamic_avoidance + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/debug/dynamic_obstacle_avoidance Value: false - Class: rviz_default_plugins/MarkerArray Enabled: false @@ -2261,25 +2417,13 @@ Visualization Manager: Reliability Policy: Reliable Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/no_drivable_lane Value: false - - Class: rviz_default_plugins/MarkerArray - Enabled: false - Name: DynamicObstacleStop - Namespaces: - {} - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_velocity_planner/debug/dynamic_obstacle_stop - Value: false Enabled: false Name: DebugMarker - Class: rviz_common/Group Displays: - Class: rviz_default_plugins/MarkerArray Enabled: false - Name: Info (Avoidance) + Name: Info (StaticObstacleAvoidance) Namespaces: {} Topic: @@ -2287,7 +2431,7 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/info/avoidance + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/info/static_obstacle_avoidance Value: false - Class: rviz_default_plugins/MarkerArray Enabled: false @@ -2375,7 +2519,7 @@ Visualization Manager: Value: false - Class: rviz_default_plugins/MarkerArray Enabled: false - Name: Info (DynamicAvoidance) + Name: Info (DynamicObstacleAvoidance) Namespaces: {} Topic: @@ -2383,7 +2527,7 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/info/dynamic_avoidance + Value: /planning/scenario_planning/lane_driving/behavior_planning/behavior_path_planner/info/dynamic_obstacle_avoidance Value: false Enabled: false Name: InfoMarker @@ -2413,9 +2557,11 @@ Visualization Manager: Vehicle Width: 1.8300000429153442 View Path: Alpha: 0.9990000128746033 - Color: 0; 0; 0 - Constant Color: false Constant Width: false + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 2 View Point: @@ -2476,7 +2622,79 @@ Visualization Manager: Value: true - Class: rviz_default_plugins/MarkerArray Enabled: true - Name: VirtualWall (ObstacleCruise) + Name: VirtualWall (ObstacleCruise Stop) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_cruise_planner/virtual_wall/stop + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (ObstacleCruise Cruise) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_cruise_planner/virtual_wall/cruise + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (ObstacleCruise SlowDown) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_cruise_planner/virtual_wall/slow_down + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (MotionVelocitySmoother) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/velocity_smoother/virtual_wall + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (OutOfLane) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/out_of_lane/virtual_walls + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (ObstacleVelocityLimiter) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/obstacle_velocity_limiter/virtual_walls + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (DynamicObstacleStop) Namespaces: {} Topic: @@ -2484,7 +2702,7 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_cruise_planner/virtual_wall + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/dynamic_obstacle_stop/virtual_walls Value: true Enabled: true Name: VirtualWall @@ -2561,7 +2779,35 @@ Visualization Manager: Displays: - Class: rviz_default_plugins/MarkerArray Enabled: true - Name: CruiseVirtualWall + Name: DebugMarker + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_cruise_planner/debug/marker + Value: true + Enabled: false + Name: ObstacleCruise + - Class: rviz_default_plugins/MarkerArray + Enabled: false + Name: ObstacleAvoidance + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/marker + Value: false + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: OutOfLane Namespaces: {} Topic: @@ -2569,11 +2815,11 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_cruise_planner/debug/cruise/virtual_wall + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/out_of_lane/debug_markers Value: true - Class: rviz_default_plugins/MarkerArray Enabled: true - Name: SlowDownVirtualWall + Name: ObstacleVelocityLimiter Namespaces: {} Topic: @@ -2581,11 +2827,11 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_cruise_planner/debug/slow_down/virtual_wall + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/obstacle_velocity_limiter/debug_markers Value: true - Class: rviz_default_plugins/MarkerArray Enabled: true - Name: DebugMarker + Name: DynamicObstacleStop Namespaces: {} Topic: @@ -2593,22 +2839,10 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_cruise_planner/debug/marker + Value: /planning/scenario_planning/lane_driving/motion_planning/motion_velocity_planner/dynamic_obstacle_stop/debug_markers Value: true Enabled: false - Name: ObstacleCruise - - Class: rviz_default_plugins/MarkerArray - Enabled: false - Name: ObstacleAvoidance - Namespaces: - {} - Topic: - Depth: 5 - Durability Policy: Volatile - History Policy: Keep Last - Reliability Policy: Reliable - Value: /planning/scenario_planning/lane_driving/motion_planning/obstacle_avoidance_planner/debug/marker - Value: false + Name: MotionVelocityPlanner Enabled: false Name: DebugMarker Enabled: true @@ -2730,21 +2964,23 @@ Visualization Manager: Filter size: 10 History Policy: Keep Last Reliability Policy: Reliable - Value: /control/trajectory_follower/lateral/predicted_trajectory + Value: /control/trajectory_follower/controller_node_exe/debug/predicted_trajectory_in_frenet_coordinate Value: true View Footprint: Alpha: 1 Color: 230; 230; 50 Offset from BaseLink: 0 - Rear Overhang: 1.0299999713897705 + Rear Overhang: 1.100000023841858 Value: false - Vehicle Length: 4.769999980926514 - Vehicle Width: 1.8300000429153442 + Vehicle Length: 4.889999866485596 + Vehicle Width: 1.8960000276565552 View Path: Alpha: 1 - Color: 255; 255; 255 - Constant Color: true Constant Width: true + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 Value: true Width: 0.05000000074505806 View Point: @@ -2765,33 +3001,97 @@ Visualization Manager: Constant Color: false Scale: 0.30000001192092896 Value: false - - Class: rviz_default_plugins/MarkerArray + - Class: rviz_plugins/Trajectory + Color Border Vel Max: 3 Enabled: false - Name: Debug/MPC - Namespaces: - {} + Name: Resampled Reference Trajectory Topic: Depth: 5 Durability Policy: Volatile + Filter size: 10 History Policy: Keep Last Reliability Policy: Reliable - Value: /control/trajectory_follower/mpc_follower/debug/markers + Value: /control/trajectory_follower/controller_node_exe/debug/resampled_reference_trajectory Value: false - - Class: rviz_default_plugins/MarkerArray + View Footprint: + Alpha: 1 + Color: 230; 230; 50 + Offset from BaseLink: 0 + Rear Overhang: 1.0299999713897705 + Value: false + Vehicle Length: 4.769999980926514 + Vehicle Width: 1.8300000429153442 + View Path: + Alpha: 1 + Constant Width: true + Fade Out Distance: 0 + Max Velocity Color: 0; 230; 120 + Mid Velocity Color: 32; 138; 174 + Min Velocity Color: 63; 46; 227 + Value: false + Width: 0.20000000298023224 + View Point: + Alpha: 1 + Color: 0; 60; 255 + Offset: 0 + Radius: 0.10000000149011612 + Value: true + View Text Slope: + Scale: 0.30000001192092896 + Value: false + View Text Velocity: + Scale: 0.30000001192092896 + Value: false + View Velocity: + Alpha: 1 + Color: 0; 0; 0 + Constant Color: false + Scale: 0.30000001192092896 + Value: false + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (AEB) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /control/autonomous_emergency_braking/virtual_wall + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: VirtualWall (velocity control) + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /control/trajectory_follower/controller_node_exe/virtual_wall + Value: true + Enabled: true + Name: VirtualWall + - Class: rviz_default_plugins/Marker Enabled: false - Name: Debug/PurePursuit + Name: Stop Reason Namespaces: {} Topic: Depth: 5 Durability Policy: Volatile + Filter size: 10 History Policy: Keep Last Reliability Policy: Reliable - Value: /control/trajectory_follower/controller_node_exe/debug/markers + Value: /control/trajectory_follower/longitudinal/stop_reason Value: false - Class: rviz_default_plugins/MarkerArray Enabled: false - Name: Debug/AEB + Name: Debug/MPC Namespaces: {} Topic: @@ -2799,15 +3099,11 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /control/autonomous_emergency_braking/debug/markers + Value: /control/trajectory_follower/mpc_follower/debug/markers Value: false - Enabled: true - Name: Control - - Class: rviz_common/Group - Displays: - Class: rviz_default_plugins/MarkerArray - Enabled: true - Name: Debug Marker + Enabled: false + Name: Debug/PurePursuit Namespaces: {} Topic: @@ -2815,11 +3111,11 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /simulation/debug_marker - Value: true + Value: /control/trajectory_follower/controller_node_exe/debug/markers + Value: false - Class: rviz_default_plugins/MarkerArray - Enabled: true - Name: Entity Marker + Enabled: false + Name: Debug/AEB Namespaces: {} Topic: @@ -2827,13 +3123,1181 @@ Visualization Manager: Durability Policy: Volatile History Policy: Keep Last Reliability Policy: Reliable - Value: /simulation/entity/marker - Value: true - - Class: rviz_default_plugins/MarkerArray + Value: /control/autonomous_emergency_braking/debug/markers + Value: false + Enabled: true + Name: Control + - Class: rviz_common/Group + Displays: + - Class: rviz_common/Group + Displays: ~ Enabled: true - Name: Lanelet Marker - Namespaces: - {} + Name: Map + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/Camera + Enabled: true + Far Plane Distance: 100 + Image Rendering: background and overlay + Name: PointcloudOnCamera + Overlay Alpha: 0.5 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /sensing/camera/camera6/image_raw + Value: true + Visibility: + Control: + "": true + Value: false + Debug: + Control: true + Localization: + "": true + Value: true + Map: true + Perception: + "": true + Value: true + Planning: + "": + "": true + Value: true + Value: true + Sensing: + ConcatenatePointCloud: true + RadarRawObjects(white): true + Value: true + Value: true + Localization: + "": + "": true + Value: true + Value: false + Map: + "": true + Value: false + Perception: + "": + "": true + Value: true + Value: false + Planning: + "": + "": true + Value: true + Value: false + Sensing: + "": + "": true + Value: true + Value: true + Simulation: + Condition Group: true + Debug Marker: true + Entity Marker: true + Lanelet Marker: true + Simple Sensor Simulator: + Detected Objects: true + Occupancy Grid Map: true + Simple LiDAR: true + Value: true + Traffic Light Marker: true + Value: true + System: + "": true + Value: false + Value: true + Zoom Factor: 1 + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 5 + Min Value: -1 + Value: false + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: AxisColor + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: ConcatenatePointCloud + Position Transformer: XYZ + Selectable: false + Size (Pixels): 3 + Size (m): 0.019999999552965164 + Style: Points + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /sensing/lidar/concatenated/pointcloud + Use Fixed Frame: false + Use rainbow: true + Value: true + - BUS: + Alpha: 0.5 + Color: 255; 255; 255 + CAR: + Alpha: 0.5 + Color: 255; 255; 255 + CYCLIST: + Alpha: 0.5 + Color: 255; 255; 255 + Class: autoware_perception_rviz_plugin/DetectedObjects + Confidence Interval: 95% + Display Acceleration: true + Display Existence Probability: false + Display Label: true + Display Pose Covariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display Twist Covariance: false + Display UUID: true + Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false + Enabled: true + Line Width: 0.029999999329447746 + MOTORCYCLE: + Alpha: 0.5 + Color: 255; 255; 255 + Name: RadarRawObjects(white) + Namespaces: + {} + Object Fill Type: skeleton + PEDESTRIAN: + Alpha: 0.5 + Color: 255; 255; 255 + Polygon Type: 3d + TRAILER: + Alpha: 0.5 + Color: 255; 255; 255 + TRUCK: + Alpha: 0.5 + Color: 255; 255; 255 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /sensing/radar/detected_objects + UNKNOWN: + Alpha: 0.5 + Color: 255; 255; 255 + Value: true + Visualization Type: Normal + Enabled: false + Name: Sensing + - Class: rviz_common/Group + Displays: + - Alpha: 0.9990000128746033 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 85; 255; 0 + Color Transformer: FlatColor + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 85; 255; 127 + Max Intensity: 0 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: NDT pointclouds + Position Transformer: XYZ + Selectable: false + Size (Pixels): 10 + Size (m): 0.5 + Style: Squares + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /localization/pose_estimator/points_aligned + Use Fixed Frame: true + Use rainbow: true + Value: true + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz_default_plugins/PointCloud2 + Color: 255; 255; 255 + Color Transformer: "" + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 4096 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: NDTLoadedPCDMap + Position Transformer: "" + Selectable: true + Size (Pixels): 3 + Size (m): 0.10000000149011612 + Style: Flat Squares + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /localization/pose_estimator/debug/loaded_pointcloud_map + Use Fixed Frame: true + Use rainbow: true + Value: true + - Buffer Size: 200 + Class: rviz_plugins::PoseHistory + Enabled: true + Line: + Alpha: 0.9990000128746033 + Color: 170; 255; 127 + Value: true + Width: 0.10000000149011612 + Name: NDTPoseHistory + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /localization/pose_estimator/pose + Value: true + - Buffer Size: 1000 + Class: rviz_plugins::PoseHistory + Enabled: true + Line: + Alpha: 0.9990000128746033 + Color: 0; 255; 255 + Value: true + Width: 0.10000000149011612 + Name: EKFPoseHistory + Topic: + Depth: 5 + Durability Policy: Volatile + Filter size: 10 + History Policy: Keep Last + Reliability Policy: Reliable + Value: /localization/pose_twist_fusion_filter/pose + Value: true + Enabled: true + Name: Localization + - Class: rviz_common/Group + Displays: + - BUS: + Alpha: 0.9990000128746033 + Color: 255; 138; 128 + CAR: + Alpha: 0.9990000128746033 + Color: 255; 138; 128 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 255; 138; 128 + Class: autoware_perception_rviz_plugin/DetectedObjects + Confidence Interval: 95% + Display Acceleration: true + Display Existence Probability: false + Display Label: true + Display Pose Covariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display Twist Covariance: false + Display UUID: true + Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 255; 138; 128 + Name: Centerpoint(red1) + Namespaces: + {} + Object Fill Type: skeleton + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 255; 138; 128 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 255; 138; 128 + TRUCK: + Alpha: 0.9990000128746033 + Color: 255; 138; 128 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/centerpoint/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 255; 138; 128 + Value: true + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 255; 82; 82 + CAR: + Alpha: 0.9990000128746033 + Color: 255; 82; 82 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 255; 82; 82 + Class: autoware_perception_rviz_plugin/DetectedObjects + Confidence Interval: 95% + Display Acceleration: true + Display Existence Probability: false + Display Label: true + Display Pose Covariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display Twist Covariance: false + Display UUID: true + Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 255; 82; 82 + Name: CenterpointROIFusion(red2) + Namespaces: + {} + Object Fill Type: skeleton + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 255; 82; 82 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 255; 82; 82 + TRUCK: + Alpha: 0.9990000128746033 + Color: 255; 82; 82 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/centerpoint/roi_fusion/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 255; 82; 82 + Value: true + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 213; 0; 0 + CAR: + Alpha: 0.9990000128746033 + Color: 213; 0; 0 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 213; 0; 0 + Class: autoware_perception_rviz_plugin/DetectedObjects + Confidence Interval: 95% + Display Acceleration: true + Display Existence Probability: false + Display Label: true + Display Pose Covariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display Twist Covariance: false + Display UUID: true + Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 213; 0; 0 + Name: CenterpointValidator(red3) + Namespaces: + {} + Object Fill Type: skeleton + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 213; 0; 0 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 213; 0; 0 + TRUCK: + Alpha: 0.9990000128746033 + Color: 213; 0; 0 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/centerpoint/validation/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 213; 0; 0 + Value: true + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 178; 255; 89 + CAR: + Alpha: 0.9990000128746033 + Color: 178; 255; 89 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 178; 255; 89 + Class: autoware_perception_rviz_plugin/DetectedObjects + Confidence Interval: 95% + Display Acceleration: true + Display Existence Probability: false + Display Label: true + Display Pose Covariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display Twist Covariance: false + Display UUID: true + Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 178; 255; 89 + Name: PointPainting(light_green1) + Namespaces: + {} + Object Fill Type: skeleton + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 178; 255; 89 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 178; 255; 89 + TRUCK: + Alpha: 0.9990000128746033 + Color: 178; 255; 89 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/pointpainting/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 178; 255; 89 + Value: true + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 118; 255; 3 + CAR: + Alpha: 0.9990000128746033 + Color: 118; 255; 3 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 118; 255; 3 + Class: autoware_perception_rviz_plugin/DetectedObjects + Confidence Interval: 95% + Display Acceleration: true + Display Existence Probability: false + Display Label: true + Display Pose Covariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display Twist Covariance: false + Display UUID: true + Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 118; 255; 3 + Name: PointPaintingROIFusion(light_green2) + Namespaces: + {} + Object Fill Type: skeleton + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 118; 255; 3 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 118; 255; 3 + TRUCK: + Alpha: 0.9990000128746033 + Color: 118; 255; 3 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/pointpainting/roi_fusion/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 118; 255; 3 + Value: true + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 100; 221; 23 + CAR: + Alpha: 0.9990000128746033 + Color: 100; 221; 23 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 100; 221; 23 + Class: autoware_perception_rviz_plugin/DetectedObjects + Confidence Interval: 95% + Display Acceleration: true + Display Existence Probability: false + Display Label: true + Display Pose Covariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display Twist Covariance: false + Display UUID: true + Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 100; 221; 23 + Name: PointPaintingValidator(light_green3) + Namespaces: + {} + Object Fill Type: skeleton + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 100; 221; 23 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 100; 221; 23 + TRUCK: + Alpha: 0.9990000128746033 + Color: 100; 221; 23 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/pointpainting/validation/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 100; 221; 23 + Value: true + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 255; 145; 0 + CAR: + Alpha: 0.9990000128746033 + Color: 255; 145; 0 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 255; 145; 0 + Class: autoware_perception_rviz_plugin/DetectedObjects + Confidence Interval: 95% + Display Acceleration: true + Display Existence Probability: false + Display Label: true + Display Pose Covariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display Twist Covariance: false + Display UUID: true + Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 255; 145; 0 + Name: DetectionByTracker(orange) + Namespaces: + {} + Object Fill Type: skeleton + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 255; 145; 0 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 255; 145; 0 + TRUCK: + Alpha: 0.9990000128746033 + Color: 255; 145; 0 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/detection_by_tracker/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 255; 145; 0 + Value: true + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 213; 0; 249 + CAR: + Alpha: 0.9990000128746033 + Color: 213; 0; 249 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 213; 0; 249 + Class: autoware_perception_rviz_plugin/DetectedObjects + Confidence Interval: 95% + Display Acceleration: true + Display Existence Probability: false + Display Label: true + Display Pose Covariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display Twist Covariance: false + Display UUID: true + Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 213; 0; 249 + Name: CameraLidarFusion(purple) + Namespaces: + {} + Object Fill Type: skeleton + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 213; 0; 249 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 213; 0; 249 + TRUCK: + Alpha: 0.9990000128746033 + Color: 213; 0; 249 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/clustering/camera_lidar_fusion/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 213; 0; 249 + Value: true + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 255; 255; 255 + CAR: + Alpha: 0.9990000128746033 + Color: 255; 255; 255 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 255; 255; 255 + Class: autoware_perception_rviz_plugin/DetectedObjects + Confidence Interval: 95% + Display Acceleration: true + Display Existence Probability: false + Display Label: true + Display Pose Covariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display Twist Covariance: false + Display UUID: true + Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 255; 255; 255 + Name: RadarFarObjects(white) + Namespaces: + {} + Object Fill Type: skeleton + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 255; 255; 255 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 255; 255; 255 + TRUCK: + Alpha: 0.9990000128746033 + Color: 255; 255; 255 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/radar/far_objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 255; 255; 255 + Value: true + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 255; 234; 0 + CAR: + Alpha: 0.9990000128746033 + Color: 255; 234; 0 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 255; 234; 0 + Class: autoware_perception_rviz_plugin/DetectedObjects + Confidence Interval: 95% + Display Acceleration: true + Display Existence Probability: false + Display Label: true + Display Pose Covariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display Twist Covariance: false + Display UUID: true + Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 255; 234; 0 + Name: Detection(yellow) + Namespaces: + {} + Object Fill Type: skeleton + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 255; 234; 0 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 255; 234; 0 + TRUCK: + Alpha: 0.9990000128746033 + Color: 255; 234; 0 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/detection/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 255; 234; 0 + Value: true + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 0; 230; 118 + CAR: + Alpha: 0.9990000128746033 + Color: 0; 230; 118 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 0; 230; 118 + Class: autoware_perception_rviz_plugin/TrackedObjects + Confidence Interval: 95% + Display Acceleration: true + Display Existence Probability: false + Display Label: true + Display Pose Covariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display Twist Covariance: false + Display UUID: true + Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false + Dynamic Status: All + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 0; 230; 118 + Name: Tracking(green) + Namespaces: + {} + Object Fill Type: skeleton + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 0; 230; 118 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 0; 230; 118 + TRUCK: + Alpha: 0.9990000128746033 + Color: 0; 230; 118 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/tracking/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 0; 230; 118 + Value: true + Visualization Type: Normal + - BUS: + Alpha: 0.9990000128746033 + Color: 0; 176; 255 + CAR: + Alpha: 0.9990000128746033 + Color: 0; 176; 255 + CYCLIST: + Alpha: 0.9990000128746033 + Color: 0; 176; 255 + Class: autoware_perception_rviz_plugin/PredictedObjects + Confidence Interval: 95% + Display Acceleration: true + Display Existence Probability: false + Display Label: true + Display Pose Covariance: true + Display Predicted Path Confidence: true + Display Predicted Paths: true + Display Twist: true + Display Twist Covariance: false + Display UUID: true + Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false + Enabled: true + Line Width: 0.10000000149011612 + MOTORCYCLE: + Alpha: 0.9990000128746033 + Color: 0; 176; 255 + Name: Prediction(light_blue) + Namespaces: + {} + Object Fill Type: skeleton + PEDESTRIAN: + Alpha: 0.9990000128746033 + Color: 0; 176; 255 + Polygon Type: 3d + TRAILER: + Alpha: 0.9990000128746033 + Color: 0; 176; 255 + TRUCK: + Alpha: 0.9990000128746033 + Color: 0; 176; 255 + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Best Effort + Value: /perception/object_recognition/objects + UNKNOWN: + Alpha: 0.9990000128746033 + Color: 0; 176; 255 + Value: true + Visualization Type: Normal + Enabled: true + Name: Perception + - Class: rviz_common/Group + Displays: + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: LaneChangeLeft + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/lane_change_left + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: LaneChangeRight + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/lane_change_right + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: AvoidanceLeft + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/static_obstacle_avoidance_left + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: AvoidanceRight + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/static_obstacle_avoidance_right + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: AvoidanceByLCLeft + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/avoidance_by_lc_left + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: AvoidanceByLCRight + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/avoidance_by_lc_right + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: StartPlanner + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/start_planner + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: GoalPlanner + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/goal_planner + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Crosswalk + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/crosswalk + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Intersection + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/intersection + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: BlindSpot + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/blind_spot + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: TrafficLight + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/traffic_light + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: DetectionArea + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/detection_area + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: NoStoppingArea + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/no_stopping_area + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: ObstacleCruise + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /planning/debug/objects_of_interest/obstacle_cruise_planner + Value: true + Enabled: true + Name: Objects Of Interest + Enabled: true + Name: Planning + - Class: rviz_common/Group + Displays: ~ + Enabled: true + Name: Control + Enabled: false + Name: Debug + - Class: rviz_common/Group + Displays: + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Debug Marker + Namespaces: + {} + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /simulation/debug_marker + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Entity Marker + Namespaces: + ego: true + Topic: + Depth: 5 + Durability Policy: Volatile + History Policy: Keep Last + Reliability Policy: Reliable + Value: /simulation/entity/marker + Value: true + - Class: rviz_default_plugins/MarkerArray + Enabled: true + Name: Lanelet Marker + Namespaces: + center_lane_line: true + center_line_arrows: true + crosswalk_lanelets: true + lane_start_bound: true + lanelet direction: true + lanelet_id: true + left_lane_bound: true + parking_lots: true + parking_space: true + right_lane_bound: true + road_lanelets: true + stop_lines: true + traffic_light: true + traffic_light_triangle: true Topic: Depth: 5 Durability Policy: Transient Local @@ -2921,15 +4385,21 @@ Visualization Manager: CYCLIST: Alpha: 0.9990000128746033 Color: 119; 11; 32 - Class: autoware_auto_perception_rviz_plugin/DetectedObjects + Class: autoware_perception_rviz_plugin/DetectedObjects + Confidence Interval: 95% Display Acceleration: true + Display Existence Probability: false Display Label: true - Display PoseWithCovariance: true + Display Pose Covariance: true Display Predicted Path Confidence: true Display Predicted Paths: true Display Twist: true + Display Twist Covariance: false Display UUID: true Display Velocity: true + Display Yaw Covariance: false + Display Yaw Rate: false + Display Yaw Rate Covariance: false Enabled: true Line Width: 0.029999999329447746 MOTORCYCLE: @@ -2938,6 +4408,7 @@ Visualization Manager: Name: Detected Objects Namespaces: {} + Object Fill Type: skeleton PEDESTRIAN: Alpha: 0.9990000128746033 Color: 255; 192; 203 @@ -2986,7 +4457,7 @@ Visualization Manager: Name: Simulation Enabled: true Global Options: - Background Color: 10; 10; 10 + Background Color: 15; 20; 23 Fixed Frame: map Frame Rate: 30 Name: root @@ -3094,8 +4565,8 @@ Visualization Manager: Scale: 10 Target Frame: entities Value: TopDownOrtho (rviz_default_plugins) - X: 0 - Y: 0 + X: 66.42724609375 + Y: -19.859375 Saved: - Class: rviz_default_plugins/ThirdPersonFollower Distance: 18 @@ -3139,12 +4610,12 @@ Window Geometry: collapsed: false Displays: collapsed: false - Height: 2096 + Height: 1565 Hide Left Dock: false Hide Right Dock: false - InitialPoseButtonPanel: + PointcloudOnCamera: collapsed: false - QMainWindow State: 000000ff00000000fd0000000400000000000002d5000007d6fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d000005e2000000c900fffffffc00000625000001ee000000c10100001cfa000000010100000002fb0000000a0056006900650077007301000000000000033c0000010000fffffffb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000000ffffffff0000009d00fffffffb00000024004100750074006f00770061007200650053007400610074006500500061006e0065006c00000003e0000003300000017200fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000c00430061006d0065007200610100000682000000eb0000000000000000fb0000000a0049006d0061006700650100000505000002680000000000000000fb0000002c0049006e0069007400690061006c0050006f007300650042007500740074006f006e00500061006e0065006c000000068f000000de0000006e00fffffffb0000002c0049006e0069007400690061006c0050006f007300650042007500740074006f006e00500061006e0065006c000000068f000000de0000000000000000fb00000030005200650063006f0067006e006900740069006f006e0052006500730075006c0074004f006e0049006d006100670065000000066c0000008f0000002800fffffffb0000002a004100750074006f0077006100720065004400610074006500540069006d006500500061006e0065006c00000006e8000001100000004100ffffff000000010000015f000006fffc0200000002fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000e7a0000005afc0100000001fb0000000a00560069006500770073030000004e00000080000002e1000001970000000300000e7a0000005afc0100000002fb0000000800540069006d0065010000000000000e7a0000000000000000fb0000000800540069006d0065010000000000000450000000000000000000000bdf000007d600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd0000000400000000000001ee000005c3fc020000000ffb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d0000037d000000c900fffffffc000003c000000240000000c10100001cfa000000020100000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000000ffffffff0000009d00fffffffb00000024004100750074006f00770061007200650053007400610074006500500061006e0065006c0100000000ffffffff000000c100fffffffb0000000a005600690065007700730100000000000001ee0000010000fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000c00430061006d0065007200610100000682000000eb0000000000000000fb0000000a0049006d0061006700650100000505000002680000000000000000fb0000002c0049006e0069007400690061006c0050006f007300650042007500740074006f006e00500061006e0065006c000000068f000000de0000000000000000fb0000002c0049006e0069007400690061006c0050006f007300650042007500740074006f006e00500061006e0065006c000000068f000000de0000000000000000fb00000030005200650063006f0067006e006900740069006f006e0052006500730075006c0074004f006e0049006d006100670065000000047a000001860000002800fffffffb0000002a004100750074006f0077006100720065004400610074006500540069006d006500500061006e0065006c0000000332000000720000004100fffffffb000000240050006f0069006e00740063006c006f00750064004f006e00430061006d006500720061000000039d000000560000002800ffffff00000001000001ab000005c3fc0200000002fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000e7a0000005afc0100000001fb0000000a00560069006500770073030000004e00000080000002e1000001970000000300000e7a0000005afc0100000002fb0000000800540069006d0065010000000000000e7a0000000000000000fb0000000800540069006d0065010000000000000450000000000000000000000909000005c300000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 RecognitionResultOnImage: collapsed: false Selection: @@ -3153,6 +4624,6 @@ Window Geometry: collapsed: false Views: collapsed: false - Width: 3770 - X: 70 + Width: 2813 + X: 1510 Y: 27 diff --git a/simulation/traffic_simulator/include/traffic_simulator/api/api.hpp b/simulation/traffic_simulator/include/traffic_simulator/api/api.hpp index bb74b7099a9..be13d11637e 100644 --- a/simulation/traffic_simulator/include/traffic_simulator/api/api.hpp +++ b/simulation/traffic_simulator/include/traffic_simulator/api/api.hpp @@ -38,6 +38,7 @@ #include #include #include +#include #include #include #include @@ -72,15 +73,7 @@ class API node, entity_manager_ptr_->getHdmapUtils(), getROS2Parameter("architecture_type", "awf/universe/20240605"))), traffic_controller_ptr_(std::make_shared( - entity_manager_ptr_->getHdmapUtils(), [this]() { return API::getEntityNames(); }, - [this](const auto & entity_name) { - if (const auto entity = getEntity(entity_name)) { - return entity->getMapPose(); - } else { - THROW_SEMANTIC_ERROR("Entity ", std::quoted(entity_name), " does not exists."); - } - }, - [this](const auto & name) { return API::despawn(name); }, configuration.auto_sink)), + entity_manager_ptr_, configuration.auto_sink_entity_types)), clock_pub_(rclcpp::create_publisher( node, "/clock", rclcpp::QoS(rclcpp::KeepLast(1)).best_effort(), rclcpp::PublisherOptionsWithAllocator())), diff --git a/simulation/traffic_simulator/include/traffic_simulator/api/configuration.hpp b/simulation/traffic_simulator/include/traffic_simulator/api/configuration.hpp index 312dc4ffe86..2e2aa6fc990 100644 --- a/simulation/traffic_simulator/include/traffic_simulator/api/configuration.hpp +++ b/simulation/traffic_simulator/include/traffic_simulator/api/configuration.hpp @@ -21,6 +21,7 @@ #include #include #include +#include #include #include @@ -32,18 +33,18 @@ struct Configuration using Pathname = boost::filesystem::path; - const bool auto_sink = true; - bool verbose = false; - const bool standalone_mode = false; - std::string simulator_host = "localhost"; + const bool standalone_mode = false; + const double conventional_traffic_light_publish_rate = 30.0; const double v2i_traffic_light_publish_rate = 10.0; + const std::set auto_sink_entity_types; + /* ---- NOTE ----------------------------------------------------------------- * * This setting comes from the argument of the same name (= `map_path`) in @@ -66,8 +67,9 @@ struct Configuration const Pathname scenario_path; explicit Configuration( - const Pathname & map_path, const Pathname & scenario_path, const bool auto_sink) - : auto_sink(auto_sink), + const Pathname & map_path, const Pathname & scenario_path, + const std::set auto_sink_entity_types = {}) + : auto_sink_entity_types(auto_sink_entity_types), map_path(assertMapPath(map_path)), lanelet2_map_file(findLexicographicallyFirstFilenameOf(map_path, ".osm")), pointcloud_map_file(findLexicographicallyFirstFilenameOf(map_path, ".pcd")), @@ -78,8 +80,8 @@ struct Configuration explicit Configuration( const Pathname & map_path, const Filename & lanelet2_map_file, const Pathname & scenario_path, - const bool auto_sink) - : auto_sink(auto_sink), + const std::set auto_sink_entity_types = {}) + : auto_sink_entity_types(auto_sink_entity_types), map_path(assertMapPath(map_path)), lanelet2_map_file(lanelet2_map_file), pointcloud_map_file(findLexicographicallyFirstFilenameOf(map_path, ".pcd")), diff --git a/simulation/traffic_simulator/include/traffic_simulator/entity/ego_entity.hpp b/simulation/traffic_simulator/include/traffic_simulator/entity/ego_entity.hpp index 69fc2a2de1a..91cab0f7f97 100644 --- a/simulation/traffic_simulator/include/traffic_simulator/entity/ego_entity.hpp +++ b/simulation/traffic_simulator/include/traffic_simulator/entity/ego_entity.hpp @@ -17,7 +17,6 @@ #include #include -#include #include #include #include diff --git a/simulation/traffic_simulator/include/traffic_simulator/entity/entity_manager.hpp b/simulation/traffic_simulator/include/traffic_simulator/entity/entity_manager.hpp index 778b1d61459..21d67a9b5d0 100644 --- a/simulation/traffic_simulator/include/traffic_simulator/entity/entity_manager.hpp +++ b/simulation/traffic_simulator/include/traffic_simulator/entity/entity_manager.hpp @@ -37,7 +37,6 @@ #include #include #include -#include #include #include #include diff --git a/simulation/traffic_simulator/include/traffic_simulator/hdmap_utils/hdmap_utils.hpp b/simulation/traffic_simulator/include/traffic_simulator/hdmap_utils/hdmap_utils.hpp index b7d13645303..199b01890da 100644 --- a/simulation/traffic_simulator/include/traffic_simulator/hdmap_utils/hdmap_utils.hpp +++ b/simulation/traffic_simulator/include/traffic_simulator/hdmap_utils/hdmap_utils.hpp @@ -246,6 +246,8 @@ class HdMapUtils visualization_msgs::msg::MarkerArray &, const visualization_msgs::msg::MarkerArray &) const -> void; + auto isInIntersection(const lanelet::Id) const -> bool; + auto isInLanelet(const lanelet::Id, const double s) const -> bool; auto isInRoute(const lanelet::Id, const lanelet::Ids & route) const -> bool; diff --git a/simulation/traffic_simulator/include/traffic_simulator/traffic/traffic_controller.hpp b/simulation/traffic_simulator/include/traffic_simulator/traffic/traffic_controller.hpp index 75c2a53ea83..3ed3561f75a 100644 --- a/simulation/traffic_simulator/include/traffic_simulator/traffic/traffic_controller.hpp +++ b/simulation/traffic_simulator/include/traffic_simulator/traffic/traffic_controller.hpp @@ -27,10 +27,11 @@ #define TRAFFIC_SIMULATOR__TRAFFIC__TRAFFIC_CONTROLLER_HPP_ #include +#include #include +#include #include #include -#include #include #include @@ -42,10 +43,8 @@ class TrafficController { public: explicit TrafficController( - std::shared_ptr hdmap_utils, - const std::function(void)> & get_entity_names_function, - const std::function & get_entity_pose_function, - const std::function & despawn_function, bool auto_sink = false); + const std::shared_ptr entity_manager_ptr, + const std::set auto_sink_entity_types /*= {}*/); template void addModule(Ts &&... xs) @@ -53,19 +52,13 @@ class TrafficController auto module_ptr = std::make_shared(std::forward(xs)...); modules_.emplace_back(module_ptr); } - void execute(const double current_time, const double step_time); - auto makeDebugMarker() const -> const visualization_msgs::msg::MarkerArray; + auto execute(const double current_time, const double step_time) -> void; + auto makeDebugMarker() const -> visualization_msgs::msg::MarkerArray; private: - void autoSink(); - const std::shared_ptr hdmap_utils_; - std::vector> modules_; - const std::function(void)> get_entity_names_function; - const std::function get_entity_pose_function; - const std::function despawn_function; - -public: - const bool auto_sink; + auto appendAutoSinks(const std::set & auto_sink_entity_types) -> void; + const std::shared_ptr entity_manager_ptr_; + std::vector> modules_; }; } // namespace traffic } // namespace traffic_simulator diff --git a/simulation/traffic_simulator/include/traffic_simulator/traffic/traffic_module_base.hpp b/simulation/traffic_simulator/include/traffic_simulator/traffic/traffic_module_base.hpp index 41e52aaf0e4..b660cb0a281 100644 --- a/simulation/traffic_simulator/include/traffic_simulator/traffic/traffic_module_base.hpp +++ b/simulation/traffic_simulator/include/traffic_simulator/traffic/traffic_module_base.hpp @@ -36,7 +36,7 @@ class TrafficModuleBase { public: TrafficModuleBase() {} - virtual void execute(const double current_time, const double step_time) = 0; + virtual auto execute(const double current_time, const double step_time) -> void = 0; virtual auto appendDebugMarker(visualization_msgs::msg::MarkerArray &) const -> void{}; }; } // namespace traffic diff --git a/simulation/traffic_simulator/include/traffic_simulator/traffic/traffic_sink.hpp b/simulation/traffic_simulator/include/traffic_simulator/traffic/traffic_sink.hpp index 0754ace3f92..e3a99f23a86 100644 --- a/simulation/traffic_simulator/include/traffic_simulator/traffic/traffic_sink.hpp +++ b/simulation/traffic_simulator/include/traffic_simulator/traffic/traffic_sink.hpp @@ -31,6 +31,8 @@ #include #include #include +#include +#include #include #include @@ -38,25 +40,63 @@ namespace traffic_simulator { namespace traffic { +struct TrafficSinkConfig +{ + /** + * @brief Construct a new TrafficSinkConfig object + * @param radius Radius of the traffic sink + * @param position Position of the traffic sink + * @param sinkable_entity_types Candidates for despawn. + */ + explicit TrafficSinkConfig( + const double radius, const geometry_msgs::msg::Point & position, + const std::set & sinkable_entity_types, + const std::optional lanelet_id_opt) + : radius(radius), + position(position), + sinkable_entity_types(sinkable_entity_types), + description([](const std::optional lanelet_id_opt) -> std::string { + static long unique_id = 0L; + if (lanelet_id_opt.has_value()) { + return std::string("auto_") + std::to_string(lanelet_id_opt.value()); + } else { + return std::string("custom_") + std::to_string(unique_id++); + } + }(lanelet_id_opt)) + { + } + + const double radius; + const geometry_msgs::msg::Point position; + const std::set sinkable_entity_types; + const std::string description; +}; + class TrafficSink : public TrafficModuleBase { public: + /** + * @brief Construct a new Traffic Sink object + * @param entity_manager_ptr Shared pointer, refers to the EntityManager + * @param config TrafficSink configuration + */ explicit TrafficSink( - lanelet::Id lanelet_id, double radius, const geometry_msgs::msg::Point & position, - const std::function(void)> & get_entity_names_function, - const std::function & get_entity_pose_function, - const std::function & despawn_function); - const lanelet::Id lanelet_id; - const double radius; - const geometry_msgs::msg::Point position; - void execute(const double current_time, const double step_time) override; + const std::shared_ptr entity_manager_ptr, + const TrafficSinkConfig & config); + /** + * @note execute calls despawn on each entity only when both: + * 1. Its distance from the TrafficSink is <= config.radius [m]. + * 2. Its EntityType is in config.sinkable_entity_types. + */ + auto execute(const double current_time, const double step_time) -> void override; auto appendDebugMarker(visualization_msgs::msg::MarkerArray & marker_array) const -> void override; private: - const std::function(void)> get_entity_names_function; - const std::function get_entity_pose_function; - const std::function despawn_function; + auto isEntitySinkable(const std::string & entity_name) const noexcept(false) -> bool; + + const TrafficSinkConfig config_; + const std::shared_ptr entity_manager_ptr_; }; } // namespace traffic } // namespace traffic_simulator diff --git a/simulation/traffic_simulator/package.xml b/simulation/traffic_simulator/package.xml index cc685f5d438..e9abc0fdfa1 100644 --- a/simulation/traffic_simulator/package.xml +++ b/simulation/traffic_simulator/package.xml @@ -1,7 +1,7 @@ traffic_simulator - 7.3.3 + 7.4.3 control traffic flow masaya kataoka diff --git a/simulation/traffic_simulator/src/entity/ego_entity.cpp b/simulation/traffic_simulator/src/entity/ego_entity.cpp index f92163f8c88..f739f3f5ce5 100644 --- a/simulation/traffic_simulator/src/entity/ego_entity.cpp +++ b/simulation/traffic_simulator/src/entity/ego_entity.cpp @@ -13,8 +13,7 @@ // limitations under the License. #include -#include -#include +#include #include #include #include @@ -58,12 +57,10 @@ auto EgoEntity::makeFieldOperatorApplication( // clang-format on return getParameter(node_parameters, "launch_autoware", true) - ? std::make_unique< - concealer::FieldOperatorApplicationFor>( + ? std::make_unique( getParameter(node_parameters, "autoware_launch_package"), getParameter(node_parameters, "autoware_launch_file"), parameters) - : std::make_unique< - concealer::FieldOperatorApplicationFor>(); + : std::make_unique(); } else { throw common::SemanticError( "Unexpected architecture_type ", std::quoted(architecture_type), " was given."); @@ -117,8 +114,7 @@ auto EgoEntity::getRouteLanelets(double /*unused horizon*/) -> lanelet::Ids lanelet::Ids ids{}; if (const auto universe = - dynamic_cast *>( - field_operator_application.get()); + dynamic_cast(field_operator_application.get()); universe) { for (const auto & point : universe->getPathWithLaneId().points) { ids += point.lane_ids; @@ -278,7 +274,6 @@ auto EgoEntity::requestSpeedChange(double value, bool /* continuous */) -> void THROW_SEMANTIC_ERROR("You cannot set target speed to the ego vehicle after starting scenario."); } else { target_speed_ = value; - field_operator_application->restrictTargetSpeed(value); } } diff --git a/simulation/traffic_simulator/src/hdmap_utils/hdmap_utils.cpp b/simulation/traffic_simulator/src/hdmap_utils/hdmap_utils.cpp index cd3b1e7f50b..90d2ed5ef55 100644 --- a/simulation/traffic_simulator/src/hdmap_utils/hdmap_utils.cpp +++ b/simulation/traffic_simulator/src/hdmap_utils/hdmap_utils.cpp @@ -12,6 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. +#include #include #include #include @@ -898,6 +899,11 @@ auto HdMapUtils::getVectorFromPose(const geometry_msgs::msg::Pose & pose, const return vector; } +auto HdMapUtils::isInIntersection(const lanelet::Id lanelet_id) const -> bool +{ + return lanelet_map_ptr_->laneletLayer.get(lanelet_id).hasAttribute("turn_direction"); +} + auto HdMapUtils::isInLanelet(const lanelet::Id lanelet_id, const double s) const -> bool { return 0 <= s and s <= getCenterPointsSpline(lanelet_id)->getLength(); diff --git a/simulation/traffic_simulator/src/traffic/traffic_controller.cpp b/simulation/traffic_simulator/src/traffic/traffic_controller.cpp index 55c49055c30..488edc02808 100644 --- a/simulation/traffic_simulator/src/traffic/traffic_controller.cpp +++ b/simulation/traffic_simulator/src/traffic/traffic_controller.cpp @@ -38,43 +38,38 @@ namespace traffic_simulator namespace traffic { TrafficController::TrafficController( - std::shared_ptr hdmap_utils, - const std::function(void)> & get_entity_names_function, - const std::function & get_entity_pose_function, - const std::function & despawn_function, bool auto_sink) -: hdmap_utils_(hdmap_utils), - get_entity_names_function(get_entity_names_function), - get_entity_pose_function(get_entity_pose_function), - despawn_function(despawn_function), - auto_sink(auto_sink) + const std::shared_ptr entity_manager_ptr, + const std::set auto_sink_entity_types) +: entity_manager_ptr_(entity_manager_ptr), modules_() { - if (auto_sink) { - autoSink(); + if (not auto_sink_entity_types.empty()) { + appendAutoSinks(auto_sink_entity_types); } } -void TrafficController::autoSink() +auto TrafficController::appendAutoSinks(const std::set & auto_sink_entity_types) + -> void { constexpr double sink_radius{1.0}; for (const auto & [lanelet_id, pose] : lanelet_map::borderlinePoses()) { - addModule( - lanelet_id, sink_radius, pose.position, get_entity_names_function, get_entity_pose_function, - despawn_function); + const auto traffic_sink_config = TrafficSinkConfig( + sink_radius, pose.position, auto_sink_entity_types, std::make_optional(lanelet_id)); + addModule(entity_manager_ptr_, traffic_sink_config); } } -void TrafficController::execute(const double current_time, const double step_time) +auto TrafficController::execute(const double current_time, const double step_time) -> void { for (const auto & module : modules_) { module->execute(current_time, step_time); } } -auto TrafficController::makeDebugMarker() const -> const visualization_msgs::msg::MarkerArray +auto TrafficController::makeDebugMarker() const -> visualization_msgs::msg::MarkerArray { - static const auto marker_array = [&]() { + static const auto marker_array = [this]() { visualization_msgs::msg::MarkerArray marker_array; - for (size_t i = 0; i < modules_.size(); ++i) { + for (std::size_t i = 0UL; i < modules_.size(); ++i) { modules_[i]->appendDebugMarker(marker_array); } return marker_array; diff --git a/simulation/traffic_simulator/src/traffic/traffic_sink.cpp b/simulation/traffic_simulator/src/traffic/traffic_sink.cpp index b85663f17d6..dc41a3a3a72 100644 --- a/simulation/traffic_simulator/src/traffic/traffic_sink.cpp +++ b/simulation/traffic_simulator/src/traffic/traffic_sink.cpp @@ -26,9 +26,11 @@ #include #include #include +#include #include #include #include +#include #include #include #include @@ -38,28 +40,17 @@ namespace traffic_simulator namespace traffic { TrafficSink::TrafficSink( - lanelet::Id lanelet_id, double radius, const geometry_msgs::msg::Point & position, - const std::function(void)> & get_entity_names_function, - const std::function & get_entity_pose_function, - const std::function & despawn_function) -: TrafficModuleBase(), - lanelet_id(lanelet_id), - radius(radius), - position(position), - get_entity_names_function(get_entity_names_function), - get_entity_pose_function(get_entity_pose_function), - despawn_function(despawn_function) + const std::shared_ptr entity_manager_ptr, const TrafficSinkConfig & config) +: TrafficModuleBase(), config_(config), entity_manager_ptr_(entity_manager_ptr) { } -void TrafficSink::execute( - [[maybe_unused]] const double current_time, [[maybe_unused]] const double step_time) +auto TrafficSink::execute( + [[maybe_unused]] const double current_time, [[maybe_unused]] const double step_time) -> void { - const auto names = get_entity_names_function(); - for (const auto & name : names) { - const auto pose = get_entity_pose_function(name); - if (math::geometry::getDistance(position, pose) <= radius) { - despawn_function(name); + for (const auto & entity_name : entity_manager_ptr_->getEntityNames()) { + if (isEntitySinkable(entity_name)) { + entity_manager_ptr_->despawnEntity(entity_name); } } } @@ -67,30 +58,46 @@ void TrafficSink::execute( auto TrafficSink::appendDebugMarker(visualization_msgs::msg::MarkerArray & marker_array) const -> void { - const auto lanelet_text = std::to_string(lanelet_id); visualization_msgs::msg::Marker traffic_sink_marker; traffic_sink_marker.header.frame_id = "map"; - traffic_sink_marker.ns = "traffic_controller/traffic_sink/" + lanelet_text; + traffic_sink_marker.ns = "traffic_controller/traffic_sink/" + config_.description; traffic_sink_marker.id = 0; traffic_sink_marker.action = traffic_sink_marker.ADD; traffic_sink_marker.type = 3; // cylinder traffic_sink_marker.pose = - geometry_msgs::build().position(position).orientation( - geometry_msgs::build().x(0).y(0).z(0).w(1)); + geometry_msgs::build() + .position(config_.position) + .orientation(geometry_msgs::build().x(0).y(0).z(0).w(1)); traffic_sink_marker.color = color_names::makeColorMsg("firebrick", 0.99); - traffic_sink_marker.scale.x = radius * 2; - traffic_sink_marker.scale.y = radius * 2; + traffic_sink_marker.scale.x = config_.radius * 2.0; + traffic_sink_marker.scale.y = config_.radius * 2.0; traffic_sink_marker.scale.z = 1.0; marker_array.markers.emplace_back(traffic_sink_marker); visualization_msgs::msg::Marker text_marker; text_marker = traffic_sink_marker; text_marker.id = 1; - text_marker.type = 9; //text - text_marker.text = lanelet_text; + text_marker.type = 9; // text + text_marker.text = config_.description; text_marker.color = color_names::makeColorMsg("white", 0.99); text_marker.scale.z = 0.6; marker_array.markers.emplace_back(text_marker); } + +auto TrafficSink::isEntitySinkable(const std::string & entity_name) const noexcept(false) -> bool +{ + if (const auto entity = entity_manager_ptr_->getEntity(entity_name); entity == nullptr) { + THROW_SEMANTIC_ERROR("Entity ", std::quoted(entity_name), " does not exists."); + } else if ( + config_.sinkable_entity_types.find(entity->getEntityType().type) == + config_.sinkable_entity_types.end()) { + return false; + } else if (math::geometry::getDistance(config_.position, entity->getMapPose()) > config_.radius) { + return false; + } else { + return true; + } +} + } // namespace traffic } // namespace traffic_simulator diff --git a/simulation/traffic_simulator/src/traffic_lights/traffic_lights_base.cpp b/simulation/traffic_simulator/src/traffic_lights/traffic_lights_base.cpp index 48110784a63..cb50dadf6a8 100644 --- a/simulation/traffic_simulator/src/traffic_lights/traffic_lights_base.cpp +++ b/simulation/traffic_simulator/src/traffic_lights/traffic_lights_base.cpp @@ -123,7 +123,9 @@ auto TrafficLightsBase::addTrafficLight(const lanelet::Id traffic_light_id) -> v auto TrafficLightsBase::getTrafficLight(const lanelet::Id traffic_light_id) -> TrafficLight & { - addTrafficLight(traffic_light_id); + if (not isTrafficLightAdded(traffic_light_id)) { + addTrafficLight(traffic_light_id); + } return traffic_lights_map_.at(traffic_light_id); } diff --git a/simulation/traffic_simulator/src/utils/pose.cpp b/simulation/traffic_simulator/src/utils/pose.cpp index 97d3fd872e8..879e4202aa6 100644 --- a/simulation/traffic_simulator/src/utils/pose.cpp +++ b/simulation/traffic_simulator/src/utils/pose.cpp @@ -101,7 +101,11 @@ auto toCanonicalizedLaneletPose(const LaneletPose & lanelet_pose) if (lanelet_pose == LaneletPose()) { return std::nullopt; } else { - return CanonicalizedLaneletPose(lanelet_pose); + try { + return CanonicalizedLaneletPose(lanelet_pose); + } catch (const common::SemanticError &) { + return std::nullopt; + } } } diff --git a/simulation/traffic_simulator/test/src/hdmap_utils/test_hdmap_utils.cpp b/simulation/traffic_simulator/test/src/hdmap_utils/test_hdmap_utils.cpp index 75f2b4c15e3..f3bca97aa5a 100644 --- a/simulation/traffic_simulator/test/src/hdmap_utils/test_hdmap_utils.cpp +++ b/simulation/traffic_simulator/test/src/hdmap_utils/test_hdmap_utils.cpp @@ -2248,6 +2248,16 @@ TEST_F(HdMapUtilsTest_IntersectionMap, getLongitudinalDistance_laneChange) } } +/** + * @note Test for isInIntersection function + * + */ +TEST_F(HdMapUtilsTest_IntersectionMap, isInIntersection) +{ + EXPECT_TRUE(hdmap_utils.isInIntersection(662)); + EXPECT_FALSE(hdmap_utils.isInIntersection(574)); +} + /** * @note Test basic functionality. * Test obtaining stop line ids correctness with a route that has no stop lines. diff --git a/simulation/traffic_simulator/test/src/utils/test_pose.cpp b/simulation/traffic_simulator/test/src/utils/test_pose.cpp index 53c5c111ef5..b2aa0b52244 100644 --- a/simulation/traffic_simulator/test/src/utils/test_pose.cpp +++ b/simulation/traffic_simulator/test/src/utils/test_pose.cpp @@ -94,6 +94,8 @@ TEST_F(PoseTest, canonicalize_invalid) traffic_simulator::pose::toCanonicalizedLaneletPose( traffic_simulator::pose::quietNaNLaneletPose()), std::runtime_error); + EXPECT_FALSE(traffic_simulator::pose::toCanonicalizedLaneletPose( + traffic_simulator::helper::constructLaneletPose(203, 1000.0, 0.0))); } /** diff --git a/simulation/traffic_simulator_msgs/CHANGELOG.rst b/simulation/traffic_simulator_msgs/CHANGELOG.rst index 2a4320c42c2..16838eaa328 100644 --- a/simulation/traffic_simulator_msgs/CHANGELOG.rst +++ b/simulation/traffic_simulator_msgs/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package openscenario_msgs * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/simulation/traffic_simulator_msgs/package.xml b/simulation/traffic_simulator_msgs/package.xml index 537c8fbb700..c1b7a6ce985 100644 --- a/simulation/traffic_simulator_msgs/package.xml +++ b/simulation/traffic_simulator_msgs/package.xml @@ -2,7 +2,7 @@ traffic_simulator_msgs - 7.3.3 + 7.4.3 ROS messages for openscenario Masaya Kataoka Apache License 2.0 diff --git a/test_runner/random_test_runner/CHANGELOG.rst b/test_runner/random_test_runner/CHANGELOG.rst index 65a2102ac38..ee9c4dc511a 100644 --- a/test_runner/random_test_runner/CHANGELOG.rst +++ b/test_runner/random_test_runner/CHANGELOG.rst @@ -21,6 +21,54 @@ Changelog for package random_test_runner * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/test_runner/random_test_runner/package.xml b/test_runner/random_test_runner/package.xml index 8e89f1ddc53..778f401b0b6 100644 --- a/test_runner/random_test_runner/package.xml +++ b/test_runner/random_test_runner/package.xml @@ -2,7 +2,7 @@ random_test_runner - 7.3.3 + 7.4.3 Random behavior test runner piotr-zyskowski-rai Apache License 2.0 diff --git a/test_runner/random_test_runner/src/random_test_runner.cpp b/test_runner/random_test_runner/src/random_test_runner.cpp index 5d4a29721ca..383c1b0fe03 100644 --- a/test_runner/random_test_runner/src/random_test_runner.cpp +++ b/test_runner/random_test_runner/src/random_test_runner.cpp @@ -67,10 +67,13 @@ RandomTestRunner::RandomTestRunner(const rclcpp::NodeOptions & option) std::string map_path = ament_index_cpp::get_package_share_directory(test_suite_params.map_name) + "/map"; + const std::set auto_sink_entity_types{ + traffic_simulator_msgs::msg::EntityType::VEHICLE, + traffic_simulator_msgs::msg::EntityType::PEDESTRIAN}; + message = fmt::format("Map path found: {}", map_path); RCLCPP_INFO_STREAM(get_logger(), message); - - traffic_simulator::Configuration configuration(map_path, "", true); + traffic_simulator::Configuration configuration(map_path, "", auto_sink_entity_types); configuration.simulator_host = test_control_parameters.simulator_host; auto lanelet_utils = std::make_shared(configuration.lanelet2_map_path()); diff --git a/test_runner/scenario_test_runner/CHANGELOG.rst b/test_runner/scenario_test_runner/CHANGELOG.rst index 51cdb19a75e..da81e61b038 100644 --- a/test_runner/scenario_test_runner/CHANGELOG.rst +++ b/test_runner/scenario_test_runner/CHANGELOG.rst @@ -35,6 +35,55 @@ Changelog for package scenario_test_runner * Merge remote-tracking branch 'origin/master' into feature/publish_empty_context * Contributors: Masaya Kataoka +7.4.3 (2025-01-07) +------------------ +* Merge branch 'master' into tmp/pc-patch +* Contributors: Kotaro Yoshimoto + +7.4.2 (2025-01-07) +------------------ + +7.4.1 (2024-12-24) +------------------ +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Merge remote-tracking branch 'origin/master' into fix/canonicalize_function +* Contributors: Masaya Kataoka + +7.4.0 (2024-12-23) +------------------ +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' into RJD-1457/traffic_sink_refactor +* Merge tag '6.0.1' into RJD-1457/traffic_sink_refactor +* Merge branch 'master' of https://github.com/tier4/scenario_simulator_v2 into feature/enable_specify_entity_type_in_autosink +* Merge branch 'master' into feature/enable_specify_entity_type_in_autosink +* Contributors: Masaya Kataoka, Michał Ciasnocha, robomic + +7.3.5 (2024-12-20) +------------------ +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge branch 'master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Merge remote-tracking branch 'origin/master' into refactor/concealer-1 +* Remove parameter `random_offset` from scenario `sample.yaml` +* Contributors: Tatsuya Yamasaki, yamacir-kit + +7.3.4 (2024-12-20) +------------------ +* Merge branch 'master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Merge remote-tracking branch 'origin/master' into feature/is_in_intersection +* Contributors: Masaya Kataoka + 7.3.3 (2024-12-18) ------------------ diff --git a/test_runner/scenario_test_runner/package.xml b/test_runner/scenario_test_runner/package.xml index aaf469ce8dc..29e7d0b7630 100644 --- a/test_runner/scenario_test_runner/package.xml +++ b/test_runner/scenario_test_runner/package.xml @@ -2,7 +2,7 @@ scenario_test_runner - 7.3.3 + 7.4.3 scenario test runner package Tatsuya Yamasaki Apache License 2.0